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