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.enumerates.PerkEnum;
|
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.entity.MallMember;
|
import cc.mrbird.febs.mall.mapper.*;
|
import cc.mrbird.febs.mall.vo.AdminPerkSetVo;
|
import cc.mrbird.febs.monitor.service.ILoginLogService;
|
import cc.mrbird.febs.system.service.IUserService;
|
import cn.hutool.core.date.DateUtil;
|
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")
|
@RequestMapping(FebsConstant.VIEW_PREFIX + "modules/system")
|
@RequiredArgsConstructor
|
public class ViewSystemController {
|
|
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");
|
}
|
|
@GetMapping("cashOutSetting")
|
@RequiresPermissions("cashOutSetting:update")
|
public String cashOutSetting(Model model) {
|
DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.CASHOUT_SETTING.getType(), DataDictionaryEnum.CASHOUT_SETTING.getCode());
|
if (dic != null) {
|
model.addAttribute("cashout", JSONObject.parseObject(dic.getValue(), CashOutSettingDto.class));
|
}
|
return FebsUtil.view("modules/system/cashOutSetting");
|
}
|
|
@GetMapping("scorePoorSetting")
|
@RequiresPermissions("scorePoorSetting:update")
|
public String scorePoor(Model model) {
|
DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SCORE_POOR_RADIO.getType(), DataDictionaryEnum.SCORE_POOR_RADIO.getCode());
|
if (dic != null) {
|
model.addAttribute("scorePoor", JSONObject.parseObject(dic.getValue(), ScorePoorDto.class));
|
}
|
return FebsUtil.view("modules/system/scorePoorSetting");
|
}
|
|
@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");
|
}
|
|
@GetMapping("perkSet")
|
@RequiresPermissions("perkSet:view")
|
public String perkSet(Model model) {
|
AdminPerkSetVo adminPerkSetVo = new AdminPerkSetVo();
|
DataDictionaryCustom buySetMealPerkPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
|
PerkEnum.BUY_SET_MEAL_PERK_PERCENT.getType(),
|
PerkEnum.BUY_SET_MEAL_PERK_PERCENT.getCode());
|
if (buySetMealPerkPercentDic != null) {
|
adminPerkSetVo.setBuySetMealPerkPercent(buySetMealPerkPercentDic.getValue());
|
}
|
DataDictionaryCustom directCashPerkPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
|
PerkEnum.DIRECT_CASH_PERK_PERCENT.getType(),
|
PerkEnum.DIRECT_CASH_PERK_PERCENT.getCode());
|
if (directCashPerkPercentDic != null) {
|
adminPerkSetVo.setDirectCashPerkPercent(directCashPerkPercentDic.getValue());
|
}
|
DataDictionaryCustom directScorePerkPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
|
PerkEnum.DIRECT_SCORE_PERK_PERCENT.getType(),
|
PerkEnum.DIRECT_SCORE_PERK_PERCENT.getCode());
|
if (directScorePerkPercentDic != null) {
|
adminPerkSetVo.setDirectScorePerkPercent(directScorePerkPercentDic.getValue());
|
}
|
DataDictionaryCustom directorCashPerkPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
|
PerkEnum.DIRECTOR_CASH_PERK_PERCENT.getType(),
|
PerkEnum.DIRECTOR_CASH_PERK_PERCENT.getCode());
|
if (directorCashPerkPercentDic != null) {
|
adminPerkSetVo.setDirectorCashPerkPercent(directorCashPerkPercentDic.getValue());
|
}
|
DataDictionaryCustom partnerCashPerkPercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
|
PerkEnum.PARTNER_CASH_PERK_PERCENT.getType(),
|
PerkEnum.PARTNER_CASH_PERK_PERCENT.getCode());
|
if (partnerCashPerkPercentDic != null) {
|
adminPerkSetVo.setPartnerCashPerkPercent(partnerCashPerkPercentDic.getValue());
|
}
|
|
model.addAttribute("adminPerkSet", adminPerkSetVo);
|
return FebsUtil.view("modules/system/perkSet");
|
}
|
}
|