From d9bcc1f955e1cddc6a38e55f769205a9330d3c89 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 10 十二月 2024 17:06:37 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 50 ++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 36 insertions(+), 14 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 022167c..9a67c80 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 @@ -17,11 +17,13 @@ import com.ruoyi.order.mapper.OrderMapper; import com.ruoyi.order.model.Order; import com.ruoyi.order.model.OrderGood; +import com.ruoyi.order.service.CommissionService; import com.ruoyi.order.service.OrderService; import com.ruoyi.order.vo.OrderDetailVO; import com.ruoyi.order.vo.OrderGoodsVO; import com.ruoyi.order.vo.OrderVO; import com.ruoyi.other.api.domain.*; +import com.ruoyi.other.api.feignClient.BaseSettingClient; import com.ruoyi.other.api.feignClient.ShopClient; import com.ruoyi.other.api.feignClient.TechnicianClient; import com.ruoyi.system.api.model.LoginUser; @@ -29,6 +31,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; @@ -55,6 +58,10 @@ private TechnicianClient technicianClient; @Resource private ShopClient shopClient; + @Resource + private CommissionService commissionService; + @Resource + private BaseSettingClient baseSettingClient; @Override @@ -135,6 +142,12 @@ } technician = shopdetail.getData(); } + R<TechnicianSubscribe> subscribeR = technicianClient.getSubscribeByOrderId(orderId); + if (!R.isSuccess(subscribeR)){ + throw new ServiceException("获取预约信息失败"); + } + TechnicianSubscribe subscribe = subscribeR.getData(); + Shop shop = shopR.getData(); orderDetailVO.setId(order.getId()); orderDetailVO.setOrderStatus(order.getOrderStatus()); @@ -159,6 +172,7 @@ orderDetailVO.setLatitude(shop.getLatitude()); orderDetailVO.setShopId(shop.getId()); orderDetailVO.setTechnicianName(technician.getName()); + orderDetailVO.setTechnicianSubscribeId(String.valueOf(subscribe.getId())); return orderDetailVO; } @@ -194,7 +208,7 @@ public void writeOff(String code,Integer shopId) { LoginUser loginUserApplet = tokenService.getLoginUserApplet(); Order order = orderMapper.selectOne(new LambdaQueryWrapper<Order>() - .eq(Order::getOrderNumber, code)); + .eq(Order::getId, code)); boolean check = check(order, shopId, loginUserApplet.getUserid()); if (!check){ throw new ServiceException("订单不存在"); @@ -203,22 +217,30 @@ orderMapper.updateById(order); Integer orderType = order.getOrderType(); if (orderType.equals(OrderType.SERVICE.getCode())){ - R<Technician> shopdetail = technicianClient.shopdetail(order.getTechnicianId()); - if (shopdetail.getCode() != R.SUCCESS){ - throw new ServiceException("获取技师信息失败"); + R<TechnicianSubscribe> subscribeR = technicianClient.getSubscribeByOrderId(order.getId()); + if (R.isError(subscribeR)){ + throw new ServiceException("获取预约信息失败"); } - Technician technician = shopdetail.getData(); - R<Void> r = technicianClient.updateStatus(2, technician.getId()); - if (r.getCode() != R.SUCCESS){ - throw new ServiceException("修改技师状态失败"); + TechnicianSubscribe subscribe = subscribeR.getData(); + subscribe.setStatus(2); + R<Void> r = technicianClient.updateStatus(subscribe.getStatus(), subscribe.getId()); + if (R.isError(r)){ + throw new ServiceException("更新预约状态失败"); } } - } - - - @Override - public void commission(Long orderId) { - + // 售后设置 + R<BaseSetting> baseSettingR = baseSettingClient.getBaseSetting(5); + if (R.isError(baseSettingR)) { + throw new ServiceException("售后设置获取失败"); + } + BaseSetting baseSetting = baseSettingR.getData(); + if (baseSetting == null) { + throw new ServiceException("售后设置获取失败"); + } + String content = baseSetting.getContent(); + JSONObject jsonObject = JSONObject.parseObject(content); + Long days = jsonObject.getLong("days"); + commissionService.addToCommissionDelayQueue(order.getId(), LocalDateTime.now().plusDays(days)); } } -- Gitblit v1.7.1