From e360bf659eb753e88cdf3e4c345a7dfbe4be730b Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 14 Jul 2020 16:43:29 +0800
Subject: [PATCH] 20200714  代码提交

---
 src/main/resources/templates/febs/views/modules/member/memberTest.html                      |   10 --
 src/main/java/com/xcong/excoin/modules/trademanage/entity/AgentReturnEntity.java            |   91 ++++++++++++++++++
 src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java |   12 ++
 src/main/resources/mapper/modules/AgentReturnMapper.xml                                     |   29 +++++
 src/main/resources/templates/febs/views/modules/trademanage/agentReturnInfos.html           |   96 +++++++++++++++++++
 src/main/java/com/xcong/excoin/modules/trademanage/controller/TradeManageController.java    |   10 ++
 src/main/java/com/xcong/excoin/modules/trademanage/service/TradeManageService.java          |    3 
 src/main/java/com/xcong/excoin/modules/trademanage/mapper/AgentReturnMapper.java            |   15 +++
 src/main/resources/templates/febs/views/modules/member/agentInfo.html                       |   13 +-
 src/main/java/com/xcong/excoin/modules/trademanage/controller/ViewController.java           |   10 ++
 10 files changed, 272 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/trademanage/controller/TradeManageController.java b/src/main/java/com/xcong/excoin/modules/trademanage/controller/TradeManageController.java
index 3848095..7f7a733 100644
--- a/src/main/java/com/xcong/excoin/modules/trademanage/controller/TradeManageController.java
+++ b/src/main/java/com/xcong/excoin/modules/trademanage/controller/TradeManageController.java
@@ -12,6 +12,7 @@
 import com.xcong.excoin.common.entity.QueryRequest;
 import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity;
 import com.xcong.excoin.modules.member.entity.MemberEntity;
+import com.xcong.excoin.modules.trademanage.entity.AgentReturnEntity;
 import com.xcong.excoin.modules.trademanage.entity.ContractHoldOrderEntity;
 import com.xcong.excoin.modules.trademanage.entity.ContractOrderEntity;
 import com.xcong.excoin.modules.trademanage.service.TradeManageService;
@@ -52,6 +53,15 @@
         Map<String, Object> data = getDataTable(tradeManageService.findMemberAgentReturnInfoInPage(memberAccountMoneyChangeEntity, request));
         return new FebsResponse().success().data(data);
     }
+    
+    /**
+     * 返佣总明细---列表
+     */
+    @GetMapping("memberAgentReturnInfos")
+    public FebsResponse memberAgentReturnInfos(AgentReturnEntity agentReturnEntity, QueryRequest request) {
+        Map<String, Object> data = getDataTable(tradeManageService.findMemberAgentReturnInfosInPage(agentReturnEntity, request));
+        return new FebsResponse().success().data(data);
+    }
 
     /**
      * 历史委托明细---列表
diff --git a/src/main/java/com/xcong/excoin/modules/trademanage/controller/ViewController.java b/src/main/java/com/xcong/excoin/modules/trademanage/controller/ViewController.java
index d5bf587..8a1bf15 100644
--- a/src/main/java/com/xcong/excoin/modules/trademanage/controller/ViewController.java
+++ b/src/main/java/com/xcong/excoin/modules/trademanage/controller/ViewController.java
@@ -45,6 +45,16 @@
     }
     
     /**
+     * 返佣总明细
+     * @return
+     */
+    @GetMapping("agentReturnInfos")
+    @RequiresPermissions("agentReturnInfos:view")
+    public String agentReturnInfos() {
+        return FebsUtil.view("modules/trademanage/agentReturnInfos");
+    }
+    
+    /**
      * 历史委托明细
      * @return
      */
diff --git a/src/main/java/com/xcong/excoin/modules/trademanage/entity/AgentReturnEntity.java b/src/main/java/com/xcong/excoin/modules/trademanage/entity/AgentReturnEntity.java
new file mode 100644
index 0000000..8275029
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/trademanage/entity/AgentReturnEntity.java
@@ -0,0 +1,91 @@
+package com.xcong.excoin.modules.trademanage.entity;
+
+import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.xcong.excoin.common.entity.BaseEntity;
+
+import lombok.Data;
+
+@Data
+@TableName("agent_return")
+public class AgentReturnEntity extends BaseEntity {
+
+    /**
+	 * 
+	 */
+	private static final long serialVersionUID = 1L;
+
+	/**
+     * 订单类型 开仓
+     */
+    public static final int ORDER_TYPE_OPEN = 1;
+
+    /**
+     * 订单类型 平仓
+     */
+    public static final int ORDER_TYPE_CLOSE = 2;
+
+    /**
+     * 订单类型 持仓
+     */
+    public static final int ORDER_TYPE_HOLD = 3;
+
+    /**
+     * 是否已返佣 0-否
+     */
+    public static final int IS_RETURN_N = 0;
+
+    /**
+     * 是否已返佣 1-是
+     */
+    public static final int IS_RETURN_Y = 1;
+
+    private Long memberId;
+
+    private Long orderId;
+
+    private String orderNo;
+
+    private int orderType;
+
+    private BigDecimal closingFeeAmount;
+
+    private BigDecimal holdingFeeAmount;
+
+    private BigDecimal openingFeeAmount;
+
+    private BigDecimal returnAmount;
+
+    private Long refererId;
+
+    private String inviteId;
+
+    private BigDecimal returnRatio;
+
+    private BigDecimal childReturnRatio;
+
+    /**
+     * 0-否1-是
+     */
+    private int isReturn;
+
+    private String returnSymbol;
+
+    private int closingType;
+    
+    /**
+     * 手机号(包含国际手机号)
+     */
+	@TableField(exist = false)
+    private String phone;
+    /**
+     * 邮箱
+     */
+	@TableField(exist = false)
+    private String email;
+	@TableField(exist = false)
+	private String account;
+	
+}
diff --git a/src/main/java/com/xcong/excoin/modules/trademanage/mapper/AgentReturnMapper.java b/src/main/java/com/xcong/excoin/modules/trademanage/mapper/AgentReturnMapper.java
new file mode 100644
index 0000000..fe9bc90
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/trademanage/mapper/AgentReturnMapper.java
@@ -0,0 +1,15 @@
+package com.xcong.excoin.modules.trademanage.mapper;
+
+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.trademanage.entity.AgentReturnEntity;
+
+public interface AgentReturnMapper extends BaseMapper<AgentReturnEntity> {
+
+	IPage<AgentReturnEntity> findMemberAgentReturnInfosInPage(Page<AgentReturnEntity> page,
+			@Param("record") AgentReturnEntity agentReturnEntity);
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/trademanage/service/TradeManageService.java b/src/main/java/com/xcong/excoin/modules/trademanage/service/TradeManageService.java
index c5503ce..530cbf5 100644
--- a/src/main/java/com/xcong/excoin/modules/trademanage/service/TradeManageService.java
+++ b/src/main/java/com/xcong/excoin/modules/trademanage/service/TradeManageService.java
@@ -5,6 +5,7 @@
 import com.xcong.excoin.common.entity.QueryRequest;
 import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity;
 import com.xcong.excoin.modules.member.entity.MemberEntity;
+import com.xcong.excoin.modules.trademanage.entity.AgentReturnEntity;
 import com.xcong.excoin.modules.trademanage.entity.ContractHoldOrderEntity;
 import com.xcong.excoin.modules.trademanage.entity.ContractOrderEntity;
 import com.xcong.excoin.modules.trademanage.vo.MemberAccountInfoVo;
@@ -23,4 +24,6 @@
 
 	IPage<ContractOrderEntity> findMemberHistoryOrderInfoInPage(ContractOrderEntity contractOrderEntity, QueryRequest request);
 
+	IPage<AgentReturnEntity> findMemberAgentReturnInfosInPage(AgentReturnEntity agentReturnEntity, QueryRequest request);
+
 }
diff --git a/src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java b/src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java
index 46577cc..d57aa70 100644
--- a/src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java
@@ -18,9 +18,11 @@
 import com.xcong.excoin.modules.member.entity.MemberEntity;
 import com.xcong.excoin.modules.member.mapper.MemberAccountMoneyChangeMapper;
 import com.xcong.excoin.modules.member.mapper.MemberMapper;
+import com.xcong.excoin.modules.trademanage.entity.AgentReturnEntity;
 import com.xcong.excoin.modules.trademanage.entity.ContractHoldOrderEntity;
 import com.xcong.excoin.modules.trademanage.entity.ContractOrderEntity;
 import com.xcong.excoin.modules.trademanage.entity.MemberWalletAgentEntity;
+import com.xcong.excoin.modules.trademanage.mapper.AgentReturnMapper;
 import com.xcong.excoin.modules.trademanage.mapper.ContractHoldOrderEntityMapper;
 import com.xcong.excoin.modules.trademanage.mapper.ContractOrderMapper;
 import com.xcong.excoin.modules.trademanage.mapper.MemberWalletAgentMapper;
@@ -41,6 +43,8 @@
 	private final MemberAccountMoneyChangeMapper memberAccountMoneyChangeMapper;
 	
 	private final ContractOrderMapper contractHoldOrderMapper;
+	
+	private final AgentReturnMapper agentReturnMapper;
 	
 	private final RedisUtils redisUtils;
 	
@@ -128,4 +132,12 @@
 		return findMemberAccountInfoListInPage;
 	}
 
+	@Override
+	public IPage<AgentReturnEntity> findMemberAgentReturnInfosInPage(AgentReturnEntity agentReturnEntity,
+			QueryRequest request) {
+		Page<AgentReturnEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+		IPage<AgentReturnEntity> findMemberAccountInfoListInPage = agentReturnMapper.findMemberAgentReturnInfosInPage(page, agentReturnEntity);
+		return findMemberAccountInfoListInPage;
+	}
+
 }
diff --git a/src/main/resources/mapper/modules/AgentReturnMapper.xml b/src/main/resources/mapper/modules/AgentReturnMapper.xml
new file mode 100644
index 0000000..99884d7
--- /dev/null
+++ b/src/main/resources/mapper/modules/AgentReturnMapper.xml
@@ -0,0 +1,29 @@
+<?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.trademanage.mapper.AgentReturnMapper">
+
+	<select id="findMemberAgentReturnInfosInPage" resultType="com.xcong.excoin.modules.trademanage.entity.AgentReturnEntity">
+		SELECT
+			*
+		FROM
+			agent_return s
+		LEFT JOIN member m ON m.id = s.member_id
+		<where>
+			s.member_id IN (
+				SELECT
+					id
+				FROM
+					member
+				WHERE
+					account_type = '1'
+			)
+			<if test="record != null" >
+                <if test="record.account!=null and record.account!=''">
+                    and (m.phone = #{record.account} or m.email = #{record.account} or m.invite_id=#{record.account})
+                </if>
+            </if>
+		</where>
+			order by s.create_time desc
+	</select>
+    
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/member/agentInfo.html b/src/main/resources/templates/febs/views/modules/member/agentInfo.html
index de9e0c2..38d04ea 100644
--- a/src/main/resources/templates/febs/views/modules/member/agentInfo.html
+++ b/src/main/resources/templates/febs/views/modules/member/agentInfo.html
@@ -75,17 +75,10 @@
                 	{field: 'phone', title: '手机号码', minWidth: 120,align:'left',totalRowText: '合计'},
                     {field: 'email', title: '邮箱', minWidth: 200,align:'left'},
                     {field: 'inviteId', title: '邀请码UID', minWidth: 80,align:'center'},
-                    {field: 'returnRatio', title: '返佣比例', minWidth: 200,align:'center'},
-                    
                     {field: 'promotionNumber', title: '推广人数', minWidth: 200,align:'center'},
                     {field: 'totalRecharge', title: '总充值', minWidth: 200,align:'center'},
                     {field: 'totalWithdrawal', title: '总提现', minWidth: 200,align:'center'},
                     {field: 'totalPerformance', title: '总业绩', minWidth: 200,align:'center'},
-                    
-                    {field: 'levelId', title: '代理',
-                    	templet: function (d) {
-                             	return '<span style="color:green;">'+d.levelId+'</span>'
-                        }, minWidth: 200,align:'center'},
                     {field: 'team', title: '团队',
                     	templet: function (d) {
                     		if(d.team != null ){
@@ -94,6 +87,12 @@
                     			return ''
                     		}
                         }, minWidth: 200,align:'center',sort: true},
+                        
+                        {field: 'levelId', title: '代理',
+                        	templet: function (d) {
+                                 	return '<span style="color:green;">'+d.levelId+'</span>'
+                            }, minWidth: 200,align:'center'},
+                        {field: 'returnRatio', title: '返佣比例', minWidth: 200,align:'center'},
                     {field: 'feeIsSelf', title: '手续费是否设置自己',
                     	templet: function (d) {
                     		if(d.feeIsSelf === 1){
diff --git a/src/main/resources/templates/febs/views/modules/member/memberTest.html b/src/main/resources/templates/febs/views/modules/member/memberTest.html
index 9356555..f9d32d4 100644
--- a/src/main/resources/templates/febs/views/modules/member/memberTest.html
+++ b/src/main/resources/templates/febs/views/modules/member/memberTest.html
@@ -103,16 +103,6 @@
                     {field: 'email', title: '邮箱', minWidth: 200,align:'left'},
                     {field: 'inviteId', title: '邀请码UID', minWidth: 80,align:'center'},
                     {field: 'refererId', title: '上级邀请码UID', minWidth: 80,align:'center'},
-                    {field: 'accountType', title: '账号类型',
-                    	templet: function (d) {
-                            if (d.accountType === 2) {
-                                return '<span style="color:green;">测试账号</span>'
-                            } else if (d.accountType === 1) {
-                                return '<span style="color:red;">正常账号</span>'
-                            }else{
-                                return ''
-                            }
-                        }, minWidth: 80,align:'center'},
                     {field: 'refererId', title: '账号状态',
                         	templet: function (d) {
                                 if (d.accountStatus === 1) {
diff --git a/src/main/resources/templates/febs/views/modules/trademanage/agentReturnInfos.html b/src/main/resources/templates/febs/views/modules/trademanage/agentReturnInfos.html
new file mode 100644
index 0000000..5b793a5
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/trademanage/agentReturnInfos.html
@@ -0,0 +1,96 @@
+<div class="layui-fluid layui-anim febs-anim" id="febs-user" lay-title="返佣总明细">
+    <div class="layui-row febs-container">
+        <div class="layui-col-md12">
+            <div class="layui-card">
+                <div class="layui-card-body febs-table-full">
+                    <form class="layui-form layui-table-form" lay-filter="user-table-form">
+                        <div class="layui-row">
+                            <div class="layui-col-md10">
+                                <div class="layui-form-item">
+                                    <div class="layui-inline">
+                                        <div class="layui-input-inline">
+                                            <input type="text" placeholder="手机号/邮箱/邀请码" name="account" autocomplete="off" class="layui-input">
+                                        </div>
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area">
+                                <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain table-action" id="query">
+                                    <i class="layui-icon">&#xe848;</i>
+                                </div>
+                                <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain table-action" id="reset">
+                                    <i class="layui-icon">&#xe79b;</i>
+                                </div>
+                            </div>
+                        </div>
+                    </form>
+                    <table lay-filter="userTable" lay-data="{id: 'userTable'}"></table>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+<!-- 表格操作栏 end -->
+<script data-th-inline="none" type="text/javascript">
+    // 引入组件并初始化
+    layui.use(['dropdown', 'jquery', 'laydate', 'form', 'table', 'febs', 'treeSelect'], function () {
+        var $ = layui.jquery,
+            laydate = layui.laydate,
+            febs = layui.febs,
+            form = layui.form,
+            table = layui.table,
+            treeSelect = layui.treeSelect,
+            dropdown = layui.dropdown,
+            $view = $('#febs-user'),
+            $query = $view.find('#query'),
+            $reset = $view.find('#reset'),
+            $searchForm = $view.find('form'),
+            sortObject = {field: 'createTime', type: null},
+            tableIns;
+
+        form.render();
+
+        // 表格初始化
+        initTable();
+
+        // 查询按钮
+        $query.on('click', function () {
+            var params = $.extend(getQueryParams(), {field: sortObject.field, order: sortObject.type});
+            tableIns.reload({where: params, page: {curr: 1}});
+        });
+
+        // 刷新按钮
+        $reset.on('click', function () {
+        	$searchForm[0].reset();
+            sortObject.type = 'null';
+            tableIns.reload({where: getQueryParams(), page: {curr: 1}, initSort: sortObject});
+        });
+
+        function initTable() {
+            tableIns = febs.table.init({
+                elem: $view.find('table'),
+                id: 'userTable',
+                url: ctx + 'tradeManage/memberAgentReturnInfo',
+                totalRow: true,
+                cols: [[
+                    {field: 'phone', title: '手机号', minWidth: 100,align:'left',totalRowText: '合计'},
+                    {field: 'email', title: '邮箱', minWidth: 200,align:'left'},
+                    {field: 'inviteId', title: '邀请码UID', minWidth: 80,align:'center'},
+                    {field: 'orderNo', title: '编号', minWidth: 80,align:'center'},
+                    {field: 'returnAmount', title: '佣金', minWidth: 80,align:'center',totalRow: true},
+                    {field: 'closingFeeAmount', title: '平仓手续费', minWidth: 80,align:'center'},
+                    {field: 'holdingFeeAmount', title: '持仓手续费', minWidth: 80,align:'center'},
+                    {field: 'openingFeeAmount', title: '开仓手续费', minWidth: 80,align:'center'},
+                ]]
+            });
+        }
+
+        // 获取查询参数
+        function getQueryParams() {
+            return {
+                account: $searchForm.find('input[name="account"]').val().trim(),
+            };
+        }
+        
+    })
+</script>
\ No newline at end of file

--
Gitblit v1.9.1