|
|
@@ -46,7 +46,6 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
-import java.util.Optional;
|
|
|
import java.util.concurrent.ThreadLocalRandom;
|
|
|
|
|
|
@Service
|
|
|
@@ -96,34 +95,28 @@ public class MarketFrontServiceImpl implements MarketFrontService {
|
|
|
//第一次签到
|
|
|
SignUser signUser = signUserMapper.selectOne(Wrappers.lambdaQuery(SignUser.class)
|
|
|
.eq(SignUser::getUserId, userId).last("limit 1"));
|
|
|
- Optional.ofNullable(signUser)
|
|
|
- .ifPresentOrElse(sign -> {
|
|
|
- //更新签到
|
|
|
- signCheck(signUser);
|
|
|
- }, () -> {
|
|
|
- log.info("用户:{}第一次签到", userId);
|
|
|
- SignUser save = new SignUser();
|
|
|
- save.setUserId(userId);
|
|
|
- save.setDay(1);
|
|
|
- save.setDayPeriod(1);
|
|
|
- try {
|
|
|
- signUserMapper.insert(save);
|
|
|
- //发放积分
|
|
|
- updateUserSignDay(save, true);
|
|
|
- } catch (DuplicateKeyException e) {
|
|
|
- log.info("用户:{}重复签到记录插入", userId);
|
|
|
- }
|
|
|
- });
|
|
|
+ if (signUser == null) {
|
|
|
+ log.info("用户:{}第一次签到", userId);
|
|
|
+ signUser = new SignUser();
|
|
|
+ signUser.setUserId(userId);
|
|
|
+ signUser.setDay(1);
|
|
|
+ signUser.setDayPeriod(1);
|
|
|
+ try {
|
|
|
+ signUserMapper.insert(signUser);
|
|
|
+ //发放积分
|
|
|
+ updateUserSignDay(signUser, true);
|
|
|
+ signUser.setIsHadChecked(true);
|
|
|
+ } catch (DuplicateKeyException e) {
|
|
|
+ log.info("用户:{}重复签到记录插入", userId);
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ //更新签到
|
|
|
+ signCheck(signUser);
|
|
|
+ }
|
|
|
SignUser sign = signUserMapper.selectOne(Wrappers.lambdaQuery(SignUser.class)
|
|
|
.eq(SignUser::getUserId, userId).last("limit 1"));
|
|
|
- sign.setIsHadChecked(false);
|
|
|
sign.setPoints(signUser.getPoints());
|
|
|
- if (signUser == null) {
|
|
|
- sign.setIsHadChecked(true);
|
|
|
- }
|
|
|
- if (signUser != null && signUser.getDayPeriod() != sign.getDayPeriod()) {
|
|
|
- sign.setIsHadChecked(true);
|
|
|
- }
|
|
|
+ sign.setIsHadChecked(signUser.getIsHadChecked());
|
|
|
return sign;
|
|
|
}
|
|
|
|
|
|
@@ -307,6 +300,7 @@ public class MarketFrontServiceImpl implements MarketFrontService {
|
|
|
DateTime signZero = DateUtil.beginOfDay(DateTime.now());
|
|
|
DateTime thisZero = DateUtil.beginOfDay(DateTime.now());
|
|
|
if (updateTime.after(thisZero)) {
|
|
|
+ signUser.setIsHadChecked(false);
|
|
|
// throw BusinessRuntimeException.getInstance("您已签到");
|
|
|
} else {
|
|
|
if (updateTime.before(thisZero) && thisZero.getTime() - signZero.getTime() == 0) {
|
|
|
@@ -318,12 +312,14 @@ public class MarketFrontServiceImpl implements MarketFrontService {
|
|
|
signUser.setDayPeriod(signUser.getDayPeriod() + 1);
|
|
|
//更新签到时间
|
|
|
updateUserSignDay(signUser, false);
|
|
|
+ signUser.setIsHadChecked(true);
|
|
|
} else {
|
|
|
log.info("用户:{}断签,断签天数为:{}", signUser.getUserId(), signUser.getDayPeriod());
|
|
|
signUser.setDay(1);
|
|
|
signUser.setDayPeriod(1);
|
|
|
//更新签到时间
|
|
|
updateUserSignDay(signUser, false);
|
|
|
+ signUser.setIsHadChecked(true);
|
|
|
}
|
|
|
}
|
|
|
}
|