From 72c766b90d5a7140c4947efa4c9828ae0ed0e9c9 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 26 Oct 2023 11:34:22 +0800
Subject: [PATCH] 版本管理
---
src/main/java/cc/mrbird/febs/mall/service/impl/AdminChatServiceImpl.java | 9 ++++
src/main/java/cc/mrbird/febs/mall/vo/AdminChatUserPerkVo.java | 12 ++++++
src/main/resources/templates/febs/views/modules/chat/userPerkList.html | 57 ++++++++++++++++------------
src/main/resources/mapper/modules/ChatUserMapper.xml | 36 ++++++++++-------
4 files changed, 74 insertions(+), 40 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminChatServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminChatServiceImpl.java
index 67a2862..28e7d68 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminChatServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminChatServiceImpl.java
@@ -48,17 +48,24 @@
@Override
public IPage<AdminChatUserPerkVo> getUserPerkList(ChatUser chatUser, QueryRequest request) {
Page<AdminChatUserPerkVo> page = new Page<>(request.getPageNum(), request.getPageSize());
+ log.info(String.valueOf(chatUser.getIsRobot()));
IPage<AdminChatUserPerkVo> chatUserPerkVoIPage = this.baseMapper.selectUserPerkListInPage(page, chatUser);
List<AdminChatUserPerkVo> records = chatUserPerkVoIPage.getRecords();
if(CollUtil.isNotEmpty(records)){
for(AdminChatUserPerkVo adminChatUserPerkVo : records){
Long userId = adminChatUserPerkVo.getUserId();
List<AdminChatRedBagVo> group = this.baseMapper.selectListByMsgType(userId,"GROUP", null);
- adminChatUserPerkVo.setGroupRedBagNum(CollUtil.isEmpty(group) ? 0 : group.size());
+// adminChatUserPerkVo.setGroupRedBagNum(CollUtil.isEmpty(group) ? 0 : group.size());
BigDecimal redBagTotalAmount = group.stream().map(AdminChatRedBagVo::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
adminChatUserPerkVo.setRedBagTotalAmount(redBagTotalAmount);
BigDecimal redBagAvaAmount = group.stream().map(AdminChatRedBagVo::getAmountAva).reduce(BigDecimal.ZERO, BigDecimal::add);
adminChatUserPerkVo.setRedBagAvaAmount(redBagAvaAmount);
+ BigDecimal getRedbagAmount = this.baseMapper.selectTotalType(9, null, null);
+ adminChatUserPerkVo.setGetRedbagAmount(getRedbagAmount);
+ BigDecimal boomToAmount = this.baseMapper.selectTotalType(10, null, null);
+ adminChatUserPerkVo.setBoomToAmount(boomToAmount);
+ BigDecimal teamPerkAmount = this.baseMapper.selectTotalType(7, null, null);
+ adminChatUserPerkVo.setTeamPerkAmount(teamPerkAmount);
}
}
return chatUserPerkVoIPage;
diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminChatUserPerkVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminChatUserPerkVo.java
index b516b1c..3ee662d 100644
--- a/src/main/java/cc/mrbird/febs/mall/vo/AdminChatUserPerkVo.java
+++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminChatUserPerkVo.java
@@ -60,4 +60,16 @@
* 剩余未领取的总额
*/
private BigDecimal redBagAvaAmount;
+ /**
+ * 领取红包金额
+ */
+ private BigDecimal getRedbagAmount;
+ /**
+ * 用户中雷
+ */
+ private BigDecimal boomToAmount;
+ /**
+ * 等级收益
+ */
+ private BigDecimal teamPerkAmount;
}
diff --git a/src/main/resources/mapper/modules/ChatUserMapper.xml b/src/main/resources/mapper/modules/ChatUserMapper.xml
index c7c4d86..c02649c 100644
--- a/src/main/resources/mapper/modules/ChatUserMapper.xml
+++ b/src/main/resources/mapper/modules/ChatUserMapper.xml
@@ -49,27 +49,33 @@
a.is_robot isRobot,
date_format(a.create_time, '%Y-%m-%d %H:%m:%s') createTime,
IFNULL(sum(b.total_amount), 0) totalAmount,
- IFNULL(sum(b.ava_amount), 0) avaAmount
+ IFNULL(sum(b.ava_amount), 0) avaAmount,
+ (
+ SELECT
+ COUNT(c.id)
+ FROM chat_red_bag c
+ where c.from_user_id = a.user_id
+ AND c.msg_type = 'GROUP'
+ ) groupRedBagNum
from chat_user a
left join chat_wallet b on b.user_id = a.user_id and type = 'USDT'
<where>
- <if test="record != null">
- <if test="record.phone != null and record.phone != ''">
- and a.phone like CONCAT('%', CONCAT(#{record.phone}, '%'))
- </if>
- <if test="record.nickName != null and record.nickName != ''">
- and a.nick_name like CONCAT('%', CONCAT(#{record.nickName}, '%'))
- </if>
- <if test="record.inviteId != null and record.inviteId != ''">
- and a.invite_id = #{record.inviteId}
- </if>
- <if test="record.status != null and record.status != ''">
- and a.status = #{record.status}
- </if>
+ <if test="record.phone != null and record.phone != ''">
+ and a.phone like CONCAT('%', CONCAT(#{record.phone}, '%'))
+ </if>
+ <if test="record.nickName != null and record.nickName != ''">
+ and a.nick_name like CONCAT('%', CONCAT(#{record.nickName}, '%'))
+ </if>
+ <if test="record.inviteId != null and record.inviteId != ''">
+ and (find_in_set(#{record.inviteId}, referrer_ids) or invite_id = #{record.inviteId})
+ </if>
+ <if test="record.isRobot != null">
+ and a.is_robot = #{record.isRobot}
</if>
</where>
group by a.user_id
- order by a.create_time desc
+ order by
+ a.user_id asc ,a.create_time asc
</select>
<select id="selectByUserId" resultType="cc.mrbird.febs.mall.entity.ChatUser">
diff --git a/src/main/resources/templates/febs/views/modules/chat/userPerkList.html b/src/main/resources/templates/febs/views/modules/chat/userPerkList.html
index 2f30f11..374ae3b 100644
--- a/src/main/resources/templates/febs/views/modules/chat/userPerkList.html
+++ b/src/main/resources/templates/febs/views/modules/chat/userPerkList.html
@@ -13,25 +13,25 @@
<input type="text" placeholder="电话号码" name="phone" autocomplete="off" class="layui-input">
</div>
</div>
- <div class="layui-inline">
- <label class="layui-form-label">昵称:</label>
- <div class="layui-input-inline">
- <input type="text" placeholder="昵称" name="nickName" autocomplete="off" class="layui-input">
- </div>
- </div>
+<!-- <div class="layui-inline">-->
+<!-- <label class="layui-form-label">昵称:</label>-->
+<!-- <div class="layui-input-inline">-->
+<!-- <input type="text" placeholder="昵称" name="nickName" autocomplete="off" class="layui-input">-->
+<!-- </div>-->
+<!-- </div>-->
<div class="layui-inline">
<label class="layui-form-label">邀请码:</label>
<div class="layui-input-inline">
- <input type="text" placeholder="邀请码" name="inviteId" autocomplete="off" class="layui-input">
+ <input type="text" placeholder="邀请码(获取团队下的所有成员)" name="inviteId" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
- <label class="layui-form-label">账号状态:</label>
+ <label class="layui-form-label">用户类型:</label>
<div class="layui-input-inline">
- <select name="status">
+ <select name="isRobot">
<option value="">请选择</option>
- <option value="Y">正常</option>
- <option value="N">禁用</option>
+ <option value="0">用户</option>
+ <option value="1">机器人</option>
</select>
</div>
</div>
@@ -66,6 +66,13 @@
<input type="checkbox" value={{d.userId}} lay-text="是|否" checked lay-skin="switch" lay-filter="switchGetBoom">
{{# } else { }}
<input type="checkbox" value={{d.userId}} lay-text="是|否" lay-skin="switch" lay-filter="switchGetBoom">
+ {{# } }}
+</script>
+<script type="text/html" id="isRobot-type">
+ {{# if(d.isRobot == 1) { }}
+ <span class="layui-badge febs-bg-green">机器人</span>
+ {{# } else { }}
+ <span class="layui-badge febs-bg-blue">用户</span>
{{# } }}
</script>
<style>
@@ -119,9 +126,9 @@
function getQueryParams() {
return {
phone: $searchForm.find('input[name="phone"]').val().trim(),
- nickName: $searchForm.find('input[name="nickName"]').val().trim(),
+ // nickName: $searchForm.find('input[name="nickName"]').val().trim(),
inviteId: $searchForm.find('input[name="inviteId"]').val().trim(),
- status: $searchForm.find("select[name='status']").val()
+ isRobot: $searchForm.find("select[name='isRobot']").val()
};
}
@@ -135,18 +142,20 @@
totalRow: true ,// 开启合计行
cols: [[
{type: 'checkbox'},
- {field: 'userId', title: '标识', minWidth: 150,align:'left'},
- {field: 'phone', title: '电话号码', minWidth: 100,align:'left', totalRowText: '合计:',align:'center'},
- {field: 'nickName', title: '昵称', minWidth: 100,align:'left',},
- {field: 'inviteId', title: '邀请码', minWidth: 100,align:'left',align:'center'},
- {field: 'phone', title: '注册号码', minWidth: 150,align:'left',align:'center'},
- {field: 'totalAmount', title: '账户总额', minWidth: 80,align:'left',totalRow: '{{= parseInt(d.totalAmount) }}',align:'center'},
- {field: 'avaAmount', title: '账户余额', minWidth: 80,align:'left',totalRow: '{{= parseInt(d.avaAmount) }}',align:'center'},
- {field: 'groupRedBagNum', title: '群红包数', minWidth: 80,align:'left'},
- {field: 'redBagTotalAmount', title: '红包总额', minWidth: 80,align:'left'},
- {field: 'redBagAvaAmount', title: '未领取', minWidth: 80,align:'left'},
+ {field: 'userId', title: '标识', minWidth: 40,align:'center'},
+ {field: 'phone', title: '电话号码', minWidth: 120,align:'center', totalRowText: '合计:'},
+ {field: 'inviteId', title: '邀请码', minWidth: 100,align:'center',},
+ {title: '用户类型', minWidth: 100,templet: '#isRobot-type',align:'center'},
+ {field: 'totalAmount', title: '账户总额', minWidth: 80,align:'center',totalRow: '{{= parseInt(d.totalAmount) }}'},
+ {field: 'avaAmount', title: '账户余额', minWidth: 80,align:'center',totalRow: '{{= parseInt(d.avaAmount) }}'},
+ {field: 'groupRedBagNum', title: '群红包数', minWidth: 80,align:'center'},
+ {field: 'redBagTotalAmount', title: '发红包总额', minWidth: 100,align:'center'},
+ {field: 'redBagAvaAmount', title: '未领取总额', minWidth: 100,align:'center'},
+ {field: 'getRedbagAmount', title: '领红包金额', minWidth: 100,align:'center'},
+ {field: 'boomToAmount', title: '中雷返回金额', minWidth: 120,align:'center'},
+ {field: 'teamPerkAmount', title: '等级收益金额', minWidth: 120,align:'center'},
{field: 'getBoom', title: '中雷', templet: '#switchGetBoom', minWidth: 80,align:'center'},
- {field: 'createTime', title: '注册时间', minWidth: 180,align:'center'},
+ {field: 'createTime', title: '注册时间', minWidth: 160,align:'center'},
]]
});
}
--
Gitblit v1.9.1