mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-22 03:55:17 +08:00
update优化清分账单逻辑
This commit is contained in:
@@ -7,6 +7,8 @@ public interface ClearingBillDetailService{
|
||||
|
||||
int deleteByPrimaryKey(Integer id);
|
||||
|
||||
int deleteByClearingBillCode(String clearingBillCode);
|
||||
|
||||
int insert(ClearingBillDetail record);
|
||||
|
||||
int insertOrUpdate(ClearingBillDetail record);
|
||||
|
||||
@@ -42,5 +42,7 @@ public interface ClearingBillInfoService {
|
||||
int updateBatchSelective(List<ClearingBillInfo> list);
|
||||
|
||||
int batchInsert(List<ClearingBillInfo> list);
|
||||
|
||||
ClearingBillInfo selectByMerchantIdAndTradeDate(String merchantId, String tradeDate);
|
||||
}
|
||||
|
||||
|
||||
@@ -18,6 +18,11 @@ public class ClearingBillDetailServiceImpl implements ClearingBillDetailService{
|
||||
return clearingBillDetailMapper.deleteByPrimaryKey(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int deleteByClearingBillCode(String clearingBillCode) {
|
||||
return clearingBillDetailMapper.deleteByClearingBillCode(clearingBillCode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insert(ClearingBillDetail record) {
|
||||
return clearingBillDetailMapper.insert(record);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.jsowell.pile.service.impl;
|
||||
|
||||
import com.jsowell.common.enums.DelFlagEnum;
|
||||
import com.jsowell.common.util.StringUtils;
|
||||
import com.jsowell.pile.domain.ClearingBillInfo;
|
||||
import com.jsowell.pile.dto.GetClearingBillDTO;
|
||||
@@ -11,6 +12,8 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Service
|
||||
public class ClearingBillInfoServiceImpl implements ClearingBillInfoService {
|
||||
@@ -50,7 +53,7 @@ public class ClearingBillInfoServiceImpl implements ClearingBillInfoService {
|
||||
|
||||
@Override
|
||||
public List<ClearingBillInfo> selectByMerchantId(String merchantId, String billStatus) {
|
||||
return clearingBillInfoMapper.selectByMerchantId(merchantId, billStatus);
|
||||
return clearingBillInfoMapper.selectByMerchantId(merchantId, billStatus, null);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -96,5 +99,26 @@ public class ClearingBillInfoServiceImpl implements ClearingBillInfoService {
|
||||
public int batchInsert(List<ClearingBillInfo> list) {
|
||||
return clearingBillInfoMapper.batchInsert(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ClearingBillInfo selectByMerchantIdAndTradeDate(String merchantId, String tradeDate) {
|
||||
ClearingBillInfo result = null;
|
||||
List<ClearingBillInfo> list = clearingBillInfoMapper.selectByMerchantId(merchantId, null, tradeDate);
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
result = list.get(0);
|
||||
if (list.size() > 1) {
|
||||
// 原来存在多条清分账单,逻辑删除掉
|
||||
ClearingBillInfo finalResult = result;
|
||||
List<ClearingBillInfo> collect = list.stream()
|
||||
.filter(x -> !Objects.equals(x.getId(), finalResult.getId()))
|
||||
.collect(Collectors.toList());
|
||||
for (ClearingBillInfo clearingBillInfo : collect) {
|
||||
clearingBillInfo.setDelFlag(DelFlagEnum.DELETE.getValue());
|
||||
}
|
||||
clearingBillInfoMapper.updateBatch(collect);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -160,6 +160,9 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
@Autowired
|
||||
private MemberAdapayRecordService memberAdapayRecordService;
|
||||
|
||||
@Autowired
|
||||
private ClearingBillInfoService clearingBillInfoService;
|
||||
|
||||
/**
|
||||
* 条件查询订单基本信息
|
||||
*
|
||||
@@ -1304,8 +1307,6 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
*/
|
||||
@Override
|
||||
public void orderSplittingOperations(AdapayMemberAccount adapayMemberAccount, List<SettleOrderReport> stationReportList) {
|
||||
logger.info("运营商:{}, 交易日期:{}, 进行分账处理start", adapayMemberAccount, JSON.toJSONString(stationReportList));
|
||||
|
||||
// 运营商有没有开通结算账户
|
||||
if (adapayMemberAccount == null) {
|
||||
logger.error("订单分账逻辑error-运营商有没有开通结算账户");
|
||||
@@ -1316,6 +1317,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
logger.error("订单分账逻辑error-stationReportList为空");
|
||||
return;
|
||||
}
|
||||
String tradeDate = stationReportList.get(0).getTradeDate();
|
||||
logger.info("运营商:{}, 交易日期:{}, 进行分账处理start", adapayMemberAccount, JSON.toJSONString(stationReportList));
|
||||
|
||||
String merchantId = adapayMemberAccount.getMerchantId();
|
||||
String appId = pileMerchantInfoService.queryAppIdByMerchantId(merchantId);
|
||||
@@ -1403,13 +1406,18 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
||||
clearingBillInfo.setCreateTime(DateUtils.getNowDate());
|
||||
clearingBillInfo.setDelFlag(DelFlagEnum.NORMAL.getValue());
|
||||
clearingBillInfo.setBillStatus("2");
|
||||
clearingBillInfo.setTradeDate(stationReportList.get(0).getTradeDate());
|
||||
clearingBillInfo.setTradeDate(tradeDate);
|
||||
|
||||
// 根据运营商id和结算日期查询清分账单
|
||||
ClearingBillInfo queryBillInfo = clearingBillInfoService.selectByMerchantIdAndTradeDate(merchantId, tradeDate);
|
||||
if (queryBillInfo != null) {
|
||||
clearingBillInfo.setId(queryBillInfo.getId());
|
||||
}
|
||||
// 保存清分账单
|
||||
ClearingBillTransactionDTO dto = new ClearingBillTransactionDTO();
|
||||
dto.setClearingBillInfo(clearingBillInfo);
|
||||
dto.setBillDetailList(billDetailList);
|
||||
transactionService.createClearingBill(dto);
|
||||
transactionService.saveClearingBill(dto);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user