From 06fa786c77f0ff2682ec169d0a1277d3dfbb8e2b Mon Sep 17 00:00:00 2001 From: wangfukang <15630117759@163.com> Date: Wed, 22 Apr 2026 17:49:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E6=8E=A5=E6=8B=BC=E5=9B=A2=E6=95=B0?= =?UTF-8?q?=E6=8D=AE1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hiver-admin/test-output/test-report.html | 16 +- .../core/serviceimpl/WorkerServiceImpl.java | 3 - .../mall/controller/MallOrderController.java | 32 ++- .../mall/dao/mapper/MallOrderMapper.java | 2 + .../service/mybatis/MallOrderService.java | 2 + .../mybatis/MallOrderGroupServiceImpl.java | 9 + .../mybatis/MallOrderServiceImpl.java | 46 +++ .../mall/utils/ShopGroupOrderCacheUtil.java | 268 ++++++++++++++++++ .../mall/utils/UserPendingOrderCacheUtil.java | 32 +-- .../main/resources/mapper/CommentMapper.xml | 2 +- .../main/resources/mapper/MallOrderMapper.xml | 8 + 11 files changed, 391 insertions(+), 29 deletions(-) create mode 100644 hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/utils/ShopGroupOrderCacheUtil.java diff --git a/hiver-admin/test-output/test-report.html b/hiver-admin/test-output/test-report.html index 465ca002..e2bd5612 100644 --- a/hiver-admin/test-output/test-report.html +++ b/hiver-admin/test-output/test-report.html @@ -35,7 +35,7 @@ Hiver
  • -四月 21, 2026 18:05:31 +四月 22, 2026 17:15:02
  • @@ -84,7 +84,7 @@

    passTest

    -

    18:05:32 下午 / 0.015 secs

    +

    17:15:02 下午 / 0.019 secs

    @@ -92,9 +92,9 @@
    #test-id=1
    passTest
    -04.21.2026 18:05:32 -04.21.2026 18:05:32 -0.015 secs +04.22.2026 17:15:02 +04.22.2026 17:15:02 +0.019 secs
    @@ -104,7 +104,7 @@ Pass - 18:05:32 + 17:15:02 Test passed @@ -128,13 +128,13 @@

    Started

    -

    四月 21, 2026 18:05:31

    +

    四月 22, 2026 17:15:02

    Ended

    -

    四月 21, 2026 18:05:32

    +

    四月 22, 2026 17:15:02

    diff --git a/hiver-core/src/main/java/cc/hiver/core/serviceimpl/WorkerServiceImpl.java b/hiver-core/src/main/java/cc/hiver/core/serviceimpl/WorkerServiceImpl.java index 8dd05eb5..381ae03b 100644 --- a/hiver-core/src/main/java/cc/hiver/core/serviceimpl/WorkerServiceImpl.java +++ b/hiver-core/src/main/java/cc/hiver/core/serviceimpl/WorkerServiceImpl.java @@ -95,9 +95,6 @@ public class WorkerServiceImpl implements WorkerService { // 鐘舵 if (worker.getWorkerStatus() != null) { list.add(cb.equal(workerStatusField, worker.getWorkerStatus())); - }else{ - // 绂佺敤鏍囪瘑 - list.add(cb.equal(workerStatusField, 1)); } // 涓婁笅绾跨姸鎬 diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/MallOrderController.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/MallOrderController.java index a5bdfe1f..efb480be 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/MallOrderController.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/controller/MallOrderController.java @@ -9,6 +9,7 @@ import cc.hiver.mall.pojo.query.MallOrderPageQuery; import cc.hiver.mall.pojo.vo.MallOrderVO; import cc.hiver.mall.service.mybatis.MallOrderGroupService; import cc.hiver.mall.service.mybatis.MallOrderService; +import cc.hiver.mall.utils.ShopGroupOrderCacheUtil; import cc.hiver.mall.utils.UserPendingOrderCacheUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; @@ -36,6 +37,9 @@ public class MallOrderController { @Autowired private UserPendingOrderCacheUtil userPendingOrderCacheUtil; + @Autowired + private ShopGroupOrderCacheUtil shopGroupOrderCacheUtil; + @Autowired private MallOrderGroupService mallOrderGroupService; @@ -70,7 +74,22 @@ public class MallOrderController { @PostMapping("/getMallOrderGroupByShopId") @ApiOperation(value = "鏍规嵁搴楅摵id鏌ヨ寰呮垚鍥㈣鍗") public Result> getMallOrderGroupByShopId(@RequestBody MallOrderGroup group) { - return new ResultUtil>().setData(mallOrderGroupService.selectMallGroup(group)); + // 1. 鍏堜粠缂撳瓨鑾峰彇 + List orders = shopGroupOrderCacheUtil.getAll(group.getShopId()); + + // 2. 缂撳瓨鏈懡涓紝鏌ユ暟鎹簱 + if (orders == null) { + // 寤鸿锛氬姞涓垽绌猴紝闃叉鏁版嵁搴撲篃娌℃暟鎹椂鍋氭棤鐢ㄥ姛 + orders = mallOrderGroupService.selectMallGroup(group); + + // 3. 銆愬叧閿楠ゃ戝鏋滄煡鍒颁簡鏁版嵁锛屽繀椤诲洖鍐欏埌缂撳瓨锛 + if (orders != null && !orders.isEmpty()) { + // 璁剧疆杩囨湡鏃堕棿锛屾瘮濡 30 鍒嗛挓锛堟牴鎹鍗曞钩鍧囬厤閫佹椂闀垮喅瀹氾級 + shopGroupOrderCacheUtil.putAll(group.getShopId(), orders); + } + } + // 4. 杩斿洖缁撴灉 + return new ResultUtil>().setData(orders); } /** @@ -109,6 +128,17 @@ public class MallOrderController { return new ResultUtil().setData(vo); } + /** + * 鏍规嵁璁㈠崟id鏌ヨ鎵鏈夋嫾鍥㈣鍗 + */ + @GetMapping("/selectAllOrderByOrderId/{orderId}") + @ApiOperation("鏍规嵁璁㈠崟id鏌ヨ鎵鏈夋嫾鍥㈣鍗") + public Result> selectAllOrderByOrderId(@ApiParam("璁㈠崟ID") @PathVariable String orderId) { + List vo = mallOrderService.getAllByGroupId(orderId); + if (vo == null) return ResultUtil.error("璁㈠崟涓嶅瓨鍦"); + return new ResultUtil>().setData(vo); + } + /** * 璁㈠崟璇︽儏 */ diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/MallOrderMapper.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/MallOrderMapper.java index 20518040..4d3bc7f9 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/MallOrderMapper.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/dao/mapper/MallOrderMapper.java @@ -36,4 +36,6 @@ public interface MallOrderMapper extends BaseMapper { List getWeChatId(); List getPeiSongOrders(@Param("userId") String userId); + + List getAllByGroupId(@Param("orderId") String orderId); } diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/MallOrderService.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/MallOrderService.java index 73573546..72a8a28d 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/MallOrderService.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/service/mybatis/MallOrderService.java @@ -89,4 +89,6 @@ public interface MallOrderService extends IService { Map countByShop(String shopId); List getPeiSongOrders(String userId); + + List getAllByGroupId(String orderId); } diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/MallOrderGroupServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/MallOrderGroupServiceImpl.java index 116aa12c..6c971f87 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/MallOrderGroupServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/MallOrderGroupServiceImpl.java @@ -11,6 +11,7 @@ import cc.hiver.mall.service.mybatis.MallOrderGroupService; import cc.hiver.mall.service.mybatis.MallOrderService; import cc.hiver.mall.service.mybatis.MallUserCouponService; import cc.hiver.mall.utils.MerchantOrderSeqUtil; +import cc.hiver.mall.utils.ShopGroupOrderCacheUtil; import cc.hiver.mall.utils.UserPendingOrderCacheUtil; import cc.hiver.mall.utils.WechatPayUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; @@ -55,6 +56,9 @@ public class MallOrderGroupServiceImpl extends ServiceImpl orderIdList = Arrays.asList(group.getGroupOrderIds().split(",")); LambdaQueryWrapper oqw = new LambdaQueryWrapper<>(); diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/MallOrderServiceImpl.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/MallOrderServiceImpl.java index f4656962..079da1f0 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/MallOrderServiceImpl.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/serviceimpl/mybatis/MallOrderServiceImpl.java @@ -21,6 +21,7 @@ import cc.hiver.mall.service.mybatis.MallDeliveryOrderService; import cc.hiver.mall.service.mybatis.MallOrderGroupService; import cc.hiver.mall.service.mybatis.MallOrderService; import cc.hiver.mall.utils.MerchantOrderSeqUtil; +import cc.hiver.mall.utils.ShopGroupOrderCacheUtil; import cc.hiver.mall.utils.UserPendingOrderCacheUtil; import cc.hiver.mall.utils.WechatPayUtil; import cn.hutool.json.JSONArray; @@ -137,6 +138,9 @@ public class MallOrderServiceImpl extends ServiceImpl 鏀逛负寰呮垚鍥 updateOrderStatus(orderId, STATUS_WAIT_GROUP); + MallOrderVO orderVO = buildVO(order, null, null, null); orderVO.setStatus(STATUS_WAIT_GROUP); userPendingOrderCacheUtil.update(order.getUserId(), orderVO); @@ -543,6 +548,9 @@ public class MallOrderServiceImpl extends ServiceImpl guw = new LambdaUpdateWrapper<>(); guw.eq(MallOrderGroup::getId, group.getId()) @@ -727,6 +740,9 @@ public class MallOrderServiceImpl extends ServiceImpl getAllByGroupId(String orderId) { + List orders = this.baseMapper.getAllByGroupId(orderId); + if(orders != null && !orders.isEmpty()){ + // 1. 鏀堕泦鎵鏈夎鍗旾D + List orderIds = orders.stream() + .map(MallOrderVO::getId) + .collect(java.util.stream.Collectors.toList()); + + // 2. 涓娆 IN 鏌ヨ鎵鏈夊晢鍝佹槑缁 + List allGoods = mallOrderGoodsMapper.selectByOrderIds(orderIds); + + // 3. 鎸 orderId 鍒嗙粍 + java.util.Map> goodsMap = allGoods.stream() + .collect(java.util.stream.Collectors.groupingBy(MallOrderGoods::getOrderId)); + + // 4. 缁勮鍒版瘡涓 VO + for (MallOrderVO vo : orders) { + vo.setGoodsList(goodsMap.getOrDefault(vo.getId(), java.util.Collections.emptyList())); + } + } + return orders; + } + // ================================================================ // 鏌ヨ // ================================================================ @@ -1686,6 +1729,9 @@ public class MallOrderServiceImpl extends ServiceImpl + * 搴曞眰浣跨敤 Redis Hash 缁撴瀯锛屼繚璇佹寜 shopId + orderId 缁村害鐨 O(1) 璇诲啓鏁堢巼銆 + *
    + *   Key   = SHOP_GROUP_ORDERS:{shopId}
    + *   Field = orderId
    + *   Value = MallOrderGroup 鐨 JSON 搴忓垪鍖
    + * 
    + *

    + * 浣跨敤鍦烘櫙锛氳鍗曠姸鎬佸彂鐢熷彉鍖栨椂锛堝垱寤恒佹洿鏂般佸彇娑堛佸畬鎴愮瓑锛夛紝 + * 鐢变笟鍔℃柟涓诲姩璋冪敤鏈伐鍏风被鐨勬柟娉曠淮鎶ょ紦瀛橈紝浠ュ噺灏 getMallOrderGroupByShopId 鎺ュ彛瀵规暟鎹簱鐨勬煡璇㈠帇鍔涖 + * + * @author system + */ +@Slf4j +@Component +public class ShopGroupOrderCacheUtil { + + /** Redis Key 鍓嶇紑 */ + private static final String KEY_PREFIX = "SHOP_GROUP_ORDERS:"; + + /** 璁㈠崟涓嶅啀灞炰簬"寰呮垚鍥"鐨勭姸鎬侀泦鍚 */ + private static final int STATUS_DONE = 0; + + @Autowired + private RedisTemplateHelper redisTemplateHelper; + + // ================================================================ + // Key 鏋勫缓 + // ================================================================ + + private String buildKey(String shopId) { + return KEY_PREFIX + shopId; + } + + // ================================================================ + // 瀛樻斁锛坧ut锛 + // ================================================================ + + /** + * 瀛樻斁鍗曚釜璁㈠崟鍒扮紦瀛 + * + * @param shopId 搴楅摵ID + * @param orderVO 璁㈠崟VO锛堝繀椤诲寘鍚湁鏁堢殑 id锛 + */ + public void put(String shopId, MallOrderGroup orderVO) { + if (StringUtils.isBlank(shopId) || orderVO == null || StringUtils.isBlank(orderVO.getId())) { + log.info("UserPendingOrderCacheUtil.put 鍙傛暟鏃犳晥, userId={}, orderVO={}", shopId, orderVO); + return; + } + try { + String key = buildKey(shopId); + String json = JSONUtil.toJsonStr(orderVO); + redisTemplateHelper.hPut(key, orderVO.getId(), json); + log.info("缂撳瓨搴楅摵寰呮垚鍥㈣鍗: shopId={}, orderId={}", shopId, orderVO.getId()); + } catch (Exception e) { + log.info("缂撳瓨搴楅摵寰呮垚鍥㈣鍗曞け璐: shopId={}, orderId={}", shopId, orderVO.getId(), e); + } + } + + /** + * 鎵归噺瀛樻斁璁㈠崟鍒扮紦瀛橈紙閫氬父鐢ㄤ簬缂撳瓨棰勭儹 / 棣栨鍔犺浇锛 + * + * @param shopId 搴楅摵ID + * @param orders 璁㈠崟鍒楄〃 + */ + public void putAll(String shopId, List orders) { + if (StringUtils.isBlank(shopId) || orders == null || orders.isEmpty()) { + return; + } + try { + String key = buildKey(shopId); + Map map = new java.util.LinkedHashMap<>(orders.size()); + for (MallOrderGroup order : orders) { + if (order != null && StringUtils.isNotBlank(order.getId())) { + map.put(order.getId(), JSONUtil.toJsonStr(order)); + } + } + if (!map.isEmpty()) { + redisTemplateHelper.hPutAll(key, map); + log.info("鎵归噺缂撳瓨搴楅摵寰呮垚鍥㈣鍗: shopId={}, count={}", shopId, map.size()); + } + } catch (Exception e) { + log.info("鎵归噺缂撳瓨搴楅摵寰呮垚鍥㈣鍗曞け璐: shopId={}", shopId, e); + } + } + + // ================================================================ + // 鍒犻櫎锛坮emove锛 + // ================================================================ + + /** + * 鏍规嵁 shopId 鍜 orderId 浠庣紦瀛樹腑鍒犻櫎鎸囧畾璁㈠崟 + *

    + * 鍏稿瀷鍦烘櫙锛氳鍗曟垚鍥€佸彇娑堛侀娆炬垚鍔熷悗璋冪敤銆 + * + * @param shopId 搴楅摵ID + * @param orderId 璁㈠崟ID + */ + public void remove(String shopId, String orderId) { + if (StringUtils.isBlank(shopId) || StringUtils.isBlank(orderId)) { + log.info("UserPendingOrderCacheUtil.remove 鍙傛暟鏃犳晥, shopId={}, orderId={}", shopId, orderId); + return; + } + try { + String key = buildKey(shopId); + redisTemplateHelper.hDelete(key, orderId); + log.info("鍒犻櫎寰呮垚鍥㈣鍗曠紦瀛: shopId={}, orderId={}", shopId, orderId); + } catch (Exception e) { + log.info("鍒犻櫎寰呮垚鍥㈣鍗曠紦瀛樺け璐: shopId={}, orderId={}", shopId, orderId, e); + } + } + + /** + * 娓呴櫎鎸囧畾搴楅摵鎵鏈夊緟鎴愬洟璁㈠崟缂撳瓨 + *

    + * 鍏稿瀷鍦烘櫙锛氶渶瑕佸己鍒跺埛鏂拌搴楅摵缂撳瓨鏃惰皟鐢ㄣ + * + * @param shopId 搴楅摵ID + */ + public void removeAll(String shopId) { + if (StringUtils.isBlank(shopId)) { + return; + } + try { + redisTemplateHelper.delete(buildKey(shopId)); + log.info("娓呴櫎搴楅摵寰呮垚鍥㈣鍗曠紦瀛: shopId={}", shopId); + } catch (Exception e) { + log.info("娓呴櫎搴楅摵寰呮垚鍥㈣鍗曠紦瀛樺け璐: shopId={}", shopId, e); + } + } + + // ================================================================ + // 鏇存柊锛坲pdate锛 + // ================================================================ + + /** + * 鏍规嵁 shopId 鍜 orderId 鏇存柊缂撳瓨涓殑璁㈠崟淇℃伅 + *

    + * 濡傛灉鏇存柊鍚庣殑璁㈠崟鐘舵佸凡缁忎笉灞炰簬"寰呭畬鎴"锛坰tatus 鈭 {10}锛夛紝 + * 鍒欒嚜鍔ㄤ粠缂撳瓨涓Щ闄よ璁㈠崟锛屾棤闇璋冪敤鏂归澶栧垽鏂 + * + * @param shopId 搴楅摵ID + * @param orderVO 鏇存柊鍚庣殑璁㈠崟VO + */ + public void update(String shopId, MallOrderGroup orderVO) { + if (StringUtils.isBlank(shopId) || orderVO == null || StringUtils.isBlank(orderVO.getId())) { + log.warn("UserPendingOrderCacheUtil.update 鍙傛暟鏃犳晥, shopId={}, orderVO={}", shopId, orderVO); + return; + } + try { + // 濡傛灉璁㈠崟鐘舵佸凡涓嶅睘浜庡緟鎴愬洟锛岀洿鎺ュ垹闄 + /*if (!isTerminalStatus(orderVO.getStatus())) { + remove(shopId, orderVO.getId()); + log.debug("璁㈠崟宸茬粓鎬侊紝浠庣紦瀛樼Щ闄: shopId={}, orderId={}, status={}", + shopId, orderVO.getId(), orderVO.getStatus()); + return; + }*/ + // 瑕嗙洊鏇存柊 + put(shopId, orderVO); + log.info("鏇存柊搴楅摵寰呮垚鍥㈢紦瀛: shopId={}, orderId={}, status={}", + shopId, orderVO.getId(), orderVO.getStatus()); + } catch (Exception e) { + log.info("鏇存柊鐢ㄦ埛寰呭畬鎴愯鍗曠紦瀛樺け璐: shopId={}, orderId={}", shopId, orderVO.getId(), e); + } + } + + // ================================================================ + // 鏌ヨ锛坓et锛 + // ================================================================ + + /** + * 鑾峰彇搴楅摵寰呮垚鍥㈣鍗曠紦瀛 + * + * @param shopId 搴楅摵ID + * @return 缂撳瓨鐨勮鍗曞垪琛紝缂撳瓨涓嶅瓨鍦ㄦ椂杩斿洖 null锛堣皟鐢ㄦ柟鍙嵁姝ゅ垽鏂槸鍚﹂渶瑕佸洖婧愭煡搴擄級 + */ + public List getAll(String shopId) { + if (StringUtils.isBlank(shopId)) { + return null; + } + try { + String key = buildKey(shopId); + Map entries = redisTemplateHelper.hGetAll(key); + if (entries == null || entries.isEmpty()) { + return null; + } + List result = new ArrayList<>(entries.size()); + for (Object value : entries.values()) { + if (value != null) { + result.add(JSONUtil.toBean(value.toString(), MallOrderGroup.class)); + } + } + return result; + } catch (Exception e) { + log.info("鑾峰彇搴楅摵寰呮垚鍥㈣鍗曠紦瀛樺け璐: shopId={}", shopId, e); + return null; + } + } + + /** + * 鑾峰彇搴楅摵缂撳瓨寰呮垚鍥㈠崟涓鍗 + * + * @param shopId 搴楅摵ID + * @param orderId 璁㈠崟ID + * @return 缂撳瓨鐨勮鍗昖O锛屼笉瀛樺湪鏃惰繑鍥 null + */ + public MallOrderVO get(String shopId, String orderId) { + if (StringUtils.isBlank(shopId) || StringUtils.isBlank(orderId)) { + return null; + } + try { + String key = buildKey(shopId); + Object value = redisTemplateHelper.hGet(key, orderId); + if (value == null) { + return null; + } + return JSONUtil.toBean(value.toString(), MallOrderVO.class); + } catch (Exception e) { + log.info("鑾峰彇搴楅摵鍗曚釜寰呮垚鍥㈣鍗曠紦瀛樺け璐: shopId={}, orderId={}", shopId, orderId, e); + return null; + } + } + + /** + * 鍒ゆ柇璇ュ簵閾虹殑缂撳瓨鏄惁宸插瓨鍦 + * + * @param shopId 搴楅摵ID + * @return true 琛ㄧず缂撳瓨瀛樺湪 + */ + public boolean exists(String shopId) { + if (StringUtils.isBlank(shopId)) { + return false; + } + Boolean hasKey = redisTemplateHelper.hasKey(buildKey(shopId)); + return hasKey != null && hasKey; + } + + // ================================================================ + // 鍐呴儴宸ュ叿 + // ================================================================ + + /** + * 鍒ゆ柇璁㈠崟鐘舵佹槸鍚︿负缁堟侊紙涓嶅啀灞炰簬"寰呮垚鍥"锛 + */ + private boolean isTerminalStatus(Integer status) { + if (status == null) { + return false; + } + return status == STATUS_DONE; + } +} diff --git a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/utils/UserPendingOrderCacheUtil.java b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/utils/UserPendingOrderCacheUtil.java index 9abf521f..728e1a00 100644 --- a/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/utils/UserPendingOrderCacheUtil.java +++ b/hiver-modules/hiver-mall/src/main/java/cc/hiver/mall/utils/UserPendingOrderCacheUtil.java @@ -63,16 +63,16 @@ public class UserPendingOrderCacheUtil { */ public void put(String userId, MallOrderVO orderVO) { if (StringUtils.isBlank(userId) || orderVO == null || StringUtils.isBlank(orderVO.getId())) { - log.warn("UserPendingOrderCacheUtil.put 鍙傛暟鏃犳晥, userId={}, orderVO={}", userId, orderVO); + log.info("UserPendingOrderCacheUtil.put 鍙傛暟鏃犳晥, userId={}, orderVO={}", userId, orderVO); return; } try { String key = buildKey(userId); String json = JSONUtil.toJsonStr(orderVO); redisTemplateHelper.hPut(key, orderVO.getId(), json); - log.debug("缂撳瓨鐢ㄦ埛寰呭畬鎴愯鍗: userId={}, orderId={}", userId, orderVO.getId()); + log.info("缂撳瓨鐢ㄦ埛寰呭畬鎴愯鍗: userId={}, orderId={}", userId, orderVO.getId()); } catch (Exception e) { - log.error("缂撳瓨鐢ㄦ埛寰呭畬鎴愯鍗曞け璐: userId={}, orderId={}", userId, orderVO.getId(), e); + log.info("缂撳瓨鐢ㄦ埛寰呭畬鎴愯鍗曞け璐: userId={}, orderId={}", userId, orderVO.getId(), e); } } @@ -96,10 +96,10 @@ public class UserPendingOrderCacheUtil { } if (!map.isEmpty()) { redisTemplateHelper.hPutAll(key, map); - log.debug("鎵归噺缂撳瓨鐢ㄦ埛寰呭畬鎴愯鍗: userId={}, count={}", userId, map.size()); + log.info("鎵归噺缂撳瓨鐢ㄦ埛寰呭畬鎴愯鍗: userId={}, count={}", userId, map.size()); } } catch (Exception e) { - log.error("鎵归噺缂撳瓨鐢ㄦ埛寰呭畬鎴愯鍗曞け璐: userId={}", userId, e); + log.info("鎵归噺缂撳瓨鐢ㄦ埛寰呭畬鎴愯鍗曞け璐: userId={}", userId, e); } } @@ -117,15 +117,15 @@ public class UserPendingOrderCacheUtil { */ public void remove(String userId, String orderId) { if (StringUtils.isBlank(userId) || StringUtils.isBlank(orderId)) { - log.warn("UserPendingOrderCacheUtil.remove 鍙傛暟鏃犳晥, userId={}, orderId={}", userId, orderId); + log.info("UserPendingOrderCacheUtil.remove 鍙傛暟鏃犳晥, userId={}, orderId={}", userId, orderId); return; } try { String key = buildKey(userId); redisTemplateHelper.hDelete(key, orderId); - log.debug("鍒犻櫎鐢ㄦ埛寰呭畬鎴愯鍗曠紦瀛: userId={}, orderId={}", userId, orderId); + log.info("鍒犻櫎鐢ㄦ埛寰呭畬鎴愯鍗曠紦瀛: userId={}, orderId={}", userId, orderId); } catch (Exception e) { - log.error("鍒犻櫎鐢ㄦ埛寰呭畬鎴愯鍗曠紦瀛樺け璐: userId={}, orderId={}", userId, orderId, e); + log.info("鍒犻櫎鐢ㄦ埛寰呭畬鎴愯鍗曠紦瀛樺け璐: userId={}, orderId={}", userId, orderId, e); } } @@ -142,9 +142,9 @@ public class UserPendingOrderCacheUtil { } try { redisTemplateHelper.delete(buildKey(userId)); - log.debug("娓呴櫎鐢ㄦ埛鍏ㄩ儴寰呭畬鎴愯鍗曠紦瀛: userId={}", userId); + log.info("娓呴櫎鐢ㄦ埛鍏ㄩ儴寰呭畬鎴愯鍗曠紦瀛: userId={}", userId); } catch (Exception e) { - log.error("娓呴櫎鐢ㄦ埛鍏ㄩ儴寰呭畬鎴愯鍗曠紦瀛樺け璐: userId={}", userId, e); + log.info("娓呴櫎鐢ㄦ埛鍏ㄩ儴寰呭畬鎴愯鍗曠紦瀛樺け璐: userId={}", userId, e); } } @@ -163,23 +163,23 @@ public class UserPendingOrderCacheUtil { */ public void update(String userId, MallOrderVO orderVO) { if (StringUtils.isBlank(userId) || orderVO == null || StringUtils.isBlank(orderVO.getId())) { - log.warn("UserPendingOrderCacheUtil.update 鍙傛暟鏃犳晥, userId={}, orderVO={}", userId, orderVO); + log.info("UserPendingOrderCacheUtil.update 鍙傛暟鏃犳晥, userId={}, orderVO={}", userId, orderVO); return; } try { // 濡傛灉璁㈠崟鐘舵佸凡涓嶅睘浜庡緟瀹屾垚锛岀洿鎺ュ垹闄 if (isTerminalStatus(orderVO.getStatus())) { remove(userId, orderVO.getId()); - log.debug("璁㈠崟宸茬粓鎬侊紝浠庣紦瀛樼Щ闄: userId={}, orderId={}, status={}", + log.info("璁㈠崟宸茬粓鎬侊紝浠庣紦瀛樼Щ闄: userId={}, orderId={}, status={}", userId, orderVO.getId(), orderVO.getStatus()); return; } // 鍚﹀垯瑕嗙洊鏇存柊 put(userId, orderVO); - log.debug("鏇存柊鐢ㄦ埛寰呭畬鎴愯鍗曠紦瀛: userId={}, orderId={}, status={}", + log.info("鏇存柊鐢ㄦ埛寰呭畬鎴愯鍗曠紦瀛: userId={}, orderId={}, status={}", userId, orderVO.getId(), orderVO.getStatus()); } catch (Exception e) { - log.error("鏇存柊鐢ㄦ埛寰呭畬鎴愯鍗曠紦瀛樺け璐: userId={}, orderId={}", userId, orderVO.getId(), e); + log.info("鏇存柊鐢ㄦ埛寰呭畬鎴愯鍗曠紦瀛樺け璐: userId={}, orderId={}", userId, orderVO.getId(), e); } } @@ -211,7 +211,7 @@ public class UserPendingOrderCacheUtil { } return result; } catch (Exception e) { - log.error("鑾峰彇鐢ㄦ埛寰呭畬鎴愯鍗曠紦瀛樺け璐: userId={}", userId, e); + log.info("鑾峰彇鐢ㄦ埛寰呭畬鎴愯鍗曠紦瀛樺け璐: userId={}", userId, e); return null; } } @@ -235,7 +235,7 @@ public class UserPendingOrderCacheUtil { } return JSONUtil.toBean(value.toString(), MallOrderVO.class); } catch (Exception e) { - log.error("鑾峰彇鐢ㄦ埛鍗曚釜寰呭畬鎴愯鍗曠紦瀛樺け璐: userId={}, orderId={}", userId, orderId, e); + log.info("鑾峰彇鐢ㄦ埛鍗曚釜寰呭畬鎴愯鍗曠紦瀛樺け璐: userId={}, orderId={}", userId, orderId, e); return null; } } diff --git a/hiver-modules/hiver-mall/src/main/resources/mapper/CommentMapper.xml b/hiver-modules/hiver-mall/src/main/resources/mapper/CommentMapper.xml index 901853fa..c40e1805 100644 --- a/hiver-modules/hiver-mall/src/main/resources/mapper/CommentMapper.xml +++ b/hiver-modules/hiver-mall/src/main/resources/mapper/CommentMapper.xml @@ -60,7 +60,7 @@ delete from t_comment - where order_id = #{orderId,jdbcType=VARCHAR} + where id = #{orderId,jdbcType=VARCHAR} diff --git a/hiver-modules/hiver-mall/src/main/resources/mapper/MallOrderMapper.xml b/hiver-modules/hiver-mall/src/main/resources/mapper/MallOrderMapper.xml index 2806a4b4..e43e99a8 100644 --- a/hiver-modules/hiver-mall/src/main/resources/mapper/MallOrderMapper.xml +++ b/hiver-modules/hiver-mall/src/main/resources/mapper/MallOrderMapper.xml @@ -53,6 +53,14 @@ GROUP BY counttype + +