From 612f7e1a1b68268f925d01cad2bb3c939056ec0a Mon Sep 17 00:00:00 2001
From: hjl <1657978663@qq.com>
Date: 星期三, 03 七月 2024 10:55:19 +0800
Subject: [PATCH] fix: 学习端、家长端商城bug
---
ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java | 31 ++++++++++++++++++++++---------
1 files changed, 22 insertions(+), 9 deletions(-)
diff --git a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java
index 6dc7f6a..8b6540c 100644
--- a/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java
+++ b/ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java
@@ -88,12 +88,16 @@
// 类型匹配 todo
if (goodQuery.getType() != null && goodQuery.getType().size() > 0) {
- StringBuilder temp = new StringBuilder("");
for (String s : goodQuery.getType()) {
- wrapper.apply("FIND_IN_SET('" + s + "', typeIds)"); // 将每个类型 ID 应用于 FIND_IN_SET 函数
+ // 将每个类型 ID 应用于 FIND_IN_SET 函数
+ wrapper.apply("FIND_IN_SET('" + s + "', typeIds)").or();
}
}
wrapper.eq("isDelete", 0);
+ // sort排序
+ wrapper.orderByAsc("CASE WHEN sort IS NULL THEN 1 ELSE 0 END")
+ .orderByAsc("sort")
+ .orderByDesc("createTime");
return R.ok(goodsService.page(new PageInfo<>(goodQuery.getPageNumber(), goodQuery.getPageSize()), wrapper));
}
@@ -111,11 +115,14 @@
if (goodQuery.getType() != null && !goodQuery.getType().isEmpty()) {
for (String s : goodQuery.getType()) {
// 将每个类型 ID 应用于 FIND_IN_SET 函数
- wrapper.apply("FIND_IN_SET('" + s + "', typeIds)");
+ wrapper.apply("FIND_IN_SET('" + s + "', typeIds)").or();
}
}
wrapper.eq("isDelete", 0);
- wrapper.orderByAsc("sort");
+ // sort排序
+ wrapper.orderByAsc("CASE WHEN sort IS NULL THEN 1 ELSE 0 END")
+ .orderByAsc("sort")
+ .orderByDesc("createTime");
return R.ok(goodsService.page(new PageInfo<>(goodQuery.getPageNumber(), goodQuery.getPageSize()), wrapper));
}
@@ -752,6 +759,13 @@
.eq(Recipient::getUserId, tokenService.getLoginUserStudy().getUserid())
.eq(Recipient::getIsDefault, 1)
.eq(Recipient::getDisabled, 0).one();
+ if (null == recipient) {
+ recipient = recipientService.lambdaQuery()
+ .eq(Recipient::getUserId, tokenService.getLoginUserStudy().getUserid())
+ .eq(Recipient::getDisabled, 0)
+ .orderByDesc(Recipient::getCreateTime)
+ .last("limit 1").one();
+ }
GoodDetailVO goodDetailVO = goodsService.redeemNow(goodId, recipient);
LocalDateTime currentDateTime = LocalDateTime.now();
// 格式化日期和时间信息
@@ -788,12 +802,11 @@
.eq(Recipient::getIsDefault, 1).one();
if (recipient == null) {
// 随便取一条地址数据
- List<Recipient> list = recipientService.lambdaQuery()
+ recipient = recipientService.lambdaQuery()
.eq(Recipient::getUserId, tokenService.getLoginUser1().getUserid())
- .list();
- if (!list.isEmpty()) {
- recipient = list.get(0);
- }
+ .orderByDesc(Recipient::getCreateTime)
+ .eq(Recipient::getDisabled, 0).last("limit 1")
+ .one();
}
GoodDetailVO goodDetailVO = goodsService.redeemNow(goodId, recipient);
LocalDateTime currentDateTime = LocalDateTime.now();
--
Gitblit v1.7.1