|
|
@@ -1,13 +1,17 @@
|
|
|
package com.gree.mall.miniapp.logic.user;
|
|
|
|
|
|
+import cn.hutool.core.date.DateTime;
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
|
|
|
import com.gree.mall.miniapp.commonmapper.LockQueryMapper;
|
|
|
import com.gree.mall.miniapp.constant.Constant;
|
|
|
+import com.gree.mall.miniapp.enums.TransactionTypeEnum;
|
|
|
import com.gree.mall.miniapp.exception.RemoteServiceException;
|
|
|
import com.gree.mall.miniapp.helper.ResponseHelper;
|
|
|
import com.gree.mall.miniapp.plus.entity.OrderInfo;
|
|
|
import com.gree.mall.miniapp.plus.entity.User;
|
|
|
import com.gree.mall.miniapp.plus.entity.UserCompanyCredit;
|
|
|
+import com.gree.mall.miniapp.plus.entity.UserCompanyCreditBillItem;
|
|
|
import com.gree.mall.miniapp.plus.service.UserCompanyCreditService;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
@@ -55,12 +59,27 @@ public class UserCompanyCreditLogic {
|
|
|
throw new RemoteServiceException("商户授信额度不足");
|
|
|
}
|
|
|
|
|
|
+ final DateTime curDate = DateUtil.date();
|
|
|
+ // 更新用户商户授信记录
|
|
|
userCompanyCreditService.lambdaUpdate()
|
|
|
.set(UserCompanyCredit::getAvailableCredit, userCompanyCredit.getAvailableCredit().subtract(payAmount))
|
|
|
- .set(UserCompanyCredit::getUpdateTime, DateUtil.date())
|
|
|
+ .set(UserCompanyCredit::getUpdateTime, curDate)
|
|
|
.eq(UserCompanyCredit::getId, userCompanyCredit.getId())
|
|
|
.update();
|
|
|
|
|
|
+ // 生成授信消费三级账明细
|
|
|
+ UserCompanyCreditBillItem item = new UserCompanyCreditBillItem();
|
|
|
+ item.setId(IdWorker.getIdStr())
|
|
|
+ .setOrderId(orderInfo.getOrderId())
|
|
|
+ .setTransactionType(TransactionTypeEnum.CONSUMPTION.getKey())
|
|
|
+ .setDescription(TransactionTypeEnum.CONSUMPTION.getRemark())
|
|
|
+ .setCompanyWechatId(userCompanyCredit.getCompanyWechatId())
|
|
|
+ .setCompanyWechatName(userCompanyCredit.getCompanyWechatName())
|
|
|
+ .setUserId(userCompanyCredit.getUserId())
|
|
|
+ .setAmount(payAmount)
|
|
|
+ .setCreateTime(curDate)
|
|
|
+ .insert();
|
|
|
+
|
|
|
} finally {
|
|
|
this.txCallUnlock(obtain);
|
|
|
}
|