From 1689b64fe1352a7c7c1ce2a45b16058bf168dd83 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Thu, 19 Dec 2024 14:27:59 +0800 Subject: [PATCH] feat(mall): 会员首页展示会员等级数量 --- src/main/java/cc/mrbird/febs/mall/vo/AdminVipIndexVo.java | 13 ++++++ src/main/resources/templates/febs/views/index.html | 51 ++++++++++++------------- src/main/java/cc/mrbird/febs/system/controller/LoginController.java | 28 +++++++++++-- src/main/resources/templates/febs/views/modules/runVip/runVipList.html | 2 src/main/resources/application-dev.yml | 2 src/main/resources/application.yml | 2 6 files changed, 63 insertions(+), 35 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/vo/AdminVipIndexVo.java b/src/main/java/cc/mrbird/febs/mall/vo/AdminVipIndexVo.java new file mode 100644 index 0000000..724ce87 --- /dev/null +++ b/src/main/java/cc/mrbird/febs/mall/vo/AdminVipIndexVo.java @@ -0,0 +1,13 @@ +package cc.mrbird.febs.mall.vo; + +import io.swagger.annotations.ApiModel; +import lombok.Data; + +@Data +@ApiModel(value = "AdminVipIndexVo", description = "信息返回类") +public class AdminVipIndexVo { + + private String vipCode; + private String vipName; + private Integer memberCnt; +} diff --git a/src/main/java/cc/mrbird/febs/system/controller/LoginController.java b/src/main/java/cc/mrbird/febs/system/controller/LoginController.java index 3f65232..805259d 100644 --- a/src/main/java/cc/mrbird/febs/system/controller/LoginController.java +++ b/src/main/java/cc/mrbird/febs/system/controller/LoginController.java @@ -3,21 +3,25 @@ import cc.mrbird.febs.common.annotation.Limit; import cc.mrbird.febs.common.controller.BaseController; import cc.mrbird.febs.common.entity.FebsResponse; -import cc.mrbird.febs.common.enumerates.AgentLevelEnum; import cc.mrbird.febs.common.enumerates.OrderPayMethodEnum; import cc.mrbird.febs.common.enumerates.OrderStatusEnum; import cc.mrbird.febs.common.exception.FebsException; import cc.mrbird.febs.common.service.ValidateCodeService; import cc.mrbird.febs.common.utils.Md5Util; import cc.mrbird.febs.mall.entity.MallMember; +import cc.mrbird.febs.mall.entity.RunVip; import cc.mrbird.febs.mall.mapper.MallAchieveRecordMapper; import cc.mrbird.febs.mall.mapper.MallMemberMapper; import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; +import cc.mrbird.febs.mall.mapper.RunVipMapper; +import cc.mrbird.febs.mall.vo.AdminVipIndexVo; import cc.mrbird.febs.monitor.entity.LoginLog; import cc.mrbird.febs.monitor.service.ILoginLogService; import cc.mrbird.febs.system.entity.User; import cc.mrbird.febs.system.service.IUserService; +import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.RequiredArgsConstructor; import org.apache.shiro.authc.UsernamePasswordToken; @@ -32,10 +36,7 @@ import javax.servlet.http.HttpSession; import javax.validation.constraints.NotBlank; import java.io.IOException; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; /** * @author MrBird @@ -51,6 +52,7 @@ private final MallMemberMapper mallMemberMapper; private final MallOrderInfoMapper mallOrderInfoMapper; private final MallAchieveRecordMapper mallAchieveRecordMapper; + private final RunVipMapper runVipMapper; @PostMapping("login") @Limit(key = "login", period = 60, count = 10, name = "登录接口", prefix = "limit") @@ -112,6 +114,22 @@ //会员数据 data.put("totalMember",mallMemberMapper.selectCount(new QueryWrapper<>()) ); + + List<AdminVipIndexVo> vipIndexVos = new ArrayList<>(); + List<RunVip> runVips = runVipMapper.selectList(null); + if(CollUtil.isNotEmpty(runVips)){ + for(RunVip runVip : runVips){ + AdminVipIndexVo adminVipIndexVo = new AdminVipIndexVo(); + adminVipIndexVo.setVipCode(runVip.getVipCode()); + adminVipIndexVo.setVipName(runVip.getVipName()); + Integer selectCount = mallMemberMapper.selectCount(new LambdaQueryWrapper<MallMember>().eq(MallMember::getLevel, runVip.getVipCode())); + adminVipIndexVo.setMemberCnt(selectCount); + vipIndexVos.add(adminVipIndexVo); + } + } + data.put("vipIndexVos",vipIndexVos); + + // QueryWrapper<MallMember> formalMember = new QueryWrapper<>(); // formalMember.ne("level", AgentLevelEnum.ZERO_LEVEL.name()); // data.put("formalMember",mallMemberMapper.selectCount(formalMember)); diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 888ed08..f606d79 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -2,7 +2,7 @@ datasource: dynamic: # 是否开启 SQL日志输出,生产环境建议关闭,有性能损耗 - p6spy: false + p6spy: true hikari: connection-timeout: 30000 max-lifetime: 1800000 diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 27b958e..be3f6da 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -40,4 +40,4 @@ core: metadata: TableInfoHelper: error - cc.mrbird.febs: debug + cc.mrbird.febs: info diff --git a/src/main/resources/templates/febs/views/index.html b/src/main/resources/templates/febs/views/index.html index f89ff7e..f9eff01 100644 --- a/src/main/resources/templates/febs/views/index.html +++ b/src/main/resources/templates/febs/views/index.html @@ -135,24 +135,8 @@ <div class="layui-card-body layui-anim layui-anim-fadein"> <div class="layui-row"> - <div class="m-title">订单付款</div> - <div class="layui-row layui-col-space15"> - <div class="layui-col-md3"> - <div class="layui-panel"> - <div class="box"> - <p class="name">微信支付</p> - <p class="num"><span id="wechatPay"></span></p> - </div> - </div> - </div> - <div class="layui-col-md3"> - <div class="layui-panel"> - <div class="box"> - <p class="name">余额支付</p> - <p class="num"><span id="balancePay"></span></p> - </div> - </div> - </div> + <div class="m-title">会员</div> + <div class="layui-row layui-col-space15" id = "memberLevelCounts"> </div> </div> </div> @@ -208,12 +192,27 @@ </div> </div> </div> +<script type="text/html" id="memberLevelCount"> + {{# layui.each(d, function(index, item){ }} + <div class="layui-col-md3"> + <div class="layui-panel"> + <div class="box"> + <p class="name">{{item.vipName}}</p> + <p class="num">{{item.memberCnt}}</p> + </div> + </div> + </div> + {{# }) }} +</script> <script data-th-inline="javascript" type="text/javascript"> - layui.use(['apexcharts', 'febs', 'jquery', 'util'], function () { + layui.use(['apexcharts', 'febs', 'jquery', 'util', 'laytpl'], function () { var $ = layui.jquery, util = layui.util, $view = $('#febs-index'), - febs = layui.febs; + memberLevelCountHtml = memberLevelCount.innerHTML, + $memberLevelCounts = $("#memberLevelCounts"), + laytpl = layui.laytpl, + febs = layui.febs; febs.get(ctx + 'index/' + currentUser.username, null, function (r) { handleSuccess(r.data); @@ -235,22 +234,20 @@ ]; var index = Math.floor((Math.random() * welcomeArr.length)); var welcomeMessage = time + ',<a id="febs-index-user">' + currentUser.username + '</a>,' + welcomeArr[index]; + + + laytpl(memberLevelCountHtml).render(data.vipIndexVos, function(html) { + $memberLevelCounts.append(html); + }) $view.find('#today').text(data.today).end() .find('#lastDay').text(data.lastDay).end() .find('#thisMonth').text(data.thisMonth).end() .find('#lastMonth').text(data.lastMonth).end() //会员信息 .find('#totalMember').text(data.totalMember).end() - // .find('#formalMember').text(data.formalMember).end() - // .find('#informalMember').text(data.informalMember).end() .find('#todayMember').text(data.todayMember).end() .find('#thisMonthMember').text(data.thisMonthMember).end() .find('#lastMonthMember').text(data.lastMonthMember).end() - - .find('#wechatPay').text(data.wechatPay).end() - // .find('#alipayPay').text(data.alipayPay).end() - // .find('#scorePay').text(data.scorePay).end() - .find('#balancePay').text(data.balancePay).end() .find('#user-dept').text(currentUser.deptName ? currentUser.deptName : '暂无所属部门').end() .find('#user-role').text(currentUser.roleName ? currentUser.roleName : '暂无角色').end() diff --git a/src/main/resources/templates/febs/views/modules/runVip/runVipList.html b/src/main/resources/templates/febs/views/modules/runVip/runVipList.html index 2cef014..4235f95 100644 --- a/src/main/resources/templates/febs/views/modules/runVip/runVipList.html +++ b/src/main/resources/templates/febs/views/modules/runVip/runVipList.html @@ -128,7 +128,7 @@ { field: 'vipPng', title: '主图', templet: function (d) { - return '<a lay-event="seeImgThumb"><img id="seeImgThumb'+d.id+'" src="'+d.thumb+'" alt=""></a>'; + return '<a lay-event="seeImgThumb"><img id="seeImgThumb'+d.id+'" src="'+d.vipPng+'" alt=""></a>'; }, minWidth: 150, align: 'center' }, {field: 'originalPrice', title: '原价', minWidth: 120, align: 'center'}, -- Gitblit v1.9.1