瀏覽代碼

修改企业认证功能

guochao 6 年之前
父節點
當前提交
0cb2fcee16

文件差異過大導致無法顯示
+ 0 - 0
core/src/main/java/com/mooctest/crowd/domain/controller/TestUserController.java


+ 2 - 0
core/src/main/java/com/mooctest/crowd/domain/dao/EnterpriseAuthenticationDao.java

@@ -17,6 +17,8 @@ public interface EnterpriseAuthenticationDao extends PagingAndSortingRepository<
 
     EnterpriseAuthenticationPO findByUserId(Long userId);
 
+    EnterpriseAuthenticationPO findByUserIdAndIsDeleted(Long Id, int deletedStatus);
+
     List<EnterpriseAuthenticationPO> findAll();
 
     EnterpriseAuthenticationPO save(EnterpriseAuthenticationPO enterpriseAuthenticationPO);

+ 42 - 0
core/src/main/java/com/mooctest/crowd/domain/domainobject/EnterpriseAuthentication.java

@@ -1,6 +1,7 @@
 package com.mooctest.crowd.domain.domainobject;
 
 import lombok.Data;
+import org.springframework.beans.BeanUtils;
 
 import java.sql.Timestamp;
 
@@ -43,4 +44,45 @@ public class EnterpriseAuthentication {
                 ", checkTime='" + checkTime + '\'' +
                 '}';
     }
+
+    public EnterpriseAuthentication applyAuthentication(Long userId) {
+        this.setUserId(userId);
+        this.setIsAuthentication(AuthenticationStatus.isAuthenIng);
+        this.setIsDeleted(DeletedStatus.isNotDeleted);
+        this.setApplyTime(new Timestamp(System.currentTimeMillis()));
+        this.setCheckTime(null);
+        this.setExplain("");
+        return this;
+    }
+
+    public EnterpriseAuthentication passAuthentication() {
+        this.setIsAuthentication(AuthenticationStatus.isAuthenticated);
+        this.setCheckTime(new Timestamp(System.currentTimeMillis()));
+        this.setExplain("");
+        return this;
+    }
+
+    public EnterpriseAuthentication rejectAuthentication(String explain) {
+        this.setIsAuthentication(AuthenticationStatus.isNotAuthenticated);
+        this.setExplain(explain);
+        this.setCheckTime(new Timestamp(System.currentTimeMillis()));
+        return this;
+    }
+
+    public EnterpriseAuthentication updateAuthInfo(EnterpriseAuthentication modifyAuth) {
+        modifyAuth.userId = this.userId;
+        modifyAuth.id = this.id;
+        BeanUtils.copyProperties(modifyAuth,this);
+        this.setIsAuthentication(AuthenticationStatus.isAuthenIng);
+        this.setIsDeleted(DeletedStatus.isNotDeleted);
+        this.setApplyTime(new Timestamp(System.currentTimeMillis()));
+        this.setCheckTime(null);
+        this.setExplain("");
+        return this;
+    }
+
+    public EnterpriseAuthentication deleteAuth() {
+        this.isDeleted = DeletedStatus.isDeleted;
+        return this;
+    }
 }

+ 97 - 2
core/src/main/java/com/mooctest/crowd/domain/domainobject/User.java

@@ -60,7 +60,7 @@ public class User {
     }
 
     /**
-     * 机构认证
+     * 机构认证申请
      * @param evaluationAgency
      * @return
      */
@@ -78,7 +78,7 @@ public class User {
     }
 
     /**
-     * 个人实名认证
+     * 个人实名认证申请
      * @return
      */
     public User applyPersonalAuthentication(PersonalAuthentication personalAuth) {
@@ -148,12 +148,107 @@ public class User {
     public User updatePersonalAuthInfo(PersonalAuthentication modifyAuth){
         if (this.getEvaluationAgency()!=null || this.getEnterpriseAuthentication()!=null)
             throw new BaseException("已有其他认证信息,不可对个人认证进行操作");
+
         this.getPersonalAuthentication().updateAuthInfo(modifyAuth);
         return this;
     }
 
+    /**
+     * 删除个人认证信息
+     * @return
+     */
     public User deletePersonalAuthInfo() {
         this.getPersonalAuthentication().deleteAuth();
         return this;
     }
+
+    /**
+     * 企业实名认证申请
+     * @return
+     */
+    public User applyEnterpriseAuthentication(EnterpriseAuthentication enterpriseAuth) {
+        if (this.getEvaluationAgency()!=null || this.getPersonalAuthentication()!=null || this.getEnterpriseAuthentication()!=null)
+            throw new BaseException("已有认证信息,不可再次认证");
+        this.setEnterpriseAuthentication(enterpriseAuth.applyAuthentication(this.id));
+        return this;
+    }
+
+    /**
+     * 同意通过企业认证
+     * @return
+     */
+    public User passEnterpriseAuthApplication(User enterpriseUser) {
+        //判断是否为系统管理员
+        judgeIsSystemAdministrator();
+
+        EnterpriseAuthentication enterpriseAuth = enterpriseUser.getEnterpriseAuthentication();
+        if(enterpriseAuth.getIsAuthentication() == AuthenticationStatus.isNotAuthenticated){
+            throw new BaseException("当前是未通过认证状态,不可通过认证,需对认证信息进行修改后再提交认证申请");
+        }else if(enterpriseAuth.getIsAuthentication() == AuthenticationStatus.isAuthenticated){
+            throw new BaseException("当前已通过认证,不可再次进行认证");
+        }else{
+            enterpriseAuth.passAuthentication();
+            List<Role> roleList = this.getRoleList();
+            Role role = new Role();
+            role.setId(5L);
+            roleList.add(role);
+            enterpriseUser.setRoleList(roleList);
+            return enterpriseUser;
+        }
+    }
+
+    /**
+     * 驳回个人认证,并说明驳回原因
+     * @param explain
+     * @return
+     */
+    public User enterpriseAuthFailure(User enterpriseUser, String explain) {
+        //判断是否为系统管理员
+        if(this.getSystemAdministratorToUser() == null){
+            throw new SystemAdministratorException("当前用户不是系统管理员,没有权限进行认证审核操作");
+        }
+
+        EnterpriseAuthentication enterpriseAuth = enterpriseUser.getEnterpriseAuthentication();
+        if(enterpriseAuth.getIsDeleted() == DeletedStatus.isDeleted){
+            throw new BaseException("当前认证信息已被删除,不可做认证状态改变操作");
+        }else {
+            if(enterpriseAuth.getIsAuthentication() == AuthenticationStatus.isNotAuthenticated){
+                throw new BaseException("当前已是未通过认证状态,不可再次拒绝认证");
+            }else if(enterpriseAuth.getIsAuthentication() == AuthenticationStatus.isAuthenticated){
+                throw new BaseException("当前已通过认证,不可拒绝认证");
+            }else {
+                enterpriseAuth.rejectAuthentication(explain);
+                return enterpriseUser;
+            }
+        }
+    }
+
+    /**
+     * 修改企业认证信息
+     * @param modifyAuth
+     * @return
+     */
+    public User updateEnterpriseAuthInfo(EnterpriseAuthentication modifyAuth){
+        if (this.getEvaluationAgency()!=null || this.getPersonalAuthentication()!=null)
+            throw new BaseException("已有其他认证信息,不可对认证未企业用户");
+
+        this.getEnterpriseAuthentication().updateAuthInfo(modifyAuth);
+        return this;
+    }
+
+    /**
+     * 删除企业认证信息
+     * @return
+     */
+    public User deleteEnterpriseAuthInfo() {
+        this.getEnterpriseAuthentication().deleteAuth();
+        return this;
+    }
+
+    //判断是否为系统管理员
+    private void judgeIsSystemAdministrator(){
+        if(this.getSystemAdministratorToUser() == null){
+            throw new SystemAdministratorException("当前用户不是系统管理员,没有权限进行认证审核操作");
+        }
+    }
 }

+ 13 - 13
core/src/main/java/com/mooctest/crowd/domain/model/EnterpriseAuthenticationPO.java

@@ -15,43 +15,43 @@ import java.sql.Timestamp;
 public class EnterpriseAuthenticationPO {
 
     @Id
-    @Column(name = "CA_ID")
+    @Column(name = "EA_ID")
     @GeneratedValue(strategy = GenerationType.IDENTITY)
     private Long id;
 
-    @Column(name = "CA_USER_ID")
+    @Column(name = "EA_USER_ID")
     private Long userId;
 
-    @Column(name = "CA_ENTERPRISE_NAME")
+    @Column(name = "EA_ENTERPRISE_NAME")
     private String enterpriseName;
 
-    @Column(name = "CA_LEGAL_PERSON_NAME")
+    @Column(name = "EA_LEGAL_PERSON_NAME")
     private String legalPersonName;
 
-    @Column(name = "CA_BUSINESS_LICENSE_PHOTO")
+    @Column(name = "EA_BUSINESS_LICENSE_PHOTO")
     private String businessLicensePhoto;
 
-    @Column(name = "CA_UNIFIED_SOCIAL_CREDIT_CODE")
+    @Column(name = "EA_UNIFIED_SOCIAL_CREDIT_CODE")
     private String unifiedSocialCreditCode;
 
-    @Column(name = "CA_BANK_ACCOUNT")
+    @Column(name = "EA_BANK_ACCOUNT")
     private String bankAccount;
 
-    @Column(name = "CA_ADDRESS")
+    @Column(name = "EA_ADDRESS")
     private String address;
 
-    @Column(name = "CA_IS_DELETED")
+    @Column(name = "EA_IS_DELETED")
     private int isDeleted;
 
-    @Column(name = "CA_IS_AUTHENTICATION")
+    @Column(name = "EA_IS_AUTHENTICATION")
     private int isAuthentication;
 
-    @Column(name = "CA_NOT_PASS_EXPLAIN")
+    @Column(name = "EA_NOT_PASS_EXPLAIN")
     private String explain;
 
-    @Column(name = "CA_APPLY_TIME")
+    @Column(name = "EA_APPLY_TIME")
     private Timestamp applyTime;
 
-    @Column(name = "CA_CHECK_TIME")
+    @Column(name = "EA_CHECK_TIME")
     private Timestamp checkTime;
 }

+ 6 - 0
core/src/main/java/com/mooctest/crowd/domain/repository/UserRepo.java

@@ -365,6 +365,12 @@ public class UserRepo implements IUserRepo {
             userResult.setPersonalAuthentication(Converter.convert(PersonalAuthentication.class, personalAuthenticationPO));
         }
 
+        /*获取企业认证的信息*/
+        EnterpriseAuthenticationPO enterpriseAuthenticationPO = enterpriseAuthenticationDao.findByUserIdAndIsDeleted(userPO.getId(), DeletedStatus.isNotDeleted);
+        if(enterpriseAuthenticationPO != null){
+            userResult.setEnterpriseAuthentication(Converter.convert(EnterpriseAuthentication.class, enterpriseAuthenticationPO));
+        }
+
         /*获取区域管理员信息*/
         List<RegionalManagerPO> regionalManagerPOList = regionalManagerDao.findByUserIdAndIsDeleted(userPO.getId(), DeletedStatus.isNotDeleted);
         if(regionalManagerPOList.size() > 0){

部分文件因文件數量過多而無法顯示