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