Procházet zdrojové kódy

销毁记录添加用途字段

sunkean před 3 roky
rodič
revize
a3abcb0d91

+ 3 - 0
src/main/java/com/izouma/nineth/domain/DestroyRecord.java

@@ -38,4 +38,7 @@ public class DestroyRecord extends BaseEntity {
     @ApiModelProperty("操作来源")
     @Enumerated(EnumType.STRING)
     private OperationSource source;
+
+    @ApiModelProperty("用途备注")
+    private String remark;
 }

+ 17 - 0
src/main/java/com/izouma/nineth/dto/MetaDestroyParam.java

@@ -0,0 +1,17 @@
+package com.izouma.nineth.dto;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.List;
+
+@AllArgsConstructor
+@NoArgsConstructor
+@Data
+public class MetaDestroyParam {
+
+    private List<Long> ids;
+
+    private String remark;
+}

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

@@ -998,13 +998,18 @@ public class AssetService {
     }
 
     @Transactional
-    public void metaDestroyWithoutTradeCode(List<Long> ids, Long userId, OperationSource source) {
+    public void metaDestroyWithoutTradeCode(MetaDestroyParam metaDestroyParam, Long userId, OperationSource source) {
+        List<Long> ids = metaDestroyParam.getIds();
+        String remark = metaDestroyParam.getRemark();
+        if (CollectionUtils.isEmpty(ids)) {
+            throw new BusinessException("要销毁的藏品id为空");
+        }
         ids.forEach(id -> {
-            destroyWithoutTradeCode(id, userId, source);
+            destroyWithoutTradeCode(id, userId, source, remark);
         });
     }
 
-    public void destroyWithoutTradeCode(Long id, Long userId, OperationSource source) {
+    public void destroyWithoutTradeCode(Long id, Long userId, OperationSource source, String remark) {
         Asset asset = assetRepo.findById(id).orElseThrow(new BusinessException("无记录"));
         if (!asset.getUserId().equals(userId)) {
             throw new BusinessException("此藏品不属于该用户");
@@ -1056,6 +1061,7 @@ public class AssetService {
                 .type(RecordType.OBTAIN)
                 .companyId(asset.getCompanyId())
                 .source(source)
+                .remark(remark)
                 .build());
 
         //加积分

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

@@ -62,7 +62,7 @@ public class PhotoAssetService {
 
     public void pass(PhotoAsset photoAsset) {
         //销毁原来的藏品
-        assetService.destroyWithoutTradeCode(photoAsset.getDestroyAssetId(), photoAsset.getUserId(), OperationSource.RAEX);
+        assetService.destroyWithoutTradeCode(photoAsset.getDestroyAssetId(), photoAsset.getUserId(), OperationSource.RAEX, null);
         //生成新的藏品
         Long createId = assetService.createAsset(photoAsset, userRepo.findById(photoAsset.getUserId())
                 .orElseThrow(new BusinessException("无用户记录")), null, BigDecimal.ZERO, "星图", null, false).getId();
@@ -79,7 +79,7 @@ public class PhotoAssetService {
 //        Asset asset = assetRepo.findById(photoAsset.getDestroyAssetId()).orElseThrow(new BusinessException("无藏品记录"));
 //        asset.setStatus(AssetStatus.NORMAL);
 //        assetRepo.saveAndFlush(asset);
-        assetService.destroyWithoutTradeCode(photoAsset.getDestroyAssetId(), photoAsset.getUserId(), OperationSource.RAEX);;
+        assetService.destroyWithoutTradeCode(photoAsset.getDestroyAssetId(), photoAsset.getUserId(), OperationSource.RAEX, null);;
         photoAssetRepo.save(photoAsset);
     }
 

+ 2 - 2
src/main/java/com/izouma/nineth/web/AssetController.java

@@ -208,8 +208,8 @@ public class AssetController extends BaseController {
 
     @ApiOperation("元宇宙销毁")
     @PostMapping("/metaDestroy")
-    public void metaDestroy(@RequestBody List<Long> ids) {
-        assetService.metaDestroyWithoutTradeCode(ids, SecurityUtils.getAuthenticatedUser().getId(), OperationSource.META);
+    public void metaDestroy(@RequestBody MetaDestroyParam metaDestroyParam) {
+        assetService.metaDestroyWithoutTradeCode(metaDestroyParam, SecurityUtils.getAuthenticatedUser().getId(), OperationSource.META);
     }
 
     @ApiOperation("开盲盒")