helixiao 1 жил өмнө
parent
commit
9b99673fa1

+ 74 - 0
src/main/java/com/ydtech/modules/admin/service/impl/SysAgencyLeaderServiceImpl.java

@@ -328,6 +328,51 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
         return b;
     }
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void editInfo(SysAgencyLeaderDeptDto sysAgencyLeaderDeptDto) {
+        SysDept sysDept = sysAgencyLeaderDeptDto.getSysDept();
+        SysDept byId = sysDeptService.getById(sysDept.getId());
+        if (sysDept.getManagementSource() != null){
+            if (!sysDept.getManagementSource().equals(byId.getManagementSource())) {
+                throw new DescribeException("机构已被设置来源无法修改");
+            }
+        }
+        sysDeptService.updateDept(sysDept);
+
+        //不修改负责人userId传null
+        String userId = sysAgencyLeaderDeptDto.getSysAgencyLeader().getUserId();
+        String loginId = BaseController.getUserId();
+        SysAgencyLeader sysAgencyLeader1 = sysAgencyLeaderMapper.selectById(sysAgencyLeaderDeptDto.getSysAgencyLeader().getId());
+        //修改管理员
+        List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new QueryWrapper<SysAgencyLeader>().lambda().eq(SysAgencyLeader::getDelFlag, 1));
+        List<String> userIdList = sysAgencyLeaders.stream().map(SysAgencyLeader::getUserId).collect(Collectors.toList());
+        if (userIdList.contains(userId)) {
+            throw new DescribeException(sysAgencyLeaderDeptDto.getSysAgencyLeader().getUserName() + "已是工作室管理员,不可重复配置");
+        }
+        List<SysPartner> sysPartners = sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getDelFlag, 1));
+        if (sysPartners.size() > 0) {
+            List<String> list = sysPartners.stream().map(SysPartner::getUserId).collect(Collectors.toList());
+            if (list.contains(sysAgencyLeaderDeptDto.getSysAgencyLeader().getUserId())) {
+                throw new DescribeException(sysAgencyLeaderDeptDto.getSysAgencyLeader().getUserName() + "已是合伙人,不可设置为机构负责人");
+            }
+        }
+
+        //修改负责人时解除合伙人或者推荐人与机构负责人的关系
+        List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
+                .eq(SysRelationPerson::getAgencyLeaderId, sysAgencyLeader1.getUserId())
+                .eq(SysRelationPerson::getDelFlag, 1)
+                .eq(SysRelationPerson::getType, 1));
+        if (sysRelationPeople.size() > 0) {
+            throw new DescribeException(sysAgencyLeader1.getUserName() + "有推荐关系,不允许修改");
+        }
+
+        SysAgencyLeader sysAgencyLeader = BeanUtil.copyProperties(sysAgencyLeaderDeptDto.getSysAgencyLeader(), SysAgencyLeader.class);
+        sysAgencyLeader.setUpdateTime(new Date());
+        sysAgencyLeader.setUpdateBy(loginId);
+        sysAgencyLeaderMapper.updateById(sysAgencyLeader);
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean delById(Integer id) {
@@ -1030,5 +1075,34 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
 
     }
 
+    @Override
+    public boolean editAll(List<SysAgencyLeaderDto> sysAgencyLeaderDto) {
+        String loginId = BaseController.getUserId();
+        if (CollectionUtil.isEmpty(sysAgencyLeaderDto)) {
+            throw new DescribeException( "批量修改参数不能为空");
+        }
+        for (SysAgencyLeaderDto agencyLeaderDto : sysAgencyLeaderDto) {
+            SysAgencyLeader sysAgencyLeader = new SysAgencyLeader();
+            sysAgencyLeader.setId(agencyLeaderDto.getId());
+            sysAgencyLeader.setProportional(agencyLeaderDto.getProportional());
+            sysAgencyLeader.setUpdateBy(loginId);
+            return sysAgencyLeaderMapper.updateById(sysAgencyLeader) > 0;
+        }
+
+        return false;
+    }
+
+    @Override
+    public SysAgencyLeaderDeptVo queryInfoById(Integer id) {
+        SysAgencyLeaderDeptVo sysAgencyLeaderDeptVo = new SysAgencyLeaderDeptVo();
+        SysAgencyLeader sysAgencyLeader = baseMapper.selectById(id);
+        sysAgencyLeaderDeptVo.setSysAgencyLeader(sysAgencyLeader);
+
+        SysDept sysDept = sysDeptMapper.selectById(sysAgencyLeader.getDeptId());
+        sysAgencyLeaderDeptVo.setSysDept(sysDept);
+
+        return sysAgencyLeaderDeptVo;
+    }
+
 
 }