From 22a1ada1fefc901e391279e01a251aa3c471e96a Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 18 Jun 2020 17:58:00 +0800
Subject: [PATCH] 20200618 代码提交
---
src/main/resources/mapper/modules/MemberQuickBuySaleMapper.xml | 5
src/main/java/com/xcong/excoin/modules/member/entity/MemberAccountMoneyChangeEntity.java | 26
src/main/java/com/xcong/excoin/modules/trademanage/mapper/MemberWalletAgentMapper.java | 8
src/main/java/com/xcong/excoin/modules/trademanage/mapper/ContractOrderMapper.java | 15
src/main/resources/templates/febs/views/modules/member/chargeUsdt.html | 2
src/main/java/com/xcong/excoin/modules/member/entity/MemberCoinWithdrawEntity.java | 2
src/main/java/com/xcong/excoin/modules/trademanage/controller/TradeManageController.java | 66 +
src/main/java/com/xcong/excoin/modules/trademanage/service/TradeManageService.java | 26
src/main/java/com/xcong/excoin/modules/member/mapper/MemberAccountMoneyChangeMapper.java | 7
src/main/resources/mapper/modules/MemberAccountMoneyChangeMapper.xml | 30
src/main/resources/mapper/modules/MemberMapper.xml | 34
src/main/java/com/xcong/excoin/modules/member/vo/MemberCoinWithdrawVo.java | 2
src/main/resources/mapper/modules/ContractHoldOrderEntityMapper.xml | 20
src/main/java/com/xcong/excoin/common/utils/RedisUtils.java | 554 ++++++++++++++++
src/main/java/com/xcong/excoin/modules/trademanage/entity/MemberWalletAgentEntity.java | 60 +
src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java | 131 +++
src/main/resources/templates/febs/views/modules/trademanage/agentReturnInfo.html | 116 +++
src/main/resources/templates/febs/views/modules/member/extractUsdt.html | 6
src/main/java/com/xcong/excoin/modules/trademanage/dto/MemberAccountInfoDto.java | 11
src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java | 8
src/main/java/com/xcong/excoin/common/utils/CoinTypeConvert.java | 50 +
src/main/java/com/xcong/excoin/modules/member/vo/MemberQuickBuySaleVo.java | 2
src/main/java/com/xcong/excoin/modules/trademanage/vo/MemberAccountInfoVo.java | 55 +
src/main/resources/mapper/modules/MemberCoinChargeMapper.xml | 2
src/main/resources/templates/febs/views/modules/member/applyCoin.html | 2
src/main/java/com/xcong/excoin/modules/member/vo/MemberCoinChargeVo.java | 6
src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java | 1
src/main/resources/mapper/modules/MemberCoinWithdrawMapper.xml | 2
src/main/java/com/xcong/excoin/modules/member/vo/MemberQuickSaleVo.java | 2
src/main/java/com/xcong/excoin/modules/trademanage/entity/ContractHoldOrderEntity.java | 28
/dev/null | 20
src/main/resources/templates/febs/views/modules/member/withdrawCoin.html | 2
src/main/java/com/xcong/excoin/modules/trademanage/entity/ContractOrderEntity.java | 217 ++++++
src/main/resources/templates/febs/views/modules/trademanage/contractHoldOrder.html | 104 +-
src/main/resources/mapper/modules/ContractOrderMapper.xml | 21
src/main/java/com/xcong/excoin/modules/trademanage/mapper/ContractHoldOrderEntityMapper.java | 10
src/main/resources/templates/febs/views/modules/trademanage/accountInfo.html | 107 +++
src/main/resources/templates/febs/views/modules/trademanage/historyOrder.html | 197 +++++
src/main/java/com/xcong/excoin/modules/trademanage/controller/ViewController.java | 35 +
39 files changed, 1,905 insertions(+), 87 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/common/utils/CoinTypeConvert.java b/src/main/java/com/xcong/excoin/common/utils/CoinTypeConvert.java
new file mode 100644
index 0000000..ef93a58
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/common/utils/CoinTypeConvert.java
@@ -0,0 +1,50 @@
+package com.xcong.excoin.common.utils;
+
+/**
+ * @author wzy
+ * @date 2020-05-28
+ **/
+public class CoinTypeConvert {
+
+ public static String convert(String symbol) {
+ switch (symbol) {
+ case "btcusdt":
+ return "BTC/USDT";
+ case "ethusdt":
+ return "ETH/USDT";
+ case "xrpusdt":
+ return "XRP/USDT";
+ case "ltcusdt":
+ return "LTC/USDT";
+ case "bchusdt":
+ return "BCH/USDT";
+ case "eosusdt":
+ return "EOS/USDT";
+ case "etcusdt":
+ return "ETC/USDT";
+ default:
+ return null;
+ }
+ }
+
+ public static String convertToKey(String symbol) {
+ switch (symbol) {
+ case "BTC/USDT":
+ return "BTC_NEW_PRICE";
+ case "ETH/USDT":
+ return "ETH_NEW_PRICE";
+ case "XRP/USDT":
+ return "XRP_NEW_PRICE";
+ case "LTC/USDT":
+ return "LTC_NEW_PRICE";
+ case "BCH/USDT":
+ return "BCH_NEW_PRICE";
+ case "EOS/USDT":
+ return "EOS_NEW_PRICE";
+ case "ETC/USDT":
+ return "ETC_NEW_PRICE";
+ default:
+ return null;
+ }
+ }
+}
diff --git a/src/main/java/com/xcong/excoin/common/utils/RedisUtils.java b/src/main/java/com/xcong/excoin/common/utils/RedisUtils.java
new file mode 100644
index 0000000..7cec755
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/common/utils/RedisUtils.java
@@ -0,0 +1,554 @@
+package com.xcong.excoin.common.utils;
+
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.stereotype.Component;
+import org.springframework.util.CollectionUtils;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * @Author wzy
+ * @Date 2020/5/10
+ * @email wangdoubleone@gmail.com
+ * @Version V1.0
+ **/
+@Component
+public class RedisUtils {
+
+
+ @Resource
+ private RedisTemplate<String, Object> redisTemplate;
+
+
+ // =============================common============================
+ /**
+ * 指定缓存失效时间
+ * @param key 键
+ * @param time 时间(秒)
+ * @return
+ */
+ public boolean expire(String key, long time) {
+ try {
+ if (time > 0) {
+ redisTemplate.expire(key, time, TimeUnit.SECONDS);
+ }
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * 根据key 获取过期时间
+ * @param key 键 不能为null
+ * @return 时间(秒) 返回0代表为永久有效
+ */
+ public long getExpire(String key) {
+ return redisTemplate.getExpire(key, TimeUnit.SECONDS);
+ }
+
+ /**
+ * 判断key是否存在
+ * @param key 键
+ * @return true 存在 false不存在
+ */
+ public boolean hasKey(String key) {
+ try {
+ return redisTemplate.hasKey(key);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * 删除缓存
+ * @param key 可以传一个值 或多个
+ */
+ @SuppressWarnings("unchecked")
+ public void del(String... key) {
+ if (key != null && key.length > 0) {
+ if (key.length == 1) {
+ redisTemplate.delete(key[0]);
+ } else {
+ redisTemplate.delete(CollectionUtils.arrayToList(key));
+ }
+ }
+ }
+
+ // ============================String=============================
+ /**
+ * 普通缓存获取
+ * @param key 键
+ * @return 值
+ */
+ public Object get(String key) {
+ return key == null ? null : redisTemplate.opsForValue().get(key);
+ }
+
+
+ /**
+ * 普通缓存获取
+ * @param key 键
+ * @return 值
+ */
+ public String getString(String key) {
+ Object obj = key == null ? null : redisTemplate.opsForValue().get(key);
+ if(obj!=null){
+ return obj.toString();
+ }
+ return null;
+ }
+
+ /**
+ * 普通缓存放入
+ * @param key 键
+ * @param value 值
+ * @return true成功 false失败
+ */
+ public boolean set(String key, Object value) {
+ try {
+ redisTemplate.opsForValue().set(key, value);
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * 普通缓存放入并设置时间
+ * @param key 键
+ * @param value 值
+ * @param time 时间(秒) time要大于0 如果time小于等于0 将设置无限期
+ * @return true成功 false 失败
+ */
+ public boolean set(String key, Object value, long time) {
+ try {
+ if (time > 0) {
+ redisTemplate.opsForValue().set(key, value, time, TimeUnit.SECONDS);
+ } else {
+ set(key, value);
+ }
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ public boolean setNotExist(String key, Object value, long time) {
+ return redisTemplate.opsForValue().setIfAbsent(key, value, time, TimeUnit.SECONDS);
+ }
+
+ /**
+ * 递增
+ * @param key 键
+ * @param delta 要增加几(大于0)
+ * @return
+ */
+ public long incr(String key, long delta) {
+ if (delta < 0) {
+ throw new RuntimeException("递增因子必须大于0");
+ }
+ return redisTemplate.opsForValue().increment(key, delta);
+ }
+
+ /**
+ * 递减
+ * @param key 键
+ * @param delta 要减少几(小于0)
+ * @return
+ */
+ public long decr(String key, long delta) {
+ if (delta < 0) {
+ throw new RuntimeException("递减因子必须大于0");
+ }
+ return redisTemplate.opsForValue().increment(key, -delta);
+ }
+
+
+ // ================================Map=================================
+
+ /**
+ * HashGet
+ * @param key 键 不能为null
+ * @param item 项 不能为null
+ * @return 值
+ */
+ public Object hget(String key, String item) {
+ return redisTemplate.opsForHash().get(key, item);
+ }
+
+ /**
+ * 获取hashKey对应的所有键值
+ * @param key 键
+ * @return 对应的多个键值
+ */
+ public Map<Object, Object> hmget(String key) {
+ return redisTemplate.opsForHash().entries(key);
+ }
+ /**
+ * HashSet
+
+ * @param key 键
+ * @param map 对应多个键值
+ * @return true 成功 false 失败
+ */
+ public boolean hmset(String key, Map<String, Object> map) {
+ try {
+ redisTemplate.opsForHash().putAll(key, map);
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+ /**
+ * HashSet 并设置时间
+ * @param key 键
+ * @param map 应多个键值
+ * @param time 时间(秒)
+ * @return true成功 false失败
+ */
+ public boolean hmset(String key, Map<String, Object> map, long time) {
+ try {
+ redisTemplate.opsForHash().putAll(key, map);
+ if (time > 0) {
+ expire(key, time);
+ }
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+
+ /**
+ * 向一张hash表中放入数据,如果不存在将创建
+ * @param key 键
+ * @param item 项
+ * @param value 值
+ * @return true 成功 false失败
+ */
+ public boolean hset(String key, String item, Object value) {
+ try {
+ redisTemplate.opsForHash().put(key, item, value);
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+ /**
+ * 向一张hash表中放入数据,如果不存在将创建
+ * @param key 键
+ * @param item 项
+ * @param value 值
+ * @param time 时间(秒) 注意:如果已存在的hash表有时间,这里将会替换原有的时间
+ * @return true 成功 false失败
+ */
+ public boolean hset(String key, String item, Object value, long time) {
+ try {
+ redisTemplate.opsForHash().put(key, item, value);
+ if (time > 0) {
+ expire(key, time);
+ }
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+ /**
+ * 删除hash表中的值
+ * @param key 键 不能为null
+ * @param item 项 可以使多个 不能为null
+ */
+ public void hdel(String key, Object... item) {
+ redisTemplate.opsForHash().delete(key, item);
+ }
+ /**
+ * 判断hash表中是否有该项的值
+ * @param key 键 不能为null
+ * @param item 项 不能为null
+ * @return true 存在 false不存在
+ */
+ public boolean hHasKey(String key, String item) {
+ return redisTemplate.opsForHash().hasKey(key, item);
+ }
+
+ /**
+ * hash递增 如果不存在,就会创建一个 并把新增后的值返回
+ * @param key 键
+ * @param item 项
+ * @param by 要增加几(大于0)
+ * @return
+ */
+ public double hincr(String key, String item, double by) {
+ return redisTemplate.opsForHash().increment(key, item, by);
+ }
+
+ /**
+ * hash递减
+ * @param key 键
+ * @param item 项
+ * @param by 要减少记(小于0)
+ * @return
+ */
+ public double hdecr(String key, String item, double by) {
+ return redisTemplate.opsForHash().increment(key, item, -by);
+ }
+ // ============================set=============================
+ /**
+ * 根据key获取Set中的所有值
+ * @param key 键
+ * @return
+ */
+ public Set<Object> sGet(String key) {
+ try {
+ return redisTemplate.opsForSet().members(key);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
+ /**
+ * 根据value从一个set中查询,是否存在
+ * @param key 键
+ * @param value 值
+ * @return true 存在 false不存在
+ */
+ public boolean sHasKey(String key, Object value) {
+ try {
+ return redisTemplate.opsForSet().isMember(key, value);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+ /**
+ * 将数据放入set缓存
+ * @param key 键
+ * @param values 值 可以是多个
+ * @return 成功个数
+ */
+ public long sSet(String key, Object... values) {
+ try {
+ return redisTemplate.opsForSet().add(key, values);
+ } catch (Exception e) {
+ e.printStackTrace();
+
+ return 0;
+ }
+ }
+ /**
+ 336
+ * 将set数据放入缓存
+ 337
+ * @param key 键
+ * @param time 时间(秒)
+ * @param values 值 可以是多个
+ * @return 成功个数
+ */
+ public long sSetAndTime(String key, long time, Object... values) {
+ try {
+ Long count = redisTemplate.opsForSet().add(key, values);
+ if (time > 0)
+ expire(key, time);
+ return count;
+
+ }catch(Exception e) {
+ e.printStackTrace();
+ return 0;
+ }
+ }
+ /**
+ * 获取set缓存的长度
+ * @param key 键
+ * @return
+ */
+
+ public long sGetSetSize(String key) {
+ try {
+ return redisTemplate.opsForSet().size(key);
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ return 0;
+ }
+
+ }
+
+ /**
+ * 移除值为value的
+ * @param key 键
+ * @param values 值 可以是多个
+ * @return 移除的个数
+
+ */
+ public long setRemove(String key, Object... values) {
+ try {
+ Long count = redisTemplate.opsForSet().remove(key, values);
+ return count;
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ return 0;
+ }
+ }
+ // ===============================list=================================
+ /**
+ * 获取list缓存的内容 * @param key 键
+ * @param start 开始
+ * @param end 结束 0 到 -1代表所有值
+ * @return
+ */
+ public List<Object> lGet(String key, long start, long end) {
+ try {
+ return redisTemplate.opsForList().range(key, start, end);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+
+ }
+
+ /**
+ * 获取list缓存的长度
+ * @param key 键
+
+ * @return
+ */
+ public long lGetListSize(String key) { try {
+ return redisTemplate.opsForList().size(key);
+ } catch (Exception e) {
+
+ e.printStackTrace();
+ return 0;
+ }
+ } /**
+ * 通过索引 获取list中的值
+ * @param key 键
+ * @param index 索引 index>=0时, 0 表头,1 第二个元素,依次类推;index<0时,-1,表尾,-2倒数第二个元素,依次类推
+ * @return
+ */
+ public Object lGetIndex(String key, long index) {
+
+ try {
+ return redisTemplate.opsForList().index(key, index);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return null;
+ }
+ }
+
+ /**
+ * 将list放入缓存
+ * @param key 键
+ * @param value 值
+ * @return
+ */
+ public boolean lSet(String key, Object value) {
+ try {
+ redisTemplate.opsForList().rightPush(key, value);
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+ /**
+ * 将list放入缓存
+ * @param key 键
+ * @param value 值
+ * @param time 时间(秒)
+ * @return
+ */
+ public boolean lSet(String key, Object value, long time) {
+ try {
+ redisTemplate.opsForList().rightPush(key, value);
+ if (time > 0)
+ expire(key, time);
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+ /**
+ * 将list放入缓存
+ * @param key 键
+ * @param value 值
+ * @return
+ */
+ public boolean lSet(String key, List<Object> value) {
+ try {
+ redisTemplate.opsForList().rightPushAll(key, value);
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+ /**
+ * 将list放入缓存
+ *
+ * @param key 键
+ * @param value 值
+ * @param time 时间(秒)
+ * @return
+ */
+ public boolean lSet(String key, List<Object> value, long time) {
+ try {
+ redisTemplate.opsForList().rightPushAll(key, value);
+ if (time > 0)
+ expire(key, time);
+ return true;
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+ /**
+ * 根据索引修改list中的某条数据
+ * @param key 键
+ * @param index 索引
+ * @param value 值
+ * @return
+ */
+ public boolean lUpdateIndex(String key, long index, Object value) {
+ try {
+ redisTemplate.opsForList().set(key, index, value);
+ return true;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return false;
+ }
+ }
+
+
+ /**
+ * 移除N个值为value
+ * @param key 键
+ * @param count 移除多少个
+ * @param value 值
+ * @return 移除的个数
+ */
+ public long lRemove(String key, long count, Object value) {
+ try {
+ return redisTemplate.opsForList().remove(key, count, value);
+ } catch (Exception e) {
+ e.printStackTrace();
+ return 0;
+ }
+ }
+}
diff --git a/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java b/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java
index 4707454..be7967d 100644
--- a/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java
+++ b/src/main/java/com/xcong/excoin/modules/member/controller/MemberController.java
@@ -10,7 +10,6 @@
import com.xcong.excoin.modules.member.entity.MemberEntity;
import com.xcong.excoin.modules.member.entity.MemberQuickBuySaleEntity;
import com.xcong.excoin.modules.member.service.IMemberService;
-import com.xcong.excoin.system.entity.User;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
diff --git a/src/main/java/com/xcong/excoin/modules/member/entity/MemberAccountMoneyChangeEntity.java b/src/main/java/com/xcong/excoin/modules/member/entity/MemberAccountMoneyChangeEntity.java
index 8fc79fd..c0ceb88 100644
--- a/src/main/java/com/xcong/excoin/modules/member/entity/MemberAccountMoneyChangeEntity.java
+++ b/src/main/java/com/xcong/excoin/modules/member/entity/MemberAccountMoneyChangeEntity.java
@@ -1,8 +1,11 @@
package com.xcong.excoin.modules.member.entity;
import java.math.BigDecimal;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
import com.xcong.excoin.common.entity.BaseEntity;
import lombok.Data;
@@ -11,6 +14,10 @@
@TableName("member_account_money_change")
public class MemberAccountMoneyChangeEntity extends BaseEntity {
private static final long serialVersionUID = 1L;
+
+
+ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+ private Date createTime;
/**
* 类型【1:币币资产2:合约资产3:代理资产】
@@ -48,5 +55,24 @@
* 状态【0:待审核 1:成功2:失败】
*/
private int status;
+
+ /**
+ * 手机号(包含国际手机号)
+ */
+ @TableField(exist = false)
+ private String phone;
+ /**
+ * 邮箱
+ */
+ @TableField(exist = false)
+ private String email;
+
+ @TableField(exist = false)
+ private String account;
+ /**
+ * 邀请码
+ */
+ @TableField(exist = false)
+ private String inviteId;
}
diff --git a/src/main/java/com/xcong/excoin/modules/member/entity/MemberCoinWithdrawEntity.java b/src/main/java/com/xcong/excoin/modules/member/entity/MemberCoinWithdrawEntity.java
index d45e2dd..0da4e59 100644
--- a/src/main/java/com/xcong/excoin/modules/member/entity/MemberCoinWithdrawEntity.java
+++ b/src/main/java/com/xcong/excoin/modules/member/entity/MemberCoinWithdrawEntity.java
@@ -1,8 +1,6 @@
package com.xcong.excoin.modules.member.entity;
import java.math.BigDecimal;
-import java.util.Date;
-
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xcong.excoin.common.entity.BaseEntity;
diff --git a/src/main/java/com/xcong/excoin/modules/member/mapper/MemberAccountMoneyChangeMapper.java b/src/main/java/com/xcong/excoin/modules/member/mapper/MemberAccountMoneyChangeMapper.java
index 0e429d8..b56a692 100644
--- a/src/main/java/com/xcong/excoin/modules/member/mapper/MemberAccountMoneyChangeMapper.java
+++ b/src/main/java/com/xcong/excoin/modules/member/mapper/MemberAccountMoneyChangeMapper.java
@@ -1,8 +1,15 @@
package com.xcong.excoin.modules.member.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.member.entity.MemberAccountMoneyChangeEntity;
public interface MemberAccountMoneyChangeMapper extends BaseMapper<MemberAccountMoneyChangeEntity> {
+ IPage<MemberAccountMoneyChangeEntity> findMemberAccountInfoListInPage(Page<MemberAccountMoneyChangeEntity> page,
+ @Param("record") MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity);
+
}
diff --git a/src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java b/src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java
index 2780518..7d4cdb7 100644
--- a/src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java
+++ b/src/main/java/com/xcong/excoin/modules/member/mapper/MemberMapper.java
@@ -4,6 +4,8 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.xcong.excoin.modules.member.entity.MemberEntity;
+import com.xcong.excoin.modules.trademanage.vo.MemberAccountInfoVo;
+
import org.apache.ibatis.annotations.Param;
/**
@@ -13,5 +15,11 @@
public interface MemberMapper extends BaseMapper<MemberEntity> {
IPage<MemberEntity> selectMemberListInPage(Page<MemberEntity> page, @Param("record") MemberEntity memberEntity);
+
+ IPage<MemberAccountInfoVo> findMemberAccountInfoListInPage(Page<MemberEntity> page, @Param("record")MemberEntity memberEntity);
+
+ String selectAgentForAccount(long memberId);
+
+ String selectTradeSetting();
}
diff --git a/src/main/java/com/xcong/excoin/modules/member/vo/MemberCoinChargeVo.java b/src/main/java/com/xcong/excoin/modules/member/vo/MemberCoinChargeVo.java
index f1b5993..235f03d 100644
--- a/src/main/java/com/xcong/excoin/modules/member/vo/MemberCoinChargeVo.java
+++ b/src/main/java/com/xcong/excoin/modules/member/vo/MemberCoinChargeVo.java
@@ -4,6 +4,7 @@
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
@@ -58,5 +59,10 @@
* 订单编号
*/
private String orderCode;
+
+ /**
+ * 邀请码
+ */
+ private String inviteId;
}
diff --git a/src/main/java/com/xcong/excoin/modules/member/vo/MemberCoinWithdrawVo.java b/src/main/java/com/xcong/excoin/modules/member/vo/MemberCoinWithdrawVo.java
index 1ddfa0b..e101546 100644
--- a/src/main/java/com/xcong/excoin/modules/member/vo/MemberCoinWithdrawVo.java
+++ b/src/main/java/com/xcong/excoin/modules/member/vo/MemberCoinWithdrawVo.java
@@ -55,5 +55,7 @@
* 是否内部转账 Y-是N-不是
*/
private String isInside;
+
+ private String inviteId;
}
diff --git a/src/main/java/com/xcong/excoin/modules/member/vo/MemberQuickBuySaleVo.java b/src/main/java/com/xcong/excoin/modules/member/vo/MemberQuickBuySaleVo.java
index 2df927f..579e470 100644
--- a/src/main/java/com/xcong/excoin/modules/member/vo/MemberQuickBuySaleVo.java
+++ b/src/main/java/com/xcong/excoin/modules/member/vo/MemberQuickBuySaleVo.java
@@ -60,5 +60,7 @@
* 订单编号
*/
private String orderNo;
+
+ private String inviteId;
}
diff --git a/src/main/java/com/xcong/excoin/modules/member/vo/MemberQuickSaleVo.java b/src/main/java/com/xcong/excoin/modules/member/vo/MemberQuickSaleVo.java
index dd6933e..ed221eb 100644
--- a/src/main/java/com/xcong/excoin/modules/member/vo/MemberQuickSaleVo.java
+++ b/src/main/java/com/xcong/excoin/modules/member/vo/MemberQuickSaleVo.java
@@ -69,5 +69,7 @@
* 订单编号
*/
private String orderNo;
+
+ private String inviteId;
}
diff --git a/src/main/java/com/xcong/excoin/modules/trademanage/controller/ContractHoldOrderController.java b/src/main/java/com/xcong/excoin/modules/trademanage/controller/ContractHoldOrderController.java
deleted file mode 100644
index 36b5e95..0000000
--- a/src/main/java/com/xcong/excoin/modules/trademanage/controller/ContractHoldOrderController.java
+++ /dev/null
@@ -1,38 +0,0 @@
-package com.xcong.excoin.modules.trademanage.controller;
-
-import java.util.Map;
-
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.xcong.excoin.common.controller.BaseController;
-import com.xcong.excoin.common.entity.FebsResponse;
-import com.xcong.excoin.common.entity.QueryRequest;
-import com.xcong.excoin.modules.trademanage.entity.ContractHoldOrderEntity;
-import com.xcong.excoin.modules.trademanage.service.ContractHoldOrderService;
-
-import lombok.RequiredArgsConstructor;
-
-/**
- * 当前持仓订单列表
- */
-@Validated
-@RestController
-@RequiredArgsConstructor
-@RequestMapping(value = "/contractHoldOrder")
-public class ContractHoldOrderController extends BaseController{
-
- private final ContractHoldOrderService contractHoldOrderService;
-
- @GetMapping("getList")
- public FebsResponse getList(ContractHoldOrderEntity contractHoldOrderEntity, QueryRequest request) {
- IPage<ContractHoldOrderEntity> findMemberListInPage = contractHoldOrderService.findContractHoldOrderListInPage(contractHoldOrderEntity, request);
- Map<String, Object> data = getDataTable(findMemberListInPage);
- return new FebsResponse().success().data(data);
- }
-
-
-}
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
new file mode 100644
index 0000000..3848095
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/trademanage/controller/TradeManageController.java
@@ -0,0 +1,66 @@
+package com.xcong.excoin.modules.trademanage.controller;
+
+import java.util.Map;
+
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.xcong.excoin.common.controller.BaseController;
+import com.xcong.excoin.common.entity.FebsResponse;
+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.ContractHoldOrderEntity;
+import com.xcong.excoin.modules.trademanage.entity.ContractOrderEntity;
+import com.xcong.excoin.modules.trademanage.service.TradeManageService;
+
+import lombok.RequiredArgsConstructor;
+
+@Validated
+@RestController
+@RequiredArgsConstructor
+@RequestMapping(value = "/tradeManage")
+public class TradeManageController extends BaseController{
+
+ private final TradeManageService tradeManageService;
+
+ /**
+ * 当前持仓---列表
+ */
+ @GetMapping("contractHoldOrder")
+ public FebsResponse getList(ContractHoldOrderEntity contractHoldOrderEntity, QueryRequest request) {
+ Map<String, Object> data = getDataTable(tradeManageService.findContractHoldOrderListInPage(contractHoldOrderEntity, request));
+ return new FebsResponse().success().data(data);
+ }
+
+ /**
+ * 账户信息---列表
+ */
+ @GetMapping("memberAccountInfo")
+ public FebsResponse memberAccountInfo(MemberEntity memberEntity, QueryRequest request) {
+ Map<String, Object> data = getDataTable(tradeManageService.findMemberAccountInfoListInPage(memberEntity, request));
+ return new FebsResponse().success().data(data);
+ }
+
+ /**
+ * 返佣明细---列表
+ */
+ @GetMapping("memberAgentReturnInfo")
+ public FebsResponse memberAgentReturnInfo(MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity, QueryRequest request) {
+ Map<String, Object> data = getDataTable(tradeManageService.findMemberAgentReturnInfoInPage(memberAccountMoneyChangeEntity, request));
+ return new FebsResponse().success().data(data);
+ }
+
+ /**
+ * 历史委托明细---列表
+ */
+ @GetMapping("historyOrderInfo")
+ public FebsResponse historyOrderInfo(ContractOrderEntity contractOrderEntity, QueryRequest request) {
+ Map<String, Object> data = getDataTable(tradeManageService.findMemberHistoryOrderInfoInPage(contractOrderEntity, 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 4cb3ab6..d5bf587 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
@@ -11,14 +11,47 @@
* @author wzy
* @date 2020-06-10
**/
-@Controller("contractHoldOrderView")
+@Controller("tradeManageView")
@RequestMapping(FebsConstant.VIEW_PREFIX + "modules/trademanage")
public class ViewController {
+ /**
+ * 当前持仓
+ */
@GetMapping("contractHoldOrder")
@RequiresPermissions("contractHoldOrder:view")
public String contractHoldOrder() {
return FebsUtil.view("modules/trademanage/contractHoldOrder");
}
+ /**
+ * 账户信息
+ * @return
+ */
+ @GetMapping("accountInfo")
+ @RequiresPermissions("accountInfo:view")
+ public String accountInfo() {
+ return FebsUtil.view("modules/trademanage/accountInfo");
+ }
+
+ /**
+ * 返佣明细
+ * @return
+ */
+ @GetMapping("agentReturnInfo")
+ @RequiresPermissions("agentReturnInfo:view")
+ public String agentReturnInfo() {
+ return FebsUtil.view("modules/trademanage/agentReturnInfo");
+ }
+
+ /**
+ * 历史委托明细
+ * @return
+ */
+ @GetMapping("historyOrder")
+ @RequiresPermissions("historyOrder:view")
+ public String historyOrder() {
+ return FebsUtil.view("modules/trademanage/historyOrder");
+ }
+
}
diff --git a/src/main/java/com/xcong/excoin/modules/trademanage/dto/MemberAccountInfoDto.java b/src/main/java/com/xcong/excoin/modules/trademanage/dto/MemberAccountInfoDto.java
new file mode 100644
index 0000000..8214c42
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/trademanage/dto/MemberAccountInfoDto.java
@@ -0,0 +1,11 @@
+package com.xcong.excoin.modules.trademanage.dto;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+
+import lombok.Data;
+@Data
+public class MemberAccountInfoDto {
+ @TableField(exist = false)
+ private String account;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/trademanage/entity/ContractHoldOrderEntity.java b/src/main/java/com/xcong/excoin/modules/trademanage/entity/ContractHoldOrderEntity.java
index 4257bd7..dec05f7 100644
--- a/src/main/java/com/xcong/excoin/modules/trademanage/entity/ContractHoldOrderEntity.java
+++ b/src/main/java/com/xcong/excoin/modules/trademanage/entity/ContractHoldOrderEntity.java
@@ -2,6 +2,7 @@
import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xcong.excoin.common.entity.BaseEntity;
@@ -18,6 +19,10 @@
public class ContractHoldOrderEntity extends BaseEntity {
/**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ /**
* 是否可平仓 1-是
*/
public static final int ORDER_CAN_CLOSING_Y = 1;
@@ -147,4 +152,27 @@
* 批次号 队列平仓时使用,避免重复
*/
public String batchNo;
+
+ /**
+ * 手机号(包含国际手机号)
+ */
+ @TableField(exist = false)
+ private String phone;
+ /**
+ * 邮箱
+ */
+ @TableField(exist = false)
+ private String email;
+ @TableField(exist = false)
+ private String account;
+ /**
+ * 邀请码
+ */
+ @TableField(exist = false)
+ private String inviteId;
+ /**
+ * 系统盈亏
+ */
+ @TableField(exist = false)
+ private BigDecimal rewardRatio;
}
diff --git a/src/main/java/com/xcong/excoin/modules/trademanage/entity/ContractOrderEntity.java b/src/main/java/com/xcong/excoin/modules/trademanage/entity/ContractOrderEntity.java
new file mode 100644
index 0000000..468c481
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/trademanage/entity/ContractOrderEntity.java
@@ -0,0 +1,217 @@
+package com.xcong.excoin.modules.trademanage.entity;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.xcong.excoin.common.entity.BaseEntity;
+
+import lombok.Data;
+
+@Data
+@TableName("contract_order")
+public class ContractOrderEntity extends BaseEntity {/**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ /**
+ * 交易类型 市价
+ */
+ public static final int TRADE_TYPE_MARK_PRICE = 1;
+
+ /**
+ * 交易类型 限价
+ */
+ public static final int TRADE_TYPE_LIMIT_PRICE = 2;
+
+ /**
+ * 订单状态 撤单
+ */
+ public static final int ORDER_STATUS_CANCEL = 2;
+
+ /**
+ * 订单状态 成交
+ */
+ public static final int ORDER_STATUS_SUCCESS = 1;
+
+ /**
+ * 订单类型 开多
+ */
+ public static final int ORDER_TYPE_OPEN_MORE = 1;
+
+ /**
+ * 订单类型 开空
+ */
+ public static final int ORDER_TYPE_OPEN_LESS = 2;
+
+ /**
+ * 订单类型 平多
+ */
+ public static final int ORDER_TYPE_CLOSE_MORE = 3;
+
+ /**
+ * 订单类型 平空
+ */
+ public static final int ORDER_TYPE_CLOSE_LESS = 4;
+
+
+ /**
+ * 会员Id
+ */
+ private Long memberId;
+
+ /**
+ * 订单编号
+ */
+ private String orderNo;
+
+ /**
+ * 仓位类型 1-逐仓 2-全仓
+ */
+ private int positionType;
+
+ /**
+ * 交易类型 1-市价 2-限价
+ */
+ private int tradeType;
+
+ /**
+ * 订单类型 - 1开多,2开空,3平多,4平空
+ */
+ private int orderType;
+
+ /**
+ * 订单状态 - 1成交 2撤单
+ */
+ private int orderStatus = 1;
+
+ /**
+ * 委托开仓价
+ */
+ private BigDecimal entrustOpeningPrice;
+
+ /**
+ * 委托时间
+ */
+ private Date entrustTime;
+
+ /**
+ * 币种
+ */
+ private String symbol;
+
+ /**
+ * 手数
+ */
+ private int symbolCnt;
+
+ /**
+ * 币种规格
+ */
+ private BigDecimal symbolSku;
+
+ /**
+ * 平仓价
+ */
+ private BigDecimal closingPrice;
+
+ /**
+ * 平仓手续费
+ */
+ private BigDecimal closingFeeAmount;
+
+ /**
+ * 平仓时间
+ */
+ private Date closingTime;
+
+ /**
+ * 平仓类型 2平多3平空4爆仓平多5爆仓平空6止盈平多7止盈平空8止损平多9止损平空
+ */
+ private int closingType;
+
+ /**
+ * 杠杆倍率
+ */
+ private int leverRatio;
+
+ /**
+ * 止损价
+ */
+ private BigDecimal stopLossPrice;
+
+ /**
+ * 止盈价
+ */
+ private BigDecimal stopProfitPrice;
+
+ /**
+ * 盈亏金额
+ */
+ private BigDecimal rewardAmount;
+
+ /**
+ * 盈亏比例
+ */
+ private BigDecimal rewardRatio;
+
+ /**
+ * 开仓价
+ */
+ private BigDecimal openingPrice;
+
+ /**
+ * 开仓手续费
+ */
+ private BigDecimal openingFeeAmount;
+
+ private Date openingTime;
+
+ /**
+ * 预付款金额
+ */
+ private BigDecimal prePaymentAmount;
+
+ /**
+ * 保证金
+ */
+ private BigDecimal bondAmount;
+
+ /**
+ * 市场价
+ */
+ private BigDecimal markPrice;
+
+ /**
+ * 预估强平价
+ */
+ private BigDecimal forceClosingPrice;
+
+ /**
+ * 持仓费
+ */
+ private BigDecimal holdAmount;
+
+ private int operateNo;
+
+ /**
+ * 手机号(包含国际手机号)
+ */
+ @TableField(exist = false)
+ private String phone;
+ /**
+ * 邮箱
+ */
+ @TableField(exist = false)
+ private String email;
+ @TableField(exist = false)
+ private String account;
+ /**
+ * 邀请码
+ */
+ @TableField(exist = false)
+ private String inviteId;
+
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/trademanage/entity/MemberWalletAgentEntity.java b/src/main/java/com/xcong/excoin/modules/trademanage/entity/MemberWalletAgentEntity.java
new file mode 100644
index 0000000..66f5150
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/trademanage/entity/MemberWalletAgentEntity.java
@@ -0,0 +1,60 @@
+package com.xcong.excoin.modules.trademanage.entity;
+
+import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.xcong.excoin.common.entity.BaseEntity;
+
+import lombok.Data;
+
+/**
+ * 代理用户钱包
+ *
+ * @author wzy
+ * @date 2020-05-18
+ **/
+@Data
+@TableName("member_wallet_agent")
+public class MemberWalletAgentEntity extends BaseEntity {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 用户Id
+ */
+ private Long memberId;
+
+ /**
+ * 可用余额
+ */
+ private BigDecimal availableBalance;
+
+ /**
+ * 总金额
+ */
+ private BigDecimal totalBalance;
+
+ /**
+ * 冻结金额
+ */
+ private BigDecimal frozenBalance;
+
+ /**
+ * 借入资产金额
+ */
+ private BigDecimal borrowedFund;
+
+ /**
+ * 钱包标识
+ */
+ private String walletCode;
+
+ /**
+ * 钱包地址
+ */
+ private String walletAddress;
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/trademanage/mapper/ContractHoldOrderEntityMapper.java b/src/main/java/com/xcong/excoin/modules/trademanage/mapper/ContractHoldOrderEntityMapper.java
index 9dcfc86..1c94218 100644
--- a/src/main/java/com/xcong/excoin/modules/trademanage/mapper/ContractHoldOrderEntityMapper.java
+++ b/src/main/java/com/xcong/excoin/modules/trademanage/mapper/ContractHoldOrderEntityMapper.java
@@ -1,22 +1,14 @@
package com.xcong.excoin.modules.trademanage.mapper;
import org.apache.ibatis.annotations.Param;
-import org.mapstruct.Mapper;
-
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.ContractHoldOrderEntity;
-/**
- * @author wzy
- * @date 2020-05-31
- **/
-@Mapper
public interface ContractHoldOrderEntityMapper extends BaseMapper<ContractHoldOrderEntity> {
IPage<ContractHoldOrderEntity> selectContractHoldOrderListInPage(Page<ContractHoldOrderEntity> page,
- @Param("contractHoldOrderEntity") ContractHoldOrderEntity contractHoldOrderEntity);
+ @Param("record") ContractHoldOrderEntity contractHoldOrderEntity);
- long countContractHoldOrderSql(@Param("contractHoldOrderEntity") ContractHoldOrderEntity contractHoldOrderEntity);
}
diff --git a/src/main/java/com/xcong/excoin/modules/trademanage/mapper/ContractOrderMapper.java b/src/main/java/com/xcong/excoin/modules/trademanage/mapper/ContractOrderMapper.java
new file mode 100644
index 0000000..1082687
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/trademanage/mapper/ContractOrderMapper.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.ContractOrderEntity;
+
+public interface ContractOrderMapper extends BaseMapper<ContractOrderEntity> {
+
+ IPage<ContractOrderEntity> findMemberHistoryOrderInfoInPage(Page<ContractOrderEntity> page,
+ @Param("record") ContractOrderEntity contractOrderEntity);
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/trademanage/mapper/MemberWalletAgentMapper.java b/src/main/java/com/xcong/excoin/modules/trademanage/mapper/MemberWalletAgentMapper.java
new file mode 100644
index 0000000..4587d73
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/trademanage/mapper/MemberWalletAgentMapper.java
@@ -0,0 +1,8 @@
+package com.xcong.excoin.modules.trademanage.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xcong.excoin.modules.trademanage.entity.MemberWalletAgentEntity;
+
+public interface MemberWalletAgentMapper extends BaseMapper<MemberWalletAgentEntity>{
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/trademanage/service/ContractHoldOrderService.java b/src/main/java/com/xcong/excoin/modules/trademanage/service/ContractHoldOrderService.java
deleted file mode 100644
index f09ab25..0000000
--- a/src/main/java/com/xcong/excoin/modules/trademanage/service/ContractHoldOrderService.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.xcong.excoin.modules.trademanage.service;
-
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.xcong.excoin.common.entity.QueryRequest;
-import com.xcong.excoin.modules.trademanage.entity.ContractHoldOrderEntity;
-
-/**
- * @author helius
- */
-public interface ContractHoldOrderService extends IService<ContractHoldOrderEntity> {
-
- IPage<ContractHoldOrderEntity> findContractHoldOrderListInPage(ContractHoldOrderEntity contractHoldOrderEntity, QueryRequest request);
-
-}
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
new file mode 100644
index 0000000..c5503ce
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/trademanage/service/TradeManageService.java
@@ -0,0 +1,26 @@
+package com.xcong.excoin.modules.trademanage.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.service.IService;
+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.ContractHoldOrderEntity;
+import com.xcong.excoin.modules.trademanage.entity.ContractOrderEntity;
+import com.xcong.excoin.modules.trademanage.vo.MemberAccountInfoVo;
+
+/**
+ * @author helius
+ */
+public interface TradeManageService extends IService<ContractHoldOrderEntity> {
+
+ IPage<ContractHoldOrderEntity> findContractHoldOrderListInPage(ContractHoldOrderEntity contractHoldOrderEntity, QueryRequest request);
+
+ IPage<MemberAccountInfoVo> findMemberAccountInfoListInPage(MemberEntity memberEntity, QueryRequest request);
+
+ IPage<MemberAccountMoneyChangeEntity> findMemberAgentReturnInfoInPage(MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity,
+ QueryRequest request);
+
+ IPage<ContractOrderEntity> findMemberHistoryOrderInfoInPage(ContractOrderEntity contractOrderEntity, QueryRequest request);
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/trademanage/service/impl/ContractHoldOrderServiceImpl.java b/src/main/java/com/xcong/excoin/modules/trademanage/service/impl/ContractHoldOrderServiceImpl.java
deleted file mode 100644
index 87c55ad..0000000
--- a/src/main/java/com/xcong/excoin/modules/trademanage/service/impl/ContractHoldOrderServiceImpl.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package com.xcong.excoin.modules.trademanage.service.impl;
-
-import javax.annotation.Resource;
-
-import org.springframework.stereotype.Service;
-
-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.entity.QueryRequest;
-import com.xcong.excoin.modules.trademanage.entity.ContractHoldOrderEntity;
-import com.xcong.excoin.modules.trademanage.mapper.ContractHoldOrderEntityMapper;
-import com.xcong.excoin.modules.trademanage.service.ContractHoldOrderService;
-
-@Service
-public class ContractHoldOrderServiceImpl extends ServiceImpl<ContractHoldOrderEntityMapper, ContractHoldOrderEntity> implements ContractHoldOrderService{
-
- @Resource
- ContractHoldOrderEntityMapper contractHoldOrderEntityMapper;
-
- @Override
- public IPage<ContractHoldOrderEntity> findContractHoldOrderListInPage(
- ContractHoldOrderEntity contractHoldOrderEntity, QueryRequest request) {
- Page<ContractHoldOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
- return this.baseMapper.selectContractHoldOrderListInPage(page, contractHoldOrderEntity);
- }
-
-}
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
new file mode 100644
index 0000000..46577cc
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/trademanage/service/impl/TradeManageServiceImpl.java
@@ -0,0 +1,131 @@
+package com.xcong.excoin.modules.trademanage.service.impl;
+
+
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.springframework.stereotype.Service;
+
+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.entity.QueryRequest;
+import com.xcong.excoin.common.utils.CoinTypeConvert;
+import com.xcong.excoin.common.utils.RedisUtils;
+import com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity;
+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.ContractHoldOrderEntity;
+import com.xcong.excoin.modules.trademanage.entity.ContractOrderEntity;
+import com.xcong.excoin.modules.trademanage.entity.MemberWalletAgentEntity;
+import com.xcong.excoin.modules.trademanage.mapper.ContractHoldOrderEntityMapper;
+import com.xcong.excoin.modules.trademanage.mapper.ContractOrderMapper;
+import com.xcong.excoin.modules.trademanage.mapper.MemberWalletAgentMapper;
+import com.xcong.excoin.modules.trademanage.service.TradeManageService;
+import com.xcong.excoin.modules.trademanage.vo.MemberAccountInfoVo;
+import lombok.RequiredArgsConstructor;
+
+@Service
+@RequiredArgsConstructor
+public class TradeManageServiceImpl extends ServiceImpl<ContractHoldOrderEntityMapper, ContractHoldOrderEntity> implements TradeManageService{
+
+ private final ContractHoldOrderEntityMapper contractHoldOrderEntityMapper;
+
+ private final MemberMapper memberMapper;
+
+ private final MemberWalletAgentMapper memberWalletAgentMapper;
+
+ private final MemberAccountMoneyChangeMapper memberAccountMoneyChangeMapper;
+
+ private final ContractOrderMapper contractHoldOrderMapper;
+
+ private final RedisUtils redisUtils;
+
+ @Override
+ public IPage<ContractHoldOrderEntity> findContractHoldOrderListInPage(
+ ContractHoldOrderEntity contractHoldOrderEntity, QueryRequest request) {
+ Page<ContractHoldOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<ContractHoldOrderEntity> findMemberAccountInfoListInPage = contractHoldOrderEntityMapper.selectContractHoldOrderListInPage(page, contractHoldOrderEntity);
+ List<ContractHoldOrderEntity> records = findMemberAccountInfoListInPage.getRecords();
+
+ if (records != null) {
+ for (ContractHoldOrderEntity holdOrderEntity : records) {
+ MemberEntity selectById = memberMapper.selectById(holdOrderEntity.getMemberId());
+ // 获取最新价
+ BigDecimal newPrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(holdOrderEntity.getSymbol())));
+ BigDecimal lotNumber = holdOrderEntity.getSymbolSku();
+ // 盈亏
+ BigDecimal rewardRatio = BigDecimal.ZERO;
+ // 开多
+ if (ContractHoldOrderEntity.OPENING_TYPE_MORE == holdOrderEntity.getOpeningType()) {
+ // (最新价-开仓价)*规格*张数
+ rewardRatio = newPrice.subtract(holdOrderEntity.getOpeningPrice()).multiply(lotNumber).multiply(new BigDecimal(holdOrderEntity.getSymbolCnt()));
+ // 开空
+ } else {
+ // (开仓价-最新价)*规格*张数
+ rewardRatio = holdOrderEntity.getOpeningPrice().subtract(newPrice).multiply(lotNumber).multiply(new BigDecimal(holdOrderEntity.getSymbolCnt()));
+ }
+
+ if (selectById.getIsProfit() == MemberEntity.IS_PROFIT_Y) {
+ String selectTradeSetting = memberMapper.selectTradeSetting();
+ BigDecimal profitParam=new BigDecimal(selectTradeSetting);
+ if (rewardRatio.compareTo(BigDecimal.ZERO) > -1) {
+ rewardRatio = rewardRatio.multiply(BigDecimal.ONE.subtract(profitParam));
+ } else {
+ rewardRatio = rewardRatio.multiply(BigDecimal.ONE.add(profitParam));
+ }
+ }
+
+ holdOrderEntity.setRewardRatio(rewardRatio);
+ }
+ }
+ return findMemberAccountInfoListInPage;
+ }
+
+ @Override
+ public IPage<MemberAccountInfoVo> findMemberAccountInfoListInPage(MemberEntity memberEntity, QueryRequest request) {
+ Page<MemberEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<MemberAccountInfoVo> selectMemberListInPage = memberMapper.findMemberAccountInfoListInPage(page, memberEntity);
+ List<MemberAccountInfoVo> records = selectMemberListInPage.getRecords();
+ if(records.size() > 0) {
+ for(MemberAccountInfoVo memberAccountInfoVo : records) {
+ Long memberId = memberAccountInfoVo.getId();
+ String inviteId = memberMapper.selectAgentForAccount(memberId);
+ if("".equals(inviteId) || inviteId == null) {
+ memberAccountInfoVo.setIsSuAccount(0);
+ }else {
+ memberAccountInfoVo.setIsSuAccount(1);
+ }
+ Map<String, Object> columnMap = new HashMap<>();
+ columnMap.put("member_id", memberId);
+ List<MemberWalletAgentEntity> selectByMap = memberWalletAgentMapper.selectByMap(columnMap);
+ if(selectByMap.size() > 0) {
+ BigDecimal availableBalance = selectByMap.get(0).getAvailableBalance();
+ memberAccountInfoVo.setAgentAvailableBalance(availableBalance);
+ }
+
+ }
+ }
+ return selectMemberListInPage;
+ }
+
+ @Override
+ public IPage<MemberAccountMoneyChangeEntity> findMemberAgentReturnInfoInPage(
+ MemberAccountMoneyChangeEntity memberAccountMoneyChangeEntity, QueryRequest request) {
+ Page<MemberAccountMoneyChangeEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<MemberAccountMoneyChangeEntity> findMemberAccountInfoListInPage = memberAccountMoneyChangeMapper.findMemberAccountInfoListInPage(page, memberAccountMoneyChangeEntity);
+ return findMemberAccountInfoListInPage;
+ }
+
+ @Override
+ public IPage<ContractOrderEntity> findMemberHistoryOrderInfoInPage(
+ ContractOrderEntity contractOrderEntity, QueryRequest request) {
+ Page<ContractOrderEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+ IPage<ContractOrderEntity> findMemberAccountInfoListInPage = contractHoldOrderMapper.findMemberHistoryOrderInfoInPage(page, contractOrderEntity);
+ return findMemberAccountInfoListInPage;
+ }
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/trademanage/vo/MemberAccountInfoVo.java b/src/main/java/com/xcong/excoin/modules/trademanage/vo/MemberAccountInfoVo.java
new file mode 100644
index 0000000..efd947b
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/trademanage/vo/MemberAccountInfoVo.java
@@ -0,0 +1,55 @@
+package com.xcong.excoin.modules.trademanage.vo;
+
+import java.math.BigDecimal;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+
+@Data
+public class MemberAccountInfoVo {
+
+ @TableId(value = "id",type = IdType.AUTO)
+ private Long id;
+ /**
+ * 手机号(包含国际手机号)
+ */
+ private String phone;
+ /**
+ * 邮箱
+ */
+ private String email;
+ private String inviteId;
+ /**
+ * 币币可用金额
+ */
+ private BigDecimal walletCoinAvailableBalance;
+ /**
+ * 币币总金额
+ */
+ private BigDecimal walletCoinTotalBalance;
+ /**
+ * 币币冻结金额
+ */
+ private BigDecimal walletCoinFrozenBalance;
+ /**
+ * 合约可用金额
+ */
+ private BigDecimal walletAvailableBalance;
+ /**
+ * 合约总金额
+ */
+ private BigDecimal walletTotalBalance;
+ /**
+ * 合约冻结金额
+ */
+ private BigDecimal walletFrozenBalance;
+ /**
+ * 是否是代理
+ */
+ private int isSuAccount;
+ /**
+ * 代理可用金额
+ */
+ private BigDecimal agentAvailableBalance;
+
+}
diff --git a/src/main/resources/mapper/modules/ContractHoldOrderEntityMapper.xml b/src/main/resources/mapper/modules/ContractHoldOrderEntityMapper.xml
new file mode 100644
index 0000000..be4ee04
--- /dev/null
+++ b/src/main/resources/mapper/modules/ContractHoldOrderEntityMapper.xml
@@ -0,0 +1,20 @@
+<?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.ContractHoldOrderEntityMapper">
+
+ <select id="selectContractHoldOrderListInPage" resultType="com.xcong.excoin.modules.trademanage.entity.ContractHoldOrderEntity">
+ SELECT
+ *
+ FROM
+ contract_hold_order s
+ LEFT JOIN member m ON m.id = s.member_id
+ <where>
+ <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>
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/ContractOrderMapper.xml b/src/main/resources/mapper/modules/ContractOrderMapper.xml
new file mode 100644
index 0000000..5bc1ccd
--- /dev/null
+++ b/src/main/resources/mapper/modules/ContractOrderMapper.xml
@@ -0,0 +1,21 @@
+<?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.ContractOrderMapper">
+
+ <select id="findMemberHistoryOrderInfoInPage" resultType="com.xcong.excoin.modules.trademanage.entity.ContractOrderEntity">
+ SELECT
+ *
+ FROM
+ contract_order s
+ LEFT JOIN member m ON m.id = s.member_id
+ <where>
+ <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.order_no DESC,s.create_time asc
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MemberAccountMoneyChangeMapper.xml b/src/main/resources/mapper/modules/MemberAccountMoneyChangeMapper.xml
new file mode 100644
index 0000000..870285f
--- /dev/null
+++ b/src/main/resources/mapper/modules/MemberAccountMoneyChangeMapper.xml
@@ -0,0 +1,30 @@
+<?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.member.mapper.MemberAccountMoneyChangeMapper">
+
+ <select id="findMemberAccountInfoListInPage" resultType="com.xcong.excoin.modules.member.entity.MemberAccountMoneyChangeEntity">
+ SELECT
+ m.phone,
+ m.email,
+ m.invite_id inviteId,
+ s.symbol,
+ s.amount,
+ s.content,
+ s.create_time createTime,
+ s. STATUS,
+ s.type
+ FROM
+ member_account_money_change s
+ LEFT JOIN member m ON m.id = s.member_id
+ <where>
+ s.type = 3
+ and s.content like '%佣金入账%'
+ <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>
+ </select>
+
+</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MemberCoinChargeMapper.xml b/src/main/resources/mapper/modules/MemberCoinChargeMapper.xml
index c57cc3f..0017314 100644
--- a/src/main/resources/mapper/modules/MemberCoinChargeMapper.xml
+++ b/src/main/resources/mapper/modules/MemberCoinChargeMapper.xml
@@ -7,7 +7,7 @@
<where>
<if test="record != null" >
<if test="record.account!=null and record.account!=''">
- and (m.phone = #{record.account} or m.email = #{record.account} or s.member_id=#{record.account})
+ and (m.phone = #{record.account} or m.email = #{record.account} or m.invite_id=#{record.account})
</if>
<if test="record.address!=null and record.address!=''">
and s.address=#{record.address}
diff --git a/src/main/resources/mapper/modules/MemberCoinWithdrawMapper.xml b/src/main/resources/mapper/modules/MemberCoinWithdrawMapper.xml
index 2616c75..1bc3418 100644
--- a/src/main/resources/mapper/modules/MemberCoinWithdrawMapper.xml
+++ b/src/main/resources/mapper/modules/MemberCoinWithdrawMapper.xml
@@ -10,7 +10,7 @@
<where>
<if test="record != null" >
<if test="record.account!=null and record.account!=''">
- and (m.phone = #{record.account} or m.email = #{record.account} or s.member_id=#{record.account})
+ and (m.phone = #{record.account} or m.email = #{record.account} or m.invite_id=#{record.account})
</if>
<if test="record.isInside!=null and record.isInside!=''">
and s.is_inside= #{record.isInside}
diff --git a/src/main/resources/mapper/modules/MemberMapper.xml b/src/main/resources/mapper/modules/MemberMapper.xml
index 380a747..0e7783d 100644
--- a/src/main/resources/mapper/modules/MemberMapper.xml
+++ b/src/main/resources/mapper/modules/MemberMapper.xml
@@ -2,7 +2,6 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xcong.excoin.modules.member.mapper.MemberMapper">
-
<select id="selectMemberListInPage" resultType="com.xcong.excoin.modules.member.entity.MemberEntity">
select * from member
<where>
@@ -29,5 +28,38 @@
</where>
order by create_time desc
</select>
+
+ <select id="findMemberAccountInfoListInPage" resultType="com.xcong.excoin.modules.trademanage.vo.MemberAccountInfoVo">
+ SELECT
+ m.id,
+ m.phone,
+ m.email,
+ m.invite_id inviteId,
+ a.available_balance walletCoinAvailableBalance,
+ a.total_balance walletCoinTotalBalance,
+ a.frozen_balance walletCoinFrozenBalance,
+ b.available_balance walletAvailableBalance,
+ b.total_balance walletTotalBalance,
+ b.frozen_balance walletFrozenBalance
+ FROM
+ member m
+ LEFT JOIN member_wallet_coin b ON m.id = b.member_id
+ LEFT JOIN member_wallet_contract a ON a.member_id = m.id
+ <where>
+ b.wallet_code = 'USDT'
+ <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>
+ </where>
+ order by m.create_time desc
+ </select>
+
+ <select id="selectAgentForAccount" resultType="java.lang.String">
+ select invite_id from agent_friend_relation where member_id = #{memberId}
+ </select>
+
+ <select id="selectTradeSetting" resultType="java.lang.String">
+ select profit_param from platform_trade_setting
+ </select>
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/modules/MemberQuickBuySaleMapper.xml b/src/main/resources/mapper/modules/MemberQuickBuySaleMapper.xml
index 1e6caa7..d6b9f41 100644
--- a/src/main/resources/mapper/modules/MemberQuickBuySaleMapper.xml
+++ b/src/main/resources/mapper/modules/MemberQuickBuySaleMapper.xml
@@ -9,7 +9,7 @@
s.order_type = 'B'
<if test="record != null" >
<if test="record.account!=null and record.account!=''">
- and (m.phone = #{record.account} or m.email = #{record.account} or s.member_id=#{record.account})
+ and (m.phone = #{record.account} or m.email = #{record.account} or m.invite_id=#{record.account})
</if>
<if test="record.orderStatus!=null and record.orderStatus!= 0" >
and s.order_status = #{record.orderStatus}
@@ -32,6 +32,7 @@
s.order_status orderStatus,
m.name,
m.account,
+ a.invite_id inviteId,
m.payment_qrcode paymentQrcode,
m.bank,
m.payment_type paymentType,
@@ -44,7 +45,7 @@
s.order_type = 'S'
<if test="record != null" >
<if test="record.account!=null and record.account!=''">
- and (a.phone = #{record.account} or a.email = #{record.account} or s.member_id=#{record.account})
+ and (a.phone = #{record.account} or a.email = #{record.account} or a.invite_id=#{record.account})
</if>
<if test="record.orderStatus!=null and record.orderStatus!= 0" >
and s.order_status = #{record.orderStatus}
diff --git a/src/main/resources/mapper/modules/contract/ContractHoldOrderDao.xml b/src/main/resources/mapper/modules/contract/ContractHoldOrderDao.xml
deleted file mode 100644
index e9797fe..0000000
--- a/src/main/resources/mapper/modules/contract/ContractHoldOrderDao.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?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.ContractHoldOrderEntityMapper">
- <sql id="countContractHoldOrderSql">
- SELECT
- COUNT(1)
- FROM
- contract_hold_order
- </sql>
-
- <sql id="findContractHoldOrderSql">
- SELECT a.* FROM contract_hold_order a
- </sql>
-
- <select id="selectContractHoldOrderListInPage"
- parameterType="contractHoldOrderEntity" resultType="contractHoldOrderEntity">
- <include refid="findContractHoldOrderSql" />
- </select>
-</mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/member/applyCoin.html b/src/main/resources/templates/febs/views/modules/member/applyCoin.html
index a66aa37..e2c4b21 100644
--- a/src/main/resources/templates/febs/views/modules/member/applyCoin.html
+++ b/src/main/resources/templates/febs/views/modules/member/applyCoin.html
@@ -105,7 +105,7 @@
cols: [[
{field: 'phone', title: '手机号码', minWidth: 120,align:'left'},
{field: 'email', title: '邮箱', minWidth: 200,align:'left'},
- {field: 'memberId', title: '邀请码UID', minWidth: 100,align:'center'},
+ {field: 'inviteId', title: '邀请码UID', minWidth: 80,align:'center'},
{field: 'symbol', title: '币种', minWidth: 60,align:'center'},
{field: 'tag', title: 'USDT类型', minWidth: 60,align:'center'},
{field: 'amount', title: '充币数量', minWidth: 100,align:'center'},
diff --git a/src/main/resources/templates/febs/views/modules/member/chargeUsdt.html b/src/main/resources/templates/febs/views/modules/member/chargeUsdt.html
index c73732b..8457960 100644
--- a/src/main/resources/templates/febs/views/modules/member/chargeUsdt.html
+++ b/src/main/resources/templates/febs/views/modules/member/chargeUsdt.html
@@ -166,7 +166,7 @@
cols: [[
{field: 'phone', title: '手机号码', minWidth: 120,align:'left'},
{field: 'email', title: '邮箱', minWidth: 200,align:'left'},
- {field: 'memberId', title: '邀请码UID', minWidth: 100,align:'center'},
+ {field: 'inviteId', title: '邀请码UID', minWidth: 120,align:'center'},
{field: 'amountCny', title: '人民币金额', minWidth: 120,align:'center'},
{field: 'amountUsdt', title: 'USDT金额', minWidth: 120,align:'center'},
{field: 'unitPrice', title: '单价', minWidth: 80,align:'center'},
diff --git a/src/main/resources/templates/febs/views/modules/member/extractUsdt.html b/src/main/resources/templates/febs/views/modules/member/extractUsdt.html
index ae18824..499fcd8 100644
--- a/src/main/resources/templates/febs/views/modules/member/extractUsdt.html
+++ b/src/main/resources/templates/febs/views/modules/member/extractUsdt.html
@@ -167,17 +167,17 @@
cols: [[
{field: 'phone', title: '手机号码', minWidth: 120,align:'left'},
{field: 'email', title: '邮箱', minWidth: 200,align:'left'},
- {field: 'memberId', title: '邀请码UID', minWidth: 100,align:'center'},
+ {field: 'inviteId', title: '邀请码UID', minWidth: 80,align:'center'},
{field: 'amountCny', title: '人民币金额', minWidth: 120,align:'center'},
{field: 'amountUsdt', title: 'USDT金额', minWidth: 120,align:'center'},
{field: 'unitPrice', title: '单价', minWidth: 80,align:'center'},
{field: 'createTime', title: '提现时间', minWidth: 180,align:'center'},
{title: '提现状态', templet: '#order-Status', minWidth: 100,align:'center'},
- {field: 'orderNo', title: '订单编号', minWidth: 150,align:'center'},
+ {title: '收款方式', templet: '#payment-Type', minWidth: 100,align:'center'},
{field: 'paymentQrcode', title: '支付码', minWidth: 120,align:'center'},
+ {field: 'orderNo', title: '订单编号', minWidth: 150,align:'center'},
{field: 'name', title: '收款人', minWidth: 150,align:'center'},
{field: 'account', title: '收款账号', minWidth: 150,align:'center'},
- {title: '收款方式', templet: '#payment-Type', minWidth: 100,align:'center'},
{field: 'paymentAccount', title: '二维码', minWidth: 150,align:'center'},
{field: 'bank', title: '所属银行', minWidth: 150,align:'center'},
{title: '操作', toolbar: '#user-option', minWidth: 150, fixed : 'right'}
diff --git a/src/main/resources/templates/febs/views/modules/member/withdrawCoin.html b/src/main/resources/templates/febs/views/modules/member/withdrawCoin.html
index 041579e..845aaaf 100644
--- a/src/main/resources/templates/febs/views/modules/member/withdrawCoin.html
+++ b/src/main/resources/templates/febs/views/modules/member/withdrawCoin.html
@@ -166,7 +166,7 @@
cols: [[
{field: 'phone', title: '手机号码', minWidth: 120,align:'left'},
{field: 'email', title: '邮箱', minWidth: 200,align:'left'},
- {field: 'memberId', title: '邀请码UID', minWidth: 100,align:'center'},
+ {field: 'inviteId', title: '邀请码UID', minWidth: 80,align:'center'},
{field: 'symbol', title: '币种', minWidth: 100,align:'center'},
{field: 'amount', title: '提币数量', minWidth: 120,align:'center'},
{field: 'address', title: '提币地址', minWidth: 300,align:'center'},
diff --git a/src/main/resources/templates/febs/views/modules/trademanage/accountInfo.html b/src/main/resources/templates/febs/views/modules/trademanage/accountInfo.html
new file mode 100644
index 0000000..887f87d
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/trademanage/accountInfo.html
@@ -0,0 +1,107 @@
+<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"></i>
+ </div>
+ <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain table-action" id="reset">
+ <i class="layui-icon"></i>
+ </div>
+ </div>
+ </div>
+ </form>
+ <table lay-filter="userTable" lay-data="{id: 'userTable'}"></table>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+<script type="text/html" id="isSuAccount">
+ {{#
+ var isSuAccount = {
+ "1": {title: '是' , color: 'green'},
+ "0": {title: '否' , color: 'red' }
+ }[d.isSuAccount];
+ }}
+ <span class="layui-badge febs-tag-{{isSuAccount.color}}">{{ isSuAccount.title }}</span>
+</script>
+<!-- 表格操作栏 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/memberAccountInfo',
+ cols: [[
+ {field: 'phone', title: '手机号', minWidth: 100,align:'left'},
+ {field: 'email', title: '邮箱', minWidth: 200,align:'left'},
+ {field: 'inviteId', title: '邀请码UID', minWidth: 80,align:'center'},
+ {field: 'walletCoinAvailableBalance', title: '币币可用', minWidth: 80,align:'center'},
+ {field: 'walletCoinFrozenBalance', title: '币币冻结', minWidth: 80,align:'center'},
+ {field: 'walletCoinTotalBalance', title: '币币总金额', minWidth: 80,align:'center'},
+ {field: 'walletAvailableBalance', title: '合约可用', minWidth: 80,align:'center'},
+ {field: 'walletFrozenBalance', title: '合约冻结', minWidth: 80,align:'center'},
+ {field: 'walletTotalBalance', title: '合约总金额', minWidth: 80,align:'center'},
+ {title: '是否是代理', templet: '#isSuAccount', minWidth: 100,align:'center'},
+ {field: 'agentAvailableBalance', title: '代理账户', minWidth: 80,align:'center'}
+ ]]
+ });
+ }
+
+ // 获取查询参数
+ function getQueryParams() {
+ return {
+ account: $searchForm.find('input[name="account"]').val().trim(),
+ };
+ }
+
+ })
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/trademanage/agentReturnInfo.html b/src/main/resources/templates/febs/views/modules/trademanage/agentReturnInfo.html
new file mode 100644
index 0000000..633f076
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/trademanage/agentReturnInfo.html
@@ -0,0 +1,116 @@
+<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"></i>
+ </div>
+ <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain table-action" id="reset">
+ <i class="layui-icon"></i>
+ </div>
+ </div>
+ </div>
+ </form>
+ <table lay-filter="userTable" lay-data="{id: 'userTable'}"></table>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+<script type="text/html" id="isType">
+ {{#
+ var type = {
+ "1": {title: '币币资产' , color: 'red'},
+ "2": {title: '合约资产' , color: 'green'},
+ "3": {title: '代理资产' , color: 'blue' }
+ }[d.type];
+ }}
+ <span class="layui-badge febs-tag-{{type.color}}">{{ type.title }}</span>
+</script>
+<script type="text/html" id="status">
+ {{#
+ var status = {
+ "2": {title: '失败' , color: 'red'},
+ "1": {title: '成功' , color: 'green'},
+ "0": {title: '待审核' , color: 'blue' }
+ }[d.status];
+ }}
+ <span class="layui-badge febs-tag-{{status.color}}">{{ status.title }}</span>
+</script>
+<!-- 表格操作栏 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',
+ cols: [[
+ {field: 'phone', title: '手机号', minWidth: 100,align:'left'},
+ {field: 'email', title: '邮箱', minWidth: 200,align:'left'},
+ {field: 'inviteId', title: '邀请码UID', minWidth: 80,align:'center'},
+ {field: 'symbol', title: '币种', minWidth: 80,align:'center'},
+ {field: 'amount', title: '金额', minWidth: 80,align:'center'},
+ {field: 'content', title: '记录内容', minWidth: 80,align:'center'},
+ {field: 'createTime', title: '时间', minWidth: 80,align:'center'},
+ {title: '状态', templet: '#status', minWidth: 100,align:'center'},
+ {title: '类型', templet: '#isType', minWidth: 100,align:'center'},
+ ]]
+ });
+ }
+
+ // 获取查询参数
+ function getQueryParams() {
+ return {
+ account: $searchForm.find('input[name="account"]').val().trim(),
+ };
+ }
+
+ })
+</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/trademanage/contractHoldOrder.html b/src/main/resources/templates/febs/views/modules/trademanage/contractHoldOrder.html
index 151cf48..a9cb42e 100644
--- a/src/main/resources/templates/febs/views/modules/trademanage/contractHoldOrder.html
+++ b/src/main/resources/templates/febs/views/modules/trademanage/contractHoldOrder.html
@@ -8,9 +8,8 @@
<div class="layui-col-md10">
<div class="layui-form-item">
<div class="layui-inline">
- <label class="layui-form-label layui-form-label-sm">用户名</label>
<div class="layui-input-inline">
- <input type="text" name="username" autocomplete="off" class="layui-input">
+ <input type="text" placeholder="手机号/邮箱/邀请码" name="account" autocomplete="off" class="layui-input">
</div>
</div>
</div>
@@ -22,30 +21,36 @@
<div class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain table-action" id="reset">
<i class="layui-icon"></i>
</div>
- <div class="layui-btn layui-btn-sm layui-btn-primary table-action action-more"
- shiro:hasAnyPermissions="user:add,user:update,user:password:reset,user:export">
- <i class="layui-icon"></i>
- </div>
</div>
</div>
</form>
- <table lay-filter="contractHoldOrderTable" lay-data="{id: 'contractHoldOrderTable'}"></table>
+ <table lay-filter="userTable" lay-data="{id: 'userTable'}"></table>
</div>
</div>
</div>
</div>
</div>
-<script type="text/html" id="user-option">
- <span shiro:lacksPermission="user:view,user:update,user:delete">
- <span class="layui-badge-dot febs-bg-orange"></span> 无权限
- </span>
- <a lay-event="detail" shiro:hasPermission="user:view"><i
- class="layui-icon febs-edit-area febs-green"></i></a>
- <a lay-event="edit" shiro:hasPermission="user:update"><i
- class="layui-icon febs-edit-area febs-blue"></i></a>
- <a lay-event="del" shiro:hasPermission="user:delete"><i class="layui-icon febs-edit-area febs-red"></i></a>
+<script type="text/html" id="tradeType">
+ {{#
+ var tradeType = {
+ 1: {title: '市价' , color: 'green'},
+ 2: {title: '限价' , color: 'blue' }
+ }[d.tradeType];
+ }}
+ <span class="layui-badge febs-tag-{{tradeType.color}}">{{ tradeType.title }}</span>
</script>
+<script type="text/html" id="openingType">
+ {{#
+ var openingType = {
+ 1: {title: '开多' , color: 'green'},
+ 2: {title: '开空' , color: 'red' }
+ }[d.openingType];
+ }}
+ <span class="layui-badge febs-tag-{{openingType.color}}">{{ openingType.title }}</span>
+</script>
+<!-- 表格操作栏 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,
@@ -59,47 +64,60 @@
$reset = $view.find('#reset'),
$searchForm = $view.find('form'),
sortObject = {field: 'createTime', type: null},
- tableIns,
- createTimeFrom,
- createTimeTo;
+ 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: 'contractHoldOrderTable',
- url: ctx + 'contractHoldOrder/getList',
+ id: 'userTable',
+ url: ctx + 'tradeManage/contractHoldOrder',
cols: [[
- {type: 'checkbox'},
- {field: 'memberId', title: 'uId', minWidth: 100},
- {field: 'memberId', title: '用户账号', minWidth: 100},
- {field: 'symbol', title: '币种', minWidth: 100},
- {field: 'tradeType', title: '建仓类型', minWidth: 100},
- {field: 'openingPrice', title: '建仓价格', minWidth: 100},
- {field: 'symbolCnt', title: '建仓张数', minWidth: 100}
+ {field: 'phone', title: '手机号', minWidth: 100,align:'left'},
+ {field: 'email', title: '邮箱', minWidth: 200,align:'left'},
+ {field: 'inviteId', title: '邀请码UID', minWidth: 120,align:'center'},
+ {field: 'orderNo', title: '订单编号', minWidth: 200,align:'center'},
+ {title: '开仓类型', templet: '#openingType', minWidth: 80,align:'center'},
+ {title: '交易类型', templet: '#tradeType', minWidth: 80,align:'center'},
+ {field: 'symbol', title: '币种', minWidth: 100,align:'center'},
+ {field: 'symbolCnt', title: '手数', minWidth: 80,align:'center'},
+ {field: 'rewardRatio', title: '实时盈亏', minWidth: 120,align:'center'},
+ {field: 'symbolSku', title: '币种规格', minWidth: 120,align:'center'},
+ {field: 'openingPrice', title: '开仓价', minWidth: 100,align:'center'},
+ {field: 'openingFeeAmount', title: '开仓手续费', minWidth: 120,align:'center'},
+ {field: 'bondAmount', title: '保证金', minWidth: 120,align:'center'},
+ {field: 'leverRatio', title: '杠杆倍率', minWidth: 120,align:'center'},
+ {field: 'stopLossPrice', title: '止损价', minWidth: 120,align:'center'},
+ {field: 'stopProfitPrice', title: '止盈价', minWidth: 120,align:'center'},
+ {field: 'prePaymentAmount', title: '预付款金额', minWidth: 120,align:'center'},
+ {field: 'forceClosingPrice', title: '预估强平价', minWidth: 120,align:'center'}
]]
});
}
- /* function getQueryParams() {
- var createTime = $searchForm.find('input[name="createTime"]').val();
- if (createTime) {
- createTimeFrom = createTime.split(' - ')[0];
- createTimeTo = createTime.split(' - ')[1];
- }
+ // 获取查询参数
+ function getQueryParams() {
return {
- createTimeFrom: createTimeFrom,
- createTimeTo: createTimeTo,
- username: $searchForm.find('input[name="username"]').val().trim(),
- status: $searchForm.find("select[name='status']").val(),
- sex: $searchForm.find("select[name='sex']").val(),
- mobile: $searchForm.find("input[name='mobile']").val().trim(),
- deptId: $searchForm.find("input[name='dept']").val().trim(),
- invalidate_ie_cache: new Date()
+ account: $searchForm.find('input[name="account"]').val().trim(),
};
- } */
+ }
+
})
</script>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/modules/trademanage/historyOrder.html b/src/main/resources/templates/febs/views/modules/trademanage/historyOrder.html
new file mode 100644
index 0000000..7601346
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/trademanage/historyOrder.html
@@ -0,0 +1,197 @@
+<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"></i>
+ </div>
+ <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain table-action" id="reset">
+ <i class="layui-icon"></i>
+ </div>
+ </div>
+ </div>
+ </form>
+ <table lay-filter="userTable" lay-data="{id: 'userTable'}"></table>
+ </div>
+ </div>
+ </div>
+ </div>
+</div>
+<script type="text/html" id="tradeType">
+ {{#
+ var tradeType = {
+ 1: {title: '市价' , color: 'green'},
+ 2: {title: '限价' , color: 'blue' }
+ }[d.tradeType];
+ }}
+ <span class="layui-badge febs-tag-{{tradeType.color}}">{{ tradeType.title }}</span>
+</script>
+<script type="text/html" id="closingType">
+ {{#
+ var closingType = {
+ 0: {title: '开仓' , color: 'blue'},
+ 2: {title: '平多' , color: 'green'},
+ 3: {title: '平空' , color: 'red'},
+ 4: {title: '爆仓平多' , color: 'red'},
+ 5: {title: '爆仓平空' , color: 'red'},
+ 6: {title: '止盈平多' , color: 'green'},
+ 7: {title: '止盈平空' , color: 'green'},
+ 8: {title: '止损平多' , color: 'red'},
+ 9: {title: '止损平空' , color: 'red'}
+ }[d.closingType];
+ }}
+ <span class="layui-badge febs-tag-{{closingType.color}}">{{ closingType.title }}</span>
+</script>
+<script type="text/html" id="orderStatus">
+ {{#
+ var orderStatus = {
+ 1: {title: '成交' , color: 'green'},
+ 2: {title: '撤单' , color: 'blue' }
+ }[d.orderStatus];
+ }}
+ <span class="layui-badge febs-tag-{{orderStatus.color}}">{{ orderStatus.title }}</span>
+</script>
+<script type="text/html" id="orderType">
+ {{#
+ var orderType = {
+ 1: {title: '开多' , color: 'green'},
+ 2: {title: '开空' , color: 'red'},
+ 3: {title: '平多' , color: 'green'},
+ 4: {title: '平空' , color: 'red' }
+ }[d.orderType];
+ }}
+ <span class="layui-badge febs-tag-{{orderType.color}}">{{ orderType.title }}</span>
+</script>
+<script type="text/html" id="openingType">
+ {{#
+ var openingType = {
+ 1: {title: '开多' , color: 'green'},
+ 2: {title: '开空' , color: 'red' }
+ }[d.openingType];
+ }}
+ <span class="layui-badge febs-tag-{{openingType.color}}">{{ openingType.title }}</span>
+</script>
+<script type="text/html" id="isCanClosing">
+ {{#
+ var openingType = {
+ 1: {title: '是' , color: 'green'},
+ 0: {title: '否' , color: 'red' }
+ }[d.isCanClosing];
+ }}
+ <span class="layui-badge febs-tag-{{isCanClosing.color}}">{{ isCanClosing.title }}</span>
+</script>
+<!-- 表格操作栏 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/historyOrderInfo',
+ cols: [[
+ {field: 'phone', title: '手机号', minWidth: 100,align:'left'},
+ {field: 'email', title: '邮箱', minWidth: 200,align:'left'},
+ {field: 'inviteId', title: '邀请码UID', minWidth: 120,align:'center'},
+ {field: 'orderNo', title: '订单编号', minWidth: 200,align:'center'},
+ {title: '交易类型', templet: '#tradeType', minWidth: 120,align:'center'},
+ {title: '订单类型', templet: '#orderType', minWidth: 120,align:'center'},
+ {title: '订单状态', templet: '#orderStatus', minWidth: 120,align:'center'},
+ {title: '平仓类型', templet: '#closingType', minWidth: 120,align:'center'},
+ {field: 'rewardAmount', title: '盈亏金额',
+ templet: function (d) {
+ if (d.rewardAmount > 0) {
+ return '<span style="color:green;">' + d.rewardAmount + '</span>'
+ }
+ if (d.rewardAmount < 0) {
+ return '<span style="color:red;">' + d.rewardAmount + '</span>'
+ }
+ if (d.rewardAmount == 0 || d.rewardAmount == "" || d.rewardAmount == null) {
+ return '<span></span>'
+ }
+ },minWidth: 120,align:'center'},
+ {field: 'openingPrice', title: '开仓价',
+ templet: function (d) {
+ if (d.closingPrice > 0 || d.closingPrice < 0) {
+ return '<span></span>'
+ }else{
+ return '<span>' + d.openingPrice + '</span>'
+ }
+ }, minWidth: 150,align:'center'},
+ {field: 'closingPrice', title: '平仓价', minWidth: 150,align:'center'},
+ {field: 'openingTime', title: '开仓时间', minWidth: 200,align:'center'},
+ {field: 'closingTime', title: '平仓时间', minWidth: 200,align:'center'},
+ {field: 'entrustOpeningPrice', title: '委托开仓价', minWidth: 150,align:'center'},
+ {field: 'entrustTime', title: '委托时间', minWidth: 200,align:'center'},
+
+ {field: 'symbol', title: '币种', minWidth: 120,align:'center'},
+ {field: 'symbolCnt', title: '手数', minWidth: 80,align:'center'},
+ {field: 'symbolSku', title: '币种规格', minWidth: 100,align:'center'},
+ {field: 'leverRatio', title: '杠杆倍率', minWidth: 120,align:'center'},
+ {field: 'stopLossPrice', title: '止损价', minWidth: 120,align:'center'},
+ {field: 'stopProfitPrice', title: '止盈价', minWidth: 120,align:'center'},
+ {field: 'rewardRatio', title: '盈亏比例', minWidth: 120,align:'center'},
+ {field: 'prePaymentAmount', title: '预付款金额', minWidth: 120,align:'center'},
+ {field: 'forceClosingPrice', title: '预估强平价', minWidth: 120,align:'center'},
+ {field: 'bondAmount', title: '保证金', minWidth: 120,align:'center'},
+ {field: 'openingFeeAmount', title: '开仓手续费', minWidth: 120,align:'center'},
+ {field: 'closingFeeAmount', title: '平仓手续费', minWidth: 100,align:'center'},
+ {field: 'holdAmount', title: '持仓费', minWidth: 120,align:'center'}
+ ]]
+ });
+ }
+
+ // 获取查询参数
+ function getQueryParams() {
+ return {
+ account: $searchForm.find('input[name="account"]').val().trim(),
+ };
+ }
+
+ })
+</script>
\ No newline at end of file
--
Gitblit v1.9.1