From 07eebff61d7b2bc524a70abbe8716052b11bfb6c Mon Sep 17 00:00:00 2001 From: yuezhihang Date: Fri, 22 Apr 2022 15:04:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=85=E5=8D=95=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/adc/da/mq/CreateUpdateMQService.java | 2 +- .../com/adc/da/mq/SendQdUpdateMQService.java | 137 ++++++++++++------ .../entity/LawsDto.java | 3 + .../SarLawsAttrDetailedListServiceImpl.java | 4 + .../impl/SarLawsDetailedListServiceImpl.java | 34 +++-- 5 files changed, 118 insertions(+), 62 deletions(-) diff --git a/adc-da-slrs/src/main/java/com/adc/da/mq/CreateUpdateMQService.java b/adc-da-slrs/src/main/java/com/adc/da/mq/CreateUpdateMQService.java index d41a21f7..23707d42 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/mq/CreateUpdateMQService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/mq/CreateUpdateMQService.java @@ -25,7 +25,7 @@ public class CreateUpdateMQService { **/ public void sendMQ(Hashtable hashtable , List remove , List add){ Map map=new HashMap<>(); - map.put("table",hashtable); + map.put("tableData",hashtable); map.put("remove",remove); map.put("add",add); //发送消息队列 diff --git a/adc-da-slrs/src/main/java/com/adc/da/mq/SendQdUpdateMQService.java b/adc-da-slrs/src/main/java/com/adc/da/mq/SendQdUpdateMQService.java index 78804f0b..851e98e9 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/mq/SendQdUpdateMQService.java +++ b/adc-da-slrs/src/main/java/com/adc/da/mq/SendQdUpdateMQService.java @@ -7,8 +7,10 @@ import com.adc.da.slrs.sarStandAttrInfo.service.ISarStandAttrInfoService; import com.adc.da.slrs.sarStandardsInfo.entity.SarStandardsInfo; import com.adc.da.slrs.sarStandardsInfo.service.ISarStandardsInfoService; import com.adc.da.sys.service.IDicTypeEOService; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.rabbitmq.client.Channel; +import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.amqp.rabbit.annotation.Exchange; @@ -18,6 +20,7 @@ import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.messaging.Message; import org.springframework.stereotype.Component; + import java.util.*; @Component @@ -48,114 +51,156 @@ public class SendQdUpdateMQService { value = @Queue(value = "createQdUpdateMQ_SQ_GSAR_RELEASE", durable = "true"), exchange = @Exchange(value = "qd-update-exchange_SQ_GSAR_RELEASE", ignoreDeclarationExceptions = "true"), key = "qd-update-key_SQ_GSAR_RELEASE")) - public void createMQ(Map bussMap, Message message, Channel channel) throws Exception{ + public void createMQ(Map bussMap, Message message, Channel channel) throws Exception { //数据字典数据组装 Map dicTypeEO = dicTypeEOService.getDicTypeListCode(); - Map dict=new HashMap<>(); + Map dict = new HashMap<>(); List> arr = (List>) dicTypeEO.get("SYRZCLASS"); arr.forEach(stringStringMap -> { - dict.put(stringStringMap.get("label"),stringStringMap.get("value")); + dict.put(stringStringMap.get("label"), stringStringMap.get("value")); }); - //写修改逻辑 + //写修改逻辑 Thread.sleep(5000); - Hashtable tool= (Hashtable) bussMap.get("table"); - List remove= (List) bussMap.get("remove"); - List add= (List) bussMap.get("add"); + Hashtable tool = (Hashtable) bussMap.get("tableData"); + List remove = (List) bussMap.get("remove"); + List add = (List) bussMap.get("add"); remove.forEach(s -> { - QueryWrapper wrapper=new QueryWrapper<>(); - wrapper.eq("ID",s); - List infos=sarStandardsInfoService.list(wrapper); - if (null!=infos && infos.size()>0) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("ID", s); + List infos = sarStandardsInfoService.list(wrapper); + if (null != infos && infos.size() > 0) { SarStandardsInfo sarStandardsInfo = new SarStandardsInfo(); sarStandardsInfo.setId(s); sarStandardsInfo.setIsRelateAccess("2"); + sarStandardsInfo.setModifyTime(new Date()); Map bussAttrInfoMap = iSarStandAttrInfoService.getBussAttrInfo(s); + if (bussAttrInfoMap != null) { StringBuilder stringBuilder = new StringBuilder(); - if (tool.get(s).contains(",")) { - for (String e : tool.get(s).split(",")) { - stringBuilder.append(dict.get(e)); + if (null != tool.get(s)) { + if (tool.get(s).contains(",")) { + for (String e : tool.get(s).split(",")) { + stringBuilder.append(dict.get(e)+","); + } + } else { + stringBuilder.append(dict.get(s)+","); } + bussAttrInfoMap.put("SYRZ", stringBuilder.toString().substring(0,stringBuilder.length()-1)); } else { - stringBuilder.append(dict.get(s)); + bussAttrInfoMap.put("SYRZ", ""); } - bussAttrInfoMap.replace("SYRZ", stringBuilder.toString()); + } + sarStandardsInfo.setSarStandAttrEOStr(JSONObject.toJSONString(bussAttrInfoMap)); + try { + sarStandardsInfoService.updateSarStandardsInfo(sarStandardsInfo); + } catch (Exception e) { + e.printStackTrace(); } } - QueryWrapper wrapper1=new QueryWrapper<>(); - wrapper.eq("ID",s); - List infos1=lawsStandInfoService.list(wrapper1); - if (null!=infos1 && infos1.size()>0) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper1.eq("ID", s); + List infos1 = lawsStandInfoService.list(wrapper1); + if (null != infos1 && infos1.size() > 0) { SarLawsStandInfo sarLawsStandInfo = new SarLawsStandInfo(); sarLawsStandInfo.setId(s); sarLawsStandInfo.setIsRelateAccess("2"); + sarLawsStandInfo.setModifyTime(new Date()); Map bussAttrInfoMap = lawsAttrInfoService.getBussAttrInfo(s); if (bussAttrInfoMap != null) { StringBuilder stringBuilder = new StringBuilder(); - if (tool.get(s).contains(",")) { - for (String e : tool.get(s).split(",")) { - stringBuilder.append(dict.get(e)); + if (null != tool.get(s)) { + if (tool.get(s).contains(",")) { + for (String e : tool.get(s).split(",")) { + stringBuilder.append(dict.get(e)+","); + } + } else { + stringBuilder.append(dict.get(s)+","); } } else { - stringBuilder.append(dict.get(s)); + bussAttrInfoMap.put("SYRZ", ""); + } + bussAttrInfoMap.put("SYRZ", stringBuilder.toString().substring(0,stringBuilder.length()-1)); + sarLawsStandInfo.setSarStandAttrEOStr(JSONObject.toJSONString(bussAttrInfoMap)); + try { + lawsStandInfoService.updateSarLawsStandInfo(sarLawsStandInfo); + } catch (Exception e) { + e.printStackTrace(); } - bussAttrInfoMap.replace("SYRZ", stringBuilder.toString()); } } }); add.forEach(s -> { - QueryWrapper wrapper=new QueryWrapper<>(); - wrapper.eq("ID",s); - List infos=sarStandardsInfoService.list(wrapper); - if (null!=infos && infos.size()>0) { + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq("ID", s); + List infos = sarStandardsInfoService.list(wrapper); + if (null != infos && infos.size() > 0) { SarStandardsInfo sarStandardsInfo = new SarStandardsInfo(); sarStandardsInfo.setId(s); sarStandardsInfo.setIsRelateAccess("1"); + sarStandardsInfo.setModifyTime(new Date()); Map bussAttrInfoMap = iSarStandAttrInfoService.getBussAttrInfo(s); if (bussAttrInfoMap != null) { StringBuilder stringBuilder = new StringBuilder(); - if (tool.get(s).contains(",")) { - for (String e : tool.get(s).split(",")) { - stringBuilder.append(dict.get(e)); + if (null != tool.get(s)) { + if (tool.get(s).contains(",")) { + for (String e : tool.get(s).split(",")) { + stringBuilder.append(dict.get(e)+","); + } + } else { + stringBuilder.append(dict.get(s)+","); } + bussAttrInfoMap.put("SYRZ",stringBuilder.toString().substring(0,stringBuilder.length()-1) ); } else { - stringBuilder.append(dict.get(s)); + bussAttrInfoMap.put("SYRZ", ""); + } + sarStandardsInfo.setSarStandAttrEOStr(JSONObject.toJSONString(bussAttrInfoMap)); + try { + sarStandardsInfoService.updateSarStandardsInfo(sarStandardsInfo); + } catch (Exception e) { + e.printStackTrace(); } - bussAttrInfoMap.replace("SYRZ", stringBuilder.toString()); } } - QueryWrapper wrapper1=new QueryWrapper<>(); - wrapper.eq("ID",s); - List infos1=lawsStandInfoService.list(wrapper1); - if (null!=infos1 && infos1.size()>0) { + QueryWrapper wrapper1 = new QueryWrapper<>(); + wrapper.eq("ID", s); + List infos1 = lawsStandInfoService.list(wrapper1); + if (null != infos1 && infos1.size() > 0) { SarLawsStandInfo sarLawsStandInfo = new SarLawsStandInfo(); sarLawsStandInfo.setId(s); sarLawsStandInfo.setIsRelateAccess("1"); + sarLawsStandInfo.setModifyTime(new Date()); Map bussAttrInfoMap = lawsAttrInfoService.getBussAttrInfo(s); if (bussAttrInfoMap != null) { StringBuilder stringBuilder = new StringBuilder(); - if (tool.get(s).contains(",")) { - for (String e : tool.get(s).split(",")) { - stringBuilder.append(dict.get(e)); + if (null != tool.get(s)) { + if (tool.get(s).contains(",")) { + for (String e : tool.get(s).split(",")) { + stringBuilder.append(dict.get(e)+","); + } + } else { + stringBuilder.append(dict.get(s)+","); } + bussAttrInfoMap.put("SYRZ", stringBuilder.toString().substring(0,stringBuilder.length()-1)); } else { - stringBuilder.append(dict.get(s)); + bussAttrInfoMap.put("SYRZ", ""); + } + sarLawsStandInfo.setSarStandAttrEOStr(JSONObject.toJSONString(bussAttrInfoMap)); + try { + lawsStandInfoService.updateSarLawsStandInfo(sarLawsStandInfo); + } catch (Exception e) { + e.printStackTrace(); } - bussAttrInfoMap.replace("SYRZ", stringBuilder.toString()); } } }); - - - } } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrDetailedList/entity/LawsDto.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrDetailedList/entity/LawsDto.java index 14460d0e..8785f5bf 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrDetailedList/entity/LawsDto.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrDetailedList/entity/LawsDto.java @@ -118,4 +118,7 @@ public class LawsDto { @ApiModelProperty(value = "适用车型") private String applyArctic; + + @ApiModelProperty(value = "适用认证") + private String syrz; } diff --git a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrDetailedList/service/impl/SarLawsAttrDetailedListServiceImpl.java b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrDetailedList/service/impl/SarLawsAttrDetailedListServiceImpl.java index 2a610dd6..d8e134a6 100644 --- a/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrDetailedList/service/impl/SarLawsAttrDetailedListServiceImpl.java +++ b/adc-da-slrs/src/main/java/com/adc/da/slrs/sarLawsAttrDetailedList/service/impl/SarLawsAttrDetailedListServiceImpl.java @@ -13,6 +13,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; +import org.apache.poi.util.StringUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; @@ -81,6 +82,9 @@ public class SarLawsAttrDetailedListServiceImpl extends ServiceImpl { list1.remove(sarLawsAttrDetailedList.getStandId()); }); - //前面筛选出 移除认证清单 - if (null!=list1 && list1.size()>0){ - sarStandardsInfoDao.updateISRELATEACCESSById("1", list1); - } - //剩下的数据是需要加入到认证清单的 - list2.removeAll(list1); - //下面写消息队列了开始 - createUpdateMQService.sendMQ(hashtable,list1,list2); +// //前面筛选出 移除认证清单 +// if (null!=list1 && list1.size()>0){ +// sarStandardsInfoDao.updateISRELATEACCESSById("1", list1); +// } + } + //剩下的数据是需要加入到认证清单的 + list2.removeAll(list1); + //下面写消息队列了开始 + createUpdateMQService.sendMQ(hashtable,list1,list2); // //更新标准是否纳入认证清单 // sarStandardsInfoDao.updateISRELATEACCESSById("1", Arrays.asList(detailedUpDto.getInforlist().split(","))); @@ -719,22 +720,25 @@ public class SarLawsDetailedListServiceImpl extends ServiceImpl list1, List list2, Hashtable hashtable, SarLawsAttrDetailedList sarLawsAttrDetailedList) { list1.add(sarLawsAttrDetailedList.getStandId()); list2.add(sarLawsAttrDetailedList.getStandId()); - if (null != hashtable.get(sarLawsAttrDetailedList.getId()) && null != sarLawsAttrDetailedList.getSyrz()) { + if (null != hashtable.get(sarLawsAttrDetailedList.getStandId()) && !"-".equals( sarLawsAttrDetailedList.getSyrz())) { if (sarLawsAttrDetailedList.getSyrz().contains(",")) { List middle = new ArrayList<>(Arrays.asList(sarLawsAttrDetailedList.getSyrz().split(","))); middle.forEach(s -> { - String as = hashtable.get(sarLawsAttrDetailedList.getId()); + String as = hashtable.get(sarLawsAttrDetailedList.getStandId()); if (!as.contains(s)) { - hashtable.put(sarLawsAttrDetailedList.getId(), as + "," + s); + hashtable.put(sarLawsAttrDetailedList.getStandId(), as + "," + s); } }); - } else { + }else { + hashtable.put(sarLawsAttrDetailedList.getStandId(), hashtable.get(sarLawsAttrDetailedList.getStandId()) + "," + sarLawsAttrDetailedList.getSyrz()); + } + }else { // 先确定hashTable中不为空 - if (null != sarLawsAttrDetailedList.getSyrz()) { - hashtable.put(sarLawsAttrDetailedList.getId(), sarLawsAttrDetailedList.getSyrz()); + if (!"-".equals( sarLawsAttrDetailedList.getSyrz())) { + hashtable.put(sarLawsAttrDetailedList.getStandId(), sarLawsAttrDetailedList.getSyrz()); } } - } + }