Browse Source

Merge branch 'dev' of http://git.izouma.com/xiongzhu/9th into dev

panhui 4 years ago
parent
commit
cdcb23a720

+ 3 - 1
src/main/java/com/izouma/nineth/config/GeneralProperties.java

@@ -21,9 +21,11 @@ public class GeneralProperties {
     private String  orderNotifyTopic;
     private String  mintGroup;
     private String  mintTopic;
-    private boolean notifyServer;
     private String  updateActivityStockGroup;
     private String  updateActivityStockTopic;
+    private String  commonEventGroup;
+    private String  switchAccountTopic;
+    private boolean notifyServer;
     private int     dataCenterId;
     private int     workerId;
 }

+ 4 - 5
src/main/java/com/izouma/nineth/domain/User.java

@@ -6,7 +6,6 @@ import com.fasterxml.jackson.annotation.JsonView;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.izouma.nineth.JsonView.UserView;
 import com.izouma.nineth.annotations.Searchable;
-import com.izouma.nineth.config.Constants;
 import com.izouma.nineth.enums.AuthStatus;
 import com.izouma.nineth.security.Authority;
 import com.izouma.nineth.utils.UserAuthoritySerializer;
@@ -19,7 +18,6 @@ import lombok.NoArgsConstructor;
 import org.hibernate.annotations.BatchSize;
 
 import javax.persistence.*;
-import javax.validation.constraints.Pattern;
 import javax.validation.constraints.Size;
 import java.io.Serializable;
 import java.math.BigDecimal;
@@ -38,7 +36,6 @@ import java.util.Set;
 @ApiModel(value = "用户", description = "用户")
 public class User extends BaseEntity implements Serializable {
 
-    @Pattern(regexp = Constants.Regex.USERNAME)
     @Size(min = 1, max = 50)
     @Column(nullable = false, unique = true)
     @Searchable
@@ -132,9 +129,11 @@ public class User extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "邀请得空投")
     private Long invitor;
 
+    @Column(columnDefinition = "int(11) default 0")
     @ApiModelProperty(value = "邀请数量")
-    private int inviteNum;
+    private int inviteNum =0;
 
+    @Column(columnDefinition = "int(11) default 0")
     @ApiModelProperty(value = "获得得空投数量")
-    private int inviteAirDrop;
+    private int inviteAirDrop=0 ;
 }

+ 8 - 0
src/main/java/com/izouma/nineth/repo/AssetRepo.java

@@ -54,4 +54,12 @@ public interface AssetRepo extends JpaRepository<Asset, Long>, JpaSpecificationE
             "where asset.number > collection_info.total and status = 'NORMAL'")
     List<Asset> findOverNumber();
 
+    @Query(nativeQuery = true, value = "select * from asset " +
+            "where name = ?1 " +
+            "and number <= ?2 and public_show = false and consignment = false " +
+            "and modified_at < date_sub(now(), INTERVAL 7 DAY) " +
+            "and number > 5 and status = 'NORMAL' " +
+            "order by modified_at")
+    List<Asset> findColdAsset(String name, int number);
+
 }

+ 23 - 0
src/main/java/com/izouma/nineth/service/IdentityAuthService.java

@@ -1,8 +1,10 @@
 package com.izouma.nineth.service;
 
+import com.izouma.nineth.domain.AirDrop;
 import com.izouma.nineth.domain.IdentityAuth;
 import com.izouma.nineth.domain.User;
 import com.izouma.nineth.dto.PageQuery;
+import com.izouma.nineth.enums.AirDropType;
 import com.izouma.nineth.enums.AuthStatus;
 import com.izouma.nineth.exception.BusinessException;
 import com.izouma.nineth.repo.IdentityAuthRepo;
@@ -21,6 +23,7 @@ public class IdentityAuthService {
     private IdentityAuthRepo identityAuthRepo;
     private UserRepo         userRepo;
     private AdapayService    adapayService;
+    private AirDropService   airDropService;
 
     public Page<IdentityAuth> all(PageQuery 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("用户不存在"));
         if (status == AuthStatus.SUCCESS) {
             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);
         userRepo.save(user);

+ 4 - 21
src/main/java/com/izouma/nineth/service/UserService.java

@@ -10,9 +10,11 @@ import com.huifu.adapay.model.AdapayCommon;
 import com.huifu.adapay.model.SettleAccount;
 import com.izouma.nineth.config.AdapayProperties;
 import com.izouma.nineth.config.Constants;
-import com.izouma.nineth.domain.*;
+import com.izouma.nineth.domain.Follow;
+import com.izouma.nineth.domain.IdentityAuth;
+import com.izouma.nineth.domain.Invite;
+import com.izouma.nineth.domain.User;
 import com.izouma.nineth.dto.*;
-import com.izouma.nineth.enums.AirDropType;
 import com.izouma.nineth.enums.AuthStatus;
 import com.izouma.nineth.enums.AuthorityName;
 import com.izouma.nineth.event.AccountCreatedEvent;
@@ -68,7 +70,6 @@ public class UserService {
     private FollowRepo            followRepo;
     private IdentityAuthRepo      identityAuthRepo;
     private SysConfigService      sysConfigService;
-    private AirDropService        airDropService;
     private AdapayService         adapayService;
     private UserBankCardRepo      userBankCardRepo;
     private CacheService          cacheService;
@@ -178,24 +179,6 @@ public class UserService {
         if (invite != null) {
             inviteRepo.increaseNum(invite.getId());
         }
-        if (invitor != null) {
-            userRepo.findByIdAndDelFalse(invitor).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(invitor))
-                            .projectId(1)
-                            .build());
-                    user1.setInviteAirDrop(user1.getInviteAirDrop() + 1);
-                }
-                userRepo.save(user1);
-            });
-        }
         return user;
     }
 

+ 30 - 2
src/test/java/com/izouma/nineth/FixOverSale.java

@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.serializer.SerializerFeature;
 import com.huifu.adapay.model.Refund;
 import com.izouma.nineth.domain.Asset;
+import com.izouma.nineth.domain.Collection;
 import com.izouma.nineth.domain.Order;
 import com.izouma.nineth.enums.AssetStatus;
 import com.izouma.nineth.enums.CollectionSource;
@@ -29,6 +30,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 public class FixOverSale extends ApplicationTests {
     @Autowired
@@ -127,8 +129,34 @@ public class FixOverSale extends ApplicationTests {
     }
 
     @Test
-    public void fixOverNumber() {
-        List<Asset> assets = assetRepo.findOverNumber();
+    public void fixOverNumber() throws IOException {
+        List<Asset> list = assetRepo.findOverNumber();
+        System.out.println(list.size());
+        StringBuilder builder = new StringBuilder();
+        list.stream().collect(Collectors.groupingBy(asset -> asset.getCollectionId()))
+                .forEach((collectionId, assets) -> {
+                    Collection collection = collectionRepo.findById(collectionId).orElse(null);
+                    if (collection != null) {
+                        List<Asset> coldAssets = assetRepo.findColdAsset(collection.getName(), collection.getTotal());
+                        System.out.println(collection.getTotal() + " " + collection.getName() + " " + assets.size() + " " + coldAssets.size());
+                        for (int i = 0; i < Math.min(assets.size(), coldAssets.size()); i++) {
+                            Asset asset = assets.get(i);
+                            Asset cold = coldAssets.get(i);
+                            String s = asset.getId() + "," + asset.getName() + "," + asset.getNumber() + "->" + cold.getNumber();
+                            builder.append(s).append("\n");
+
+                            asset.setNumber(cold.getNumber());
+                            assetRepo.save(asset);
 
+                            for (Long aLong : collectionRepo.findAllByAssetId(asset.getId())) {
+                                collectionRepo.findById(aLong).ifPresent(c -> {
+                                    c.setNumber(cold.getNumber());
+                                    collectionRepo.save(c);
+                                });
+                            }
+                        }
+                    }
+                });
+        FileUtils.write(new File("/Users/drew/Desktop/改编号.txt"), builder.toString(), StandardCharsets.UTF_8);
     }
 }

+ 0 - 5
src/test/java/com/izouma/nineth/service/AssetServiceTest.java

@@ -5,7 +5,6 @@ import com.izouma.nineth.domain.*;
 import com.izouma.nineth.repo.*;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Pageable;
 
 import java.time.LocalDateTime;
 import java.util.Arrays;
@@ -89,8 +88,4 @@ class AssetServiceTest extends ApplicationTests {
 
     }
 
-    @Test
-    public void userHistory() {
-        assetService.userHistory(44L, 1, Pageable.unpaged());
-    }
 }

+ 1 - 1
src/test/java/com/izouma/nineth/service/UserServiceTest.java

@@ -60,7 +60,7 @@ public class UserServiceTest extends ApplicationTests {
 
     @Test
     public void switchAccount() {
-        userService.switchAccount();
+        userService.checkSettleAccount();
     }
 
     @Test