diff --git a/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkUserInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkUserInfoService.java index 6801a79..d7ce82f 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkUserInfoService.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/IPlayClerkUserInfoService.java @@ -61,15 +61,6 @@ public interface IPlayClerkUserInfoService extends IService lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.eq(PlayClerkUserInfoEntity::getId, id); - return this.baseMapper.selectOne(lambdaQueryWrapper); - } - @Override public PlayClerkUserInfoEntity selectByOpenid(String openId) { LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); diff --git a/play-admin/src/main/java/com/starry/admin/modules/clerk/service/impl/PlayClerkUserReviewInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/impl/PlayClerkUserReviewInfoServiceImpl.java index 80f5c31..c36852a 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/clerk/service/impl/PlayClerkUserReviewInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/clerk/service/impl/PlayClerkUserReviewInfoServiceImpl.java @@ -39,8 +39,6 @@ public class PlayClerkUserReviewInfoServiceImpl extends ServiceImpl */ private String serviceDuration; - /** - * 服务单价 - */ - private BigDecimal price; - /** * 启用状态(0:停用,1:启用) */ diff --git a/play-admin/src/main/java/com/starry/admin/modules/shop/service/impl/PlayCommodityInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/shop/service/impl/PlayCommodityInfoServiceImpl.java index 8ca0ee4..f44fc07 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/shop/service/impl/PlayCommodityInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/shop/service/impl/PlayCommodityInfoServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.starry.admin.common.exception.CustomException; import com.starry.admin.modules.shop.mapper.PlayCommodityInfoMapper; import com.starry.admin.modules.shop.module.entity.PlayCommodityInfoEntity; @@ -67,9 +68,9 @@ public class PlayCommodityInfoServiceImpl extends ServiceImpl selectTree() { - LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); - lambdaQueryWrapper.orderByAsc(PlayCommodityInfoEntity::getSort); - List list = this.baseMapper.selectList(lambdaQueryWrapper); + MPJLambdaWrapper lambdaQueryWrapper = new MPJLambdaWrapper<>(); + lambdaQueryWrapper.selectAll(PlayCommodityInfoEntity.class); + List list = this.baseMapper.selectJoinList(PlayCommodityInfoEntity.class, lambdaQueryWrapper); Map> collect = list.stream().filter(a -> a != null && a.getId() != null).collect(Collectors.groupingBy(PlayCommodityInfoEntity::getPId)); return this.assembleTree(collect, collect.get("00")); } @@ -116,14 +117,6 @@ public class PlayCommodityInfoServiceImpl extends ServiceImpl levelInfoEntities = iPlayCommodityAndLevelInfoService.selectAll(); + List tree = playCommodityInfoService.selectTree(); + if (levelId == null || levelId.isEmpty()) { + return R.ok(tree); + } + tree = formatPlayCommodityReturnVoTree(tree, levelInfoEntities, levelId); + tree = formatPlayCommodityReturnVoTree(tree); + return R.ok(tree); + } + /** * 顾客查询所有店员所有服务项目 @@ -33,23 +60,67 @@ public class WxClerkCommodityController { * @return 店员所有服务项目 */ @GetMapping("/custom/queryClerkAllCommodity") - public R customQueryClerkAllCommodity() { + public R customQueryClerkAllCommodity(@RequestParam("id") String clerkId) { + if (clerkId == null || clerkId.isEmpty()) { + throw new CustomException("请求参数异常,id不能为空"); + } + PlayClerkUserInfoEntity clerkUserInfo = clerkUserInfoService.selectById(clerkId); + List levelInfoEntities = iPlayCommodityAndLevelInfoService.selectAll(); List tree = playCommodityInfoService.selectTree(); + tree = formatPlayCommodityReturnVoTree(tree, levelInfoEntities, clerkUserInfo.getLevelId()); + tree = formatPlayCommodityReturnVoTree(tree); return R.ok(tree); } + /** - * 顾客查询所有店员所有服务项目 + * 店员查询自己的服务项目 * * @return 店员所有服务项目 */ @ClerkUserLogin @GetMapping("/clerk/queryAllCommodity") public R clerkQueryAllCommodity() { + String levelId = ThreadLocalRequestDetail.getClerkUserInfo().getLevelId(); + List levelInfoEntities = iPlayCommodityAndLevelInfoService.selectAll(); List tree = playCommodityInfoService.selectTree(); + tree = formatPlayCommodityReturnVoTree(tree, levelInfoEntities, levelId); + tree = formatPlayCommodityReturnVoTree(tree); return R.ok(tree); } + public List formatPlayCommodityReturnVoTree(List tree, List levelInfoEntities, String levelId) { + Iterator it = tree.iterator(); + while (it.hasNext()) { + PlayCommodityReturnVo item = it.next(); + //查找当前服务项目对应的价格 + for (PlayCommodityAndLevelInfoEntity levelInfoEntity : levelInfoEntities) { + if (item.getId().equals(levelInfoEntity.getCommodityId()) && levelId.equals(levelInfoEntity.getLevelId())) { + item.setPrice(levelInfoEntity.getPrice()); + } + } + //如果未设置价格,删除元素 + if (!"00".equals(item.getPId()) && item.getPrice() == null) { + it.remove(); + } + formatPlayCommodityReturnVoTree(item.getChild(), levelInfoEntities, levelId); + } + return tree; + } + + public List formatPlayCommodityReturnVoTree(List tree) { + Iterator it = tree.iterator(); + while (it.hasNext()) { + PlayCommodityReturnVo item = it.next(); + if ("00".equals(item.getPId()) && item.getChild().isEmpty()) { + it.remove(); + } + formatPlayCommodityReturnVoTree(item.getChild()); + } + return tree; + } + + } diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCouponController.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCouponController.java index df73050..4a66ceb 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCouponController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCouponController.java @@ -108,7 +108,7 @@ public class WxCouponController { @PostMapping("/custom/queryByOrder") public R queryByOrder(@Validated @RequestBody WxCouponOrderQueryVo vo) { List list = couponDetailsService.selectByCustomId(ThreadLocalRequestDetail.getCustomUserInfo().getId()); - PlayClerkUserInfoEntity clerkUserInfo = playClerkUserInfoService.queryByUserId(vo.getClerkId()); + PlayClerkUserInfoEntity clerkUserInfo = playClerkUserInfoService.selectById(vo.getClerkId()); PlayCommodityInfoVo commodityInfo = playCommodityInfoService.queryCommodityInfo(vo.getCommodityId(),clerkUserInfo.getLevelId()); // 优惠券列表 List couponReturnVos = new ArrayList<>(); diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayCommodityReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayCommodityReturnVo.java index b64360f..34fffde 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayCommodityReturnVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/PlayCommodityReturnVo.java @@ -15,6 +15,8 @@ import java.util.List; public class PlayCommodityReturnVo { private String id; + + private String pId; /** * 项目类型 */