余额支付和积分支付添加进流水表 #13
@@ -153,6 +153,9 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
||||
@Autowired
|
||||
private MemberPointsSplitProfitService memberPointsSplitProfitService;
|
||||
|
||||
@Autowired
|
||||
private UmsMemberAccountTransactionMapper umsMemberAccountTransactionMapper;
|
||||
|
||||
|
||||
@Value("${kuaidi100.url}")
|
||||
private String KUAIDI100_URL;
|
||||
@@ -1343,8 +1346,10 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
||||
if (flag == 0) { // 如果实际支付金额为0,表示使用积分支付
|
||||
|
||||
// 获取积分兑换价格
|
||||
BigDecimal totalPointsAmount = order.getIntegrationAmount(); // 使用订单中的积分字段
|
||||
BigDecimal memberPoints = BigDecimal.valueOf(member.getIntegration()); // 获取当前用户积分
|
||||
// 使用订单中的积分字段
|
||||
BigDecimal totalPointsAmount = order.getIntegrationAmount();
|
||||
// 获取当前用户积分
|
||||
BigDecimal memberPoints = BigDecimal.valueOf(member.getIntegration());
|
||||
|
||||
// 判断用户积分是否足够
|
||||
if (memberPoints.compareTo(totalPointsAmount) < 0) {
|
||||
@@ -1352,8 +1357,10 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
||||
}
|
||||
|
||||
// 扣除用户积分,并记录积分变动
|
||||
member.setIntegration(memberPoints.subtract(totalPointsAmount).intValue()); // 扣除积分
|
||||
member.setFreeze(member.getFreeze().add(totalPointsAmount)); // 冻结积分
|
||||
// 扣除积分
|
||||
member.setIntegration(memberPoints.subtract(totalPointsAmount).intValue());
|
||||
// 冻结积分
|
||||
member.setFreeze(member.getFreeze().add(totalPointsAmount));
|
||||
memberMapper.updateByPrimaryKey(member);
|
||||
|
||||
// 支付方式:0->未支付;1->支付宝;2->微信;3->线下支付;4->积分支付支付
|
||||
@@ -1367,11 +1374,13 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
||||
//写入会员交易记录表
|
||||
DmsMemberTradeRecord tradeRecord = new DmsMemberTradeRecord();
|
||||
tradeRecord.setMemberId(member.getId());
|
||||
tradeRecord.setItemType(ItemType.IntegralShopping); //积分购物
|
||||
//积分购物
|
||||
tradeRecord.setItemType(ItemType.IntegralShopping);
|
||||
tradeRecord.setNote("积分抵扣");
|
||||
tradeRecord.setTitle("积分抵扣");
|
||||
tradeRecord.setValue(totalPointsAmount);
|
||||
tradeRecord.setType(1); //收支类型:0->收入;1->支出
|
||||
//收支类型:0->收入;1->支出
|
||||
tradeRecord.setType(1);
|
||||
tradeRecord.setCreateTime(new Date());
|
||||
memberTradeRecordMapper.insert(tradeRecord);
|
||||
|
||||
@@ -1379,7 +1388,8 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
||||
long time = System.currentTimeMillis() + RedisLock.TIMEOUT;
|
||||
if (redisLock.lock(String.valueOf(member.getId()), String.valueOf(time))) {
|
||||
member = memberMapper.selectByPrimaryKey(member.getId());
|
||||
member.setFreeze(member.getFreeze().add(order.getIntegrationAmount())); //修改冻结金额,增加冻结资金
|
||||
//修改冻结金额,增加冻结资金
|
||||
member.setFreeze(member.getFreeze().add(order.getIntegrationAmount()));
|
||||
memberMapper.updateByPrimaryKey(member);
|
||||
redisLock.unlock(String.valueOf(member.getId()), String.valueOf(time));
|
||||
break;
|
||||
@@ -1390,6 +1400,16 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
||||
return CommonResult.validateFailed("无效订单");
|
||||
}
|
||||
|
||||
//插入流水表
|
||||
UmsMemberAccountTransaction accountTransaction = new UmsMemberAccountTransaction();
|
||||
accountTransaction.setMemberId(member.getId());
|
||||
accountTransaction.setOrderId(orderId);
|
||||
accountTransaction.setTransferPaymentTime(order.getPaymentTime());
|
||||
accountTransaction.setRevenuePoints(totalPointsAmount.intValue());
|
||||
PmsProduct pmsProduct = orderMapper.selectAll(order.getOrderSn());
|
||||
accountTransaction.setRemarks( "商品名称" + pmsProduct.getName());
|
||||
umsMemberAccountTransactionMapper.updateByPrimaryKey(accountTransaction);
|
||||
|
||||
Date date = new Date();
|
||||
|
||||
//支付方式:0->未支付;1->支付宝;2->微信;3->线下支付;4->余额支付
|
||||
@@ -1501,6 +1521,15 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
||||
// 更新用户余额
|
||||
memberMapper.updateByPrimaryKey(member);
|
||||
|
||||
//插入流水表
|
||||
UmsMemberAccountTransaction accountTransaction = new UmsMemberAccountTransaction();
|
||||
accountTransaction.setMemberId(member.getId());
|
||||
accountTransaction.setOrderId(orderId);
|
||||
accountTransaction.setTransferPaymentTime(orderResult.getPaymentTime());
|
||||
accountTransaction.setRevenueAmount(payAmount.negate());
|
||||
PmsProduct pmsProduct = orderMapper.selectAll(orderResult.getOrderSn());
|
||||
accountTransaction.setRemarks( "商品名称" + pmsProduct.getName());
|
||||
umsMemberAccountTransactionMapper.updateByPrimaryKey(accountTransaction);
|
||||
|
||||
// 更新订单状态为已支付
|
||||
OmsOrder order = orderMapper.selectByPrimaryKey(orderId);
|
||||
|
||||
Reference in New Issue
Block a user