cup 3 vuotta sitten
vanhempi
commit
2927742fab

+ 16 - 0
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/MarketingMgrController.java

@@ -161,4 +161,20 @@ public class MarketingMgrController extends BaseApiController {
         return AjaxResult.success();
     }
 
+    @PostMapping("/delete/{id}")
+    @PreAuthorize("@ss.hasPermi('business:marketing:remove')")
+    @ApiOperation("删除活动")
+    public AjaxResult delete(@PathVariable("id") Long id) {
+        Marketing marketing = marketingService.getById(id);
+        if (Objects.isNull(marketing)) {
+            return AjaxResult.error("活动信息不存在");
+        }
+
+        if (!MarketingStatusEnum.OFF.getValue().equals(marketing.getIsOn())) {
+            return AjaxResult.error("频繁操作,请刷新后重试");
+        }
+        marketingService.deleteById(id);
+        return AjaxResult.success();
+    }
+
 }

+ 6 - 0
mp-service/src/main/java/com/qs/mp/admin/service/IMarketingService.java

@@ -37,4 +37,10 @@ public interface IMarketingService extends IService<Marketing> {
      * @return
      */
     List<MarketingListVO> listMarketing(MarketingQueryParam marketingQueryParam);
+
+    /**
+     * 根据活动id删除活动相关信息
+     * @param id
+     */
+    void deleteById(Long id);
 }

+ 12 - 0
mp-service/src/main/java/com/qs/mp/admin/service/impl/MarketingServiceImpl.java

@@ -51,6 +51,18 @@ public class MarketingServiceImpl extends ServiceImpl<MarketingMapper, Marketing
     @Autowired
     private IMarketingAwardsPrizeService marketingAwardsPrizeService;
 
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public void deleteById(Long id) {
+        this.removeById(id);
+
+        // 删除奖级和奖品信息
+        marketingAwardsService.remove(new LambdaQueryWrapper<MarketingAwards>().eq(MarketingAwards::getMarketingId, id));
+
+        marketingAwardsPrizeService.remove(new LambdaQueryWrapper<MarketingAwardsPrize>().eq(MarketingAwardsPrize::getMarketingId, id));
+
+    }
+
     @Override
     public List<MarketingListVO> listMarketing(MarketingQueryParam marketingQueryParam) {
         LambdaQueryWrapper<Marketing> queryWrapper = new LambdaQueryWrapper<>();