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 | 179 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 167 insertions(+), 12 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 10ea27c..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()); @@ -84,10 +112,12 @@ 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.setCategoryName(hiddenDangerCate.getName()); hiddenDanger.setCreator(hiddenDanger.getLoginUserInfo().getId()); hiddenDanger.setAreaName(hiddenDangerParam.getName()); hiddenDanger.setStatus(Constants.ZERO); @@ -143,7 +173,7 @@ createNotices.setSendacopy(Constants.ZERO); createNotices.setParam2("0"); createNotices.setParam3(hiddenDanger.getLoginUserInfo().getMemberId().toString()); - createNotices.setInfo("澶勭悊涓�"); + createNotices.setInfo("寰�"+member.getName()+"澶勭悊"); noticesJoinMapper.insert(createNotices); //瀛樺偍澶勭悊浜虹殑閫氱煡娑堟伅 @@ -162,9 +192,46 @@ 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(",")) + ); + } + + 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(); } @@ -211,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"); @@ -291,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()) @@ -317,6 +401,8 @@ .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()) + .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())) @@ -351,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); @@ -367,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(","))); + } } @@ -448,7 +566,7 @@ } } if(fileList.size()>0){ - multifileMapper.insertBatchSomeColumn(fileList); + multifileMapper.insert(fileList); } } @@ -483,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); @@ -509,14 +632,46 @@ BeanUtils.copyProperties(notices,newNotices); newNotices.setId(null); newNotices.setCreateDate(new Date()); - newNotices.setParam2("3"); + 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); } + + 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