From 10c28ce3d0b384584c77ce9111a66a0641250752 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期四, 27 二月 2025 18:30:32 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java | 445 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 404 insertions(+), 41 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 c3c58f0..b5e306a 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,22 +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.PageData; -import com.doumee.core.model.PageWrap; +import com.doumee.dao.business.dao.UserActionMapper; +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.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.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.service.business.HiddenDangerLogService; +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; import org.springframework.transaction.annotation.Transactional; @@ -40,10 +53,16 @@ @Autowired private HiddenDangerMapper hiddenDangerMapper; + @Autowired private MultifileMapper multifileMapper; + @Autowired private SystemDictDataBiz systemDictDataBiz; + + @Autowired + private SystemUserMapper systemUserMapper; + @Autowired private MemberMapper memberMapper; @@ -52,6 +71,25 @@ @Autowired private HiddenDangerLogMapper hiddenDangerLogMapper; + @Autowired + private UserActionMapper userActionMapper; + + + @Autowired + private NoticesJoinMapper noticesJoinMapper; + + + @Autowired + private SmsConfigMapper smsConfigMapper; + + @Autowired + private SmsEmailMapper smsEmailMapper; + + @Autowired + private EmayService emayService; + + @Autowired + private WxNoticeConfigMapper wxNoticeConfigMapper; @Override @@ -67,6 +105,11 @@ ){ 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()); @@ -74,6 +117,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); @@ -96,7 +145,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); @@ -104,19 +153,139 @@ multifile.setCreator(hiddenDanger.getCreator()); multifile.setIsdeleted(Constants.ZERO); multifile.setObjId(hiddenDanger.getId()); - multifile.setObjType(Constants.multifileObjType.zero); + multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_SUBMIT.getKey()); multifile.setSortnum(i+1); 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(",")) + ); + } + + 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()); + Date date =new Date(); + + hiddenDanger.setEditDate(date); + hiddenDangerMapper.updateById(hiddenDanger); + //瀛樺偍 鎿嶄綔鏃ュ織 + HiddenDangerLog hiddenDangerLog = new HiddenDangerLog(); + hiddenDangerLog.setIsdeleted(Constants.ZERO); + hiddenDangerLog.setCreateDate(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); + + String[] params = new String[3]; + params[0] = user.getRealname(); + params[1]=DateUtil.getPlusTime2(date); + params[2]=model.getAreaName()+"-銆�"+model.getContent()+"銆�"; + //璁板綍鍒犻櫎鏃ュ織 + UserActionServiceImpl.saveUserActionBiz(user,id,Constants.UserActionType.HIDEN_DANGER_DEL,userActionMapper,date,params,JSONObject.toJSONString(model)); } @Override @@ -157,11 +326,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"); @@ -188,6 +359,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())){ @@ -231,17 +413,36 @@ IPage<HiddenDanger> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); MPJLambdaWrapper<HiddenDanger> queryWrapper = new MPJLambdaWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); + pageWrap.getModel().setIsdeleted(Constants.ZERO); queryWrapper.selectAll(HiddenDanger.class) .selectAs(HiddenDangerParam::getName,HiddenDanger::getCategoryName) .select("t1.name", HiddenDanger::getMemberName) .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.and(w->{ + w.eq(HiddenDanger::getCreator,userInfo.getId()).or(). + eq(HiddenDanger::getCheckUserId,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()) @@ -260,9 +461,11 @@ .eq(pageWrap.getModel().getMemberId() != null, HiddenDanger::getMemberId, pageWrap.getModel().getMemberId()) .ge(pageWrap.getModel().getCheckDate() != null, HiddenDanger::getCheckDate, Utils.Date.getStart(pageWrap.getModel().getCheckDate())) .le(pageWrap.getModel().getCheckDate() != null, HiddenDanger::getCheckDate, Utils.Date.getEnd(pageWrap.getModel().getCheckDate())) - .eq(pageWrap.getModel().getChecklInfo() != null, HiddenDanger::getChecklInfo, pageWrap.getModel().getChecklInfo()) + .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())) @@ -286,17 +489,85 @@ return hiddenDangerMapper.selectCount(wrapper); } - - @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) public void dealHiddenDanger(HiddenDanger hiddenDanger){ + isParamValid(hiddenDanger); + dealFileBiz(hiddenDanger); + hiddenDanger.setEditor(hiddenDanger.getLoginUserInfo().getId()); + 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); + hiddenDangerLog.setCreateDate(new Date()); + hiddenDangerLog.setCreator(hiddenDanger.getEditor()); + hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId()); + hiddenDangerLog.setContent(hiddenDanger.getCheckInfo()); + 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::getInfo,hiddenDanger.getStatus().equals(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())); + //鍙戣捣浜轰唬鍔炴爣棰樹慨鏀逛负澶勭悊缁撴灉 + noticesJoinMapper.update(null,new UpdateWrapper<Notices>() + .lambda() + .set(Notices::getInfo,hiddenDanger.getStatus().equals(Constants.ONE)?"宸叉暣鏀�":"宸查��鍥�") + .set(Notices::getParam2,hiddenDanger.getStatus()) + .eq(Notices::getObjId,hiddenDanger.getId()) + .eq(Notices::getObjType,Constants.THREE) + .eq(Notices::getParam3,hiddenDanger.getMemberId().toString()) ); + + 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(","))); + } + + } + + private void isParamValid(HiddenDanger hiddenDanger) { if(Objects.isNull(hiddenDanger) - || Objects.isNull(hiddenDanger.getId()) - || Objects.isNull(hiddenDanger.getDealTime()) - || Objects.isNull(hiddenDanger.getLoginUserInfo()) - || Objects.isNull(hiddenDanger.getStatus()) - ){ + || Objects.isNull(hiddenDanger.getId()) + || Objects.isNull(hiddenDanger.getDealTime()) + || Objects.isNull(hiddenDanger.getLoginUserInfo()) + || Objects.isNull(hiddenDanger.getStatus()) + ){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } HiddenDanger model = hiddenDangerMapper.selectById(hiddenDanger.getId()); @@ -304,55 +575,87 @@ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅鏁版嵁"); } if (!model.getStatus().equals(Constants.ZERO)) { - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�佸凡娴佽浆!"); + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�佸凡娴佽浆,璇峰埛鏂版煡鐪�!"); } - if (!model.getCheckUserId().equals(hiddenDanger.getEditor())) { + if (!model.getCheckUserId().equals(hiddenDanger.getLoginUserInfo().getMemberId())) { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"澶勭悊浜洪潪褰撳墠浜哄憳锛�"); } if(!(hiddenDanger.getStatus().equals(Constants.ONE)||hiddenDanger.getStatus().equals(Constants.TWO))){ - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�侀敊璇紒"); + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�侀敊璇�,璇峰埛鏂版煡鐪嬶紒"); } - //鏁存敼鍓嶆枃浠� + hiddenDanger.setMemberId(model.getMemberId());//鍙戣捣浜� + } + + private void dealFileBiz(HiddenDanger hiddenDanger) {//鏁存敼鍓嶆枃浠� List<Multifile> beforList = hiddenDanger.getDealBeforeFileList(); + List<Multifile> fileList = new ArrayList<>(); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(beforList)){ + boolean isTrue = false; for (int i = 0; i < beforList.size(); i++) { Multifile multifile = beforList.get(i); + 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.setObjType(Constants.multifileObjType.one); + multifile.setCreator(hiddenDanger.getLoginUserInfo().getId()); + multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey()); multifile.setSortnum(i+1); - multifileMapper.insert(multifile); + fileList.add(multifile); + isTrue=true; } + 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; List<Multifile> afterList = hiddenDanger.getDealAfterFileList(); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(afterList)){ for (int i = 0; i < afterList.size(); i++) { Multifile multifile = afterList.get(i); + if(StringUtils.isBlank(multifile.getFileurl())){ + continue; + } + multifile.setId(null); multifile.setCreateDate(new Date()); multifile.setCreator(hiddenDanger.getEditor()); multifile.setIsdeleted(Constants.ZERO); + multifile.setCreator(hiddenDanger.getLoginUserInfo().getId()); multifile.setObjId(hiddenDanger.getId()); - multifile.setObjType(Constants.multifileObjType.two); + multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_DEAL_AFTER.getKey()); multifile.setSortnum(i+1); - multifileMapper.insert(multifile); + fileList.add(multifile); + isTrue = true; } } + if(!isTrue){ + throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇锋寜瑕佹眰濉啓澶勭悊鏁版嵁"); + } } - hiddenDanger.setEditor(hiddenDanger.getLoginUserInfo().getId()); - hiddenDanger.setEditDate(new Date()); - hiddenDangerMapper.updateById(hiddenDanger); - //瀛樺偍 鎿嶄綔鏃ュ織 - HiddenDangerLog hiddenDangerLog = new HiddenDangerLog(); - hiddenDangerLog.setIsdeleted(Constants.ZERO); - hiddenDangerLog.setCreateDate(new Date()); - hiddenDangerLog.setCreator(hiddenDanger.getCreator()); - hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId()); - hiddenDangerLog.setTitle(hiddenDanger.getStatus().equals(Constants.ONE)?"闅愭偅澶勭悊":"闅愭偅閫�鍥�"); - hiddenDangerLog.setObjType(hiddenDanger.getStatus().equals(Constants.ONE)?Constants.FOUR:Constants.TWO); - hiddenDangerLogMapper.insert(hiddenDangerLog); + if(fileList.size()>0){ + multifileMapper.insert(fileList); + } } @@ -374,7 +677,7 @@ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅鏁版嵁"); } if (!Constants.equalsInteger(model.getStatus(),Constants.ZERO)) { - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�佸凡娴佽浆!"); + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�佸凡娴佽浆,璇峰埛鏂版煡鐪�!"); } if (!Constants.equalsInteger(model.getCheckUserId(),hiddenDanger.getLoginUserInfo().getMemberId())) { throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"澶勭悊浜洪潪褰撳墠浜哄憳锛�"); @@ -386,6 +689,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); @@ -400,6 +709,60 @@ 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()) + .orderByDesc(Notices::getId) + .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); + } + + 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(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