From 86480b8a2748b475b76dc922f523e9944e1d5bd0 Mon Sep 17 00:00:00 2001 From: xyiege Date: Fri, 5 Aug 2022 10:25:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=8F=96=E9=87=91=E9=A2=9D?= =?UTF-8?q?=E7=9A=84bug3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/chjyj/szwh/mapper/OrderGoodsDetailMapper.java | 6 +++--- .../cn/chjyj/szwh/service/impl/OrderServiceImpl.java | 12 +++++++++--- .../resources/mapper/szwh/OrderGoodsDetailMapper.xml | 10 ++++++++-- .../szwh/mapper/OrderGoodsDetailMapperTest.java | 10 +++++++--- 4 files changed, 27 insertions(+), 11 deletions(-) diff --git a/src/main/java/cn/chjyj/szwh/mapper/OrderGoodsDetailMapper.java b/src/main/java/cn/chjyj/szwh/mapper/OrderGoodsDetailMapper.java index 666114c..d6ad3a5 100644 --- a/src/main/java/cn/chjyj/szwh/mapper/OrderGoodsDetailMapper.java +++ b/src/main/java/cn/chjyj/szwh/mapper/OrderGoodsDetailMapper.java @@ -7,6 +7,7 @@ import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Component; import java.util.List; +import java.util.Map; /** * 交易快照(订单产品) @@ -81,9 +82,8 @@ public interface OrderGoodsDetailMapper { /** * search order goods detail in something field - * @param key - * @param soval + * @param klist * @return */ - List searchOrderGoodsInKey(@Param("key") String key,@Param("soval") String soval); + List searchOrderGoodsInKey(@Param("somap") Map somap); } diff --git a/src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java b/src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java index 9570b7a..282c1bc 100644 --- a/src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java +++ b/src/main/java/cn/chjyj/szwh/service/impl/OrderServiceImpl.java @@ -89,10 +89,15 @@ public class OrderServiceImpl implements OrderService { qumap.put("bcin",buyinArr); } + //组织搜索条件 + Map somap = new HashMap(); // 如果是商品名称 String gname = (String)qumap.get("goods_name"); if(StringUtils.isNotBlank(gname)){ - List sogdlist = orderGoodsDetailMapper.searchOrderGoodsInKey("goods_name",gname); + somap.put("goods_name",gname); //按名称搜索 + somap.put("goods_islicode",gname); //按编号搜索 + + List sogdlist = orderGoodsDetailMapper.searchOrderGoodsInKey(somap); if (sogdlist!=null) { List sbarr = new ArrayList(); for(OrderGoodsDetail ogd:sogdlist){ @@ -105,7 +110,8 @@ public class OrderServiceImpl implements OrderService { // 交易类型 String gtype =(String)qumap.get("goods_entrust"); if(gtype !=null){ - List tsolist = orderGoodsDetailMapper.searchOrderGoodsInKey("goods_entrust",gtype); + somap.put("goods_entrust",gtype); + List tsolist = orderGoodsDetailMapper.searchOrderGoodsInKey(somap); if(tsolist!=null){ List tsarr=new ArrayList(); for(OrderGoodsDetail ogd:tsolist){ @@ -232,7 +238,7 @@ public class OrderServiceImpl implements OrderService { //来源集合 List orgslist = orderGoodsSourceMapper.getOrderGoodsSourceList(dv.getSource_id()); //存储整理后的订单商品 - List gatherList = new ArrayList(); + Set gatherList = new HashSet(); List oneSource = new ArrayList(); Map info = new HashMap(); // 罗列出goodssource diff --git a/src/main/resources/mapper/szwh/OrderGoodsDetailMapper.xml b/src/main/resources/mapper/szwh/OrderGoodsDetailMapper.xml index 1e2c9d2..1390bee 100644 --- a/src/main/resources/mapper/szwh/OrderGoodsDetailMapper.xml +++ b/src/main/resources/mapper/szwh/OrderGoodsDetailMapper.xml @@ -95,10 +95,16 @@ - select from - where ${key} like concat ('%',#{soval},'%') + + + ${k} like concat("%",#{v},"%") + + + + diff --git a/src/test/java/cn/chjyj/szwh/mapper/OrderGoodsDetailMapperTest.java b/src/test/java/cn/chjyj/szwh/mapper/OrderGoodsDetailMapperTest.java index d124a87..fee24ab 100644 --- a/src/test/java/cn/chjyj/szwh/mapper/OrderGoodsDetailMapperTest.java +++ b/src/test/java/cn/chjyj/szwh/mapper/OrderGoodsDetailMapperTest.java @@ -11,7 +11,9 @@ import org.springframework.test.annotation.Rollback; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.transaction.annotation.Transactional; +import java.util.HashMap; import java.util.List; +import java.util.Map; import static org.junit.Assert.*; @@ -65,9 +67,11 @@ public class OrderGoodsDetailMapperTest { @Test public void searchOrderGoodsInKey(){ - String key="goods_name"; - String soval="709394"; - List oglist = orderGoodsDetailMapper.searchOrderGoodsInKey(key,soval); + Map somap = new HashMap<>(); + somap.put("goods_name","709394"); + somap.put("goods_islicode","709394"); + + List oglist = orderGoodsDetailMapper.searchOrderGoodsInKey(somap); System.out.println(oglist.size()); } } \ No newline at end of file