licailing 3 tahun lalu
induk
melakukan
4dad2b600d

+ 8 - 0
src/main/java/com/izouma/nineth/service/AssetService.java

@@ -160,6 +160,10 @@ public class AssetService {
                 .operation(type)
                 .price(price)
                 .build());
+
+        //绿洲石
+        rockRecordService.addRock(user.getId(), price, "购买");
+
         rocketMQTemplate.syncSend(generalProperties.getMintTopic(), asset.getId());
         if (asset.getOasisId() != null & asset.getSource().equals(AssetSource.OFFICIAL)) {
             AirDrop airDrop = new AirDrop();
@@ -226,6 +230,10 @@ public class AssetService {
                 .operation(type)
                 .price(price)
                 .build());
+
+        //绿洲石
+        rockRecordService.addRock(user.getId(), price, "购买");
+
         rocketMQTemplate.syncSend(generalProperties.getMintTopic(), asset.getId());
         return asset;
     }

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

@@ -47,9 +47,15 @@ public class RockRecordService {
                 .build());
     }
 
-    @CacheEvict(value = "userStat",key = "#userId")
-    public RockRecord addRock(Long userId, BigDecimal amount, String operation) {
+    @CacheEvict(value = "userStat", key = "#userId")
+    public void addRock(Long userId, BigDecimal amount, String operation) {
         RockRecord rock = this.getRock(userId);
-        return rockRecordRepo.save(rock.addRecord(userId, amount, operation));
+        rockRecordRepo.save(RockRecord.builder()
+                .lastRecord(rock.getRecord())
+                .operation("购买")
+                .amount(amount)
+                .userId(userId)
+                .record(rock.getRecord().add(amount))
+                .build());
     }
 }