|
@@ -48,24 +48,21 @@ public interface MemberSignInRecordConvert {
|
|
default MemberSignInRecordDO convert(Long userId, MemberSignInRecordDO lastRecord, List<MemberSignInConfigDO> configs) {
|
|
default MemberSignInRecordDO convert(Long userId, MemberSignInRecordDO lastRecord, List<MemberSignInConfigDO> configs) {
|
|
// 1. 计算是第几天签到
|
|
// 1. 计算是第几天签到
|
|
configs.sort(Comparator.comparing(MemberSignInConfigDO::getDay));
|
|
configs.sort(Comparator.comparing(MemberSignInConfigDO::getDay));
|
|
- MemberSignInConfigDO lastConfig = CollUtil.getLast(configs); // 最大签到天数配置
|
|
|
|
|
|
+// MemberSignInConfigDO lastConfig = CollUtil.getLast(configs); // 最大签到天数配置
|
|
// 1.2. 计算今天是第几天签到 (只有连续签到才加否则重置为 1)
|
|
// 1.2. 计算今天是第几天签到 (只有连续签到才加否则重置为 1)
|
|
- int day = 1;
|
|
|
|
|
|
+
|
|
// 获取当月对应的天数
|
|
// 获取当月对应的天数
|
|
LocalDate today = LocalDate.now();
|
|
LocalDate today = LocalDate.now();
|
|
- day = today.getDayOfMonth();
|
|
|
|
-
|
|
|
|
- /*if (lastRecord != null && DateUtils.isYesterday(lastRecord.getCreateTime())) {
|
|
|
|
- day = lastRecord.getDay() + 1;
|
|
|
|
- }*/
|
|
|
|
- // 1.3 判断是否超出了最大签到配置
|
|
|
|
- if (day > lastConfig.getDay()) {
|
|
|
|
- day = 1; // 超过最大配置的天数,重置到第一天。(也就是说开启下一轮签到)
|
|
|
|
- }
|
|
|
|
|
|
+ int day = today.getDayOfMonth();
|
|
|
|
|
|
// 2.1 初始化签到信息
|
|
// 2.1 初始化签到信息
|
|
MemberSignInRecordDO record = new MemberSignInRecordDO().setUserId(userId)
|
|
MemberSignInRecordDO record = new MemberSignInRecordDO().setUserId(userId)
|
|
.setDay(day).setPoint(0).setExperience(0);
|
|
.setDay(day).setPoint(0).setExperience(0);
|
|
|
|
+
|
|
|
|
+ if (lastRecord != null && DateUtils.isYesterday(lastRecord.getCreateTime())) {
|
|
|
|
+ record.setContinueDay(lastRecord.getContinueDay() + 1);
|
|
|
|
+ }
|
|
|
|
+
|
|
// 2.2 获取签到对应的积分
|
|
// 2.2 获取签到对应的积分
|
|
MemberSignInConfigDO config = CollUtil.findOne(configs, item -> ObjUtil.equal(item.getDay(), record.getDay()));
|
|
MemberSignInConfigDO config = CollUtil.findOne(configs, item -> ObjUtil.equal(item.getDay(), record.getDay()));
|
|
if (config == null) {
|
|
if (config == null) {
|