提交 4e51e550 authored 作者: liruixin's avatar liruixin

结算单日志记录

上级 0524294f
...@@ -2,18 +2,20 @@ package com.clx.performance.service.impl.settle; ...@@ -2,18 +2,20 @@ package com.clx.performance.service.impl.settle;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.OwnerBindCardRecordDao;
import com.clx.performance.dao.settle.SettlementLogDao; import com.clx.performance.dao.settle.SettlementLogDao;
import com.clx.performance.dao.settle.SettlementOwnerDao; import com.clx.performance.dao.settle.SettlementOwnerDao;
import com.clx.performance.dao.settle.SettlementPlatformAccountDao; import com.clx.performance.dao.settle.SettlementPlatformAccountDao;
import com.clx.performance.enums.OrderChildLogEnum;
import com.clx.performance.enums.PerformanceResultEnum; import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.settle.SettlementLogEnum;
import com.clx.performance.enums.settle.SettlementOwnerEnum; import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.model.OwnerBindCardRecord;
import com.clx.performance.model.settle.SettlementLog; import com.clx.performance.model.settle.SettlementLog;
import com.clx.performance.model.settle.SettlementOwner; import com.clx.performance.model.settle.SettlementOwner;
import com.clx.performance.model.settle.SettlementPlatformAccount; import com.clx.performance.model.settle.SettlementPlatformAccount;
import com.clx.performance.param.pc.owner.OwnerPaymentSettlementParam; import com.clx.performance.param.pc.owner.OwnerPaymentSettlementParam;
import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerParam; import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerParam;
import com.clx.performance.service.OwnerAccountService;
import com.clx.performance.service.settle.SettlementLogService;
import com.clx.performance.service.settle.SettlementOwnerService; import com.clx.performance.service.settle.SettlementOwnerService;
import com.clx.performance.struct.settle.SettlementLogStruct; import com.clx.performance.struct.settle.SettlementLogStruct;
import com.clx.performance.struct.settle.SettlementOwnerStruct; import com.clx.performance.struct.settle.SettlementOwnerStruct;
...@@ -21,12 +23,14 @@ import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementOwnerVO; ...@@ -21,12 +23,14 @@ import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementOwnerVO;
import com.clx.performance.vo.pc.carrier.settle.CarrierSettlementOwnerDetailVO; import com.clx.performance.vo.pc.carrier.settle.CarrierSettlementOwnerDetailVO;
import com.clx.performance.vo.pc.carrier.settle.SettlementLogVO; import com.clx.performance.vo.pc.carrier.settle.SettlementLogVO;
import com.clx.performance.vo.pc.owner.settle.SettlementPlatformAccountVO; import com.clx.performance.vo.pc.owner.settle.SettlementPlatformAccountVO;
import com.clx.user.vo.pc.owner.OwnerBindCardVO;
import com.msl.common.exception.ServiceSystemException; import com.msl.common.exception.ServiceSystemException;
import com.msl.user.data.UserSessionData; import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil; import com.msl.user.utils.TokenUtil;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
...@@ -51,7 +55,9 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -51,7 +55,9 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
private final SettlementPlatformAccountDao settlementPlatformAccountDao; private final SettlementPlatformAccountDao settlementPlatformAccountDao;
private final OwnerBindCardRecordDao ownerBindCardRecordDao; private final SettlementLogService settlementLogService;
private final OwnerAccountService ownerAccountService;
@Override @Override
...@@ -74,15 +80,26 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -74,15 +80,26 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void updateConfirmSettlement(Integer id) { public void updateConfirmSettlement(Integer id) {
//结算单详情 //结算单详情
SettlementOwner settlementOwner =settlementOwnerDao.getEntityByKey(id).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); SettlementOwner settlementOwner =settlementOwnerDao.getEntityByKey(id).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//状态判断 //状态判断
if(!Objects.equals(settlementOwner.getStatus(), SettlementOwnerEnum.Status.OWNER_TO_BE_CONFIRMED.getCode())){ if(!Objects.equals(settlementOwner.getStatus(), SettlementOwnerEnum.Status.OWNER_TO_BE_CONFIRMED.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.SETTLEMENT_ORDER_STATUS_CHANGED); throw new ServiceSystemException(PerformanceResultEnum.SETTLEMENT_ORDER_STATUS_CHANGED);
} }
String settlementNo = settlementOwner.getSettlementNo();
//更新状态为待货主付款 //更新状态为待货主付款
settlementOwnerDao.updateStatusBySettlementNo(settlementOwner.getSettlementNo(),SettlementOwnerEnum.Status.SHIPPER_TO_PAYMENT.getCode()); settlementOwnerDao.updateStatusBySettlementNo(settlementNo,SettlementOwnerEnum.Status.SHIPPER_TO_PAYMENT.getCode());
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//保存结算单日志
settlementLogService.saveSettlementLog(settlementNo,
SettlementLogEnum.Type.OWNER_TO_BE_CONFIRMED.getCode(),SettlementLogEnum.Type.OWNER_TO_BE_CONFIRMED.getMsg(),
OrderChildLogEnum.CreateType.OWNER.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
} }
@Override @Override
...@@ -99,10 +116,10 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -99,10 +116,10 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
//当前账号 //当前账号
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo(); UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
OwnerBindCardRecord card = ownerBindCardRecordDao.getOwnerBindCardByUserNo(loginUserInfo.getUserNo()); OwnerBindCardVO card = ownerAccountService.getOwnerBindCard(loginUserInfo.getUserNo());
if(Objects.nonNull(card)){ if(Objects.nonNull(card)){
vo.setPaymentBankCardNo(card.getBankCardNumber()); vo.setPaymentBankCardNo(card.getOwnerBankAccount());
vo.setPaymentBankName(card.getAccountBankName()); vo.setPaymentBankName(card.getOwnerAccountBank());
} }
return vo; return vo;
} }
...@@ -111,10 +128,13 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -111,10 +128,13 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
public void updatePaymentSettlement(OwnerPaymentSettlementParam param) { public void updatePaymentSettlement(OwnerPaymentSettlementParam param) {
//结算单详情 //结算单详情
SettlementOwner settlementOwner =settlementOwnerDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); SettlementOwner settlementOwner =settlementOwnerDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//状态判断 //状态判断
if(!Objects.equals(settlementOwner.getStatus(), SettlementOwnerEnum.Status.SHIPPER_TO_PAYMENT.getCode())){ if(!Objects.equals(settlementOwner.getStatus(), SettlementOwnerEnum.Status.SHIPPER_TO_PAYMENT.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.SETTLEMENT_ORDER_STATUS_CHANGED); throw new ServiceSystemException(PerformanceResultEnum.SETTLEMENT_ORDER_STATUS_CHANGED);
} }
String settlementNo = settlementOwner.getSettlementNo();
//更新状态为平台确认货主付款 //更新状态为平台确认货主付款
SettlementOwner settlement = SettlementOwner.builder().payee(param.getPayee()).payeeBankCardNo(param.getPayeeBankCardNo()) SettlementOwner settlement = SettlementOwner.builder().payee(param.getPayee()).payeeBankCardNo(param.getPayeeBankCardNo())
.payeeBankName(param.getPayeeBankName()).paymentBankCardNo(param.getPaymentBankCardNo()) .payeeBankName(param.getPayeeBankName()).paymentBankCardNo(param.getPaymentBankCardNo())
...@@ -122,6 +142,12 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -122,6 +142,12 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
.settlementNo(settlementOwner.getSettlementNo()) .settlementNo(settlementOwner.getSettlementNo())
.status(SettlementOwnerEnum.Status.PLATFORM_CONFIRMED_OWNER_PAYMENT.getCode()).build(); .status(SettlementOwnerEnum.Status.PLATFORM_CONFIRMED_OWNER_PAYMENT.getCode()).build();
settlementOwnerDao.updatePayment(settlement); settlementOwnerDao.updatePayment(settlement);
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//保存结算单日志
settlementLogService.saveSettlementLog(settlementNo,
SettlementLogEnum.Type.SHIPPER_TO_PAYMENT.getCode(),SettlementLogEnum.Type.SHIPPER_TO_PAYMENT.getMsg(),
OrderChildLogEnum.CreateType.OWNER.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
} }
@Override @Override
...@@ -129,17 +155,30 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService { ...@@ -129,17 +155,30 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
//结算单详情 //结算单详情
SettlementOwner settlementOwner =settlementOwnerDao.getEntityByKey(id).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); SettlementOwner settlementOwner =settlementOwnerDao.getEntityByKey(id).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//状态判断 //状态判断
if(!Objects.equals(settlementOwner.getStatus(), SettlementOwnerEnum.Status.OWNER_CONFIRMED_PLATFORM_PAYMENT.getCode())){ if(!Objects.equals(settlementOwner.getStatus(), SettlementOwnerEnum.Status.OWNER_CONFIRMED_PLATFORM_PAYMENT.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.SETTLEMENT_ORDER_STATUS_CHANGED); throw new ServiceSystemException(PerformanceResultEnum.SETTLEMENT_ORDER_STATUS_CHANGED);
} }
Integer status = SettlementOwnerEnum.Status.INVOICE_TO_BE_MAILED.getCode();//待邮寄发票 Integer status = SettlementOwnerEnum.Status.INVOICE_TO_BE_MAILED.getCode();//待邮寄发票 结算流程状态
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
String settlementNo = settlementOwner.getSettlementNo();
//保存结算单日志
settlementLogService.saveSettlementLog(settlementNo,
SettlementLogEnum.Type.OWNER_CONFIRMED_PLATFORM_PAYMENT.getCode(),SettlementLogEnum.Type.OWNER_CONFIRMED_PLATFORM_PAYMENT.getMsg(),
OrderChildLogEnum.CreateType.OWNER.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
if(Objects.equals(settlementOwner.getStatus(),SettlementOwnerEnum.InvoiceType.ONLINE.getCode())){//网运单 if(Objects.equals(settlementOwner.getStatus(),SettlementOwnerEnum.InvoiceType.ONLINE.getCode())){//网运单
status = SettlementOwnerEnum.Status.COMPLETED.getCode(); status = SettlementOwnerEnum.Status.COMPLETED.getCode();
//保存结算单日志
settlementLogService.saveSettlementLog(settlementNo,
SettlementLogEnum.Type.COMPLETED.getCode(),SettlementLogEnum.Type.COMPLETED.getMsg(),
OrderChildLogEnum.CreateType.OWNER.getCode(),loginUserInfo.getUserNo(),loginUserInfo.getUserName());
} }
//更新状态
settlementOwnerDao.updateStatusBySettlementNo(settlementOwner.getSettlementNo(),status);
//更新状态
settlementOwnerDao.updateStatusBySettlementNo(settlementNo,status);
} }
@Override @Override
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论