From 9b0880bcc8bda51578fbecaaa383dbf8e1c28e55 Mon Sep 17 00:00:00 2001 From: admin <1752476835@qq.com> Date: Tue, 27 Aug 2024 22:45:51 +0800 Subject: [PATCH] fix --- .../entity/PlayClerkCommodityEntity.java | 5 ++++ .../impl/PlayClerkCommodityServiceImpl.java | 2 ++ .../WxClerkCommodityController.java | 25 ++++++++++++++----- 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayClerkCommodityEntity.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayClerkCommodityEntity.java index af9ea18..7634b1d 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayClerkCommodityEntity.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/module/entity/PlayClerkCommodityEntity.java @@ -43,6 +43,11 @@ public class PlayClerkCommodityEntity extends BaseEntity selectCommodityTypeByUser(String userId, String enablingState) { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.orderByDesc(PlayClerkCommodityEntity::getSort); lambdaQueryWrapper.eq(PlayClerkCommodityEntity::getClerkId, userId); if (StrUtil.isNotBlank(enablingState)) { lambdaQueryWrapper.eq(PlayClerkCommodityEntity::getEnablingState, enablingState); diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxClerkCommodityController.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxClerkCommodityController.java index 324ab9f..9146499 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxClerkCommodityController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxClerkCommodityController.java @@ -3,7 +3,9 @@ package com.starry.admin.modules.weichat.controller; import com.starry.admin.common.aspect.ClerkUserLogin; import com.starry.admin.common.conf.ThreadLocalRequestDetail; import com.starry.admin.common.exception.CustomException; +import com.starry.admin.modules.clerk.module.entity.PlayClerkCommodityEntity; import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity; +import com.starry.admin.modules.clerk.service.IPlayClerkCommodityService; import com.starry.admin.modules.clerk.service.IPlayClerkUserInfoService; import com.starry.admin.modules.shop.module.entity.PlayCommodityAndLevelInfoEntity; import com.starry.admin.modules.shop.service.IPlayCommodityAndLevelInfoService; @@ -19,6 +21,8 @@ import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.Iterator; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * 店员等级 @@ -40,6 +44,9 @@ public class WxClerkCommodityController { @Resource private IPlayClerkUserInfoService clerkUserInfoService; + @Resource + IPlayClerkCommodityService playClerkCommodityService; + @GetMapping("/custom/queryClerkAllCommodityByLevel") public R queryClerkAllCommodityByLevel(@RequestParam("id") String levelId) { @@ -49,13 +56,13 @@ public class WxClerkCommodityController { return R.ok(tree); } tree = formatPlayCommodityReturnVoTree(tree, levelInfoEntities, levelId); - tree = formatPlayCommodityReturnVoTree(tree); + tree = formatPlayCommodityReturnVoTree(tree, null); return R.ok(tree); } /** - * 顾客查询所有店员所有服务项目 + * 顾客查询当前店员所有服务项目 * * @return 店员所有服务项目 */ @@ -65,10 +72,11 @@ public class WxClerkCommodityController { throw new CustomException("请求参数异常,id不能为空"); } PlayClerkUserInfoEntity clerkUserInfo = clerkUserInfoService.selectById(clerkId); + Map> clerkCommodityEntities = playClerkCommodityService.selectCommodityTypeByUser(clerkId, "1").stream().collect(Collectors.groupingBy(PlayClerkCommodityEntity::getCommodityId)); List levelInfoEntities = iPlayCommodityAndLevelInfoService.selectAll(); List tree = playCommodityInfoService.selectTree(); tree = formatPlayCommodityReturnVoTree(tree, levelInfoEntities, clerkUserInfo.getLevelId()); - tree = formatPlayCommodityReturnVoTree(tree); + tree = formatPlayCommodityReturnVoTree(tree, clerkCommodityEntities); return R.ok(tree); } @@ -84,9 +92,11 @@ public class WxClerkCommodityController { public R clerkQueryAllCommodity() { String levelId = ThreadLocalRequestDetail.getClerkUserInfo().getLevelId(); List levelInfoEntities = iPlayCommodityAndLevelInfoService.selectAll(); + Map> clerkCommodityEntities = playClerkCommodityService.selectCommodityTypeByUser(ThreadLocalRequestDetail.getClerkUserInfo().getId(), "1").stream().collect(Collectors.groupingBy(PlayClerkCommodityEntity::getCommodityId)); + List tree = playCommodityInfoService.selectTree(); tree = formatPlayCommodityReturnVoTree(tree, levelInfoEntities, levelId); - tree = formatPlayCommodityReturnVoTree(tree); + tree = formatPlayCommodityReturnVoTree(tree, clerkCommodityEntities); return R.ok(tree); } @@ -110,14 +120,17 @@ public class WxClerkCommodityController { return tree; } - public List formatPlayCommodityReturnVoTree(List tree) { + public List formatPlayCommodityReturnVoTree(List tree, Map> clerkCommodityEntities) { Iterator it = tree.iterator(); while (it.hasNext()) { PlayCommodityReturnVo item = it.next(); if ("00".equals(item.getPId()) && item.getChild().isEmpty()) { it.remove(); } - formatPlayCommodityReturnVoTree(item.getChild()); + if (clerkCommodityEntities != null && "00".equals(item.getPId()) && !clerkCommodityEntities.containsKey(item.getId())) { + it.remove(); + } + formatPlayCommodityReturnVoTree(item.getChild(), clerkCommodityEntities); } return tree; }