Browse Source

退货增加余额记录

liyuan 5 months ago
parent
commit
2c44eac6a9

+ 1 - 0
blade-service-api/blade-sales-part-api/src/main/java/org/springblade/salesPart/recycling/entity/GreenRecyclingRecord.java

@@ -60,6 +60,7 @@ public class GreenRecyclingRecord implements Serializable {
 	 * 变动类型
 	 * 0 充值
 	 * 1 支出
+	 * 2 退货
 	 */
 	private Integer changeType;
 

+ 9 - 1
blade-service/blade-sales-part/src/main/java/org/springblade/salesPart/order/service/impl/OrderServiceImpl.java

@@ -68,6 +68,7 @@ import org.springblade.salesPart.order.service.IOrderService;
 import org.springblade.salesPart.order.service.IPjIntegralDetailService;
 import org.springblade.salesPart.payMethod.PayService;
 import org.springblade.salesPart.productLaunch.service.IProductLaunchService;
+import org.springblade.salesPart.recycling.mapper.GreenRecyclingRecordMapper;
 import org.springblade.salesPart.serial.service.IPjpfSerialService;
 import org.springblade.salesPart.settlement.mapper.SettlementMapper;
 import org.springblade.salesPart.settlement.service.ISettlementItemsService;
@@ -184,7 +185,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 
 	private final OrderMapper orderMapper;
 
-	private final ShoppingMallDetailMapper shoppingMallDetailMapper;
+	private final GreenRecyclingRecordMapper greenRecyclingRecordMapper;
 
 
 	/**
@@ -6389,6 +6390,11 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 			if ("额度支付".equals(order.getBusinessSource())) {
 				BigDecimal realTotalMoney = Objects.isNull(order.getPaymentRecoveredBalance()) ? BigDecimal.ZERO : order.getPaymentRecoveredBalance();
 				corpsDesc.setLimitAmount(corpsDesc.getLimitAmount().add(order.getTotalMoney().subtract(realTotalMoney)));
+				if (realTotalMoney.compareTo(BigDecimal.ZERO) > 0) {
+					BigDecimal srcRecoveredBalance = corpsDesc.getRecoveredBalance();
+					corpsDesc.setRecoveredBalance(srcRecoveredBalance.add(realTotalMoney));
+					greenRecyclingRecordMapper.insert(WxParamUtil.parseGreenRecyclingRecord(corpsDesc, AuthUtil.getUserId(), srcRecoveredBalance, realTotalMoney, 2));
+				}
 				corpsDescMapper.updateById(corpsDesc);
 			}
 			if (ObjectUtils.isNull(order.getOldTrxId())) {
@@ -6411,7 +6417,9 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, PjOrder> implemen
 					BigDecimal recoveredBalanceAmount = orderListNew.stream().map(PjOrder::getPaymentRecoveredBalance).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
 					BigDecimal realAmount = amount.subtract(recoveredBalanceAmount);
 					if (realAmount.compareTo(BigDecimal.ZERO) > 0) {
+						BigDecimal srcRecoveredBalance = corpsDesc.getRecoveredBalance();
 						corpsDesc.setRecoveredBalance(corpsDesc.getRecoveredBalance().add(recoveredBalanceAmount));
+						greenRecyclingRecordMapper.insert(WxParamUtil.parseGreenRecyclingRecord(corpsDesc, AuthUtil.getUserId(), srcRecoveredBalance, recoveredBalanceAmount, 2));
 						corpsDescMapper.updateById(corpsDesc);
 					}
 					R<Map<String, String>> r = payService.refund(order.getId(), realAmount, order.getOrdNo(), order.getSrcOrdNo(), order.getOldTrxId());