From 79461476f170523b9be727cf71a0261f4659d8a6 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 12 Jan 2023 15:03:58 +0800
Subject: [PATCH] 20221227 充值归集

---
 src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java |  135 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 134 insertions(+), 1 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
index 37732cd..6cb0f88 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
@@ -1,20 +1,34 @@
 package cc.mrbird.febs.mall.controller;
 
 import cc.mrbird.febs.common.entity.FebsConstant;
+import cc.mrbird.febs.common.enumerates.AgentLevelEnum;
 import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
+import cc.mrbird.febs.common.enumerates.OrderPayMethodEnum;
+import cc.mrbird.febs.common.service.ValidateCodeService;
 import cc.mrbird.febs.common.utils.FebsUtil;
+import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.mall.dto.CashOutSettingDto;
 import cc.mrbird.febs.mall.dto.ScorePoorDto;
 import cc.mrbird.febs.mall.dto.ScoreSettingDto;
 import cc.mrbird.febs.mall.entity.DataDictionaryCustom;
-import cc.mrbird.febs.mall.mapper.DataDictionaryCustomMapper;
+import cc.mrbird.febs.mall.entity.MallMember;
+import cc.mrbird.febs.mall.mapper.*;
+import cc.mrbird.febs.mall.vo.AdminSystemSettingVo;
+import cc.mrbird.febs.monitor.service.ILoginLogService;
+import cc.mrbird.febs.system.service.IUserService;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import lombok.RequiredArgsConstructor;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+
+import java.math.BigDecimal;
+import java.util.*;
 
 
 @Controller("mallSystemView")
@@ -24,9 +38,24 @@
 
     private final DataDictionaryCustomMapper dataDictionaryCustomMapper;
 
+    private final MallMemberMapper mallMemberMapper;
+    private final MallOrderInfoMapper mallOrderInfoMapper;
+    private final MallAchieveRecordMapper mallAchieveRecordMapper;
+    private final MallMemberWalletMapper mallMemberWalletMapper;
+    private final RedisUtils redisUtils;
+
     @GetMapping("profitSetting")
     public String profitSetting() {
         return FebsUtil.view("modules/system/profitSetting");
+    }
+
+    /**
+     * 会员等级设置
+     * @return
+     */
+    @GetMapping("agentLevelSetting")
+    public String agentLevelSetting() {
+        return FebsUtil.view("modules/system/agentLevelSetting");
     }
 
     @GetMapping("cashOutSetting")
@@ -48,4 +77,108 @@
         }
         return FebsUtil.view("modules/system/scorePoorSetting");
     }
+
+    @GetMapping("systemSetting")
+    @RequiresPermissions("systemSetting:update")
+    public String systemSetting(Model model) {
+        AdminSystemSettingVo adminSystemSettingVo = new AdminSystemSettingVo();
+        DataDictionaryCustom returnPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.RETURN_PERCENT.getType(),
+                DataDictionaryEnum.RETURN_PERCENT.getCode());
+        if (ObjectUtil.isNotEmpty(returnPercentDic)) {
+            adminSystemSettingVo.setReturnPercent(returnPercentDic.getValue());
+        }
+        DataDictionaryCustom levelOneDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.LEVEL_ONE.getType(),
+                DataDictionaryEnum.LEVEL_ONE.getCode());
+        if (ObjectUtil.isNotEmpty(levelOneDic)) {
+            adminSystemSettingVo.setLevelOne(levelOneDic.getValue());
+        }
+        DataDictionaryCustom levelTwoDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.LEVEL_TWO.getType(),
+                DataDictionaryEnum.LEVEL_TWO.getCode());
+        if (ObjectUtil.isNotEmpty(levelTwoDic)) {
+            adminSystemSettingVo.setLevelTwo(levelTwoDic.getValue());
+        }
+        DataDictionaryCustom rewardPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.REWARD_PERCENT.getType(),
+                DataDictionaryEnum.REWARD_PERCENT.getCode());
+        if (ObjectUtil.isNotEmpty(rewardPercentDic)) {
+            adminSystemSettingVo.setRewardPercent(rewardPercentDic.getValue());
+        }
+        DataDictionaryCustom buyTimesDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.BUY_TIMES.getType(),
+                DataDictionaryEnum.BUY_TIMES.getCode());
+        if (ObjectUtil.isNotEmpty(buyTimesDic)) {
+            adminSystemSettingVo.setBuyTimes(buyTimesDic.getValue());
+        }
+        DataDictionaryCustom subsidyPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.SUBSIDY_PERCENT.getType(),
+                DataDictionaryEnum.SUBSIDY_PERCENT.getCode());
+        if (ObjectUtil.isNotEmpty(subsidyPercentDic)) {
+            adminSystemSettingVo.setSubsidyPercent(subsidyPercentDic.getValue());
+        }
+        DataDictionaryCustom allBuyTimesDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.ALL_BUY_TIMES.getType(),
+                DataDictionaryEnum.ALL_BUY_TIMES.getCode());
+        if (ObjectUtil.isNotEmpty(allBuyTimesDic)) {
+            adminSystemSettingVo.setAllBuyTimes(allBuyTimesDic.getValue());
+        }
+        model.addAttribute("adminSystemSettingVo", adminSystemSettingVo);
+        return FebsUtil.view("modules/system/systemSetting");
+    }
+
+    @GetMapping("indexData")
+    @RequiresPermissions("indexData:view")
+    public String indexData(Model model) {
+        Map<String, Object> data = new HashMap<>(5);
+
+        //积分池数据
+        data.put("scorePool",redisUtils.get("scorePool"));
+        //支付统计
+        List<Long> states = new ArrayList();
+        states.add(2L);
+        states.add(3L);
+        states.add(4L);
+        data.put("wechatPay",mallOrderInfoMapper.selectSumAmountByPayMethodAndSomeStatue(OrderPayMethodEnum.WECHAT.getName(), states));
+        data.put("alipayPay",mallOrderInfoMapper.selectSumAmountByPayMethodAndSomeStatue(OrderPayMethodEnum.ALIPAY.getName(), states));
+        data.put("scorePay",mallOrderInfoMapper.selectSumAmountByPayMethodAndSomeStatue(OrderPayMethodEnum.BANK.getName(), states));
+        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("totalBalance",mallMemberWalletMapper.selectSumBalance().setScale(2, BigDecimal.ROUND_DOWN));
+        data.put("totalScore",mallMemberWalletMapper.selectSumScore().setScale(2, BigDecimal.ROUND_DOWN));
+        data.put("totalPrizeScore",mallMemberWalletMapper.selectSumPrizeScore().setScale(2, BigDecimal.ROUND_DOWN));
+        data.put("totalCommission",mallMemberWalletMapper.selectSumCommission().setScale(2, BigDecimal.ROUND_DOWN));
+
+        //会员数据
+        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());
+        data.put("todayMember",mallMemberMapper.selectCount(todayMember));
+
+        QueryWrapper<MallMember> thisMonthMember = new QueryWrapper<>();
+        thisMonthMember.like("CREATED_TIME", DateUtil.format(DateUtil.date(),"yyyy-MM"));
+        data.put("thisMonthMember",mallMemberMapper.selectCount(thisMonthMember));
+
+        QueryWrapper<MallMember> lastMonthMember = new QueryWrapper<>();
+        lastMonthMember.like("CREATED_TIME", DateUtil.format(DateUtil.offsetMonth(new Date(), -1),"yyyy-MM"));
+        data.put("lastMonthMember",mallMemberMapper.selectCount(lastMonthMember));
+
+        model.addAttribute("indexData", data);
+        return FebsUtil.view("modules/system/indexData");
+    }
 }

--
Gitblit v1.9.1