feat:费用类型
This commit is contained in:
@@ -57,6 +57,7 @@ import com.cool.store.service.order.MiniStoreOrderService;
|
|||||||
import com.cool.store.service.store.PreAllocationRecordService;
|
import com.cool.store.service.store.PreAllocationRecordService;
|
||||||
import com.cool.store.service.wallet.WalletApiService;
|
import com.cool.store.service.wallet.WalletApiService;
|
||||||
import com.cool.store.utils.*;
|
import com.cool.store.utils.*;
|
||||||
|
import com.cool.store.utils.poi.constant.Constants;
|
||||||
import com.cool.store.vo.order.MiniStoreOrderDetailVO;
|
import com.cool.store.vo.order.MiniStoreOrderDetailVO;
|
||||||
import com.cool.store.vo.order.PreAllocationRecordVO;
|
import com.cool.store.vo.order.PreAllocationRecordVO;
|
||||||
import com.sun.xml.bind.v2.TODO;
|
import com.sun.xml.bind.v2.TODO;
|
||||||
@@ -300,6 +301,7 @@ public class PreAllocationRecordServiceImpl implements PreAllocationRecordServic
|
|||||||
try {
|
try {
|
||||||
batchTransferResult = walletApiService.batchTransfer(batchTransferRequest);
|
batchTransferResult = walletApiService.batchTransfer(batchTransferRequest);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
log.error("batchTransfer:",e);
|
||||||
throw new ServiceException(ErrorCodeEnum.THIRD_API_ERROR.getCode(), "支付失败:" + e.getMessage());
|
throw new ServiceException(ErrorCodeEnum.THIRD_API_ERROR.getCode(), "支付失败:" + e.getMessage());
|
||||||
}
|
}
|
||||||
// 11. 处理分账结果
|
// 11. 处理分账结果
|
||||||
@@ -751,32 +753,51 @@ public class PreAllocationRecordServiceImpl implements PreAllocationRecordServic
|
|||||||
if (StringUtils.isEmpty(payNo)){
|
if (StringUtils.isEmpty(payNo)){
|
||||||
payNo = GenerateNoUtil.generateMillsNoWithRandom();
|
payNo = GenerateNoUtil.generateMillsNoWithRandom();
|
||||||
}
|
}
|
||||||
AccountTransferDTO accountTransferDTO ;
|
BatchTransferDTO batchTransferDTO ;
|
||||||
try {
|
try {
|
||||||
accountTransferDTO = walletPayInfoService.accountPay(record.getExpenseType(), record.getPayAmount(),
|
Integer walletType = 2;
|
||||||
record.getPayeeCode(), accountInfoDTO.getAccountNo(), payNo, transRequest.getRemark());
|
BatchTransferRequest.TransDataRequest transDataRequest = new BatchTransferRequest.TransDataRequest();
|
||||||
|
|
||||||
|
transDataRequest.setReqNo(payNo);
|
||||||
|
transDataRequest.setCompanyCode(record.getPayeeCode());
|
||||||
|
transDataRequest.setAmount(record.getPayAmount().toPlainString());
|
||||||
|
transDataRequest.setRemark(transRequest.getRemark());
|
||||||
|
WalletFeeItemEnum feeItem = WalletFeeItemEnum.getByExpenseType(record.getExpenseType());
|
||||||
|
if (feeItem == null) {
|
||||||
|
throw new ServiceException(ErrorCodeEnum.NONSUPPORT_EXPENSE_TYPE);
|
||||||
|
}
|
||||||
|
transDataRequest.setFeeItemId(feeItem.getFeeItemId());
|
||||||
|
BatchTransferRequest transReq= new BatchTransferRequest(walletType, shopInfo.getStoreId(), null,0, Arrays.asList(transDataRequest));
|
||||||
|
batchTransferDTO = walletApiService.batchTransfer(transReq);
|
||||||
}catch (Exception e){
|
}catch (Exception e){
|
||||||
//分账失败 释放锁
|
//分账失败 释放锁
|
||||||
redisUtil.unlock(lockKey);
|
redisUtil.unlock(lockKey);
|
||||||
log.error("confirmSplitOrder ",e);
|
log.error("confirmSplitOrder ",e);
|
||||||
throw new ServiceException(ErrorCodeEnum.ERROR_MESSAGE,e.getMessage());
|
throw new ServiceException(ErrorCodeEnum.ERROR_MESSAGE,e.getMessage());
|
||||||
}
|
}
|
||||||
|
BatchTransferDTO.TransDataRequest transDataRequest = new BatchTransferDTO.TransDataRequest() ;
|
||||||
|
if (batchTransferDTO!=null){
|
||||||
|
List<BatchTransferDTO.TransDataRequest> transArray = batchTransferDTO.getTransArray();
|
||||||
|
if (CollectionUtils.isNotEmpty(transArray)){
|
||||||
|
transDataRequest = transArray.get(Constants.ZERO_INTEGER);
|
||||||
|
}
|
||||||
|
}
|
||||||
record.setAllocationStatus(AllocationPayStatusEnum.PAYING.getStatus());
|
record.setAllocationStatus(AllocationPayStatusEnum.PAYING.getStatus());
|
||||||
record.setPayNo(payNo);
|
record.setPayNo(payNo);
|
||||||
record.setRemark(transRequest.getRemark());
|
record.setRemark(transRequest.getRemark());
|
||||||
//先改为分账中
|
//先改为分账中
|
||||||
preAllocationRecordDAO.updateByPrimaryKeySelective(record);
|
preAllocationRecordDAO.updateByPrimaryKeySelective(record);
|
||||||
WalletTradeDO walletTradeDO = new WalletTradeDO();
|
WalletTradeDO walletTradeDO = new WalletTradeDO();
|
||||||
walletTradeDO.setPayStatus(accountTransferDTO.getTradeStatus());
|
walletTradeDO.setPayStatus(AllocationPayStatusEnum.PAYING.getStatus());
|
||||||
walletTradeDO.setModule(TRANSFER.getModule());
|
walletTradeDO.setModule(TRANSFER.getModule());
|
||||||
walletTradeDO.setRemark(transRequest.getRemark());
|
walletTradeDO.setRemark(transRequest.getRemark());
|
||||||
walletTradeDO.setPayAmount(new BigDecimal(accountTransferDTO.getAmount()));
|
walletTradeDO.setPayAmount(new BigDecimal(transDataRequest.getAmount()));
|
||||||
walletTradeDO.setPayTime(new Date());
|
walletTradeDO.setPayTime(new Date());
|
||||||
walletTradeDO.setPayNo(record.getPayNo());
|
walletTradeDO.setPayNo(record.getPayNo());
|
||||||
walletTradeDO.setTradeId(String.valueOf(accountTransferDTO.getTradeId()));
|
walletTradeDO.setTradeId(String.valueOf(transDataRequest.getTradeId()));
|
||||||
walletTradeDO.setType(TradeTypeEnum.ADD_BY_HAND.getStatus());
|
walletTradeDO.setType(TradeTypeEnum.ADD_BY_HAND.getStatus());
|
||||||
walletTradeDAO.insertSelective(walletTradeDO);
|
walletTradeDAO.insertSelective(walletTradeDO);
|
||||||
return null;
|
return Boolean.TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -688,7 +688,7 @@ public class XxlJobHandler {
|
|||||||
int pageSize = CommonConstants.BATCH_SIZE;
|
int pageSize = CommonConstants.BATCH_SIZE;
|
||||||
while (hasNext) {
|
while (hasNext) {
|
||||||
PageHelper.startPage(pageNum, pageSize);
|
PageHelper.startPage(pageNum, pageSize);
|
||||||
List<WalletTradeDO> list = walletTradeDAO.getPayingOrder(WalletTradeModuleEnum.STANDARD_STORE.getModule(), 1);
|
List<WalletTradeDO> list = walletTradeDAO.getPayingOrder(WalletTradeModuleEnum.TRANSFER.getModule(), 1);
|
||||||
hasNext = list.size() >= pageSize;
|
hasNext = list.size() >= pageSize;
|
||||||
if (CollectionUtils.isEmpty(list)) {
|
if (CollectionUtils.isEmpty(list)) {
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user