mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-06-19 06:39:50 +08:00
update优化清分账单逻辑
This commit is contained in:
@@ -57,4 +57,7 @@ public interface ClearingBillDetailMapper {
|
|||||||
int batchInsert(@Param("list") List<ClearingBillDetail> list);
|
int batchInsert(@Param("list") List<ClearingBillDetail> list);
|
||||||
|
|
||||||
ClearingBillDetail selectClearingBillCode(String orderCode);
|
ClearingBillDetail selectClearingBillCode(String orderCode);
|
||||||
|
|
||||||
|
// 根据清分编号删除
|
||||||
|
int deleteByClearingBillCode(@Param("clearingBillCode") String clearingBillCode);
|
||||||
}
|
}
|
||||||
@@ -66,7 +66,7 @@ public interface ClearingBillInfoMapper {
|
|||||||
|
|
||||||
int batchInsert(@Param("list") List<ClearingBillInfo> list);
|
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);
|
void updateStatus(@Param("clearingBillIds") List<Integer> clearingBillIds, @Param("billStatus") String billStatus);
|
||||||
|
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ public interface ClearingBillDetailService{
|
|||||||
|
|
||||||
int deleteByPrimaryKey(Integer id);
|
int deleteByPrimaryKey(Integer id);
|
||||||
|
|
||||||
|
int deleteByClearingBillCode(String clearingBillCode);
|
||||||
|
|
||||||
int insert(ClearingBillDetail record);
|
int insert(ClearingBillDetail record);
|
||||||
|
|
||||||
int insertOrUpdate(ClearingBillDetail record);
|
int insertOrUpdate(ClearingBillDetail record);
|
||||||
|
|||||||
@@ -42,5 +42,7 @@ public interface ClearingBillInfoService {
|
|||||||
int updateBatchSelective(List<ClearingBillInfo> list);
|
int updateBatchSelective(List<ClearingBillInfo> list);
|
||||||
|
|
||||||
int batchInsert(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);
|
return clearingBillDetailMapper.deleteByPrimaryKey(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int deleteByClearingBillCode(String clearingBillCode) {
|
||||||
|
return clearingBillDetailMapper.deleteByClearingBillCode(clearingBillCode);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int insert(ClearingBillDetail record) {
|
public int insert(ClearingBillDetail record) {
|
||||||
return clearingBillDetailMapper.insert(record);
|
return clearingBillDetailMapper.insert(record);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.jsowell.pile.service.impl;
|
package com.jsowell.pile.service.impl;
|
||||||
|
|
||||||
|
import com.jsowell.common.enums.DelFlagEnum;
|
||||||
import com.jsowell.common.util.StringUtils;
|
import com.jsowell.common.util.StringUtils;
|
||||||
import com.jsowell.pile.domain.ClearingBillInfo;
|
import com.jsowell.pile.domain.ClearingBillInfo;
|
||||||
import com.jsowell.pile.dto.GetClearingBillDTO;
|
import com.jsowell.pile.dto.GetClearingBillDTO;
|
||||||
@@ -11,6 +12,8 @@ import org.springframework.stereotype.Service;
|
|||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class ClearingBillInfoServiceImpl implements ClearingBillInfoService {
|
public class ClearingBillInfoServiceImpl implements ClearingBillInfoService {
|
||||||
@@ -50,7 +53,7 @@ public class ClearingBillInfoServiceImpl implements ClearingBillInfoService {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<ClearingBillInfo> selectByMerchantId(String merchantId, String billStatus) {
|
public List<ClearingBillInfo> selectByMerchantId(String merchantId, String billStatus) {
|
||||||
return clearingBillInfoMapper.selectByMerchantId(merchantId, billStatus);
|
return clearingBillInfoMapper.selectByMerchantId(merchantId, billStatus, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -96,5 +99,26 @@ public class ClearingBillInfoServiceImpl implements ClearingBillInfoService {
|
|||||||
public int batchInsert(List<ClearingBillInfo> list) {
|
public int batchInsert(List<ClearingBillInfo> list) {
|
||||||
return clearingBillInfoMapper.batchInsert(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
|
@Autowired
|
||||||
private MemberAdapayRecordService memberAdapayRecordService;
|
private MemberAdapayRecordService memberAdapayRecordService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ClearingBillInfoService clearingBillInfoService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 条件查询订单基本信息
|
* 条件查询订单基本信息
|
||||||
*
|
*
|
||||||
@@ -1304,8 +1307,6 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void orderSplittingOperations(AdapayMemberAccount adapayMemberAccount, List<SettleOrderReport> stationReportList) {
|
public void orderSplittingOperations(AdapayMemberAccount adapayMemberAccount, List<SettleOrderReport> stationReportList) {
|
||||||
logger.info("运营商:{}, 交易日期:{}, 进行分账处理start", adapayMemberAccount, JSON.toJSONString(stationReportList));
|
|
||||||
|
|
||||||
// 运营商有没有开通结算账户
|
// 运营商有没有开通结算账户
|
||||||
if (adapayMemberAccount == null) {
|
if (adapayMemberAccount == null) {
|
||||||
logger.error("订单分账逻辑error-运营商有没有开通结算账户");
|
logger.error("订单分账逻辑error-运营商有没有开通结算账户");
|
||||||
@@ -1316,6 +1317,8 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
logger.error("订单分账逻辑error-stationReportList为空");
|
logger.error("订单分账逻辑error-stationReportList为空");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
String tradeDate = stationReportList.get(0).getTradeDate();
|
||||||
|
logger.info("运营商:{}, 交易日期:{}, 进行分账处理start", adapayMemberAccount, JSON.toJSONString(stationReportList));
|
||||||
|
|
||||||
String merchantId = adapayMemberAccount.getMerchantId();
|
String merchantId = adapayMemberAccount.getMerchantId();
|
||||||
String appId = pileMerchantInfoService.queryAppIdByMerchantId(merchantId);
|
String appId = pileMerchantInfoService.queryAppIdByMerchantId(merchantId);
|
||||||
@@ -1403,13 +1406,18 @@ public class OrderBasicInfoServiceImpl implements IOrderBasicInfoService {
|
|||||||
clearingBillInfo.setCreateTime(DateUtils.getNowDate());
|
clearingBillInfo.setCreateTime(DateUtils.getNowDate());
|
||||||
clearingBillInfo.setDelFlag(DelFlagEnum.NORMAL.getValue());
|
clearingBillInfo.setDelFlag(DelFlagEnum.NORMAL.getValue());
|
||||||
clearingBillInfo.setBillStatus("2");
|
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();
|
ClearingBillTransactionDTO dto = new ClearingBillTransactionDTO();
|
||||||
dto.setClearingBillInfo(clearingBillInfo);
|
dto.setClearingBillInfo(clearingBillInfo);
|
||||||
dto.setBillDetailList(billDetailList);
|
dto.setBillDetailList(billDetailList);
|
||||||
transactionService.createClearingBill(dto);
|
transactionService.saveClearingBill(dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,16 +1,11 @@
|
|||||||
package com.jsowell.pile.transaction.service;
|
package com.jsowell.pile.transaction.service;
|
||||||
|
|
||||||
import com.google.common.collect.Lists;
|
import com.google.common.collect.Lists;
|
||||||
import com.jsowell.common.core.redis.RedisCache;
|
|
||||||
import com.jsowell.common.util.DateUtils;
|
import com.jsowell.common.util.DateUtils;
|
||||||
|
import com.jsowell.common.util.StringUtils;
|
||||||
import com.jsowell.pile.domain.PileBasicInfo;
|
import com.jsowell.pile.domain.PileBasicInfo;
|
||||||
import com.jsowell.pile.domain.PileConnectorInfo;
|
import com.jsowell.pile.domain.PileConnectorInfo;
|
||||||
import com.jsowell.pile.mapper.MemberBasicInfoMapper;
|
import com.jsowell.pile.mapper.*;
|
||||||
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.service.ClearingBillDetailService;
|
import com.jsowell.pile.service.ClearingBillDetailService;
|
||||||
import com.jsowell.pile.service.ClearingBillInfoService;
|
import com.jsowell.pile.service.ClearingBillInfoService;
|
||||||
import com.jsowell.pile.service.IOrderBasicInfoService;
|
import com.jsowell.pile.service.IOrderBasicInfoService;
|
||||||
@@ -60,9 +55,6 @@ public class TransactionService {
|
|||||||
@Autowired
|
@Autowired
|
||||||
private ClearingBillDetailService clearingBillDetailService;
|
private ClearingBillDetailService clearingBillDetailService;
|
||||||
|
|
||||||
@Autowired
|
|
||||||
private RedisCache redisCache;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量新增充电桩和充电桩接口
|
* 批量新增充电桩和充电桩接口
|
||||||
* @param dto
|
* @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())) {
|
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 (CollectionUtils.isNotEmpty(dto.getBillDetailList())) {
|
||||||
|
if (StringUtils.isNotBlank(clearingBillCode)) {
|
||||||
|
// clearingBillCode不为空,就根据clearingBillCode删除后新增数据
|
||||||
|
clearingBillDetailService.deleteByClearingBillCode(clearingBillCode);
|
||||||
|
}
|
||||||
clearingBillDetailService.batchInsert(dto.getBillDetailList());
|
clearingBillDetailService.batchInsert(dto.getBillDetailList());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -303,4 +303,9 @@
|
|||||||
where del_flag = '0'
|
where del_flag = '0'
|
||||||
and order_code = #{orderCode,jdbcType=VARCHAR}
|
and order_code = #{orderCode,jdbcType=VARCHAR}
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<delete id="deleteByClearingBillCode">
|
||||||
|
delete from clearing_bill_detail
|
||||||
|
where clearing_bill_code = #{clearingBillCode,jdbcType=VARCHAR}
|
||||||
|
</delete>
|
||||||
</mapper>
|
</mapper>
|
||||||
@@ -746,6 +746,10 @@
|
|||||||
<if test="billStatus != null and billStatus != ''">
|
<if test="billStatus != null and billStatus != ''">
|
||||||
and bill_status = #{billStatus,jdbcType=VARCHAR}
|
and bill_status = #{billStatus,jdbcType=VARCHAR}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="tradeDate != null and tradeDate != ''">
|
||||||
|
and trade_date = #{tradeDate,jdbcType=VARCHAR}
|
||||||
|
</if>
|
||||||
|
order by create_time DESC
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<update id="updateStatus">
|
<update id="updateStatus">
|
||||||
|
|||||||
Reference in New Issue
Block a user