浏览代码

1、企业工商信息增加营业执照图片
2、增加企业统一社会编码效验
3、优化效验是否修改密码逻辑

rayson 8 月之前
父节点
当前提交
2d0f8bd3c3
共有 17 个文件被更改,包括 99 次插入39 次删除
  1. 1 0
      citu-framework/citu-spring-boot-starter-baidu-aip/src/main/java/com/citu/framework/baiduaip/core/AipOcrClient.java
  2. 4 0
      citu-framework/citu-spring-boot-starter-baidu-aip/src/main/java/com/citu/framework/baiduaip/core/ocr/BusinessLicenseOcr.java
  3. 3 0
      menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/ErrorCodeConstants.java
  4. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/enterprise/vo/AppRecruitEnterpriseBusinessRespVO.java
  5. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/enterprise/vo/AppRecruitEnterpriseBusinessSaveReqVO.java
  6. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/business/EnterpriseBusinessRespVO.java
  7. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/business/EnterpriseBusinessSaveReqVO.java
  8. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/business/EnterpriseBusinessSimpleRespVO.java
  9. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/enterprise/EnterpriseBusinessDO.java
  10. 8 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/enterprise/EnterpriseBusinessMapper.java
  11. 5 6
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/auth/MdeAuthServiceImpl.java
  12. 12 12
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/auth/MdeEnterpriseAuthServiceImpl.java
  13. 5 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/bind/EnterpriseUserBindService.java
  14. 6 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/bind/EnterpriseUserBindServiceImpl.java
  15. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/business/EnterpriseBusinessService.java
  16. 30 17
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/business/EnterpriseBusinessServiceImpl.java
  17. 2 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/register/EnterpriseRegisterServiceImpl.java

+ 1 - 0
citu-framework/citu-spring-boot-starter-baidu-aip/src/main/java/com/citu/framework/baiduaip/core/AipOcrClient.java

@@ -74,6 +74,7 @@ public class AipOcrClient {
             getWordsResultAttribute("实收资本", wordsResult);
             getWordsResultAttribute("税务登记号", wordsResult);
 
+            businessLicenseOcr.setBusinessUrl(imageUrl);
 
             return businessLicenseOcr;
         } catch (Exception ex) {

+ 4 - 0
citu-framework/citu-spring-boot-starter-baidu-aip/src/main/java/com/citu/framework/baiduaip/core/ocr/BusinessLicenseOcr.java

@@ -77,4 +77,8 @@ public class BusinessLicenseOcr {
      * 经营范围
      */
     private String businessScope;
+    /**
+     * 营业执照照片
+     */
+    private String businessUrl;
 }

+ 3 - 0
menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/ErrorCodeConstants.java

@@ -216,6 +216,9 @@ public interface ErrorCodeConstants {
 
     ErrorCode MDE_BUSINESS_LICENSE_OCR_FAIL = new ErrorCode(1_100_020_004, "营业执照图片识别失败,请重新上传清晰合法图片");
 
+    ErrorCode MDE_BUSINESS_LICENSE_OCR_CODE_DUPLICATE =
+            new ErrorCode(1_100_020_005, "统一社会信用代码已被其他企业使用");
+
     // ========== 企业注册申请 1_100_021_000 ==========
     ErrorCode MDE_ENTERPRISE_REGISTER_NOT_EXISTS = new ErrorCode(1_100_021_001, "企业注册申请不存在");
     ErrorCode MDE_ENTERPRISE_REGISTER_AUDITING_APPROVED =

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/enterprise/vo/AppRecruitEnterpriseBusinessRespVO.java

@@ -57,5 +57,8 @@ public class AppRecruitEnterpriseBusinessRespVO {
     @Schema(description = "经营范围")
     private String businessScope;
 
+    @Schema(description = "营业执照地址")
+    private String businessUrl;
+
 
 }

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/enterprise/vo/AppRecruitEnterpriseBusinessSaveReqVO.java

@@ -60,4 +60,7 @@ public class AppRecruitEnterpriseBusinessSaveReqVO {
     @Schema(description = "经营范围")
     private String businessScope;
 
+    @Schema(description = "营业执照地址")
+    private String businessUrl;
+
 }

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/business/EnterpriseBusinessRespVO.java

@@ -84,6 +84,10 @@ public class EnterpriseBusinessRespVO {
     @ExcelProperty("经营范围")
     private String businessScope;
 
+    @Schema(description = "营业执照照片")
+    @ExcelProperty("营业执照照片")
+    private String businessUrl;
+
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("创建时间")
     private LocalDateTime createTime;

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/business/EnterpriseBusinessSaveReqVO.java

@@ -1,5 +1,6 @@
 package com.citu.module.menduner.system.controller.base.enterprise.business;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.*;
 import org.springframework.format.annotation.DateTimeFormat;
@@ -64,4 +65,7 @@ public class EnterpriseBusinessSaveReqVO {
     @Schema(description = "经营范围")
     private String businessScope;
 
+    @Schema(description = "营业执照照片")
+    private String businessUrl;
+
 }

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/enterprise/business/EnterpriseBusinessSimpleRespVO.java

@@ -36,6 +36,10 @@ public class EnterpriseBusinessSimpleRespVO {
     @ExcelProperty("注册地址")
     private String address;
 
+    @Schema(description = "营业执照照片")
+    @ExcelProperty("营业执照照片")
+    private String businessUrl;
+
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("创建时间")
     private LocalDateTime createTime;

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/enterprise/EnterpriseBusinessDO.java

@@ -95,5 +95,9 @@ public class EnterpriseBusinessDO extends TenantBaseDO {
      * 经营范围
      */
     private String businessScope;
+    /**
+     * 营业执照照片
+     */
+    private String businessUrl;
 
 }

+ 8 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/enterprise/EnterpriseBusinessMapper.java

@@ -1,8 +1,8 @@
 package com.citu.module.menduner.system.dal.mysql.enterprise;
 
 import com.citu.framework.common.pojo.PageResult;
-import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.framework.mybatis.core.mapper.BaseMapperX;
+import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.module.menduner.system.controller.base.enterprise.business.EnterpriseBusinessPageReqVO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseBusinessDO;
 import org.apache.ibatis.annotations.Mapper;
@@ -39,6 +39,7 @@ public interface EnterpriseBusinessMapper extends BaseMapperX<EnterpriseBusiness
         return selectOne(new LambdaQueryWrapperX<EnterpriseBusinessDO>()
                 .eqIfPresent(EnterpriseBusinessDO::getEnterpriseId, enterpriseId));
     }
+
     default EnterpriseBusinessDO selectByCode(String code) {
         return selectOne(new LambdaQueryWrapperX<EnterpriseBusinessDO>()
                 .eqIfPresent(EnterpriseBusinessDO::getCode, code));
@@ -55,4 +56,10 @@ public interface EnterpriseBusinessMapper extends BaseMapperX<EnterpriseBusiness
                 .isNotNull(EnterpriseBusinessDO::getCode)
         );
     }
+
+    default boolean existByCode(Long id, String code) {
+        return selectCount(new LambdaQueryWrapperX<EnterpriseBusinessDO>()
+                .neIfPresent(EnterpriseBusinessDO::getId, id)
+                .eq(EnterpriseBusinessDO::getCode, code)) > 0;
+    }
 }

+ 5 - 6
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/auth/MdeAuthServiceImpl.java

@@ -141,12 +141,11 @@ public class MdeAuthServiceImpl implements MdeAuthService {
         }
         if (!userService.isPasswordMatch(password, user.getPassword())) {
             createLoginLog(user.getId(), account, logTypeEnum, LoginResultEnum.BAD_CREDENTIALS);
-            if (null == user.getLoginDate()) {
-                // 第一次登录
-                throw exception(MDE_USER_PHONE_INIT_PASSWORD);
-            } else {
-                throw exception(MDE_AUTH_LOGIN_BAD_CREDENTIALS);
-            }
+            throw exception(MDE_AUTH_LOGIN_BAD_CREDENTIALS);
+        }
+        if (null == user.getLoginDate()) {
+            // 第一次登录
+            throw exception(MDE_USER_PHONE_INIT_PASSWORD);
         }
         // 校验是否禁用
         if (ObjectUtil.notEqual(user.getStatus(), MendunerStatusEnum.ENABLE.getStatus())) {

+ 12 - 12
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/auth/MdeEnterpriseAuthServiceImpl.java

@@ -133,20 +133,20 @@ public class MdeEnterpriseAuthServiceImpl implements MdeEnterpriseAuthService {
             createLoginLog(null, email, logTypeEnum, LoginResultEnum.BAD_CREDENTIALS);
             throw exception(MDE_USER_EMAIL_NOT_REGISTERED);
         }
+        if (userBindService.checkNeedUpdatePassword(user.getEnterpriseId(), user.getUserId())) {
+            // 效验有没有更改过密码
+            // 没有则发送邮箱
+            MailSendSingleToUserReqDTO reqDTO = new MailSendSingleToUserReqDTO();
+            reqDTO.setMail(email);
+            reqDTO.setTemplateCode(CommonConstants.EMAIL_ENTERPRISE_INIT_PASSWORD);
+            reqDTO.setTemplateParams(MapUtil.builder("password", (Object) email).build());
+            mailSendApi.sendSingleMailToMember(reqDTO).getCheckedData();
+            throw exception(MDE_USER_EMAIL_INIT_PASSWORD);
+        }
         if (!userBindService.isPasswordMatch(password, user.getPassword())) {
             createLoginLog(user.getId(), email, logTypeEnum, LoginResultEnum.BAD_CREDENTIALS);
-            if (userBindService.checkNeedUpdatePassword()) {
-                // 效验有没有更改过密码
-                // 没有则发送邮箱
-                MailSendSingleToUserReqDTO reqDTO = new MailSendSingleToUserReqDTO();
-                reqDTO.setMail(email);
-                reqDTO.setTemplateCode(CommonConstants.EMAIL_ENTERPRISE_INIT_PASSWORD);
-                reqDTO.setTemplateParams(MapUtil.builder("email", (Object) email).build());
-                mailSendApi.sendSingleMailToMember(reqDTO).getCheckedData();
-                throw exception(MDE_USER_EMAIL_INIT_PASSWORD);
-            } else {
-                throw exception(MDE_AUTH_LOGIN_BAD_CREDENTIALS);
-            }
+            throw exception(MDE_AUTH_LOGIN_BAD_CREDENTIALS);
+
         }
         // 校验是否禁用
         if (ObjectUtil.notEqual(user.getStatus(), MendunerStatusEnum.ENABLE.getStatus())) {

+ 5 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/bind/EnterpriseUserBindService.java

@@ -238,4 +238,9 @@ public interface EnterpriseUserBindService {
      * 效验当前登录企业用户是否需要更改密码
      **/
     boolean checkNeedUpdatePassword();
+
+    /**
+     * 效验当前登录企业用户是否需要更改密码
+     **/
+    boolean checkNeedUpdatePassword(Long enterpriseId, Long userId);
 }

+ 6 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/bind/EnterpriseUserBindServiceImpl.java

@@ -413,6 +413,11 @@ public class EnterpriseUserBindServiceImpl implements EnterpriseUserBindService
     public boolean checkNeedUpdatePassword() {
         Long enterpriseId = LoginUserContext.getEnterpriseId();
         Long userId = LoginUserContext.getUserId();
+        return checkNeedUpdatePassword(enterpriseId, userId);
+    }
+
+    @Override
+    public boolean checkNeedUpdatePassword(Long enterpriseId, Long userId) {
         EnterpriseUserBindDO userBindDO = mapper.selectByEnterpriseIdAndUserId(enterpriseId, userId);
 
 //        String password = userBindDO.getEmail();
@@ -422,7 +427,7 @@ public class EnterpriseUserBindServiceImpl implements EnterpriseUserBindService
 //            return true;
 //        }
         // 首次登录要改密码
-        if(null == userBindDO.getLoginDate()) {
+        if (null == userBindDO.getLoginDate()) {
             return true;
         }
         return false;

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/business/EnterpriseBusinessService.java

@@ -88,7 +88,7 @@ public interface EnterpriseBusinessService {
      * @param name         企业名称
      * @return 企业工商信息
      */
-    Long createSimpleBusiness(Long enterpriseId, String code, String name);
+    Long createSimpleBusiness(Long enterpriseId, String code, String name,String businessUrl);
 
     /**
      * 新增工商信息

+ 30 - 17
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/business/EnterpriseBusinessServiceImpl.java

@@ -20,6 +20,7 @@ import javax.annotation.Resource;
 import java.util.List;
 
 import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.MDE_BUSINESS_LICENSE_OCR_CODE_DUPLICATE;
 import static com.citu.module.menduner.system.enums.ErrorCodeConstants.MDE_ENTERPRISE_BUSINESS_NOT_EXISTS;
 
 /**
@@ -32,13 +33,13 @@ import static com.citu.module.menduner.system.enums.ErrorCodeConstants.MDE_ENTER
 public class EnterpriseBusinessServiceImpl implements EnterpriseBusinessService {
 
     @Resource
-    private EnterpriseBusinessMapper enterpriseBusinessMapper;
+    private EnterpriseBusinessMapper mapper;
 
     @Override
     public Long createEnterpriseBusiness(EnterpriseBusinessSaveReqVO createReqVO) {
         // 插入
         EnterpriseBusinessDO enterpriseBusiness = BeanUtils.toBean(createReqVO, EnterpriseBusinessDO.class);
-        enterpriseBusinessMapper.insert(enterpriseBusiness);
+        mapper.insert(enterpriseBusiness);
         // 返回
         return enterpriseBusiness.getId();
     }
@@ -49,7 +50,7 @@ public class EnterpriseBusinessServiceImpl implements EnterpriseBusinessService
         validateEnterpriseBusinessExists(updateReqVO.getId());
         // 更新
         EnterpriseBusinessDO updateObj = BeanUtils.toBean(updateReqVO, EnterpriseBusinessDO.class);
-        enterpriseBusinessMapper.updateById(updateObj);
+        mapper.updateById(updateObj);
     }
 
     @Override
@@ -57,48 +58,52 @@ public class EnterpriseBusinessServiceImpl implements EnterpriseBusinessService
         // 校验存在
         validateEnterpriseBusinessExists(id);
         // 删除
-        enterpriseBusinessMapper.deleteById(id);
+        mapper.deleteById(id);
     }
 
     private void validateEnterpriseBusinessExists(Long id) {
-        if (enterpriseBusinessMapper.selectById(id) == null) {
+        if (mapper.selectById(id) == null) {
             throw exception(MDE_ENTERPRISE_BUSINESS_NOT_EXISTS);
         }
     }
 
     @Override
     public EnterpriseBusinessDO getEnterpriseBusiness(Long id) {
-        return enterpriseBusinessMapper.selectById(id);
+        return mapper.selectById(id);
     }
 
     @Override
     public EnterpriseBusinessDO getByEnterpriseId(Long enterpriseId) {
-        return enterpriseBusinessMapper.selectByEnterpriseId(enterpriseId);
+        return mapper.selectByEnterpriseId(enterpriseId);
     }
 
     @Override
     public PageResult<EnterpriseBusinessDO> getEnterpriseBusinessPage(EnterpriseBusinessPageReqVO pageReqVO) {
-        return enterpriseBusinessMapper.selectPage(pageReqVO);
+        return mapper.selectPage(pageReqVO);
     }
 
     @Override
     public EnterpriseBusinessDO getByCode(String code) {
-        return enterpriseBusinessMapper.selectByCode(code);
+        return mapper.selectByCode(code);
     }
 
     @Override
     public EnterpriseBusinessDO getByName(String name) {
-        return enterpriseBusinessMapper.selectByName(name);
+        return mapper.selectByName(name);
     }
 
     @Override
-    public Long createSimpleBusiness(Long enterpriseId, String code, String name) {
+    public Long createSimpleBusiness(Long enterpriseId, String code, String name,String businessUrl) {
         EnterpriseBusinessDO business = EnterpriseBusinessDO.builder()
                 .code(code)
                 .name(name)
                 .enterpriseId(enterpriseId)
+                .businessUrl(businessUrl)
                 .build();
-        enterpriseBusinessMapper.insert(business);
+        if(mapper.existByCode(null, business.getCode())) {
+            throw exception(MDE_BUSINESS_LICENSE_OCR_CODE_DUPLICATE);
+        }
+        mapper.insert(business);
         return business.getEnterpriseId();
     }
 
@@ -121,14 +126,18 @@ public class EnterpriseBusinessServiceImpl implements EnterpriseBusinessService
                 .businessStatus(businessLicense.getBusinessStatus())
                 .businessTerm(businessLicense.getBusinessTerm())
                 .businessScope(businessLicense.getBusinessScope())
+                .businessUrl(businessLicense.getBusinessUrl())
                 .build();
-        enterpriseBusinessMapper.insert(business);
+        if(mapper.existByCode(null, business.getCode())) {
+            throw exception(MDE_BUSINESS_LICENSE_OCR_CODE_DUPLICATE);
+        }
+        mapper.insert(business);
         return business.getEnterpriseId();
     }
 
     public EnterpriseBusinessDO selectBusiness() {
         EnterpriseBusinessDO businessDO =
-                enterpriseBusinessMapper.selectByEnterpriseId(LoginUserContext.getEnterpriseId());
+                mapper.selectByEnterpriseId(LoginUserContext.getEnterpriseId());
         if (null == businessDO) {
             throw exception(MDE_ENTERPRISE_BUSINESS_NOT_EXISTS);
         }
@@ -143,17 +152,21 @@ public class EnterpriseBusinessServiceImpl implements EnterpriseBusinessService
         // 更新
         EnterpriseBusinessDO updateObj = EnterpriseConvert.INSTANCE.convert14(reqVO);
         updateObj.setId(businessDO.getId());
-        enterpriseBusinessMapper.updateById(updateObj);
+        if(mapper.existByCode(businessDO.getId(), updateObj.getCode())) {
+            throw exception(MDE_BUSINESS_LICENSE_OCR_CODE_DUPLICATE);
+        }
+        mapper.updateById(updateObj);
     }
 
     @Override
     public AppRecruitEnterpriseBusinessRespVO get() {
         return EnterpriseConvert.INSTANCE.convert15(
-                enterpriseBusinessMapper.selectByEnterpriseId(LoginUserContext.getEnterpriseId()));
+                mapper.selectByEnterpriseId(LoginUserContext.getEnterpriseId()));
     }
 
     @Override
     public List<EnterpriseBusinessDO> searchByName(String name) {
-        return enterpriseBusinessMapper.searchByName(name);
+        return mapper.searchByName(name);
     }
+    
 }

+ 2 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/register/EnterpriseRegisterServiceImpl.java

@@ -163,7 +163,8 @@ public class EnterpriseRegisterServiceImpl implements EnterpriseRegisterService
                 businessService.createSimpleBusiness(
                         enterpriseId,
                         enterpriseRegister.getCode(),
-                        enterpriseRegister.getName()
+                        enterpriseRegister.getName(),
+                        enterpriseRegister.getBusinessLicenseUrl()
                 );
             } else {
                 // 如果有有效的OCR识别结果,则基于OCR识别结果创建企业业务记录