Initial commit
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
package com.ruoyi.user.task;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.ruoyi.admin.mapper.TtUserBlendErcashMapper;
|
||||
import com.ruoyi.admin.service.TtRechargeRankingRewardService;
|
||||
import com.ruoyi.admin.service.TtUserService;
|
||||
import com.ruoyi.domain.common.constant.TtAccountRecordSource;
|
||||
import com.ruoyi.domain.common.constant.TtAccountRecordType;
|
||||
import com.ruoyi.domain.entity.TtUserBlendErcash;
|
||||
import com.ruoyi.domain.entity.sys.TtUser;
|
||||
import com.ruoyi.domain.other.TtRechargeRankingReward;
|
||||
import com.ruoyi.user.mapper.ApiUserBlendErcashMapper;
|
||||
import com.ruoyi.user.model.vo.ApiRechargeRankingVO;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Timestamp;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Component("RechargeRankingRewardTask")
|
||||
public class RechargeRankingRewardTask {
|
||||
|
||||
@Autowired
|
||||
private ApiUserBlendErcashMapper apiUserBlendErcashMapper;
|
||||
|
||||
@Autowired
|
||||
private TtRechargeRankingRewardService ttRechargeRankingRewardService;
|
||||
|
||||
@Autowired
|
||||
private TtUserService userService;
|
||||
|
||||
@Autowired
|
||||
private TtUserBlendErcashMapper ttUserBlendErcashMapper;
|
||||
|
||||
/** 发放消费排行榜奖励 */
|
||||
public void distributeRechargeRankingReward() {
|
||||
log.info("开始发放消费排行榜奖励");
|
||||
// 查询昨日排行榜
|
||||
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.add(Calendar.DATE, -1);
|
||||
Date yesterday = cal.getTime();
|
||||
String formattedYesterdayDate = formatter.format(yesterday);
|
||||
List<ApiRechargeRankingVO> yesterdayRechargeRanking = apiUserBlendErcashMapper.getRechargeRankingByDate(formattedYesterdayDate);
|
||||
for (int i = 0; i < yesterdayRechargeRanking.size(); i++) {
|
||||
// 查询排行榜对应奖励
|
||||
TtRechargeRankingReward ttRechargeRankingReward = ttRechargeRankingRewardService.selectTtRechargeRankingRewardById(i + 1);
|
||||
Long userId = yesterdayRechargeRanking.get(i).getUserId();
|
||||
BigDecimal reward = ttRechargeRankingReward.getReward();
|
||||
// 加钱
|
||||
LambdaUpdateWrapper<TtUser> userUpdate = new LambdaUpdateWrapper<>();
|
||||
userUpdate
|
||||
.eq(TtUser::getUserId, userId)
|
||||
.setSql("account_amount = account_amount + " + reward);
|
||||
userService.update(userUpdate);
|
||||
// 综合消费日志
|
||||
TtUser ttUser = userService.getById(userId);
|
||||
TtUserBlendErcash blendErcash = TtUserBlendErcash.builder()
|
||||
.userId(userId.intValue())
|
||||
.amount(reward.compareTo(BigDecimal.ZERO) > 0 ? reward : null)
|
||||
.finalAmount(reward.compareTo(BigDecimal.ZERO) > 0 ? ttUser.getAccountAmount().add(reward) : null)
|
||||
.total(reward.add(reward)) // 收支合计
|
||||
.type(TtAccountRecordType.INPUT.getCode())
|
||||
.source(TtAccountRecordSource.RECHARGE_RANKING_REWARD.getCode())
|
||||
.remark(TtAccountRecordSource.RECHARGE_RANKING_REWARD.getMsg())
|
||||
.createTime(new Timestamp(System.currentTimeMillis()))
|
||||
.updateTime(new Timestamp(System.currentTimeMillis()))
|
||||
.build();
|
||||
ttUserBlendErcashMapper.insert(blendErcash);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package com.ruoyi.user.task;
|
||||
|
||||
import com.ruoyi.user.service.ApiTaskCenterService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@Slf4j
|
||||
@Component("TaskCenterTask")
|
||||
public class TaskCenterTask {
|
||||
|
||||
@Autowired
|
||||
private ApiTaskCenterService apiTaskCenterService;
|
||||
|
||||
/**
|
||||
* 获取昨日消费量返积分
|
||||
*/
|
||||
public void getYesterdayExpenditureBonusPoints() {
|
||||
apiTaskCenterService.updateYesterdayBonusPoints();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user