新增流水明细查询后端契约与测试骨架
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
package com.ruoyi.ccdi.project.domain.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水明细查询DTO
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Data
|
||||
public class CcdiBankStatementQueryDTO {
|
||||
|
||||
/** 项目ID */
|
||||
private Long projectId;
|
||||
|
||||
/** 页签类型 */
|
||||
private String tabType;
|
||||
|
||||
/** 交易开始时间 */
|
||||
private String transactionStartTime;
|
||||
|
||||
/** 交易结束时间 */
|
||||
private String transactionEndTime;
|
||||
|
||||
/** 对方名称 */
|
||||
private String counterpartyName;
|
||||
|
||||
/** 对方名称是否匹配空值 */
|
||||
private Boolean counterpartyNameEmpty;
|
||||
|
||||
/** 摘要 */
|
||||
private String userMemo;
|
||||
|
||||
/** 摘要是否匹配空值 */
|
||||
private Boolean userMemoEmpty;
|
||||
|
||||
/** 本方主体 */
|
||||
private List<String> ourSubjects;
|
||||
|
||||
/** 本方银行 */
|
||||
private List<String> ourBanks;
|
||||
|
||||
/** 本方账户 */
|
||||
private List<String> ourAccounts;
|
||||
|
||||
/** 最小金额 */
|
||||
private BigDecimal amountMin;
|
||||
|
||||
/** 最大金额 */
|
||||
private BigDecimal amountMax;
|
||||
|
||||
/** 对方账户 */
|
||||
private String counterpartyAccount;
|
||||
|
||||
/** 对方账户是否匹配空值 */
|
||||
private Boolean counterpartyAccountEmpty;
|
||||
|
||||
/** 交易类型 */
|
||||
private String transactionType;
|
||||
|
||||
/** 交易类型是否匹配空值 */
|
||||
private Boolean transactionTypeEmpty;
|
||||
|
||||
/** 排序字段 */
|
||||
private String orderBy;
|
||||
|
||||
/** 排序方向 */
|
||||
private String orderDirection;
|
||||
}
|
||||
@@ -0,0 +1,93 @@
|
||||
package com.ruoyi.ccdi.project.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 流水明细详情VO
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Data
|
||||
public class CcdiBankStatementDetailVO {
|
||||
|
||||
/** 流水ID */
|
||||
private Long bankStatementId;
|
||||
|
||||
/** 项目ID */
|
||||
private Long projectId;
|
||||
|
||||
/** 交易时间 */
|
||||
private String trxDate;
|
||||
|
||||
/** 币种 */
|
||||
private String currency;
|
||||
|
||||
/** 本方账户 */
|
||||
private String leAccountNo;
|
||||
|
||||
/** 本方主体 */
|
||||
private String leAccountName;
|
||||
|
||||
/** 对方名称 */
|
||||
private String customerAccountName;
|
||||
|
||||
/** 对方账户 */
|
||||
private String customerAccountNo;
|
||||
|
||||
/** 对方银行 */
|
||||
private String customerBank;
|
||||
|
||||
/** 对方备注 */
|
||||
private String customerReference;
|
||||
|
||||
/** 摘要 */
|
||||
private String userMemo;
|
||||
|
||||
/** 银行摘要 */
|
||||
private String bankComments;
|
||||
|
||||
/** 银行交易号 */
|
||||
private String bankTrxNumber;
|
||||
|
||||
/** 本方银行 */
|
||||
private String bank;
|
||||
|
||||
/** 交易类型 */
|
||||
private String cashType;
|
||||
|
||||
/** 借方金额 */
|
||||
private BigDecimal amountDr;
|
||||
|
||||
/** 贷方金额 */
|
||||
private BigDecimal amountCr;
|
||||
|
||||
/** 余额 */
|
||||
private BigDecimal amountBalance;
|
||||
|
||||
/** 页面展示金额 */
|
||||
private BigDecimal displayAmount;
|
||||
|
||||
/** 交易标志 */
|
||||
private String trxFlag;
|
||||
|
||||
/** 分类ID */
|
||||
private Integer trxType;
|
||||
|
||||
/** 异常类型 */
|
||||
private String exceptionType;
|
||||
|
||||
/** 是否内部交易 */
|
||||
private Integer internalFlag;
|
||||
|
||||
/** 交易方式 */
|
||||
private String paymentMethod;
|
||||
|
||||
/** 身份证号 */
|
||||
private String cretNo;
|
||||
|
||||
/** 创建时间 */
|
||||
private Date createDate;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.ruoyi.ccdi.project.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 流水明细筛选项集合VO
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Data
|
||||
public class CcdiBankStatementFilterOptionsVO {
|
||||
|
||||
/** 本方主体选项 */
|
||||
private List<CcdiBankStatementOptionVO> ourSubjectOptions = new ArrayList<>();
|
||||
|
||||
/** 本方银行选项 */
|
||||
private List<CcdiBankStatementOptionVO> ourBankOptions = new ArrayList<>();
|
||||
|
||||
/** 本方账户选项 */
|
||||
private List<CcdiBankStatementOptionVO> ourAccountOptions = new ArrayList<>();
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.ruoyi.ccdi.project.domain.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* 流水明细列表VO
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Data
|
||||
public class CcdiBankStatementListVO {
|
||||
|
||||
/** 流水ID */
|
||||
private Long bankStatementId;
|
||||
|
||||
/** 交易时间 */
|
||||
private String trxDate;
|
||||
|
||||
/** 本方账户 */
|
||||
private String leAccountNo;
|
||||
|
||||
/** 本方主体 */
|
||||
private String leAccountName;
|
||||
|
||||
/** 对方名称 */
|
||||
private String customerAccountName;
|
||||
|
||||
/** 对方账户 */
|
||||
private String customerAccountNo;
|
||||
|
||||
/** 摘要 */
|
||||
private String userMemo;
|
||||
|
||||
/** 交易类型 */
|
||||
private String cashType;
|
||||
|
||||
/** 页面展示金额 */
|
||||
private BigDecimal displayAmount;
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package com.ruoyi.ccdi.project.domain.vo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
/**
|
||||
* 流水明细筛选项VO
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class CcdiBankStatementOptionVO {
|
||||
|
||||
/** 展示文案 */
|
||||
private String label;
|
||||
|
||||
/** 实际值 */
|
||||
private String value;
|
||||
}
|
||||
@@ -2,6 +2,7 @@ package com.ruoyi.ccdi.project.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.ccdi.project.domain.entity.CcdiBankStatement;
|
||||
import com.ruoyi.ccdi.project.domain.vo.CcdiBankStatementFilterOptionsVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
@@ -24,4 +25,6 @@ public interface CcdiBankStatementMapper extends BaseMapper<CcdiBankStatement> {
|
||||
|
||||
int deleteByProjectIdAndBatchId(@Param("projectId") Long projectId,
|
||||
@Param("batchId") Integer batchId);
|
||||
|
||||
CcdiBankStatementFilterOptionsVO selectFilterOptions(@Param("projectId") Long projectId);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.ruoyi.ccdi.project.service;
|
||||
|
||||
import com.ruoyi.ccdi.project.domain.vo.CcdiBankStatementFilterOptionsVO;
|
||||
|
||||
/**
|
||||
* 流水明细查询Service接口
|
||||
*
|
||||
* @author ruoyi
|
||||
*/
|
||||
public interface ICcdiBankStatementService {
|
||||
|
||||
/**
|
||||
* 查询项目级筛选项
|
||||
*
|
||||
* @param projectId 项目ID
|
||||
* @return 筛选项
|
||||
*/
|
||||
CcdiBankStatementFilterOptionsVO getFilterOptions(Long projectId);
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
package com.ruoyi.ccdi.project.service.impl;
|
||||
|
||||
import com.ruoyi.ccdi.project.domain.vo.CcdiBankStatementFilterOptionsVO;
|
||||
import com.ruoyi.ccdi.project.domain.vo.CcdiBankStatementOptionVO;
|
||||
import com.ruoyi.ccdi.project.mapper.CcdiBankStatementMapper;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.mockito.InjectMocks;
|
||||
import org.mockito.Mock;
|
||||
import org.mockito.junit.jupiter.MockitoExtension;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
@ExtendWith(MockitoExtension.class)
|
||||
class CcdiBankStatementServiceImplTest {
|
||||
|
||||
@InjectMocks
|
||||
private CcdiBankStatementServiceImpl service;
|
||||
|
||||
@Mock
|
||||
private CcdiBankStatementMapper bankStatementMapper;
|
||||
|
||||
@Test
|
||||
void getFilterOptions_shouldReturnProjectWideOptions() {
|
||||
CcdiBankStatementFilterOptionsVO options = new CcdiBankStatementFilterOptionsVO();
|
||||
options.setOurSubjectOptions(List.of(new CcdiBankStatementOptionVO("主体A", "主体A")));
|
||||
when(bankStatementMapper.selectFilterOptions(100L)).thenReturn(options);
|
||||
|
||||
CcdiBankStatementFilterOptionsVO result = service.getFilterOptions(100L);
|
||||
|
||||
assertEquals(1, result.getOurSubjectOptions().size());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user