提交 6df91857 authored 作者: aiqingguo's avatar aiqingguo

Merge branch 'v10.7_borrowing_and_repayment_20240118' into test

Former-commit-id: ce252742
...@@ -41,4 +41,18 @@ public enum BorrowerConfigEnum { ...@@ -41,4 +41,18 @@ public enum BorrowerConfigEnum {
} }
@Getter
@AllArgsConstructor
public enum Type {
NO(0, "否"),
YES(1, "是"),
;
private final Integer code;
private final String msg;
}
} }
package com.clx.performance.enums.loan;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
public enum OwnerLoanAccountRunWaterRecordEnum {
;
//10:运单核销 20:借款
@Getter
@AllArgsConstructor
public enum RunWaterType {
APPROVE_WAIT(10, "运单核销"),
APPROVE_PASS(20, "借款"),
;
private final Integer code;
private final String msg;
public static Optional<OwnerLoanAccountRunWaterRecordEnum.RunWaterType> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
public static String getMsgByCode(int code) {
return getByCode(code).map(OwnerLoanAccountRunWaterRecordEnum.RunWaterType::getMsg).orElse(null);
}
}
}
...@@ -22,7 +22,7 @@ public class BorrowerConfigAddParam { ...@@ -22,7 +22,7 @@ public class BorrowerConfigAddParam {
@ApiModelProperty(value = "借出方id", example = "1") @ApiModelProperty(value = "借出方id", example = "1")
@NotNull(message = "借出方id不能为空") @NotNull(message = "借出方id不能为空")
private Integer borrowerId; private Integer borrowerId;
@ApiModelProperty(value = "类型:1资金 2虚拟货币", example = "1") @ApiModelProperty(value = "类型:1虚拟货币 2 资金", example = "1")
@NotNull(message = "类型不能为空") @NotNull(message = "类型不能为空")
private Integer type; private Integer type;
@ApiModelProperty(value = "借款天数", example = "1") @ApiModelProperty(value = "借款天数", example = "1")
......
...@@ -25,7 +25,7 @@ public class BorrowerConfigUpdateParam { ...@@ -25,7 +25,7 @@ public class BorrowerConfigUpdateParam {
@ApiModelProperty(value = "借出方id", example = "1") @ApiModelProperty(value = "借出方id", example = "1")
@NotNull(message = "借出方id不能为空") @NotNull(message = "借出方id不能为空")
private Integer borrowerId; private Integer borrowerId;
@ApiModelProperty(value = "类型:1资金 2虚拟货币", example = "1") @ApiModelProperty(value = "类型:1虚拟货币 2 资金", example = "1")
@NotNull(message = "类型方不能为空") @NotNull(message = "类型方不能为空")
private Integer type; private Integer type;
@ApiModelProperty(value = "借款天数", example = "1") @ApiModelProperty(value = "借款天数", example = "1")
......
package com.clx.performance.param.pc.loan.owner;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
/**
* @ClassName PageOwnerLoanRunWaterRecordParam
* @Description
* @Author kavin
* @Date 2024/1/23 13:24
* @Version 1.0
*/
@Getter
@Setter
public class PageOwnerLoanRunWaterRecordParam extends PageParam {
@ApiModelProperty("运单编号")
private String childNo;
@ApiModelProperty("流水号")
private Long runningWaterNo;
@ApiModelProperty("流水类型 10:运单核销 20:借款")
private Integer runningWaterType;
@ApiModelProperty("开始时间")
private String beginTime;
@ApiModelProperty("结束时间")
private String endTime;
}
package com.clx.performance.vo.pc.loan.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
/**
* @ClassName PayeeVO
* @Description
* @Author kavin
* @Date 2024/1/23 15:17
* @Version 1.0
*/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class PayeeVO {
@ApiModelProperty("id")
private String id;
@ApiModelProperty("收款方名称")
private String name;
@ApiModelProperty("收款方账户")
private String account;
}
package com.clx.performance.vo.pc.loan.owner;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
/**
* @ClassName BorrowerSelectVO
* @Description
* @Author kavin
* @Date 2024/1/23 16:22
* @Version 1.0
*/
@Getter
@Setter
public class BorrowerSelectVO {
@ApiModelProperty("借出方")
private String name;
@ApiModelProperty("银行账号")
private String bankCardNo;
@ApiModelProperty("类型:1资金 2虚拟货币")
private Integer type;
@ApiModelProperty("借款时效")
private Integer day;
}
package com.clx.performance.vo.pc.loan.owner;
import com.clx.performance.vo.pc.loan.carrier.PayeeVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
/**
* @ClassName OwnerLoanRecordDetail
* @Description
* @Author kavin
* @Date 2024/1/23 15:14
* @Version 1.0
*/
@Getter
@Setter
public class OwnerLoanRecordDetail {
@ApiModelProperty("借款方下拉选")
private List<BorrowerSelectVO> borrowerList;
@ApiModelProperty("借款方下拉选")
private List<PayeeVO> payeeList;
@ApiModelProperty("公司名称")
private String companyName;
}
package com.clx.performance.vo.pc.loan.owner;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @ClassName OwnerLoanRunWaterRecordVO
* @Description
* @Author kavin
* @Date 2024/1/23 13:21
* @Version 1.0
*/
@Getter
@Setter
public class OwnerLoanRunWaterRecordVO {
private Integer id;
@ApiModelProperty("货主编码")
private String ownerUserNo;
@ApiModelProperty("货主名称")
private String ownerUserName;
@ApiModelProperty("联系电话")
private String mobile;
@ApiModelProperty("流水号")
private Long runningWaterNo;
@ApiModelProperty("借款单号")
private Long loanNo;
@ApiModelProperty("运单编号")
private String childNo;
@ApiModelProperty("流水类型 10:运单核销 20:借款")
private Integer runningWaterType;
@ApiModelProperty("金额")
private BigDecimal alterationBalance;
@ApiModelProperty("账户余额")
private BigDecimal accountBalance;
@ApiModelProperty("创建人")
private String createBy;
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@ApiModelProperty("修改时间")
private LocalDateTime modifiedTime;
}
package com.clx.performance.vo.pc.loan.owner;
/**
* @ClassName TestController
* @Description
* @Author kavin
* @Date 2024/1/22 10:20
* @Version 1.0
*/
public class TestController {
}
package com.clx.performance.config.loan;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap;
import java.util.stream.Collectors;
/**
* @ClassName ThirdAppConfig
* @Description
* @Author kavin
* @Date 2023/10/18 19:18
* @Version 1.0
*/
@Data
@Configuration
@ConfigurationProperties(prefix = "clx" ) // 配置 文件的前缀
public class ClxPayeeConfig {
// 这里的名字要和yml中的对应字段名称一致
private static Map<String,PayeeConfig> payeeMap = new TreeMap<>();
public static List<PayeeConfig> payeeList = new ArrayList<>();
// 注意此处的 static 关键字
public static PayeeConfig getPayeeMap(String id) {
return payeeMap.get(id);
}
public void setPayeeMap(List<PayeeConfig> payeeConfigs) {
payeeList = payeeConfigs;
payeeMap = payeeConfigs.stream().collect(Collectors.toMap(PayeeConfig::getId,value -> value));
}
@Data
public static class PayeeConfig {
private String name;
private String account;
private String id;
}
}
...@@ -6,6 +6,7 @@ import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerLoanRecordParam ...@@ -6,6 +6,7 @@ import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerLoanRecordParam
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanRecordOfOwner; import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanRecordOfOwner;
import com.clx.performance.service.loan.OwnerLoanRecordService; import com.clx.performance.service.loan.OwnerLoanRecordService;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO; import com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO;
import com.clx.performance.vo.pc.loan.owner.OwnerLoanRecordDetail;
import com.msl.common.base.PageData; import com.msl.common.base.PageData;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -50,4 +51,12 @@ public class CarrierOwnerLoanRecordController { ...@@ -50,4 +51,12 @@ public class CarrierOwnerLoanRecordController {
return Result.page(page.getRecords(), page.getTotal(), page.getPages()); return Result.page(page.getRecords(), page.getTotal(), page.getPages());
} }
@ApiOperation(value = "借款详情",notes = "<br>By:刘海泉")
@PostMapping("/getOwnerLoanRecordDetail")
public Result<OwnerLoanRecordDetail> getOwnerLoanRecordDetail() {
OwnerLoanRecordDetail detail = ownerLoanRecordService.getOwnerLoanRecordDetail();
return Result.ok(detail);
}
} }
...@@ -2,8 +2,9 @@ package com.clx.performance.controller.pc.loan.owner; ...@@ -2,8 +2,9 @@ package com.clx.performance.controller.pc.loan.owner;
import com.clx.performance.param.pc.loan.owner.OwnerLoanRecordParam; import com.clx.performance.param.pc.loan.owner.OwnerLoanRecordParam;
import com.clx.performance.service.loan.OwnerLoanAccountApproveService; import com.clx.performance.service.loan.OwnerLoanAccountApproveService;
import com.clx.performance.service.loan.OwnerLoanAccountRunningWaterRecordService; import com.clx.performance.service.loan.OwnerLoanAccountService;
import com.clx.performance.service.loan.OwnerLoanRecordService; import com.clx.performance.service.loan.OwnerLoanRecordService;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountVO;
import com.msl.common.result.Result; import com.msl.common.result.Result;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
...@@ -25,6 +26,8 @@ public class OwnerLoanAccountController { ...@@ -25,6 +26,8 @@ public class OwnerLoanAccountController {
private final OwnerLoanRecordService ownerLoanRecordService; private final OwnerLoanRecordService ownerLoanRecordService;
private final OwnerLoanAccountService ownerLoanAccountService;
@ApiOperation(value = "货主借款账户开通",notes = "<br>By:胡宇帆") @ApiOperation(value = "货主借款账户开通",notes = "<br>By:胡宇帆")
@GetMapping("/openOwnerLoanAccount") @GetMapping("/openOwnerLoanAccount")
public Result<Object> openOwnerLoanAccount() { public Result<Object> openOwnerLoanAccount() {
...@@ -39,4 +42,13 @@ public class OwnerLoanAccountController { ...@@ -39,4 +42,13 @@ public class OwnerLoanAccountController {
ownerLoanRecordService.ownerLoanRecordSubmit(param); ownerLoanRecordService.ownerLoanRecordSubmit(param);
return Result.ok(); return Result.ok();
} }
@ApiOperation(value = "货主借款账户信息",notes = "<br>By:刘海泉")
@GetMapping("/getOwnerLoanAccount")
public Result<OwnerLoanAccountVO> getOwnerLoanAccount() {
OwnerLoanAccountVO ownerLoanAccountVO = ownerLoanAccountService.getOwnerLoanAccount();
return Result.ok(ownerLoanAccountVO);
}
} }
package com.clx.performance.controller.pc.loan.owner;
import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dto.OwnerLoanAccountRunWaterRecordDTO;
import com.clx.performance.param.pc.loan.owner.PageOwnerLoanRunWaterRecordParam;
import com.clx.performance.service.loan.OwnerLoanAccountRunningWaterRecordService;
import com.clx.performance.vo.pc.loan.owner.OwnerLoanRunWaterRecordVO;
import com.msl.common.base.PageData;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
@Slf4j
@RestController
@RequestMapping(value="/pc/carrier/ownerLoanRunWaterRecord")
@Validated
@Api(tags = "货主端-货主借款账户管理")
@AllArgsConstructor
public class OwnerLoanAccountRunningWaterRecordController {
private final OwnerLoanAccountRunningWaterRecordService ownerLoanAccountRunningWaterRecordService;
@ApiOperation(value = "货主账户流水",notes = "<br>By:刘海泉")
@PostMapping("/pageOwnerLoanRunWaterRecord")
public Result<PageData<OwnerLoanRunWaterRecordVO>> pageOwnerLoanRunWaterRecord(@RequestBody @Validated PageOwnerLoanRunWaterRecordParam param) {
IPage<OwnerLoanRunWaterRecordVO> page = ownerLoanAccountRunningWaterRecordService.pageOwnerLoanRunWaterRecord(param);
return Result.page(page.getRecords(),page.getTotal(),page.getPages());
}
@ApiOperation(value = "货主账户流水下载")
@PostMapping("/exportOwnerLoanRunWaterRecord")
public void exportOwnerLoanRunWaterRecord(@RequestBody @Validated PageOwnerLoanRunWaterRecordParam param, HttpServletResponse response) throws Exception {
List<OwnerLoanAccountRunWaterRecordDTO> list = ownerLoanAccountRunningWaterRecordService.exportOwnerLoanRunWaterRecord(param);
response.setHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_OCTET_STREAM_VALUE);
EasyExcel.write(response.getOutputStream(), OwnerLoanAccountRunWaterRecordDTO.class).sheet().doWrite(list);
}
}
package com.clx.performance.controller.pc.loan.owner;
/**
* @ClassName TestController
* @Description
* @Author kavin
* @Date 2024/1/22 10:34
* @Version 1.0
*/
public class TestController {
}
...@@ -9,6 +9,7 @@ import com.clx.performance.mapper.loan.BorrowerMapper; ...@@ -9,6 +9,7 @@ import com.clx.performance.mapper.loan.BorrowerMapper;
import com.clx.performance.model.loan.Borrower; import com.clx.performance.model.loan.Borrower;
import com.clx.performance.param.pc.loan.carrier.PageBorrowerParam; import com.clx.performance.param.pc.loan.carrier.PageBorrowerParam;
import com.clx.performance.vo.pc.loan.carrier.BorrowerVO; import com.clx.performance.vo.pc.loan.carrier.BorrowerVO;
import com.clx.performance.vo.pc.loan.owner.BorrowerSelectVO;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import com.msl.common.dao.impl.BaseDaoImpl; import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
...@@ -89,4 +90,8 @@ public class BorrowerDaoImpl extends BaseDaoImpl<BorrowerMapper, Borrower, Integ ...@@ -89,4 +90,8 @@ public class BorrowerDaoImpl extends BaseDaoImpl<BorrowerMapper, Borrower, Integ
} }
@Override
public List<BorrowerSelectVO> selectAllBorrowConfig() {
return baseMapper.selectAllBorrowConfig();
}
} }
package com.clx.performance.dao.impl.loan; package com.clx.performance.dao.impl.loan;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
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.loan.OwnerLoanAccountRunningWaterRecordDao; import com.clx.performance.dao.loan.OwnerLoanAccountRunningWaterRecordDao;
import com.clx.performance.mapper.loan.OwnerLoanAccountRunningWaterRecordMapper; import com.clx.performance.mapper.loan.OwnerLoanAccountRunningWaterRecordMapper;
import com.clx.performance.model.loan.OwnerLoanAccountRunningWaterRecord; import com.clx.performance.model.loan.OwnerLoanAccountRunningWaterRecord;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountWaterRecordOfOwnerParam; import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountWaterRecordOfOwnerParam;
import com.clx.performance.param.pc.loan.owner.PageOwnerLoanRunWaterRecordParam;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountRunningWaterRecordVO; import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountRunningWaterRecordVO;
import com.msl.common.dao.impl.BaseDaoImpl; import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import java.util.List;
import java.util.Objects;
/** /**
* @author kavin * @author kavin
* Date 2024-01-20 * Date 2024-01-20
...@@ -24,4 +30,51 @@ public class OwnerLoanAccountRunningWaterRecordDaoImpl extends BaseDaoImpl<Owner ...@@ -24,4 +30,51 @@ public class OwnerLoanAccountRunningWaterRecordDaoImpl extends BaseDaoImpl<Owner
return baseMapper.pageByParam(page,param); return baseMapper.pageByParam(page,param);
} }
@Override
public IPage<OwnerLoanAccountRunningWaterRecord> pageOwnerLoanRunWaterRecord(Long userNo,
PageOwnerLoanRunWaterRecordParam param) {
LambdaQueryWrapper<OwnerLoanAccountRunningWaterRecord> query = new LambdaQueryWrapper<>();
query.eq(OwnerLoanAccountRunningWaterRecord :: getOwnerUserNo,userNo);
if(StringUtils.isNotBlank(param.getChildNo())){
query.eq(OwnerLoanAccountRunningWaterRecord :: getChildNo,param.getChildNo());
}
if(Objects.nonNull(param.getRunningWaterNo())){
query.eq(OwnerLoanAccountRunningWaterRecord :: getRunningWaterNo,param.getRunningWaterNo());
}
if(Objects.nonNull(param.getRunningWaterType())){
query.eq(OwnerLoanAccountRunningWaterRecord :: getRunningWaterType,param.getRunningWaterType());
}
if(Objects.nonNull(param.getBeginTime())){
query.ge(OwnerLoanAccountRunningWaterRecord :: getModifiedTime,param.getEndTime());
}
if(StringUtils.isNotBlank(param.getEndTime())){
query.le(OwnerLoanAccountRunningWaterRecord :: getModifiedTime,param.getEndTime());
}
query.orderByDesc(OwnerLoanAccountRunningWaterRecord :: getModifiedTime);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query);
}
@Override
public List<OwnerLoanAccountRunningWaterRecord> listOwnerLoanRunWaterRecord(Long userNo,
PageOwnerLoanRunWaterRecordParam param) {
LambdaQueryWrapper<OwnerLoanAccountRunningWaterRecord> query = new LambdaQueryWrapper<>();
query.eq(OwnerLoanAccountRunningWaterRecord :: getOwnerUserNo,userNo);
if(StringUtils.isNotBlank(param.getChildNo())){
query.eq(OwnerLoanAccountRunningWaterRecord :: getChildNo,param.getChildNo());
}
if(Objects.nonNull(param.getRunningWaterNo())){
query.eq(OwnerLoanAccountRunningWaterRecord :: getRunningWaterNo,param.getRunningWaterNo());
}
if(Objects.nonNull(param.getRunningWaterType())){
query.eq(OwnerLoanAccountRunningWaterRecord :: getRunningWaterType,param.getRunningWaterType());
}
if(Objects.nonNull(param.getBeginTime())){
query.ge(OwnerLoanAccountRunningWaterRecord :: getModifiedTime,param.getEndTime());
}
if(StringUtils.isNotBlank(param.getEndTime())){
query.le(OwnerLoanAccountRunningWaterRecord :: getModifiedTime,param.getEndTime());
}
query.orderByDesc(OwnerLoanAccountRunningWaterRecord :: getModifiedTime);
return baseMapper.selectList(query);
}
} }
...@@ -6,6 +6,7 @@ import com.clx.performance.mapper.loan.BorrowerMapper; ...@@ -6,6 +6,7 @@ import com.clx.performance.mapper.loan.BorrowerMapper;
import com.clx.performance.model.loan.Borrower; import com.clx.performance.model.loan.Borrower;
import com.clx.performance.param.pc.loan.carrier.PageBorrowerParam; import com.clx.performance.param.pc.loan.carrier.PageBorrowerParam;
import com.clx.performance.vo.pc.loan.carrier.BorrowerVO; import com.clx.performance.vo.pc.loan.carrier.BorrowerVO;
import com.clx.performance.vo.pc.loan.owner.BorrowerSelectVO;
import com.msl.common.base.Optional; import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao; import com.msl.common.dao.BaseDao;
...@@ -28,4 +29,5 @@ public interface BorrowerDao extends BaseDao<BorrowerMapper, Borrower, Integer> ...@@ -28,4 +29,5 @@ public interface BorrowerDao extends BaseDao<BorrowerMapper, Borrower, Integer>
IPage<BorrowerVO> pageByParam(PageBorrowerParam param); IPage<BorrowerVO> pageByParam(PageBorrowerParam param);
List<BorrowerSelectVO> selectAllBorrowConfig();
} }
...@@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -4,9 +4,12 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.loan.OwnerLoanAccountRunningWaterRecordMapper; import com.clx.performance.mapper.loan.OwnerLoanAccountRunningWaterRecordMapper;
import com.clx.performance.model.loan.OwnerLoanAccountRunningWaterRecord; import com.clx.performance.model.loan.OwnerLoanAccountRunningWaterRecord;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountWaterRecordOfOwnerParam; import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountWaterRecordOfOwnerParam;
import com.clx.performance.param.pc.loan.owner.PageOwnerLoanRunWaterRecordParam;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountRunningWaterRecordVO; import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountRunningWaterRecordVO;
import com.msl.common.dao.BaseDao; import com.msl.common.dao.BaseDao;
import java.util.List;
/** /**
* @author kavin * @author kavin
* Date 2024-01-20 * Date 2024-01-20
...@@ -16,4 +19,7 @@ public interface OwnerLoanAccountRunningWaterRecordDao extends BaseDao<OwnerLoan ...@@ -16,4 +19,7 @@ public interface OwnerLoanAccountRunningWaterRecordDao extends BaseDao<OwnerLoan
IPage<OwnerLoanAccountRunningWaterRecordVO> pageByParam(PageOwnerLoanAccountWaterRecordOfOwnerParam param); IPage<OwnerLoanAccountRunningWaterRecordVO> pageByParam(PageOwnerLoanAccountWaterRecordOfOwnerParam param);
IPage<OwnerLoanAccountRunningWaterRecord> pageOwnerLoanRunWaterRecord(Long userNo, PageOwnerLoanRunWaterRecordParam param);
List<OwnerLoanAccountRunningWaterRecord> listOwnerLoanRunWaterRecord(Long userNo, PageOwnerLoanRunWaterRecordParam param);
} }
package com.clx.performance.dto;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* @ClassName OwnerLoanAccountRunWaterRecordDTO
* @Description
* @Author kavin
* @Date 2024/1/23 14:05
* @Version 1.0
*/
@Getter
@Setter
public class OwnerLoanAccountRunWaterRecordDTO {
@ExcelProperty("货主编码")
private String ownerUserNo;
@ExcelProperty("货主名称")
private String ownerUserName;
@ExcelProperty("联系电话")
private String mobile;
@ExcelProperty("流水号")
private Long runningWaterNo;
@ExcelProperty("借款单号")
private Long loanNo;
@ExcelProperty("运单编号")
private String childNo;
private Integer runningWaterType;
@ExcelProperty("流水类型")
private String runningWaterTypeMsg;
@ExcelProperty("金额")
private BigDecimal alterationBalance;
@ExcelProperty("账户余额")
private BigDecimal accountBalance;
@ExcelProperty("操作人")
private String createBy;
@ExcelProperty("操作时间")
private LocalDateTime createTime;
}
...@@ -7,10 +7,13 @@ import com.clx.performance.model.loan.Borrower; ...@@ -7,10 +7,13 @@ import com.clx.performance.model.loan.Borrower;
import com.clx.performance.param.pc.loan.carrier.PageBorrowerParam; import com.clx.performance.param.pc.loan.carrier.PageBorrowerParam;
import com.clx.performance.sqlProvider.borrower.BorrowerSqlProvider; import com.clx.performance.sqlProvider.borrower.BorrowerSqlProvider;
import com.clx.performance.vo.pc.loan.carrier.BorrowerVO; import com.clx.performance.vo.pc.loan.carrier.BorrowerVO;
import com.clx.performance.vo.pc.loan.owner.BorrowerSelectVO;
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 java.util.List;
/** /**
* @Author: aiqinguo * @Author: aiqinguo
* @Description: 借出方 * @Description: 借出方
...@@ -27,4 +30,7 @@ public interface BorrowerMapper extends BaseMapper<Borrower> { ...@@ -27,4 +30,7 @@ public interface BorrowerMapper extends BaseMapper<Borrower> {
@SelectProvider(type = BorrowerSqlProvider.class, method = "pageByParam") @SelectProvider(type = BorrowerSqlProvider.class, method = "pageByParam")
IPage<BorrowerVO> pageByParam(@Param("page") Page<BorrowerVO> page, @Param("param") PageBorrowerParam param); IPage<BorrowerVO> pageByParam(@Param("page") Page<BorrowerVO> page, @Param("param") PageBorrowerParam param);
@SelectProvider(type = BorrowerSqlProvider.class, method = "selectAllBorrowConfig")
List<BorrowerSelectVO> selectAllBorrowConfig();
} }
\ No newline at end of file
...@@ -28,7 +28,7 @@ public class BorrowerConfig implements HasKey<Integer> { ...@@ -28,7 +28,7 @@ public class BorrowerConfig implements HasKey<Integer> {
private Integer id; //id private Integer id; //id
private Integer borrowerId; //借出方id private Integer borrowerId; //借出方id
private String borrowerName; //借出方 private String borrowerName; //借出方
private Integer type; //类型:1资金 2虚拟货币 private Integer type; //类型:1虚拟货币 2 资金
private Integer day; //借款天数 private Integer day; //借款天数
private Integer deleteStatus; //删除状态: 0-否;1-是 private Integer deleteStatus; //删除状态: 0-否;1-是
private Integer status; //状态:1启用 2禁用 private Integer status; //状态:1启用 2禁用
......
package com.clx.performance.model.loan; package com.clx.performance.model.loan;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn; import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey; import com.msl.common.model.HasKey;
...@@ -8,11 +11,9 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -8,11 +11,9 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; import lombok.Setter;
import lombok.experimental.Accessors; import lombok.experimental.Accessors;
import java.math.BigDecimal; import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.io.Serializable;
/** /**
* @author kavin * @author kavin
...@@ -28,46 +29,57 @@ public class OwnerLoanAccountRunningWaterRecord implements HasKey<Integer> { ...@@ -28,46 +29,57 @@ public class OwnerLoanAccountRunningWaterRecord implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO) @TableId(value = "id", type = IdType.AUTO)
private Integer id; private Integer id;
@ExcelProperty("货主编码")
@TableField("owner_user_no") @TableField("owner_user_no")
@ApiModelProperty("货主编码") @ApiModelProperty("货主编码")
private Long ownerUserNo; private Long ownerUserNo;
@ExcelProperty("货主名称")
@TableField("owner_user_name") @TableField("owner_user_name")
@ApiModelProperty("货主名称") @ApiModelProperty("货主名称")
private String ownerUserName; private String ownerUserName;
@ExcelProperty("联系电话")
@TableField("mobile") @TableField("mobile")
@ApiModelProperty("联系电话") @ApiModelProperty("联系电话")
private String mobile; private String mobile;
@ExcelProperty("流水号")
@TableField("running_water_no") @TableField("running_water_no")
@ApiModelProperty("流水号") @ApiModelProperty("流水号")
private Long runningWaterNo; private Long runningWaterNo;
@ExcelProperty("借款单号")
@TableField("loan_no") @TableField("loan_no")
@ApiModelProperty("借款单号") @ApiModelProperty("借款单号")
private Long loanNo; private Long loanNo;
@ExcelProperty("运单编号")
@TableField("child_no") @TableField("child_no")
@ApiModelProperty("运单编号") @ApiModelProperty("运单编号")
private String childNo; private String childNo;
@ExcelProperty("流水类型")
@TableField("running_water_type") @TableField("running_water_type")
@ApiModelProperty("流水类型 70:运单核销 80:借款") @ApiModelProperty("流水类型 70:运单核销 80:借款")
private Integer runningWaterType; private Integer runningWaterType;
@ExcelProperty("金额")
@TableField("alteration_balance") @TableField("alteration_balance")
@ApiModelProperty("金额") @ApiModelProperty("金额")
private BigDecimal alterationBalance; private BigDecimal alterationBalance;
@ExcelProperty("账户余额")
@TableField("account_balance") @TableField("account_balance")
@ApiModelProperty("账户余额") @ApiModelProperty("账户余额")
private BigDecimal accountBalance; private BigDecimal accountBalance;
@ExcelProperty("操作人")
@TableField("create_by") @TableField("create_by")
@ApiModelProperty("创建人") @ApiModelProperty("创建人")
private String createBy; private String createBy;
@ExcelProperty("操作时间")
@TableField("create_time") @TableField("create_time")
@ApiModelProperty("创建时间") @ApiModelProperty("创建时间")
private LocalDateTime createTime; private LocalDateTime createTime;
......
...@@ -3,6 +3,7 @@ package com.clx.performance.service.impl.loan; ...@@ -3,6 +3,7 @@ package com.clx.performance.service.impl.loan;
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.loan.OwnerLoanAccountApproveDao; import com.clx.performance.dao.loan.OwnerLoanAccountApproveDao;
import com.clx.performance.enums.loan.OwnerLoanAccountApproveEnum;
import com.clx.performance.model.loan.OwnerLoanAccountApprove; import com.clx.performance.model.loan.OwnerLoanAccountApprove;
import com.clx.performance.param.pc.loan.carrier.OwnerLoanAccountApproveParam; import com.clx.performance.param.pc.loan.carrier.OwnerLoanAccountApproveParam;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountApproveParam; import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountApproveParam;
...@@ -66,12 +67,12 @@ public class OwnerLoanAccountApproveServiceImpl implements OwnerLoanAccountAppr ...@@ -66,12 +67,12 @@ public class OwnerLoanAccountApproveServiceImpl implements OwnerLoanAccountAppr
entity.setId(param.getId()); entity.setId(param.getId());
if (status) { if (status) {
//审批通过 //审批通过
entity.setStatus(10); entity.setStatus(OwnerLoanAccountApproveEnum.Status.APPROVE_PASS.getCode());
ownerLoanAccountApproveDao.updateEntityByKey(entity); ownerLoanAccountApproveDao.updateEntityByKey(entity);
ownerLoanAccountService.openOwnerLoanAccount(entity.getOwnerUserNo(), entity.getOwnerUserName(), entity.getMobile()); ownerLoanAccountService.openOwnerLoanAccount(entity.getOwnerUserNo(), entity.getOwnerUserName(), entity.getMobile());
} else { } else {
//审批拒绝 //审批拒绝
entity.setStatus(20); entity.setStatus(OwnerLoanAccountApproveEnum.Status.APPROVE_REFUSE.getCode());
entity.setRejectReason(param.getRejectReason()); entity.setRejectReason(param.getRejectReason());
ownerLoanAccountApproveDao.updateEntityByKey(entity); ownerLoanAccountApproveDao.updateEntityByKey(entity);
} }
......
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.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.loan.OwnerLoanAccountRunningWaterRecordDao; import com.clx.performance.dao.loan.OwnerLoanAccountRunningWaterRecordDao;
import com.clx.performance.dto.OwnerLoanAccountRunWaterRecordDTO;
import com.clx.performance.model.loan.OwnerLoanAccountRunningWaterRecord;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountWaterRecordOfOwnerParam; import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountWaterRecordOfOwnerParam;
import com.clx.performance.param.pc.loan.owner.PageOwnerLoanRunWaterRecordParam;
import com.clx.performance.service.loan.OwnerLoanAccountRunningWaterRecordService; import com.clx.performance.service.loan.OwnerLoanAccountRunningWaterRecordService;
import com.clx.performance.struct.loan.OwnerLoanAccountRunningWaterRecordStruct;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountRunningWaterRecordVO; import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountRunningWaterRecordVO;
import com.clx.performance.vo.pc.loan.owner.OwnerLoanRunWaterRecordVO;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @author kavin * @author kavin
* Date 2024-01-20 * Date 2024-01-20
...@@ -16,10 +26,12 @@ import org.springframework.stereotype.Service; ...@@ -16,10 +26,12 @@ import org.springframework.stereotype.Service;
*/ */
@Service @Service
@Slf4j @Slf4j
@AllArgsConstructor
public class OwnerLoanAccountRunningWaterRecordServiceImpl implements OwnerLoanAccountRunningWaterRecordService { public class OwnerLoanAccountRunningWaterRecordServiceImpl implements OwnerLoanAccountRunningWaterRecordService {
@Autowired
private OwnerLoanAccountRunningWaterRecordDao ownerLoanAccountRunningWaterRecordDao; private final OwnerLoanAccountRunningWaterRecordDao ownerLoanAccountRunningWaterRecordDao;
private final OwnerLoanAccountRunningWaterRecordStruct ownerLoanAccountRunningWaterRecordStruct;
@Override @Override
public IPage<OwnerLoanAccountRunningWaterRecordVO> pageOwnerLoanAccountWaterOfOwner(PageOwnerLoanAccountWaterRecordOfOwnerParam param) { public IPage<OwnerLoanAccountRunningWaterRecordVO> pageOwnerLoanAccountWaterOfOwner(PageOwnerLoanAccountWaterRecordOfOwnerParam param) {
...@@ -27,4 +39,23 @@ public class OwnerLoanAccountRunningWaterRecordServiceImpl implements OwnerLoan ...@@ -27,4 +39,23 @@ public class OwnerLoanAccountRunningWaterRecordServiceImpl implements OwnerLoan
} }
@Override
public IPage<OwnerLoanRunWaterRecordVO> pageOwnerLoanRunWaterRecord(PageOwnerLoanRunWaterRecordParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
IPage<OwnerLoanAccountRunningWaterRecord> page = ownerLoanAccountRunningWaterRecordDao.pageOwnerLoanRunWaterRecord(loginUserInfo.getUserNo(),param);
List<OwnerLoanRunWaterRecordVO> records = ownerLoanAccountRunningWaterRecordStruct.convertList(page.getRecords());
IPage<OwnerLoanRunWaterRecordVO> returnPage = new Page<>();
returnPage.setPages(page.getPages());
returnPage.setTotal(page.getTotal());
returnPage.setRecords(records);
return returnPage;
}
@Override
public List<OwnerLoanAccountRunWaterRecordDTO> exportOwnerLoanRunWaterRecord(PageOwnerLoanRunWaterRecordParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
List<OwnerLoanAccountRunningWaterRecord> list = ownerLoanAccountRunningWaterRecordDao.listOwnerLoanRunWaterRecord(loginUserInfo.getUserNo(),param);
return ownerLoanAccountRunningWaterRecordStruct.convertDTOList(
list);
}
} }
...@@ -2,10 +2,14 @@ package com.clx.performance.service.impl.loan; ...@@ -2,10 +2,14 @@ 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.OwnerLoanAccountDao; import com.clx.performance.dao.loan.OwnerLoanAccountDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.loan.OwnerLoanAccount; import com.clx.performance.model.loan.OwnerLoanAccount;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountParam; import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountParam;
import com.clx.performance.service.loan.OwnerLoanAccountService; import com.clx.performance.service.loan.OwnerLoanAccountService;
import com.clx.performance.struct.loan.OwnerLoanAccountStruct;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountVO; import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountVO;
import com.msl.user.data.UserSessionData;
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;
...@@ -25,6 +29,8 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService { ...@@ -25,6 +29,8 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService {
private final OwnerLoanAccountDao ownerLoanAccountDao; private final OwnerLoanAccountDao ownerLoanAccountDao;
private final OwnerLoanAccountStruct ownerLoanAccountStruct;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void openOwnerLoanAccount(Long ownerUserNo, String ownerUserName, String mobile) { public void openOwnerLoanAccount(Long ownerUserNo, String ownerUserName, String mobile) {
...@@ -44,4 +50,11 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService { ...@@ -44,4 +50,11 @@ public class OwnerLoanAccountServiceImpl implements OwnerLoanAccountService {
return ownerLoanAccountDao.pageByParam(param); return ownerLoanAccountDao.pageByParam(param);
} }
@Override
public OwnerLoanAccountVO getOwnerLoanAccount() {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
OwnerLoanAccount ownerLoanAccount = ownerLoanAccountDao.getOneByField(OwnerLoanAccount :: getOwnerUserNo,loginUserInfo.getUserNo()).orElseThrow(
PerformanceResultEnum.DATA_NOT_FIND);
return ownerLoanAccountStruct.convertVO(ownerLoanAccount);
}
} }
...@@ -3,7 +3,9 @@ package com.clx.performance.service.impl.loan; ...@@ -3,7 +3,9 @@ package com.clx.performance.service.impl.loan;
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.component.IdGenerateSnowFlake; import com.clx.performance.component.IdGenerateSnowFlake;
import com.clx.performance.config.loan.ClxPayeeConfig;
import com.clx.performance.dao.OwnerBindCardRecordDao; import com.clx.performance.dao.OwnerBindCardRecordDao;
import com.clx.performance.dao.loan.BorrowerDao;
import com.clx.performance.dao.loan.OwnerLoanAccountDao; import com.clx.performance.dao.loan.OwnerLoanAccountDao;
import com.clx.performance.dao.loan.OwnerLoanAccountRunningWaterRecordDao; import com.clx.performance.dao.loan.OwnerLoanAccountRunningWaterRecordDao;
import com.clx.performance.dao.loan.OwnerLoanRecordDao; import com.clx.performance.dao.loan.OwnerLoanRecordDao;
...@@ -24,7 +26,15 @@ import com.clx.performance.service.loan.OwnerLoanRecordService; ...@@ -24,7 +26,15 @@ import com.clx.performance.service.loan.OwnerLoanRecordService;
import com.clx.performance.service.thirdparty.nbbank.NbBankService; import com.clx.performance.service.thirdparty.nbbank.NbBankService;
import com.clx.performance.struct.loan.OwnerLoanRecordStruct; import com.clx.performance.struct.loan.OwnerLoanRecordStruct;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO; import com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO;
import com.clx.performance.vo.pc.loan.carrier.PayeeVO;
import com.clx.performance.vo.pc.loan.owner.BorrowerSelectVO;
import com.clx.performance.vo.pc.loan.owner.OwnerLoanRecordDetail;
import com.clx.performance.vo.pc.nbbank.NbBankOrderPayResultVO; import com.clx.performance.vo.pc.nbbank.NbBankOrderPayResultVO;
import com.clx.user.feign.OwnerFeign;
import com.clx.user.vo.feign.OwnerInfoFeignVO;
import com.msl.common.base.Optional;
import com.msl.common.enums.ResultCodeEnum;
import com.msl.common.result.Result;
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;
...@@ -34,7 +44,8 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -34,7 +44,8 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.List; import java.util.*;
import java.util.stream.Collectors;
/** /**
* @author kavin * @author kavin
...@@ -62,6 +73,10 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -62,6 +73,10 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
private final OwnerLoanAccountRunningWaterRecordDao ownerLoanAccountRunningWaterRecordDao; private final OwnerLoanAccountRunningWaterRecordDao ownerLoanAccountRunningWaterRecordDao;
private final BorrowerDao borrowerDao;
private final OwnerFeign ownerFeign;
@Override @Override
public IPage<OwnerLoanRecordVO> pageOwnerLoanRecord(PageCarrierOwnerLoanRecordParam param) { public IPage<OwnerLoanRecordVO> pageOwnerLoanRecord(PageCarrierOwnerLoanRecordParam param) {
IPage<OwnerLoanRecord> page = ownerLoanRecordDao.pageOwnerLoanRecord(param); IPage<OwnerLoanRecord> page = ownerLoanRecordDao.pageOwnerLoanRecord(param);
...@@ -203,4 +218,36 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService { ...@@ -203,4 +218,36 @@ public class OwnerLoanRecordServiceImpl implements OwnerLoanRecordService {
ownerRepayment.setStatus(OwnerRePaymentEnum.Status.PAY_WAIT.getCode()); ownerRepayment.setStatus(OwnerRePaymentEnum.Status.PAY_WAIT.getCode());
ownerRepaymentDao.saveEntity(ownerRepayment); ownerRepaymentDao.saveEntity(ownerRepayment);
} }
@Override
public OwnerLoanRecordDetail getOwnerLoanRecordDetail() {
List<BorrowerSelectVO> borrowerList = borrowerDao.selectAllBorrowConfig();
Map<String,BorrowerSelectVO> map = new TreeMap<>();
for (BorrowerSelectVO item : borrowerList) {
if(map.containsKey(item.getName())){
if(Objects.equals(item.getType(),OwnerLoanRecordEnum.LoanType.VIRTUAL_CURRENCY.getCode())){
map.put(item.getName(),item);
}
}else{
map.put(item.getName(),item);
}
}
OwnerLoanRecordDetail detail = new OwnerLoanRecordDetail();
//借出方
detail.setBorrowerList(new ArrayList<>(map.values()));
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//企业信息
OwnerInfoFeignVO ownerInfoFeignVO = Optional.ofNullable(ownerFeign.getUserCompany(loginUserInfo.getUserNo())).filter(
Result::succeed).map(Result::getData).orElseThrow(ResultCodeEnum.FAIL);
detail.setCompanyName(ownerInfoFeignVO.getCompanyName());
//借款方
List<PayeeVO> payeeList =ClxPayeeConfig.payeeList.stream().map(
item-> PayeeVO.builder().name(item.getName()).account(item.getAccount()).id(item.getId()).build()
).collect(Collectors.toList());
detail.setPayeeList(payeeList);
return detail;
}
} }
...@@ -559,7 +559,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -559,7 +559,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
recordSave(type recordSave(type
, requestDataJson.getString("merId") , requestDataJson.getString("merId")
, requestDataJson.getString("merSeqNo") , requestDataJson.getString("merSeqNo")
, requestDataJson.getString("merDtTm") , null
, responseDataJson.getString("transSeqNo") , responseDataJson.getString("transSeqNo")
, responseDataJson.getBigDecimal("trxAmt").movePointRight(2).intValue() , responseDataJson.getBigDecimal("trxAmt").movePointRight(2).intValue()
, JSON.toJSONString(request) , JSON.toJSONString(request)
...@@ -641,7 +641,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService { ...@@ -641,7 +641,7 @@ public class NbBankThirdpartyServiceImpl implements NbBankThirdpartyService {
record.setType(type); record.setType(type);
record.setMerId(merId); record.setMerId(merId);
record.setMerSeqNo(merSeqNo); record.setMerSeqNo(merSeqNo);
record.setMerDtTm(LocalDateTimeUtils.parseTime(merDtTm)); record.setMerDtTm(StringUtils.isBlank(merDtTm)? null : LocalDateTimeUtils.parseTime(merDtTm));
record.setTransSeqNo(transSeqNo); record.setTransSeqNo(transSeqNo);
record.setAmount(amount); record.setAmount(amount);
record.setParam(param); record.setParam(param);
......
package com.clx.performance.service.loan; package com.clx.performance.service.loan;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.dto.OwnerLoanAccountRunWaterRecordDTO;
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountWaterRecordOfOwnerParam; import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanAccountWaterRecordOfOwnerParam;
import com.clx.performance.param.pc.loan.owner.PageOwnerLoanRunWaterRecordParam;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountRunningWaterRecordVO; import com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountRunningWaterRecordVO;
import com.clx.performance.vo.pc.loan.owner.OwnerLoanRunWaterRecordVO;
import java.util.List;
/** /**
* @author kavin * @author kavin
...@@ -13,4 +18,7 @@ public interface OwnerLoanAccountRunningWaterRecordService { ...@@ -13,4 +18,7 @@ public interface OwnerLoanAccountRunningWaterRecordService {
IPage<OwnerLoanAccountRunningWaterRecordVO> pageOwnerLoanAccountWaterOfOwner(PageOwnerLoanAccountWaterRecordOfOwnerParam param); IPage<OwnerLoanAccountRunningWaterRecordVO> pageOwnerLoanAccountWaterOfOwner(PageOwnerLoanAccountWaterRecordOfOwnerParam param);
IPage<OwnerLoanRunWaterRecordVO> pageOwnerLoanRunWaterRecord(PageOwnerLoanRunWaterRecordParam param);
List<OwnerLoanAccountRunWaterRecordDTO> exportOwnerLoanRunWaterRecord(PageOwnerLoanRunWaterRecordParam param);
} }
...@@ -15,4 +15,5 @@ public interface OwnerLoanAccountService { ...@@ -15,4 +15,5 @@ public interface OwnerLoanAccountService {
IPage<OwnerLoanAccountVO> pageOwnerLoanAccount(PageOwnerLoanAccountParam param); IPage<OwnerLoanAccountVO> pageOwnerLoanAccount(PageOwnerLoanAccountParam param);
OwnerLoanAccountVO getOwnerLoanAccount();
} }
...@@ -6,6 +6,7 @@ import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerLoanRecordParam ...@@ -6,6 +6,7 @@ import com.clx.performance.param.pc.loan.carrier.PageCarrierOwnerLoanRecordParam
import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanRecordOfOwner; import com.clx.performance.param.pc.loan.carrier.PageOwnerLoanRecordOfOwner;
import com.clx.performance.param.pc.loan.owner.OwnerLoanRecordParam; import com.clx.performance.param.pc.loan.owner.OwnerLoanRecordParam;
import com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO; import com.clx.performance.vo.pc.loan.carrier.OwnerLoanRecordVO;
import com.clx.performance.vo.pc.loan.owner.OwnerLoanRecordDetail;
/** /**
* @author kavin * @author kavin
...@@ -21,4 +22,5 @@ public interface OwnerLoanRecordService { ...@@ -21,4 +22,5 @@ public interface OwnerLoanRecordService {
IPage<OwnerLoanRecordVO> pageOwnerLoanRecordOfOwner(PageOwnerLoanRecordOfOwner param); IPage<OwnerLoanRecordVO> pageOwnerLoanRecordOfOwner(PageOwnerLoanRecordOfOwner param);
OwnerLoanRecordDetail getOwnerLoanRecordDetail();
} }
package com.clx.performance.sqlProvider.borrower; package com.clx.performance.sqlProvider.borrower;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.enums.StatusEnum;
import com.clx.performance.param.pc.loan.carrier.PageBorrowerParam; import com.clx.performance.param.pc.loan.carrier.PageBorrowerParam;
import com.clx.performance.vo.pc.loan.carrier.BorrowerVO; import com.clx.performance.vo.pc.loan.carrier.BorrowerVO;
import com.clx.user.enums.DeleteStatusEnum;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.jdbc.SQL; import org.apache.ibatis.jdbc.SQL;
...@@ -28,4 +30,18 @@ public class BorrowerSqlProvider { ...@@ -28,4 +30,18 @@ public class BorrowerSqlProvider {
}}.toString(); }}.toString();
} }
public String selectAllBorrowConfig() {
return new SQL(){{
SELECT(" a.name,a.bank_card_no as bankCardNo,b.type,b.day ");
FROM("borrower a");
WHERE("a.delete_status = " + DeleteStatusEnum.NO.getCode());
WHERE("a.status = " + StatusEnum.YES.getCode());
WHERE("b.delete_status = " + DeleteStatusEnum.NO.getCode());
WHERE("b.status = " + StatusEnum.YES.getCode());
ORDER_BY("create_time desc");
}}.toString();
}
} }
package com.clx.performance.struct.loan;
import com.clx.performance.dto.OwnerLoanAccountRunWaterRecordDTO;
import com.clx.performance.model.loan.OwnerLoanAccountRunningWaterRecord;
import com.clx.performance.vo.pc.loan.owner.OwnerLoanRunWaterRecordVO;
import com.msl.common.utils.DateStructUtil;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import java.util.List;
import java.util.Objects;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {Objects.class})
public interface OwnerLoanAccountRunningWaterRecordStruct {
List<OwnerLoanRunWaterRecordVO> convertList(List<OwnerLoanAccountRunningWaterRecord> list);
@Mapping(target = "runningWaterTypeMsg", source = "java(OwnerLoanAccountRunWaterRecordEnum.RunWaterType.getMsgByCode(record.getRunningWaterType()))")
@Mapping(target = "alterationBalance", expression = "java(Objects.isNull(record.getAlterationBalance())? null : record.getAlterationBalance().movePointLeft(2))")
@Mapping(target = "accountBalance", expression = "java(Objects.isNull(record.getAccountBalance())? null : record.getAccountBalance().movePointLeft(2))")
OwnerLoanAccountRunWaterRecordDTO convertDTO(OwnerLoanAccountRunningWaterRecord record);
List<OwnerLoanAccountRunWaterRecordDTO> convertDTOList(List<OwnerLoanAccountRunningWaterRecord> list);
}
...@@ -13,4 +13,6 @@ public interface OwnerLoanAccountStruct { ...@@ -13,4 +13,6 @@ public interface OwnerLoanAccountStruct {
OwnerLoanAccountVO convert(OwnerLoanAccount account); OwnerLoanAccountVO convert(OwnerLoanAccount account);
com.clx.performance.vo.pc.loan.carrier.OwnerLoanAccountVO convertVO(OwnerLoanAccount account);
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论