From 1c20c8231980a8d4b91688ff8641a06d3b2f68ab Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期二, 14 十月 2025 16:34:22 +0800
Subject: [PATCH] 改bug

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java |  209 ++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 187 insertions(+), 22 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
index a096272..0a6c8e1 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerParamServiceImpl.java
@@ -1,20 +1,29 @@
 package com.doumee.service.business.impl;
 
-import com.doumee.core.model.PageData;
-import com.doumee.core.model.PageWrap;
+import com.doumee.core.constants.ResponseStatus;
+import com.doumee.core.exception.BusinessException;
+import com.doumee.service.business.third.model.LoginUserInfo;
+import com.doumee.service.business.third.model.PageData;
+import com.doumee.service.business.third.model.PageWrap;
+import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.HiddenDangerParamMapper;
-import com.doumee.dao.business.model.HiddenDangerParam;
+import com.doumee.dao.business.dao.MemberMapper;
+import com.doumee.dao.business.model.*;
+import com.doumee.dao.business.model.Member;
 import com.doumee.service.business.HiddenDangerParamService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
-import java.util.List;
+import java.util.*;
 
 /**
  * 闅愭偅鍖哄煙閰嶇疆绫诲瀷淇℃伅琛⊿ervice瀹炵幇
@@ -23,19 +32,76 @@
  */
 @Service
 public class HiddenDangerParamServiceImpl implements HiddenDangerParamService {
-
     @Autowired
     private HiddenDangerParamMapper hiddenDangerParamMapper;
+    @Autowired
+    private MemberMapper memberMapper;
+
 
     @Override
-    public Integer create(HiddenDangerParam hiddenDangerParam) {
-        hiddenDangerParamMapper.insert(hiddenDangerParam);
-        return hiddenDangerParam.getId();
+    public Integer create(HiddenDangerParam model) {
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        if(loginUserInfo == null){
+            loginUserInfo = model.getLoginUserInfo();
+        }
+      /*  if(hiddenDangerParamMapper.selectCount(new QueryWrapper<HiddenDangerParam>().lambda()
+                .eq(HiddenDangerParam::getType,model.getType())
+                .eq(HiddenDangerParam::getName,model.getName())
+                .eq(HiddenDangerParam::getIsdeleted,Constants.ZERO)
+        )>Constants.ZERO){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ュ悕绉板凡瀛樺湪!");
+        }*/
+        if(Constants.equalsInteger(model.getType(),Constants.ZERO)){
+            //濡傛灉鏄尯鍩熼厤缃�
+            if(model.getCompanyId() == null){
+                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨璐d换閮ㄩ棬锛�");
+            }
+            List<Integer> ids = model.getMemberIdList();
+            if(ids==null || ids.size() ==0){
+                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝瀹夊叏鍛樹俊鎭笉姝g‘锛岃鎸夎姹傚~鍐欏唴瀹癸紒");
+            }
+           List<Member>  memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
+//                    .eq(Member::getType,Constants.TWO)
+                    .eq(Member::getCompanyId,model.getCompanyId())
+                    .in(Member::getId,ids)
+                    .eq(Member::getIsdeleted,Constants.ZERO));
+            if(memberList == null || memberList.size() == 0 || memberList.size() != ids.size() ){
+                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勫畨鍏ㄥ憳淇℃伅锛�");
+            }
+            String names = "";
+            String idss = "";
+            for(Member member : memberList){
+                if(StringUtils.isNotBlank(names)){
+                    names += ",";
+                }
+                if(StringUtils.isNotBlank(idss)){
+                    idss += ",";
+                }
+                names += member.getName();
+                idss += member.getId();
+            }
+            model.setMemberNames(names);
+            model.setMemberIds(idss);
+        }
+        model.setType(Constants.formatIntegerNum(model.getType()));
+        model.setCreateDate(new Date());
+        model.setCreator(loginUserInfo.getId());
+        model.setEditDate(new Date());
+        model.setEditor(loginUserInfo.getId());
+        model.setStatus(Constants.ZERO);
+        model.setIsdeleted(Constants.ZERO);
+        hiddenDangerParamMapper.insert(model);
+        return model.getId();
     }
 
     @Override
-    public void deleteById(Integer id) {
-        hiddenDangerParamMapper.deleteById(id);
+    public void deleteById(Integer id, LoginUserInfo userInfo) {
+        HiddenDangerParam  model = new HiddenDangerParam();
+        model.setEditDate(new Date());
+        model.setEditor(userInfo.getId());
+        model.setId(id);
+        model.setIsdeleted(Constants.ONE);
+        hiddenDangerParamMapper.updateById(model);
     }
 
     @Override
@@ -45,16 +111,70 @@
     }
 
     @Override
-    public void deleteByIdInBatch(List<Integer> ids) {
+    public void deleteByIdInBatch(List<Integer> ids, LoginUserInfo userInfo) {
         if (CollectionUtils.isEmpty(ids)) {
             return;
         }
-        hiddenDangerParamMapper.deleteBatchIds(ids);
+        for(Integer id :ids){
+            deleteById(id,userInfo);
+        }
     }
 
     @Override
-    public void updateById(HiddenDangerParam hiddenDangerParam) {
-        hiddenDangerParamMapper.updateById(hiddenDangerParam);
+    public void updateById(HiddenDangerParam model) {
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        if(loginUserInfo == null){
+            loginUserInfo = model.getLoginUserInfo();
+        }
+        HiddenDangerParam hiddenDangerParam = hiddenDangerParamMapper.selectById(model.getId());
+        if(hiddenDangerParam == null || Constants.equalsInteger(hiddenDangerParam.getIsdeleted(),Constants.ONE)){
+            throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璇ラ厤缃俊鎭笉瀛樺湪锛岃杩斿洖鍒锋柊椤甸潰閲嶈瘯锛�");
+        }
+    /*    if(hiddenDangerParamMapper.selectCount(new QueryWrapper<HiddenDangerParam>().lambda()
+                .eq(HiddenDangerParam::getType,model.getType())
+                .eq(HiddenDangerParam::getName,model.getName())
+                .eq(HiddenDangerParam::getIsdeleted,Constants.ZERO)
+                .ne(HiddenDangerParam::getId,model.getId())
+        )>Constants.ZERO){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ュ悕绉板凡瀛樺湪!");
+        }*/
+        if(Constants.equalsInteger(hiddenDangerParam.getType(),Constants.ZERO)){
+            //濡傛灉鏄尯鍩熼厤缃�,鏍¢獙瀹夊叏鍛樹俊鎭槸鍚︽纭�
+            if(model.getCompanyId() == null){
+                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨璐d换閮ㄩ棬锛�");
+            }
+            List<Integer> ids =model.getMemberIdList();
+            if(ids==null || ids.size() ==0){
+                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝瀹夊叏鍛樹俊鎭笉姝g‘锛岃鎸夎姹傚~鍐欏唴瀹癸紒");
+            }
+            List<Member>  memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
+                    .eq(Member::getType,Constants.TWO)
+                    .eq(Member::getCompanyId,model.getCompanyId())
+                    .in(Member::getId,ids)
+                    .eq(Member::getIsdeleted,Constants.ZERO));
+            if(memberList == null || memberList.size() == 0 || memberList.size() != ids.size() ){
+                throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇烽�夋嫨姝g‘鐨勫畨鍏ㄥ憳淇℃伅锛�");
+            }
+            String names = "";
+            String idss = "";
+            for(Member member : memberList){
+                if(StringUtils.isNotBlank(names)){
+                    names += ",";
+                }
+                if(StringUtils.isNotBlank(idss)){
+                    idss += ",";
+                }
+                names += member.getName();
+                idss += member.getId();
+            }
+            model.setMemberNames(names);
+            model.setMemberIds(idss);
+        }
+        model.setType(Constants.formatIntegerNum(model.getType()));
+        model.setEditDate(new Date());
+        model.setEditor(loginUserInfo.getId());
+        model.setStatus(Constants.ZERO);
+        hiddenDangerParamMapper.updateById(model);
     }
 
     @Override
@@ -80,25 +200,28 @@
 
     @Override
     public List<HiddenDangerParam> findList(HiddenDangerParam hiddenDangerParam) {
+
+        hiddenDangerParam.setIsdeleted(Constants.ZERO);
         QueryWrapper<HiddenDangerParam> wrapper = new QueryWrapper<>(hiddenDangerParam);
+        wrapper.lambda().orderByAsc(HiddenDangerParam::getSortnum);
         return hiddenDangerParamMapper.selectList(wrapper);
     }
   
     @Override
     public PageData<HiddenDangerParam> findPage(PageWrap<HiddenDangerParam> pageWrap) {
         IPage<HiddenDangerParam> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
-        QueryWrapper<HiddenDangerParam> queryWrapper = new QueryWrapper<>();
+        MPJLambdaWrapper<HiddenDangerParam> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
-        queryWrapper.lambda()
+        pageWrap.getModel().setIsdeleted(Constants.ZERO);
+        queryWrapper. selectAll(HiddenDangerParam.class)
+                .selectAs(Company::getCompanyNamePath,HiddenDangerParam::getCompanyName)
+                .leftJoin(Company.class,Company::getId,HiddenDangerParam::getCompanyId)
                 .eq(pageWrap.getModel().getId() != null, HiddenDangerParam::getId, pageWrap.getModel().getId())
                 .eq(pageWrap.getModel().getCreator() != null, HiddenDangerParam::getCreator, pageWrap.getModel().getCreator())
-                .ge(pageWrap.getModel().getCreateDate() != null, HiddenDangerParam::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
-                .le(pageWrap.getModel().getCreateDate() != null, HiddenDangerParam::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate()))
                 .eq(pageWrap.getModel().getEditor() != null, HiddenDangerParam::getEditor, pageWrap.getModel().getEditor())
-                .ge(pageWrap.getModel().getEditDate() != null, HiddenDangerParam::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate()))
-                .le(pageWrap.getModel().getEditDate() != null, HiddenDangerParam::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate()))
                 .eq(pageWrap.getModel().getIsdeleted() != null, HiddenDangerParam::getIsdeleted, pageWrap.getModel().getIsdeleted())
-                .eq(pageWrap.getModel().getName() != null, HiddenDangerParam::getName, pageWrap.getModel().getName())
+                .like(pageWrap.getModel().getName() != null, HiddenDangerParam::getName, pageWrap.getModel().getName())
+                .like(pageWrap.getModel().getCompanyName() != null, Company::getName, pageWrap.getModel().getCompanyName())
                 .eq(pageWrap.getModel().getRemark() != null, HiddenDangerParam::getRemark, pageWrap.getModel().getRemark())
                 .eq(pageWrap.getModel().getStatus() != null, HiddenDangerParam::getStatus, pageWrap.getModel().getStatus())
                 .eq(pageWrap.getModel().getSortnum() != null, HiddenDangerParam::getSortnum, pageWrap.getModel().getSortnum())
@@ -106,6 +229,9 @@
                 .eq(pageWrap.getModel().getMemberIds() != null, HiddenDangerParam::getMemberIds, pageWrap.getModel().getMemberIds())
                 .eq(pageWrap.getModel().getMemberNames() != null, HiddenDangerParam::getMemberNames, pageWrap.getModel().getMemberNames())
                 .eq(pageWrap.getModel().getType() != null, HiddenDangerParam::getType, pageWrap.getModel().getType())
+                .orderByAsc(HiddenDangerParam::getSortnum)
+                .orderByDesc(HiddenDangerParam::getCreateDate)
+                .eq( HiddenDangerParam::getIsdeleted, Constants.ZERO)
         ;
         for(PageWrap.SortData sortData: pageWrap.getSorts()) {
             if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
@@ -114,7 +240,9 @@
                 queryWrapper.orderByAsc(sortData.getProperty());
             }
         }
-        return PageData.from(hiddenDangerParamMapper.selectPage(page, queryWrapper));
+        PageData<HiddenDangerParam> result = PageData.from(hiddenDangerParamMapper.selectJoinPage(page,HiddenDangerParam.class, queryWrapper));
+
+        return result;
     }
 
     @Override
@@ -122,4 +250,41 @@
         QueryWrapper<HiddenDangerParam> wrapper = new QueryWrapper<>(hiddenDangerParam);
         return hiddenDangerParamMapper.selectCount(wrapper);
     }
+    @Override
+    public   List<Member> findHiddenAreaMemberList(HiddenDangerParam pageWrap) {
+        HiddenDangerParam hiddenDangerParam = new HiddenDangerParam();
+        hiddenDangerParam.setIsdeleted(Constants.ZERO);
+        if(Objects.nonNull(pageWrap.getId())){
+            hiddenDangerParam.setId(pageWrap.getId());
+        }
+        QueryWrapper<HiddenDangerParam> wrapper = new QueryWrapper<>(hiddenDangerParam);
+        List<HiddenDangerParam> list = hiddenDangerParamMapper.selectList(wrapper);
+        List<Member> memberList = new ArrayList<>();
+        if(list!=null){
+            List<Integer> idList = new ArrayList<>();
+            for(HiddenDangerParam m : list){
+                String ids = m.getMemberIds();
+                if(StringUtils.isNotBlank(ids)){
+                    String[] t = ids.split(",");
+                    for(String d : t){
+                        try {
+                            idList.add(Integer.parseInt(d));
+                        }catch (Exception e){}
+                    }
+                }
+            }
+            if(idList.size()>0){
+                memberList = memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>().
+                        selectAll(Member.class)
+                        .selectAs(Company::getCompanyNamePath,Member::getCompanyName)
+                        .leftJoin(Company.class, Company::getId,Member::getCompanyId)
+                        .eq(Member::getType,Constants.TWO)
+                        .eq(Member::getIsdeleted,Constants.ZERO)
+                        .like(StringUtils.isNotBlank(pageWrap.getName()),Member::getName,pageWrap.getName())
+                        .in(Member::getId,idList)
+                );
+            }
+        }
+        return memberList;
+    }
 }

--
Gitblit v1.9.3