From 289280c80f337e91d3644f68601d833071aa57c8 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 06 三月 2025 09:18:17 +0800
Subject: [PATCH] 最新版本541200007
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java | 523 +++++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 449 insertions(+), 74 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 c2d502c..5f7d60e 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
@@ -61,23 +99,40 @@
|| Objects.isNull(hiddenDanger.getAreaId())
|| Objects.isNull(hiddenDanger.getCateId())
|| Objects.isNull(hiddenDanger.getApplyCheckUserId())
+ || Objects.isNull(hiddenDanger.getCheckUserId())
|| Objects.isNull(hiddenDanger.getSubmitTime())
|| StringUtils.isBlank(hiddenDanger.getContent())
){
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());
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.setCategoryName(hiddenDangerCate.getName());
hiddenDanger.setCreator(hiddenDanger.getLoginUserInfo().getId());
hiddenDanger.setAreaName(hiddenDangerParam.getName());
hiddenDanger.setStatus(Constants.ZERO);
if(StringUtils.isBlank(hiddenDangerParam.getMemberIds())
|| hiddenDangerParam.getMemberIds().indexOf(hiddenDanger.getApplyCheckUserId().toString())<0){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"闅愭偅鍖哄煙涓庡鐞嗕汉涓嶅尮閰�");
+ }
+ Member member = memberMapper.selectById(hiddenDanger.getCheckUserId());
+ if(Objects.isNull(member)|| !Constants.equalsInteger(member.getStatus(),Constants.ZERO) || Constants.equalsInteger(member.getIsdeleted(),Constants.ONE)){
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈煡璇㈠埌闅愭偅澶勭悊浜哄憳淇℃伅鎴栧凡琚鐢�");
}
hiddenDangerMapper.insert(hiddenDanger);
//瀛樺偍 鎿嶄綔鏃ュ織
@@ -90,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);
@@ -98,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
@@ -151,13 +326,17 @@
.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");
+ .eq(HiddenDanger::getId, id)
+ .eq(HiddenDanger::getIsdeleted, Constants.ZERO)
+ .last("limit 1");
HiddenDanger model = hiddenDangerMapper.selectJoinOne(HiddenDanger.class,queryWrapper);
if(model ==null || Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){
@@ -182,6 +361,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())){
@@ -225,17 +415,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.getMemberId());
+ });
+ }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())
@@ -254,9 +463,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()))
@@ -280,73 +491,176 @@
return hiddenDangerMapper.selectCount(wrapper);
}
-
-
@Override
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
public void dealHiddenDanger(HiddenDanger hiddenDanger){
- if(Objects.isNull(hiddenDanger)
- || 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());
- if(Objects.isNull(model)){
- throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅鏁版嵁");
- }
- if (!model.getStatus().equals(Constants.ZERO)) {
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�佸凡娴佽浆!");
- }
- if (!model.getCheckUserId().equals(hiddenDanger.getEditor())) {
- 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(),"涓氬姟绫诲瀷閿欒锛�");
- }
- //鏁存敼鍓嶆枃浠�
- if(hiddenDanger.getStatus().equals(Constants.ONE)){
- List<Multifile> beforList = hiddenDanger.getDealBeforeFileList();
- if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(beforList)){
- for (int i = 0; i < beforList.size(); i++) {
- Multifile multifile = beforList.get(i);
- multifile.setCreateDate(new Date());
- multifile.setCreator(hiddenDanger.getEditor());
- multifile.setIsdeleted(Constants.ZERO);
- multifile.setObjId(hiddenDanger.getId());
- multifile.setObjType(Constants.multifileObjType.one);
- multifile.setSortnum(i+1);
- multifileMapper.insert(multifile);
- }
- }
- }
- 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);
- multifile.setCreateDate(new Date());
- multifile.setCreator(hiddenDanger.getEditor());
- multifile.setIsdeleted(Constants.ZERO);
- multifile.setObjId(hiddenDanger.getId());
- multifile.setObjType(Constants.multifileObjType.two);
- multifile.setSortnum(i+1);
- multifileMapper.insert(multifile);
- }
- }
+ 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());
+ if(Objects.isNull(model) ||Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY );
+ }
+ 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.getCreator());
+ hiddenDangerLog.setCreator(hiddenDanger.getEditor());
hiddenDangerLog.setHiddenDangerId(hiddenDanger.getId());
- hiddenDangerLog.setTitle(hiddenDanger.getStatus().equals(Constants.ONE)?"闅愭偅澶勭悊":"闅愭偅杞氦");
+ 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())
+ ){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST);
+ }
+ HiddenDanger model = hiddenDangerMapper.selectById(hiddenDanger.getId());
+ if(Objects.isNull(model) ||Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅鏁版嵁");
+ }
+ if (!model.getStatus().equals(Constants.ZERO)) {
+ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�佸凡娴佽浆,璇峰埛鏂版煡鐪�!");
+ }
+ 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(),"鏁版嵁鐘舵�侀敊璇�,璇峰埛鏂版煡鐪嬶紒");
+ }
+ 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.setCreator(hiddenDanger.getLoginUserInfo().getId());
+ multifile.setObjType(Constants.MultiFile.HIDDEN_DANGER_DEAL_BEFORE.getKey());
+ multifile.setSortnum(i+1);
+ 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.MultiFile.HIDDEN_DANGER_DEAL_AFTER.getKey());
+ multifile.setSortnum(i+1);
+ fileList.add(multifile);
+ isTrue = true;
+ }
+ }
+ if(!isTrue){
+ throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝璇锋寜瑕佹眰濉啓澶勭悊鏁版嵁");
+ }
+ }
+ if(fileList.size()>0){
+ multifileMapper.insert(fileList);
+ }
}
@@ -363,23 +677,30 @@
.selectAll(HiddenDanger.class)
.selectAs(Member::getName,HiddenDanger::getCheckorName)
.leftJoin(Member.class,Member::getId,HiddenDanger::getCheckUserId)
- .eq(HiddenDanger::getId,hiddenDanger.getId()));
- if(Objects.isNull(model)){
+ .eq(HiddenDanger::getId,hiddenDanger.getId())
+ );
+ if(Objects.isNull(model) ||Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){
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.getEditor())) {
+ if (!Constants.equalsInteger(model.getCheckUserId(),hiddenDanger.getLoginUserInfo().getMemberId())) {
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"澶勭悊浜洪潪褰撳墠浜哄憳锛�");
}
if(Constants.equalsInteger(model.getCheckUserId(),hiddenDanger.getCheckUserId())){
throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏃犳硶杞氦缁欒嚜宸�");
}
Member member = memberMapper.selectById(hiddenDanger.getCheckUserId());
- if(member == null || !Constants.equalsInteger(member.getType(), Constants.TWO) || Constants.equalsInteger(Constants.ZERO,member.getIsdeleted())){
+ 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);
@@ -390,10 +711,64 @@
hiddenDangerLog.setCreator(hiddenDanger.getEditor());
hiddenDangerLog.setEditDate(hiddenDangerLog.getCreateDate());
hiddenDangerLog.setEditor(hiddenDanger.getCreator());
- hiddenDangerLog.setTitle("鐢�"+StringUtils.defaultString(hiddenDanger.getCheckorName())+"杞氦缁�"+StringUtils.defaultString(member.getName()));
+ hiddenDangerLog.setTitle("杞氦缁�"+StringUtils.defaultString(member.getName()));
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