From b33f2e78ffd4fd401698b84a33dc3c293793c62f Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期二, 18 二月 2025 16:22:33 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java | 181 +++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 165 insertions(+), 16 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 4383839..5d6d27b 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,25 +8,33 @@ 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.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.stereotype.Service; @@ -53,6 +61,9 @@ private SystemDictDataBiz systemDictDataBiz; @Autowired + private SystemUserMapper systemUserMapper; + + @Autowired private MemberMapper memberMapper; @Autowired @@ -75,6 +86,9 @@ @Autowired private EmayService emayService; + @Autowired + private WxNoticeConfigMapper wxNoticeConfigMapper; + @Override public Integer create(HiddenDanger hiddenDanger) { @@ -90,6 +104,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()); @@ -102,6 +120,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); @@ -189,14 +208,74 @@ ); } + 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(); } @Override 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()); + + hiddenDanger.setEditDate(new Date()); + hiddenDangerMapper.updateById(hiddenDanger); + //瀛樺偍 鎿嶄綔鏃ュ織 + HiddenDangerLog hiddenDangerLog = new HiddenDangerLog(); + hiddenDangerLog.setIsdeleted(Constants.ZERO); + hiddenDangerLog.setCreateDate(new 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); } @Override @@ -243,7 +322,7 @@ .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 t5 on t3.company_id=t5.id"); + .leftJoin("company t5 on t2.company_id=t5.id"); queryWrapper .eq(HiddenDanger::getId, id).last("limit 1"); @@ -270,6 +349,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())){ @@ -325,7 +415,7 @@ .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 t5 on t3.company_id=t5.id"); + .leftJoin("company t5 on t2.company_id=t5.id"); //鏁版嵁鏉冮檺寮�濮�--------------------start---------------- LoginUserInfo userInfo =pageWrap.getModel().getLoginUserInfo(); @@ -385,8 +475,6 @@ return hiddenDangerMapper.selectCount(wrapper); } - - @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public void dealHiddenDanger(HiddenDanger hiddenDanger){ @@ -396,6 +484,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); @@ -418,20 +512,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(","))); + } } @@ -470,9 +574,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()); @@ -483,6 +599,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; @@ -493,6 +614,7 @@ if(StringUtils.isBlank(multifile.getFileurl())){ continue; } + multifile.setId(null); multifile.setCreateDate(new Date()); multifile.setCreator(hiddenDanger.getEditor()); multifile.setIsdeleted(Constants.ZERO); @@ -544,6 +666,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); @@ -563,6 +691,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)){ @@ -582,15 +711,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