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