Browse Source

Merge branch 'dev' of xiongzhu/raex_back into master

wangqifan 3 years ago
parent
commit
88c97d5149

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

@@ -711,7 +711,7 @@ public class AssetService {
     }
 
     public void transfer(Asset asset, BigDecimal price, User toUser, TransferReason reason, Long orderId) {
-        transfer(asset, price, toUser, reason, orderId, false);
+        transfer(asset, price, toUser, reason, orderId, false, asset.getTags());
     }
 
     private User createFakeUser() {
@@ -724,7 +724,7 @@ public class AssetService {
                 .build());
     }
 
-    public void transfer(Asset asset, BigDecimal price, User toUser, TransferReason reason, Long orderId, boolean safeFlag) {
+    public void transfer(Asset asset, BigDecimal price, User toUser, TransferReason reason, Long orderId, boolean safeFlag, Set<Tag> tags) {
         Objects.requireNonNull(asset, "原藏品不能为空");
         Objects.requireNonNull(toUser, "转让人不能为空");
         Objects.requireNonNull(reason, "转让原因不能为空");
@@ -744,6 +744,7 @@ public class AssetService {
         newAsset.setPublicShow(false);
         newAsset.setConsignment(false);
         newAsset.setPublicCollectionId(null);
+        newAsset.setTags(new HashSet<>(tags));
         asset.setTags(new HashSet<>());
         newAsset.setStatus(AssetStatus.NORMAL);
         newAsset.setPrice(price);
@@ -757,9 +758,6 @@ public class AssetService {
         }
 
         newAsset.setSource(TransferReason.GIFT == reason ? AssetSource.GIFT : AssetSource.TRANSFER);
-        if (!newAsset.getType().equals(CollectionType.DOMAIN)) {
-            newAsset.setTags(new HashSet<>(asset.getTags()));
-        }
         newAsset.setSafeFlag(safeFlag);
         newAsset.setHoldDays(asset.getOldHoldDays());
         if (asset.getType().equals(CollectionType.PICTURE)) {

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

@@ -80,10 +80,7 @@ public class DomainOrderService {
         }
         Pattern p = Pattern.compile("[\u4E00-\u9FA5|\\!|\\,|\\。|\\(|\\)|\\《|\\》|\\“|\\”|\\?|\\:|\\;|\\【|\\】]");
         Matcher m = p.matcher(str);
-        if (m.find()) {
-            return true;
-        }
-        return false;
+        return m.find();
     }
 
     public DomainOrder create(Long userId, String domain, BigDecimal price, Long year) {
@@ -138,6 +135,7 @@ public class DomainOrderService {
 
         DomainOrder domainOrder = new DomainOrder();
 //        domainOrder.setPic(Collections.singletonList(fileObject));
+        domain = domain.replaceAll("[^a-zA-Z0-9\\u4E00-\\u9FA5]", "");
         domainOrder.setPicName(domain);
         domainOrder.setPrice(price);
         domainOrder.setDomainName((domain + ".nft").toLowerCase());
@@ -261,6 +259,7 @@ public class DomainOrderService {
             int dotIndex = domain.indexOf(".");
             domain = domain.substring(0, dotIndex);
         }
+        domain = domain.replaceAll("[^a-zA-Z0-9\\u4E00-\\u9FA5]", "");
         Pageable pageable = PageRequest.of(0, 10, Sort.by("createdAt").descending());
         List<DomainOrder> used = domainOrderRepo.searchUsedDomain("%" + domain + "%", OrderStatus.CANCELLED, pageable)
                 .getContent();

+ 2 - 1
src/main/java/com/izouma/nineth/service/OrderService.java

@@ -693,10 +693,11 @@ public class OrderService {
                     if (collection.getSource() == CollectionSource.TRANSFER) {
                         orderRepo.save(order);
                         Asset asset = assetRepo.findById(collection.getAssetId()).orElse(null);
+                        Set<Tag> tags = new HashSet<>(asset.getTags());
                         boolean safeFlag = Objects
                                 .equals(true, redisTemplate.opsForValue().get("safeFlag::" + orderId));
                         assetService.transfer(asset, order.getPrice(), user, TransferReason.TRANSFER,
-                                order.getId(), safeFlag);
+                                order.getId(), safeFlag, tags);
                         order.setStatus(OrderStatus.FINISH);
                         orderRepo.save(order);
                         collectionRepo.delete(collection);