| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | import javax.servlet.http.HttpSession; |
| | | import javax.validation.constraints.NotBlank; |
| | | import java.io.IOException; |
| | | import java.math.BigDecimal; |
| | | import java.text.NumberFormat; |
| | | import java.text.ParseException; |
| | | import java.util.*; |
| | | |
| | | /** |
| | |
| | | private final MallMemberMapper mallMemberMapper; |
| | | private final MallOrderInfoMapper mallOrderInfoMapper; |
| | | private final MallAchieveRecordMapper mallAchieveRecordMapper; |
| | | private final ChatUserMapper chatUserMapper; |
| | | private final RedisUtils redisUtils; |
| | | |
| | | @PostMapping("login") |
| | |
| | | // 更新登录时间 |
| | | 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")); |
| | | //支付统计 |
| | | List<Long> states = new ArrayList(); |
| | | states.add(2L); |
| | | states.add(3L); |
| | | states.add(4L); |
| | | // data.put("wechatPay",mallOrderInfoMapper.selectSumAmountByPayMethodAndStatue(OrderPayMethodEnum.WECHAT.getName(), OrderStatusEnum.FINISH.getValue())); |
| | | data.put("wechatPay",mallOrderInfoMapper.selectSumAmountByPayMethodAndSomeStatue(OrderPayMethodEnum.WECHAT.getName(), states)); |
| | | // data.put("alipayPay",mallOrderInfoMapper.selectSumAmountByPayMethodAndStatue(OrderPayMethodEnum.ALIPAY.getName(), OrderStatusEnum.FINISH.getValue())); |
| | | data.put("alipayPay",mallOrderInfoMapper.selectSumAmountByPayMethodAndSomeStatue(OrderPayMethodEnum.ALIPAY.getName(), states)); |
| | | // data.put("scorePay",mallOrderInfoMapper.selectSumAmountByPayMethodAndStatue(OrderPayMethodEnum.SCORE.getName(), OrderStatusEnum.FINISH.getValue())); |
| | | data.put("scorePay",mallOrderInfoMapper.selectSumAmountByPayMethodAndSomeStatue(OrderPayMethodEnum.SCORE.getName(), states)); |
| | | // data.put("balancePay",mallOrderInfoMapper.selectSumAmountByPayMethodAndStatue(OrderPayMethodEnum.BALANCE.getName(), OrderStatusEnum.FINISH.getValue())); |
| | | data.put("balancePay",mallOrderInfoMapper.selectSumAmountByPayMethodAndSomeStatue(OrderPayMethodEnum.BALANCE.getName(), states)); |
| | | |
| | | |
| | | 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); |
| | |
| | | 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 { |