Browse Source

增加email校验

chenw 7 years ago
parent
commit
b3c4f03451

+ 5 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/controller/AccountController.java

@@ -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));
+    }
+
     /**
      * 修改
      *

+ 8 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/mapper/AccountMapper.java

@@ -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);
 }

+ 7 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/service/AccountService.java

@@ -178,4 +178,11 @@ public interface AccountService {
      * @param accountId
      */
     void clearCache(Long accountId);
+
+    /**
+     * 校验email是否已存在
+     * @param email
+     * @return
+     */
+    boolean checkEmail(String email);
 }

+ 6 - 0
base-servers/account/account-server/src/main/java/com/usoftchina/saas/account/service/impl/AccountServiceImpl.java

@@ -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;
+    }
+
 }

+ 4 - 0
base-servers/account/account-server/src/main/resources/mapper/AccountMapper.xml

@@ -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>