Browse Source

审核后线人员,业务逻辑抽取

helixiao 1 year ago
parent
commit
abcfa23ac8

+ 1 - 62
src/main/java/com/ydtech/modules/admin/controller/SysUserController.java

@@ -112,16 +112,6 @@ public class SysUserController extends BaseController {
 
     private final UnionPayRequestApiComponent unionPayRequestApiComponent;
 
-    private final SysPartnerService sysPartnerService;
-
-    private final SysPartnerMapper sysPartnerMapper;
-
-    private final SysAgencyLeaderService sysAgencyLeaderService;
-
-    private final SysUserMapper sysUserMapper;
-
-
-
 
     //    @PreAuthorize("hasAuthority('sys:user:delete')")
     @ApiOperation(value = "逻辑删除")
@@ -577,58 +567,7 @@ public class SysUserController extends BaseController {
         } else if (Objects.equals(sysUser.getStatus(), UserWorkStatus.UWS_6.getCode())) {
             sysUser.setStatus(UserWorkStatus.UWS_1.getCode());
         }
-
-        SysUserTrack sysUserTrack = new SysUserTrack(sysUser);
-
-        sysUserTrackService.save(sysUserTrack);
-        Integer type = sysUser.getType();
-        if (type == 1) {
-            SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getUserId, sysUser.getId()));
-            if (sysPartner == null) {
-                //保存合伙人信息
-                SysPartnerDto sysPartnerDto = new SysPartnerDto();
-                sysPartnerDto.setUserId(sysUser.getId());
-                sysPartnerDto.setUserName(sysUser.getName());
-                if (sysUser.getLevel() != 1) {
-                    sysPartnerDto.setSuggestId(sysUser.getReferrerId());
-                }
-                sysPartnerDto.setLevel(sysUser.getLevel());
-                sysPartnerService.insert(sysPartnerDto);
-            }
-        } else if (type == 2){
-            SysDept sysDept = sysDeptService.getById(sysUser.getDeptId());
-            SysDept sysDeptParent = sysDeptService.getById(sysDept.getParentId());
-            SysUser sysUserReferrerId = sysUserService.getById(sysUser.getReferrerId());
-            SysDeptVo sysDeptVo = new SysDeptVo();
-            sysDeptVo.setComlevel("5"); // 默认机构等级为5级
-            sysDeptVo.setComtype(sysUser.getDeptType());
-            sysDeptVo.setName(sysUser.getName() + "工作室"); // 以人名设置工作室名称
-            sysDeptVo.setDeptType("C"); // 默认为子公司
-            sysDeptVo.setParentId(sysDept.getParentId());
-            sysDeptVo.setManagementSource(sysUser.getDeptSource()); //机构来源默认为加盟
-            sysDeptVo.setWorkerId(sysUser.getId()); // 工作室命名人id
-            sysDeptVo.setOrderNum(0);
-            sysDeptVo.setComattribute("procar"); //机构性质 车险
-            sysDeptVo.setProvince(sysDeptParent.getProvince()); // 默认省与负责人所在机构一样
-            sysDeptVo.setCity(sysDeptParent.getCity()); // 默认市与负责人所在机构一样
-            sysDeptVo.setArea(sysDeptParent.getArea()); // 默认区县与负责人所在机构一样
-            sysDeptVo.setCreateTime(new Date());
-            sysDeptVo.setAddress(""); // 工作室地址
-            sysDeptService.addDept(sysDeptVo);
-            SysAgencyLeaderDto sysAgencyLeaderDto = new SysAgencyLeaderDto();
-            sysAgencyLeaderDto.setUserId(sysUser.getId());
-            sysAgencyLeaderDto.setUserName(sysUser.getName());
-            sysAgencyLeaderDto.setDeptId(sysDeptVo.getId());
-            sysAgencyLeaderDto.setDeptName(sysDeptVo.getName());
-            sysAgencyLeaderDto.setSource(sysUser.getDeptSource());
-            sysAgencyLeaderDto.setComlevel(sysDeptVo.getComlevel());
-            sysAgencyLeaderDto.setSuggestId(sysUser.getReferrerId());
-            sysAgencyLeaderDto.setSuggestName(sysUser.getSuggestName());
-            sysAgencyLeaderDto.setSuggestLevel(sysUserReferrerId.getLevel());
-
-            sysAgencyLeaderService.insert(sysAgencyLeaderDto);
-        }
-        return HttpResult.ok(sysUserService.updateById(sysUser));
+        return HttpResult.ok(sysUserService.addInfo(sysUser));
     }
 
 

+ 1 - 0
src/main/java/com/ydtech/modules/admin/service/SysUserService.java

@@ -303,6 +303,7 @@ public interface SysUserService extends BaseIService<SysUser> {
     List<SysUser> getTreeUser();
 
 
+    boolean addInfo(SysUser sysUser);
 }
 
 

+ 64 - 3
src/main/java/com/ydtech/modules/admin/service/impl/SysUserServiceImpl.java

@@ -23,6 +23,7 @@ import com.ydtech.modules.admin.constants.QuMarks;
 import com.ydtech.modules.admin.constants.RoleConstants;
 import com.ydtech.modules.admin.constants.UserWorkStatus;
 import com.ydtech.modules.admin.dao.SysDeptMapper;
+import com.ydtech.modules.admin.dao.SysPartnerMapper;
 import com.ydtech.modules.admin.dao.SysUserLinkAreaMapper;
 import com.ydtech.modules.admin.dao.SysUserMapper;
 import com.ydtech.modules.admin.model.*;
@@ -125,7 +126,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     private SysAgencyLeaderService sysAgencyLeaderService;
 
     @Resource
-    private SysUserService sysUserService;
+    private SysPartnerMapper sysPartnerMapper;
 
     @Value("${httpUrl}")
     private String httpUrl;
@@ -984,7 +985,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             throw new SystemException("角色id不能为空");
         }
         //获取机构层级
-        int deptLevel = sysUserService.getDeptLevel1(sysDeptVo.getId());
+        int deptLevel = this.getDeptLevel1(sysDeptVo.getId());
         if (!StringUtils.isNullOrEmpty(sysUser.getRoleId())) {
             if (RoleConstants.R21.getCode().equals(sysUser.getRoleId())
                     || RoleConstants.R20.getCode().equals(sysUser.getRoleId())
@@ -995,7 +996,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                 }
                 //如果为团队长,判断是否已经存在团队长,存在不允许添加   add by  hxl  2024-05-07  ============begin
                 if (RoleConstants.R21.getCode().equals(sysUser.getRoleId())) {
-                    int count = sysUserService.getCountByDeptAndRoleId(sysUser);
+                    int count = this.getCountByDeptAndRoleId(sysUser);
                     if (count > 0) {
                         throw new SystemException("该机构已存在团队长,不允许再添加!!");
                     }
@@ -2360,4 +2361,64 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         buildUserTree(topUsers, users);
         return topUsers;
     }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean addInfo(SysUser sysUser) {
+        SysUserTrack sysUserTrack = new SysUserTrack(sysUser);
+
+        sysUserTrackService.save(sysUserTrack);
+        Integer type = sysUser.getType();
+        if (type == 1) {
+            SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getUserId, sysUser.getId()));
+            if (sysPartner == null) {
+                //保存合伙人信息
+                SysPartnerDto sysPartnerDto = new SysPartnerDto();
+                sysPartnerDto.setUserId(sysUser.getId());
+                sysPartnerDto.setUserName(sysUser.getName());
+                if (sysUser.getLevel() != 1) {
+                    sysPartnerDto.setSuggestId(sysUser.getReferrerId());
+                }
+                sysPartnerDto.setLevel(sysUser.getLevel());
+                sysPartnerService.insert(sysPartnerDto);
+            }
+        } else if (type == 2){
+            SysDept sysDept = sysDeptService.getById(sysUser.getDeptId());
+            SysDept sysDeptParent = sysDeptService.getById(sysDept.getParentId());
+            SysUser sysUserReferrerId = this.getById(sysUser.getReferrerId());
+            SysDeptVo sysDeptVo = new SysDeptVo();
+            sysDeptVo.setComlevel("5"); // 默认机构等级为5级
+            sysDeptVo.setComtype(sysUser.getDeptType());
+            sysDeptVo.setName(sysUser.getName() + "工作室"); // 以人名设置工作室名称
+            sysDeptVo.setDeptType("C"); // 默认为子公司
+            sysDeptVo.setParentId(sysDept.getParentId());
+            sysDeptVo.setManagementSource(sysUser.getDeptSource()); //机构来源默认为加盟
+            sysDeptVo.setWorkerId(sysUser.getId()); // 工作室命名人id
+            sysDeptVo.setOrderNum(0);
+            sysDeptVo.setComattribute("procar"); //机构性质 车险
+            sysDeptVo.setProvince(sysDeptParent.getProvince()); // 默认省与负责人所在机构一样
+            sysDeptVo.setCity(sysDeptParent.getCity()); // 默认市与负责人所在机构一样
+            sysDeptVo.setArea(sysDeptParent.getArea()); // 默认区县与负责人所在机构一样
+            sysDeptVo.setCreateTime(new Date());
+            sysDeptVo.setAddress(""); // 工作室地址
+            sysDeptService.addDept(sysDeptVo);
+            SysAgencyLeaderDto sysAgencyLeaderDto = new SysAgencyLeaderDto();
+            sysAgencyLeaderDto.setUserId(sysUser.getId());
+            sysAgencyLeaderDto.setUserName(sysUser.getName());
+            sysAgencyLeaderDto.setDeptId(sysDeptVo.getId());
+            sysAgencyLeaderDto.setDeptName(sysDeptVo.getName());
+            sysAgencyLeaderDto.setSource(sysUser.getDeptSource());
+            sysAgencyLeaderDto.setComlevel(sysDeptVo.getComlevel());
+            sysAgencyLeaderDto.setSuggestId(sysUser.getReferrerId());
+            sysAgencyLeaderDto.setSuggestName(sysUser.getSuggestName());
+            sysAgencyLeaderDto.setSuggestLevel(sysUserReferrerId.getLevel());
+
+            sysAgencyLeaderService.insert(sysAgencyLeaderDto);
+        }
+
+        return this.updateById(sysUser);
+
+    }
+
+
 }