|
@@ -1,8 +1,10 @@
|
|
|
package com.izouma.nineth.service;
|
|
package com.izouma.nineth.service;
|
|
|
|
|
|
|
|
|
|
+import com.izouma.nineth.domain.AirDrop;
|
|
|
import com.izouma.nineth.domain.IdentityAuth;
|
|
import com.izouma.nineth.domain.IdentityAuth;
|
|
|
import com.izouma.nineth.domain.User;
|
|
import com.izouma.nineth.domain.User;
|
|
|
import com.izouma.nineth.dto.PageQuery;
|
|
import com.izouma.nineth.dto.PageQuery;
|
|
|
|
|
+import com.izouma.nineth.enums.AirDropType;
|
|
|
import com.izouma.nineth.enums.AuthStatus;
|
|
import com.izouma.nineth.enums.AuthStatus;
|
|
|
import com.izouma.nineth.exception.BusinessException;
|
|
import com.izouma.nineth.exception.BusinessException;
|
|
|
import com.izouma.nineth.repo.IdentityAuthRepo;
|
|
import com.izouma.nineth.repo.IdentityAuthRepo;
|
|
@@ -21,6 +23,7 @@ public class IdentityAuthService {
|
|
|
private IdentityAuthRepo identityAuthRepo;
|
|
private IdentityAuthRepo identityAuthRepo;
|
|
|
private UserRepo userRepo;
|
|
private UserRepo userRepo;
|
|
|
private AdapayService adapayService;
|
|
private AdapayService adapayService;
|
|
|
|
|
+ private AirDropService airDropService;
|
|
|
|
|
|
|
|
public Page<IdentityAuth> all(PageQuery pageQuery) {
|
|
public Page<IdentityAuth> all(PageQuery pageQuery) {
|
|
|
return identityAuthRepo.findAll(JpaUtils.toSpecification(pageQuery, IdentityAuth.class), JpaUtils.toPageRequest(pageQuery));
|
|
return identityAuthRepo.findAll(JpaUtils.toSpecification(pageQuery, IdentityAuth.class), JpaUtils.toPageRequest(pageQuery));
|
|
@@ -52,6 +55,26 @@ public class IdentityAuthService {
|
|
|
User user = userRepo.findByIdAndDelFalse(auth.getUserId()).orElseThrow(new BusinessException("用户不存在"));
|
|
User user = userRepo.findByIdAndDelFalse(auth.getUserId()).orElseThrow(new BusinessException("用户不存在"));
|
|
|
if (status == AuthStatus.SUCCESS) {
|
|
if (status == AuthStatus.SUCCESS) {
|
|
|
user.setAuthId(auth.getId());
|
|
user.setAuthId(auth.getId());
|
|
|
|
|
+ if (user.getInvitor() != null) {
|
|
|
|
|
+ userRepo.findByIdAndDelFalse(user.getInvitor()).ifPresent(user1 -> {
|
|
|
|
|
+ user1.setInviteNum(user1.getInviteNum() + 1);
|
|
|
|
|
+
|
|
|
|
|
+ if (user1.getInviteNum() / 10 > user1.getInviteAirDrop()) {
|
|
|
|
|
+ airDropService.create(AirDrop.builder()
|
|
|
|
|
+ .name("邀请新人得空投奖励")
|
|
|
|
|
+ .type(AirDropType.asset)
|
|
|
|
|
+ .collectionId(1187810L)
|
|
|
|
|
+ .phone(List.of(user1.getPhone()))
|
|
|
|
|
+ .userIds(List.of(user.getInvitor()))
|
|
|
|
|
+ .projectId(1)
|
|
|
|
|
+ .build());
|
|
|
|
|
+ user1.setInviteAirDrop(user1.getInviteAirDrop() + 1);
|
|
|
|
|
+ }
|
|
|
|
|
+ userRepo.save(user1);
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
}
|
|
}
|
|
|
user.setAuthStatus(status);
|
|
user.setAuthStatus(status);
|
|
|
userRepo.save(user);
|
|
userRepo.save(user);
|