licailing 4 anos atrás
pai
commit
2d46cb81a2

+ 5 - 0
src/main/java/com/izouma/nineth/repo/MintActivityRepo.java

@@ -16,4 +16,9 @@ public interface MintActivityRepo extends JpaRepository<MintActivity, Long>, Jpa
     void softDelete(Long id);
 
     Optional<MintActivity> findByIdAndDelFalse(Long id);
+
+    @Query("update MintActivity t set t.stock = t.stock + 1 where t.id = ?1")
+    @Modifying
+    @Transactional
+    void addStock(Long id);
 }

+ 1 - 1
src/main/java/com/izouma/nineth/security/WebSecurityConfig.java

@@ -97,7 +97,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
                 .antMatchers("/activity/all").permitAll()
                 .antMatchers("/activity/get/*").permitAll()
                 .antMatchers("/mintActivity/all").permitAll()
-                .antMatchers("/mintActivity/get/*").permitAll()
+                .antMatchers("/mintActivity/get/**").permitAll()
                 .antMatchers("/appVersion/checkIosReview").permitAll()
                 .antMatchers("/druid/**").permitAll()
                 .antMatchers("/testmq/**").permitAll()

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

@@ -59,8 +59,8 @@ public class MintOrderService {
     private Environment       env;
     private AdapayProperties  adapayProperties;
     private SnowflakeIdWorker snowflakeIdWorker;
-    private WxPayProperties wxPayProperties;
-    private WxPayService    wxPayService;
+    private WxPayProperties   wxPayProperties;
+    private WxPayService      wxPayService;
 
     public Page<MintOrder> all(PageQuery pageQuery) {
         return mintOrderRepo.findAll(JpaUtils.toSpecification(pageQuery, MintOrder.class), JpaUtils.toPageRequest(pageQuery));
@@ -219,6 +219,9 @@ public class MintOrderService {
                         .orElse(null))
                 .build());
 
+        //库存
+        mintActivity.setStock(mintActivity.getStock() - 1);
+        mintActivityRepo.save(mintActivity);
     }
 
     public Object payOrderWeixin(Long id, String tradeType, String openId) throws WxPayException, EncoderException {
@@ -394,5 +397,8 @@ public class MintOrderService {
         order.setStatus(MintOrderStatus.CANCELLED);
         order.setCancelTime(LocalDateTime.now());
         mintOrderRepo.save(order);
+
+        // 加库存
+        mintActivityRepo.addStock(order.getMintActivityId());
     }
 }

+ 3 - 1
src/main/java/com/izouma/nineth/web/MintActivityController.java

@@ -1,4 +1,5 @@
 package com.izouma.nineth.web;
+
 import com.izouma.nineth.domain.MintActivity;
 import com.izouma.nineth.service.MintActivityService;
 import com.izouma.nineth.dto.PageQuery;
@@ -20,7 +21,7 @@ import java.util.List;
 @AllArgsConstructor
 public class MintActivityController extends BaseController {
     private MintActivityService mintActivityService;
-    private MintActivityRepo mintActivityRepo;
+    private MintActivityRepo    mintActivityRepo;
 
     //@PreAuthorize("hasRole('ADMIN')")
     @PostMapping("/save")
@@ -30,6 +31,7 @@ public class MintActivityController extends BaseController {
             ObjUtils.merge(orig, record);
             return mintActivityRepo.save(orig);
         }
+        record.setStock(record.getTotal());
         return mintActivityRepo.save(record);
     }