未获取到支付记录

This commit is contained in:
wangw 2025-09-29 16:20:58 +08:00
parent 4f0e0acacb
commit 7487e028b0
5 changed files with 45 additions and 32 deletions

View File

@ -59,4 +59,7 @@ public interface OrderInfoService extends IService<OrderInfo> {
Boolean cancelledOrder(Long shopId, Long orderId);
Boolean cancelledPlaceOrder(Long shopId, Long orderId, Integer placeNum);
Boolean updatePayOrderId(Long shopId, Long orderId, String payType);
}

View File

@ -139,4 +139,6 @@ public interface OrderInfoMapper extends BaseMapper<OrderInfo> {
List<HandoverCategoryListVo> getHandoverCategoryList(Long shopId, String loginTime, String handoverTime);
int decrMoney(@Param("id") Long id, @Param("amount") BigDecimal amount);
int updatePayOrderId(@Param("shopId") Long shopId, @Param("orderId") Long orderId, @Param("payType") String payType);
}

View File

@ -864,27 +864,27 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
.set(OrderInfo::getIsFreeDine, 1)
.set(OrderInfo::getPayAmount, 0)
.update();
}
shopRechargeService.recharge(payment.getShopId(), payment.getSourceId(), payment.getRelatedId(),
BigDecimal.valueOf(czgCallBackDto.getAmount()).divide(BigDecimal.valueOf(100)), payment.getId(), payment.getPayType(), bizEnum);
//充值并支付
OrderInfo orderInfo = getOne(new QueryWrapper()
.eq(OrderInfo::getPayOrderId, payment.getRelatedId())
.eq(OrderInfo::getPayType, PayEnums.VIP_PAY.getValue()));
if (orderInfo != null) {
updateChain().eq(OrderInfo::getPayOrderId, payment.getRelatedId())
.eq(OrderInfo::getPayType, PayEnums.VIP_PAY.getValue())
.set(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode())
.set(OrderInfo::getPayAmount, 0)
.update();
ShopUserMoneyEditDTO shopUserMoneyEditDTO = new ShopUserMoneyEditDTO()
.setId(shopUser.getId())
.setType(0)
.setBizEnum(ShopUserFlowBizEnum.ORDER_PAY)
.setRelationId(orderInfo.getId())
.setMoney(orderInfo.getOrderAmount());
shopUserService.updateMoney(shopUserMoneyEditDTO);
} else {
shopRechargeService.recharge(payment.getShopId(), payment.getSourceId(), payment.getRelatedId(),
BigDecimal.valueOf(czgCallBackDto.getAmount()).divide(BigDecimal.valueOf(100)), payment.getId(), payment.getPayType(), bizEnum);
//充值并支付
OrderInfo orderInfo = getOne(new QueryWrapper()
.eq(OrderInfo::getPayOrderId, payment.getId())
.eq(OrderInfo::getPayType, PayEnums.VIP_PAY.getValue()));
if (orderInfo != null) {
updateChain().eq(OrderInfo::getPayOrderId, payment.getRelatedId())
.eq(OrderInfo::getPayType, PayEnums.VIP_PAY.getValue())
.set(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode())
.set(OrderInfo::getPayAmount, 0)
.update();
ShopUserMoneyEditDTO shopUserMoneyEditDTO = new ShopUserMoneyEditDTO()
.setId(shopUser.getId())
.setType(0)
.setBizEnum(ShopUserFlowBizEnum.ORDER_PAY)
.setRelationId(orderInfo.getId())
.setMoney(orderInfo.getOrderAmount());
shopUserService.updateMoney(shopUserMoneyEditDTO);
}
}
}
} else if ("memberPay".equals(payment.getPayType())) {
@ -1380,4 +1380,11 @@ public class OrderInfoServiceImpl extends ServiceImpl<OrderInfoMapper, OrderInfo
}
return true;
}
@Override
@Transactional(rollbackFor = Exception.class)
public Boolean updatePayOrderId(Long shopId, Long orderId, String payType) {
mapper.updatePayOrderId(shopId, orderId, payType);
return true;
}
}

View File

@ -834,17 +834,10 @@ public class PayServiceImpl implements PayService {
}
private void upOrderPayInfo(@NonNull Long orderId, @NonNull PayEnums payType, @NotBlank Long paymentId) {
OrderInfo orderInfo = new OrderInfo();
orderInfo.setId(orderId);
orderInfo.setPayType(payType.getValue());
orderInfo.setPayOrderId(paymentId);
orderInfoService.updateById(orderInfo, true);
// orderInfoService.updateChain()
// .set(OrderInfo::getPayOrderId, paymentId)
// .set(OrderInfo::getPayType, payType.getValue())
// .where(OrderInfo::getId).eq(orderId)
// .update();
if (paymentId == null) {
throw new CzgException("未获取到支付记录");
}
orderInfoService.updatePayOrderId(orderId, paymentId, payType.getValue());
}

View File

@ -34,6 +34,14 @@
update tb_order_info set origin_amount = origin_amount-#{amount}, update_time=now() where id=#{id} and origin_amount-#{amount} >= 0;
</update>
<update id="updatePayOrderId">
update tb_order_info
set pay_order_id = #{payOrderId},
pay_type = #{payType},
update_time=now()
where id = #{orderId};
</update>
<select id="getHandoverCashAmount" resultType="java.math.BigDecimal">
SELECT
ifnull(sum(t1.pay_amount),0)