记得上下班打卡 | git大法好,push需谨慎

Commit a65e3a7c authored by 胡佳晨's avatar 胡佳晨

最大积分限制 添加

parent 043470c2
......@@ -24,6 +24,7 @@ public abstract class DateUtil {
MM_dd("MM-dd"),
yyyyMMdd("yyyyMMdd"),
yyyyMM("yyyyMM"),
HHmm("HH:mm"),
yyyy_MM_dd("yyyy-MM-dd"),
yyyy_MM_dd2("yyyy/MM/dd"),
......@@ -278,6 +279,15 @@ public abstract class DateUtil {
return date1.compareTo(date2);
}
/**
* 比较月份
*/
public static int compareMonth(Date date1, Date date2) {
date1 = parse(format(date1, Formatter.yyyyMM), Formatter.yyyyMM.toString());
date2 = parse(format(date2, Formatter.yyyyMM), Formatter.yyyyMM.toString());
return date1.compareTo(date2);
}
/**
* 比较日期
*/
......@@ -304,6 +314,16 @@ public abstract class DateUtil {
return asLocalDate(date2).toEpochDay() - asLocalDate(date1).toEpochDay();
}
/**
* 间隔月
*
* @param date1 开始日期
* @param date2 结束日期
*/
public static long intervalMonths(Date date1, Date date2) {
return asLocalDate(date2).toEpochDay() - asLocalDate(date1).toEpochDay();
}
/**
* 获取某天,之前或之后几天的从零点开始时间
*/
......
......@@ -30,6 +30,26 @@ public class StoneUserVo implements Serializable, Cloneable {
*/
private Integer status;
/**
* 当前日期 2021-12-12
*/
private String currentDay;
/**
* 当前日 积分
*/
private Integer dayScore;
/**
* 当前月 2021-12
*/
private String currentMonth;
/**
* 当前月 积分
*/
private Integer monthScore;
/**
* 每日任务:签到
* 每日任务:购买演出
......
......@@ -25,6 +25,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
......@@ -46,6 +47,8 @@ public class StoneScoreLogsServiceImpl implements IStoneScoreLogsService {
StoneMongoUtils stoneMongoUtils;
@Autowired
QueueUtils queueUtils;
private final static int dayMax = 300;
private final static int monthMax = 1000;
@Override
public String deScore(String uid, Integer score, Integer TaskId, String reason) {
......@@ -66,6 +69,30 @@ public class StoneScoreLogsServiceImpl implements IStoneScoreLogsService {
if (score <= 0) {
return "积分不能小于0";
}
StoneUserVo vo = stoneRedisUtils.getUserData(uid);
Date userDay = DateUtil.parse(vo.getCurrentDay().isEmpty() ? DateUtil.getNowTime() : vo.getCurrentDay(), "yyyy-MM-dd");
Date userMonth = DateUtil.parse(vo.getCurrentMonth().isEmpty() ? DateUtil.getNowTime() : vo.getCurrentMonth(), "yyyy-MM");
int monthScore = vo.getMonthScore() == null ? 0 : vo.getMonthScore();
int dayScore = vo.getDayScore() == null ? 0 : vo.getDayScore();
if (DateUtil.compareMonth(userMonth, DateUtil.parse(DateUtil.getNowTime(), "yyyy-MM")) == 0) {//当月
if ((monthScore + score) >= monthMax) {
score = monthMax - monthScore;
}
} else {
if (score >= monthMax) {
score = monthMax;
}
}
if (DateUtil.compareDay(userDay, DateUtil.parse(DateUtil.getNowTime(), "yyyy-MM-dd")) == 0) {//当日
if ((dayScore + score) >= dayMax) {
score = dayMax - dayScore;
}
} else {
if (score >= dayMax) {
score = dayMax;
}
}
if (TaskId == 2111) {
changeRest(uid, score, reason, reason);
return "成功";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment