|
|
@@ -380,15 +380,21 @@ public class FsIntegralOrderServiceImpl implements IFsIntegralOrderService
|
|
|
|
|
|
if(fsIntegralOrderMapper.insertFsIntegralOrder(order)>0){
|
|
|
if (order.getPayType() != 2) {
|
|
|
+ // 验证积分是否足够,防止出现负数
|
|
|
+ long remainingIntegral = user.getIntegral() - totalIntegral;
|
|
|
+ if (remainingIntegral < 0) {
|
|
|
+ throw new CustomException("积分不足,无法创建订单");
|
|
|
+ }
|
|
|
+
|
|
|
//写入日志
|
|
|
FsUser userMap=new FsUser();
|
|
|
userMap.setUserId(user.getUserId());
|
|
|
- userMap.setIntegral(user.getIntegral()-totalIntegral);
|
|
|
+ userMap.setIntegral(remainingIntegral);
|
|
|
fsUserMapper.updateFsUser(userMap);
|
|
|
FsUserIntegralLogs logs = new FsUserIntegralLogs();
|
|
|
logs.setIntegral(-totalIntegral);
|
|
|
logs.setUserId(order.getUserId());
|
|
|
- logs.setBalance(userMap.getIntegral());
|
|
|
+ logs.setBalance(remainingIntegral);
|
|
|
logs.setLogType(5);
|
|
|
logs.setBusinessId(order.getOrderId().toString());
|
|
|
logs.setCreateTime(new Date());
|