Преглед изворни кода

fix 分销订单退款,分发积分记录状态修改

zoujiajian пре 3 година
родитељ
комит
2cf3ede306

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/mapper/manage/distribute/DistributeWaitingSendPointsMapper.java

@@ -2,6 +2,8 @@ package com.cyksj.mapper.manage.distribute;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.cyksj.model.entity.DistributeWaitingSendPoints;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Update;
 
 /*
  *项目名: netflix
@@ -10,4 +12,7 @@ import com.cyksj.model.entity.DistributeWaitingSendPoints;
  *创建时间:2022/11/15 12:10
  */
 public interface DistributeWaitingSendPointsMapper extends BaseMapper<DistributeWaitingSendPoints> {
+
+	@Update("update distribute_waiting_send_points set send_status = #{status} where order_id = #{orderId}")
+	void updateOrderStatus(@Param("orderId") Long orderId, @Param("status") DistributeWaitingSendPoints.Status status);
 }

+ 12 - 0
netflix-service/src/main/java/com/cyksj/service/order/impl/OrderDonServiceImpl.java

@@ -602,6 +602,9 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 		//修改订单状态
 		orderDon.setStatus(OrderDon.Status.refund);
 		orderDon.setRefundMoney(wxOrderRefundReq.getRefundMoney());
+		if (orderDon.getIsDistribute()) {
+			distributeWaitingSendPointsMapper.updateOrderStatus(orderDon.getId(), DistributeWaitingSendPoints.Status.close);
+		}
 		orderDonMapper.updateById(orderDon);
 		//记录退款信息
 		final String outNo = outRefundNo;
@@ -667,6 +670,9 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 				AliPayRefundRep.AlipayTradeRefundResponse res = aliPayRefundRep.getResponse();
 				orderDon.setRefundMoney(res.getRefundFee().multiply(BigDecimal.valueOf(100)));
 			} else orderDon.setRefundMoney(BigDecimal.ZERO);
+			if (orderDon.getIsDistribute()) {
+				distributeWaitingSendPointsMapper.updateOrderStatus(orderDon.getId(), DistributeWaitingSendPoints.Status.close);
+			}
 			orderDonMapper.updateById(orderDon);
 			//记录退款信息
 			THREAD_POOL_TASK_EXECUTOR.execute(()->{
@@ -789,6 +795,12 @@ public class OrderDonServiceImpl extends ServiceImpl<OrderDonMapper, OrderDon> i
 			orderDon.setRefundMoney(refundMoney);
 			orderDonMapper.updateById(orderDon);
 		}
+		if (orderDon.getIsDistribute()) {
+			DistributeWaitingSendPoints distributeWaitingSendPoints = distributeWaitingSendPointsMapper.selectOne(Wrappers.lambdaQuery(DistributeWaitingSendPoints.class).eq(DistributeWaitingSendPoints::getOrderId, orderDon.getId()).last("limit 1"));
+			if (distributeWaitingSendPoints != null && distributeWaitingSendPoints.getSendStatus() != DistributeWaitingSendPoints.Status.close) {
+				distributeWaitingSendPointsMapper.updateOrderStatus(orderDon.getId(), DistributeWaitingSendPoints.Status.close);
+			}
+		}
 		log.info("微信退款: 退款单号[{}] 退款成功.", outRefundNo);
 	}
 

+ 1 - 1
netflix-web/src/main/resources/application.yml

@@ -1 +1 @@
-spring:
  profiles:
    active: dev
    
+spring:
  profiles:
    active:
      - ${activeProfile}