| | |
| | | package cc.mrbird.febs.mall.service.impl; |
| | | |
| | | import cc.mrbird.febs.common.entity.FebsResponse; |
| | | import cc.mrbird.febs.common.enumerates.DataDictionaryEnum; |
| | | import cc.mrbird.febs.common.utils.LoginUserUtil; |
| | | import cc.mrbird.febs.mall.dto.ScoreSettingDto; |
| | | import cc.mrbird.febs.mall.dto.sale.ApiSaleListInfoDto; |
| | | import cc.mrbird.febs.mall.dto.sale.ApiSaleRecordInfoDto; |
| | | import cc.mrbird.febs.mall.dto.sale.ApiTeamListInfoDto; |
| | |
| | | import cn.hutool.core.date.DateTime; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | |
| | | private final MallAchieveRecordMapper mallAchieveRecordMapper; |
| | | private final MallMemberWalletMapper mallMemberWalletMapper; |
| | | private final MallMemberMapper mallMemberMapper; |
| | | private final DataDictionaryCustomMapper dataDictionaryCustomMapper; |
| | | @Override |
| | | public FebsResponse saleInfo() { |
| | | ApiSaleInfoVo apiSaleInfoVo = new ApiSaleInfoVo(); |
| | |
| | | apiLevelListInfoVo.setTeamAmount(happySaleLevel.getTeamAmount()); |
| | | apiLevelListInfoVo.setTeamAmountNow( |
| | | CollUtil.isNotEmpty(mallAchieveRecords) |
| | | ? mallAchieveRecords.stream().map(MallAchieveRecord::getCostAmount).reduce(BigDecimal.ZERO, BigDecimal::add) |
| | | ? mallAchieveRecords.stream().map(MallAchieveRecord::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add) |
| | | : BigDecimal.ZERO); |
| | | apiLevelListInfoVos.add(apiLevelListInfoVo); |
| | | }); |
| | |
| | | Map<Integer, HappyMemberLevel> happyMemberLevelMap = happyMemberLevels.stream() |
| | | .collect(Collectors.toMap(HappyMemberLevel::getCode, happyMemberLevel -> happyMemberLevel)); |
| | | if (CollUtil.isNotEmpty(happyMemberLevels)) { |
| | | happyMemberLevels.forEach(happyMemberLevel -> { |
| | | int mostSignIn = 1; |
| | | DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( |
| | | DataDictionaryEnum.SCORE_SIGN_SETTING.getType(), |
| | | DataDictionaryEnum.SCORE_SIGN_SETTING.getCode()); |
| | | if (dic != null) { |
| | | ScoreSettingDto scoreSettingDto = JSONObject.parseObject(dic.getValue(), ScoreSettingDto.class); |
| | | mostSignIn = ObjectUtil.isEmpty(scoreSettingDto.getMostSignIn()) ? 1 : scoreSettingDto.getMostSignIn(); |
| | | } |
| | | for (HappyMemberLevel happyMemberLevel : happyMemberLevels) { |
| | | ApiMemberLevelListInfoVo vo = new ApiMemberLevelListInfoVo(); |
| | | BeanUtil.copyProperties(happyMemberLevel, vo); |
| | | vo.setMostSignIn(mostSignIn); |
| | | vo.setMemberCode(mallMember.getDirector()); |
| | | vo.setMemberScore(mallMemberWallet.getScore()); |
| | | vo.setUpgradeScore( |
| | | ObjectUtil.isEmpty(happyMemberLevelMap.get(happyMemberLevel.getCode() + 1)) ? |
| | | 0 : happyMemberLevelMap.get(happyMemberLevel.getCode() + 1).getUpgradeScore() |
| | | ); |
| | | ObjectUtil.isEmpty(happyMemberLevelMap.get(happyMemberLevel.getCode())) ? |
| | | 0 : happyMemberLevelMap.get(happyMemberLevel.getCode()).getUpgradeScore() |
| | | ); |
| | | apiLevelListInfoVos.add(vo); |
| | | }); |
| | | } |
| | | } |
| | | return new FebsResponse().success().data(apiLevelListInfoVos); |
| | | } |