From 3156be749dfc93764850b27f7cc2b4514a3ae4d0 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Mon, 30 Oct 2023 16:36:54 +0800
Subject: [PATCH] 用户收益列表

---
 src/main/java/cc/mrbird/febs/system/controller/LoginController.java |   95 ++++++++++++++++++++++-------------------------
 1 files changed, 45 insertions(+), 50 deletions(-)

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 001c7a5..b6cf968 100644
--- a/src/main/java/cc/mrbird/febs/system/controller/LoginController.java
+++ b/src/main/java/cc/mrbird/febs/system/controller/LoginController.java
@@ -10,7 +10,9 @@
 import cc.mrbird.febs.common.service.ValidateCodeService;
 import cc.mrbird.febs.common.utils.Md5Util;
 import cc.mrbird.febs.common.utils.RedisUtils;
+import cc.mrbird.febs.mall.entity.ChatUser;
 import cc.mrbird.febs.mall.entity.MallMember;
+import cc.mrbird.febs.mall.mapper.ChatUserMapper;
 import cc.mrbird.febs.mall.mapper.MallAchieveRecordMapper;
 import cc.mrbird.febs.mall.mapper.MallMemberMapper;
 import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper;
@@ -18,7 +20,9 @@
 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 cn.hutool.core.util.NumberUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.RequiredArgsConstructor;
 import org.apache.shiro.authc.UsernamePasswordToken;
@@ -33,10 +37,10 @@
 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.math.BigDecimal;
+import java.text.NumberFormat;
+import java.text.ParseException;
+import java.util.*;
 
 /**
  * @author MrBird
@@ -52,6 +56,7 @@
     private final MallMemberMapper mallMemberMapper;
     private final MallOrderInfoMapper mallOrderInfoMapper;
     private final MallAchieveRecordMapper mallAchieveRecordMapper;
+    private final ChatUserMapper chatUserMapper;
     private final RedisUtils redisUtils;
 
     @PostMapping("login")
@@ -92,52 +97,6 @@
         // 更新登录时间
         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);
-
-        //积分池数据
-        data.put("scorePool",redisUtils.get("scorePool"));
-        //支付统计
-        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);
@@ -146,9 +105,45 @@
         param.setUsername(username);
         List<Map<String, Object>> lastSevenUserVisitCount = this.loginLogService.findLastSevenDaysVisitCount(param);
         data.put("lastSevenUserVisitCount", lastSevenUserVisitCount);
+
+        data.put("totalAmount", NumberUtil.decimalFormatMoney(chatUserMapper.selectTotalAmount().doubleValue()));
+        List<ChatUser> chatUsers = chatUserMapper.selectUserList(0,null,null);
+        List<ChatUser> chatRobots = chatUserMapper.selectUserList(1,null,null);
+        data.put("totalUser", (CollUtil.isEmpty(chatUsers) ? 0:chatUsers.size()) +"-"+(CollUtil.isEmpty(chatRobots) ? 0:chatRobots.size()));
+        data.put("totalSystemPay", NumberUtil.decimalFormatMoney(chatUserMapper.selectTotalType(6,null,null).doubleValue()));
+        data.put("totalIncome", NumberUtil.decimalFormatMoney(chatUserMapper.selectTotalType(8,null,null).doubleValue()));
+
+        data.put("todaySystemPay", NumberUtil.decimalFormatMoney(chatUserMapper.selectTotalType(6,"D",DateUtil.date()).doubleValue()));
+        data.put("todayIncome", NumberUtil.decimalFormatMoney(chatUserMapper.selectTotalType(8,"D",DateUtil.date()).doubleValue()));
+        List<ChatUser> chatUsersToday = chatUserMapper.selectUserList(0,"D",DateUtil.date());
+        List<ChatUser> chatRobotsToday = chatUserMapper.selectUserList(1,"D",DateUtil.date());
+        data.put("todayUser", (CollUtil.isEmpty(chatUsersToday) ? 0:chatUsersToday.size()) +"-"+(CollUtil.isEmpty(chatRobotsToday) ? 0:chatRobotsToday.size()));
+
         return new FebsResponse().success().data(data);
     }
 
+    public static BigDecimal formatCurrency(BigDecimal amount) {
+        // 设置本地化格式为当前默认地区
+        Locale locale = Locale.getDefault();
+
+        // 创建一个货币格式化对象
+        NumberFormat currencyFormat = NumberFormat.getCurrencyInstance(locale);
+
+        // 将 BigDecimal 格式化为货币格式的字符串
+        String formattedAmount = currencyFormat.format(amount);
+
+        // 将格式化的字符串转换回 BigDecimal 对象
+        BigDecimal formattedBigDecimal = null;
+        try {
+            formattedBigDecimal = new BigDecimal(currencyFormat.parse(formattedAmount).doubleValue());
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+
+        // 返回格式化后的 BigDecimal 对象
+        return formattedBigDecimal;
+    }
+
     @GetMapping("images/captcha")
     @Limit(key = "get_captcha", period = 60, count = 10, name = "获取验证码", prefix = "limit")
     public void captcha(HttpServletRequest request, HttpServletResponse response) throws IOException, FebsException {

--
Gitblit v1.9.1