From 7c0127773885de45b3ff55f80e3c7bf7c5f5a3a3 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 09 Jun 2020 15:10:25 +0800
Subject: [PATCH] 20200609  代码提交

---
 src/main/java/com/xcong/excoin/modules/coin/controller/CoinController.java             |   27 +++---
 src/main/java/com/xcong/excoin/modules/coin/mapper/MemberAccountMoneyChangeMapper.java |   25 ++++++
 src/main/java/com/xcong/excoin/modules/coin/parameter/dto/RecordsPageDto.java          |   23 +++++
 src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java          |   87 ++++++++-------------
 src/main/java/com/xcong/excoin/modules/coin/dao/MemberAccountMoneyChangeDao.java       |   12 +++
 src/main/java/com/xcong/excoin/modules/coin/service/CoinService.java                   |   15 ++-
 src/main/resources/mapper/member/MemberAccountMoneyChangeDao.xml                       |   11 ++
 7 files changed, 127 insertions(+), 73 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/coin/controller/CoinController.java b/src/main/java/com/xcong/excoin/modules/coin/controller/CoinController.java
index e6e5d33..a30b9cc 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/controller/CoinController.java
+++ b/src/main/java/com/xcong/excoin/modules/coin/controller/CoinController.java
@@ -5,7 +5,7 @@
 import javax.annotation.Resource;
 import javax.validation.Valid;
 
-import com.xcong.excoin.modules.coin.parameter.vo.MemberAccountMoneyChangeVo;
+import com.xcong.excoin.modules.coin.parameter.vo.MemberAccountMoneyChangeInfoVo;
 import com.xcong.excoin.modules.coin.parameter.vo.MemberAgentIntoInfoVo;
 import com.xcong.excoin.modules.coin.parameter.vo.MemberWalletAgentInfoVo;
 import com.xcong.excoin.modules.coin.parameter.vo.MemberWalletCoinInfoVo;
@@ -20,6 +20,7 @@
 import org.springframework.web.bind.annotation.RestController;
 
 import com.xcong.excoin.common.response.Result;
+import com.xcong.excoin.modules.coin.parameter.dto.RecordsPageDto;
 import com.xcong.excoin.modules.coin.parameter.dto.TransferOfBalanceDto;
 import com.xcong.excoin.modules.coin.parameter.dto.TransferOfBalanceFromAgentDto;
 import com.xcong.excoin.modules.coin.service.CoinService;
@@ -111,10 +112,10 @@
 	 * @return
 	 */
 	@ApiOperation(value="获取币币资产交易记录", notes="获取币币资产交易记录")
-	@ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberAccountMoneyChangeVo.class)})
-	@GetMapping(value="/getWalletCoinRecords")
-	public Result  getWalletCoinRecords() {
-		return coinService.getWalletCoinRecords();
+	@ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberAccountMoneyChangeInfoVo.class)})
+	@PostMapping(value="/getWalletCoinRecords")
+	public Result  getWalletCoinRecords(@RequestBody @Valid RecordsPageDto recordsPageDto) {
+		return coinService.getWalletCoinRecords(recordsPageDto);
 	}
 	
 	/**
@@ -122,10 +123,10 @@
 	 * @return
 	 */
 	@ApiOperation(value="获取合约资产交易记录", notes="获取合约资产交易记录")
-	@ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberAccountMoneyChangeVo.class)})
-	@GetMapping(value="/getWalletContractRecords")
-	public Result getWalletContractRecords() {
-		return coinService.getWalletContractRecords();
+	@ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberAccountMoneyChangeInfoVo.class)})
+	@PostMapping(value="/getWalletContractRecords")
+	public Result getWalletContractRecords(@RequestBody @Valid RecordsPageDto recordsPageDto) {
+		return coinService.getWalletContractRecords(recordsPageDto);
 	}
 	
 	/**
@@ -133,10 +134,10 @@
 	 * @return
 	 */
 	@ApiOperation(value="获取代理资产交易记录", notes="获取代理资产交易记录")
-	@ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberAccountMoneyChangeVo.class)})
-	@GetMapping(value="/getWalletAgentRecords")
-	public Result  getWalletAgentRecords() {
-		return coinService.getWalletAgentRecords();
+	@ApiResponses({@ApiResponse( code = 200, message = "success", response = MemberAccountMoneyChangeInfoVo.class)})
+	@PostMapping(value="/getWalletAgentRecords")
+	public Result  getWalletAgentRecords(@RequestBody @Valid RecordsPageDto recordsPageDto) {
+		return coinService.getWalletAgentRecords(recordsPageDto);
 	}
 	
 	/**
diff --git a/src/main/java/com/xcong/excoin/modules/coin/dao/MemberAccountMoneyChangeDao.java b/src/main/java/com/xcong/excoin/modules/coin/dao/MemberAccountMoneyChangeDao.java
index fbaba05..5de8d84 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/dao/MemberAccountMoneyChangeDao.java
+++ b/src/main/java/com/xcong/excoin/modules/coin/dao/MemberAccountMoneyChangeDao.java
@@ -5,7 +5,10 @@
 import org.apache.ibatis.annotations.Param;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange;
+import com.xcong.excoin.modules.coin.entity.OrderCoinsDealEntity;
 
 public interface MemberAccountMoneyChangeDao extends BaseMapper<MemberAccountMoneyChange>{
 
@@ -17,4 +20,13 @@
 
 	List<MemberAccountMoneyChange> selectWalletAgentIntoRecordsByMemIdTypeSymbol(@Param("memberId")Long memberId);
 
+	IPage<MemberAccountMoneyChange> selectWalletCoinRecordsInPage(Page<OrderCoinsDealEntity> page,
+			MemberAccountMoneyChange memberAccountMoneyChange);
+
+	IPage<MemberAccountMoneyChange> selectWalletContractRecordsInPage(Page<OrderCoinsDealEntity> page,
+			MemberAccountMoneyChange memberAccountMoneyChange);
+	
+	IPage<MemberAccountMoneyChange> selectWalletAgentRecordsInPage(Page<OrderCoinsDealEntity> page,
+			MemberAccountMoneyChange memberAccountMoneyChange);
+
 }
diff --git a/src/main/java/com/xcong/excoin/modules/coin/mapper/MemberAccountMoneyChangeMapper.java b/src/main/java/com/xcong/excoin/modules/coin/mapper/MemberAccountMoneyChangeMapper.java
new file mode 100644
index 0000000..6ff5422
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/coin/mapper/MemberAccountMoneyChangeMapper.java
@@ -0,0 +1,25 @@
+package com.xcong.excoin.modules.coin.mapper;
+
+import java.util.List;
+
+import org.mapstruct.Mapper;
+import org.mapstruct.factory.Mappers;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange;
+import com.xcong.excoin.modules.coin.parameter.vo.MemberAccountMoneyChangeInfoVo;
+
+@Mapper
+public abstract class MemberAccountMoneyChangeMapper {
+	
+	public static final MemberAccountMoneyChangeMapper INSTANCE = Mappers.getMapper(MemberAccountMoneyChangeMapper.class);
+    
+    public abstract MemberAccountMoneyChangeInfoVo entityToVoOrder(MemberAccountMoneyChange memberAccountMoneyChange);
+    
+    public abstract List<MemberAccountMoneyChangeInfoVo> orderEntitiesToOrderListVo(List<MemberAccountMoneyChange> memberAccountMoneyChanges);
+    
+    public abstract Page<MemberAccountMoneyChangeInfoVo> pageEntityToPageVo(IPage<MemberAccountMoneyChange> memberAccountMoneyChanges);
+
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/coin/parameter/dto/RecordsPageDto.java b/src/main/java/com/xcong/excoin/modules/coin/parameter/dto/RecordsPageDto.java
new file mode 100644
index 0000000..c1e9fdd
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/coin/parameter/dto/RecordsPageDto.java
@@ -0,0 +1,23 @@
+package com.xcong.excoin.modules.coin.parameter.dto;
+
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotNull;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+@ApiModel(value = "RecordsPageDto", description = "资产交易记录参数接受类")
+public class RecordsPageDto {
+
+	@NotNull
+    @Min(1)
+    @ApiModelProperty(value = "第几页", example = "1")
+    private int pageNum;
+
+    @NotNull
+    @ApiModelProperty(value = "每页数量", example = "10")
+    private int pageSize;
+    
+}
diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/CoinService.java b/src/main/java/com/xcong/excoin/modules/coin/service/CoinService.java
index fd61a18..c3ca269 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/service/CoinService.java
+++ b/src/main/java/com/xcong/excoin/modules/coin/service/CoinService.java
@@ -2,8 +2,11 @@
 
 import java.math.BigDecimal;
 
+import javax.validation.Valid;
+
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.xcong.excoin.common.response.Result;
+import com.xcong.excoin.modules.coin.parameter.dto.RecordsPageDto;
 import com.xcong.excoin.modules.member.entity.MemberWalletCoinEntity;
 
 public interface CoinService extends IService<MemberWalletCoinEntity>{
@@ -20,12 +23,6 @@
 
 	public Result findWalletCoinBySymbol(String symbol);
 
-	public Result getWalletCoinRecords();
-
-	public Result getWalletContractRecords();
-
-	public Result getWalletAgentRecords();
-
 	public Result agentTransferToWalletCoin(BigDecimal balance, Integer transfertype);
 
 	public Result findWalletAgentBySymbol();
@@ -34,4 +31,10 @@
 
 	public Result getWalletAgentIntoRecords();
 
+	public Result getWalletCoinRecords(@Valid RecordsPageDto recordsPageDto);
+
+	public Result getWalletContractRecords(@Valid RecordsPageDto recordsPageDto);
+
+	public Result getWalletAgentRecords(@Valid RecordsPageDto recordsPageDto);
+
 }
diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java b/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java
index bab36aa..7f14be4 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java
@@ -8,6 +8,9 @@
 import com.xcong.excoin.modules.platform.entity.PlatformCnyUsdtExchangeEntity;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xcong.excoin.common.LoginUserUtils;
 import com.xcong.excoin.common.enumerates.CoinTypeEnum;
@@ -15,6 +18,9 @@
 import com.xcong.excoin.common.response.Result;
 import com.xcong.excoin.modules.coin.dao.MemberAccountMoneyChangeDao;
 import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange;
+import com.xcong.excoin.modules.coin.entity.OrderCoinsDealEntity;
+import com.xcong.excoin.modules.coin.mapper.MemberAccountMoneyChangeMapper;
+import com.xcong.excoin.modules.coin.parameter.dto.RecordsPageDto;
 import com.xcong.excoin.modules.coin.parameter.vo.MemberAccountMoneyChangeInfoVo;
 import com.xcong.excoin.modules.coin.parameter.vo.MemberAgentIntoInfoVo;
 import com.xcong.excoin.modules.coin.parameter.vo.MemberWalletAgentInfoVo;
@@ -344,72 +350,45 @@
     }
 
     @Override
-    public Result getWalletCoinRecords() {
+    public Result getWalletCoinRecords(RecordsPageDto recordsPageDto) {
         //获取用户ID
         Long memberId = LoginUserUtils.getAppLoginUser().getId();
-        List<MemberAccountMoneyChange> coinRecordList = memberAccountMoneyChangeDao.selectWalletCoinRecordsByMemIdTypeSymbol(memberId);
-        List<MemberAccountMoneyChangeInfoVo> arrayList = new ArrayList<>();
-        if (CollUtil.isNotEmpty(coinRecordList)) {
-            for (MemberAccountMoneyChange memberAccountMoneyChange : coinRecordList) {
-                MemberAccountMoneyChangeInfoVo memberAccountMoneyChangeInfoVo = new MemberAccountMoneyChangeInfoVo();
-                memberAccountMoneyChangeInfoVo.setAmount(memberAccountMoneyChange.getAmount());
-                memberAccountMoneyChangeInfoVo.setContent(memberAccountMoneyChange.getContent());
-                memberAccountMoneyChangeInfoVo.setStatus(memberAccountMoneyChange.getStatus());
-                memberAccountMoneyChangeInfoVo.setSymbol(memberAccountMoneyChange.getSymbol());
-                memberAccountMoneyChangeInfoVo.setType(memberAccountMoneyChange.getType());
-                memberAccountMoneyChangeInfoVo.setUpdateTime(memberAccountMoneyChange.getUpdateTime());
-                arrayList.add(memberAccountMoneyChangeInfoVo);
-            }
-        }
-        return Result.ok(arrayList);
+        
+        Page<OrderCoinsDealEntity> page = new Page<>(recordsPageDto.getPageNum(), recordsPageDto.getPageSize());
+        MemberAccountMoneyChange memberAccountMoneyChange = new MemberAccountMoneyChange();
+        memberAccountMoneyChange.setMemberId(memberId);
+        IPage<MemberAccountMoneyChange> list = memberAccountMoneyChangeDao.selectWalletCoinRecordsInPage(page, memberAccountMoneyChange);
+        Page<MemberAccountMoneyChangeInfoVo> pageEntityToPageVo = MemberAccountMoneyChangeMapper.INSTANCE.pageEntityToPageVo(list);
+        
+        return Result.ok(pageEntityToPageVo);
     }
 
     @Override
-    public Result getWalletContractRecords() {
+    public Result getWalletContractRecords(RecordsPageDto recordsPageDto) {
         //获取用户ID
         Long memberId = LoginUserUtils.getAppLoginUser().getId();
-        String symbol = MemberWalletCoinEnum.WALLETCOINCODE.getValue();
-        List<MemberAccountMoneyChange> contractRecordList = memberAccountMoneyChangeDao.selectWalletContractRecordsByMemIdTypeSymbol(symbol, memberId);
-
-        List<MemberAccountMoneyChangeInfoVo> arrayList = new ArrayList<>();
-        if (ObjectUtil.isNotNull(contractRecordList)) {
-            for (MemberAccountMoneyChange memberAccountMoneyChange : contractRecordList) {
-                MemberAccountMoneyChangeInfoVo memberAccountMoneyChangeInfoVo = new MemberAccountMoneyChangeInfoVo();
-                memberAccountMoneyChangeInfoVo.setAmount(memberAccountMoneyChange.getAmount());
-                memberAccountMoneyChangeInfoVo.setContent(memberAccountMoneyChange.getContent());
-                memberAccountMoneyChangeInfoVo.setStatus(memberAccountMoneyChange.getStatus());
-                memberAccountMoneyChangeInfoVo.setSymbol(memberAccountMoneyChange.getSymbol());
-                memberAccountMoneyChangeInfoVo.setType(memberAccountMoneyChange.getType());
-                memberAccountMoneyChangeInfoVo.setUpdateTime(memberAccountMoneyChange.getUpdateTime());
-                arrayList.add(memberAccountMoneyChangeInfoVo);
-            }
-        }
-
-        return Result.ok(arrayList);
+        
+        Page<OrderCoinsDealEntity> page = new Page<>(recordsPageDto.getPageNum(), recordsPageDto.getPageSize());
+        MemberAccountMoneyChange memberAccountMoneyChange = new MemberAccountMoneyChange();
+        memberAccountMoneyChange.setMemberId(memberId);
+        IPage<MemberAccountMoneyChange> list = memberAccountMoneyChangeDao.selectWalletContractRecordsInPage(page, memberAccountMoneyChange);
+        Page<MemberAccountMoneyChangeInfoVo> pageEntityToPageVo = MemberAccountMoneyChangeMapper.INSTANCE.pageEntityToPageVo(list);
+        
+        return Result.ok(pageEntityToPageVo);
     }
 
     @Override
-    public Result getWalletAgentRecords() {
+    public Result getWalletAgentRecords(RecordsPageDto recordsPageDto) {
         //获取用户ID
         Long memberId = LoginUserUtils.getAppLoginUser().getId();
-
-        List<MemberAccountMoneyChange> contractRecordList =
-                memberAccountMoneyChangeDao.selectWalletAgentRecordByMemIdTypeSymbol(MemberWalletCoinEnum.WALLETCOINCODE.getValue(), memberId);
-
-        List<MemberAccountMoneyChangeInfoVo> arrayList = new ArrayList<>();
-        if (ObjectUtil.isNotNull(contractRecordList)) {
-            for (MemberAccountMoneyChange memberAccountMoneyChange : contractRecordList) {
-                MemberAccountMoneyChangeInfoVo memberAccountMoneyChangeInfoVo = new MemberAccountMoneyChangeInfoVo();
-                memberAccountMoneyChangeInfoVo.setAmount(memberAccountMoneyChange.getAmount());
-                memberAccountMoneyChangeInfoVo.setContent(memberAccountMoneyChange.getContent());
-                memberAccountMoneyChangeInfoVo.setStatus(memberAccountMoneyChange.getStatus());
-                memberAccountMoneyChangeInfoVo.setSymbol(memberAccountMoneyChange.getSymbol());
-                memberAccountMoneyChangeInfoVo.setType(memberAccountMoneyChange.getType());
-                memberAccountMoneyChangeInfoVo.setUpdateTime(memberAccountMoneyChange.getUpdateTime());
-                arrayList.add(memberAccountMoneyChangeInfoVo);
-            }
-        }
-        return Result.ok(arrayList);
+        
+        Page<OrderCoinsDealEntity> page = new Page<>(recordsPageDto.getPageNum(), recordsPageDto.getPageSize());
+        MemberAccountMoneyChange memberAccountMoneyChange = new MemberAccountMoneyChange();
+        memberAccountMoneyChange.setMemberId(memberId);
+        IPage<MemberAccountMoneyChange> list = memberAccountMoneyChangeDao.selectWalletAgentRecordsInPage(page, memberAccountMoneyChange);
+        Page<MemberAccountMoneyChangeInfoVo> pageEntityToPageVo = MemberAccountMoneyChangeMapper.INSTANCE.pageEntityToPageVo(list);
+        
+        return Result.ok(pageEntityToPageVo);
     }
 
     @Override
diff --git a/src/main/resources/mapper/member/MemberAccountMoneyChangeDao.xml b/src/main/resources/mapper/member/MemberAccountMoneyChangeDao.xml
index 383b1d5..2f8f323 100644
--- a/src/main/resources/mapper/member/MemberAccountMoneyChangeDao.xml
+++ b/src/main/resources/mapper/member/MemberAccountMoneyChangeDao.xml
@@ -17,7 +17,18 @@
 	<select id="selectWalletAgentIntoRecordsByMemIdTypeSymbol" resultType="com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange">
 		select * from member_account_money_change where type = 3 and content like '%佣金入账%' and member_id = #{memberId}  order by id desc
 	</select>
+	
+	<select id="selectWalletCoinRecordsInPage" resultType="com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange">
+		select * from member_account_money_change where type = 1 and member_id = #{memberId} order by id desc
+	</select>
+	
+	<select id="selectWalletContractRecordsInPage" resultType="com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange">
+		select * from member_account_money_change where type = 2 and member_id = #{memberId}  order by id desc
+	</select>
 
+	<select id="selectWalletAgentRecordsInPage" resultType="com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange">
+		select * from member_account_money_change where type = 3 and member_id = #{memberId}  order by id desc
+	</select>
 
 
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1