xiongzhu 4 年 前
コミット
62be69b035

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

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

+ 2 - 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.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.izouma.nineth.JsonView.UserView;
 import com.izouma.nineth.JsonView.UserView;
 import com.izouma.nineth.annotations.Searchable;
 import com.izouma.nineth.annotations.Searchable;
-import com.izouma.nineth.config.Constants;
 import com.izouma.nineth.enums.AuthStatus;
 import com.izouma.nineth.enums.AuthStatus;
 import com.izouma.nineth.security.Authority;
 import com.izouma.nineth.security.Authority;
 import com.izouma.nineth.utils.UserAuthoritySerializer;
 import com.izouma.nineth.utils.UserAuthoritySerializer;
@@ -19,7 +18,6 @@ import lombok.NoArgsConstructor;
 import org.hibernate.annotations.BatchSize;
 import org.hibernate.annotations.BatchSize;
 
 
 import javax.persistence.*;
 import javax.persistence.*;
-import javax.validation.constraints.Pattern;
 import javax.validation.constraints.Size;
 import javax.validation.constraints.Size;
 import java.io.Serializable;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.math.BigDecimal;
@@ -38,7 +36,6 @@ import java.util.Set;
 @ApiModel(value = "用户", description = "用户")
 @ApiModel(value = "用户", description = "用户")
 public class User extends BaseEntity implements Serializable {
 public class User extends BaseEntity implements Serializable {
 
 
-    @Pattern(regexp = Constants.Regex.USERNAME)
     @Size(min = 1, max = 50)
     @Size(min = 1, max = 50)
     @Column(nullable = false, unique = true)
     @Column(nullable = false, unique = true)
     @Searchable
     @Searchable
@@ -134,9 +131,9 @@ public class User extends BaseEntity implements Serializable {
 
 
     @Column(columnDefinition = "int(11) default 0")
     @Column(columnDefinition = "int(11) default 0")
     @ApiModelProperty(value = "邀请数量")
     @ApiModelProperty(value = "邀请数量")
-    private int inviteNum;
+    private int inviteNum =0;
 
 
     @Column(columnDefinition = "int(11) default 0")
     @Column(columnDefinition = "int(11) default 0")
     @ApiModelProperty(value = "获得得空投数量")
     @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'")
             "where asset.number > collection_info.total and status = 'NORMAL'")
     List<Asset> findOverNumber();
     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);
+
 }
 }

+ 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.alibaba.fastjson.serializer.SerializerFeature;
 import com.huifu.adapay.model.Refund;
 import com.huifu.adapay.model.Refund;
 import com.izouma.nineth.domain.Asset;
 import com.izouma.nineth.domain.Asset;
+import com.izouma.nineth.domain.Collection;
 import com.izouma.nineth.domain.Order;
 import com.izouma.nineth.domain.Order;
 import com.izouma.nineth.enums.AssetStatus;
 import com.izouma.nineth.enums.AssetStatus;
 import com.izouma.nineth.enums.CollectionSource;
 import com.izouma.nineth.enums.CollectionSource;
@@ -29,6 +30,7 @@ import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
+import java.util.stream.Collectors;
 
 
 public class FixOverSale extends ApplicationTests {
 public class FixOverSale extends ApplicationTests {
     @Autowired
     @Autowired
@@ -127,8 +129,34 @@ public class FixOverSale extends ApplicationTests {
     }
     }
 
 
     @Test
     @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 com.izouma.nineth.repo.*;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Pageable;
 
 
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
 import java.util.Arrays;
 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
     @Test
     public void switchAccount() {
     public void switchAccount() {
-        userService.switchAccount();
+        userService.checkSettleAccount();
     }
     }
 
 
     @Test
     @Test