Initial commit

This commit is contained in:
2026-04-23 16:58:11 +08:00
commit 267eba1eca
2582 changed files with 273338 additions and 0 deletions

View File

@@ -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);
}
}
}

View File

@@ -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();
}
}