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