From 63836c5c7685aca50496ae95b40b67636cb95052 Mon Sep 17 00:00:00 2001 From: xiejunyu Date: Sat, 7 May 2022 16:36:01 +0800 Subject: [PATCH] =?UTF-8?q?=E8=99=9A=E6=8B=9F=E6=B8=85=E5=8D=95-=E5=8F=91?= =?UTF-8?q?=E5=B8=83=E5=8F=91=E9=80=81=E6=B6=88=E6=81=AF+=E6=92=A4?= =?UTF-8?q?=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DummyInventoryBaseEOController.java | 43 +- .../enums/DummyInventoryBaseDictCodeEnum.java | 3 +- .../impl/DummyInventoryBaseEOServiceImpl.java | 620 ++++++++++-------- .../com/jero/modules/dummy/util/ListDiff.java | 19 +- 4 files changed, 393 insertions(+), 292 deletions(-) diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyInventoryBaseEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyInventoryBaseEOController.java index 067627513..ad69b13f0 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyInventoryBaseEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/controller/DummyInventoryBaseEOController.java @@ -1,27 +1,28 @@ package com.jero.modules.dummy.controller; -import java.util.Arrays; -import java.util.List; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.jero.common.api.vo.Result; +import com.jero.common.aspect.annotation.AutoLog; import com.jero.common.constant.enums.CutEnum; +import com.jero.common.system.base.controller.JeroController; import com.jero.common.system.query.QueryGenerator; import com.jero.modules.dummy.entity.DummyInventoryBaseEO; import com.jero.modules.dummy.enums.InventoryStateEnum; import com.jero.modules.dummy.service.IDummyInventoryBaseEOService; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; -import com.baomidou.mybatisplus.core.metadata.IPage; -import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; -import com.jero.common.system.base.controller.JeroController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import com.jero.common.aspect.annotation.AutoLog; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.List; /** @@ -212,16 +213,24 @@ public class DummyInventoryBaseEOController extends JeroController发布 2-->撤回 //撤回需要发消息 - if(InventoryStateEnum.ISSUE.getValue().equals(dummyInventoryBaseEO.getState())){ //先判断第一次发布的时候是否保存过数据 LambdaQueryWrapper wrapper =new LambdaQueryWrapper<>(); @@ -310,11 +314,8 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl infoCJBaseSerialNumberList = infoCJList.stream().map(e -> e.getSerialNumber()).collect(Collectors.toList()); - - List dummyInventoryInfoEOSerialNumberList = dummyInventoryInfoEOList.stream().map(e -> e.getSerialNumber()).collect(Collectors.toList()); - List sameDummyInventoryInfoEOList = new ArrayList<>(); List sameinfoCJList = new ArrayList<>(); if (CollectionUtils.isNotEmpty(dummyInventoryInfoEOSerialNumberList)) { @@ -346,9 +347,15 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl> infoDiffList=new ArrayList<>(); for (int i = 0; i < sameinfoCJList.size(); i++) { - infoDiff = ListDiff.compareObject(sameinfoCJList.get(i), sameDummyInventoryInfoEOList.get(i)); + try {//!!! + infoDiff = ListDiff.compareObject(sameinfoCJList.get(i), sameDummyInventoryInfoEOList.get(i)); + }catch (Exception e){ + e.printStackTrace(); + } if (MapUtils.isNotEmpty(infoDiff)) { - infoDiffList.add(infoDiff); + if(infoDiff.size() > 1) { + infoDiffList.add(infoDiff); + } } } @@ -375,35 +382,50 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl不发送消息,数据不处理 + if(MapUtils.isNotEmpty(baseDiff) || CollectionUtils.isNotEmpty(infoDiffList)) { + //向订阅该领域管理的人发消息和飞书 + sendMsg(baseDiff, dummyContentChangeEOBaseList.get(0).getConnectId(), infoDiffList, addSerialNumber, deleteSerialNumber,dummyInventoryBaseEO.getState()); + Date now=new Date(); + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + //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)){//维护清单有不同字段 + 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{ - //撤回 - + //撤回,需要发消息 + sendMsg(null, dummyInventoryBaseEO.getId(),null, null , null,dummyInventoryBaseEO.getState()); } - - } public void disposeData(List records) { Set technologyTerritorySet = new HashSet<>(); for (DummyInventoryInfoEO dummyInventoryInfoEO : records) { //技术领域 - if(StringUtils.isNotBlank(dummyInventoryInfoEO.getTechnologyTerritory())){ + if (StringUtils.isNotBlank(dummyInventoryInfoEO.getTechnologyTerritory())) { List list = Arrays.asList(dummyInventoryInfoEO.getTechnologyTerritory().split(",")); technologyTerritorySet.addAll(list); } //树形结构数据字典(技术领域) List categoryList = new ArrayList<>(); - if(technologyTerritorySet.size() != 0){ + if (technologyTerritorySet.size() != 0) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.in(SysCategory::getId, technologyTerritorySet); categoryList = sysCategoryService.list(wrapper); @@ -414,9 +436,9 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl collect = categoryList.stream().filter(e -> technologyTerritory.equals(e.getId())).collect(Collectors.toList()); - if(collect.size() != 0){ + if (collect.size() != 0) { // if (CutEnum.CN.getValue().equals(dummyInventoryInfoEO.getCut())) { - sb.append(collect.get(0).getName()+ ","); + sb.append(collect.get(0).getName() + ","); // } else { // sb.append(collect.get(0).getEnName()+ ","); // } @@ -428,115 +450,169 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl dutyTerritory = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.DUTY_TERRITORY.getValue()); - List dutyTerritoryList = Arrays.asList(dummyInventoryInfoEO.getDutyTerritory().split(",")); - StringBuilder dutyTerritoryBuilder =new StringBuilder(); - for(String midDutyTerritory : dutyTerritoryList){ - String dutyTerritoryName = dutyTerritory.stream().filter(e -> e.getItemValue().equals(midDutyTerritory)).map(f -> f.getItemText()).collect(Collectors.joining(",")); - dutyTerritoryBuilder.append(dutyTerritoryName).append(","); + //适用范围 SHI4_YONG4_FAN4_WEI2("","apply_scope"), + // REGION("适用地区","region"), + if (StringUtils.isNotBlank(dummyInventoryInfoEO.getShi4Yong4Fan4Wei2())) { + List shi4Yong4Fan4Wei2 = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.SHI4_YONG4_FAN4_WEI2.getValue()); + List shi4Yong4Fan4Wei2List = Arrays.asList(dummyInventoryInfoEO.getShi4Yong4Fan4Wei2().split(",")); + StringBuilder shi4Yong4Fan4Wei2Builder = new StringBuilder(); + for (String midshi4Yong4Fan4Wei2 : shi4Yong4Fan4Wei2List) { + String shi4Yong4Fan4Wei2Name = shi4Yong4Fan4Wei2.stream().filter(e -> e.getItemValue().equals(midshi4Yong4Fan4Wei2)).map(f -> f.getItemText()).collect(Collectors.joining(",")); + shi4Yong4Fan4Wei2Builder.append(shi4Yong4Fan4Wei2Name).append(","); + } + dummyInventoryInfoEO.setShi4Yong4Fan4Wei2(shi4Yong4Fan4Wei2Builder.substring(0, shi4Yong4Fan4Wei2Builder.toString().length() - 1)); + } + //适用地区 + if (StringUtils.isNotBlank(dummyInventoryInfoEO.getRegion())) { + List region = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.REGION.getValue()); + List regionList = Arrays.asList(dummyInventoryInfoEO.getRegion().split(",")); + StringBuilder regionBuilder = new StringBuilder(); + for (String midRegion : regionList) { + String regionName = region.stream().filter(e -> e.getItemValue().equals(midRegion)).map(f -> f.getItemText()).collect(Collectors.joining(",")); + regionBuilder.append(regionName).append(","); + } + dummyInventoryInfoEO.setRegion(regionBuilder.substring(0, regionBuilder.toString().length() - 1)); + } + //责任领域 + if (StringUtils.isNotBlank(dummyInventoryInfoEO.getDutyTerritory())) { + List dutyTerritory = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.DUTY_TERRITORY.getValue()); + List dutyTerritoryList = Arrays.asList(dummyInventoryInfoEO.getDutyTerritory().split(",")); + StringBuilder dutyTerritoryBuilder = new StringBuilder(); + for (String midDutyTerritory : dutyTerritoryList) { + String dutyTerritoryName = dutyTerritory.stream().filter(e -> e.getItemValue().equals(midDutyTerritory)).map(f -> f.getItemText()).collect(Collectors.joining(",")); + dutyTerritoryBuilder.append(dutyTerritoryName).append(","); + } + dummyInventoryInfoEO.setDutyTerritory(dutyTerritoryBuilder.substring(0, dutyTerritoryBuilder.toString().length() - 1)); } - dummyInventoryInfoEO.setDutyTerritory(dutyTerritoryBuilder.substring(0,dutyTerritoryBuilder.toString().length()-1)); - //实施类别 - List implementType = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.IMPLEMENT_TYPE.getValue()); - String implementTypeName = implementType.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getImplementType())).map(f -> f.getItemText()).collect(Collectors.joining(",")); - dummyInventoryInfoEO.setImplementType(implementTypeName); - + if (StringUtils.isNotBlank(dummyInventoryInfoEO.getImplementType())) { + List implementType = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.IMPLEMENT_TYPE.getValue()); + String implementTypeName = implementType.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getImplementType())).map(f -> f.getItemText()).collect(Collectors.joining(",")); + dummyInventoryInfoEO.setImplementType(implementTypeName); + } //认证级别 - List attestationType = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.ATTESTATION_TYPE.getValue()); - String attestationTypeName = attestationType.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getAttestationType())).map(f -> f.getItemText()).collect(Collectors.joining(",")); - dummyInventoryInfoEO.setAttestationType(attestationTypeName); - + if(StringUtils.isNotBlank(dummyInventoryInfoEO.getAttestationType())) { + List attestationType = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.ATTESTATION_TYPE.getValue()); + String attestationTypeName = attestationType.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getAttestationType())).map(f -> f.getItemText()).collect(Collectors.joining(",")); + dummyInventoryInfoEO.setAttestationType(attestationTypeName); + } //认证级别 - List attestationRank = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.ATTESTATION_RANK.getValue()); - String attestationRankName = attestationRank.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getAttestationRank())).map(f -> f.getItemText()).collect(Collectors.joining(",")); - dummyInventoryInfoEO.setAttestationRank(attestationRankName); - + if (StringUtils.isNotBlank(dummyInventoryInfoEO.getAttestationRank())) { + List attestationRank = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.ATTESTATION_RANK.getValue()); + String attestationRankName = attestationRank.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getAttestationRank())).map(f -> f.getItemText()).collect(Collectors.joining(",")); + dummyInventoryInfoEO.setAttestationRank(attestationRankName); + } //交付物类型 List deliverableTemplate = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.DELIVERABLE_TEMPLATE.getValue()); //设计符合性确认-交付物类型 // designDeliverableType; - String designDeliverableTypeName = deliverableTemplate.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getDesignDeliverableType())).map(f -> f.getItemText()).collect(Collectors.joining(",")); - dummyInventoryInfoEO.setDesignDeliverableType(designDeliverableTypeName); + 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; - String prehomoDeliverableTypeName = deliverableTemplate.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getPrehomoDeliverableType())).map(f -> f.getItemText()).collect(Collectors.joining(",")); - dummyInventoryInfoEO.setPrehomoDeliverableType(prehomoDeliverableTypeName); + 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; - String verifyDeliverableTypeName = deliverableTemplate.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getVerifyDeliverableType())).map(f -> f.getItemText()).collect(Collectors.joining(",")); - dummyInventoryInfoEO.setVerifyDeliverableType(verifyDeliverableTypeName); + 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); + } //发起人 List fa1_qi3_ren2 = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.FA1_QI3_REN2.getValue()); //设计符合性确认-发起人 // designInitiator; - String designInitiatorName = fa1_qi3_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getDesignInitiator())).map(f -> f.getItemText()).collect(Collectors.joining(",")); - dummyInventoryInfoEO.setDesignInitiator(designInitiatorName); + 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; - String prehomoInitiatorName = fa1_qi3_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getPrehomoInitiator())).map(f -> f.getItemText()).collect(Collectors.joining(",")); - dummyInventoryInfoEO.setPrehomoInitiator(prehomoInitiatorName); + 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; - String verifyInitiatorName = fa1_qi3_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getVerifyInitiator())).map(f -> f.getItemText()).collect(Collectors.joining(",")); - dummyInventoryInfoEO.setVerifyInitiator(verifyInitiatorName); + 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); + } //责任人 List ze2_ren4_ren2 = sysDictItemMapper.selectItemsByDictCode(DummyInventoryBaseDictCodeEnum.ZE2_REN2_REN2.getValue()); //设计符合性确认-责任人 // designDuty; - String designDutyName = ze2_ren4_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getDesignDuty())).map(f -> f.getItemText()).collect(Collectors.joining(",")); - dummyInventoryInfoEO.setDesignDuty(designDutyName); + 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; - String prehomoDutyName = ze2_ren4_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getPrehomoDuty())).map(f -> f.getItemText()).collect(Collectors.joining(",")); - dummyInventoryInfoEO.setPrehomoDuty(prehomoDutyName); + 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; - String verifyDutyName = ze2_ren4_ren2.stream().filter(e -> e.getItemValue().equals(dummyInventoryInfoEO.getVerifyDuty())).map(f -> f.getItemText()).collect(Collectors.joining(",")); - dummyInventoryInfoEO.setVerifyDuty(verifyDutyName); - - + 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); + } } } //发送消息 - private void sendMsg(Map baseDiff, String idTemp,List> infoDiffList,String addSerialNumber,String deleteSerialNumber) { + private void sendMsg(Map baseDiff, String idTemp,List> infoDiffList, + String addSerialNumber,String deleteSerialNumber,String state) { - String baseName=queryById(idTemp).getName();//基础表id + String baseName = queryById(idTemp).getName();//基础表id + //查询订阅用户 List userNameList = dummyReadEOService.queryReadUserInfo(idTemp); - List userIdList=sysUserService.queryUserIdListByNameList(userNameList).stream().map(e->e.getId()).collect(Collectors.toList()); - //给发送消息的用户 - if(userIdList.size() == 0){ - return; - } - List sysUsers = sysUserService.listByIds(userIdList); - List thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); - if (userIdList.size() != 0) { - String href = backUrl + "/dummy/dummyInventoryBaseEO/issue?id=" + idTemp; - - //The xx virtual list you subscribed to has been updated as follows:1 . xxxxx 2.xxxx - String content = "The " + baseName + " virtual list you subscribed to has been updated."; - String contentInfo = "The " + baseName + " virtual list you subscribed to has been updated as follows : " + "\r\n"; - //拼接维护清单的消息 - contentInfo =setContentInfo(contentInfo,baseDiff,infoDiffList,addSerialNumber,deleteSerialNumber); - System.out.println(contentInfo); - //封装消息的实体类 - SysAnnouncement sysAnnouncement = bussDocumentLibraryEOService.getSysAnnouncement(userIdList, content, contentInfo); - sysAnnouncementService.saveAnnouncement(sysAnnouncement); - bussDocumentLibraryEOService.sendWebsocket(idTemp, idTemp); - //飞书 - try { - iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), content, MessageTypeEnum.PUSH.getName(), href); - } catch (IOException e) { - log.error("飞书消息推送失败"); + if (CollectionUtils.isNotEmpty(userNameList)) { + List userIdList = sysUserService.queryUserIdListByNameList(userNameList).stream().map(e -> e.getId()).collect(Collectors.toList()); + //给发送消息的用户 + if (userIdList.size() == 0) { + return; } + List sysUsers = sysUserService.listByIds(userIdList); + List thirdIdList = sysUsers.stream().map(SysUser::getThirdId).collect(Collectors.toList()); + if (userIdList.size() != 0) { + String href = backUrl + "/dummy/dummyInventoryBaseEO/issue?id=" + idTemp; + String content = null; + String contentInfo = null; + if(InventoryStateEnum.ISSUE.getValue().equals(state)) { + //The xx virtual list you subscribed to has been updated as follows:1 . xxxxx 2.xxxx + content = "The " + baseName + " virtual list you subscribed to has been updated."; + contentInfo = "The " + baseName + " virtual list you subscribed to has been updated as follows : " + "\r\n"; + //拼接维护清单的消息 + contentInfo = setContentInfo(contentInfo, baseDiff, infoDiffList, addSerialNumber, deleteSerialNumber); + + }else{//撤回的消息 + content = "The " + baseName + " virtual list you subscribed to has been withdrawn,please note."; + contentInfo = "The " + baseName + " virtual list you subscribed to has been withdrawn,please note."; + } + //封装消息的实体类 + SysAnnouncement sysAnnouncement = bussDocumentLibraryEOService.getSysAnnouncement(userIdList, content, contentInfo); + sysAnnouncementService.saveAnnouncement(sysAnnouncement); + bussDocumentLibraryEOService.sendWebsocket(idTemp, idTemp); + //飞书 + try { + iFeishuService.batchSendMessage(thirdIdList.toArray(new String[]{}), content, MessageTypeEnum.PUSH.getName(), href); + } catch (IOException e) { + log.error("飞书消息推送失败"); + } + } + } else { + throw new JeroBootException("该虚拟清单未被订阅,消息发送失败"); } } - ////拼接维护清单的消息 public String setContentInfo(String contentInfo, Map baseDiff, List> infoDiffList , String addSerialNumber, String deleteSerialNumber) { @@ -575,187 +651,189 @@ public class DummyInventoryBaseEOServiceImpl extends ServiceImpl infoDiff: infoDiffList) { - int infoDiffRow=1; - contentInfo += row + ". The serial Number " + infoDiff.get("serialNumber") + " has been updated as follows : " + "\r\n"; - //技术领域 - if (StringUtils.isNotBlank(infoDiff.get("technologyTerritoryName"))) { + for (Map infoDiff : infoDiffList) { + if (infoDiff.size() > 1) { + int infoDiffRow = 1; + contentInfo += row + ". The serial Number " + infoDiff.get("serialNumber") + " has been updated as follows : " + "\r\n"; + //技术领域 + if (StringUtils.isNotBlank(infoDiff.get("technologyTerritoryName"))) { - List list = Arrays.asList(infoDiff.get("technologyTerritoryName").split("\\|")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). Technology territory has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; + List list = Arrays.asList(infoDiff.get("technologyTerritoryName").split("\\|")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Technology territory has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //新车型实施日期 + if (StringUtils.isNotBlank(infoDiff.get("xin1Che1Xing2Shi2Shi1Ri4Qi1"))) { + List list = Arrays.asList(infoDiff.get("xin1Che1Xing2Shi2Shi1Ri4Qi1").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). The implementation date of new model has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //在产车实施日期 + if (StringUtils.isNotBlank(infoDiff.get("implementTime"))) { + List list = Arrays.asList(infoDiff.get("implementTime").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Implement time has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //WVTA ID + if (StringUtils.isNotBlank(infoDiff.get("wvtaId"))) { + List list = Arrays.asList(infoDiff.get("wvtaId").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). WVTA ID has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //子标题 + if (StringUtils.isNotBlank(infoDiff.get("subtitle"))) { + List list = Arrays.asList(infoDiff.get("subtitle").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Subtitle has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //实施类别 + if (StringUtils.isNotBlank(infoDiff.get("implementType"))) { + List list = Arrays.asList(infoDiff.get("implementType").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Implement type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //认证类型 + if (StringUtils.isNotBlank(infoDiff.get("attestationType"))) { + List list = Arrays.asList(infoDiff.get("attestationType").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Attestation type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //认证级别 + if (StringUtils.isNotBlank(infoDiff.get("attestationRank"))) { + List list = Arrays.asList(infoDiff.get("attestationRank").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Attestation rank has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //责任领域 + if (StringUtils.isNotBlank(infoDiff.get("dutyTerritory"))) { + List list = Arrays.asList(infoDiff.get("dutyTerritory").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Duty territory has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //备注 + if (StringUtils.isNotBlank(infoDiff.get("remark"))) { + List list = Arrays.asList(infoDiff.get("remark").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1); + contentInfo += "(" + infoDiffRow + "). Remark has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //设计符合性确认-交付物类型 + if (StringUtils.isNotBlank(infoDiff.get("designDeliverableType"))) { + List list = Arrays.asList(infoDiff.get("designDeliverableType").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Design deliverable type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //设计符合性确认-交付物模板 + if (StringUtils.isNotBlank(infoDiff.get("designDeliverableTemplate"))) { + List list = Arrays.asList(infoDiff.get("designDeliverableTemplate").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Design deliverable template has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //设计符合性确认-发起人 + if (StringUtils.isNotBlank(infoDiff.get("designInitiator"))) { + List list = Arrays.asList(infoDiff.get("designInitiator").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Design initiator has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //设计符合性确认-责任人 + if (StringUtils.isNotBlank(infoDiff.get("designDuty"))) { + List list = Arrays.asList(infoDiff.get("designDuty").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Design duty has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //prehomo确认-交付物类型 + if (StringUtils.isNotBlank(infoDiff.get("prehomoDeliverableType"))) { + List list = Arrays.asList(infoDiff.get("prehomoDeliverableType").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Prehomo deliverable type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //prehomo确认-交付物模板 + if (StringUtils.isNotBlank(infoDiff.get("prehomoDeliverableTemplate"))) { + List list = Arrays.asList(infoDiff.get("prehomoDeliverableTemplate").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Prehomo deliverable template has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //prehomo确认-发起人 + if (StringUtils.isNotBlank(infoDiff.get("prehomoInitiator"))) { + List list = Arrays.asList(infoDiff.get("prehomoInitiator").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Prehomo initiator has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //prehomo确认-责任人 + if (StringUtils.isNotBlank(infoDiff.get("prehomoDuty"))) { + List list = Arrays.asList(infoDiff.get("prehomoDuty").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Prehomo duty has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //验证符合性确认-交付物类型 + if (StringUtils.isNotBlank(infoDiff.get("verifyDeliverableType"))) { + List list = Arrays.asList(infoDiff.get("verifyDeliverableType").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Verify deliverable type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //验证符合性确认-交付物模板 + if (StringUtils.isNotBlank(infoDiff.get("verifyDeliverableTemplate"))) { + List list = Arrays.asList(infoDiff.get("verifyDeliverableTemplate").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Verify deliverable template has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //验证符合性确认-发起人 + if (StringUtils.isNotBlank(infoDiff.get("verifyInitiator"))) { + List list = Arrays.asList(infoDiff.get("verifyInitiator").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Verify initiator has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + //验证符合性确认-责任人 + if (StringUtils.isNotBlank(infoDiff.get("verifyDuty"))) { + List list = Arrays.asList(infoDiff.get("verifyDuty").split(",")); + String infoDiffOld = list.get(0); + String infoDiffNew = list.get(1);//需要翻译 + contentInfo += "(" + infoDiffRow + "). Verify duty has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; + infoDiffRow++; + } + row++; } - //新车型实施日期 - if (StringUtils.isNotBlank(infoDiff.get("xin1Che1Xing2Shi2Shi1Ri4Qi1"))) { - List list = Arrays.asList(infoDiff.get("xin1Che1Xing2Shi2Shi1Ri4Qi1").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). The implementation date of new model has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //在产车实施日期 - if (StringUtils.isNotBlank(infoDiff.get("implementTime"))) { - List list = Arrays.asList(infoDiff.get("implementTime").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). Implement time has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //WVTA ID - if (StringUtils.isNotBlank(infoDiff.get("wvtaId"))) { - List list = Arrays.asList(infoDiff.get("wvtaId").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). WVTA ID has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //子标题 - if (StringUtils.isNotBlank(infoDiff.get("subtitle"))) { - List list = Arrays.asList(infoDiff.get("subtitle").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). Subtitle has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //实施类别 - if (StringUtils.isNotBlank(infoDiff.get("implementType"))) { - List list = Arrays.asList(infoDiff.get("implementType").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). Implement type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //认证类型 - if (StringUtils.isNotBlank(infoDiff.get("attestationType"))) { - List list = Arrays.asList(infoDiff.get("attestationType").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). Attestation type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //认证级别 - if (StringUtils.isNotBlank(infoDiff.get("attestationRank"))) { - List list = Arrays.asList(infoDiff.get("attestationRank").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). Attestation rank has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //责任领域 - if (StringUtils.isNotBlank(infoDiff.get("dutyTerritory"))) { - List list = Arrays.asList(infoDiff.get("dutyTerritory").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). Duty territory has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //备注 - if (StringUtils.isNotBlank(infoDiff.get("remark"))) { - List list = Arrays.asList(infoDiff.get("remark").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1); - contentInfo += "(" + infoDiffRow + "). Remark has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //设计符合性确认-交付物类型 - if (StringUtils.isNotBlank(infoDiff.get("designDeliverableType"))) { - List list = Arrays.asList(infoDiff.get("designDeliverableType").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). Design deliverable type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //设计符合性确认-交付物模板 - if (StringUtils.isNotBlank(infoDiff.get("designDeliverableTemplate"))) { - List list = Arrays.asList(infoDiff.get("designDeliverableTemplate").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). Design deliverable template has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //设计符合性确认-发起人 - if (StringUtils.isNotBlank(infoDiff.get("designInitiator"))) { - List list = Arrays.asList(infoDiff.get("designInitiator").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). Design initiator has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //设计符合性确认-责任人 - if (StringUtils.isNotBlank(infoDiff.get("designDuty"))) { - List list = Arrays.asList(infoDiff.get("designDuty").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). Design duty has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //prehomo确认-交付物类型 - if (StringUtils.isNotBlank(infoDiff.get("prehomoDeliverableType"))) { - List list = Arrays.asList(infoDiff.get("prehomoDeliverableType").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). Prehomo deliverable type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //prehomo确认-交付物模板 - if (StringUtils.isNotBlank(infoDiff.get("prehomoDeliverableTemplate"))) { - List list = Arrays.asList(infoDiff.get("prehomoDeliverableTemplate").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). Prehomo deliverable template has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //prehomo确认-发起人 - if (StringUtils.isNotBlank(infoDiff.get("prehomoInitiator"))) { - List list = Arrays.asList(infoDiff.get("prehomoInitiator").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). Prehomo initiator has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //prehomo确认-责任人 - if (StringUtils.isNotBlank(infoDiff.get("prehomoDuty"))) { - List list = Arrays.asList(infoDiff.get("prehomoDuty").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). Prehomo duty has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //验证符合性确认-交付物类型 - if (StringUtils.isNotBlank(infoDiff.get("verifyDeliverableType"))) { - List list = Arrays.asList(infoDiff.get("verifyDeliverableType").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). Verify deliverable type has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //验证符合性确认-交付物模板 - if (StringUtils.isNotBlank(infoDiff.get("verifyDeliverableTemplate"))) { - List list = Arrays.asList(infoDiff.get("verifyDeliverableTemplate").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). Verify deliverable template has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //验证符合性确认-发起人 - if (StringUtils.isNotBlank(infoDiff.get("verifyInitiator"))) { - List list = Arrays.asList(infoDiff.get("verifyInitiator").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). Verify initiator has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - //验证符合性确认-责任人 - if (StringUtils.isNotBlank(infoDiff.get("verifyDuty"))) { - List list = Arrays.asList(infoDiff.get("verifyDuty").split(",")); - String infoDiffOld = list.get(0); - String infoDiffNew = list.get(1);//需要翻译 - contentInfo += "(" + infoDiffRow + "). Verify duty has been changed from " + infoDiffOld + " to " + infoDiffNew + ".\r\n"; - infoDiffRow++; - } - row++; } } return contentInfo; diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/util/ListDiff.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/util/ListDiff.java index dfc3b1859..09bc47622 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/util/ListDiff.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/dummy/util/ListDiff.java @@ -1,5 +1,7 @@ package com.jero.modules.dummy.util; +import org.apache.commons.lang3.StringUtils; + import java.lang.reflect.Field; import java.util.*; @@ -23,13 +25,24 @@ public class ListDiff { } 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(f.getName().contains("erritory") || f.getName().contains("emplate")){ + 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()); }else { - result.put(f.getName(), v1String.append(",").append(v2String).toString()); +// +// if (StringUtils.isBlank(v2String)) { +// result.put(f.getName(), v1String.append(",").append("null").toString()); +// }else { + result.put(f.getName(), v1String.append(",").append(v2String).toString()); +// } } } }