虚拟清单-发布发送消息修改
This commit is contained in:
+31
-23
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import com.jero.common.constant.enums.MessageTypeEnum;
|
||||
import com.jero.common.exception.JeroBootException;
|
||||
import com.jero.common.system.vo.LoginUser;
|
||||
@@ -257,6 +258,7 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
|
||||
list.add(dummyContentChangeEOBase);
|
||||
}
|
||||
if(dummyInventoryInfoEOList.size() != 0){
|
||||
disposeData(dummyInventoryInfoEOList);
|
||||
String info = JSONArray.toJSONString(dummyInventoryInfoEOList);
|
||||
DummyContentChangeEO dummyContentChangeEOInfo = new DummyContentChangeEO();
|
||||
dummyContentChangeEOInfo.setParentId(dummyInventoryBaseEO.getId());
|
||||
@@ -308,7 +310,6 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
|
||||
List<DummyInventoryInfoEO> infoCJList = JSONArray.parseArray(infoCJ, DummyInventoryInfoEO.class);//json转list
|
||||
|
||||
//翻译字典code值
|
||||
disposeData(infoCJList);
|
||||
disposeData(dummyInventoryInfoEOList);
|
||||
|
||||
//获取数据库和传入同时存在的编号
|
||||
@@ -382,10 +383,15 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
|
||||
}
|
||||
deleteSerialNumber=StringUtils.join(infoCJSerialNumberList,",");
|
||||
|
||||
//列表和维护清单不同的字段都为空->不发送消息,数据不处理
|
||||
if(MapUtils.isNotEmpty(baseDiff) || CollectionUtils.isNotEmpty(infoDiffList)) {
|
||||
//列表,维护清单不同的字段,addSerialNumber,deleteSerialNumber都为空->证明是没有更新的数据,不发送消息,数据不处理
|
||||
if(MapUtils.isNotEmpty(baseDiff) || CollectionUtils.isNotEmpty(infoDiffList)
|
||||
|| StringUtils.isNotEmpty(addSerialNumber) || StringUtils.isNotEmpty(deleteSerialNumber)) {
|
||||
//向订阅该领域管理的人发消息和飞书
|
||||
sendMsg(baseDiff, dummyContentChangeEOBaseList.get(0).getConnectId(), infoDiffList, addSerialNumber, deleteSerialNumber,dummyInventoryBaseEO.getState());
|
||||
sendMsg(baseDiff, dummyContentChangeEOBaseList.get(0).getConnectId(), infoDiffList, addSerialNumber, deleteSerialNumber,dummyInventoryBaseEO.getState(),dummyInventoryBaseEO.getCut());
|
||||
|
||||
//更新log
|
||||
// updateLog(map, dataList, fieldList, fieldDateList, fieldFileList, fieldPullList, cut);
|
||||
|
||||
Date now=new Date();
|
||||
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
||||
//5.数据对比完成后.更新之前保存的dummy_inventory_info中的content_json数据,重新保存最新的数据
|
||||
@@ -398,12 +404,13 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
|
||||
.eq("connect_id",dummyInventoryBaseEOList.get(0).getId());
|
||||
dummyContentChangeEOMapper.update(null,baseUpdateWrapper);
|
||||
}
|
||||
if(CollectionUtils.isNotEmpty(infoDiffList)){//维护清单有不同字段
|
||||
if(CollectionUtils.isNotEmpty(infoDiffList) || StringUtils.isNotEmpty(addSerialNumber)
|
||||
|| StringUtils.isNotEmpty(deleteSerialNumber)){//维护清单有不同字段,addSerialNumber,deleteSerialNumber也有数据
|
||||
String info = JSONArray.toJSONString(dummyInventoryInfoEOList);
|
||||
UpdateWrapper<DummyContentChangeEO> infoUpdateWrapper=new UpdateWrapper<>();
|
||||
infoUpdateWrapper.set("content_json",info)
|
||||
.set("update_by",sysUser.getUsername())
|
||||
.set("update_time",now)
|
||||
.set("update_time",now)
|
||||
.eq("parent_id",dummyInventoryBaseEOList.get(0).getId());
|
||||
dummyContentChangeEOMapper.update(null,infoUpdateWrapper);
|
||||
}
|
||||
@@ -411,7 +418,11 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
|
||||
}
|
||||
}else{
|
||||
//撤回,需要发消息
|
||||
sendMsg(null, dummyInventoryBaseEO.getId(),null, null , null,dummyInventoryBaseEO.getState());
|
||||
try {
|
||||
sendMsg(null, dummyInventoryBaseEO.getId(),null, null , null,dummyInventoryBaseEO.getState(),dummyInventoryBaseEO.getCut());
|
||||
}catch (Exception e){
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -451,8 +462,7 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
|
||||
dummyInventoryInfoEO.setTechnologyTerritoryName(technologyTerritoryName);
|
||||
}
|
||||
|
||||
//适用范围 SHI4_YONG4_FAN4_WEI2("","apply_scope"),
|
||||
// REGION("适用地区","region"),
|
||||
//适用范围
|
||||
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getShi4Yong4Fan4Wei2())) {
|
||||
List<SysDictItem> shi4Yong4Fan4Wei2 = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.SHI4_YONG4_FAN4_WEI2.getValue());
|
||||
List<String> shi4Yong4Fan4Wei2List = Arrays.asList(dummyInventoryInfoEO.getShi4Yong4Fan4Wei2().split(","));
|
||||
@@ -506,19 +516,16 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
|
||||
//交付物类型
|
||||
List<SysDictItem> deliverableTemplate = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.DELIVERABLE_TEMPLATE.getValue());
|
||||
//设计符合性确认-交付物类型
|
||||
// designDeliverableType;
|
||||
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getDesignDeliverableType())) {
|
||||
String designDeliverableTypeName = deliverableTemplate.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getDesignDeliverableType())).map(f -> f.getItemText()).collect(Collectors.joining(","));
|
||||
dummyInventoryInfoEO.setDesignDeliverableType(designDeliverableTypeName);
|
||||
}
|
||||
//prehomo确认-交付物类型
|
||||
// prehomoDeliverableType;
|
||||
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getPrehomoDeliverableType())) {
|
||||
String prehomoDeliverableTypeName = deliverableTemplate.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getPrehomoDeliverableType())).map(f -> f.getItemText()).collect(Collectors.joining(","));
|
||||
dummyInventoryInfoEO.setPrehomoDeliverableType(prehomoDeliverableTypeName);
|
||||
}
|
||||
//验证符合性确认-交付物类型
|
||||
// verifyDeliverableType;
|
||||
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getVerifyDeliverableType())) {
|
||||
String verifyDeliverableTypeName = deliverableTemplate.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getVerifyDeliverableType())).map(f -> f.getItemText()).collect(Collectors.joining(","));
|
||||
dummyInventoryInfoEO.setVerifyDeliverableType(verifyDeliverableTypeName);
|
||||
@@ -527,19 +534,16 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
|
||||
//发起人
|
||||
List<SysDictItem> fa1_qi3_ren2 = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.FA1_QI3_REN2.getValue());
|
||||
//设计符合性确认-发起人
|
||||
// designInitiator;
|
||||
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getDesignInitiator())) {
|
||||
String designInitiatorName = fa1_qi3_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getDesignInitiator())).map(f -> f.getItemText()).collect(Collectors.joining(","));
|
||||
dummyInventoryInfoEO.setDesignInitiator(designInitiatorName);
|
||||
}
|
||||
//prehomo确认-发起人
|
||||
// prehomoInitiator;
|
||||
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getPrehomoInitiator())) {
|
||||
String prehomoInitiatorName = fa1_qi3_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getPrehomoInitiator())).map(f -> f.getItemText()).collect(Collectors.joining(","));
|
||||
dummyInventoryInfoEO.setPrehomoInitiator(prehomoInitiatorName);
|
||||
}
|
||||
//验证符合性确认-发起人
|
||||
// verifyInitiator;
|
||||
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getVerifyInitiator())) {
|
||||
String verifyInitiatorName = fa1_qi3_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getVerifyInitiator())).map(f -> f.getItemText()).collect(Collectors.joining(","));
|
||||
dummyInventoryInfoEO.setVerifyInitiator(verifyInitiatorName);
|
||||
@@ -548,19 +552,16 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
|
||||
//责任人
|
||||
List<SysDictItem> ze2_ren4_ren2 = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.ZE2_REN2_REN2.getValue());
|
||||
//设计符合性确认-责任人
|
||||
// designDuty;
|
||||
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getDesignDuty())) {
|
||||
String designDutyName = ze2_ren4_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getDesignDuty())).map(f -> f.getItemText()).collect(Collectors.joining(","));
|
||||
dummyInventoryInfoEO.setDesignDuty(designDutyName);
|
||||
}
|
||||
//prehomo确认-责任人
|
||||
// prehomoDuty;
|
||||
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getPrehomoDuty())) {
|
||||
String prehomoDutyName = ze2_ren4_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getPrehomoDuty())).map(f -> f.getItemText()).collect(Collectors.joining(","));
|
||||
dummyInventoryInfoEO.setPrehomoDuty(prehomoDutyName);
|
||||
}
|
||||
//验证符合性确认-责任人
|
||||
// verifyDuty;
|
||||
if (StringUtils.isNotBlank(dummyInventoryInfoEO.getVerifyDuty())) {
|
||||
String verifyDutyName = ze2_ren4_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getVerifyDuty())).map(f -> f.getItemText()).collect(Collectors.joining(","));
|
||||
dummyInventoryInfoEO.setVerifyDuty(verifyDutyName);
|
||||
@@ -570,12 +571,12 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
|
||||
}
|
||||
//发送消息
|
||||
private void sendMsg(Map<String, String> baseDiff, String idTemp,List<Map<String, String>> infoDiffList,
|
||||
String addSerialNumber,String deleteSerialNumber,String state) {
|
||||
String addSerialNumber,String deleteSerialNumber,String state,String cut) {
|
||||
|
||||
String baseName = queryById(idTemp).getName();//基础表id
|
||||
//查询订阅用户
|
||||
List<String> userNameList = dummyReadEOService.queryReadUserInfo(idTemp);
|
||||
if (CollectionUtils.isNotEmpty(userNameList)) {
|
||||
if (CollectionUtils.isNotEmpty(userNameList)) {//有订阅的用户,发送消息
|
||||
List<String> userIdList = sysUserService.queryUserIdListByNameList(userNameList).stream().map(e -> e.getId()).collect(Collectors.toList());
|
||||
//给发送消息的用户
|
||||
if (userIdList.size() == 0) {
|
||||
@@ -609,11 +610,18 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl<DummyInventoryB
|
||||
log.error("飞书消息推送失败");
|
||||
}
|
||||
}
|
||||
} else {
|
||||
throw new JeroBootException("该虚拟清单未被订阅,消息发送失败");
|
||||
}else {//没有订阅用户
|
||||
//没有订阅用户,发布时,不发送消息
|
||||
if(InventoryStateEnum.ISSUE.getValue().equals(state)) {
|
||||
if(CutEnum.CN.getValue().equals(cut)) {
|
||||
throw new JeroBootException("该虚拟清单未被订阅,消息发送失败");
|
||||
}else{
|
||||
throw new JeroBootException("The virtual list has not been subscribed, and the message sending failed.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
////拼接维护清单的消息
|
||||
//拼接维护清单的消息
|
||||
public String setContentInfo(String contentInfo, Map<String, String> baseDiff, List<Map<String, String>> infoDiffList
|
||||
, String addSerialNumber, String deleteSerialNumber) {
|
||||
int row = 1;
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
package com.jero.modules.dummy.util;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.*;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class ListDiff <T> {
|
||||
public static <T> Map<String, String> compareObject(T obj1, T Obj2) {
|
||||
@@ -25,14 +24,15 @@ public class ListDiff <T> {
|
||||
}
|
||||
if( ! equals(v1, v2) && !f.getName().contains("create")
|
||||
&& !f.getName().contains("update") && !f.getName().equals("id")){
|
||||
if (StringUtils.isBlank(v1.toString())){
|
||||
v1 = "null";
|
||||
}
|
||||
if (StringUtils.isBlank(v2.toString())){
|
||||
v2 = "null";
|
||||
}
|
||||
|
||||
StringBuilder v1String= new StringBuilder(String.valueOf(v1));
|
||||
StringBuilder v2String= new StringBuilder(String.valueOf(v2));
|
||||
// if (StringUtils.isEmpty(v1.toString())){
|
||||
// v1String = new StringBuilder("null");
|
||||
// }
|
||||
// if (StringUtils.isEmpty(v2.toString())){
|
||||
// v2String = new StringBuilder("null");
|
||||
// }
|
||||
if(f.getName().contains("erritory") || f.getName().contains("emplate")
|
||||
|| f.getName().equals(("shi4Yong4Fan4Wei2")) || f.getName().equals("region")){
|
||||
result.put(f.getName(), v1String.append("|").append(v2String).toString());
|
||||
|
||||
Reference in New Issue
Block a user