From 3680d8f2d54dcd3ac62fcf9730e3c5e82e1714c8 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期一, 29 九月 2025 17:07:43 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/wuhuyancao' into wuhuyancao
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/HiddenDangerServiceImpl.java | 429 ++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 400 insertions(+), 29 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..7db1430 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,21 +8,29 @@
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.dao.business.dao.*;
+import com.doumee.dao.business.vo.GeneralDataVO;
+import com.doumee.dao.business.vo.HiddenDangerCompanyVO;
+import com.doumee.dao.business.vo.HiddenDangerDataVO;
+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.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;
@@ -33,7 +41,9 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
+import java.math.BigDecimal;
import java.util.*;
+import java.util.stream.Collectors;
/**
* 闅愭偅淇℃伅琛⊿ervice瀹炵幇
@@ -53,6 +63,9 @@
private SystemDictDataBiz systemDictDataBiz;
@Autowired
+ private SystemUserMapper systemUserMapper;
+
+ @Autowired
private MemberMapper memberMapper;
@Autowired
@@ -60,6 +73,11 @@
@Autowired
private HiddenDangerLogMapper hiddenDangerLogMapper;
+ @Autowired
+ private UserActionMapper userActionMapper;
+
+ @Autowired
+ private CompanyMapper companyMapper;
@Autowired
@@ -75,6 +93,12 @@
@Autowired
private EmayService emayService;
+ @Autowired
+ private WxNoticeConfigMapper wxNoticeConfigMapper;
+
+ @Autowired
+ private ApproveMapper approveMapper;
+
@Override
public Integer create(HiddenDanger hiddenDanger) {
@@ -84,15 +108,24 @@
|| Objects.isNull(hiddenDanger.getCateId())
|| Objects.isNull(hiddenDanger.getApplyCheckUserId())
|| Objects.isNull(hiddenDanger.getCheckUserId())
+ || Objects.isNull(hiddenDanger.getCheckTypeId())
|| 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 hiddenDangerCheckParam = hiddenDangerParamMapper.selectById(hiddenDanger.getCheckTypeId());
+ if(Objects.isNull(hiddenDangerCheckParam)){
+ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅妫�鏌ョ被鍨�");
+ }
HiddenDangerParam hiddenDangerParam = hiddenDangerParamMapper.selectById(hiddenDanger.getAreaId());
if(Objects.isNull(hiddenDangerParam)){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅鍖哄煙");
@@ -102,6 +135,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);
@@ -179,24 +213,97 @@
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(","))
+ Arrays.asList(member.getPhone().split(",")),hiddenDangerCate.getName()
);
}
+ 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));
+
+ //鏍囪浠诲姟璁板綍
+ VisitsServiceImpl.dealCancelNoticesData(noticesJoinMapper,approveMapper,"绯荤粺鍒犻櫎",model.getId(),
+ null,
+ Constants.noticesObjectType.dangerDeal
+ );
}
@Override
@@ -238,14 +345,18 @@
.select("t2.name",HiddenDanger::getCheckorName)
.select("t2.phone",HiddenDanger::getCheckorPhone)
.select("t5.company_name_path",HiddenDanger::getDutyCompanyName)
- .select("t4.company_name_path",HiddenDanger::getCompanyName);
+ .select("t4.company_name_path",HiddenDanger::getCompanyName)
+ .select("t6.name", HiddenDanger::getCheckTypeName);
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 t5 on t3.company_id=t5.id");
+ .leftJoin("company t5 on t2.company_id=t5.id")
+ .leftJoin("hidden_danger_param t6 on t.check_type_id=t6.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)){
@@ -270,6 +381,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())){
@@ -304,6 +426,7 @@
@Override
public List<HiddenDanger> findList(HiddenDanger hiddenDanger) {
+ hiddenDanger.setIsdeleted(Constants.ZERO);
QueryWrapper<HiddenDanger> wrapper = new QueryWrapper<>(hiddenDanger);
return hiddenDangerMapper.selectList(wrapper);
}
@@ -313,9 +436,11 @@
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("t6.name", HiddenDanger::getCheckTypeName)
.select("t1.phone",HiddenDanger::getMemberPhone)
.select("t2.name",HiddenDanger::getCheckorName)
.select("t2.phone",HiddenDanger::getCheckorPhone)
@@ -325,7 +450,8 @@
.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("hidden_danger_param t6 on t.check_type_id=t6.id")
+ .leftJoin("company t5 on t2.company_id=t5.id");
//鏁版嵁鏉冮檺寮�濮�--------------------start----------------
LoginUserInfo userInfo =pageWrap.getModel().getLoginUserInfo();
@@ -333,7 +459,10 @@
if(userInfo!=null && userInfo.getCompanyIdList()!=null){
if( userInfo.getCompanyIdList().size() ==0){
//鍙兘鐪嬭嚜宸�
- queryWrapper.eq(HiddenDanger::getCreator,userInfo.getId());
+ queryWrapper.and(w->{
+ w.eq(HiddenDanger::getCreator,userInfo.getId()).or().
+ eq(HiddenDanger::getCheckUserId,userInfo.getMemberId());
+ });
}else{
queryWrapper.in("t1.company_id" ,userInfo.getCompanyIdList());
}
@@ -363,10 +492,11 @@
.like(pageWrap.getModel().getCompanyName() != null,"t4.company_name_path",pageWrap.getModel().getCompanyName())
.like(pageWrap.getModel().getDutyCompanyName() != null,"t5.company_name_path",pageWrap.getModel().getDutyCompanyName())
+ .eq(pageWrap.getModel().getCheckTypeId() != null, HiddenDanger::getCheckTypeId, pageWrap.getModel().getCheckTypeId())
.and(StringUtils.isNotBlank(pageWrap.getModel().getMemberName()), ms->ms.like(Member::getName,pageWrap.getModel().getMemberName())
.or().like(Member::getPhone,pageWrap.getModel().getMemberName()))
- .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), Empower::getCreateDate,pageWrap.getModel().getQueryStartTime())
- .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),Empower::getCreateDate,pageWrap.getModel().getQueryEndTime())
+ .ge(Objects.nonNull(pageWrap.getModel().getQueryStartTime()), HiddenDanger::getSubmitTime,pageWrap.getModel().getQueryStartTime())
+ .le(Objects.nonNull(pageWrap.getModel().getQueryEndTime()),HiddenDanger::getSubmitTime,pageWrap.getModel().getQueryEndTime())
.orderByDesc(Visits::getCreateDate)
;
for(PageWrap.SortData sortData: pageWrap.getSorts()) {
@@ -381,11 +511,10 @@
@Override
public long count(HiddenDanger hiddenDanger) {
+ hiddenDanger.setIsdeleted(Constants.ZERO);
QueryWrapper<HiddenDanger> wrapper = new QueryWrapper<>(hiddenDanger);
return hiddenDangerMapper.selectCount(wrapper);
}
-
-
@Override
@Transactional(rollbackFor = {Exception.class,BusinessException.class})
@@ -396,6 +525,15 @@
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);
@@ -411,27 +549,45 @@
.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())
- );
+ .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)){
- 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(",")),hiddenDangerCate.getName()
);
}
-
}
-
-
+ 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(",")));
+ }
}
@@ -445,7 +601,7 @@
throw new BusinessException(ResponseStatus.BAD_REQUEST);
}
HiddenDanger model = hiddenDangerMapper.selectById(hiddenDanger.getId());
- if(Objects.isNull(model)){
+ if(Objects.isNull(model) ||Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){
throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌闅愭偅鏁版嵁");
}
if (!model.getStatus().equals(Constants.ZERO)) {
@@ -457,6 +613,7 @@
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) {//鏁存敼鍓嶆枃浠�
@@ -470,9 +627,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 +652,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 +667,7 @@
if(StringUtils.isBlank(multifile.getFileurl())){
continue;
}
+ multifile.setId(null);
multifile.setCreateDate(new Date());
multifile.setCreator(hiddenDanger.getEditor());
multifile.setIsdeleted(Constants.ZERO);
@@ -527,8 +702,9 @@
.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)) {
@@ -544,6 +720,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 +745,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,16 +765,204 @@
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(",")),hiddenDangerCate.getName()
);
}
+
+ //澶勭悊浜虹殑寰俊鍏紬鍙烽�氱煡
+ 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(",")));
+ }
}
+ /**
+ * 闅忔墜鎷嶇粺璁℃暟鎹�
+ */
+ @Override
+ public HiddenDangerDataVO hiddenDangerData(HiddenDanger hiddenDanger){
+ HiddenDangerDataVO hiddenDangerDataVO = new HiddenDangerDataVO();
+ List<HiddenDanger> hiddenDangerAllList = hiddenDangerMapper.selectJoinList(HiddenDanger.class,
+ new MPJLambdaWrapper<HiddenDanger>()
+ .selectAll(HiddenDanger.class)
+ .selectAs(HiddenDangerParam::getCompanyId, HiddenDanger::getAreaCompanyId)
+ .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getAreaId) //闅愭偅鍖哄煙
+ .eq(HiddenDanger::getIsdeleted,Constants.ZERO)
+ .eq(Objects.nonNull(hiddenDanger.getStatus()),HiddenDanger::getStatus,hiddenDanger.getStatus())
+// .apply(" ( DATE_FORMAT(t.CREATE_DATE, '%Y') = DATE_FORMAT(now(), '%Y') ) ")
+// .ge(Objects.nonNull(hiddenDanger.getQueryStartTime()), HiddenDanger::getCreateDate,hiddenDanger.getQueryStartTime())
+// .le(Objects.nonNull(hiddenDanger.getQueryEndTime()),HiddenDanger::getCreateDate,hiddenDanger.getQueryEndTime())
+ );
+ List<GeneralDataVO> yearDataList = new ArrayList<>();
+ if(CollectionUtils.isEmpty(hiddenDangerAllList)){
+ return hiddenDangerDataVO;
+ }
+ Integer nowYear = DateUtil.getNowYearNum();
+ Integer nowMonth = DateUtil.getNowMonthNum();
+ String nowDate = DateUtil.getFomartDate(new Date(),"yyyy-MM-dd");
+ for (int i = 1; i <=12 ; i++) {
+ GeneralDataVO generalDataVO = new GeneralDataVO();
+ generalDataVO.setName(Integer.toString(i));
+ generalDataVO.setTotal(
+ hiddenDangerAllList.stream().filter(j->Constants.equalsInteger(nowYear,Integer.valueOf(DateUtil.formatDate(j.getCreateDate(),"yyyy")))&&Constants.equalsInteger(Integer.valueOf(generalDataVO.getName()),
+ Integer.valueOf(DateUtil.formatDate(j.getCreateDate(),"MM")))).collect(Collectors.toList()).size());
+ generalDataVO.setName(generalDataVO.getName()+"鏈�");
+ yearDataList.add(generalDataVO);
+ }
+ hiddenDangerDataVO.setYearList(yearDataList);
+
+
+
+ hiddenDangerDataVO.setTotal(hiddenDangerAllList.size());
+ hiddenDangerDataVO.setWaitDeal(hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ZERO)).collect(Collectors.toList()).size());
+ hiddenDangerDataVO.setBack(hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.TWO)).collect(Collectors.toList()).size());
+ hiddenDangerDataVO.setDealFinish(hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getStatus(),Constants.ONE)).collect(Collectors.toList()).size());
+ hiddenDangerDataVO.setTodayNew(hiddenDangerAllList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM-dd").equals(DateUtil.formatDate(new Date(),"yyyy-MM-dd"))).collect(Collectors.toList()).size());
+
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerAllList)){
+ List<Integer> cateList = hiddenDangerAllList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(nowDate.substring(0,7))).map(i->i.getCateId()).collect(Collectors.toList());
+ //鍏ㄩ儴闅愭偅鍒嗙被鏁版嵁
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(cateList)){
+ List<GeneralDataVO> cateGeneralDataList = new ArrayList<>();
+ Set<Integer> cateSetList = new HashSet<>(cateList);
+ List<HiddenDangerParam> hiddenDangerParamList = hiddenDangerParamMapper.selectList(new QueryWrapper<HiddenDangerParam>()
+ .lambda().eq(HiddenDangerParam::getIsdeleted,Constants.ZERO).eq(HiddenDangerParam::getType,Constants.ONE));
+ for (Integer cateId:cateSetList) {
+ if(Objects.isNull(cateId)){
+ continue;
+ }
+ Optional<HiddenDangerParam> optionalHiddenDanger = hiddenDangerParamList.stream().filter(i->Constants.equalsInteger(i.getId(),cateId)).findAny();
+ if(optionalHiddenDanger.isPresent()){
+ GeneralDataVO generalDataVO = new GeneralDataVO();
+ HiddenDangerParam hiddenDangerParam = optionalHiddenDanger.get();
+ Integer total = hiddenDangerAllList.stream().filter(i->Constants.equalsInteger(i.getCateId(),hiddenDangerParam.getId())&& DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(nowDate.substring(0,7))).collect(Collectors.toList()).size();
+ generalDataVO.setName(hiddenDangerParam.getName());
+ generalDataVO.setTotal(total);
+ generalDataVO.setRata(
+ Constants.equalsInteger(total,Constants.ZERO)?
+ BigDecimal.ZERO:new BigDecimal(total.toString())
+ .divide(new BigDecimal(hiddenDangerDataVO.getTotal().toString()),2,BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal("100"))
+ );
+ cateGeneralDataList.add(generalDataVO);
+ }
+ }
+ hiddenDangerDataVO.setCateList(cateGeneralDataList);
+ }
+
+ //鍏ㄩ儴闅愭偅鍖哄煙閮ㄩ棬鏁版嵁
+// List<HiddenDangerCompanyVO> hiddenDangerCompanyVOList = hiddenDangerAllList.stream().
+// filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").equals(nowDate.substring(0,7)))
+// .map(i->new HiddenDangerCompanyVO(i.getAreaName(),i.getAreaCompanyId())).collect(Collectors.toList());
+// if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerCompanyVOList)){
+// List<GeneralDataVO> companyGeneralDataList = new ArrayList<>();
+// Set<HiddenDangerCompanyVO> companyIdSetList = new HashSet<>(hiddenDangerCompanyVOList);
+// List<Company> companyList = companyMapper.selectList(new QueryWrapper<Company>()
+// .lambda().eq(Company::getIsdeleted,Constants.ZERO));
+// for (HiddenDangerCompanyVO hiddenDangerCompanyVO:companyIdSetList) {
+// if(Objects.isNull(hiddenDangerCompanyVO)
+// || Objects.isNull(hiddenDangerCompanyVO.getId())
+// || StringUtils.isBlank(hiddenDangerCompanyVO.getCategoryName())){
+// continue;
+// }
+// Optional<Company> optionalCompany = companyList.stream().filter(i->Constants.equalsInteger(i.getId(),hiddenDangerCompanyVO.getId())).findAny();
+// if(optionalCompany.isPresent()){
+// GeneralDataVO generalDataVO = new GeneralDataVO();
+// Company company = optionalCompany.get();
+// Integer total = hiddenDangerAllList.stream().filter(i->DateUtil.formatDate(i.getCreateDate(),"yyyy-MM").
+// equals(nowDate.substring(0,7))&&Constants.equalsInteger(i.getAreaCompanyId(),company.getId())).collect(Collectors.toList()).size();
+// generalDataVO.setName(company.getName());
+// generalDataVO.setTotal(total);
+// generalDataVO.setCategoryName(hiddenDangerCompanyVO.getCategoryName());
+// companyGeneralDataList.add(generalDataVO);
+// }
+// }
+// hiddenDangerDataVO.setDepartmentList(companyGeneralDataList);
+// }
+// if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(hiddenDangerDataVO.getDepartmentList())){
+// List<GeneralDataVO> topList = hiddenDangerDataVO.getDepartmentList();
+// Collections.sort(topList, new Comparator<GeneralDataVO>() {
+// @Override
+// public int compare(GeneralDataVO o1, GeneralDataVO o2) {
+// // 杩斿洖鍊间负int绫诲瀷锛屽ぇ浜�0琛ㄧず姝e簭锛屽皬浜�0琛ㄧず閫嗗簭
+// return o2.getTotal() - o1.getTotal();
+// }
+// });
+// hiddenDangerDataVO.setDepartmentSortList(topList);
+// }
+
+ }
+
+
+ List<Map<String,Object>> companyMapList = hiddenDangerMapper.selectJoinMaps(new MPJLambdaWrapper<HiddenDanger>()
+ .select(" t2.name as companyName , count(1) total ")
+ .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getAreaId)
+ .leftJoin(Company.class,Company::getId,HiddenDangerParam::getCompanyId)
+ .eq(HiddenDanger::getIsdeleted,Constants.ZERO)
+ .apply(" DATE_FORMAT(t.CREATE_DATE, '%Y%M') = DATE_FORMAT(now(), '%Y%M') ")
+ .groupBy(" t2.name")
+ );
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(companyMapList)){
+ List<GeneralDataVO> list = new ArrayList<>();
+ for (Map<String,Object> map:companyMapList) {
+ GeneralDataVO generalDataVO = new GeneralDataVO();
+ generalDataVO.setTotal(Integer.valueOf(map.get("total").toString()));
+ generalDataVO.setName(map.get("companyName").toString());
+ list.add(generalDataVO);
+ }
+ hiddenDangerDataVO.setDepartmentList(list);
+ }
+
+
+
+ List<Map<String,Object>> mapList = hiddenDangerMapper.selectJoinMaps(new MPJLambdaWrapper<HiddenDanger>()
+ .select(" t1.name as cateName,t2.name as companyName , count(1) total ")
+ .leftJoin(HiddenDangerParam.class,HiddenDangerParam::getId,HiddenDanger::getAreaId)
+ .leftJoin(Company.class,Company::getId,HiddenDangerParam::getCompanyId)
+ .eq(HiddenDanger::getIsdeleted,Constants.ZERO)
+ .apply(" DATE_FORMAT(t.CREATE_DATE, '%Y%M') = DATE_FORMAT(now(), '%Y%M') ")
+ .groupBy("t1.name , t2.name")
+ .orderByDesc(" count(1) ")
+ );
+ if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(mapList)){
+ List<GeneralDataVO> topList = new ArrayList<>();
+ for (Map<String,Object> map:mapList) {
+ GeneralDataVO generalDataVO = new GeneralDataVO();
+ generalDataVO.setTotal(Integer.valueOf(map.get("total").toString()));
+ generalDataVO.setName(map.get("companyName").toString());
+ generalDataVO.setCategoryName(map.get("cateName").toString());
+ topList.add(generalDataVO);
+ }
+ hiddenDangerDataVO.setDepartmentSortList(topList);
+ }
+
+
+
+ return hiddenDangerDataVO;
+ }
+
+
+
+
+
}
--
Gitblit v1.9.3