|
@@ -8,11 +8,11 @@ import lombok.RequiredArgsConstructor;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.dromara.backstage.basics.domain.vo.PtWorkstationVo;
|
|
import org.dromara.backstage.basics.domain.vo.PtWorkstationVo;
|
|
|
import org.dromara.backstage.cardCenter.domain.bo.PtSubsidyitemBo;
|
|
import org.dromara.backstage.cardCenter.domain.bo.PtSubsidyitemBo;
|
|
|
-import org.dromara.backstage.domain.vo.card.PtCardVo;
|
|
|
|
|
import org.dromara.backstage.cardCenter.domain.vo.PtSubsidyitemVo;
|
|
import org.dromara.backstage.cardCenter.domain.vo.PtSubsidyitemVo;
|
|
|
import org.dromara.backstage.consumption.domain.vo.XfCreditAccountBackVo;
|
|
import org.dromara.backstage.consumption.domain.vo.XfCreditAccountBackVo;
|
|
|
import org.dromara.backstage.consumption.domain.vo.XfCreditAccountVo;
|
|
import org.dromara.backstage.consumption.domain.vo.XfCreditAccountVo;
|
|
|
import org.dromara.backstage.consumption.domain.vo.XfTermVo;
|
|
import org.dromara.backstage.consumption.domain.vo.XfTermVo;
|
|
|
|
|
+import org.dromara.backstage.domain.vo.card.PtCardVo;
|
|
|
import org.dromara.backstage.payment.domain.bo.PurseInOutBo;
|
|
import org.dromara.backstage.payment.domain.bo.PurseInOutBo;
|
|
|
import org.dromara.backstage.payment.domain.vo.PtBagVo;
|
|
import org.dromara.backstage.payment.domain.vo.PtBagVo;
|
|
|
import org.dromara.backstage.payment.domain.vo.PtUserAccountVo;
|
|
import org.dromara.backstage.payment.domain.vo.PtUserAccountVo;
|
|
@@ -52,7 +52,8 @@ public class PayOrderBusiness {
|
|
|
* @return 原始订单信息
|
|
* @return 原始订单信息
|
|
|
*/
|
|
*/
|
|
|
public XfCreditAccountBackVo createOrder(PurseInOutBo orderBo) {
|
|
public XfCreditAccountBackVo createOrder(PurseInOutBo orderBo) {
|
|
|
- log.info("[{}订单信息验证-[{}]", orderBo.getCreditType().message(), JSONUtil.toJsonStr(orderBo));
|
|
|
|
|
|
|
+ log.info("[{}订单信息验证-[{}]", CreditTypeEnum.getMessage(Integer.parseInt(orderBo.getCreditType())),
|
|
|
|
|
+ JSONUtil.toJsonStr(orderBo));
|
|
|
// 校验第三方支付入账情况
|
|
// 校验第三方支付入账情况
|
|
|
payBaseBusiness.checkOriginalRecord(orderBo);
|
|
payBaseBusiness.checkOriginalRecord(orderBo);
|
|
|
// 获取创建订单的辅助信息
|
|
// 获取创建订单的辅助信息
|
|
@@ -63,11 +64,11 @@ public class PayOrderBusiness {
|
|
|
PtWorkstationVo workstationVo = payBaseBusiness.checkWorkStation(orderBo);
|
|
PtWorkstationVo workstationVo = payBaseBusiness.checkWorkStation(orderBo);
|
|
|
|
|
|
|
|
// 生成原始订单记录
|
|
// 生成原始订单记录
|
|
|
- log.info("[{}订单验证通过,创建订单]-[{}]", orderBo.getCreditType().message(), JSONUtil.toJsonStr(orderBo));
|
|
|
|
|
|
|
+ log.info("[{}订单验证通过,创建订单]-[{}]", CreditTypeEnum.getMessage(Integer.parseInt(orderBo.getCreditType())), JSONUtil.toJsonStr(orderBo));
|
|
|
// 生成原始订单记录前先计算收支后的钱包余额,这里只是记录下收支完成后的钱包应有余额,但还没有实际更新钱包余额
|
|
// 生成原始订单记录前先计算收支后的钱包余额,这里只是记录下收支完成后的钱包应有余额,但还没有实际更新钱包余额
|
|
|
payBaseBusiness.calculateBalance(userBagVo, orderBo);
|
|
payBaseBusiness.calculateBalance(userBagVo, orderBo);
|
|
|
return payBaseBusiness.createOriginalRecord(orderBo, userAccountVo,
|
|
return payBaseBusiness.createOriginalRecord(orderBo, userAccountVo,
|
|
|
- userCardVo, userBagVo, termVo, workstationVo);
|
|
|
|
|
|
|
+ userCardVo, userBagVo, termVo, workstationVo);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -88,23 +89,23 @@ public class PayOrderBusiness {
|
|
|
XfTermVo termVo = payBaseBusiness.checkTerm(orderBo);
|
|
XfTermVo termVo = payBaseBusiness.checkTerm(orderBo);
|
|
|
PtWorkstationVo workstationVo = payBaseBusiness.checkWorkStation(orderBo);
|
|
PtWorkstationVo workstationVo = payBaseBusiness.checkWorkStation(orderBo);
|
|
|
// 生成收支明细表
|
|
// 生成收支明细表
|
|
|
- log.info("[{}订单处理收支明细]-[{}]", orderBo.getCreditType().message(), JSONUtil.toJsonStr(orderBo));
|
|
|
|
|
|
|
+ log.info("[{}订单处理收支明细]-[{}]", CreditTypeEnum.getMessage(Integer.parseInt(orderBo.getCreditType())), JSONUtil.toJsonStr(orderBo));
|
|
|
XfCreditAccountVo orderDetailVo = payBaseBusiness.keepAccounts(orderBo, userAccountVo, userCardVo, userBagVo, termVo, workstationVo,
|
|
XfCreditAccountVo orderDetailVo = payBaseBusiness.keepAccounts(orderBo, userAccountVo, userCardVo, userBagVo, termVo, workstationVo,
|
|
|
- orderBo.getOriginalId());
|
|
|
|
|
|
|
+ orderBo.getOriginalId());
|
|
|
orderBo.setCreditId(orderDetailVo.getCreditId());
|
|
orderBo.setCreditId(orderDetailVo.getCreditId());
|
|
|
orderBo.setBalance(userBagVo.getBalance());
|
|
orderBo.setBalance(userBagVo.getBalance());
|
|
|
// 如果交易类型不为收管理费,则继续下面的操作以完成订单入库
|
|
// 如果交易类型不为收管理费,则继续下面的操作以完成订单入库
|
|
|
- if (!orderBo.getCreditType().equals(CreditTypeEnum.COMMISSION_CHARGE)) {
|
|
|
|
|
|
|
+ if (!orderBo.getCreditType().equals(CreditTypeEnum.COMMISSION_CHARGE.code().toString())) {
|
|
|
// 处理个人日统计表
|
|
// 处理个人日统计表
|
|
|
- log.info("[{}订单处理人日统计表]-[{}]", orderBo.getCreditType().message(), JSONUtil.toJsonStr(orderBo));
|
|
|
|
|
|
|
+ log.info("[{}订单处理人日统计表]-[{}]", CreditTypeEnum.getMessage(Integer.parseInt(orderBo.getCreditType())), JSONUtil.toJsonStr(orderBo));
|
|
|
payBaseBusiness.createOrUpdateUserTotal(orderBo, userAccountVo, userCardVo);
|
|
payBaseBusiness.createOrUpdateUserTotal(orderBo, userAccountVo, userCardVo);
|
|
|
|
|
|
|
|
// 更新个人钱包余额
|
|
// 更新个人钱包余额
|
|
|
- log.info("[{}订单处理钱包余额]-[{}]", orderBo.getCreditType().message(), JSONUtil.toJsonStr(orderBo));
|
|
|
|
|
|
|
+ log.info("[{}订单处理钱包余额]-[{}]", CreditTypeEnum.getMessage(Integer.parseInt(orderBo.getCreditType())), JSONUtil.toJsonStr(orderBo));
|
|
|
PtBagVo afterBagVo = payBaseBusiness.updateBalance(orderBo);
|
|
PtBagVo afterBagVo = payBaseBusiness.updateBalance(orderBo);
|
|
|
orderBo.setBalance(afterBagVo.getBalance());
|
|
orderBo.setBalance(afterBagVo.getBalance());
|
|
|
// 入账成功,更新原始订单的入账状态
|
|
// 入账成功,更新原始订单的入账状态
|
|
|
- log.info("[{}订单更新入账状态]-[{}]", orderBo.getCreditType().message(), JSONUtil.toJsonStr(orderBo));
|
|
|
|
|
|
|
+ log.info("[{}订单更新入账状态]-[{}]", CreditTypeEnum.getMessage(Integer.parseInt(orderBo.getCreditType())), JSONUtil.toJsonStr(orderBo));
|
|
|
payBaseBusiness.updateOriginalOrderStatus(orderBo, CreditStatusEnum.SUCCESS.code(), afterBagVo.getBalance());
|
|
payBaseBusiness.updateOriginalOrderStatus(orderBo, CreditStatusEnum.SUCCESS.code(), afterBagVo.getBalance());
|
|
|
}
|
|
}
|
|
|
return orderBo;
|
|
return orderBo;
|
|
@@ -119,12 +120,12 @@ public class PayOrderBusiness {
|
|
|
@Transactional(rollbackFor = ConsumeException.class)
|
|
@Transactional(rollbackFor = ConsumeException.class)
|
|
|
public R<PurseInOutBo> createNormalOrder(PurseInOutBo orderBo) {
|
|
public R<PurseInOutBo> createNormalOrder(PurseInOutBo orderBo) {
|
|
|
// 将收支请求写入原始收支记录表
|
|
// 将收支请求写入原始收支记录表
|
|
|
- log.info("[准备创建{}订单-[{}]", orderBo.getCreditType().message(), JSONUtil.toJsonStr(orderBo));
|
|
|
|
|
|
|
+ log.info("[准备创建{}订单-[{}]", CreditTypeEnum.getMessage(Integer.parseInt(orderBo.getCreditType())), JSONUtil.toJsonStr(orderBo));
|
|
|
XfCreditAccountBackVo OriginalOrder = createOrder(orderBo);
|
|
XfCreditAccountBackVo OriginalOrder = createOrder(orderBo);
|
|
|
orderBo.setOriginalId(OriginalOrder.getBackId());
|
|
orderBo.setOriginalId(OriginalOrder.getBackId());
|
|
|
|
|
|
|
|
// 原始收支记录成功,收支入账
|
|
// 原始收支记录成功,收支入账
|
|
|
- log.info("准备[{}订单入账]-[{}]", orderBo.getCreditType().message(), JSONUtil.toJsonStr(orderBo));
|
|
|
|
|
|
|
+ log.info("准备[{}订单入账]-[{}]", CreditTypeEnum.getMessage(Integer.parseInt(orderBo.getCreditType())), JSONUtil.toJsonStr(orderBo));
|
|
|
PurseInOutBo result = postOrder(orderBo);
|
|
PurseInOutBo result = postOrder(orderBo);
|
|
|
|
|
|
|
|
return R.ok(result);
|
|
return R.ok(result);
|
|
@@ -169,7 +170,7 @@ public class PayOrderBusiness {
|
|
|
errorCount++;
|
|
errorCount++;
|
|
|
mapCount.put("errorCount", errorCount);
|
|
mapCount.put("errorCount", errorCount);
|
|
|
infoList.add(MessageFormat.format("[补助到账失败]-[补助信息:{0}]-[错误信息:{1}]", JSONUtil.toJsonStr(orderBo),
|
|
infoList.add(MessageFormat.format("[补助到账失败]-[补助信息:{0}]-[错误信息:{1}]", JSONUtil.toJsonStr(orderBo),
|
|
|
- result.getData().toString()));
|
|
|
|
|
|
|
+ result.getData().toString()));
|
|
|
}
|
|
}
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
infoList.add(MessageFormat.format("[补助到账失败]-[补助信息:{0}]-[错误信息:{1}]", JSONUtil.toJsonStr(orderBo), e.getMessage()));
|
|
infoList.add(MessageFormat.format("[补助到账失败]-[补助信息:{0}]-[错误信息:{1}]", JSONUtil.toJsonStr(orderBo), e.getMessage()));
|
|
@@ -199,7 +200,7 @@ public class PayOrderBusiness {
|
|
|
*/
|
|
*/
|
|
|
@Transactional(rollbackFor = ConsumeException.class)
|
|
@Transactional(rollbackFor = ConsumeException.class)
|
|
|
public R<PurseInOutBo> recharge(PurseInOutBo bo) {
|
|
public R<PurseInOutBo> recharge(PurseInOutBo bo) {
|
|
|
- bo.setUseType(SystemUseTypeEnum.CONSUME);
|
|
|
|
|
|
|
+ bo.setUseType(SystemUseTypeEnum.CONSUME.code().toString());
|
|
|
PurseInOutBo commissionBo = computeCommission(bo);
|
|
PurseInOutBo commissionBo = computeCommission(bo);
|
|
|
try {
|
|
try {
|
|
|
if (commissionBo != null) {
|
|
if (commissionBo != null) {
|
|
@@ -232,7 +233,7 @@ public class PayOrderBusiness {
|
|
|
if (bagVo.getBalance().compareTo(boCopy.getReceiptMoney()) < 0) {
|
|
if (bagVo.getBalance().compareTo(boCopy.getReceiptMoney()) < 0) {
|
|
|
return R.fail(MessageFormat.format("钱包余额不足,当前余额为:{0}", bagVo.getBalance()), boCopy);
|
|
return R.fail(MessageFormat.format("钱包余额不足,当前余额为:{0}", bagVo.getBalance()), boCopy);
|
|
|
}
|
|
}
|
|
|
- boCopy.setUseType(SystemUseTypeEnum.CONSUME);
|
|
|
|
|
|
|
+ boCopy.setUseType(SystemUseTypeEnum.CONSUME.code().toString());
|
|
|
// 退款是记支出,所以金额设置为负数
|
|
// 退款是记支出,所以金额设置为负数
|
|
|
boCopy.setReceiptMoney(boCopy.getReceiptMoney().negate());
|
|
boCopy.setReceiptMoney(boCopy.getReceiptMoney().negate());
|
|
|
try {
|
|
try {
|
|
@@ -261,11 +262,11 @@ public class PayOrderBusiness {
|
|
|
orderBo.setPayStyle(PayStyleEnum.OTHER.code().toString());
|
|
orderBo.setPayStyle(PayStyleEnum.OTHER.code().toString());
|
|
|
orderBo.setTakeCommission("0");
|
|
orderBo.setTakeCommission("0");
|
|
|
orderBo.setReceiptMoney(item.getFillMoney());
|
|
orderBo.setReceiptMoney(item.getFillMoney());
|
|
|
- orderBo.setOperationMode(BalanceUpdateEnum.RECHARGE);
|
|
|
|
|
- orderBo.setCreditType(CreditTypeEnum.SUBSIDY_MACHINE_RECHARGE);
|
|
|
|
|
|
|
+ orderBo.setOperationMode(BalanceUpdateEnum.RECHARGE.code().toString());
|
|
|
|
|
+ orderBo.setCreditType(CreditTypeEnum.SUBSIDY_MACHINE_RECHARGE.code().toString());
|
|
|
orderBo.setOperatorId(item.getOperatorId());
|
|
orderBo.setOperatorId(item.getOperatorId());
|
|
|
orderBo.setOperatorName(item.getOperatorName());
|
|
orderBo.setOperatorName(item.getOperatorName());
|
|
|
- orderBo.setUseType(SystemUseTypeEnum.CONSUME);
|
|
|
|
|
|
|
+ orderBo.setUseType(SystemUseTypeEnum.CONSUME.code().toString());
|
|
|
|
|
|
|
|
return orderBo;
|
|
return orderBo;
|
|
|
}
|
|
}
|