Commit 4f09fc9a authored by shiyu's avatar shiyu

签到5

parent 8ab6e421
......@@ -78,15 +78,19 @@ public class UserSigninServiceImpl implements UserSigninService {
case 7:
userSignin.setIsReward(true);
userSignin.setRewardLevel(SigninEnum.LevelEnum.FIRST.getCode());
break;
case 14:
userSignin.setIsReward(true);
userSignin.setRewardLevel(SigninEnum.LevelEnum.SECOND.getCode());
break;
case 21:
userSignin.setIsReward(true);
userSignin.setRewardLevel(SigninEnum.LevelEnum.THIRD.getCode());
break;
default:
userSignin.setIsReward(false);
userSignin.setRewardLevel(SigninEnum.LevelEnum.ZERO.getCode());
break;
}
userSignin.setIsGet(false);
userSigninDao.insert(userSignin);
......@@ -150,7 +154,13 @@ public class UserSigninServiceImpl implements UserSigninService {
try {
long userId = dto.getUserId();
Map<String, Object> resultMap = new HashMap<>();
//查询今天的打卡记录
UserSignIn todayRecord = userSigninDao.findLastedRecord(userId);
if (todayRecord != null) {
resultMap.put("todaySignIn", true);
} else {
resultMap.put("todaySignIn", false);
}
//检查昨天是否打过卡
UserSignIn yesterdaySignIn = userSigninDao.findYesterdayRecord(userId);
......@@ -160,8 +170,6 @@ public class UserSigninServiceImpl implements UserSigninService {
//还需签到的天数
resultMap.put("needConsecutiveDays", 7);
} else {
//查询今天的打卡记录
UserSignIn todayRecord = userSigninDao.findLastedRecord(userId);
if (todayRecord != null) {
resultMap.put("consecutiveDays", todayRecord.getConsecutiveDays());
} else {
......@@ -194,6 +202,15 @@ public class UserSigninServiceImpl implements UserSigninService {
}
resultMap.put("year", year);
resultMap.put("month", month);
LocalDate localDate = LocalDate.of(year, month, 1);
// 获取上个月的月份
resultMap.put("lastMonth", localDate.minusMonths(1).getMonthValue());
resultMap.put("lastYear", localDate.minusMonths(1).getYear());
resultMap.put("nextMonth", localDate.plusMonths(1).getMonthValue());
resultMap.put("nextYear", localDate.plusMonths(1).getYear());
//每个月一号是周几
resultMap.put("firstDayOfWeek", DateTimeUtil.getFirstDayOfMonth(year, month));
......@@ -219,21 +236,22 @@ public class UserSigninServiceImpl implements UserSigninService {
signDateRecord.setDateState(SigninEnum.DateStateEnum.CURRENT.getCode());
} else {
signDateRecord.setDateState(SigninEnum.DateStateEnum.FUTURE.getCode());
if (yesterdaySignIn == null) {
//昨天没签到就以今天的时间预测之后的奖励日期
if (today.plusDays(6).format(formatter).equals(dateStr) || today.plusDays(13).format(formatter).equals(dateStr)
|| today.plusDays(20).format(formatter).equals(dateStr)) {
signDateRecord.setIsReward(true);
signDateRecord.setIsGet(false);
}
} else {
//如果昨天签到了,就以昨天的时间作为预测会拿到签到奖励的起始时间
int ConsecutiveDays = yesterdaySignIn.getConsecutiveDays();
if (today.plusDays(6 - ConsecutiveDays).format(formatter).equals(dateStr) || today.plusDays(13 - ConsecutiveDays).format(formatter).equals(dateStr)
|| today.plusDays(20 - ConsecutiveDays).format(formatter).equals(dateStr)) {
signDateRecord.setIsReward(true);
signDateRecord.setIsGet(false);
}
}
if (yesterdaySignIn == null) {
//昨天没签到就以今天的时间预测之后的奖励日期
if (today.plusDays(6).format(formatter).equals(dateStr) || today.plusDays(13).format(formatter).equals(dateStr)
|| today.plusDays(20).format(formatter).equals(dateStr)) {
signDateRecord.setIsReward(true);
signDateRecord.setIsGet(false);
}
} else {
//如果昨天签到了,就以昨天的时间作为预测会拿到签到奖励的起始时间
int ConsecutiveDays = yesterdaySignIn.getConsecutiveDays();
if (today.plusDays(6 - ConsecutiveDays).format(formatter).equals(dateStr) || today.plusDays(13 - ConsecutiveDays).format(formatter).equals(dateStr)
|| today.plusDays(20 - ConsecutiveDays).format(formatter).equals(dateStr)) {
signDateRecord.setIsReward(true);
signDateRecord.setIsGet(false);
}
}
......
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