Explorar el Código

保险箱详细记录分页+筛选查询

kongxiangyang hace 2 meses
padre
commit
42364d991d

+ 15 - 0
crm-manager/src/main/java/com/crm/manager/controller/VaultodyController.java

@@ -5,6 +5,7 @@ import com.crm.rely.backend.core.dto.base.BaseResultDto;
 import com.crm.rely.backend.model.dto.export.TransactionItemExport;
 import com.crm.rely.backend.model.dto.vaultody.vaults.TransactionItemDto;
 import com.crm.rely.backend.model.entity.vaultody.vaults.VaultTransactionsEntity;
+import com.crm.rely.backend.model.entity.vaultody.vaults.VaultTransactionsSearchEntity;
 import com.crm.rely.backend.util.ExportUtil;
 import com.crm.rely.backend.util.FileProcessUtil;
 import com.google.common.collect.Lists;
@@ -54,6 +55,20 @@ public class VaultodyController {
         return vaultodyService.vaultsTransactions(entity);
     }
 
+    /**
+     * 保险箱交易详情分页查询
+     * @param entity
+     * @return
+     * @throws Exception
+     */
+    @PostMapping("/transaction/search/list")
+    public BaseResultDto searchList(@RequestBody VaultTransactionsSearchEntity entity) throws Exception {
+        if (StringUtils.isBlank(entity.getVaultId())) {
+            throw new ServiceException("vault_id_not_null_error");
+        }
+        return vaultodyService.searchList(entity);
+    }
+
     /**
      * 导出保险箱交易记录
      * @param entity

+ 14 - 0
crm-manager/src/main/java/com/crm/manager/dao/mapper/TransactionItemMapper.java

@@ -0,0 +1,14 @@
+package com.crm.manager.dao.mapper;
+
+import com.crm.rely.backend.model.entity.vaultody.vaults.VaultTransactionsSearchEntity;
+import com.crm.rely.backend.model.pojo.table.TransactionItemTable;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.util.List;
+
+@Mapper
+public interface TransactionItemMapper {
+    Integer countList(VaultTransactionsSearchEntity entity);
+
+    List<TransactionItemTable> pageList(VaultTransactionsSearchEntity entity);
+}

+ 3 - 0
crm-manager/src/main/java/com/crm/manager/service/VaultodyService.java

@@ -4,6 +4,7 @@ import com.crm.rely.backend.core.dto.base.BaseResultDto;
 import com.crm.rely.backend.model.dto.vaultody.vaults.TransactionItemDto;
 import com.crm.rely.backend.model.dto.vaultody.vaults.VaultTransaction;
 import com.crm.rely.backend.model.entity.vaultody.vaults.VaultTransactionsEntity;
+import com.crm.rely.backend.model.entity.vaultody.vaults.VaultTransactionsSearchEntity;
 import com.crm.rely.backend.model.pojo.table.TransactionItemTable;
 
 import java.util.List;
@@ -22,4 +23,6 @@ public interface VaultodyService {
     List<TransactionItemTable> finAllByVaultId(String vaultId);
 
     VaultTransaction vaultTransaction(VaultTransactionsEntity entity) throws Exception;
+
+    BaseResultDto searchList(VaultTransactionsSearchEntity entity);
 }

+ 22 - 0
crm-manager/src/main/java/com/crm/manager/service/impl/VaultodyServiceImpl.java

@@ -1,12 +1,15 @@
 package com.crm.manager.service.impl;
 
 import com.alibaba.fastjson2.JSON;
+import com.crm.manager.dao.mapper.TransactionItemMapper;
 import com.crm.manager.repository.TransactionItemRepository;
 import com.crm.manager.service.SysConfigService;
 import com.crm.manager.service.SysVaultodyConfigService;
 import com.crm.manager.service.VaultodyService;
 import com.crm.rely.backend.core.constant.Constants;
 import com.crm.rely.backend.core.dto.base.BaseResultDto;
+import com.crm.rely.backend.core.dto.base.PageDto;
+import com.crm.rely.backend.core.dto.base.ResultWithPagerDto;
 import com.crm.rely.backend.core.exception.ServiceException;
 import com.crm.rely.backend.core.pojo.table.SysConfigTable;
 import com.crm.rely.backend.model.config.VaultodyConfig;
@@ -16,6 +19,7 @@ import com.crm.rely.backend.model.dto.vaultody.vaults.TransactionItemDto;
 import com.crm.rely.backend.model.dto.vaultody.vaults.VaultodyVaultsListDto;
 import com.crm.rely.backend.model.dto.vaultody.vaults.response.*;
 import com.crm.rely.backend.model.entity.vaultody.vaults.VaultTransactionsEntity;
+import com.crm.rely.backend.model.entity.vaultody.vaults.VaultTransactionsSearchEntity;
 import com.crm.rely.backend.model.pojo.table.SysVaultodyConfigTable;
 import com.crm.rely.backend.model.pojo.table.TransactionItemTable;
 import com.crm.rely.backend.util.AESUtil;
@@ -48,6 +52,8 @@ public class VaultodyServiceImpl implements VaultodyService {
     private SysConfigService sysConfigService;
     @Autowired
     private TransactionItemRepository transactionItemRepository;
+    @Autowired
+    private TransactionItemMapper transactionItemMapper;
 
     public static String getSignature(String message, String apiSecret) {
         try {
@@ -349,4 +355,20 @@ public class VaultodyServiceImpl implements VaultodyService {
     public VaultTransaction vaultTransaction(VaultTransactionsEntity entity) throws Exception{
         return (VaultTransaction)vaultsTransactions(entity).getData();
     }
+
+    @Override
+    public BaseResultDto searchList(VaultTransactionsSearchEntity entity) {
+        Integer count = transactionItemMapper.countList(entity);
+        if (count == null || count <= 0) {
+            return ResultWithPagerDto.success(new PageDto(), new ArrayList<>());
+        }
+        PageDto pageDto = PageDto.format(entity, count);
+        List<TransactionItemTable> dtos = transactionItemMapper.pageList(entity);
+
+        if (dtos == null || dtos.size() <= 0) {
+            throw new ServiceException(Constants.SYSTEM_ERROR);
+        }
+
+        return ResultWithPagerDto.success(pageDto, dtos);
+    }
 }

+ 33 - 0
crm-manager/src/main/resources/mapper/TransactionItemMapper.xml

@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.crm.manager.dao.mapper.TransactionItemMapper">
+
+    <sql id="transactionItemWhere">
+        <where>
+            <if test="senderIsVaultAddress != null and senderIsVaultAddress != ''">
+                and ti.`sender_is_vault_address` = #{senderIsVaultAddress}
+            </if>
+            <if test="recipientIsVaultAddress != null and recipientIsVaultAddress != ''">
+                and ti.`recipient_is_vault_address` = #{recipientIsVaultAddress}
+            </if>
+            <if test="status != null and status != ''">
+                and ti.`status` = #{status}
+            </if>
+            <if test="vaultId != null and vaultId != ''">
+                and ti.`vault_id` = #{vaultId}
+            </if>
+        </where>
+    </sql>
+
+    <select id="countList" resultType="java.lang.Integer">
+        select count(*) from transaction_item ti
+        <include refid="transactionItemWhere"/>
+    </select>
+
+    <select id="pageList" resultType="com.crm.rely.backend.model.pojo.table.TransactionItemTable">
+        select * from transaction_item ti
+        <include refid="transactionItemWhere"/>
+    </select>
+</mapper>

+ 27 - 0
crm-model/src/main/java/com/crm/rely/backend/model/entity/vaultody/vaults/VaultTransactionsSearchEntity.java

@@ -0,0 +1,27 @@
+package com.crm.rely.backend.model.entity.vaultody.vaults;
+
+import com.crm.rely.backend.core.entity.base.BaseSearchPageEntity;
+import lombok.Data;
+
+@Data
+public class VaultTransactionsSearchEntity extends BaseSearchPageEntity {
+    /**
+     * 保险箱ID
+     */
+    private String vaultId;
+
+    /**
+     * 交易状态
+     */
+    private String status;
+
+    /**
+     * 发送方是否为保险库地址
+     */
+    private String senderIsVaultAddress;
+
+    /**
+     * 接收方是否为保险库地址
+     */
+    private String recipientIsVaultAddress;
+}