mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-21 11:35:12 +08:00
update优化清分账单逻辑
This commit is contained in:
@@ -57,4 +57,7 @@ public interface ClearingBillDetailMapper {
|
||||
int batchInsert(@Param("list") List<ClearingBillDetail> list);
|
||||
|
||||
ClearingBillDetail selectClearingBillCode(String orderCode);
|
||||
|
||||
// 根据清分编号删除
|
||||
int deleteByClearingBillCode(@Param("clearingBillCode") String clearingBillCode);
|
||||
}
|
||||
@@ -66,7 +66,7 @@ public interface ClearingBillInfoMapper {
|
||||
|
||||
int batchInsert(@Param("list") List<ClearingBillInfo> list);
|
||||
|
||||
List<ClearingBillInfo> selectByMerchantId(@Param("merchantId") String merchantId, @Param("billStatus") String billStatus);
|
||||
List<ClearingBillInfo> selectByMerchantId(@Param("merchantId") String merchantId, @Param("billStatus") String billStatus, @Param("tradeDate") String tradeDate);
|
||||
|
||||
void updateStatus(@Param("clearingBillIds") List<Integer> clearingBillIds, @Param("billStatus") String billStatus);
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -1,16 +1,11 @@
|
||||
package com.jsowell.pile.transaction.service;
|
||||
|
||||
import com.google.common.collect.Lists;
|
||||
import com.jsowell.common.core.redis.RedisCache;
|
||||
import com.jsowell.common.util.DateUtils;
|
||||
import com.jsowell.common.util.StringUtils;
|
||||
import com.jsowell.pile.domain.PileBasicInfo;
|
||||
import com.jsowell.pile.domain.PileConnectorInfo;
|
||||
import com.jsowell.pile.mapper.MemberBasicInfoMapper;
|
||||
import com.jsowell.pile.mapper.MemberWalletInfoMapper;
|
||||
import com.jsowell.pile.mapper.OrderBasicInfoMapper;
|
||||
import com.jsowell.pile.mapper.PileBasicInfoMapper;
|
||||
import com.jsowell.pile.mapper.PileBillingTemplateMapper;
|
||||
import com.jsowell.pile.mapper.PileConnectorInfoMapper;
|
||||
import com.jsowell.pile.mapper.*;
|
||||
import com.jsowell.pile.service.ClearingBillDetailService;
|
||||
import com.jsowell.pile.service.ClearingBillInfoService;
|
||||
import com.jsowell.pile.service.IOrderBasicInfoService;
|
||||
@@ -60,9 +55,6 @@ public class TransactionService {
|
||||
@Autowired
|
||||
private ClearingBillDetailService clearingBillDetailService;
|
||||
|
||||
@Autowired
|
||||
private RedisCache redisCache;
|
||||
|
||||
/**
|
||||
* 批量新增充电桩和充电桩接口
|
||||
* @param dto
|
||||
@@ -196,11 +188,20 @@ public class TransactionService {
|
||||
/**
|
||||
* 保存清分账单
|
||||
*/
|
||||
public void createClearingBill(ClearingBillTransactionDTO dto) {
|
||||
public void saveClearingBill(ClearingBillTransactionDTO dto) {
|
||||
String clearingBillCode = null;
|
||||
if (Objects.nonNull(dto.getClearingBillInfo())) {
|
||||
clearingBillInfoService.insertSelective(dto.getClearingBillInfo());
|
||||
if (dto.getClearingBillInfo().getId() != null) {
|
||||
// 如果id不为空,就给clearingBillCode赋值
|
||||
clearingBillCode = dto.getClearingBillInfo().getClearingBillCode();
|
||||
}
|
||||
clearingBillInfoService.insertOrUpdateSelective(dto.getClearingBillInfo());
|
||||
}
|
||||
if (CollectionUtils.isNotEmpty(dto.getBillDetailList())) {
|
||||
if (StringUtils.isNotBlank(clearingBillCode)) {
|
||||
// clearingBillCode不为空,就根据clearingBillCode删除后新增数据
|
||||
clearingBillDetailService.deleteByClearingBillCode(clearingBillCode);
|
||||
}
|
||||
clearingBillDetailService.batchInsert(dto.getBillDetailList());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user