diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java index 32e772497..a016f8884 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/service/impl/DummyInventoryBaseEOServiceImpl.java @@ -13,7 +13,11 @@ import com.jero.common.exception.JeroBootException; import com.jero.common.system.vo.LoginUser; import com.jero.modules.document.service.impl.BussDocumentLibraryEOServiceImpl; import com.jero.modules.domain.service.DomainUserRelService; -import com.jero.modules.dummy.entity.*; +import com.jero.modules.dummy.entity.DummyContentChangeEO; +import com.jero.modules.dummy.entity.DummyInventoryBaseEO; +import com.jero.modules.dummy.entity.DummyInventoryInfoEO; +import com.jero.modules.dummy.entity.DummyLogEO; +import com.jero.modules.dummy.entity.DummyReadEO; import com.jero.modules.dummy.enums.DummyInventoryBaseFieldEnum; import com.jero.modules.dummy.enums.InventoryStateEnum; import com.jero.modules.dummy.enums.ReadFlagEnum; @@ -23,7 +27,6 @@ import com.jero.modules.dummy.service.IDummyContentChangeEOService; import com.jero.modules.dummy.service.IDummyInventoryBaseEOService; import com.jero.modules.dummy.service.IDummyInventoryInfoEOService; import com.jero.modules.dummy.service.IDummyReadEOService; -import com.jero.modules.dummy.util.ListDiff; import com.jero.modules.dummy.vo.VirtualCreaterVo; import com.jero.modules.feishu.service.IFeishuService; import com.jero.modules.oss.entity.OSSFile; @@ -48,7 +51,13 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.io.IOException; import java.text.SimpleDateFormat; -import java.util.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.stream.Collectors; /** @@ -351,33 +360,21 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl wrapper =new LambdaQueryWrapper<>(); wrapper.in(DummyContentChangeEO::getConnectId,dummyInventoryBaseEO.getId()); List dummyContentChangeEOList = iDummyContentChangeEOService.list(wrapper); - //基础数据 - LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); - queryWrapper.in(DummyInventoryBaseEO::getId,dummyInventoryBaseEO.getId()); - List dummyInventoryBaseEOList = this.list(queryWrapper); //详情数据 LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); lambdaQueryWrapper.in(DummyInventoryInfoEO::getDummyInventoryBaseId,dummyInventoryBaseEO.getId()); List dummyInventoryInfoEOList = iDummyInventoryInfoEOService.list(lambdaQueryWrapper); - String contentLog = ""; + String contentLog = "The "+ baseEO.getName()+" virtual list you subscribed to has been updated as follows:" + "
"; if(dummyContentChangeEOList.size() == 0){ //没有添加过需要进行第一次添加 Date thisTime = new Date(); List list = new ArrayList<>(); - if(dummyInventoryBaseEOList.size() != 0){ - String base = JSONArray.toJSONString(dummyInventoryBaseEOList); - DummyContentChangeEO dummyContentChangeEOBase = new DummyContentChangeEO(); - dummyContentChangeEOBase.setConnectId(dummyInventoryBaseEO.getId()); - dummyContentChangeEOBase.setContentJson(base); - dummyContentChangeEOBase.setUpdateTime(thisTime); - list.add(dummyContentChangeEOBase); - } if(dummyInventoryInfoEOList.size() != 0){ - disposeDataToEn(dummyInventoryInfoEOList); String info = JSONArray.toJSONString(dummyInventoryInfoEOList); DummyContentChangeEO dummyContentChangeEOInfo = new DummyContentChangeEO(); dummyContentChangeEOInfo.setParentId(dummyInventoryBaseEO.getId()); + dummyContentChangeEOInfo.setConnectId(dummyInventoryBaseEO.getId()); dummyContentChangeEOInfo.setContentJson(info); dummyContentChangeEOInfo.setUpdateTime(thisTime); list.add(dummyContentChangeEOInfo); @@ -386,132 +383,337 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl wrapperBase =new LambdaQueryWrapper<>(); - wrapperBase.in(DummyContentChangeEO::getConnectId,dummyInventoryBaseEO.getId()); - List dummyContentChangeEOBaseList = iDummyContentChangeEOService.list(wrapperBase); //2. 查询之前保存过的详情数据 LambdaQueryWrapper wrapperInfo =new LambdaQueryWrapper<>(); wrapperInfo.in(DummyContentChangeEO::getParentId,dummyInventoryBaseEO.getId()); List dummyContentChangeEOInfoList = iDummyContentChangeEOService.list(wrapperInfo); + if(dummyContentChangeEOInfoList.size() != 0){ + String contentJson = dummyContentChangeEOInfoList.get(0).getContentJson(); + List baseCJList = JSONArray.parseArray(contentJson, DummyInventoryInfoEO.class); + List serialNumberOldList = baseCJList.stream().map(DummyInventoryInfoEO::getSerialNumber).collect(Collectors.toList()); + //变更后的数据 + if(dummyInventoryInfoEOList.size() != 0){ + List serialNumberNewList = dummyInventoryInfoEOList.stream().map(DummyInventoryInfoEO::getSerialNumber).collect(Collectors.toList()); + //新增的法规 + List collectAdd = dummyInventoryInfoEOList.stream() + .filter(e -> !serialNumberOldList.contains(e.getSerialNumber())).collect(Collectors.toList()); - Date lastIssueTime = null; + List serialNumberAddList = serialNumberNewList.stream().filter(e->!serialNumberOldList.contains(e)).collect(Collectors.toList()); + //删除的法规 + List collectDelete = baseCJList.stream() + .filter(e -> !serialNumberNewList.contains(e.getSerialNumber())).collect(Collectors.toList()); + List serialNumberDeleteList = serialNumberOldList.stream().filter(e->!serialNumberNewList.contains(e)).collect(Collectors.toList()); - - if (CollectionUtils.isNotEmpty(dummyContentChangeEOInfoList)) { - lastIssueTime = dummyContentChangeEOInfoList.get(0).getUpdateTime(); - - if(CollectionUtils.isNotEmpty(dummyContentChangeEOInfoList)){ - //3.对比基础表数据 - //3.1截止到现在发布,期间修改的数据(基础) - //最新的数据为-->dummyInventoryBaseEOList - - //3.2基础表数据对比 - String baseCJ=dummyContentChangeEOBaseList.get(0).getContentJson(); - List baseCJList = JSONArray.parseArray(baseCJ, DummyInventoryBaseEO.class);//json转list - - //对比,获取值不同的字段 - Map baseDiff = null; - for(int i=0;i< baseCJList.size();i++) { - baseCJList.get(i); - dummyInventoryBaseEOList.get(i); - baseDiff = ListDiff.compareObject(baseCJList.get(i), dummyInventoryBaseEOList.get(i)); + //发消息 + int count = 1; + if(serialNumberAddList.size() != 0){ + List hrefList = new ArrayList<>(); + for (DummyInventoryInfoEO dummyInventoryInfoEO : collectAdd) { + String href = "" + dummyInventoryInfoEO.getSerialNumber() + ""; + hrefList.add(href); + } + contentLog += count+". New regulations: " + StringUtils.join(hrefList,",") + "
"; + count++; + } + if(serialNumberDeleteList.size() != 0){ + List hrefList = new ArrayList<>(); + for (DummyInventoryInfoEO dummyInventoryInfoEO : collectDelete) { + String href = "" + dummyInventoryInfoEO.getSerialNumber() + ""; + hrefList.add(href); + } + contentLog += count + ". Remove regulations: " + StringUtils.join(hrefList,",") + "
"; } - //4.查详情表两次发布的时间之间的数据 - if(lastIssueTime != now){ - QueryWrapper logEOQueryWrapper = new QueryWrapper<>(); - logEOQueryWrapper.orderByAsc("create_time") - .between("create_time",lastIssueTime,now) - .eq("dummy_inventory_base_id",dummyInventoryBaseEO.getId()) - .eq("is_en_log",CutEnum.EN.getValue()); - List updateLogList = dummyLogEOService.list(logEOQueryWrapper); - if(CollectionUtils.isNotEmpty(updateLogList)){ - List contentLogList = updateLogList.stream().map(e -> e.getLogContent()).collect(Collectors.toList()); - for(int i=0 ; i < contentLogList.size() ;i++){ - String content = contentLogList.get(i); - if(StringUtils.isNotBlank(content) && content.endsWith("
")){ - content = content.substring(0,content.length()-5); - } - contentLog += "("+ (i+1) +")" + content + "
"; + if(serialNumberAddList.size() != 0 || serialNumberDeleteList.size() != 0){ + List userNameList = dummyReadEOService.queryReadUserInfo(dummyInventoryBaseEO.getId()); + List thirdIdList = new ArrayList<>(); + if(userNameList.size() != 0){ + List userIdList = sysUserService.queryUserIdListByNameList(userNameList).stream().map(e -> e.getId()).collect(Collectors.toList()); + thirdIdList = sysUserService.queryUserIdListByNameList(userNameList).stream().map(e -> e.getThirdId()).collect(Collectors.toList()); + if(userIdList.size() != 0){ + //封装消息的实体类 + String title = "The "+ baseEO.getName()+" virtual list you subscribed to has been updated"; + SysAnnouncement sysAnnouncement = bussDocumentLibraryEOService.getSysAnnouncement(userIdList, title, title, contentLog,MessageTypeEnum.READ.getValue(),MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + sysAnnouncementService.saveAnnouncement(sysAnnouncement); + bussDocumentLibraryEOService.sendWebsocket(dummyInventoryBaseEO.getId(), title); + } + } + //飞书 + if(thirdIdList.size() != 0){ + String href = backUrl + "/virtualListDetails?name=" + baseEO.getName() + "&useExplain=" + baseEO.getUseExplain() +"&id=" + baseEO.getId() +"&title=维护虚拟清单"; + try { + iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), contentLog, MessageTypeEnum.PUSH.getName(), href); + } catch (IOException e) { + e.printStackTrace(); } } } - if(StringUtils.isNotBlank(contentLog) && contentLog.endsWith("
")){ - contentLog = contentLog.substring(0,contentLog.length()-5); - } - - //列表,维护清单不同的字段,addSerialNumber,deleteSerialNumber都为空->证明是没有更新的数据,不发送消息,数据不处理 - if(MapUtils.isNotEmpty(baseDiff) || StringUtils.isNotEmpty(contentLog)) { - //向订阅该领域管理的人发消息和飞书 - sendMsg(baseDiff, dummyContentChangeEOBaseList.get(0).getConnectId(), contentLog,dummyInventoryBaseEO.getState(),dummyInventoryBaseEO.getCut()); - - //5.数据对比完成后.更新之前保存的dummy_inventory_info中的content_json数据,重新保存最新的数据 - if(MapUtils.isNotEmpty(baseDiff)){//列表有不同字段 - String base = JSONArray.toJSONString(dummyInventoryBaseEOList); - UpdateWrapper baseUpdateWrapper=new UpdateWrapper<>(); - baseUpdateWrapper.set("content_json",base) - .set("update_by",sysUser.getUsername()) - .set("update_time",now) - .eq("connect_id",dummyInventoryBaseEOList.get(0).getId()); - dummyContentChangeEOMapper.update(null,baseUpdateWrapper); - } -// if(CollectionUtils.isNotEmpty(infoDiffList) || StringUtils.isNotEmpty(addSerialNumber) -// || StringUtils.isNotEmpty(deleteSerialNumber)){//维护清单有不同字段,addSerialNumber,deleteSerialNumber也有数据 - String info = JSONArray.toJSONString(dummyInventoryInfoEOList); - UpdateWrapper infoUpdateWrapper=new UpdateWrapper<>(); - infoUpdateWrapper.set("content_json",info) - .set("update_by",sysUser.getUsername()) - .set("update_time",now) - .eq("parent_id",dummyInventoryBaseEOList.get(0).getId()); - dummyContentChangeEOMapper.update(null,infoUpdateWrapper); -// } - } } - }else{//基础数据发布过,详情原为空-->有新增,再次发布 - List list = new ArrayList<>(); - if(dummyInventoryInfoEOList.size() != 0){ - disposeDataToEn(dummyInventoryInfoEOList); - String info = JSONArray.toJSONString(dummyInventoryInfoEOList); - DummyContentChangeEO dummyContentChangeEOInfo = new DummyContentChangeEO(); - dummyContentChangeEOInfo.setParentId(dummyInventoryBaseEO.getId()); - dummyContentChangeEOInfo.setContentJson(info); - list.add(dummyContentChangeEOInfo); - } - if(list.size() != 0){//原详情为空,查所有数据,不限时间 - QueryWrapper logEOQueryWrapper = new QueryWrapper<>(); - logEOQueryWrapper.orderByAsc("create_time") -// .between("create_time",lastIssueTime,now) - .eq("dummy_inventory_base_id",dummyInventoryBaseEO.getId()) - .eq("is_en_log",CutEnum.EN.getValue()); - List updateLogList = dummyLogEOService.list(logEOQueryWrapper); + //删除之前保存的变更的数据 + iDummyContentChangeEOService.deleteById(dummyContentChangeEOInfoList.get(0).getId()); - List contentLogList = updateLogList.stream().map(e -> e.getLogContent()).collect(Collectors.toList()); - for(int i=0 ; i < contentLogList.size() ;i++){ - String content = contentLogList.get(i); - if(StringUtils.isNotBlank(content) && content.endsWith("
")){ - content = content.substring(0,content.length()-5); - } - contentLog += "("+ (i+1) +")" + content + "
"; - } - if(StringUtils.isNotBlank(contentLog) && contentLog.endsWith("
")){ - contentLog = contentLog.substring(0,contentLog.length()-5); - } - iDummyContentChangeEOService.saveBatch(list); - sendMsg(null,dummyInventoryInfoEOList.get(0).getDummyInventoryBaseId(),contentLog ,dummyInventoryBaseEO.getState(),dummyInventoryBaseEO.getCut()); - - } + //重新保存 + DummyContentChangeEO dummyContentChangeEOInfo = new DummyContentChangeEO(); + String contentJsonTemp = JSONArray.toJSONString(dummyInventoryInfoEOList); + dummyContentChangeEOInfo.setParentId(dummyInventoryBaseEO.getId()); + dummyContentChangeEOInfo.setConnectId(dummyInventoryBaseEO.getId()); + dummyContentChangeEOInfo.setContentJson(contentJsonTemp); + dummyContentChangeEOInfo.setUpdateTime(new Date()); + iDummyContentChangeEOService.save(dummyContentChangeEOInfo); } } }else{ //撤回,需要发消息 try { - sendMsg(null, dummyInventoryBaseEO.getId(),null,dummyInventoryBaseEO.getState(),dummyInventoryBaseEO.getCut()); + List userNameList = dummyReadEOService.queryReadUserInfo(dummyInventoryBaseEO.getId()); + List thirdIdList = new ArrayList<>(); + if(userNameList.size() != 0){ + List userIdList = sysUserService.queryUserIdListByNameList(userNameList).stream().map(e -> e.getId()).collect(Collectors.toList()); + thirdIdList = sysUserService.queryUserIdListByNameList(userNameList).stream().map(e -> e.getThirdId()).collect(Collectors.toList()); + if(userIdList.size() != 0){ + //封装消息的实体类 The XX virtual list you subscribed to has been withdrawn + String title = "The "+ baseEO.getName()+" virtual list you subscribed to has been withdrawn"; + //Please note that the XX virtual list you subscribed to has been withdrawn. + String contentLog = "Please note that the "+ baseEO.getName()+" virtual list you subscribed to has been withdrawn"; + SysAnnouncement sysAnnouncement = bussDocumentLibraryEOService.getSysAnnouncement(userIdList, title, title, contentLog,MessageTypeEnum.READ.getValue(),MessageTypeEnum.SYSTEMATIC_NOTIFICATION.getName()); + sysAnnouncementService.saveAnnouncement(sysAnnouncement); + bussDocumentLibraryEOService.sendWebsocket(dummyInventoryBaseEO.getId(), title); + } + sendMsg(null, dummyInventoryBaseEO.getId(),null,dummyInventoryBaseEO.getState(),dummyInventoryBaseEO.getCut()); + } + //飞书 + if(thirdIdList.size() != 0){ + String contentInfoTemp = "Please note that the "+ baseEO.getName()+" virtual list you subscribed to has been withdrawn"; + String href = backUrl + "/virtualListDetails?name=" + baseEO.getName() + "&useExplain=" + baseEO.getUseExplain() +"&id=" + baseEO.getId() +"&title=维护虚拟清单"; + iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), contentInfoTemp, MessageTypeEnum.PUSH.getName(), href); + } }catch (Exception e){ e.printStackTrace(); } } } +// /** +// * 发布 +// * 发布与撤回均需要发消息 +// * 首次发布不发消息 +// * +// * @param dummyInventoryBaseEO +// */ +// @Override +// @Transactional +// public void issue(DummyInventoryBaseEO dummyInventoryBaseEO){ +// // 增加创建者校验 +// LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); +// String loginUserName = sysUser.getUsername(); +// +// DummyInventoryBaseEO baseEO = queryById(dummyInventoryBaseEO.getId()); +// List createByNameList =new ArrayList<>(); +// if (StringUtils.isNotBlank(baseEO.getCreateBy())) { +// createByNameList = Arrays.asList(baseEO.getCreateBy().split(",")); +// +// if (CollectionUtils.isNotEmpty(createByNameList)){ +// if (!createByNameList.contains(loginUserName)) { +// if (CutEnum.CN.getValue().equals(dummyInventoryBaseEO.getCut())) { +// throw new JeroBootException("当前用户非创建者,无法发布"); +// } else { +// throw new JeroBootException("The current user is not the creator and cannot be issued."); +// } +// } +// } +// } +// Date now = new Date(); +// UpdateWrapper baseWrapper=new UpdateWrapper<>(); +// baseWrapper.set("state",dummyInventoryBaseEO.getState()); +// +// if(InventoryStateEnum.ISSUE.getValue().equals(dummyInventoryBaseEO.getState())){ +// baseWrapper.set("update_by",sysUser.getUsername()) +// .set("update_time",now); +// } +// baseWrapper.eq("id",dummyInventoryBaseEO.getId()); +// dummyInventoryBaseEOMapper.update(null,baseWrapper); +//// this.updateById(dummyInventoryBaseEO); +// //不管有没有维护清单,都返回操作成功 +// //发布与撤回均需要发消息(向订阅的人员发消息) +// //首次发布不发消息 +// //(1)首次发布将虚拟清单的基础数据和详情数据存入维护清单内容变更表_dummy_content_change +// //(2)撤回再次编辑完后再次发布,发消息 +// //A. 分别判断基础数据和详情数据同上次发布的数据是否发生变化 +// //发生变化-->发消息,删除dummy_content_change中上一次存入的数据,将本次数据存入 +// //没有变化-->不发消息,数据不处理 +// +// //先判断是发布还是撤回 1-->发布 2-->撤回 +// //撤回需要发消息 +// +// if(InventoryStateEnum.ISSUE.getValue().equals(dummyInventoryBaseEO.getState())){ +// //先判断第一次发布的时候是否保存过数据 +// LambdaQueryWrapper wrapper =new LambdaQueryWrapper<>(); +// wrapper.in(DummyContentChangeEO::getConnectId,dummyInventoryBaseEO.getId()); +// List dummyContentChangeEOList = iDummyContentChangeEOService.list(wrapper); +// //基础数据 +// LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); +// queryWrapper.in(DummyInventoryBaseEO::getId,dummyInventoryBaseEO.getId()); +// List dummyInventoryBaseEOList = this.list(queryWrapper); +// //详情数据 +// LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); +// lambdaQueryWrapper.in(DummyInventoryInfoEO::getDummyInventoryBaseId,dummyInventoryBaseEO.getId()); +// List dummyInventoryInfoEOList = iDummyInventoryInfoEOService.list(lambdaQueryWrapper); +// String contentLog = ""; +// +// if(dummyContentChangeEOList.size() == 0){ +// //没有添加过需要进行第一次添加 +// Date thisTime = new Date(); +// List list = new ArrayList<>(); +// if(dummyInventoryBaseEOList.size() != 0){ +// String base = JSONArray.toJSONString(dummyInventoryBaseEOList); +// DummyContentChangeEO dummyContentChangeEOBase = new DummyContentChangeEO(); +// dummyContentChangeEOBase.setConnectId(dummyInventoryBaseEO.getId()); +// dummyContentChangeEOBase.setContentJson(base); +// dummyContentChangeEOBase.setUpdateTime(thisTime); +// list.add(dummyContentChangeEOBase); +// } +// if(dummyInventoryInfoEOList.size() != 0){ +// disposeDataToEn(dummyInventoryInfoEOList); +// String info = JSONArray.toJSONString(dummyInventoryInfoEOList); +// DummyContentChangeEO dummyContentChangeEOInfo = new DummyContentChangeEO(); +// dummyContentChangeEOInfo.setParentId(dummyInventoryBaseEO.getId()); +// dummyContentChangeEOInfo.setContentJson(info); +// dummyContentChangeEOInfo.setUpdateTime(thisTime); +// list.add(dummyContentChangeEOInfo); +// } +// if(list.size() != 0){ +// iDummyContentChangeEOService.saveBatch(list); +// } +// }else{ +// //1.查询之前保存过的基础数据 +// LambdaQueryWrapper wrapperBase =new LambdaQueryWrapper<>(); +// wrapperBase.in(DummyContentChangeEO::getConnectId,dummyInventoryBaseEO.getId()); +// List dummyContentChangeEOBaseList = iDummyContentChangeEOService.list(wrapperBase); +// //2. 查询之前保存过的详情数据 +// LambdaQueryWrapper wrapperInfo =new LambdaQueryWrapper<>(); +// wrapperInfo.in(DummyContentChangeEO::getParentId,dummyInventoryBaseEO.getId()); +// List dummyContentChangeEOInfoList = iDummyContentChangeEOService.list(wrapperInfo); +// +// Date lastIssueTime = null; +// +// +// if (CollectionUtils.isNotEmpty(dummyContentChangeEOInfoList)) { +// lastIssueTime = dummyContentChangeEOInfoList.get(0).getUpdateTime(); +// +// if(CollectionUtils.isNotEmpty(dummyContentChangeEOInfoList)){ +// //3.对比基础表数据 +// //3.1截止到现在发布,期间修改的数据(基础) +// //最新的数据为-->dummyInventoryBaseEOList +// +// //3.2基础表数据对比 +// String baseCJ=dummyContentChangeEOBaseList.get(0).getContentJson(); +// List baseCJList = JSONArray.parseArray(baseCJ, DummyInventoryBaseEO.class);//json转list +// +// //对比,获取值不同的字段 +// Map baseDiff = null; +// for(int i=0;i< baseCJList.size();i++) { +// baseCJList.get(i); +// dummyInventoryBaseEOList.get(i); +// baseDiff = ListDiff.compareObject(baseCJList.get(i), dummyInventoryBaseEOList.get(i)); +// } +// +// //4.查详情表两次发布的时间之间的数据 +// if(lastIssueTime != now){ +// QueryWrapper logEOQueryWrapper = new QueryWrapper<>(); +// logEOQueryWrapper.orderByAsc("create_time") +// .between("create_time",lastIssueTime,now) +// .eq("dummy_inventory_base_id",dummyInventoryBaseEO.getId()) +// .eq("is_en_log",CutEnum.EN.getValue()); +// List updateLogList = dummyLogEOService.list(logEOQueryWrapper); +// if(CollectionUtils.isNotEmpty(updateLogList)){ +// List contentLogList = updateLogList.stream().map(e -> e.getLogContent()).collect(Collectors.toList()); +// for(int i=0 ; i < contentLogList.size() ;i++){ +// String content = contentLogList.get(i); +// if(StringUtils.isNotBlank(content) && content.endsWith("
")){ +// content = content.substring(0,content.length()-5); +// } +// contentLog += "("+ (i+1) +")" + content + "
"; +// } +// } +// } +// if(StringUtils.isNotBlank(contentLog) && contentLog.endsWith("
")){ +// contentLog = contentLog.substring(0,contentLog.length()-5); +// } +// +// //列表,维护清单不同的字段,addSerialNumber,deleteSerialNumber都为空->证明是没有更新的数据,不发送消息,数据不处理 +// if(MapUtils.isNotEmpty(baseDiff) || StringUtils.isNotEmpty(contentLog)) { +// //向订阅该领域管理的人发消息和飞书 +// sendMsg(baseDiff, dummyContentChangeEOBaseList.get(0).getConnectId(), contentLog,dummyInventoryBaseEO.getState(),dummyInventoryBaseEO.getCut()); +// +// //5.数据对比完成后.更新之前保存的dummy_inventory_info中的content_json数据,重新保存最新的数据 +// if(MapUtils.isNotEmpty(baseDiff)){//列表有不同字段 +// String base = JSONArray.toJSONString(dummyInventoryBaseEOList); +// UpdateWrapper baseUpdateWrapper=new UpdateWrapper<>(); +// baseUpdateWrapper.set("content_json",base) +// .set("update_by",sysUser.getUsername()) +// .set("update_time",now) +// .eq("connect_id",dummyInventoryBaseEOList.get(0).getId()); +// dummyContentChangeEOMapper.update(null,baseUpdateWrapper); +// } +//// if(CollectionUtils.isNotEmpty(infoDiffList) || StringUtils.isNotEmpty(addSerialNumber) +//// || StringUtils.isNotEmpty(deleteSerialNumber)){//维护清单有不同字段,addSerialNumber,deleteSerialNumber也有数据 +// String info = JSONArray.toJSONString(dummyInventoryInfoEOList); +// UpdateWrapper infoUpdateWrapper=new UpdateWrapper<>(); +// infoUpdateWrapper.set("content_json",info) +// .set("update_by",sysUser.getUsername()) +// .set("update_time",now) +// .eq("parent_id",dummyInventoryBaseEOList.get(0).getId()); +// dummyContentChangeEOMapper.update(null,infoUpdateWrapper); +//// } +// } +// } +// }else{//基础数据发布过,详情原为空-->有新增,再次发布 +// List list = new ArrayList<>(); +// if(dummyInventoryInfoEOList.size() != 0){ +// disposeDataToEn(dummyInventoryInfoEOList); +// String info = JSONArray.toJSONString(dummyInventoryInfoEOList); +// DummyContentChangeEO dummyContentChangeEOInfo = new DummyContentChangeEO(); +// dummyContentChangeEOInfo.setParentId(dummyInventoryBaseEO.getId()); +// dummyContentChangeEOInfo.setContentJson(info); +// list.add(dummyContentChangeEOInfo); +// } +// if(list.size() != 0){//原详情为空,查所有数据,不限时间 +// QueryWrapper logEOQueryWrapper = new QueryWrapper<>(); +// logEOQueryWrapper.orderByAsc("create_time") +//// .between("create_time",lastIssueTime,now) +// .eq("dummy_inventory_base_id",dummyInventoryBaseEO.getId()) +// .eq("is_en_log",CutEnum.EN.getValue()); +// List updateLogList = dummyLogEOService.list(logEOQueryWrapper); +// +// List contentLogList = updateLogList.stream().map(e -> e.getLogContent()).collect(Collectors.toList()); +// for(int i=0 ; i < contentLogList.size() ;i++){ +// String content = contentLogList.get(i); +// if(StringUtils.isNotBlank(content) && content.endsWith("
")){ +// content = content.substring(0,content.length()-5); +// } +// contentLog += "("+ (i+1) +")" + content + "
"; +// } +// if(StringUtils.isNotBlank(contentLog) && contentLog.endsWith("
")){ +// contentLog = contentLog.substring(0,contentLog.length()-5); +// } +// iDummyContentChangeEOService.saveBatch(list); +// sendMsg(null,dummyInventoryInfoEOList.get(0).getDummyInventoryBaseId(),contentLog ,dummyInventoryBaseEO.getState(),dummyInventoryBaseEO.getCut()); +// +// } +// } +// } +// }else{ +// //撤回,需要发消息 +// try { +// sendMsg(null, dummyInventoryBaseEO.getId(),null,dummyInventoryBaseEO.getState(),dummyInventoryBaseEO.getCut()); +// }catch (Exception e){ +// e.printStackTrace(); +// } +// } +// } //翻译成中文名 public void disposeData(List records) {