From ee8ac99608f610b82cbe8186dc4a30fa7d65ccd3 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 06 三月 2025 10:49:29 +0800
Subject: [PATCH] 代码初始化

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java |  200 ++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 185 insertions(+), 15 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
index 2054ba1..aa262d1 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java
@@ -8,9 +8,12 @@
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
-import com.doumee.core.model.LoginUserInfo;
-import com.doumee.core.model.PageData;
-import com.doumee.core.model.PageWrap;
+import com.doumee.dao.business.dao.*;
+import com.doumee.dao.business.vo.GeneralDataVO;
+import com.doumee.dao.business.vo.HiddenDangerDataVO;
+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.DateUtil;
 import com.doumee.core.utils.SmsConstants;
@@ -18,9 +21,6 @@
 import com.doumee.core.wx.wxPlat.WxPlatConstants;
 import com.doumee.core.wx.wxPlat.WxPlatNotice;
 import com.doumee.dao.business.*;
-import com.doumee.dao.business.dao.MemberMapper;
-import com.doumee.dao.business.dao.SmsConfigMapper;
-import com.doumee.dao.business.dao.SmsEmailMapper;
 import com.doumee.dao.business.model.*;
 import com.doumee.dao.business.model.Member;
 import com.doumee.dao.system.MultifileMapper;
@@ -40,7 +40,9 @@
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 
+import java.math.BigDecimal;
 import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * 闅愭偅淇℃伅琛⊿ervice瀹炵幇
@@ -70,6 +72,11 @@
 
     @Autowired
     private HiddenDangerLogMapper hiddenDangerLogMapper;
+    @Autowired
+    private UserActionMapper userActionMapper;
+
+    @Autowired
+    private CompanyMapper companyMapper;
 
 
     @Autowired
@@ -239,6 +246,51 @@
     public void deleteById(Integer id) {
         hiddenDangerMapper.deleteById(id);
     }
+    @Override
+    public void deleteById(Integer id,LoginUserInfo user) {
+        if( Objects.isNull(id)   ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        HiddenDanger model = hiddenDangerMapper.selectJoinOne(HiddenDanger.class,new MPJLambdaWrapper<HiddenDanger>()
+                .selectAll(HiddenDanger.class)
+                .selectAs(Member::getName,HiddenDanger::getCheckorName)
+                .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
+                .eq(HiddenDanger::getId,id)
+                .eq(HiddenDanger::getIsdeleted,Constants.ZERO)
+        );
+        if(Objects.isNull(model)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅鏁版嵁");
+        }
+       /* if (!Constants.equalsInteger(model.getStatus(),Constants.ZERO)) {
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�佸凡娴佽浆,璇峰埛鏂版煡鐪�!");
+        }*/
+        HiddenDanger hiddenDanger  = new HiddenDanger();
+        hiddenDanger.setIsdeleted(Constants.ONE);
+        hiddenDanger.setId(id);
+        hiddenDanger.setEditor(user.getId());
+        Date date =new Date();
+
+        hiddenDanger.setEditDate(date);
+        hiddenDangerMapper.updateById(hiddenDanger);
+        //瀛樺偍 鎿嶄綔鏃ュ織
+        HiddenDangerLog hiddenDangerLog = new HiddenDangerLog();
+        hiddenDangerLog.setIsdeleted(Constants.ZERO);
+        hiddenDangerLog.setCreateDate(date);
+        hiddenDangerLog.setCreator(hiddenDanger.getEditor());
+        hiddenDangerLog.setEditDate(hiddenDangerLog.getCreateDate());
+        hiddenDangerLog.setEditor(hiddenDanger.getCreator());
+        hiddenDangerLog.setTitle("鐢便��"+user.getRealname()+"銆戝垹闄よ褰�");
+        hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId());
+        hiddenDangerLog.setObjType(Constants.FIVE);
+        hiddenDangerLogMapper.insert(hiddenDangerLog);
+
+        String[] params = new String[3];
+        params[0] = user.getRealname();
+        params[1]=DateUtil.getPlusTime2(date);
+        params[2]=model.getAreaName()+"-銆�"+model.getContent()+"銆�";
+        //璁板綍鍒犻櫎鏃ュ織
+        UserActionServiceImpl.saveUserActionBiz(user,id,Constants.UserActionType.HIDEN_DANGER_DEL,userActionMapper,date,params,JSONObject.toJSONString(model));
+    }
 
     @Override
     public void delete(HiddenDanger hiddenDanger) {
@@ -286,7 +338,9 @@
                 .leftJoin("company t4 on t1.company_id=t4.id")
                 .leftJoin("company t5 on t2.company_id=t5.id");
         queryWrapper
-                .eq(HiddenDanger::getId, id).last("limit 1");
+                .eq(HiddenDanger::getId, id)
+                .eq(HiddenDanger::getIsdeleted, Constants.ZERO)
+                .last("limit 1");
 
         HiddenDanger model =  hiddenDangerMapper.selectJoinOne(HiddenDanger.class,queryWrapper);
         if(model ==null || Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){
@@ -311,6 +365,17 @@
             for(Multifile f : multifiles){
                 if(StringUtils.isBlank(f.getFileurl())){
                     continue;
+                }
+                if(f.getType() == null){
+                    if(StringUtils.endsWithIgnoreCase(f.getFileurl(),".mp4")){
+                        f.setType(Constants.ONE);
+                    }else if(StringUtils.endsWithIgnoreCase(f.getFileurl(),".jpg")
+                            ||StringUtils.endsWithIgnoreCase(f.getFileurl(),".jpeg")
+                            ||StringUtils.endsWithIgnoreCase(f.getFileurl(),".png")){
+                        f.setType(Constants.ZERO);
+                    }else{
+                        f.setType(Constants.TWO);
+                    }
                 }
                 f.setFileurlFull(path+f.getFileurl());
                 if(Constants.equalsInteger(f.getObjType(),Constants.MultiFile.HIDDEN_DANGER_SUBMIT.getKey())){
@@ -354,6 +419,7 @@
         IPage<HiddenDanger> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
         MPJLambdaWrapper<HiddenDanger> queryWrapper = new MPJLambdaWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
+        pageWrap.getModel().setIsdeleted(Constants.ZERO);
         queryWrapper.selectAll(HiddenDanger.class)
                 .selectAs(HiddenDangerParam::getName,HiddenDanger::getCategoryName)
                 .select("t1.name", HiddenDanger::getMemberName)
@@ -374,7 +440,10 @@
         if(userInfo!=null && userInfo.getCompanyIdList()!=null){
             if(  userInfo.getCompanyIdList().size() ==0){
                 //鍙兘鐪嬭嚜宸�
-                queryWrapper.eq(HiddenDanger::getCreator,userInfo.getId());
+                queryWrapper.and(w->{
+                    w.eq(HiddenDanger::getCreator,userInfo.getId()).or().
+                    eq(HiddenDanger::getCheckUserId,userInfo.getMemberId());
+                });
             }else{
                 queryWrapper.in("t1.company_id" ,userInfo.getCompanyIdList());
             }
@@ -406,8 +475,8 @@
 
                 .and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName())
                         .or().like(Member::getPhone,pageWrap.getModel().getMemberName()))
-                .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), Empower::getCreateDate,pageWrap.getModel().getQueryStartTime())
-                .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),Empower::getCreateDate,pageWrap.getModel().getQueryEndTime())
+                .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), HiddenDanger::getCreateDate,pageWrap.getModel().getQueryStartTime())
+                .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),HiddenDanger::getCreateDate,pageWrap.getModel().getQueryEndTime())
                 .orderByDesc(Visits::getCreateDate)
         ;
         for(PageWrap.SortData sortData: pageWrap.getSorts()) {
@@ -436,6 +505,9 @@
         hiddenDanger.setCheckDate(hiddenDanger.getEditDate());
         hiddenDangerMapper.updateById(hiddenDanger);
         HiddenDanger model = hiddenDangerMapper.selectById(hiddenDanger.getId());
+        if(Objects.isNull(model) ||Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY );
+        }
         HiddenDangerParam hiddenDangerCate = hiddenDangerParamMapper.selectById(model.getCateId());
         if(Objects.isNull(hiddenDangerCate)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅绫诲瀷");
@@ -456,12 +528,20 @@
                 .lambda()
                 .set(Notices::getReaded,Constants.ONE)
                 .set(Notices::getStatus,Constants.ONE)
+                .set(Notices::getInfo,hiddenDanger.getStatus().equals(Constants.ONE)?"宸叉暣鏀�":"宸查��鍥�")
                 .set(Notices::getParam2,hiddenDanger.getStatus())
                 .set(Notices::getParam4,hiddenDanger.getLoginUserInfo().getMemberId())
                 .eq(Notices::getObjId,hiddenDanger.getId())
                 .eq(Notices::getObjType,Constants.THREE)
-                .eq(Notices::getUserId,hiddenDanger.getLoginUserInfo().getMemberId())
-        );
+                .eq(Notices::getUserId,hiddenDanger.getLoginUserInfo().getMemberId()));
+        //鍙戣捣浜轰唬鍔炴爣棰樹慨鏀逛负澶勭悊缁撴灉
+        noticesJoinMapper.update(null,new UpdateWrapper<Notices>()
+                .lambda()
+                .set(Notices::getInfo,hiddenDanger.getStatus().equals(Constants.ONE)?"宸叉暣鏀�":"宸查��鍥�")
+                .set(Notices::getParam2,hiddenDanger.getStatus())
+                .eq(Notices::getObjId,hiddenDanger.getId())
+                .eq(Notices::getObjType,Constants.THREE)
+                .eq(Notices::getParam3,hiddenDanger.getMemberId().toString()) );
 
         SystemUser memberUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
                 .eq(SystemUser::getDeleted, Constants.ZERO)
@@ -500,7 +580,7 @@
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
         HiddenDanger model = hiddenDangerMapper.selectById(hiddenDanger.getId());
-        if(Objects.isNull(model)){
+        if(Objects.isNull(model) ||Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅鏁版嵁");
         }
         if (!model.getStatus().equals(Constants.ZERO)) {
@@ -512,6 +592,7 @@
         if(!(hiddenDanger.getStatus().equals(Constants.ONE)||hiddenDanger.getStatus().equals(Constants.TWO))){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�侀敊璇�,璇峰埛鏂版煡鐪嬶紒");
         }
+        hiddenDanger.setMemberId(model.getMemberId());//鍙戣捣浜�
     }
 
     private void dealFileBiz(HiddenDanger hiddenDanger) {//鏁存敼鍓嶆枃浠�
@@ -525,9 +606,21 @@
                 if(StringUtils.isBlank(multifile.getFileurl())){
                     continue;
                 }
+                multifile.setId(null);
                 multifile.setCreateDate(new Date());
                 multifile.setCreator(hiddenDanger.getEditor());
                 multifile.setIsdeleted(Constants.ZERO);
+                if(multifile.getType() == null){
+                    if(StringUtils.endsWithIgnoreCase(multifile.getFileurl(),".mp4")){
+                        multifile.setType(Constants.ONE);
+                    }else if(StringUtils.endsWithIgnoreCase(multifile.getFileurl(),".jpg")
+                    ||StringUtils.endsWithIgnoreCase(multifile.getFileurl(),".jpeg")
+                    ||StringUtils.endsWithIgnoreCase(multifile.getFileurl(),".png")){
+                        multifile.setType(Constants.ZERO);
+                    }else{
+                        multifile.setType(Constants.TWO);
+                    }
+                }
                 multifile.setObjId(hiddenDanger.getId());
                 multifile.setCreator(hiddenDanger.getLoginUserInfo().getId());
                 multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey());
@@ -538,6 +631,11 @@
             if(hiddenDanger.getStatus().equals(Constants.ONE) && !isTrue){
                 throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇锋寜瑕佹眰濉啓澶勭悊鏁版嵁");
             }
+            multifileMapper.update(null,new UpdateWrapper<Multifile>().lambda()
+                    .set(Multifile::getIsdeleted,Constants.ONE )
+                    .eq(Multifile::getObjType,Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey())
+                    .eq(Multifile::getObjId,hiddenDanger.getId())
+            );
         }
         if(hiddenDanger.getStatus().equals(Constants.ONE)){
             boolean isTrue = false;
@@ -548,6 +646,7 @@
                     if(StringUtils.isBlank(multifile.getFileurl())){
                         continue;
                     }
+                    multifile.setId(null);
                     multifile.setCreateDate(new Date());
                     multifile.setCreator(hiddenDanger.getEditor());
                     multifile.setIsdeleted(Constants.ZERO);
@@ -582,8 +681,9 @@
                 .selectAll(HiddenDanger.class)
                 .selectAs(Member::getName,HiddenDanger::getCheckorName)
                         .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
-                .eq(HiddenDanger::getId,hiddenDanger.getId()));
-        if(Objects.isNull(model)){
+                .eq(HiddenDanger::getId,hiddenDanger.getId())
+        );
+        if(Objects.isNull(model) ||Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅鏁版嵁");
         }
         if (!Constants.equalsInteger(model.getStatus(),Constants.ZERO)) {
@@ -676,4 +776,74 @@
     }
 
 
+    /**
+     * 闅忔墜鎷嶇粺璁℃暟鎹�
+     */
+    @Override
+    public HiddenDangerDataVO hiddenDangerData(HiddenDanger hiddenDanger){
+        HiddenDangerDataVO hiddenDangerDataVO = new HiddenDangerDataVO();
+        List<HiddenDanger> hiddenDangerAllList = hiddenDangerMapper.selectJoinList(HiddenDanger.class,
+                new MPJLambdaWrapper<HiddenDanger>()
+                        .selectAll(HiddenDanger.class)
+                .selectAs(HiddenDangerParam::getCompanyId, HiddenDanger::getAreaCompanyId)
+                .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getAreaId) //闅愭偅鍖哄煙
+                .eq(Objects.nonNull(hiddenDanger.getStatus()),HiddenDanger::getStatus,hiddenDanger.getStatus())
+                .ge(Objects.nonNull(hiddenDanger.getQueryStartTime()), HiddenDanger::getCreateDate,hiddenDanger.getQueryStartTime())
+                .le(Objects.nonNull(hiddenDanger.getQueryEndTime()),HiddenDanger::getCreateDate,hiddenDanger.getQueryEndTime())
+        );
+        hiddenDangerDataVO.setTotal(hiddenDangerAllList.size());
+        if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerAllList)){
+            List<Integer> cateList =  hiddenDangerAllList.stream().map(i->i.getCateId()).collect(Collectors.toList());
+            //鍏ㄩ儴闅愭偅鍒嗙被鏁版嵁
+            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(cateList)){
+                List<GeneralDataVO> cateGeneralDataList = new ArrayList<>();
+                Set<Integer> cateSetList = new HashSet<>(cateList);
+                List<HiddenDangerParam> hiddenDangerParamList = hiddenDangerParamMapper.selectList(new QueryWrapper<HiddenDangerParam>()
+                        .lambda().eq(HiddenDangerParam::getIsdeleted,Constants.ZERO).eq(HiddenDangerParam::getType,Constants.ONE));
+                for (Integer cateId:cateSetList) {
+                    Optional<HiddenDangerParam> optionalHiddenDanger = hiddenDangerParamList.stream().filter(i->Constants.equalsInteger(i.getId(),cateId)).findAny();
+                    if(optionalHiddenDanger.isPresent()){
+                        GeneralDataVO generalDataVO = new GeneralDataVO();
+                        HiddenDangerParam hiddenDangerParam = optionalHiddenDanger.get();
+                        Integer total = hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getCateId(),hiddenDangerParam.getId())).collect(Collectors.toList()).size();
+                        generalDataVO.setName(hiddenDangerParam.getName());
+                        generalDataVO.setTotal(total);
+                        generalDataVO.setRata(
+                                    Constants.equalsInteger(total,Constants.ZERO)?
+                                        BigDecimal.ZERO:new BigDecimal(total.toString()).divide(new BigDecimal(hiddenDangerDataVO.getTotal().toString()),2).multiply(new BigDecimal("100"))
+                                );
+                        cateGeneralDataList.add(generalDataVO);
+                    }
+                }
+                hiddenDangerDataVO.setCateList(cateGeneralDataList);
+            }
+            //鍏ㄩ儴闅愭偅鍖哄煙閮ㄩ棬鏁版嵁
+            List<Integer> companyIdList =  hiddenDangerAllList.stream().map(i->i.getAreaCompanyId()).collect(Collectors.toList());
+            if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(companyIdList)){
+                List<GeneralDataVO> companyGeneralDataList = new ArrayList<>();
+                Set<Integer> companyIdSetList = new HashSet<>(companyIdList);
+                List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>()
+                        .lambda().eq(Company::getIsdeleted,Constants.ZERO));
+                for (Integer companyId:companyIdSetList) {
+                    Optional<Company> optionalCompany = companyList.stream().filter(i->Constants.equalsInteger(i.getId(),companyId)).findAny();
+                    if(optionalCompany.isPresent()){
+                        GeneralDataVO generalDataVO = new GeneralDataVO();
+                        Company company = optionalCompany.get();
+                        Integer total = hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getAreaCompanyId(),company.getId())).collect(Collectors.toList()).size();
+                        generalDataVO.setName(company.getName());
+                        generalDataVO.setTotal(total);
+                        companyGeneralDataList.add(generalDataVO);
+                    }
+                }
+                hiddenDangerDataVO.setDepartmentList(companyGeneralDataList);
+            }
+        }
+
+        return hiddenDangerDataVO;
+    }
+
+
+
+
+
 }

--
Gitblit v1.9.3