whyclxw
2025-05-15 96510a549bfb313920bf297b28089c4cf57f0146
src/main/java/com/whyc/service/BaojigroupService.java
@@ -15,10 +15,7 @@
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
@Service
@@ -37,12 +34,47 @@
    @Autowired(required = false)
    private LockInfMapper lockInfMapper;
    //将内置用户加入到包机组下
    public void insertNeiZhi(Integer baojiId){
        List<BaojigroupUsr> list=new ArrayList<>();
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.lt("uid",99);
        List<UserInf> uList=userInfMapper.selectList(wrapper);
        for (UserInf uinf:uList) {
            BaojigroupUsr baojiusr=new BaojigroupUsr();
            baojiusr.setUid(uinf.getUid());
            baojiusr.setBaojiId(baojiId);
            list.add(baojiusr);
        }
        bjUsrmapper.insertBatchSomeColumn(list);
    }
    //添加包机组
    @Transactional
    public Response addBaoji(String baojiName) {
        Baojigroup baoji=new Baojigroup();
        baoji.setBaojiName(baojiName);
        int bl=mapper.insert(baoji);
        return new Response().set(1,bl>0,"添加包机组成功");
        //验证包机组名是否重复
        //将内置用户加入到包机组下
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.eq("baoji_name",baojiName);
        wrapper.last("limit 1");
        Baojigroup baoji=mapper.selectOne(wrapper);
        if(baoji!=null){
            return new Response().set(0,false,"包机组已存在");
        }else{
            baoji=new Baojigroup();
            baoji.setBaojiName(baojiName);
            int bl=mapper.insert(baoji);
            if(bl>0){
                //将内置用户加入到包机组下
                QueryWrapper wrapper1=new QueryWrapper();
                wrapper1.eq("baoji_name",baojiName);
                wrapper1.last("limit 1");
                baoji=mapper.selectOne(wrapper1);
                insertNeiZhi(baoji.getId());
            }
            return new Response().set(1,bl>0,"添加包机组成功");
        }
    }
    //编辑包机组
    public Response updateBaoji(Integer id, String baojiName) {
@@ -105,7 +137,7 @@
   // 包机组列表
    public Response<List<Baojigroup>> getBaoJiGroup() {
        List<Baojigroup> list=mapper.selectList((Wrapper<Baojigroup>) ActionUtil.objeNull);
        return new Response<List<Baojigroup>>().set(1,list);
        return new Response().setII(1,list!=null,list,"包机组列表");
    }
    //包机组已添加用户和未添加用户列表
    public Map<String, List<UserInf>> getUserList(int id) {
@@ -115,6 +147,7 @@
        //查询包机组未添加的用户信息
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.select("uid", "uname");
        wrapper.gt("uid",100);
        List<UserInf> allUserInfList = userInfMapper.selectList(wrapper);
        List<UserInf> notRelatedUserInfList = allUserInfList.stream().filter(userInf -> !relatedUserInfList.contains(userInf)).collect(Collectors.toList());
@@ -136,4 +169,20 @@
        return resultMap;
    }
    //当前用户所在包机组下所有的用户(下拉)
    public Response getBaojiUserByUid(Integer uid) {
        //查询当前人所在包机组
        QueryWrapper wrapper=new QueryWrapper();
        wrapper.select("baoji_id");
        if(uid>100){
            wrapper.eq("uid",uid);
        }
        List<BaojigroupUsr> usrList=bjUsrmapper.selectList(wrapper);
        if(usrList.size()==0){
            return new Response().setII(1,null,null,"当前用户未加入包机组");
        }
        List<Integer> baojiIdList=usrList.stream().map(BaojigroupUsr::getBaojiId).collect(Collectors.toList());
        List<UserInf> list=userInfMapper.getBaojiUserByUid(baojiIdList);
        return new Response().setII(1,list!=null,list,"当前用户所在包机组下所有的用户(下拉)");
    }
}