@@ -145,6 +145,11 @@ public class AccountController {
return Result.success(ssoUserApi.checkMobile(mobile));
}
+ @GetMapping("/checkEmail")
+ public Result checkEmail(@RequestParam("email") String email){
+ return Result.success(accountService.checkEmail(email));
+ }
+
/**
* 修改
*
@@ -105,4 +105,12 @@ public interface AccountMapper {
* @param enabled
*/
void updateEnabled(@Param("id") Long id, @Param("enabled") Boolean enabled);
+ /**
+ * 校验email是否已存在
+ * @param email
+ * @param companyId
+ * @return
+ */
+ int checkEmail(@Param("email") String email, @Param("companyId") Long companyId);
@@ -178,4 +178,11 @@ public interface AccountService {
* @param accountId
void clearCache(Long accountId);
+ boolean checkEmail(String email);
@@ -198,4 +198,10 @@ public class AccountServiceImpl implements AccountService {
AccountCache.uu(account.getUu()).hdel();
+ @Override
+ public boolean checkEmail(String email){
+ return accountMapper.checkEmail(email, BaseContextHolder.getCompanyId()) > 0;
@@ -202,4 +202,8 @@
<update id="updateEnabled">
update ac_account set enabled=#{enabled,jdbcType=BOOLEAN} where id=#{id,jdbcType=BIGINT}
</update>
+ <select id="checkEmail" resultType="int">
+ SELECT COUNT(*) FROM AC_ACCOUNT AA LEFT JOIN AC_ACCOUNT_COMPANY AAC ON AAC.ACCOUNT_ID = AA.ID
+ WHERE AAC.COMPANY_ID = #{companyId} WHERE AA.EMAIL = #{email};
+ </select>
</mapper>