Browse Source

1、用户注册和入职专场逻辑调整;

zk 2 years ago
parent
commit
df54746ca8

+ 5 - 0
sckw-modules-api/sckw-system-api/src/main/java/com/sckw/system/api/model/dto/req/RegisterReqDto.java

@@ -51,5 +51,10 @@ public class RegisterReqDto implements Serializable {
      */
     private String password;
 
+    /**
+     * 当前使用系统专场标识
+     */
+    private String special;
+
 
 }

+ 4 - 3
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsEnterpriseController.java

@@ -1,6 +1,7 @@
 package com.sckw.system.controller;
 
 import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.response.HttpResult;
 import com.sckw.system.model.KwsEnterprise;
 import com.sckw.system.model.vo.req.*;
@@ -143,7 +144,9 @@ public class KwsEnterpriseController {
      * @date: 2023/6/19
      */
     @PostMapping("/addEntSettle")
-    public HttpResult addEntSettle(@Valid @RequestBody AddEntSettleReqVo reqVo) {
+    public HttpResult addEntSettle(@Valid @RequestBody AddEntSettleReqVo reqVo, HttpServletRequest request) {
+        String accessSpecial = request.getHeader("Access-Special");
+        reqVo.setSpecial(accessSpecial);
         kwsEntService.addEntSettle(reqVo);
         return HttpResult.ok(HttpStatus.MSG_003);
     }
@@ -187,7 +190,6 @@ public class KwsEnterpriseController {
         return HttpResult.ok(HttpStatus.MSG_005);
     }
 
-
     /**
      * @param reqVo {ids:主键ID(多个以逗号隔开)}
      * @return HttpResult
@@ -313,7 +315,6 @@ public class KwsEnterpriseController {
     }
 
     /**
-     * @param id 企业信息
      * @desc 企业联系人信息
      * @author zk
      * @date 2023/9/1

+ 4 - 2
sckw-modules/sckw-system/src/main/java/com/sckw/system/controller/KwsUserController.java

@@ -19,6 +19,7 @@ import com.sckw.system.model.vo.req.ResetPasswordReqVo;
 import com.sckw.system.model.vo.req.UserAddReqVo;
 import com.sckw.system.model.vo.res.KwsUserResVo;
 import com.sckw.system.service.KwsUserService;
+import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletResponse;
 import jakarta.validation.Valid;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -178,10 +179,11 @@ public class KwsUserController {
      * @date: 2023/6/16
      */
     @PostMapping("/register")
-    public HttpResult register(@Valid @RequestBody RegisterReqDto reqVo,
+    public HttpResult register(@Valid @RequestBody RegisterReqDto reqVo, HttpServletRequest request,
                                @RequestHeader(name = "System-Type", required = true) int systemType) {
+        String accessSpecial = request.getHeader("Access-Special");
+        reqVo.setSpecial(accessSpecial);
         reqVo.setSystemType(systemType);
-
         String key = StringUtils.format(RedisConstant.MESSAGE_SMS_VERIFY_CODE_VALUE_KEY, DictEnum.SMS_REGISTER.getValue(), reqVo.getPhone());
         String sms = RedissonUtils.getString(key);
         if (!reqVo.getCaptcha().equals(sms)) {

+ 5 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/AddEntSettleReqVo.java

@@ -122,6 +122,11 @@ public class AddEntSettleReqVo implements Serializable {
      */
     private Long manager;
 
+    /**
+     * 当前使用系统专场标识
+     */
+    private String special;
+
     /**
      * 备注
      */

+ 5 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/model/vo/req/EntRegisterReqVo.java

@@ -109,6 +109,11 @@ public class EntRegisterReqVo implements Serializable {
      */
     private Long manager;
 
+    /**
+     * 当前使用系统专场标识
+     */
+    private String special;
+
     /**
      * 备注
      */

+ 28 - 6
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsEnterpriseService.java

@@ -12,6 +12,7 @@ import com.sckw.core.model.page.PageHelperUtil;
 import com.sckw.core.model.page.PageResult;
 import com.sckw.core.utils.*;
 import com.sckw.core.web.constant.HttpStatus;
+import com.sckw.core.web.context.LoginEntHolder;
 import com.sckw.core.web.context.LoginUserHolder;
 import com.sckw.core.web.model.EntCertificateInfo;
 import com.sckw.core.web.response.HttpResult;
@@ -385,14 +386,35 @@ public class KwsEnterpriseService {
         kwsEnterprise.setOrgCode("");
         kwsEnterprise.setRegTime(date);
         kwsEnterprise.setUpdateBy(LoginUserHolder.getUserId());
-        //默认给一个客户经理(admin账号)
-        if (Objects.isNull(reqVo.getManager())) {
-            List<KwsUserSystemTypeVo> userSystemTypeVos = userDao.selectUserBySystemType(SystemTypeEnum.MANAGE.getCode());
-            if (CollectionUtils.isNotEmpty(userSystemTypeVos)) {
-                KwsUserSystemTypeVo kwsUserSystemTypeVo = userSystemTypeVos.get(0);
-                kwsEnterprise.setManager(kwsUserSystemTypeVo.getId());
+
+        //客户经理
+        Integer systemType = LoginUserHolder.getSystemType();
+        if (Objects.equals(SystemTypeEnum.MANAGE.getCode(), systemType)) {
+            kwsEnterprise.setManager(LoginUserHolder.getUserId());
+        } else {
+            if (StringUtils.isNotBlank(reqVo.getSpecial())) {
+                List<KwsSpecial> specials = kwsSpecialService.findList(new HashMap<>(){{put("code", reqVo.getSpecial());}});
+                if (CollectionUtils.isNotEmpty(specials)) {
+                    KwsSpecial special = specials.get(NumberConstant.ZERO);
+                    kwsEnterprise.setManager(special.getManager());
+                    //专场平台注册自动加入专场
+                    if (special.getIsMain() == NumberConstant.ZERO) {
+                        KwsEntSpecial entSpecial = new KwsEntSpecial();
+                        entSpecial.setSpecialId(special.getId());
+                        entSpecial.setEntId(entId);
+                        kwsSpecialService.joinSpecial(entSpecial);
+                    }
+                }
+            } else {
+                //默认给一个客户经理(admin账号)-公共平台
+                List<KwsUserSystemTypeVo> userSystemTypeVos = userDao.selectUserBySystemType(SystemTypeEnum.MANAGE.getCode());
+                if (CollectionUtils.isNotEmpty(userSystemTypeVos)) {
+                    KwsUserSystemTypeVo kwsUserSystemTypeVo = userSystemTypeVos.get(0);
+                    kwsEnterprise.setManager(kwsUserSystemTypeVo.getId());
+                }
             }
         }
+
         //更新缓存
         List<Long> enterpriseIds = new ArrayList<>();
         if (LoginUserHolder.getSystemType().equals(SystemTypeEnum.MANAGE.getCode())) {

+ 28 - 0
sckw-modules/sckw-system/src/main/java/com/sckw/system/service/KwsUserService.java

@@ -3,6 +3,7 @@ package com.sckw.system.service;
 import com.sckw.core.common.enums.enums.DictEnum;
 import com.sckw.core.exception.SystemException;
 import com.sckw.core.model.constant.Global;
+import com.sckw.core.model.constant.NumberConstant;
 import com.sckw.core.model.enums.ApprovalEnum;
 import com.sckw.core.model.enums.SystemTypeEnum;
 import com.sckw.core.utils.*;
@@ -67,6 +68,9 @@ public class KwsUserService {
     @Autowired
     KwsEnterpriseDao kwsEnterpriseDao;
 
+    @Autowired
+    private KwsSpecialService kwsSpecialService;
+
     @Autowired
     KwsMenuService kwsMenuService;
 
@@ -167,6 +171,7 @@ public class KwsUserService {
             long entId = new IdWorker(1L).nextId();
             kwsEnterprise.setId(entId);
             kwsEnterprise.setCode("");
+            kwsEnterprise.setRegTime(new Date());
             kwsEnterprise.setFirmName(reqDto.getEntName());
             kwsEnterprise.setApproval(ApprovalEnum.NO.getCode());
             kwsEnterprise.setContacts(reqDto.getName());
@@ -174,6 +179,29 @@ public class KwsUserService {
             kwsEnterprise.setCreateBy(createBy);
             kwsEnterprise.setUpdateBy(createBy);
 
+            //客户经理
+            if (StringUtils.isNotBlank(reqDto.getSpecial())) {
+                List<KwsSpecial> specials = kwsSpecialService.findList(new HashMap<>(){{put("code", reqDto.getSpecial());}});
+                if (CollectionUtils.isNotEmpty(specials)) {
+                    KwsSpecial special = specials.get(NumberConstant.ZERO);
+                    kwsEnterprise.setManager(special.getManager());
+                    //专场平台注册自动加入专场
+                    if (special.getIsMain() == NumberConstant.ZERO) {
+                        KwsEntSpecial entSpecial = new KwsEntSpecial();
+                        entSpecial.setSpecialId(special.getId());
+                        entSpecial.setEntId(entId);
+                        kwsSpecialService.joinSpecial(entSpecial);
+                    }
+                }
+            } else {
+                //默认给一个客户经理(admin账号)-公共平台
+                List<KwsUserSystemTypeVo> userSystemTypeVos = kwsUserDao.selectUserBySystemType(SystemTypeEnum.MANAGE.getCode());
+                if (CollectionUtils.isNotEmpty(userSystemTypeVos)) {
+                    KwsUserSystemTypeVo kwsUserSystemTypeVo = userSystemTypeVos.get(0);
+                    kwsEnterprise.setManager(kwsUserSystemTypeVo.getId());
+                }
+            }
+
             if (kwsEnterpriseDao.insert(kwsEnterprise) <= 0) {
                 throw new SystemException(HttpStatus.CRUD_FAIL_CODE, HttpStatus.INSERT_FAIL);
             }