From ee1950ffc7d2be6a8ee178e0e5beaec26d995e51 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 08 Jun 2021 15:59:36 +0800
Subject: [PATCH] modify

---
 src/main/java/com/xcong/excoin/modules/otc/vo/TeamVo.java                     |   21 +++++++
 src/main/java/com/xcong/excoin/modules/otc/controller/OtcOrderController.java |   31 ++++++++-
 src/main/resources/mapper/otc/OtcReturnMoneyDao.xml                           |   23 +++++++
 src/main/java/com/xcong/excoin/modules/otc/dto/TeamDto.java                   |   15 +++++
 src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java              |    2 
 src/main/java/com/xcong/excoin/modules/otc/entity/OtcReturnMoney.java         |   22 +++++++
 src/main/java/com/xcong/excoin/rabbit/consumer/OtcConsumer.java               |   13 ++++
 src/main/java/com/xcong/excoin/modules/otc/dao/OtcReturnMoneyDao.java         |   17 +++++
 8 files changed, 138 insertions(+), 6 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/otc/controller/OtcOrderController.java b/src/main/java/com/xcong/excoin/modules/otc/controller/OtcOrderController.java
index 3065e30..125b974 100644
--- a/src/main/java/com/xcong/excoin/modules/otc/controller/OtcOrderController.java
+++ b/src/main/java/com/xcong/excoin/modules/otc/controller/OtcOrderController.java
@@ -2,16 +2,17 @@
 
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.xcong.excoin.common.LoginUserUtils;
 import com.xcong.excoin.common.response.Result;
-import com.xcong.excoin.modules.otc.dto.HasPayDto;
-import com.xcong.excoin.modules.otc.dto.OrderApealDto;
-import com.xcong.excoin.modules.otc.dto.OrderListDto;
-import com.xcong.excoin.modules.otc.dto.OtcOrderAddDto;
+import com.xcong.excoin.modules.member.entity.MemberEntity;
+import com.xcong.excoin.modules.otc.dao.OtcReturnMoneyDao;
+import com.xcong.excoin.modules.otc.dto.*;
 import com.xcong.excoin.modules.otc.service.OtcOrderService;
 import com.xcong.excoin.modules.otc.vo.BuyOrderDetailVo;
 import com.xcong.excoin.modules.otc.vo.OrderListVo;
 import com.xcong.excoin.modules.otc.vo.SaleOrderDetailVo;
-import com.xcong.excoin.utils.RedisUtils;
+import com.xcong.excoin.modules.otc.vo.TeamVo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiResponse;
@@ -22,6 +23,10 @@
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.Map;
+
 @Slf4j
 @Validated
 @RestController
@@ -31,6 +36,7 @@
 public class OtcOrderController {
 
     private final OtcOrderService otcOrderService;
+    private final OtcReturnMoneyDao otcReturnMoneyDao;
 
     @ApiOperation(value = "我要购买")
     @PostMapping(value = "/buy")
@@ -98,4 +104,19 @@
     public Result orderApeal(@RequestBody OrderApealDto orderApealDto) {
         return otcOrderService.orderApeal(orderApealDto);
     }
+
+    @ApiOperation(value = "获取我的团队")
+    @PostMapping(value = "/findTeamList")
+    public Result teamList(@RequestBody TeamDto teamDto) {
+        Page<TeamVo> page = new Page<>(teamDto.getPageNum(), teamDto.getPageSize());
+
+        MemberEntity member = LoginUserUtils.getAppLoginUser();
+        IPage<TeamVo> data = otcReturnMoneyDao.selectMyTeamAmountInPage(member.getInviteId(), member.getId(), page);
+        BigDecimal totalAmount = otcReturnMoneyDao.selectTotalAmount(member.getId());
+        Map<String, Object> result = new HashMap<>();
+        result.put("totalCnt", data.getTotal());
+        result.put("totalAmount", totalAmount);
+        result.put("result", data.getRecords());
+        return Result.ok(result);
+    }
 }
diff --git a/src/main/java/com/xcong/excoin/modules/otc/dao/OtcReturnMoneyDao.java b/src/main/java/com/xcong/excoin/modules/otc/dao/OtcReturnMoneyDao.java
new file mode 100644
index 0000000..6315bd5
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/otc/dao/OtcReturnMoneyDao.java
@@ -0,0 +1,17 @@
+package com.xcong.excoin.modules.otc.dao;
+
+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.otc.entity.OtcReturnMoney;
+import com.xcong.excoin.modules.otc.vo.TeamVo;
+import org.apache.ibatis.annotations.Param;
+
+import java.math.BigDecimal;
+
+public interface OtcReturnMoneyDao extends BaseMapper<OtcReturnMoney> {
+
+    IPage<TeamVo> selectMyTeamAmountInPage(String inviteId, Long memberId, Page<TeamVo> page);
+
+    BigDecimal selectTotalAmount(@Param("memberId") Long memberId);
+}
diff --git a/src/main/java/com/xcong/excoin/modules/otc/dto/TeamDto.java b/src/main/java/com/xcong/excoin/modules/otc/dto/TeamDto.java
new file mode 100644
index 0000000..706f74c
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/otc/dto/TeamDto.java
@@ -0,0 +1,15 @@
+package com.xcong.excoin.modules.otc.dto;
+
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class TeamDto {
+
+    @ApiModelProperty(value = "条数", example = "10")
+    private Integer pageSize;
+
+    @ApiModelProperty(value = "页码", example = "1")
+    private Integer pageNum;
+}
diff --git a/src/main/java/com/xcong/excoin/modules/otc/entity/OtcReturnMoney.java b/src/main/java/com/xcong/excoin/modules/otc/entity/OtcReturnMoney.java
new file mode 100644
index 0000000..0bda18b
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/otc/entity/OtcReturnMoney.java
@@ -0,0 +1,22 @@
+package com.xcong.excoin.modules.otc.entity;
+
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.xcong.excoin.common.system.base.BaseEntity;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@TableName("otc_return_money")
+public class OtcReturnMoney extends BaseEntity {
+
+    private String orderNo;
+
+    private Long toMemberId;
+
+    private Long fromMemberId;
+
+    private BigDecimal amount;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/otc/vo/TeamVo.java b/src/main/java/com/xcong/excoin/modules/otc/vo/TeamVo.java
new file mode 100644
index 0000000..6987c8d
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/otc/vo/TeamVo.java
@@ -0,0 +1,21 @@
+package com.xcong.excoin.modules.otc.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@ApiModel(value = "TeamVo", description = "我的团队接口返回参数类")
+public class TeamVo {
+
+    @ApiModelProperty(value = "邀请码")
+    private String inviteId;
+
+    @ApiModelProperty(value = "级别")
+    private int level;
+
+    @ApiModelProperty(value = "金额")
+    private BigDecimal amount;
+}
diff --git a/src/main/java/com/xcong/excoin/rabbit/consumer/OtcConsumer.java b/src/main/java/com/xcong/excoin/rabbit/consumer/OtcConsumer.java
index 1b615a3..3766adb 100644
--- a/src/main/java/com/xcong/excoin/rabbit/consumer/OtcConsumer.java
+++ b/src/main/java/com/xcong/excoin/rabbit/consumer/OtcConsumer.java
@@ -13,9 +13,11 @@
 import com.xcong.excoin.modules.otc.dao.OtcEntrustOrderDao;
 import com.xcong.excoin.modules.otc.dao.OtcMarketBussinessDao;
 import com.xcong.excoin.modules.otc.dao.OtcOrderDao;
+import com.xcong.excoin.modules.otc.dao.OtcReturnMoneyDao;
 import com.xcong.excoin.modules.otc.entity.OtcEntrustOrder;
 import com.xcong.excoin.modules.otc.entity.OtcMarketBussiness;
 import com.xcong.excoin.modules.otc.entity.OtcOrder;
+import com.xcong.excoin.modules.otc.entity.OtcReturnMoney;
 import com.xcong.excoin.utils.LogRecordUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.rabbit.annotation.RabbitListener;
@@ -51,6 +53,9 @@
 
     @Autowired
     private MemberWalletCoinDao memberWalletCoinDao;
+
+    @Autowired
+    private OtcReturnMoneyDao otcReturnMoneyDao;
 
     @RabbitListener(queues = RabbitMqConfig.QUEUE_MARKET_BUSSINESS)
     public void marketBussiness(String content) {
@@ -137,6 +142,14 @@
                 memberWalletCoinDao.updateBlockBalance(wallet.getId(), returnAmount, BigDecimal.ZERO, 0);
 
                 LogRecordUtils.insertMemberAccountMoneyChange(parent.getId(),"订单返利:" + content, returnAmount, "USDT", 1, 1);
+
+                OtcReturnMoney otcReturnMoney = new OtcReturnMoney();
+                otcReturnMoney.setToMemberId(parent.getId());
+                otcReturnMoney.setOrderNo(content);
+                otcReturnMoney.setFromMemberId(member.getId());
+                otcReturnMoney.setAmount(returnAmount);
+                otcReturnMoneyDao.insert(otcReturnMoney);
+
                 isFirst = 0;
             }
         }
diff --git a/src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java b/src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java
index 3afc93a..daa7ede 100644
--- a/src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java
+++ b/src/main/java/com/xcong/excoin/utils/dingtalk/DingTalkUtils.java
@@ -75,7 +75,7 @@
             actionCard.setTitle("异常消息");
             actionCard.setBtnOrientation("0");
             actionCard.setText(StrUtil.format(text, title, msg));
-            actionCard.setSingleURL("http://123.60.45.251/common/getExceptionMsg?id=" + id);
+            actionCard.setSingleURL("http://api.topclouds.cc/common/getExceptionMsg?id=" + id);
             actionCard.setSingleTitle("查询详情");
 
             request.setActionCard(actionCard);
diff --git a/src/main/resources/mapper/otc/OtcReturnMoneyDao.xml b/src/main/resources/mapper/otc/OtcReturnMoneyDao.xml
new file mode 100644
index 0000000..00c49bf
--- /dev/null
+++ b/src/main/resources/mapper/otc/OtcReturnMoneyDao.xml
@@ -0,0 +1,23 @@
+<?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.xcong.excoin.modules.otc.dao.OtcReturnMoneyDao">
+
+    <select id="selectMyTeamAmountInPage" resultType="com.xcong.excoin.modules.otc.vo.TeamVo">
+        select
+            substring(invite_id, -4) inviteId,
+            case when a.referer_id = #{inviteId} then 1
+                 else 2 end level,
+            sum(IFNULL(b.amount, 0)) amount
+        from member a
+                 left join otc_return_money b on b.from_member_id=a.id and b.to_member_id=#{memberId}
+        where find_in_set(#{inviteId}, SUBSTRING_INDEX(referer_ids, ',', 3))
+        group by a.id
+        order by amount desc
+    </select>
+
+    <select id="selectTotalAmount" resultType="java.math.BigDecimal">
+        select IFNULL(sum(amount), 0)
+        from otc_return_money
+        where to_member_id=#{memberId}
+    </select>
+</mapper>
\ No newline at end of file

--
Gitblit v1.9.1