From 7b5e3e05c53f6da8b69630f7e9ec2019eddc436a Mon Sep 17 00:00:00 2001 From: 无关风月 <443237572@qq.com> Date: 星期四, 04 七月 2024 10:44:53 +0800 Subject: [PATCH] bug修改 --- ruoyi-service/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/TGoodsController.java | 97 +++++++++++++++++++++++++++--------------------- 1 files changed, 55 insertions(+), 42 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 8b6540c..f703b3d 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,9 +88,12 @@ // 类型匹配 todo if (goodQuery.getType() != null && goodQuery.getType().size() > 0) { - for (String s : goodQuery.getType()) { - // 将每个类型 ID 应用于 FIND_IN_SET 函数 - wrapper.apply("FIND_IN_SET('" + s + "', typeIds)").or(); + for (int i = 0; i < goodQuery.getType().size(); i++) { +// if (i == 0){ +// wrapper.apply("FIND_IN_SET('" + goodQuery.getType().get(i) + "', typeIds)"); // 将每个类型 ID 应用于 FIND_IN_SET 函数 +// }else{ + wrapper.or().apply("FIND_IN_SET('" + goodQuery.getType().get(i) + "', typeIds)"); // 将每个类型 ID 应用于 FIND_IN_SET 函数 +// } } } wrapper.eq("isDelete", 0); @@ -112,10 +115,13 @@ QueryWrapper<TGoods> wrapper = new QueryWrapper<>(); wrapper = keywords != null && !"".equals(keywords.trim()) ? wrapper.like("name", keywords) : wrapper; // 类型匹配 todo - if (goodQuery.getType() != null && !goodQuery.getType().isEmpty()) { - for (String s : goodQuery.getType()) { - // 将每个类型 ID 应用于 FIND_IN_SET 函数 - wrapper.apply("FIND_IN_SET('" + s + "', typeIds)").or(); + if (goodQuery.getType() != null && goodQuery.getType().size() > 0) { + for (int i = 0; i < goodQuery.getType().size(); i++) { + if (i == 0){ + wrapper.apply("FIND_IN_SET('" + goodQuery.getType().get(i) + "', typeIds)"); // 将每个类型 ID 应用于 FIND_IN_SET 函数 + }else{ + wrapper.or().apply("FIND_IN_SET('" + goodQuery.getType().get(i) + "', typeIds)"); // 将每个类型 ID 应用于 FIND_IN_SET 函数 + } } } wrapper.eq("isDelete", 0); @@ -217,12 +223,22 @@ @PostMapping("/updateGoods") @ApiOperation(value = "修改", tags = {"后台-商品管理"}) public R updateGoods(@RequestBody TGoods dto) { - if (dto.getTotal() != null) { - dto.setSurplus(dto.getTotal()); - } else { - dto.setSurplus(0); + TGoods byId = goodsService.getById(dto.getId()); + if (!Objects.equals(byId.getTotal(), dto.getTotal())){ + // 如果修改了商品总数 那么需要再判断当前商品已被购买了多少 + List<TOrder> list = orderService.list(new QueryWrapper<TOrder>() + .eq("goodsId", dto.getId())); + Integer temp = 0; + for (TOrder tOrder : list) { + temp += tOrder.getCount(); + } + if (dto.getTotal()<temp){ + return R.fail("商品总数不能小于当前商品已兑换数量,"+"当前商品已兑换数量为:"+temp); + } } goodsService.updateById(dto); + goodsService.updateOne(dto); + return R.ok("修改成功"); } @@ -273,33 +289,24 @@ @GetMapping("/exchangeRecordParent") @ApiOperation(value = "家长端-兑换记录", tags = {"家长端-兑换记录"}) - public R<Page<TOrder>> exchangeRecordParent(Integer pageNumber, Integer pageSize) { + public R<List<ExchangeRecordVO>> exchangeRecordParent() { if (tokenService.getLoginUser1() == null) { return R.tokenError("登录失效"); } - Page<TOrder> page = orderService.page(new Page<>(pageNumber, pageSize), new QueryWrapper<TOrder>().eq("userId", tokenService.getLoginUser1().getUserid()) - .orderByDesc("createTime")); - List<TOrder> records = page.getRecords(); - for (TOrder tOrder : records) { - TGoods byId = goodsService.getById(tOrder.getGoodsId()); - tOrder.setName(byId.getName()); - tOrder.setImg(byId.getCoverImg()); - StringBuilder stringBuilder = new StringBuilder(); - if (StringUtils.hasLength(byId.getTypeIds())) { - String[] split = byId.getTypeIds().split(","); - for (String s : split) { - TGoodsType byId1 = goodsTypeService.getById(s); - if (byId1 != null) { - stringBuilder.append(byId1.getName()).append("|"); - } - } - // 去除最后一个字符 - stringBuilder.deleteCharAt(stringBuilder.length() - 1); - tOrder.setType(stringBuilder.toString()); + List<ExchangeRecordVO> exchangeRecord = orderService.exchangeRecord(tokenService.getLoginUser1().getUserid()); + for (ExchangeRecordVO record : exchangeRecord) { + TGoods goods = goodsService.getById(record.getGoodsId()); + List<String> typeList; + if (null != goods) { + List<TGoodsType> goodsTypes = goodsTypeService.lambdaQuery().in(TGoodsType::getId, Arrays.stream(goods.getTypeIds().split(",")).collect(Collectors.toList())) + .eq(TGoodsType::getIsDelete, 0).list(); + typeList = goodsTypes.stream().map(TGoodsType::getName).collect(Collectors.toList()); + } else { + typeList = new ArrayList<>(); } + record.setGoodsType(typeList); } - - return R.ok(page); + return R.ok(exchangeRecord); } /** @@ -317,6 +324,7 @@ } TOrder byId = orderService.getById(id); byId.setState(3); + byId.setCompleteTime(new Date()); return R.ok(orderService.updateById(byId)); } @@ -586,13 +594,19 @@ if (tokenService.getLoginUser1() == null) { return R.tokenError("登录失效"); } - Recipient userId = recipientService.getById(recipientId); - TOrder byId = orderService.getById(orderId); - byId.setConsigneeName(userId.getRecipient()); - byId.setConsigneePhone(userId.getRecipientPhone()); - byId.setConsigneeAddress(userId.getAddress()); - orderService.updateById(byId); - return R.ok("修改成功"); + Recipient recipient = recipientService.getById(recipientId); + TOrder order = orderService.getById(orderId); + if (null == order) { + throw new GlobalException("订单不存在!"); + } + if (!Constants.ONE.equals(order.getState())) { + throw new GlobalException("订单已发货,无法修改收货地址!"); + } + order.setConsigneeName(recipient.getAddress()); + order.setConsigneePhone(recipient.getRecipientPhone()); + order.setConsigneeAddress(recipient.getProvince()+recipient.getCity()+recipient.getAddress()); + orderService.updateById(order); + return R.ok(); } @GetMapping("/updateOrderAddress") @@ -616,7 +630,7 @@ } order.setConsigneeName(recipient.getAddress()); order.setConsigneePhone(recipient.getRecipientPhone()); - order.setConsigneeAddress(recipient.getAddress()); + order.setConsigneeAddress(recipient.getProvince()+recipient.getCity()+recipient.getAddress()); orderService.updateById(order); return R.ok(); } @@ -706,7 +720,6 @@ */ @GetMapping("/goodDetailParent") @ApiOperation(value = "商品详情", tags = {"家长端-商城"}) - @ApiOperationSupport(order = 24) @ApiImplicitParams({ @ApiImplicitParam(value = "商品id", name = "goodId", dataType = "String", required = true) }) -- Gitblit v1.7.1