| | |
| | | import cc.mrbird.febs.common.enumerates.DataDictionaryEnum; |
| | | import cc.mrbird.febs.common.enumerates.FlowTypeEnum; |
| | | import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum; |
| | | import cc.mrbird.febs.common.enumerates.ScoreFlowTypeEnum; |
| | | import cc.mrbird.febs.common.exception.FebsException; |
| | | import cc.mrbird.febs.common.utils.LoginUserUtil; |
| | | import cc.mrbird.febs.mall.dto.ScoreSettingDto; |
| | |
| | | import cc.mrbird.febs.mall.vo.ScoreSignVo; |
| | | import cc.mrbird.febs.mall.vo.signActivity.ApiGetRunDateVo; |
| | | import cc.mrbird.febs.mall.vo.signActivity.ApiSignListVo; |
| | | import cc.mrbird.febs.mall.vo.signActivity.ApiSignVo; |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.date.DateTime; |
| | | import cn.hutool.core.date.DateUnit; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | import java.util.stream.IntStream; |
| | | |
| | |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public void sign() { |
| | | public FebsResponse sign() { |
| | | MallMember member = LoginUserUtil.getLoginUser(); |
| | | |
| | | DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.SCORE_SIGN_SETTING.getType(), DataDictionaryEnum.SCORE_SIGN_SETTING.getCode()); |
| | |
| | | mallScoreSignRecord.setTotalCnt(days); |
| | | mallScoreSignRecord.setSignTime(new Date()); |
| | | mallScoreSignRecordMapper.insert(mallScoreSignRecord); |
| | | |
| | | /** |
| | | * 1:会员经验 2:会员积分 |
| | | */ |
| | | Integer mostSignIn = scoreSetting.getMostSignIn(); |
| | | BigDecimal amount = BigDecimal.valueOf(mallScoreSignRecord.getScore()); |
| | | walletService.add(amount, member.getId(), "prizeScore"); |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | member.getId(), |
| | | amount, |
| | | MoneyFlowTypeEnum.SCORE_SIGN.getValue(), |
| | | null, |
| | | FlowTypeEnum.PRIZE_SCORE.getValue()); |
| | | if(mostSignIn == 1){ |
| | | walletService.add(amount, member.getId(), "score"); |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | member.getId(), |
| | | amount, |
| | | ScoreFlowTypeEnum.SIGN_EXPERIENCE.getValue(), |
| | | mallScoreSignRecord.getId().toString(), |
| | | FlowTypeEnum.SCORE.getValue(), |
| | | StrUtil.format(ScoreFlowTypeEnum.SIGN_EXPERIENCE.getDesc(),amount), |
| | | 2); |
| | | } |
| | | if(mostSignIn == 2){ |
| | | walletService.add(amount, member.getId(), "prizeScore"); |
| | | mallMoneyFlowService.addMoneyFlow( |
| | | member.getId(), |
| | | amount, |
| | | ScoreFlowTypeEnum.SIGN_SCORE.getValue(), |
| | | mallScoreSignRecord.getId().toString(), |
| | | FlowTypeEnum.PRIZE_SCORE.getValue(), |
| | | StrUtil.format(ScoreFlowTypeEnum.SIGN_SCORE.getDesc(),amount), |
| | | 2); |
| | | } |
| | | |
| | | ApiSignVo apiSignVo = new ApiSignVo(); |
| | | apiSignVo.setMineScore(mallScoreSignRecord.getScore()); |
| | | apiSignVo.setMostSignIn(mostSignIn); |
| | | return new FebsResponse().success().data(apiSignVo); |
| | | } |
| | | } |