helixiao 2 лет назад
Родитель
Сommit
bf3143d239

+ 10 - 1
src/main/java/com/ydtech/modules/admin/controller/SysPartnerController.java

@@ -80,6 +80,15 @@ public class SysPartnerController extends BaseController {
         }
         }
         return HttpResult.error("添加失败");
         return HttpResult.error("添加失败");
     }
     }
+    @PostMapping("/edit")
+    @ApiOperation(value = "编辑合伙人")
+    public HttpResult edit(@RequestBody SysPartnerDto sysPartnerDto) {
+        boolean insert = this.sysPartnerService.edit(sysPartnerDto);
+        if (insert) {
+            return HttpResult.ok("编辑成功");
+        }
+        return HttpResult.error("编辑失败");
+    }
 
 
     /**
     /**
      * 判断当前登陆人是否合伙人
      * 判断当前登陆人是否合伙人
@@ -99,7 +108,7 @@ public class SysPartnerController extends BaseController {
      */
      */
     @GetMapping("/deleteById/{id}")
     @GetMapping("/deleteById/{id}")
     @ApiOperation(value = "删除合伙人")
     @ApiOperation(value = "删除合伙人")
-    public HttpResult deleteById(@PathVariable("id") Integer id) {
+    public HttpResult deleteById(@PathVariable("id") String id) {
         return HttpResult.ok("success", this.sysPartnerService.deleteById(id));
         return HttpResult.ok("success", this.sysPartnerService.deleteById(id));
     }
     }
 
 

+ 0 - 4
src/main/java/com/ydtech/modules/admin/service/SysAgencyLeaderService.java

@@ -27,10 +27,6 @@ public interface SysAgencyLeaderService extends IService<SysAgencyLeader> {
      */
      */
     boolean insert(SysAgencyLeaderDto sysAgencyLeaderDto);
     boolean insert(SysAgencyLeaderDto sysAgencyLeaderDto);
 
 
-//
-//    List<SysDept> getDeptInfo();
-//
-//    List<SysUser> getUserInfo();
 
 
     boolean edit(SysAgencyLeaderDto sysAgencyLeaderDto);
     boolean edit(SysAgencyLeaderDto sysAgencyLeaderDto);
 
 

+ 3 - 1
src/main/java/com/ydtech/modules/admin/service/SysPartnerService.java

@@ -33,9 +33,11 @@ public interface SysPartnerService extends IService<SysPartner> {
     boolean checkPartner(String userId);
     boolean checkPartner(String userId);
 
 
 
 
-    boolean deleteById(Integer id);
+    boolean deleteById(String id);
 
 
     BasePageResult<AgencyExtractFeeVo> queryPartnerByPage(SysPartnerPageDto sysPartnerPageDto);
     BasePageResult<AgencyExtractFeeVo> queryPartnerByPage(SysPartnerPageDto sysPartnerPageDto);
 
 
     BasePageResult<SysPartnerAPPPageVo> SysPartnerAPPPage(SysPartnerAPPPageDto sysPartnerAPPPageDto);
     BasePageResult<SysPartnerAPPPageVo> SysPartnerAPPPage(SysPartnerAPPPageDto sysPartnerAPPPageDto);
+
+    boolean edit(SysPartnerDto sysPartnerDto);
 }
 }

+ 51 - 6
src/main/java/com/ydtech/modules/admin/service/impl/SysAgencyLeaderServiceImpl.java

@@ -77,7 +77,8 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
     @Transactional(rollbackFor = Exception.class)
     @Transactional(rollbackFor = Exception.class)
     public boolean insert(SysAgencyLeaderDto sysAgencyLeaderDto) {
     public boolean insert(SysAgencyLeaderDto sysAgencyLeaderDto) {
         //校验一个用户只能是一个机构的负责人,每个机构只有一个负责人
         //校验一个用户只能是一个机构的负责人,每个机构只有一个负责人
-        List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new QueryWrapper<SysAgencyLeader>().lambda().eq(SysAgencyLeader::getDelFlag, 1));
+        List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new QueryWrapper<SysAgencyLeader>().lambda()
+                .eq(SysAgencyLeader::getDelFlag, 1));
         if (sysAgencyLeaders.size() > 0) {
         if (sysAgencyLeaders.size() > 0) {
             //校验用户是否已经机构负责人
             //校验用户是否已经机构负责人
             List<String> userIdList = sysAgencyLeaders.stream().map(SysAgencyLeader::getUserId).collect(Collectors.toList());
             List<String> userIdList = sysAgencyLeaders.stream().map(SysAgencyLeader::getUserId).collect(Collectors.toList());
@@ -99,6 +100,7 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
             }
             }
         }
         }
 
 
+
         SysAgencyLeader sysAgencyLeader = BeanUtil.copyProperties(sysAgencyLeaderDto, SysAgencyLeader.class);
         SysAgencyLeader sysAgencyLeader = BeanUtil.copyProperties(sysAgencyLeaderDto, SysAgencyLeader.class);
         sysAgencyLeader.setCreateTime(new Date());
         sysAgencyLeader.setCreateTime(new Date());
         SysUser user = BaseController.getUser();
         SysUser user = BaseController.getUser();
@@ -155,13 +157,13 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
         }
         }
 
 
         //工作室管理员: 已是管理员不能再成为管理员,已是合伙人的也不能设置为管理员
         //工作室管理员: 已是管理员不能再成为管理员,已是合伙人的也不能设置为管理员
-        List<SysPartner> sysPartnerList = sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getCreateTime, 1));
-        if (sysPartnerList == null) {
+        List<SysPartner> sysPartnerList = sysPartnerMapper.selectList(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getDelFlag, 1));
+        if (sysPartnerList.size()>0) {
             List<String> stringList = sysPartnerList.stream().map(SysPartner::getUserId).collect(Collectors.toList());
             List<String> stringList = sysPartnerList.stream().map(SysPartner::getUserId).collect(Collectors.toList());
             sysUserList = sysUserList.stream().filter(SysUser -> !stringList.contains(SysUser.getId())).collect(Collectors.toList());
             sysUserList = sysUserList.stream().filter(SysUser -> !stringList.contains(SysUser.getId())).collect(Collectors.toList());
         }
         }
         List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>().eq(SysAgencyLeader::getDelFlag, 1));
         List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>().eq(SysAgencyLeader::getDelFlag, 1));
-        if (sysAgencyLeaders == null) {
+        if (sysAgencyLeaders.size()>0) {
             List<String> stringList = sysAgencyLeaders.stream().map(SysAgencyLeader::getUserId).collect(Collectors.toList());
             List<String> stringList = sysAgencyLeaders.stream().map(SysAgencyLeader::getUserId).collect(Collectors.toList());
             sysUserList = sysUserList.stream().filter(SysUser -> !stringList.contains(SysUser.getId())).collect(Collectors.toList());
             sysUserList = sysUserList.stream().filter(SysUser -> !stringList.contains(SysUser.getId())).collect(Collectors.toList());
         }
         }
@@ -182,6 +184,14 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
             if (userIdList.contains(sysAgencyLeaderDto.getUserId())) {
             if (userIdList.contains(sysAgencyLeaderDto.getUserId())) {
                 throw new DescribeException(sysAgencyLeaderDto.getUserName() + "已是机构负责人,不可重复配置");
                 throw new DescribeException(sysAgencyLeaderDto.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(sysAgencyLeaderDto.getUserId())) {
+                    throw new DescribeException(sysAgencyLeaderDto.getUserName() + "已是合伙人,不可设置为机构负责人");
+                }
+            }
+
             //修改负责人时解除合伙人或者推荐人与机构负责人的关系
             //修改负责人时解除合伙人或者推荐人与机构负责人的关系
             List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
             List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
                     .eq(SysRelationPerson::getAgencyLeaderId, sysAgencyLeader1.getUserId())
                     .eq(SysRelationPerson::getAgencyLeaderId, sysAgencyLeader1.getUserId())
@@ -192,11 +202,44 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
             }
             }
 
 
         }
         }
+        if (sysAgencyLeader1.getSuggestId() != null) {
+            throw new DescribeException(sysAgencyLeaderDto.getUserName() + "有推荐人,不允许修改");
+        }
         SysAgencyLeader sysAgencyLeader = BeanUtil.copyProperties(sysAgencyLeaderDto, SysAgencyLeader.class);
         SysAgencyLeader sysAgencyLeader = BeanUtil.copyProperties(sysAgencyLeaderDto, SysAgencyLeader.class);
         sysAgencyLeader.setUpdateTime(new Date());
         sysAgencyLeader.setUpdateTime(new Date());
         SysUser user = BaseController.getUser();
         SysUser user = BaseController.getUser();
         sysAgencyLeader.setUpdateBy(user.getId());
         sysAgencyLeader.setUpdateBy(user.getId());
-        return sysAgencyLeaderMapper.updateById(sysAgencyLeader) > 0;
+        sysAgencyLeaderMapper.updateById(sysAgencyLeader);
+
+        //sysRelationPerson1为空是无上级
+        SysRelationPerson sysRelationPerson = new SysRelationPerson();
+        sysRelationPerson.setAgencyLeaderId(sysAgencyLeader.getUserId());
+        sysRelationPerson.setCreateBy(user.getId());
+        sysRelationPerson.setCreateTime(new Date());
+        sysRelationPerson.setSuggestId(sysAgencyLeaderDto.getSuggestId());
+        sysRelationPerson.setSource(0);
+        sysRelationPerson.setType(1);
+        boolean b = sysRelationPersonMapper.insert(sysRelationPerson) > 0;
+        //查询推荐人是否有上级 :满足合伙人有多层关系
+        List<SysRelationPerson> sysRelationPersonList = sysRelationPersonMapper.selectList(new LambdaQueryWrapper<SysRelationPerson>()
+                .eq(SysRelationPerson::getAgencyLeaderId, sysAgencyLeaderDto.getSuggestId())
+                .eq(SysRelationPerson::getType, 0));
+
+        if (sysRelationPersonList.size() > 0) {
+            for (SysRelationPerson sysRelation : sysRelationPersonList) {
+                SysRelationPerson sysRelationPerson1 = new SysRelationPerson();
+                sysRelationPerson1.setAgencyLeaderId(sysAgencyLeader.getUserId());
+                sysRelationPerson1.setCreateBy(user.getId());
+                sysRelationPerson1.setCreateTime(new Date());
+                sysRelationPerson1.setSuggestId(sysRelation.getSuggestId());
+                sysRelationPerson1.setSource(1);
+                sysRelationPerson1.setType(1);
+                sysRelationPersonMapper.insert(sysRelationPerson1);
+            }
+
+        }
+
+        return b;
     }
     }
 
 
     @Override
     @Override
@@ -208,7 +251,9 @@ public class SysAgencyLeaderServiceImpl extends ServiceImpl<SysAgencyLeaderMappe
                 .eq(SysRelationPerson::getDelFlag, 1)
                 .eq(SysRelationPerson::getDelFlag, 1)
                 .eq(SysRelationPerson::getType, 1));
                 .eq(SysRelationPerson::getType, 1));
         if (sysRelationPeople.size() > 0) {
         if (sysRelationPeople.size() > 0) {
-            throw new DescribeException(sysAgencyLeader1.getUserName() + "有推荐人,不允许删除");
+            if (sysRelationPeople.get(0).getSuggestId() != null) {
+                throw new DescribeException(sysAgencyLeader1.getUserName() + "有推荐人,不允许删除");
+            }
         }
         }
         SysAgencyLeader sysAgencyLeader = new SysAgencyLeader();
         SysAgencyLeader sysAgencyLeader = new SysAgencyLeader();
         sysAgencyLeader.setId(id);
         sysAgencyLeader.setId(id);

+ 35 - 2
src/main/java/com/ydtech/modules/admin/service/impl/SysPartnerServiceImpl.java

@@ -4,6 +4,7 @@ package com.ydtech.modules.admin.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ydtech.aop.exception.DescribeException;
 import com.ydtech.aop.exception.DescribeException;
@@ -86,7 +87,14 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
 
 
         Page<SysUser> insOrdersPage = sysUserService.page(page, wrapper);
         Page<SysUser> insOrdersPage = sysUserService.page(page, wrapper);
         List<SysUser> records = insOrdersPage.getRecords();
         List<SysUser> records = insOrdersPage.getRecords();
+        List<SysAgencyLeader> sysAgencyLeaders = sysAgencyLeaderMapper.selectList(new LambdaQueryWrapper<SysAgencyLeader>().eq(SysAgencyLeader::getDelFlag, 1));
+        if (sysAgencyLeaders.size()>0) {
+            List<String> stringList = sysAgencyLeaders.stream().map(SysAgencyLeader::getUserId).collect(Collectors.toList());
+            records = records.stream().filter(SysUser -> !stringList.contains(SysUser.getId())).collect(Collectors.toList());
+        }
+
         List<SysUserPartner> sysUserPartners = BeanUtil.copyToList(records, SysUserPartner.class);
         List<SysUserPartner> sysUserPartners = BeanUtil.copyToList(records, SysUserPartner.class);
+
         if (sysUserPartners.size() > 0) {
         if (sysUserPartners.size() > 0) {
             for (SysUserPartner user : sysUserPartners) {
             for (SysUserPartner user : sysUserPartners) {
                 SysDept sysDept = sysDeptMapper.selectOne(new LambdaQueryWrapper<SysDept>().eq(SysDept::getId, user.getDeptId()).eq(SysDept::getDelFlag, 0));
                 SysDept sysDept = sysDeptMapper.selectOne(new LambdaQueryWrapper<SysDept>().eq(SysDept::getId, user.getDeptId()).eq(SysDept::getDelFlag, 0));
@@ -104,6 +112,7 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
 
 
         }
         }
 
 
+
         return new BasePageResult<>(sysPartnerPageDto.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
         return new BasePageResult<>(sysPartnerPageDto.getPageNum(), page.getSize(), insOrdersPage.getTotal(), page.getPages(),
                 sysUserPartners);
                 sysUserPartners);
     }
     }
@@ -177,9 +186,20 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
     }
     }
 
 
     @Override
     @Override
-    public boolean deleteById(Integer id) {
+    public boolean deleteById(String id) {
+        SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>().eq(SysPartner::getDelFlag, 1).eq(SysPartner::getUserId, id));
+        List<SysRelationPerson> sysRelationPeople = sysRelationPersonMapper.selectList(new UpdateWrapper<SysRelationPerson>().lambda()
+                .eq(SysRelationPerson::getAgencyLeaderId, id)
+                .eq(SysRelationPerson::getDelFlag, 1)
+                .eq(SysRelationPerson::getType, 0));
+        if (sysRelationPeople.size() > 0) {
+            if (sysRelationPeople.get(0).getSuggestId() != null) {
+                throw new DescribeException(sysPartner.getUserName() + "有推荐人,不允许删除");
+            }
+        }
+
         SysPartner partner = new SysPartner();
         SysPartner partner = new SysPartner();
-        partner.setId(id);
+        partner.setId(sysPartner.getId());
         partner.setDelFlag(0);
         partner.setDelFlag(0);
         return sysPartnerMapper.updateById(partner) > 0;
         return sysPartnerMapper.updateById(partner) > 0;
     }
     }
@@ -415,5 +435,18 @@ public class SysPartnerServiceImpl extends ServiceImpl<SysPartnerMapper, SysPart
                 sysPartnerAPPPageVoList);
                 sysPartnerAPPPageVoList);
     }
     }
 
 
+    @Override
+    public boolean edit(SysPartnerDto sysPartnerDto) {
+        SysPartner sysPartner = sysPartnerMapper.selectOne(new LambdaQueryWrapper<SysPartner>()
+                .eq(SysPartner::getDelFlag, 1).eq(SysPartner::getUserId, sysPartnerDto.getUserId()));
+        if (sysPartner == null) {
+            throw new DescribeException("此合伙人不存在!");
+        }
+        SysPartner partner = new SysPartner();
+        partner.setId(sysPartner.getId());
+        partner.setProportional(sysPartnerDto.getProportional());
+        return sysPartnerMapper.updateById(partner) > 0;
+    }
+
 
 
 }
 }