From 7e1a12b0dc3aa2034003203d7f677263fee9c27b Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期二, 14 一月 2025 16:28:59 +0800 Subject: [PATCH] 12.18 --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 45 ++++++++++++++++++++++++++------------------- 1 files changed, 26 insertions(+), 19 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java index 8507664..50ff76a 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java @@ -14,6 +14,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.ServiceException; import com.ruoyi.common.core.utils.StringUtils; +import com.ruoyi.common.core.utils.uuid.QRCodeGenerator; import com.ruoyi.common.core.web.page.PageInfo; import com.ruoyi.common.security.service.TokenService; import com.ruoyi.order.enums.OrderStatus; @@ -41,6 +42,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.io.IOException; import java.math.BigDecimal; import java.math.RoundingMode; import java.time.LocalDateTime; @@ -174,21 +176,7 @@ orderActivityInfo = JSONObject.parseObject(activityJson, OrderActivityInfo.class); } OrderDetailVO orderDetailVO = new OrderDetailVO(); - - if (CollectionUtil.isNotEmpty(orderGoods)){ - String goodJson = orderGoods.get(0).getGoodJson(); - Goods goods = JSONObject.parseObject(goodJson, Goods.class); - orderDetailVO.setDistributionMode(goods.getDistributionMode()); - } - - Technician technician = new Technician(); - if (order.getTechnicianId() != null){ - R<Technician> shopdetail = technicianClient.shopdetail(order.getTechnicianId()); - if (shopdetail.getCode() != R.SUCCESS){ - throw new ServiceException("获取技师信息失败"); - } - technician = shopdetail.getData(); - } + orderDetailVO.setDistributionMode(order.getDistributionMode()); Shop shop = shopR.getData(); orderDetailVO.setId(order.getId()); orderDetailVO.setOrderStatus(order.getOrderStatus()); @@ -213,7 +201,24 @@ orderDetailVO.setLongitude(shop.getLongitude()); orderDetailVO.setLatitude(shop.getLatitude()); orderDetailVO.setShopId(shop.getId()); - orderDetailVO.setTechnicianName(technician.getName()); + if(order.getOrderType() == 1){ + List<TechnicianSubscribe> data = technicianSubscribeClient.getTechnicianSubscribeList(order.getId()).getData(); + if(data.size() > 0){ + Long id = data.get(0).getId(); + orderDetailVO.setTechnicianSubscribeId(id.toString()); + Technician technician = technicianClient.shopdetail(order.getTechnicianId()).getData(); + orderDetailVO.setTechnicianName(technician.getName()); + orderDetailVO.setTechnicianId(technician.getId()); + } + } + // 生成核销码BASE64 + try { + String base64 = QRCodeGenerator.generateQRCodeBase64(String.valueOf(order.getId()), 124, 124); + orderDetailVO.setWriteOffCode(base64); + } catch (Exception e) { + e.printStackTrace(); + throw new ServiceException("生成核销码失败"); + } return orderDetailVO; } @@ -246,7 +251,7 @@ @Override @Transactional(rollbackFor = Exception.class) - public void writeOff(String id,Integer shopId) { + public void writeOff(String id,Integer shopId, Integer technicianId) { LoginUser loginUserApplet = tokenService.getLoginUserApplet(); Order order = orderMapper.selectById(id); boolean check = check(order, shopId, loginUserApplet.getUserid()); @@ -271,6 +276,7 @@ order.setAfterSaleTime(LocalDateTime.now().plusDays(days)); order.setEndTime(LocalDateTime.now()); order.setCancellerAppUserId(loginUserApplet.getUserid()); + order.setTechnicianId(technicianId); orderMapper.updateById(order); } @@ -437,11 +443,12 @@ appUser.setBalance(balance.add(paymentAmount).setScale(2, RoundingMode.HALF_EVEN)); appUser.setShopAmount(appUser.getShopAmount().subtract(paymentAmount).setScale(2, RoundingMode.HALF_EVEN)); //查询最后一次的消费订单 - Order order1 = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getAppUserId, order.getAppUserId()).eq(Order::getPayStatus, 2).eq(Order::getDelFlag, 0).in(Order::getOrderStatus, Arrays.asList(2, 3, 4, 8)).ne(Order::getId, order.getId()).last(" order by create_time desc limit 0, 1")); + Order order1 = this.getOne(new LambdaQueryWrapper<Order>().eq(Order::getAppUserId, order.getAppUserId()).eq(Order::getPayStatus, 2) + .eq(Order::getDelFlag, 0).in(Order::getOrderStatus, Arrays.asList(1, 2, 3, 4, 8)).ne(Order::getId, order.getId()).last(" order by create_time desc limit 0, 1")); if(null != order1){ appUser.setLastShopTime(order1.getCreateTime()); }else{ - appUser.setLastShopTime(LocalDateTime.MIN); + appUser.setLastShopTime(null); } //构建账户余额流水明细 -- Gitblit v1.7.1