From eb49564ab17c6695d8928d5a63a57c58b3cfd79c Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期三, 11 十二月 2024 18:21:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java |  169 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 159 insertions(+), 10 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 32c7945..26effca 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,32 @@
 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.core.utils.Constants;
 import com.doumee.core.utils.DateUtil;
+import com.doumee.core.utils.SmsConstants;
 import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.HiddenDangerLogMapper;
-import com.doumee.dao.business.HiddenDangerMapper;
-import com.doumee.dao.business.HiddenDangerParamMapper;
-import com.doumee.dao.business.MemberMapper;
+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.SmsConfigMapper;
+import com.doumee.dao.business.dao.SmsEmailMapper;
 import com.doumee.dao.business.model.*;
 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;
@@ -46,10 +50,16 @@
 
     @Autowired
     private HiddenDangerMapper hiddenDangerMapper;
+
     @Autowired
     private MultifileMapper multifileMapper;
+
     @Autowired
     private SystemDictDataBiz systemDictDataBiz;
+
+    @Autowired
+    private SystemUserMapper systemUserMapper;
+
     @Autowired
     private MemberMapper memberMapper;
 
@@ -62,6 +72,20 @@
 
     @Autowired
     private NoticesJoinMapper noticesJoinMapper;
+
+
+    @Autowired
+    private SmsConfigMapper smsConfigMapper;
+
+    @Autowired
+    private SmsEmailMapper smsEmailMapper;
+
+    @Autowired
+    private EmayService emayService;
+
+    @Autowired
+    private WxNoticeConfigMapper wxNoticeConfigMapper;
+
 
     @Override
     public Integer create(HiddenDanger hiddenDanger) {
@@ -77,6 +101,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());
@@ -89,6 +117,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);
@@ -124,7 +153,7 @@
                 multifileMapper.insert(multifile);
             }
         }
-        String title = "銆愰殣鎮i殢鎵嬫媿銆戞彁鎶ヤ汉 - "+hiddenDanger.getLoginUserInfo().getRealname();
+        String title = "[闅愭偅闅忔墜鎷峕鎻愭姤浜�-"+hiddenDanger.getLoginUserInfo().getRealname();
         //json鏁版嵁
         Map<String,Object> jsonMap = new HashMap<>();
         jsonMap.put("area", "鍙戠幇鍖哄煙:" + hiddenDangerParam.getName());
@@ -167,6 +196,42 @@
         noticesJoinMapper.insert(notices);
 
 
+        if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getPhone())){
+            //鍙戦�佺煭淇¢�氱煡
+            SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz,
+                    emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(),
+                    SmsConstants.hiddenDangerContent.hiddenDangerDealUser,
+                    Arrays.asList(member.getPhone().split(","))
+            );
+        }
+
+        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();
     }
 
@@ -213,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");
 
@@ -293,11 +360,26 @@
                 .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();
+
+        if(userInfo!=null && userInfo.getCompanyIdList()!=null){
+            if(  userInfo.getCompanyIdList().size() ==0){
+                //鍙兘鐪嬭嚜宸�
+                queryWrapper.eq(HiddenDanger::getCreator,userInfo.getId());
+            }else{
+                queryWrapper.in("t1.company_id" ,userInfo.getCompanyIdList());
+            }
+        }
+        //鏁版嵁鏉冮檺寮�濮�--------------------end----------------
         queryWrapper
                 .eq(pageWrap.getModel().getId() != null, HiddenDanger::getId, pageWrap.getModel().getId())
                 .eq(pageWrap.getModel().getCreator() != null, HiddenDanger::getCreator, pageWrap.getModel().getCreator())
@@ -320,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()))
@@ -354,6 +437,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);
@@ -370,10 +459,36 @@
                 .set(Notices::getReaded,Constants.ONE)
                 .set(Notices::getStatus,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())
         );
+
+        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)){
+            if(Objects.nonNull(memberUser) && StringUtils.isNotBlank(memberUser.getMobile())){
+                //鍙戦�佺煭淇¢�氱煡
+                SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz,
+                        emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(),
+                        SmsConstants.hiddenDangerContent.hiddenDangerDealOver,
+                        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(",")));
+        }
 
     }
 
@@ -486,6 +601,11 @@
         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(),"鏈煡璇㈠埌闅愭偅绫诲瀷");
+        }
+        hiddenDanger.setCategoryName(hiddenDangerCate.getName());
         hiddenDanger.setEditor(hiddenDanger.getLoginUserInfo().getId());
         hiddenDanger.setEditDate(new Date());
         hiddenDangerMapper.updateById(hiddenDanger);
@@ -523,6 +643,35 @@
             notices.setInfo("寰�"+member.getName()+"澶勭悊");
             noticesJoinMapper.updateById(notices);
         }
+
+        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());
+        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(checkUser.getMobile().split(","))
+            );
+        }
+
+        //澶勭悊浜虹殑寰俊鍏紬鍙烽�氱煡
+        if(Objects.nonNull(checkUser)&&StringUtils.isNotBlank(checkUser.getOpenid())){
+            WxPlatNotice wxPlatNotice = new WxPlatNotice();
+            wxPlatNotice.sendHiddenDangerUploadTemplateNotice(systemDictDataBiz,
+                    wxNoticeConfigMapper,hiddenDanger,
+                    WxPlatConstants.hiddenDangerContent.hiddenDangerUpload,
+                    systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_ACCESS_TOKEN).getCode(),
+                    Arrays.asList(checkUser.getOpenid().split(",")));
+        }
     }
 
 

--
Gitblit v1.9.3