From ae69d718d0b417974dafbe2ce98a429a89101152 Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期二, 14 一月 2025 15:18:50 +0800
Subject: [PATCH] 修改
---
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java | 54 ++++++++++++++++++++++++++++++++++++------------------
1 files changed, 36 insertions(+), 18 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 45a70ba..6e38450 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
@@ -8,6 +8,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.account.api.feignClient.AppUserClient;
import com.ruoyi.account.api.feignClient.BalanceChangeRecordClient;
+import com.ruoyi.account.api.feignClient.UserCouponClient;
import com.ruoyi.account.api.feignClient.UserPointClient;
import com.ruoyi.account.api.model.*;
import com.ruoyi.common.core.domain.R;
@@ -108,6 +109,9 @@
@Resource
private SystemConfigClient systemConfigClient;
+
+ @Resource
+ private UserCouponClient userCouponClient;
@@ -153,9 +157,8 @@
// 收货地址
String addressJson = order.getAddressJson();
UserAddress userAddress = new UserAddress();
- if (StringUtils.isNotEmpty(addressJson)){
+ if (2 == order.getDistributionMode()){
userAddress = JSONObject.parseObject(addressJson, UserAddress.class);
-
}
// 优惠券
String couponJson = order.getCouponJson();
@@ -171,13 +174,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());
- }
-
+ orderDetailVO.setDistributionMode(order.getDistributionMode());
Technician technician = new Technician();
if (order.getTechnicianId() != null){
R<Technician> shopdetail = technicianClient.shopdetail(order.getTechnicianId());
@@ -193,6 +190,7 @@
orderDetailVO.setAddressId(userAddress.getId());
orderDetailVO.setRecieveName(userAddress.getRecieveName());
orderDetailVO.setRecievePhone(userAddress.getRecievePhone());
+ userAddress.setRecieveAddress(userAddress.getProvince() + userAddress.getCity() + userAddress.getDistrict() + userAddress.getRecieveAddress());
orderDetailVO.setRecieveAddress(userAddress.getRecieveAddress());
orderDetailVO.setOrderNumber(order.getOrderNumber());
orderDetailVO.setCreateTime(order.getCreateTime());
@@ -210,6 +208,14 @@
orderDetailVO.setLatitude(shop.getLatitude());
orderDetailVO.setShopId(shop.getId());
orderDetailVO.setTechnicianName(technician.getName());
+ orderDetailVO.setTechnicianId(technician.getId());
+ 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());
+ }
+ }
return orderDetailVO;
}
@@ -444,6 +450,7 @@
BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
balanceChangeRecord.setOrderId(order.getId());
balanceChangeRecord.setAppUserId(order.getAppUserId());
+ balanceChangeRecord.setVipId(appUser.getVipId());
balanceChangeRecord.setChangeType(6);
balanceChangeRecord.setBeforeAmount(balance);
balanceChangeRecord.setChangeAmount(paymentAmount);
@@ -490,6 +497,12 @@
userPoint.setObjectId(order.getId());
userPointClient.saveUserPoint(userPoint);
appUserClient.editAppUserById(appUser);
+ //回退优惠券状态
+ if(null != order.getUserCouponId()){
+ UserCoupon userCoupon = userCouponClient.getUserCoupon(order.getUserCouponId()).getData();
+ userCoupon.setUseTime(null);
+ userCouponClient.editReturnUse(userCoupon);
+ }
}
if(3 == payMethod){
//开始运费退款,积分支付,运费是单独进行支付的,所以需要单独退款
@@ -518,6 +531,7 @@
BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
balanceChangeRecord.setOrderId(order.getId());
balanceChangeRecord.setAppUserId(order.getAppUserId());
+ balanceChangeRecord.setVipId(appUser.getVipId());
balanceChangeRecord.setChangeType(6);
balanceChangeRecord.setBeforeAmount(balance);
balanceChangeRecord.setChangeAmount(expressAmount);
@@ -614,6 +628,13 @@
userPoint.setObjectId(order.getId());
userPointClient.saveUserPoint(userPoint);
appUserClient.editAppUserById(appUser);
+
+ //回退优惠券状态
+ if(null != order.getUserCouponId()){
+ UserCoupon userCoupon = userCouponClient.getUserCoupon(order.getUserCouponId()).getData();
+ userCoupon.setUseTime(null);
+ userCouponClient.editReturnUse(userCoupon);
+ }
return R.ok();
}
@@ -739,17 +760,13 @@
orderInfo.setExpressAmount(order.getExpressAmount());
orderInfo.setPaymentAmount(order.getPaymentAmount());
orderInfo.setGetPoint(order.getGetPoint());
- if(StringUtils.isNotEmpty(order.getAddressJson())){
+ if(2 == order.getDistributionMode()){
UserAddress userAddress = JSON.parseObject(order.getAddressJson(), UserAddress.class);
orderInfo.setRecipient(userAddress.getRecieveName() + "-" + userAddress.getRecievePhone());
+ userAddress.setRecieveAddress(userAddress.getProvince() + userAddress.getCity() + userAddress.getDistrict() + userAddress.getRecieveAddress());
orderInfo.setAddress(userAddress.getRecieveAddress());
- }
- if(StringUtils.isNotEmpty(order.getExpressJson()) && !"NULL".equals(order.getExpressJson())){
- JSONObject jsonObject = JSON.parseObject(order.getExpressJson());
- String com = jsonObject.getString("com");
- String num = jsonObject.getString("num");
- QueryKD100Vo queryKD100Vo = ExpressDeliveryUtil.kd100QueryTrack(com, num);
- orderInfo.setExpress(queryKD100Vo);
+ MapTrackKD100Vo mapTrackKD100Vo = JSON.parseObject(order.getExpressResult(), MapTrackKD100Vo.class);
+ orderInfo.setExpress(mapTrackKD100Vo);
}
List<OrderGood> orderGoods = orderGoodMapper.selectList(new LambdaQueryWrapper<OrderGood>().eq(OrderGood::getOrderId, orderId).eq(OrderGood::getDelFlag, 0));
int sum = orderGoods.stream().mapToInt(OrderGood::getNum).sum();
@@ -838,7 +855,8 @@
String com = jsonObject.getString("com");
String num = jsonObject.getString("num");
UserAddress userAddress = JSON.parseObject(order.getAddressJson(), UserAddress.class);
- MapTrackKD100Vo mapTrackKD100Vo = ExpressDeliveryUtil.kd100MapTrack(com, num, "", userAddress.getRecieveAddress());
+ MapTrackKD100Vo mapTrackKD100Vo = ExpressDeliveryUtil.kd100MapTrack(com, num, order.getDeliverProvince() + order.getDeliverCity(),
+ userAddress.getProvince() + userAddress.getCity());
order.setExpressResult(JSON.toJSONString(mapTrackKD100Vo));
this.updateById(order);
//延长时间x小时
--
Gitblit v1.7.1