diff --git a/src/main/java/com/example/demo/domain/entity/Detail.java b/src/main/java/com/example/demo/domain/entity/Detail.java index 1da320a..64ad2c8 100644 --- a/src/main/java/com/example/demo/domain/entity/Detail.java +++ b/src/main/java/com/example/demo/domain/entity/Detail.java @@ -81,5 +81,5 @@ public class Detail implements Serializable { private String sortOrder; private List areas; - + private Boolean hasIndexMatch; } diff --git a/src/main/java/com/example/demo/domain/vo/RefundA.java b/src/main/java/com/example/demo/domain/vo/RefundA.java index 3d18d5f..d92abfb 100644 --- a/src/main/java/com/example/demo/domain/vo/RefundA.java +++ b/src/main/java/com/example/demo/domain/vo/RefundA.java @@ -41,5 +41,5 @@ public class RefundA implements Serializable { private String category; private BigDecimal amount; private List areas; - + private Boolean hasIndexMatch; } diff --git a/src/main/java/com/example/demo/mapper/RefundMapper.java b/src/main/java/com/example/demo/mapper/RefundMapper.java index 86e554f..e2ada20 100644 --- a/src/main/java/com/example/demo/mapper/RefundMapper.java +++ b/src/main/java/com/example/demo/mapper/RefundMapper.java @@ -105,5 +105,11 @@ public interface RefundMapper { // "", // "" // }) + //查询退款商品 List select(Detail detail); + //检查product是否有type值 + boolean isIndexTypeExist(@Param("name") String name); + } + + diff --git a/src/main/java/com/example/demo/mapperLink/DouMapper.java b/src/main/java/com/example/demo/mapperLink/DouMapper.java index e1f8e7d..e7e6974 100644 --- a/src/main/java/com/example/demo/mapperLink/DouMapper.java +++ b/src/main/java/com/example/demo/mapperLink/DouMapper.java @@ -9,6 +9,7 @@ import java.util.List; @Mapper public interface DouMapper { int add(Records Records); + Member searchinfo(Searchinfo jwcode); Integer searchId(@Param("jwcode")String jwcode); List getYve(Yve yve); diff --git a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java index 6b9daa2..0ac46a4 100644 --- a/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java +++ b/src/main/java/com/example/demo/serviceImpl/RefundServiceImpl.java @@ -128,6 +128,12 @@ public class RefundServiceImpl implements RefundService { @Cacheable(key = "#root.method.name + ':' + #pageNum + '-' + #pageSize + '-' + T(java.util.Objects).hashCode(#detail)") @Override public PageInfo searchForPage(Integer pageNum, Integer pageSize, Detail detail) { + // 如果 refundGoods 存在,则判断是否匹配 index 表中的 remark + if (detail.getRefundGoods() != null && !detail.getRefundGoods().trim().isEmpty()) { + boolean matchExists = refundMapper.isIndexTypeExist(detail.getRefundGoods()); + detail.setHasIndexMatch(matchExists); // 设置标志位 + } + PageHelper.startPage(pageNum, pageSize); List list = refundMapper.select(detail); return new PageInfo<>(list); @@ -140,6 +146,12 @@ public class RefundServiceImpl implements RefundService { @Override public List getRefundA(RefundA refundA) { + + // 如果 refundGoods 存在,则判断是否匹配 index 表中的 remark + if (refundA.getRefundGoods() != null && !refundA.getRefundGoods().trim().isEmpty()) { + boolean matchExists = refundMapper.isIndexTypeExist(refundA.getRefundGoods()); + refundA.setHasIndexMatch(matchExists); // 设置标志位 + } // 执行原始查询,获取实际存在的分类及其汇总值 List result = refundMapper.getRefundA(refundA); @@ -162,4 +174,6 @@ public class RefundServiceImpl implements RefundService { return result; } + + } \ No newline at end of file diff --git a/src/main/java/com/example/demo/sevice/RefundService.java b/src/main/java/com/example/demo/sevice/RefundService.java index ffbf28f..e36dd8e 100644 --- a/src/main/java/com/example/demo/sevice/RefundService.java +++ b/src/main/java/com/example/demo/sevice/RefundService.java @@ -23,4 +23,5 @@ public interface RefundService { PageInfo searchForPage(Integer pageNum, Integer pageSize, Detail detail); List getRefundA(RefundA refundA); + } diff --git a/src/main/resources/mapper/RefundMapper.xml b/src/main/resources/mapper/RefundMapper.xml index 3aa0adb..ed20662 100644 --- a/src/main/resources/mapper/RefundMapper.xml +++ b/src/main/resources/mapper/RefundMapper.xml @@ -34,7 +34,21 @@ AND d.create_time BETWEEN #{startDate} AND #{endDate} and user.area=#{area} AND d.refund_type LIKE CONCAT('%', #{refundType}, '%') - AND d.refund_goods LIKE CONCAT('%', #{refundGoods}, '%') + + + + + AND d.refund_goods IN ( + SELECT name FROM `index` + WHERE type = 1 AND remark = #{refundGoods} + ) + + + + AND d.refund_goods LIKE CONCAT('%', #{refundGoods}, '%') + + + AND area IN @@ -84,8 +98,20 @@ AND d.refund_type LIKE CONCAT('%', #{refundType}, '%') - - AND d.refund_goods LIKE CONCAT('%', #{refundGoods}, '%') + + + + + AND d.refund_goods IN ( + SELECT name FROM `index` + WHERE type = 1 AND remark = #{refundGoods} + ) + + + + AND d.refund_goods LIKE CONCAT('%', #{refundGoods}, '%') + + AND d.create_time BETWEEN #{startDate} AND #{endDate} @@ -141,4 +167,11 @@ ORDER BY detaily_id DESC + + \ No newline at end of file diff --git a/src/main/resources/mapperLink/DouMapper.xml b/src/main/resources/mapperLink/DouMapper.xml index 5a2d20f..01c0696 100644 --- a/src/main/resources/mapperLink/DouMapper.xml +++ b/src/main/resources/mapperLink/DouMapper.xml @@ -8,6 +8,9 @@ insert into fx_yaoqing_records (uid,content,money,money_free,money_buy,time,type,data) values(#{uid},#{content},#{money},#{moneyFree},#{moneyBuy},#{time},1,#{data}) + + +