提交 303da8d0 authored 作者: liuhaiquan's avatar liuhaiquan

Merge remote-tracking branch 'origin/v5.5_settlement_20231011' into v5.5_settlement_20231011

# Conflicts: # performance-web/src/main/java/com/clx/performance/service/impl/settle/SettlementOwnerServiceImpl.java
package com.clx.performance.param.pc;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PageOwnerBindCardRecordListParam extends PageParam {
@ApiModelProperty(value = "货主用户编码")
private Long ownerUserNo;
}
......@@ -16,6 +16,7 @@ import java.time.LocalDateTime;
@NoArgsConstructor
public class OwnerAccountVO {
@ApiModelProperty(value = "id")
private Integer id;
/**
* 货主编码
......
package com.clx.performance.vo.pc;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.time.LocalDateTime;
/**
* 货主绑卡记录;
*
* @date : 2023-10-12
*/
@Getter
@Setter
@NoArgsConstructor
public class OwnerBindCardRecordVO{
/**
* id
*/
@ApiModelProperty(value = "id")
private Integer id;
/**
* 货主编码
*/
@ApiModelProperty(value = "货主编码")
private Long ownerUserNo;
// /**
// * 货主名称
// */
// @ApiModelProperty(value = "货主名称")
// private String ownerUserName;
// /**
// * 货主类型;1:企业 2:个人
// */
// @ApiModelProperty(value = "货主类型;1:企业 2:个人")
// private Integer ownerType;
// /**
// * 货主银行
// */
// @ApiModelProperty(value = "货主银行")
// private String ownerBank;
// /**
// * 银行卡号
// */
// @ApiModelProperty(value = "银行卡号")
// private String bankCardNumber;
// /**
// * 开户行
// */
// @ApiModelProperty(value = "开户行")
// private String openAccountBank;
// /**
// * 户名
// */
// @ApiModelProperty(value = "户名")
// private String accountBankName;
/**
* 操作人
*/
@ApiModelProperty(value = "操作人")
private String createBy;
/**
* 操作项目
*/
@ApiModelProperty(value = "操作项目")
private String createItem;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private LocalDateTime createTime;
}
\ No newline at end of file
......@@ -3,14 +3,8 @@ package com.clx.performance.controller.pc.owner;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.model.OwnerTransferInfo;
import com.clx.performance.param.pc.*;
import com.clx.performance.service.OwnerAccountService;
import com.clx.performance.service.OwnerCaseOutService;
import com.clx.performance.service.OwnerRunningWaterRecordService;
import com.clx.performance.service.OwnerTopUpService;
import com.clx.performance.vo.pc.OwnerAccountRunningWaterRecordVO;
import com.clx.performance.vo.pc.OwnerAccountVO;
import com.clx.performance.vo.pc.OwnerCaseOutVO;
import com.clx.performance.vo.pc.OwnerTopUpVO;
import com.clx.performance.service.*;
import com.clx.performance.vo.pc.*;
import com.clx.user.feign.OwnerInfoFeign;
import com.clx.user.param.pc.owner.UpdateOwnerBindCardFeignParam;
import com.clx.user.vo.pc.owner.OwnerBindCardVO;
......@@ -48,7 +42,8 @@ public class OwnerAccountController {
private final OwnerRunningWaterRecordService ownerRunningWaterRecordService;
private final OwnerInfoFeign ownerInfoFeign;
private final OwnerBindCardRecordService ownerBindCardRecordService;
@ApiOperation(value = "账户信息", notes = "<br>By:胡宇帆")
@GetMapping("/accountInfo")
......@@ -140,4 +135,12 @@ public class OwnerAccountController {
ownerAccountService.unBindOwnerBindCard(param);
return Result.ok();
}
@ApiOperation(value = "货主绑卡记录列表", notes = "<br>By:胡宇帆")
@PostMapping("/ownerBindCardPageList")
@UnitCovert(param = false)
public Result<PageData<OwnerBindCardRecordVO>> ownerBindCardPageList(@RequestBody PageOwnerBindCardRecordListParam param) {
IPage<OwnerBindCardRecordVO> page = ownerBindCardRecordService.ownerBindCardPageList(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
package com.clx.performance.dao;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.OwnerBindCardRecordMapper;
import com.clx.performance.model.OwnerBindCardRecord;
import com.clx.performance.param.pc.PageOwnerBindCardRecordListParam;
import com.clx.performance.vo.pc.OwnerBindCardRecordVO;
import com.msl.common.dao.BaseDao;
import org.apache.ibatis.annotations.Param;
public interface OwnerBindCardRecordDao extends BaseDao<OwnerBindCardRecordMapper, OwnerBindCardRecord, Integer> {
OwnerBindCardRecord getOwnerBindCardByUserNo(@Param("userNo")Long userNo);
IPage<OwnerBindCardRecordVO> ownerBindCardPageList(PageOwnerBindCardRecordListParam param);
}
package com.clx.performance.dao.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.OwnerBindCardRecordDao;
import com.clx.performance.mapper.OwnerBindCardRecordMapper;
import com.clx.performance.model.OwnerBindCardRecord;
import com.clx.performance.param.pc.PageOwnerBindCardRecordListParam;
import com.clx.performance.vo.pc.OwnerAccountVO;
import com.clx.performance.vo.pc.OwnerBindCardRecordVO;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
@Repository
public class OwnerBindCardRecordDaoImpl extends BaseDaoImpl<OwnerBindCardRecordMapper, OwnerBindCardRecord, Integer> implements OwnerBindCardRecordDao {
@Override
public OwnerBindCardRecord getOwnerBindCardByUserNo(Long userNo) {
return super.getOne(lQrWrapper()
.eq(OwnerBindCardRecord ::getOwnerUserNo,userNo)
.eq(OwnerBindCardRecord::getOwnerUserNo, userNo)
.last("limit 1")
);
}
@Override
public IPage<OwnerBindCardRecordVO> ownerBindCardPageList(PageOwnerBindCardRecordListParam param) {
Page<OwnerBindCardRecordVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.ownerBindCardPageList(page, param);
}
}
package com.clx.performance.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.model.OwnerBindCardRecord;
import com.clx.performance.param.pc.PageOwnerBindCardRecordListParam;
import com.clx.performance.sqlProvider.OwnerBindCardRecordSqlProvider;
import com.clx.performance.vo.pc.OwnerBindCardRecordVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.SelectProvider;
/**
* 货主绑卡记录
......@@ -10,4 +16,6 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface OwnerBindCardRecordMapper extends BaseMapper<OwnerBindCardRecord> {
@SelectProvider(type = OwnerBindCardRecordSqlProvider.class, method = "ownerBindCardPageList")
IPage<OwnerBindCardRecordVO> ownerBindCardPageList(Page<OwnerBindCardRecordVO> page, PageOwnerBindCardRecordListParam param);
}
\ No newline at end of file
......@@ -32,7 +32,7 @@ public class OwnerBindCardRecord implements HasKey<Integer> {
* 货主编码
*/
@TableField("owner_user_no")
private String ownerUserNo;
private Long ownerUserNo;
/**
* 货主名称
*/
......
package com.clx.performance.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.PageOwnerBindCardRecordListParam;
import com.clx.performance.vo.pc.OwnerBindCardRecordVO;
public interface OwnerBindCardRecordService {
IPage<OwnerBindCardRecordVO> ownerBindCardPageList(PageOwnerBindCardRecordListParam param);
}
......@@ -53,6 +53,8 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
private final OwnerInfoFeign ownerInfoFeign;
private final OwnerBindCardRecordDao ownerBindCardRecordDao;
@Override
public IPage<OwnerAccountVO> pageList(PageOwnerAccountListParam param) {
return ownerAccountDao.pageList(param);
......@@ -366,11 +368,31 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
if (result.succeed() && StringUtils.isNotBlank(result.getData().getOwnerAccountBank())) {
throw new ServiceSystemException(PerformanceResultEnum.HTTP_ERROR, "当前货主存在绑定银行卡,请先解绑银行卡后再进行绑定操作");
}
ownerInfoFeign.bindOwnerBindCard(param);
OwnerBindCardRecord record = new OwnerBindCardRecord();
record.setOwnerType(param.getOwnerType());
record.setOwnerUserNo(param.getUserNo());
record.setCreateItem("绑定银行卡");
record.setOwnerBank(param.getOwnerAccountBank());
record.setOpenAccountBank(param.getOwnerAccountBank());
record.setAccountBankName(param.getOwnerAccountName());
record.setCreateBy("曹做人");
ownerBindCardRecordDao.saveEntity(record);
}
@Override
public void unBindOwnerBindCard(UpdateOwnerBindCardFeignParam param) {
OwnerBindCardRecord record = new OwnerBindCardRecord();
record.setOwnerType(param.getOwnerType());
record.setOwnerUserNo(param.getUserNo());
record.setCreateItem("解绑银行卡");
record.setOwnerBank(param.getOwnerAccountBank());
record.setOpenAccountBank(param.getOwnerAccountBank());
record.setAccountBankName(param.getOwnerAccountName());
record.setCreateBy("曹做人");
ownerBindCardRecordDao.saveEntity(record);
ownerInfoFeign.unBindOwnerBindCard(param);
}
}
package com.clx.performance.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dao.OwnerBindCardRecordDao;
import com.clx.performance.param.pc.PageOwnerBindCardRecordListParam;
import com.clx.performance.service.OwnerBindCardRecordService;
import com.clx.performance.vo.pc.OwnerBindCardRecordVO;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@Slf4j
@Service
@AllArgsConstructor
public class OwnerBindCardRecordServiceImpl implements OwnerBindCardRecordService {
private final OwnerBindCardRecordDao ownerBindCardRecordDao;
@Override
public IPage<OwnerBindCardRecordVO> ownerBindCardPageList(PageOwnerBindCardRecordListParam param) {
return ownerBindCardRecordDao.ownerBindCardPageList(param);
}
}
......@@ -2,19 +2,21 @@ package com.clx.performance.service.impl.settle;
import com.baomidou.mybatisplus.core.metadata.IPage;
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.SettlementOwnerDao;
import com.clx.performance.dao.settle.SettlementPlatformAccountDao;
import com.clx.performance.enums.OrderChildLogEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.settle.SettlementLogEnum;
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.SettlementOwner;
import com.clx.performance.model.settle.SettlementPlatformAccount;
import com.clx.performance.param.pc.owner.OwnerPaymentSettlementParam;
import com.clx.performance.param.pc.owner.PageCarrierSettlementOwnerParam;
import com.clx.performance.param.pc.owner.PageOwnerSettlementParam;
import com.clx.performance.service.OwnerAccountService;
import com.clx.performance.service.settle.SettlementLogService;
import com.clx.performance.service.settle.SettlementOwnerService;
import com.clx.performance.struct.settle.SettlementLogStruct;
import com.clx.performance.struct.settle.SettlementOwnerStruct;
......@@ -23,12 +25,14 @@ import com.clx.performance.vo.pc.carrier.settle.CarrierSettlementOwnerDetailVO;
import com.clx.performance.vo.pc.carrier.settle.SettlementLogVO;
import com.clx.performance.vo.pc.owner.settle.OwnerPageSettlementOwnerVO;
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.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Objects;
......@@ -53,7 +57,9 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
private final SettlementPlatformAccountDao settlementPlatformAccountDao;
private final OwnerBindCardRecordDao ownerBindCardRecordDao;
private final SettlementLogService settlementLogService;
private final OwnerAccountService ownerAccountService;
@Override
......@@ -76,15 +82,26 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
}
@Override
@Transactional(rollbackFor = Exception.class)
public void updateConfirmSettlement(Integer id) {
//结算单详情
SettlementOwner settlementOwner =settlementOwnerDao.getEntityByKey(id).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//状态判断
if(!Objects.equals(settlementOwner.getStatus(), SettlementOwnerEnum.Status.OWNER_TO_BE_CONFIRMED.getCode())){
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
......@@ -101,10 +118,10 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
//当前账号
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
OwnerBindCardRecord card = ownerBindCardRecordDao.getOwnerBindCardByUserNo(loginUserInfo.getUserNo());
OwnerBindCardVO card = ownerAccountService.getOwnerBindCard(loginUserInfo.getUserNo());
if(Objects.nonNull(card)){
vo.setPaymentBankCardNo(card.getBankCardNumber());
vo.setPaymentBankName(card.getAccountBankName());
vo.setPaymentBankCardNo(card.getOwnerBankAccount());
vo.setPaymentBankName(card.getOwnerAccountBank());
}
return vo;
}
......@@ -113,10 +130,13 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
public void updatePaymentSettlement(OwnerPaymentSettlementParam param) {
//结算单详情
SettlementOwner settlementOwner =settlementOwnerDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//状态判断
if(!Objects.equals(settlementOwner.getStatus(), SettlementOwnerEnum.Status.SHIPPER_TO_PAYMENT.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.SETTLEMENT_ORDER_STATUS_CHANGED);
}
String settlementNo = settlementOwner.getSettlementNo();
//更新状态为平台确认货主付款
SettlementOwner settlement = SettlementOwner.builder().payee(param.getPayee()).payeeBankCardNo(param.getPayeeBankCardNo())
.payeeBankName(param.getPayeeBankName()).paymentBankCardNo(param.getPaymentBankCardNo())
......@@ -124,6 +144,12 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
.settlementNo(settlementOwner.getSettlementNo())
.status(SettlementOwnerEnum.Status.PLATFORM_CONFIRMED_OWNER_PAYMENT.getCode()).build();
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
......@@ -131,17 +157,30 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
//结算单详情
SettlementOwner settlementOwner =settlementOwnerDao.getEntityByKey(id).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
//状态判断
if(!Objects.equals(settlementOwner.getStatus(), SettlementOwnerEnum.Status.OWNER_CONFIRMED_PLATFORM_PAYMENT.getCode())){
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())){//网运单
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
......
package com.clx.performance.sqlProvider;
import com.clx.performance.param.pc.PageOwnerAccountListParam;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL;
public class OwnerBindCardRecordSqlProvider {
public String ownerBindCardPageList(@Param("param") PageOwnerAccountListParam param) {
String sql = new SQL() {{
SELECT("a.id, a.owner_user_no," +
" a.owner_user_name, a.owner_type, a.owner_bank, " +
" a.bank_card_number,a.open_account_bank, a.account_bank_name,a.create_by,a.create_time,a.create_item");
FROM("owner_bind_card_record a");
ORDER_BY("a.create_time desc");
}}.toString();
return sql;
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论