From 8e64d903658a8df9eebc873c1c72c68f9b9bda32 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 29 May 2020 20:00:24 +0800
Subject: [PATCH] finish entrust order interface

---
 src/main/java/com/xcong/excoin/modules/contract/parameter/vo/ContractEntrustVo.java               |   35 +++++++++++++++++
 src/main/java/com/xcong/excoin/modules/contract/dao/ContractEntrustOrderDao.java                  |    4 ++
 src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java |    9 +++-
 src/main/java/com/xcong/excoin/modules/contract/controller/ContractEntrustOrderController.java    |    6 +-
 src/main/resources/mapper/contract/ContractEntrustOrderDao.xml                                    |    4 ++
 src/main/resources/logback-spring.xml                                                             |    1 
 src/main/java/com/xcong/excoin/modules/contract/mapper/ContractEntrustOrderEntityMapper.java      |    9 ++++
 7 files changed, 61 insertions(+), 7 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/contract/controller/ContractEntrustOrderController.java b/src/main/java/com/xcong/excoin/modules/contract/controller/ContractEntrustOrderController.java
index c770cbd..59d3b69 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/controller/ContractEntrustOrderController.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/controller/ContractEntrustOrderController.java
@@ -34,7 +34,7 @@
     @ApiOperation(value = "合约提交委托订单", notes = "提交委托订单")
     @PostMapping(value = "/submitEntrustOrder")
     public Result submitEntrustOrder(@RequestBody @Validated SubmitEntrustDto submitEntrustDto) {
-        if (StrUtil.isBlank(SymbolEnum.getNameByValue(submitEntrustDto.getSymbol()))){
+        if (StrUtil.isBlank(SymbolEnum.getNameByValue(submitEntrustDto.getSymbol()))) {
             return Result.fail("非法币种");
         }
 
@@ -48,13 +48,13 @@
     @ApiOperation(value = "获取当前委托单列表", notes = "获取当前委托单列表")
     @GetMapping(value = "/findCurrentEntrustOrderList")
     public Result findCurrentEntrustOrderList() {
-        return null;
+        return contractEntrustOrderService.findEntrustOrderList();
     }
 
 
     @ApiOperation(value = "撤销委托单", notes = "撤销委托单")
     @GetMapping(value = "/cancelEntrustOrder")
-    public Result cancelEntrustOrder(@ApiParam(name = "id", value="委托单ID", required = true, example = "1") @RequestParam("id") Long id) {
+    public Result cancelEntrustOrder(@ApiParam(name = "id", value = "委托单ID", required = true, example = "1") @RequestParam("id") Long id) {
         return contractEntrustOrderService.cancelEntrustOrder(id);
     }
 }
diff --git a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractEntrustOrderDao.java b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractEntrustOrderDao.java
index 0b75eb1..add14cb 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/dao/ContractEntrustOrderDao.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/dao/ContractEntrustOrderDao.java
@@ -4,10 +4,14 @@
 import com.xcong.excoin.modules.contract.entity.ContractEntrustOrderEntity;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 /**
  * @author helius
  */
 public interface ContractEntrustOrderDao extends BaseMapper<ContractEntrustOrderEntity> {
 
     public ContractEntrustOrderEntity selectEntrustOrderByIdAndMemberId(@Param("id") Long id, @Param("memberId") Long memberId);
+
+    public List<ContractEntrustOrderEntity> selectEntrustOrderListByMemberId(@Param("memberId") Long memberId);
 }
diff --git a/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractEntrustOrderEntityMapper.java b/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractEntrustOrderEntityMapper.java
index b432983..bd2d3dc 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractEntrustOrderEntityMapper.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/mapper/ContractEntrustOrderEntityMapper.java
@@ -3,9 +3,12 @@
 import com.xcong.excoin.modules.contract.entity.ContractEntrustOrderEntity;
 import com.xcong.excoin.modules.contract.entity.ContractOrderEntity;
 import com.xcong.excoin.modules.contract.parameter.dto.SubmitEntrustDto;
+import com.xcong.excoin.modules.contract.parameter.vo.ContractEntrustVo;
 import org.mapstruct.Mapper;
 import org.mapstruct.Mapping;
 import org.mapstruct.factory.Mappers;
+
+import java.util.List;
 
 /**
  * @author wzy
@@ -21,4 +24,10 @@
     @Mapping(source = "createTime", target = "entrustTime")
     public abstract ContractOrderEntity entrustOrderToOrder(ContractEntrustOrderEntity orderEntity);
 
+    @Mapping(source = "createTime", target = "entrustTime")
+    @Mapping(source = "entrustType", target = "type")
+    public abstract ContractEntrustVo entityToContractEntrustVo(ContractEntrustOrderEntity orderEntity);
+
+    public abstract List<ContractEntrustVo> entityListToVoList(List<ContractEntrustOrderEntity> list);
+
 }
diff --git a/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/ContractEntrustVo.java b/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/ContractEntrustVo.java
new file mode 100644
index 0000000..ff930c9
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/contract/parameter/vo/ContractEntrustVo.java
@@ -0,0 +1,35 @@
+package com.xcong.excoin.modules.contract.parameter.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * @author wzy
+ * @date 2020-05-29
+ **/
+@Data
+@ApiModel(value = "ContractEntrustVo", description = "合约委托")
+public class ContractEntrustVo {
+
+    @ApiModelProperty(value = "委托单ID")
+    private Long id;
+
+    @ApiModelProperty(value = "委托价")
+    private BigDecimal entrustPrice;
+
+    @ApiModelProperty(value = "委托数量")
+    private int symbolsCnt;
+
+    @ApiModelProperty(value = "保证金")
+    private BigDecimal bondAmount;
+
+    @ApiModelProperty(value = "委托时间")
+    private Date entrustTime;
+
+    @ApiModelProperty(value = "委托类型 1-开多 2-开空")
+    private int type;
+}
diff --git a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java
index c779e95..98bbaa7 100644
--- a/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/contract/service/impl/ContractEntrustOrderServiceImpl.java
@@ -11,6 +11,7 @@
 import com.xcong.excoin.modules.contract.entity.ContractOrderEntity;
 import com.xcong.excoin.modules.contract.mapper.ContractEntrustOrderEntityMapper;
 import com.xcong.excoin.modules.contract.parameter.dto.SubmitEntrustDto;
+import com.xcong.excoin.modules.contract.parameter.vo.ContractEntrustVo;
 import com.xcong.excoin.modules.contract.service.ContractEntrustOrderService;
 import com.xcong.excoin.modules.member.dao.MemberWalletContractDao;
 import com.xcong.excoin.modules.member.entity.MemberEntity;
@@ -24,6 +25,7 @@
 
 import javax.annotation.Resource;
 import java.math.BigDecimal;
+import java.util.List;
 
 /**
  * @author wzy
@@ -120,7 +122,10 @@
 
     @Override
     public Result findEntrustOrderList() {
-        return null;
+        MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
+        List<ContractEntrustOrderEntity> list = contractEntrustOrderDao.selectEntrustOrderListByMemberId(memberEntity.getId());
+        List<ContractEntrustVo> resultList = ContractEntrustOrderEntityMapper.INSTANCE.entityListToVoList(list);
+        return Result.ok(resultList);
     }
 
     @Override
@@ -137,8 +142,6 @@
         MemberWalletContractEntity walletContractEntity = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberEntity.getId(), MemberWalletCoinEnum.WALLETCOINCODE.getValue());
 
         BigDecimal total = entrustOrderEntity.getEntrustAmount().add(entrustOrderEntity.getBondAmount());
-        log.info("{}", total);
-        log.info("{}", walletContractEntity.getAvailableBalance());
         walletContractEntity.setAvailableBalance(walletContractEntity.getAvailableBalance().add(total));
         walletContractEntity.setFrozenBalance(walletContractEntity.getFrozenBalance().subtract(total));
         memberWalletContractDao.updateById(walletContractEntity);
diff --git a/src/main/resources/logback-spring.xml b/src/main/resources/logback-spring.xml
index c7d14c3..63b057d 100644
--- a/src/main/resources/logback-spring.xml
+++ b/src/main/resources/logback-spring.xml
@@ -3,7 +3,6 @@
     <contextName>logback</contextName>
     <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义变量后,可以使“${}”来使用变量。 -->
     <property name="log.path" value="logs" />
-    <statusListener class="ch.qos.logback.core.status.NopStatusListener" />
 
     <!-- 彩色日志 -->
     <!-- 彩色日志依赖的渲染类 -->
diff --git a/src/main/resources/mapper/contract/ContractEntrustOrderDao.xml b/src/main/resources/mapper/contract/ContractEntrustOrderDao.xml
index ecdf398..ede2398 100644
--- a/src/main/resources/mapper/contract/ContractEntrustOrderDao.xml
+++ b/src/main/resources/mapper/contract/ContractEntrustOrderDao.xml
@@ -7,4 +7,8 @@
         where id=#{id} and member_id=#{memberId}
     </select>
 
+    <select id="selectEntrustOrderListByMemberId" resultType="com.xcong.excoin.modules.contract.entity.ContractEntrustOrderEntity">
+        select * from contract_entrust_order
+        where member_id=#{memberId}
+    </select>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1