Merge pull request '余额支付和积分支付添加进流水表' (#13) from main-cx into main
Reviewed-on: #13
This commit is contained in:
@@ -153,6 +153,9 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private MemberPointsSplitProfitService memberPointsSplitProfitService;
|
private MemberPointsSplitProfitService memberPointsSplitProfitService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private UmsMemberAccountTransactionMapper umsMemberAccountTransactionMapper;
|
||||||
|
|
||||||
|
|
||||||
@Value("${kuaidi100.url}")
|
@Value("${kuaidi100.url}")
|
||||||
private String KUAIDI100_URL;
|
private String KUAIDI100_URL;
|
||||||
@@ -1343,8 +1346,10 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
if (flag == 0) { // 如果实际支付金额为0,表示使用积分支付
|
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) {
|
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);
|
memberMapper.updateByPrimaryKey(member);
|
||||||
|
|
||||||
// 支付方式:0->未支付;1->支付宝;2->微信;3->线下支付;4->积分支付支付
|
// 支付方式:0->未支付;1->支付宝;2->微信;3->线下支付;4->积分支付支付
|
||||||
@@ -1367,11 +1374,13 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
//写入会员交易记录表
|
//写入会员交易记录表
|
||||||
DmsMemberTradeRecord tradeRecord = new DmsMemberTradeRecord();
|
DmsMemberTradeRecord tradeRecord = new DmsMemberTradeRecord();
|
||||||
tradeRecord.setMemberId(member.getId());
|
tradeRecord.setMemberId(member.getId());
|
||||||
tradeRecord.setItemType(ItemType.IntegralShopping); //积分购物
|
//积分购物
|
||||||
|
tradeRecord.setItemType(ItemType.IntegralShopping);
|
||||||
tradeRecord.setNote("积分抵扣");
|
tradeRecord.setNote("积分抵扣");
|
||||||
tradeRecord.setTitle("积分抵扣");
|
tradeRecord.setTitle("积分抵扣");
|
||||||
tradeRecord.setValue(totalPointsAmount);
|
tradeRecord.setValue(totalPointsAmount);
|
||||||
tradeRecord.setType(1); //收支类型:0->收入;1->支出
|
//收支类型:0->收入;1->支出
|
||||||
|
tradeRecord.setType(1);
|
||||||
tradeRecord.setCreateTime(new Date());
|
tradeRecord.setCreateTime(new Date());
|
||||||
memberTradeRecordMapper.insert(tradeRecord);
|
memberTradeRecordMapper.insert(tradeRecord);
|
||||||
|
|
||||||
@@ -1379,7 +1388,8 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
long time = System.currentTimeMillis() + RedisLock.TIMEOUT;
|
long time = System.currentTimeMillis() + RedisLock.TIMEOUT;
|
||||||
if (redisLock.lock(String.valueOf(member.getId()), String.valueOf(time))) {
|
if (redisLock.lock(String.valueOf(member.getId()), String.valueOf(time))) {
|
||||||
member = memberMapper.selectByPrimaryKey(member.getId());
|
member = memberMapper.selectByPrimaryKey(member.getId());
|
||||||
member.setFreeze(member.getFreeze().add(order.getIntegrationAmount())); //修改冻结金额,增加冻结资金
|
//修改冻结金额,增加冻结资金
|
||||||
|
member.setFreeze(member.getFreeze().add(order.getIntegrationAmount()));
|
||||||
memberMapper.updateByPrimaryKey(member);
|
memberMapper.updateByPrimaryKey(member);
|
||||||
redisLock.unlock(String.valueOf(member.getId()), String.valueOf(time));
|
redisLock.unlock(String.valueOf(member.getId()), String.valueOf(time));
|
||||||
break;
|
break;
|
||||||
@@ -1390,6 +1400,16 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
return CommonResult.validateFailed("无效订单");
|
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();
|
Date date = new Date();
|
||||||
|
|
||||||
//支付方式:0->未支付;1->支付宝;2->微信;3->线下支付;4->余额支付
|
//支付方式:0->未支付;1->支付宝;2->微信;3->线下支付;4->余额支付
|
||||||
@@ -1501,6 +1521,15 @@ public class OmsPortalOrderServiceImpl implements OmsPortalOrderService {
|
|||||||
// 更新用户余额
|
// 更新用户余额
|
||||||
memberMapper.updateByPrimaryKey(member);
|
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);
|
OmsOrder order = orderMapper.selectByPrimaryKey(orderId);
|
||||||
|
|||||||
Reference in New Issue
Block a user