From 5aad7ef3aef4ebf8ab6462e6e5b89425ab5d426c Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 23 Jun 2022 18:03:23 +0800
Subject: [PATCH] 20220528
---
src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java | 3
src/main/resources/templates/febs/views/index.html | 220 ++++++++++++++++++++++++++++++++++++++------
src/main/java/cc/mrbird/febs/common/enumerates/OrderPayMethodEnum.java | 19 +++
src/main/java/cc/mrbird/febs/system/controller/LoginController.java | 39 +++++++
src/main/resources/mapper/modules/MallOrderInfoMapper.xml | 5 +
5 files changed, 256 insertions(+), 30 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/common/enumerates/OrderPayMethodEnum.java b/src/main/java/cc/mrbird/febs/common/enumerates/OrderPayMethodEnum.java
new file mode 100644
index 0000000..b9172d2
--- /dev/null
+++ b/src/main/java/cc/mrbird/febs/common/enumerates/OrderPayMethodEnum.java
@@ -0,0 +1,19 @@
+package cc.mrbird.febs.common.enumerates;
+
+import lombok.Getter;
+
+@Getter
+public enum OrderPayMethodEnum {
+
+ WECHAT("微信支付"),
+ ALIPAY("支付宝支付"),
+ SCORE("积分支付"),
+ BALANCE("余额支付");
+
+
+ private String name;
+
+ OrderPayMethodEnum(String name) {
+ this.name = name;
+ }
+}
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
index 568c99a..f511408 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallOrderInfoMapper.java
@@ -1,5 +1,6 @@
package cc.mrbird.febs.mall.mapper;
+import cc.mrbird.febs.common.enumerates.OrderPayMethodEnum;
import cc.mrbird.febs.mall.dto.MallOrderInfoDto;
import cc.mrbird.febs.mall.dto.OrderListDto;
import cc.mrbird.febs.mall.entity.MallOrderInfo;
@@ -58,4 +59,6 @@
int updateOrderConfirmStatus(@Param("date") Date date);
List<MallOrderInfo> selectOrderInfoWithNormalGoods(@Param("date") Date date);
+
+ BigDecimal selectSumAmountByPayMethodAndStatue(@Param("payMethod")String name, @Param("statue")int value);
}
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 0ea9f5c..3a97621 100644
--- a/src/main/java/cc/mrbird/febs/system/controller/LoginController.java
+++ b/src/main/java/cc/mrbird/febs/system/controller/LoginController.java
@@ -3,16 +3,22 @@
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.mapper.MallAchieveRecordMapper;
import cc.mrbird.febs.mall.mapper.MallMemberMapper;
+import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper;
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.date.DateUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import lombok.RequiredArgsConstructor;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.springframework.validation.annotation.Validated;
@@ -43,6 +49,7 @@
private final ValidateCodeService validateCodeService;
private final ILoginLogService loginLogService;
private final MallMemberMapper mallMemberMapper;
+ private final MallOrderInfoMapper mallOrderInfoMapper;
private final MallAchieveRecordMapper mallAchieveRecordMapper;
@PostMapping("login")
@@ -91,11 +98,43 @@
// Long todayIp = this.loginLogService.findTodayIp();
// data.put("todayIp", todayIp);
+ //支付统计
+ data.put("wechatPay",mallOrderInfoMapper.selectSumAmountByPayMethodAndStatue(OrderPayMethodEnum.WECHAT.getName(), OrderStatusEnum.FINISH.getValue()));
+ data.put("alipayPay",mallOrderInfoMapper.selectSumAmountByPayMethodAndStatue(OrderPayMethodEnum.ALIPAY.getName(), OrderStatusEnum.FINISH.getValue()));
+ data.put("scorePay",mallOrderInfoMapper.selectSumAmountByPayMethodAndStatue(OrderPayMethodEnum.SCORE.getName(), OrderStatusEnum.FINISH.getValue()));
+ data.put("balancePay",mallOrderInfoMapper.selectSumAmountByPayMethodAndStatue(OrderPayMethodEnum.BALANCE.getName(), OrderStatusEnum.FINISH.getValue()));
+
+
data.put("lastDay", mallAchieveRecordMapper.selectAchieveTotal("D", DateUtil.offsetDay(new Date(), -1)));
data.put("today", mallAchieveRecordMapper.selectAchieveTotal("D", new Date()));
data.put("lastMonth", mallAchieveRecordMapper.selectAchieveTotal("M", DateUtil.offsetMonth(new Date(), -1)));
data.put("thisMonth", mallAchieveRecordMapper.selectAchieveTotal("M", new Date()));
+ //会员数据
+ data.put("totalMember",mallMemberMapper.selectCount(new QueryWrapper<>()) );
+ QueryWrapper<MallMember> formalMember = new QueryWrapper<>();
+ formalMember.ne("level", AgentLevelEnum.ZERO_LEVEL.name());
+ data.put("formalMember",mallMemberMapper.selectCount(formalMember));
+
+ QueryWrapper<MallMember> informalMember = new QueryWrapper<>();
+ informalMember.eq("level", AgentLevelEnum.ZERO_LEVEL.name());
+ data.put("informalMember",mallMemberMapper.selectCount(informalMember));
+
+ QueryWrapper<MallMember> todayMember = new QueryWrapper<>();
+ todayMember.like("CREATED_TIME", DateUtil.today());
+ todayMember.ne("level", AgentLevelEnum.ZERO_LEVEL.name());
+ data.put("todayMember",mallMemberMapper.selectCount(todayMember));
+
+ QueryWrapper<MallMember> thisMonthMember = new QueryWrapper<>();
+ thisMonthMember.like("CREATED_TIME", DateUtil.format(DateUtil.date(),"yyyy-MM"));
+ thisMonthMember.ne("level", AgentLevelEnum.ZERO_LEVEL.name());
+ data.put("thisMonthMember",mallMemberMapper.selectCount(thisMonthMember));
+
+ QueryWrapper<MallMember> lastMonthMember = new QueryWrapper<>();
+ lastMonthMember.like("CREATED_TIME", DateUtil.format(DateUtil.offsetMonth(new Date(), -1),"yyyy-MM"));
+ lastMonthMember.ne("level", AgentLevelEnum.ZERO_LEVEL.name());
+ data.put("lastMonthMember",mallMemberMapper.selectCount(lastMonthMember));
+
// 获取近期系统访问记录
List<Map<String, Object>> lastSevenVisitCount = this.loginLogService.findLastSevenDaysVisitCount(null);
data.put("lastSevenVisitCount", lastSevenVisitCount);
diff --git a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
index 30e7d6e..660351c 100644
--- a/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
+++ b/src/main/resources/mapper/modules/MallOrderInfoMapper.xml
@@ -278,4 +278,9 @@
inner join mall_order_item b on a.id=b.order_id and b.is_normal=1
where date_format(pay_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d')
</select>
+
+ <select id="selectSumAmountByPayMethodAndStatue" resultType="java.math.BigDecimal">
+ select IFNULL(sum(IFNULL(amount,0)),0) from mall_order_info
+ where pay_method = #{payMethod} and status = #{statue}
+ </select>
</mapper>
\ No newline at end of file
diff --git a/src/main/resources/templates/febs/views/index.html b/src/main/resources/templates/febs/views/index.html
index 81e787d..954d229 100644
--- a/src/main/resources/templates/febs/views/index.html
+++ b/src/main/resources/templates/febs/views/index.html
@@ -3,6 +3,7 @@
border: 1px solid #f1f1f1;
margin-bottom: .5rem;
padding: .5rem;
+ background: #FFFFFF;
}
#febs-index .welcome-info-wrapper {
@@ -68,6 +69,40 @@
#febs-index .project-desc {
color: rgba(0, 0, 0, 0.45);
}
+ .layui-card:last-child{
+ background: #F8F8F8;
+ }
+ .box{
+ background: #FFFFFF;
+ padding: 30px 30px;
+ border-radius: 4px;
+ }
+ .box .name{
+ font-size: 14px;
+ color: #333333;
+ }
+ .box .num{
+ font-size: 24px;
+ color: #1890ff;
+ font-weight: bold;
+ margin-top: 10px;
+ }
+ .m-title{
+ position: relative;
+ font-size: 16px;
+ font-weight: bold;
+ color: #000000;
+ padding-left: 20px;
+ margin: 0 0 10px;
+ }
+ .m-title::before{
+ content: '';
+ position: absolute;
+ left: 0;
+ width: 4px;
+ height: 20px;
+ background: #1890ff;
+ }
</style>
<div class="layui-fluid layui-anim febs-anim-up" id="febs-index" lay-title="系统首页">
<div class="layui-row layui-col-space8 febs-container">
@@ -95,41 +130,153 @@
</div>
</div>
</div>
- <div class="layui-col-md6 layui-col-sm12 layui-col-xs12">
- <div class="layui-col-md-offset4">
- <table class="login-count-table">
- <tr>
- <td>今日业绩</td>
- <td>昨日业绩</td>
- <td>本月业绩</td>
- <td>上月业绩</td>
- </tr>
- <tr>
- <td class="count" id="today">
- 0
- </td>
- <td class="count" id="lastDay">
- 0
- </td>
- <td class="count" id="thisMonth">
- 0
- </td>
- <td class="count" id="lastMonth">
- 0
- </td>
- </tr>
- </table>
+ </div>
+ </div>
+
+ <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="alipayPay"></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="scorePay"></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>
</div>
</div>
+
+ <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="today"></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="lastDay"></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="thisMonth"></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="lastMonth"></span></p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <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="totalMember"></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="formalMember"></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="informalMember"></span></p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="layui-card-body layui-anim layui-anim-fadein">
+ <div class="layui-row">
+ <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="todayMember"></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="thisMonthMember"></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="lastMonthMember"></span></p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
</div>
- </div>
- <div class="layui-col-md6 layui-col-sm6 layui-col-xs12">
-<!-- <div class="layui-card">-->
-<!-- <div class="layui-card-body">-->
-<!-- </div>-->
-<!-- </div>-->
</div>
</div>
</div>
@@ -164,6 +311,19 @@
.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()
.find('#last-login-time').text(currentUser.lastLoginTime ? currentUser.lastLoginTime : '第一次访问系统').end()
--
Gitblit v1.9.1