提交 4b97b90f authored 作者: liuhaiquan's avatar liuhaiquan

Merge remote-tracking branch 'origin/v10.7_borrowing_and_repayment_20240118'…

Merge remote-tracking branch 'origin/v10.7_borrowing_and_repayment_20240118' into v10.7_borrowing_and_repayment_20240118
...@@ -118,6 +118,9 @@ public enum PerformanceResultEnum implements ResultEnum { ...@@ -118,6 +118,9 @@ public enum PerformanceResultEnum implements ResultEnum {
BORROWER_CONFIG_BORROWER_ID_EXIST(1703, "数据重复,请核实后重新提交"), BORROWER_CONFIG_BORROWER_ID_EXIST(1703, "数据重复,请核实后重新提交"),
BORROWER_CONFIG_DELETE_ENABLE_ERROR(1704, "无法删除启用数据"), BORROWER_CONFIG_DELETE_ENABLE_ERROR(1704, "无法删除启用数据"),
BORROWER_CONFIG_TYPE_NOT_SUPPORT_ERROR(1705, "借款类型不支持"), BORROWER_CONFIG_TYPE_NOT_SUPPORT_ERROR(1705, "借款类型不支持"),
BORROWER_CONFIG_DELETE_ENABLE_STATUS_ERROR(1706, "借款配置已禁用,不允许借款。"),
BORROWER_DELETE_ENABLE_STATUS_ERROR(1707, "借出方已禁用,不允许借款。"),
NB_BANK_API_ERROR(1800, "宁波银行api调用失败"), NB_BANK_API_ERROR(1800, "宁波银行api调用失败"),
NB_BANK_NOTIFY_ERROR(1801, "宁波银行回调失败"), NB_BANK_NOTIFY_ERROR(1801, "宁波银行回调失败"),
......
...@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor; ...@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
/** /**
...@@ -27,6 +28,7 @@ public class BorrowerConfigAddParam { ...@@ -27,6 +28,7 @@ public class BorrowerConfigAddParam {
private Integer type; private Integer type;
@ApiModelProperty(value = "借款天数", example = "1") @ApiModelProperty(value = "借款天数", example = "1")
@NotNull(message = "借款天数不能为空") @NotNull(message = "借款天数不能为空")
@Max(value = 365, message = "借款天数需小于等于365")
private Integer day; private Integer day;
} }
...@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor; ...@@ -6,6 +6,7 @@ import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import lombok.ToString; import lombok.ToString;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
/** /**
...@@ -30,6 +31,7 @@ public class BorrowerConfigUpdateParam { ...@@ -30,6 +31,7 @@ public class BorrowerConfigUpdateParam {
private Integer type; private Integer type;
@ApiModelProperty(value = "借款天数", example = "1") @ApiModelProperty(value = "借款天数", example = "1")
@NotNull(message = "借款天数不能为空") @NotNull(message = "借款天数不能为空")
@Max(value = 365, message = "借款天数需小于等于365")
private Integer day; private Integer day;
} }
...@@ -64,6 +64,11 @@ public class BorrowerConfigDaoImpl extends BaseDaoImpl<BorrowerConfigMapper, Bor ...@@ -64,6 +64,11 @@ public class BorrowerConfigDaoImpl extends BaseDaoImpl<BorrowerConfigMapper, Bor
); );
} }
@Override
public boolean updateName(Integer borrowerId, String borrowerName) {
return baseMapper.updateName(borrowerId, borrowerName) > 0;
}
@Override @Override
public Optional<BorrowerConfig> selectByBorrowerIdAndType(Integer borrowerId, Integer type) { public Optional<BorrowerConfig> selectByBorrowerIdAndType(Integer borrowerId, Integer type) {
return Optional.of(borrowerId) return Optional.of(borrowerId)
......
...@@ -91,6 +91,7 @@ public class OwnerRepaymentDaoImpl extends BaseDaoImpl<OwnerRepaymentMapper, Own ...@@ -91,6 +91,7 @@ public class OwnerRepaymentDaoImpl extends BaseDaoImpl<OwnerRepaymentMapper, Own
update(lUdWrapper().eq(OwnerRepayment::getId, ownerRepayment.getId()) update(lUdWrapper().eq(OwnerRepayment::getId, ownerRepayment.getId())
.set(OwnerRepayment::getStatus, ownerRepayment.getStatus()) .set(OwnerRepayment::getStatus, ownerRepayment.getStatus())
.set(OwnerRepayment::getOperateBy, ownerRepayment.getOperateBy()) .set(OwnerRepayment::getOperateBy, ownerRepayment.getOperateBy())
.set(OwnerRepayment::getOperateTime, ownerRepayment.getOperateTime())
); );
} }
......
...@@ -22,6 +22,7 @@ public interface BorrowerConfigDao extends BaseDao<BorrowerConfigMapper, Borrowe ...@@ -22,6 +22,7 @@ public interface BorrowerConfigDao extends BaseDao<BorrowerConfigMapper, Borrowe
boolean update(BorrowerConfig item); boolean update(BorrowerConfig item);
boolean updateStatus(BorrowerConfig item); boolean updateStatus(BorrowerConfig item);
boolean updateDelete(BorrowerConfig item); boolean updateDelete(BorrowerConfig item);
boolean updateName(Integer borrowerId, String borrowerName);
Optional<BorrowerConfig> selectByBorrowerIdAndType(Integer borrowerId, Integer type); Optional<BorrowerConfig> selectByBorrowerIdAndType(Integer borrowerId, Integer type);
......
...@@ -169,6 +169,8 @@ public class OrderChildSyncTransportListener { ...@@ -169,6 +169,8 @@ public class OrderChildSyncTransportListener {
settlementOwnerDetail.setPrepayFreight(BigDecimal.ZERO); settlementOwnerDetail.setPrepayFreight(BigDecimal.ZERO);
settlementOwnerDetail.setFinalPaymentStatus(SettlementOwnerDetailEnum.FinalPaymentStatus.NO.getCode()); settlementOwnerDetail.setFinalPaymentStatus(SettlementOwnerDetailEnum.FinalPaymentStatus.NO.getCode());
} }
settlementOwnerDetail.setSettlementFreight(settlementFreightCalc(orderChild.getSettlementWay(), settlementOwnerDetail));
if (SettlementOwnerEnum.InvoiceType.ORDINARY.getCode().equals(invoiceType)) { if (SettlementOwnerEnum.InvoiceType.ORDINARY.getCode().equals(invoiceType)) {
if (settlementOwnerDetail.getSettlementFreight().compareTo(BigDecimal.ZERO) == 0) { if (settlementOwnerDetail.getSettlementFreight().compareTo(BigDecimal.ZERO) == 0) {
...@@ -267,4 +269,13 @@ public class OrderChildSyncTransportListener { ...@@ -267,4 +269,13 @@ public class OrderChildSyncTransportListener {
} }
} }
private BigDecimal settlementFreightCalc(Integer settlementWay, SettlementOwnerDetail settlementOwnerDetail) {
if (Objects.equals(settlementWay, SettlementWayEnum.WayType.LOAD.getCode())) { //订单结算方式为“装车净重”时,结算金额=实际净重*平台运费报价-预付运费-货损金额。
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice())
.subtract(settlementOwnerDetail.getPrepayFreight()).subtract(settlementOwnerDetail.getLossFreight());
} else { //订单结算方式为“卸车净重”时,结算金额=实际净重*平台运费报价-预付运费
return settlementOwnerDetail.getWeight().multiply(settlementOwnerDetail.getFreightPrice()).subtract(settlementOwnerDetail.getPrepayFreight());
}
}
} }
...@@ -10,6 +10,7 @@ import com.clx.performance.vo.pc.loan.carrier.BorrowerConfigVO; ...@@ -10,6 +10,7 @@ import com.clx.performance.vo.pc.loan.carrier.BorrowerConfigVO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.SelectProvider; import org.apache.ibatis.annotations.SelectProvider;
import org.apache.ibatis.annotations.Update;
/** /**
* @Author: aiqinguo * @Author: aiqinguo
...@@ -21,6 +22,14 @@ import org.apache.ibatis.annotations.SelectProvider; ...@@ -21,6 +22,14 @@ import org.apache.ibatis.annotations.SelectProvider;
@Mapper @Mapper
public interface BorrowerConfigMapper extends BaseMapper<BorrowerConfig> { public interface BorrowerConfigMapper extends BaseMapper<BorrowerConfig> {
/**
* 修改
*/
@Update(" update borrower_config set " +
" borrower_name = #{borrowerName} " +
" where borrower_id = #{borrowerId}")
int updateName(Integer borrowerId, String borrowerName);
/** /**
* @see BorrowerConfigSqlProvider#pageByParam(Page, PageBorrowerConfigParam) * @see BorrowerConfigSqlProvider#pageByParam(Page, PageBorrowerConfigParam)
*/ */
......
package com.clx.performance.service.impl.loan; package com.clx.performance.service.impl.loan;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.loan.BorrowerConfigDao;
import com.clx.performance.dao.loan.BorrowerDao; import com.clx.performance.dao.loan.BorrowerDao;
import com.clx.performance.enums.PerformanceResultEnum; import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.loan.BorrowerEnum; import com.clx.performance.enums.loan.BorrowerEnum;
...@@ -35,6 +36,9 @@ public class BorrowerServiceImpl implements BorrowerService { ...@@ -35,6 +36,9 @@ public class BorrowerServiceImpl implements BorrowerService {
@Autowired @Autowired
private BorrowerDao borrowerDao; private BorrowerDao borrowerDao;
@Autowired
private BorrowerConfigDao borrowerConfigDao;
@Autowired @Autowired
private BorrowerStruct borrowerStruct; private BorrowerStruct borrowerStruct;
...@@ -76,6 +80,8 @@ public class BorrowerServiceImpl implements BorrowerService { ...@@ -76,6 +80,8 @@ public class BorrowerServiceImpl implements BorrowerService {
throw new ServiceSystemException(PerformanceResultEnum.BORROWER_NAME_EXIST); throw new ServiceSystemException(PerformanceResultEnum.BORROWER_NAME_EXIST);
} }
boolean updateNameFlag = !borrower.getName().equals(param.getName());
borrower.setName(param.getName()); borrower.setName(param.getName());
borrower.setBankName(param.getBankName()); borrower.setBankName(param.getBankName());
borrower.setBankCardNo(param.getBankCardNo()); borrower.setBankCardNo(param.getBankCardNo());
...@@ -87,6 +93,11 @@ public class BorrowerServiceImpl implements BorrowerService { ...@@ -87,6 +93,11 @@ public class BorrowerServiceImpl implements BorrowerService {
borrower.setOpTime(LocalDateTime.now()); borrower.setOpTime(LocalDateTime.now());
borrowerDao.update(borrower); borrowerDao.update(borrower);
// 更新名称
if (updateNameFlag) {
borrowerConfigDao.updateName(borrower.getId(), borrower.getName());
}
} }
@Override @Override
......
...@@ -29,10 +29,7 @@ import com.clx.performance.dto.LoanBalanceDTO; ...@@ -29,10 +29,7 @@ import com.clx.performance.dto.LoanBalanceDTO;
import com.clx.performance.dao.loan.*; import com.clx.performance.dao.loan.*;
import com.clx.performance.dto.OwnerLoanMqDTO; import com.clx.performance.dto.OwnerLoanMqDTO;
import com.clx.performance.enums.PerformanceResultEnum; import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.loan.BankTradeEnum; import com.clx.performance.enums.loan.*;
import com.clx.performance.enums.loan.OwnerLoanAccountRunningWaterRecordEnum;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.enums.loan.OwnerRePaymentEnum;
import com.clx.performance.enums.nbbank.NbBankStatusEnum; import com.clx.performance.enums.nbbank.NbBankStatusEnum;
import com.clx.performance.event.OwnerLoanEvent; import com.clx.performance.event.OwnerLoanEvent;
import com.clx.performance.event.OwnerLoanThawEvent; import com.clx.performance.event.OwnerLoanThawEvent;
...@@ -191,9 +188,16 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -191,9 +188,16 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
if (param.getStatus()) { if (param.getStatus()) {
BorrowerConfig borrowerConfig = borrowerConfigDao.selectByBorrowerIdAndType(ownerLoanRecord.getBorrowerId(), BorrowerConfig borrowerConfig = borrowerConfigDao.selectByBorrowerIdAndType(ownerLoanRecord.getBorrowerId(),
param.getLoanType()).orElseThrow(PerformanceResultEnum.BORROWER_CONFIG_TYPE_NOT_SUPPORT_ERROR); param.getLoanType()).orElseThrow(PerformanceResultEnum.BORROWER_CONFIG_TYPE_NOT_SUPPORT_ERROR);
// 借出方借款配置中,将借款类型的数据禁用,此时进行借款审核时,不应该再可以选择虚拟币;将资金禁用同理。
if (Objects.equals(borrowerConfig.getStatus(), BorrowerConfigEnum.Status.DISABLE.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.BORROWER_CONFIG_DELETE_ENABLE_STATUS_ERROR);
}
Borrower borrower = borrowerDao.getEntityByKey(ownerLoanRecord.getBorrowerId()) Borrower borrower = borrowerDao.getEntityByKey(ownerLoanRecord.getBorrowerId())
.orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); .orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if (Objects.equals(borrower.getStatus(), BorrowerEnum.Status.DISABLE.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.BORROWER_DELETE_ENABLE_STATUS_ERROR);
}
//同意 //同意
ownerLoanRecord.setLoanType(param.getLoanType()); ownerLoanRecord.setLoanType(param.getLoanType());
...@@ -715,7 +719,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -715,7 +719,7 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
public void ownerLoanRecordRetryPay(String loanNo) { public void ownerLoanRecordRetryPay(String loanNo) {
OwnerLoanRecord ownerLoanRecord = ownerLoanRecordDao.getOneByField(OwnerLoanRecord::getLoanNo, loanNo) OwnerLoanRecord ownerLoanRecord = ownerLoanRecordDao.getOneByField(OwnerLoanRecord::getLoanNo, loanNo)
.orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); .orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
ownerLoanRecord.setStatus(OwnerLoanRecordEnum.Status.APPROVE_WAIT.getCode()); ownerLoanRecord.setStatus(OwnerLoanRecordEnum.Status.PAY_WAIT.getCode());
// 更新借款信息 // 更新借款信息
ownerLoanRecordDao.updateStatusById(ownerLoanRecord); ownerLoanRecordDao.updateStatusById(ownerLoanRecord);
......
...@@ -376,6 +376,7 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService { ...@@ -376,6 +376,7 @@ public class OwnerRepaymentServiceImpl implements OwnerRepaymentService {
}else{ }else{
ownerRepayment.setStatus(OwnerRePaymentEnum.Status.PAY_FAIL.getCode()); ownerRepayment.setStatus(OwnerRePaymentEnum.Status.PAY_FAIL.getCode());
} }
ownerRepayment.setOperateTime(LocalDateTime.now());
ownerRepayment.setOperateBy(TokenUtil.getLoginUserInfo().getUserName()); ownerRepayment.setOperateBy(TokenUtil.getLoginUserInfo().getUserName());
// 更新借款信息 // 更新借款信息
ownerRepaymentDao.updateStatusById(ownerRepayment); ownerRepaymentDao.updateStatusById(ownerRepayment);
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论