xiongzhu hace 4 años
padre
commit
9c04ccf3f6

+ 3 - 3
src/main/java/com/izouma/nineth/service/AirDropService.java

@@ -55,10 +55,10 @@ public class AirDropService {
             for (User user : users) {
                 try {
                     if (collection.getType() == CollectionType.BLIND_BOX) {
-                        assetService.createAsset(collection, user, null, collection.getPrice(), "空投");
-                    } else {
                         BlindBoxItem winItem = collectionService.draw(collection.getId());
-                        assetService.createAsset(winItem, user, null, collection.getPrice(), "空投");
+                        assetService.createAsset(winItem, user, null, null, "空投");
+                    } else {
+                        assetService.createAsset(collection, user, null, null, "空投");
                     }
                     collection.setStock(collection.getStock() - 1);
                     collection.setSale(collection.getSale() + 1);

+ 19 - 6
src/main/java/com/izouma/nineth/service/CollectionService.java

@@ -1,6 +1,7 @@
 package com.izouma.nineth.service;
 
 import com.izouma.nineth.domain.*;
+import com.izouma.nineth.domain.Collection;
 import com.izouma.nineth.dto.CollectionDTO;
 import com.izouma.nineth.dto.CreateBlindBox;
 import com.izouma.nineth.dto.PageQuery;
@@ -13,6 +14,7 @@ import lombok.AllArgsConstructor;
 import org.apache.commons.collections.MapUtils;
 import org.apache.commons.lang3.RandomUtils;
 import org.apache.commons.lang3.Range;
+import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageImpl;
@@ -25,10 +27,7 @@ import org.springframework.stereotype.Service;
 import javax.persistence.criteria.Predicate;
 import javax.transaction.Transactional;
 import java.time.LocalDateTime;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.stream.Collectors;
 
 @Service
@@ -44,6 +43,9 @@ public class CollectionService {
 
     public Page<Collection> all(PageQuery pageQuery) {
         pageQuery.getQuery().put("del", false);
+        String type = MapUtils.getString(pageQuery.getQuery(), "type", "DEFAULT");
+        pageQuery.getQuery().remove("type");
+
         Specification<Collection> specification = JpaUtils.toSpecification(pageQuery, Collection.class);
         PageRequest pageRequest = JpaUtils.toPageRequest(pageQuery);
         if (pageRequest.getSort().stream().noneMatch(order -> order.getProperty().equals("createdAt"))) {
@@ -53,8 +55,19 @@ public class CollectionService {
 
         specification = specification.and((Specification<Collection>) (root, criteriaQuery, criteriaBuilder) -> {
             List<Predicate> and = new ArrayList<>();
-            if (!MapUtils.getString(pageQuery.getQuery(), "type", "").equals("BLIND_BOX")) {
-                and.add(criteriaBuilder.notEqual(root.get("type"), CollectionType.BLIND_BOX));
+
+            if (StringUtils.isNotEmpty(type) && !"all".equalsIgnoreCase(type)) {
+                try {
+                    if (type.contains(",")) {
+                        and.add(root.get("type")
+                                .in(Arrays.stream(type.split(",")).map(s -> Enum.valueOf(CollectionType.class, s))
+                                        .collect(Collectors.toList())));
+                    } else {
+                        and.add(criteriaBuilder.equal(root.get("type"), Enum.valueOf(CollectionType.class, type)));
+                    }
+                } catch (Exception e) {
+
+                }
             }
             return criteriaBuilder.and(and.toArray(new Predicate[0]));
         });

+ 1 - 0
src/main/nine-space/src/styles/app.less

@@ -61,6 +61,7 @@ body,
     height: 100vh;
     overflow: hidden;
     -webkit-overflow-scrolling: touch;
+    -webkit-font-smoothing: antialiased;
 }
 .scroll-wrapper {
     overflow: auto;

+ 1 - 1
src/main/nine-space/src/styles/font.less

@@ -10,7 +10,7 @@
 
 @font-face {
   font-family: 'DIN';
-  src: url(http://zhirongip.oss-cn-hangzhou.aliyuncs.com/fonts/OSP-DIN.ttf);
+  src: url(https://zhirongip.oss-cn-hangzhou.aliyuncs.com/fonts/OSP-DIN.ttf);
 }
 
 

+ 1 - 0
src/main/pc-space/src/styles/app.less

@@ -6,6 +6,7 @@ body,
 html {
     font-family: Noto Sans, Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, SimSun,
         sans-serif;
+    -webkit-font-smoothing: antialiased;
 }
 
 a {

+ 1 - 1
src/main/vue/src/components/CollectionSearch.vue

@@ -17,7 +17,7 @@ export default {
                 {
                     size: 10000,
                     sort: 'sort,desc;createdAt,desc',
-                    query: { del: false, source: 'OFFICIAL' }
+                    query: { del: false, source: 'OFFICIAL', type: 'all' }
                 },
                 { body: 'json' }
             )