| | |
| | | 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.mall.dto.CashOutSettingDto; |
| | | import cc.mrbird.febs.mall.dto.ScorePoorDto; |
| | | import cc.mrbird.febs.mall.dto.ScoreSettingDto; |
| | | import cc.mrbird.febs.common.utils.RedisUtils; |
| | | import cc.mrbird.febs.mall.dto.*; |
| | | 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.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") |
| | |
| | | |
| | | 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"); |
| | | } |
| | | |
| | | /** |
| | | * 积分设置 |
| | | * @param model |
| | | * @return |
| | | */ |
| | | @GetMapping("hlmScoreSet") |
| | | @RequiresPermissions("hlmScoreSet:view") |
| | | public String hlmScoreSet(Model model) { |
| | | HlmScoreSetDto hlmScoreSetDto = new HlmScoreSetDto(); |
| | | DataDictionaryCustom signScoreDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.SIGN_SCORE.getType(), |
| | | DataDictionaryEnum.SIGN_SCORE.getCode()); |
| | | if (signScoreDic != null) { |
| | | String signScore = ObjectUtil.isEmpty(signScoreDic.getValue()) ? "0" : signScoreDic.getValue(); |
| | | hlmScoreSetDto.setSignScore(signScore); |
| | | } |
| | | DataDictionaryCustom signScoreDaysDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.SIGN_SCORE_DAYS.getType(), |
| | | DataDictionaryEnum.SIGN_SCORE_DAYS.getCode()); |
| | | if (signScoreDaysDic != null) { |
| | | String signScoreDays = ObjectUtil.isEmpty(signScoreDaysDic.getValue()) ? "0" : signScoreDaysDic.getValue(); |
| | | hlmScoreSetDto.setSignScoreDays(signScoreDays); |
| | | } |
| | | DataDictionaryCustom signScoreCntDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.SIGN_SCORE_CNT.getType(), |
| | | DataDictionaryEnum.SIGN_SCORE_CNT.getCode()); |
| | | if (signScoreCntDic != null) { |
| | | String signScoreCnt = ObjectUtil.isEmpty(signScoreCntDic.getValue()) ? "0" : signScoreCntDic.getValue(); |
| | | hlmScoreSetDto.setSignScoreCnt(signScoreCnt); |
| | | } |
| | | DataDictionaryCustom scorePercentDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.SCORE_PERCENT.getType(), |
| | | DataDictionaryEnum.SCORE_PERCENT.getCode()); |
| | | if (scorePercentDic != null) { |
| | | String scorePercent = ObjectUtil.isEmpty(scorePercentDic.getValue()) ? "0" : scorePercentDic.getValue(); |
| | | hlmScoreSetDto.setScorePercent(scorePercent); |
| | | } |
| | | DataDictionaryCustom scoreChangeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.SCORE_CHANGE.getType(), |
| | | DataDictionaryEnum.SCORE_CHANGE.getCode()); |
| | | if (scoreChangeDic != null) { |
| | | String scoreChange = ObjectUtil.isEmpty(scoreChangeDic.getValue()) ? "0" : scoreChangeDic.getValue(); |
| | | hlmScoreSetDto.setScoreChange(scoreChange); |
| | | } |
| | | DataDictionaryCustom starGetDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.STAR_GET.getType(), |
| | | DataDictionaryEnum.STAR_GET.getCode()); |
| | | if (starGetDic != null) { |
| | | String starGet = ObjectUtil.isEmpty(starGetDic.getValue()) ? "0" : starGetDic.getValue(); |
| | | hlmScoreSetDto.setStarGet(starGet); |
| | | } |
| | | model.addAttribute("hlmScoreSet", hlmScoreSetDto); |
| | | return FebsUtil.view("modules/system/hlmScoreSet"); |
| | | } |
| | | |
| | | @GetMapping("cashOutSetting") |
| | |
| | | } |
| | | 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("hlmBasicPerk") |
| | | @RequiresPermissions("hlmBasicPerk:view") |
| | | public String hlmBasicPerk(Model model) { |
| | | HlmBasicPerkDto hlmBasicPerkDto = new HlmBasicPerkDto(); |
| | | DataDictionaryCustom sharePerkDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.SHARE_PERK.getType(), |
| | | DataDictionaryEnum.SHARE_PERK.getCode()); |
| | | if (sharePerkDic != null) { |
| | | String sharePerk = ObjectUtil.isEmpty(sharePerkDic.getValue()) ? "0" : sharePerkDic.getValue(); |
| | | hlmBasicPerkDto.setSharePerk(sharePerk); |
| | | } |
| | | DataDictionaryCustom teamPerkDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.TEAM_PERK.getType(), |
| | | DataDictionaryEnum.TEAM_PERK.getCode()); |
| | | if (teamPerkDic != null) { |
| | | String teamPerk = ObjectUtil.isEmpty(teamPerkDic.getValue()) ? "0" : teamPerkDic.getValue(); |
| | | hlmBasicPerkDto.setTeamPerk(teamPerk); |
| | | } |
| | | DataDictionaryCustom teamEqualsPerkDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.TEAM_EQUALS_PERK.getType(), |
| | | DataDictionaryEnum.TEAM_EQUALS_PERK.getCode()); |
| | | if (teamEqualsPerkDic != null) { |
| | | String teamEqualsPerk = ObjectUtil.isEmpty(teamEqualsPerkDic.getValue()) ? "0" : teamEqualsPerkDic.getValue(); |
| | | hlmBasicPerkDto.setTeamEqualsPerk(teamEqualsPerk); |
| | | } |
| | | DataDictionaryCustom offLinePerkDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.OFFLINE_PERK.getType(), |
| | | DataDictionaryEnum.OFFLINE_PERK.getCode()); |
| | | if (offLinePerkDic != null) { |
| | | String offLinePerk = ObjectUtil.isEmpty(offLinePerkDic.getValue()) ? "0" : offLinePerkDic.getValue(); |
| | | hlmBasicPerkDto.setOffLinePerk(offLinePerk); |
| | | } |
| | | DataDictionaryCustom agentPerkDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.AGENT_PERK.getType(), |
| | | DataDictionaryEnum.AGENT_PERK.getCode()); |
| | | if (agentPerkDic != null) { |
| | | String agentPerk = ObjectUtil.isEmpty(agentPerkDic.getValue()) ? "0" : agentPerkDic.getValue(); |
| | | hlmBasicPerkDto.setAgentPerk(agentPerk); |
| | | } |
| | | model.addAttribute("hlmBasicPerk", hlmBasicPerkDto); |
| | | return FebsUtil.view("modules/system/hlmBasicPerk"); |
| | | } |
| | | } |