zoujiajian 3 rokov pred
rodič
commit
7099664123

+ 22 - 26
netflix-service/src/main/java/com/cyksj/service/market/impl/MarketFrontServiceImpl.java

@@ -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);
 			}
 		}
 	}