From 7cdea6d16a8b9f74800792ea412ad8b51c4df7f4 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 22 十月 2024 17:48:38 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 162 insertions(+), 7 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 7b8bb07..474604d 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 @@ -1,5 +1,6 @@ package com.doumee.service.business.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -7,23 +8,28 @@ 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.dao.business.*; import com.doumee.dao.business.model.*; import com.doumee.dao.system.MultifileMapper; +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.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; @@ -40,10 +46,13 @@ @Autowired private HiddenDangerMapper hiddenDangerMapper; + @Autowired private MultifileMapper multifileMapper; + @Autowired private SystemDictDataBiz systemDictDataBiz; + @Autowired private MemberMapper memberMapper; @@ -52,6 +61,20 @@ @Autowired private HiddenDangerLogMapper hiddenDangerLogMapper; + + + @Autowired + private NoticesJoinMapper noticesJoinMapper; + + + @Autowired + private SmsConfigMapper smsConfigMapper; + + @Autowired + private SmsEmailMapper smsEmailMapper; + + @Autowired + private EmayService emayService; @Override @@ -67,12 +90,18 @@ ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } + hiddenDanger.setMemberId(hiddenDanger.getLoginUserInfo().getMemberId()); hiddenDanger.setIsdeleted(Constants.ZERO); hiddenDanger.setCreateDate(new Date()); hiddenDanger.setEditDate(new Date()); HiddenDangerParam hiddenDangerParam = hiddenDangerParamMapper.selectById(hiddenDanger.getAreaId()); if(Objects.isNull(hiddenDangerParam)){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅鍖哄煙"); + } + + HiddenDangerParam hiddenDangerCate = hiddenDangerParamMapper.selectById(hiddenDanger.getCateId()); + if(Objects.isNull(hiddenDangerCate)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅绫诲瀷"); } hiddenDanger.setCreator(hiddenDanger.getLoginUserInfo().getId()); hiddenDanger.setAreaName(hiddenDangerParam.getName()); @@ -96,7 +125,7 @@ hiddenDangerLog.setObjType(Constants.ZERO); hiddenDangerLogMapper.insert(hiddenDangerLog); - List<Multifile> multifiles = hiddenDanger.getMultifileList(); + List<Multifile> multifiles = hiddenDanger.getSubmitFileList(); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifiles)){ for (int i = 0; i < multifiles.size(); i++) { Multifile multifile = multifiles.get(i); @@ -109,6 +138,58 @@ multifileMapper.insert(multifile); } } + String title = "[闅愭偅闅忔墜鎷峕鎻愭姤浜�-"+hiddenDanger.getLoginUserInfo().getRealname(); + //json鏁版嵁 + Map<String,Object> jsonMap = new HashMap<>(); + jsonMap.put("area", "鍙戠幇鍖哄煙:" + hiddenDangerParam.getName()); + jsonMap.put("cate", "闅愭偅绫诲瀷:" + hiddenDangerCate.getName()); + jsonMap.put("sTime", "鍙戠幇鏃堕棿:" + DateUtil.DateToStr(hiddenDanger.getSubmitTime() , "yyyy-MM-dd HH:mm")); + //榛樿鐢熸垚涓�鏉� 鐢宠浜虹殑鏁版嵁 鏍囪鍒犻櫎鐘舵�佺敤浜庡鐞嗗埌 浠诲姟涓績锛堟垜鍙戣捣锛変娇鐢� + Notices createNotices = new Notices(); + createNotices.setCreateDate(new Date()); + createNotices.setIsdeleted(Constants.ONE); + createNotices.setObjId(hiddenDanger.getId()); + createNotices.setObjType(Constants.THREE); + createNotices.setType(Constants.THREE); + createNotices.setTitle(title); + createNotices.setParam1(JSONObject.toJSONString(jsonMap)); + createNotices.setStatus(Constants.ZERO); + createNotices.setReaded(Constants.ZERO); + createNotices.setSendacopy(Constants.ZERO); + createNotices.setParam2("0"); + createNotices.setParam3(hiddenDanger.getLoginUserInfo().getMemberId().toString()); + createNotices.setInfo("寰�"+member.getName()+"澶勭悊"); + noticesJoinMapper.insert(createNotices); + + //瀛樺偍澶勭悊浜虹殑閫氱煡娑堟伅 + Notices notices = new Notices(); + notices.setId(null); + notices.setCreateDate(new Date()); + notices.setIsdeleted(Constants.ZERO); + notices.setTitle(title); + notices.setParam1(JSONObject.toJSONString(jsonMap)); + notices.setParam2("0"); + notices.setObjId(hiddenDanger.getId()); + notices.setObjType(Constants.THREE); + notices.setType(Constants.THREE); + notices.setEditDate(new Date()); + notices.setUserId(hiddenDanger.getCheckUserId()); + notices.setStatus(Constants.ZERO); + notices.setSendacopy(Constants.ZERO); + notices.setReaded(Constants.ZERO); + notices.setInfo("寰�"+member.getName()+"澶勭悊"); + 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(",")) + ); + } + return hiddenDanger.getId(); @@ -242,6 +323,19 @@ .leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId) .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getCateId) .leftJoin("company t4 on t1.company_id=t4.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()) @@ -263,6 +357,7 @@ .eq(pageWrap.getModel().getCheckInfo() != null, HiddenDanger::getCheckInfo, pageWrap.getModel().getCheckInfo()) .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()) .and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName()) .or().like(Member::getPhone,pageWrap.getModel().getMemberName())) @@ -307,6 +402,33 @@ hiddenDangerLog.setTitle(hiddenDanger.getStatus().equals(Constants.ONE)?"闅愭偅澶勭悊":"闅愭偅閫�鍥�"); hiddenDangerLog.setObjType(hiddenDanger.getStatus().equals(Constants.ONE)?Constants.FOUR:Constants.TWO); hiddenDangerLogMapper.insert(hiddenDangerLog); + //澶勭悊寰呭姙淇℃伅 + noticesJoinMapper.update(null,new UpdateWrapper<Notices>() + .lambda() + .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()) + ); + + if(Constants.equalsInteger(hiddenDanger.getStatus(),Constants.ONE)){ + Member member = memberMapper.selectById(hiddenDanger.getMemberId()); + if(Objects.nonNull(member) && StringUtils.isNotBlank(member.getPhone())){ + //鍙戦�佺煭淇¢�氱煡 + SmsEmailServiceImpl.sendHiddenDangerSms(systemDictDataBiz, + emayService,smsEmailMapper,smsConfigMapper,hiddenDangerMapper,hiddenDanger.getId(), + SmsConstants.hiddenDangerContent.hiddenDangerDealOver, + Arrays.asList(member.getPhone().split(",")) + ); + } + + } + + + } private void isParamValid(HiddenDanger hiddenDanger) { @@ -378,12 +500,12 @@ isTrue = true; } } - if(isTrue){ + if(!isTrue){ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇锋寜瑕佹眰濉啓澶勭悊鏁版嵁"); } } if(fileList.size()>0){ - multifileMapper.insertBatchSomeColumn(fileList); + multifileMapper.insert(fileList); } } @@ -432,6 +554,39 @@ hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId()); hiddenDangerLog.setObjType(Constants.ONE); hiddenDangerLogMapper.insert(hiddenDangerLog); + Notices notices = noticesJoinMapper.selectOne(new QueryWrapper<Notices>() + .lambda() + .eq(Notices::getObjId,hiddenDanger.getId()) + .eq(Notices::getObjType,Constants.THREE) + .eq(Notices::getUserId,hiddenDanger.getLoginUserInfo().getMemberId()) + .last(" limit 1 ") + ); + if(Objects.nonNull(notices)){ + Notices newNotices = new Notices(); + BeanUtils.copyProperties(notices,newNotices); + newNotices.setId(null); + newNotices.setCreateDate(new Date()); + newNotices.setParam2("0"); + newNotices.setUserId(hiddenDanger.getCheckUserId()); + newNotices.setInfo("寰�"+member.getName()+"澶勭悊"); + noticesJoinMapper.insert(newNotices); + notices.setStatus(Constants.ONE); + notices.setParam2("3"); + notices.setEditDate(new Date()); + notices.setReaded(Constants.ONE); + notices.setInfo("寰�"+member.getName()+"澶勭悊"); + noticesJoinMapper.updateById(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(",")) + ); + } } -- Gitblit v1.9.3