From 28450f858db096d02dab8e4d0c7041e3225a1be2 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 16 Jun 2022 17:08:24 +0800 Subject: [PATCH] fix --- src/main/resources/templates/febs/views/index.html | 111 ++++++------------------------------ src/main/resources/mapper/modules/MallAchieveRecordMapper.xml | 11 +++ src/main/java/cc/mrbird/febs/system/controller/LoginController.java | 24 ++++++-- src/main/java/cc/mrbird/febs/mall/mapper/MallAchieveRecordMapper.java | 6 ++ 4 files changed, 54 insertions(+), 98 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallAchieveRecordMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallAchieveRecordMapper.java index 85e4ca9..314d2e1 100644 --- a/src/main/java/cc/mrbird/febs/mall/mapper/MallAchieveRecordMapper.java +++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallAchieveRecordMapper.java @@ -2,6 +2,12 @@ import cc.mrbird.febs.mall.entity.MallAchieveRecord; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Param; + +import java.math.BigDecimal; +import java.util.Date; public interface MallAchieveRecordMapper extends BaseMapper<MallAchieveRecord> { + + BigDecimal selectAchieveTotal(@Param("type") String type, @Param("date") Date date); } 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 f084c2d..0ea9f5c 100644 --- a/src/main/java/cc/mrbird/febs/system/controller/LoginController.java +++ b/src/main/java/cc/mrbird/febs/system/controller/LoginController.java @@ -6,10 +6,13 @@ 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.mapper.MallAchieveRecordMapper; +import cc.mrbird.febs.mall.mapper.MallMemberMapper; 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 lombok.RequiredArgsConstructor; import org.apache.shiro.authc.UsernamePasswordToken; import org.springframework.validation.annotation.Validated; @@ -23,6 +26,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; @@ -38,6 +42,8 @@ private final IUserService userService; private final ValidateCodeService validateCodeService; private final ILoginLogService loginLogService; + private final MallMemberMapper mallMemberMapper; + private final MallAchieveRecordMapper mallAchieveRecordMapper; @PostMapping("login") @Limit(key = "login", period = 60, count = 10, name = "登录接口", prefix = "limit") @@ -78,12 +84,18 @@ this.userService.updateLoginTime(username); Map<String, Object> data = new HashMap<>(5); // 获取系统访问记录 - Long totalVisitCount = this.loginLogService.findTotalVisitCount(); - data.put("totalVisitCount", totalVisitCount); - Long todayVisitCount = this.loginLogService.findTodayVisitCount(); - data.put("todayVisitCount", todayVisitCount); - Long todayIp = this.loginLogService.findTodayIp(); - data.put("todayIp", todayIp); +// Long totalVisitCount = this.loginLogService.findTotalVisitCount(); +// data.put("totalVisitCount", totalVisitCount); +// Long todayVisitCount = this.loginLogService.findTodayVisitCount(); +// data.put("todayVisitCount", todayVisitCount); +// Long todayIp = this.loginLogService.findTodayIp(); +// data.put("todayIp", todayIp); + + 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())); + // 获取近期系统访问记录 List<Map<String, Object>> lastSevenVisitCount = this.loginLogService.findLastSevenDaysVisitCount(null); data.put("lastSevenVisitCount", lastSevenVisitCount); diff --git a/src/main/resources/mapper/modules/MallAchieveRecordMapper.xml b/src/main/resources/mapper/modules/MallAchieveRecordMapper.xml index 8a51fdc..53af5db 100644 --- a/src/main/resources/mapper/modules/MallAchieveRecordMapper.xml +++ b/src/main/resources/mapper/modules/MallAchieveRecordMapper.xml @@ -2,4 +2,15 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="cc.mrbird.febs.mall.mapper.MallAchieveRecordMapper"> + <select id="selectAchieveTotal" resultType="java.math.BigDecimal"> + select IFNULL(sum(IFNULL(amount,0)),0) from mall_achieve_record + where 1=1 + <if test='type == "D"'> + and date_format(achieve_time, '%Y-%m-%d') = date_format(#{date}, '%Y-%m-%d'); + </if> + <if test='type == "M"'> + and date_format(achieve_time, '%Y-%m') = date_format(#{date}, '%Y-%m'); + </if> + </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 79778cd..81e787d 100644 --- a/src/main/resources/templates/febs/views/index.html +++ b/src/main/resources/templates/febs/views/index.html @@ -96,21 +96,25 @@ </div> </div> <div class="layui-col-md6 layui-col-sm12 layui-col-xs12"> - <div class="layui-col-md-offset5"> + <div class="layui-col-md-offset4"> <table class="login-count-table"> <tr> - <td>今日IP</td> - <td>今日访问</td> - <td>总访问量</td> + <td>今日业绩</td> + <td>昨日业绩</td> + <td>本月业绩</td> + <td>上月业绩</td> </tr> <tr> - <td class="count" id="today-ip"> + <td class="count" id="today"> 0 </td> - <td class="count" id="today-visit-count"> + <td class="count" id="lastDay"> 0 </td> - <td class="count" id="total-visit-count"> + <td class="count" id="thisMonth"> + 0 + </td> + <td class="count" id="lastMonth"> 0 </td> </tr> @@ -122,11 +126,10 @@ </div> </div> <div class="layui-col-md6 layui-col-sm6 layui-col-xs12"> - <div class="layui-card"> - <div class="layui-card-body"> - <div id="chart" style="height: 350px"></div> - </div> - </div> +<!-- <div class="layui-card">--> +<!-- <div class="layui-card-body">--> +<!-- </div>--> +<!-- </div>--> </div> </div> </div> @@ -157,9 +160,10 @@ ]; var index = Math.floor((Math.random() * welcomeArr.length)); var welcomeMessage = time + ',<a id="febs-index-user">' + currentUser.username + '</a>,' + welcomeArr[index]; - $view.find('#today-ip').text(data.todayIp).end() - .find('#today-visit-count').text(data.todayVisitCount).end() - .find('#total-visit-count').text(data.totalVisitCount).end() + $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('#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() @@ -201,83 +205,6 @@ }); if (!contain) totalVisitCount.push(0); }); - - var options = { - chart: { - height: 350, - type: 'area', - toolbar: { - show: false - } - }, - colors: ['#1890ff', '#0acf97'], - plotOptions: { - bar: { - horizontal: false, - columnWidth: '32rem' - } - }, - dataLabels: { - enabled: false - }, - stroke: { - width: [3, 3], - curve: 'smooth' - }, - series: [{ - name: '总数', - data: totalVisitCount - }, { - name: '您', - data: yourVisitCount - }], - xaxis: { - categories: lastTenDays, - axisTicks: { - show: true - }, - axisBorder: { - show: true, - color: '#f1f1f1' - } - }, - fill: { - type: 'gradient', - gradient: { - shadeIntensity: 1, - inverseColors: false, - opacityFrom: 0.5, - opacityTo: 0, - stops: [0, 90, 100] - } - }, - title: { - text: '近10天系统访问记录', - align: 'left', - style: { - color: 'rgba(0, 0, 0, .65)' - } - }, - tooltip: { - y: { - formatter: function (val) { - return "访问次数 " + val + " 次" - } - } - }, - grid: { - row: { - colors: ['transparent', 'transparent'], - opacity: 0.2 - }, - borderColor: '#f1f1f1' - } - }; - - new ApexCharts( - document.querySelector("#chart"), - options - ).render(); } $view.on('click', '#febs-index-user',function () { -- Gitblit v1.9.1