From f63d3a3be83fea258e7920efccd2567b6a511bb3 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 16 一月 2025 16:52:46 +0800
Subject: [PATCH] 最新版本541200007

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java |  131 +++++++++++++++++++++++++++++++++++++------
 1 files changed, 112 insertions(+), 19 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 474604d..7c3ed15 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,28 +8,34 @@
 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.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;
 import com.doumee.core.utils.Utils;
+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;
+
+import com.doumee.dao.system.SystemUserMapper;
 import com.doumee.dao.system.join.NoticesJoinMapper;
 import com.doumee.dao.system.model.Multifile;
 import com.doumee.dao.system.model.Notices;
-import com.doumee.service.business.HiddenDangerLogService;
+import com.doumee.dao.system.model.SystemUser;
 import com.doumee.service.business.HiddenDangerService;
 import com.doumee.service.business.third.EmayService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.apache.commons.lang3.StringUtils;
-import org.checkerframework.checker.units.qual.C;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Bean;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
@@ -54,6 +60,9 @@
     private SystemDictDataBiz systemDictDataBiz;
 
     @Autowired
+    private SystemUserMapper systemUserMapper;
+
+    @Autowired
     private MemberMapper memberMapper;
 
     @Autowired
@@ -76,6 +85,9 @@
     @Autowired
     private EmayService emayService;
 
+    @Autowired
+    private WxNoticeConfigMapper wxNoticeConfigMapper;
+
 
     @Override
     public Integer create(HiddenDanger hiddenDanger) {
@@ -91,6 +103,10 @@
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
         }
         hiddenDanger.setMemberId(hiddenDanger.getLoginUserInfo().getMemberId());
+        Member createMember = memberMapper.selectById(hiddenDanger.getMemberId());
+        if(Objects.isNull(createMember)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍒涘缓浜轰俊鎭�");
+        }
         hiddenDanger.setIsdeleted(Constants.ZERO);
         hiddenDanger.setCreateDate(new Date());
         hiddenDanger.setEditDate(new Date());
@@ -103,6 +119,7 @@
         if(Objects.isNull(hiddenDangerCate)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅绫诲瀷");
         }
+        hiddenDanger.setCategoryName(hiddenDangerCate.getName());
         hiddenDanger.setCreator(hiddenDanger.getLoginUserInfo().getId());
         hiddenDanger.setAreaName(hiddenDangerParam.getName());
         hiddenDanger.setStatus(Constants.ZERO);
@@ -190,8 +207,31 @@
             );
         }
 
+        WxPlatNotice wxPlatNotice = new WxPlatNotice();
+        SystemUser systemUser = systemUserMapper.selectById(hiddenDanger.getLoginUserInfo().getId());
+        hiddenDanger.setMemberName(systemUser.getRealname());
+        //鎻愪氦浜虹殑寰俊鍏紬鍙烽�氱煡
+        if(Objects.nonNull(systemUser)&&StringUtils.isNotBlank(systemUser.getOpenid())){
+            wxPlatNotice.sendHiddenDangerUploadTemplateNotice(systemDictDataBiz,
+                    wxNoticeConfigMapper,hiddenDanger,
+                    WxPlatConstants.hiddenDangerContent.hiddenDangerUpload,
+                    systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+                    Arrays.asList(systemUser.getOpenid().split(",")));
+        }
 
+        SystemUser checkUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+                .eq(SystemUser::getDeleted, Constants.ZERO)
+                .eq(SystemUser::getMemberId,hiddenDanger.getCheckUserId())
+                .last(" limit 1 "));
 
+        //澶勭悊浜虹殑寰俊鍏紬鍙烽�氱煡
+        if(Objects.nonNull(checkUser)&&StringUtils.isNotBlank(checkUser.getOpenid())){
+            wxPlatNotice.sendHiddenDangerUploadTemplateNotice(systemDictDataBiz,
+                    wxNoticeConfigMapper,hiddenDanger,
+                    WxPlatConstants.hiddenDangerContent.hiddenDangerUpload,
+                    systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+                    Arrays.asList(checkUser.getOpenid().split(",")));
+        }
         return hiddenDanger.getId();
     }
 
@@ -238,11 +278,13 @@
                 .select("t1.phone",HiddenDanger::getMemberPhone)
                 .select("t2.name",HiddenDanger::getCheckorName)
                 .select("t2.phone",HiddenDanger::getCheckorPhone)
+                .select("t5.company_name_path",HiddenDanger::getDutyCompanyName)
                 .select("t4.company_name_path",HiddenDanger::getCompanyName);
         queryWrapper.leftJoin(Member.class,Member::getId,HiddenDanger::getMemberId)
                 .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
                 .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getCateId)
-                .leftJoin("company t4 on t1.company_id=t4.id");
+                .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");
 
@@ -318,11 +360,13 @@
                 .select("t1.phone",HiddenDanger::getMemberPhone)
                 .select("t2.name",HiddenDanger::getCheckorName)
                 .select("t2.phone",HiddenDanger::getCheckorPhone)
+                .select("t5.company_name_path",HiddenDanger::getDutyCompanyName)
                 .select("t4.company_name_path",HiddenDanger::getCompanyName);
         queryWrapper.leftJoin(Member.class,Member::getId,HiddenDanger::getMemberId)
                 .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
                 .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getCateId)
-                .leftJoin("company t4 on t1.company_id=t4.id");
+                .leftJoin("company t4 on t1.company_id=t4.id")
+                .leftJoin("company t5 on t2.company_id=t5.id");
 
         //鏁版嵁鏉冮檺寮�濮�--------------------start----------------
         LoginUserInfo userInfo =pageWrap.getModel().getLoginUserInfo();
@@ -358,6 +402,7 @@
                 .eq(pageWrap.getModel().getCheckUserId() != null, HiddenDanger::getCheckUserId, pageWrap.getModel().getCheckUserId())
                 .eq(pageWrap.getModel().getAreaName() != null, HiddenDanger::getAreaName, pageWrap.getModel().getAreaName())
                 .like(pageWrap.getModel().getCompanyName() != null,"t4.company_name_path",pageWrap.getModel().getCompanyName())
+                .like(pageWrap.getModel().getDutyCompanyName() != null,"t5.company_name_path",pageWrap.getModel().getDutyCompanyName())
 
                 .and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName())
                         .or().like(Member::getPhone,pageWrap.getModel().getMemberName()))
@@ -381,8 +426,6 @@
         return hiddenDangerMapper.selectCount(wrapper);
     }
 
-
-
     @Override
     @Transactional(rollbackFor = {Exception.class,BusinessException.class})
     public void dealHiddenDanger(HiddenDanger hiddenDanger){
@@ -392,6 +435,12 @@
         hiddenDanger.setEditDate(new Date());
         hiddenDanger.setCheckDate(hiddenDanger.getEditDate());
         hiddenDangerMapper.updateById(hiddenDanger);
+        HiddenDanger model = hiddenDangerMapper.selectById(hiddenDanger.getId());
+        HiddenDangerParam hiddenDangerCate = hiddenDangerParamMapper.selectById(model.getCateId());
+        if(Objects.isNull(hiddenDangerCate)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅绫诲瀷");
+        }
+        model.setCategoryName(hiddenDangerCate.getName());
         //瀛樺偍 鎿嶄綔鏃ュ織
         HiddenDangerLog hiddenDangerLog = new HiddenDangerLog();
         hiddenDangerLog.setIsdeleted(Constants.ZERO);
@@ -414,20 +463,30 @@
                 .eq(Notices::getUserId,hiddenDanger.getLoginUserInfo().getMemberId())
         );
 
+        SystemUser memberUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+                .eq(SystemUser::getDeleted, Constants.ZERO)
+                .eq(SystemUser::getMemberId,model.getMemberId()));
         if(Constants.equalsInteger(hiddenDanger.getStatus(),Constants.ONE)){
-            Member member = memberMapper.selectById(hiddenDanger.getMemberId());
-            if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getPhone())){
+            if(Objects.nonNull(memberUser) && StringUtils.isNotBlank(memberUser.getMobile())){
                 //鍙戦�佺煭淇¢�氱煡
                 SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz,
                         emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(),
                         SmsConstants.hiddenDangerContent.hiddenDangerDealOver,
-                        Arrays.asList(member.getPhone().split(","))
+                        Arrays.asList(memberUser.getMobile().split(","))
                 );
             }
-
         }
-
-
+        model.setCheckorName(hiddenDanger.getLoginUserInfo().getRealname());
+        model.setMemberName(memberUser.getRealname());
+        //澶勭悊浜虹殑寰俊鍏紬鍙烽�氱煡
+        if(Objects.nonNull(memberUser)&&StringUtils.isNotBlank(memberUser.getOpenid())){
+            WxPlatNotice wxPlatNotice = new WxPlatNotice();
+            wxPlatNotice.sendHiddenDangerDealTemplateNotice(systemDictDataBiz,
+                    wxNoticeConfigMapper,model,
+                    WxPlatConstants.hiddenDangerContent.hiddenDangerDeal,
+                    systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+                    Arrays.asList(memberUser.getOpenid().split(",")));
+        }
 
     }
 
@@ -466,6 +525,7 @@
                 if(StringUtils.isBlank(multifile.getFileurl())){
                     continue;
                 }
+                multifile.setId(null);
                 multifile.setCreateDate(new Date());
                 multifile.setCreator(hiddenDanger.getEditor());
                 multifile.setIsdeleted(Constants.ZERO);
@@ -479,6 +539,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())
+                    .set(Multifile::getObjId,hiddenDanger.getId())
+            );
         }
         if(hiddenDanger.getStatus().equals(Constants.ONE)){
             boolean isTrue = false;
@@ -489,6 +554,7 @@
                     if(StringUtils.isBlank(multifile.getFileurl())){
                         continue;
                     }
+                    multifile.setId(null);
                     multifile.setCreateDate(new Date());
                     multifile.setCreator(hiddenDanger.getEditor());
                     multifile.setIsdeleted(Constants.ZERO);
@@ -540,6 +606,12 @@
         if(member == null || !Constants.equalsInteger(member.getType(), Constants.TWO) || Constants.equalsInteger(Constants.ONE,member.getIsdeleted())){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝杞氦浜轰俊鎭笉瀛樺湪锛岃鍒锋柊椤甸潰閲嶈瘯锛�");
         }
+        HiddenDangerParam hiddenDangerCate = hiddenDangerParamMapper.selectById(model.getCateId());
+        if(Objects.isNull(hiddenDangerCate)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅绫诲瀷");
+        }
+        model.setCategoryName(hiddenDangerCate.getName());
+        hiddenDanger.setCategoryName(hiddenDangerCate.getName());
         hiddenDanger.setEditor(hiddenDanger.getLoginUserInfo().getId());
         hiddenDanger.setEditDate(new Date());
         hiddenDangerMapper.updateById(hiddenDanger);
@@ -559,6 +631,7 @@
                 .eq(Notices::getObjId,hiddenDanger.getId())
                 .eq(Notices::getObjType,Constants.THREE)
                 .eq(Notices::getUserId,hiddenDanger.getLoginUserInfo().getMemberId())
+                .orderByDesc(Notices::getId)
                 .last(" limit  1 ")
         );
         if(Objects.nonNull(notices)){
@@ -578,15 +651,35 @@
             noticesJoinMapper.updateById(notices);
         }
 
-
-        if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getPhone())){
+        SystemUser memberUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+                .eq(SystemUser::getDeleted, Constants.ZERO)
+                .eq(SystemUser::getMemberId,model.getMemberId()));
+        if(Objects.isNull(memberUser)||StringUtils.isBlank(memberUser.getRealname())){
+          return;
+        }
+        hiddenDanger.setMemberName(memberUser.getRealname());
+        model.setMemberName(memberUser.getRealname());
+        SystemUser checkUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+                .eq(SystemUser::getDeleted, Constants.ZERO)
+                .eq(SystemUser::getMemberId,hiddenDanger.getCheckUserId()));
+        if(Objects.nonNull(checkUser) && StringUtils.isNotBlank(checkUser.getMobile())){
             //鍙戦�佺煭淇¢�氱煡
             SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz,
                     emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(),
                     SmsConstants.hiddenDangerContent.hiddenDangerDealUser,
-                    Arrays.asList(member.getPhone().split(","))
+                    Arrays.asList(checkUser.getMobile().split(","))
             );
         }
+
+        //澶勭悊浜虹殑寰俊鍏紬鍙烽�氱煡
+        if(Objects.nonNull(checkUser)&&StringUtils.isNotBlank(checkUser.getOpenid())){
+            WxPlatNotice wxPlatNotice = new WxPlatNotice();
+            wxPlatNotice.sendHiddenDangerUploadTemplateNotice(systemDictDataBiz,
+                    wxNoticeConfigMapper,model,
+                    WxPlatConstants.hiddenDangerContent.hiddenDangerUpload,
+                    systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+                    Arrays.asList(checkUser.getOpenid().split(",")));
+        }
     }
 
 

--
Gitblit v1.9.3