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

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

最大积分限制 添加

parent 043470c2
...@@ -24,6 +24,7 @@ public abstract class DateUtil { ...@@ -24,6 +24,7 @@ public abstract class DateUtil {
MM_dd("MM-dd"), MM_dd("MM-dd"),
yyyyMMdd("yyyyMMdd"), yyyyMMdd("yyyyMMdd"),
yyyyMM("yyyyMM"),
HHmm("HH:mm"), HHmm("HH:mm"),
yyyy_MM_dd("yyyy-MM-dd"), yyyy_MM_dd("yyyy-MM-dd"),
yyyy_MM_dd2("yyyy/MM/dd"), yyyy_MM_dd2("yyyy/MM/dd"),
...@@ -278,6 +279,15 @@ public abstract class DateUtil { ...@@ -278,6 +279,15 @@ public abstract class DateUtil {
return date1.compareTo(date2); 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 { ...@@ -304,6 +314,16 @@ public abstract class DateUtil {
return asLocalDate(date2).toEpochDay() - asLocalDate(date1).toEpochDay(); 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 { ...@@ -30,6 +30,26 @@ public class StoneUserVo implements Serializable, Cloneable {
*/ */
private Integer status; 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; ...@@ -25,6 +25,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
...@@ -46,6 +47,8 @@ public class StoneScoreLogsServiceImpl implements IStoneScoreLogsService { ...@@ -46,6 +47,8 @@ public class StoneScoreLogsServiceImpl implements IStoneScoreLogsService {
StoneMongoUtils stoneMongoUtils; StoneMongoUtils stoneMongoUtils;
@Autowired @Autowired
QueueUtils queueUtils; QueueUtils queueUtils;
private final static int dayMax = 300;
private final static int monthMax = 1000;
@Override @Override
public String deScore(String uid, Integer score, Integer TaskId, String reason) { public String deScore(String uid, Integer score, Integer TaskId, String reason) {
...@@ -66,6 +69,30 @@ public class StoneScoreLogsServiceImpl implements IStoneScoreLogsService { ...@@ -66,6 +69,30 @@ public class StoneScoreLogsServiceImpl implements IStoneScoreLogsService {
if (score <= 0) { if (score <= 0) {
return "积分不能小于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) { if (TaskId == 2111) {
changeRest(uid, score, reason, reason); changeRest(uid, score, reason, reason);
return "成功"; 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