Răsfoiți Sursa

核销保存

licailing 5 ani în urmă
părinte
comite
2ec2b43dfe

+ 2 - 2
src/main/java/com/izouma/jiashanxia/dto/GoodsDTO.java

@@ -10,6 +10,6 @@ import lombok.NoArgsConstructor;
 @AllArgsConstructor
 @NoArgsConstructor
 public class GoodsDTO {
-    private Long goodsInfoId;
-    private Long num;
+    private Long    goodsInfoId;
+    private Integer num;
 }

+ 2 - 2
src/main/java/com/izouma/jiashanxia/dto/GoodsVO.java

@@ -10,6 +10,6 @@ import lombok.NoArgsConstructor;
 @AllArgsConstructor
 @NoArgsConstructor
 public class GoodsVO {
-    private String name;
-    private Long   num;
+    private String  name;
+    private Integer num;
 }

+ 5 - 1
src/main/java/com/izouma/jiashanxia/service/UserPackageFlowService.java

@@ -141,9 +141,14 @@ public class UserPackageFlowService {
             if (ObjectUtil.isEmpty(userPackage)) {
                 throw new BusinessException("无此项目");
             }
+            if (userPackage.getNum() <= 0) {
+                throw new BusinessException("无余额");
+            }
             if (goodsDTO.getNum() > userPackage.getNum()) {
                 throw new BusinessException("核销数量大于套餐数量");
             }
+            userPackage.setNum(userPackage.getNum() - goodsDTO.getNum());
+            userPackageRepo.save(userPackage);
         });
 
         // 保存套餐流水
@@ -174,5 +179,4 @@ public class UserPackageFlowService {
                 .goods(goodsVOS)
                 .build();
     }
-
 }

+ 10 - 0
src/test/java/com/izouma/jiashanxia/service/UserPackageFlowServiceTest.java

@@ -1,6 +1,7 @@
 package com.izouma.jiashanxia.service;
 
 import com.izouma.jiashanxia.dto.UserPackageFlowVO;
+import com.izouma.jiashanxia.dto.WriteOffSaveVO;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -22,4 +23,13 @@ public class UserPackageFlowServiceTest {
         List<UserPackageFlowVO> my = userPackageFlowService.my(2L);
         my.forEach(System.out::println);
     }
+
+    @Test
+    public void test() {
+        userPackageFlowService.writeOff(WriteOffSaveVO.builder()
+                .userId(40L)
+                .writeOffUserId(1L)
+                .content("[{\"goodsInfoId\":11,\"num\":1},{\"goodsInfoId\":12,\"num\":1}]")
+                .build());
+    }
 }