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