|
@@ -1,9 +1,18 @@
|
|
package com.qs.mp.web.controller.api.admin;
|
|
package com.qs.mp.web.controller.api.admin;
|
|
|
|
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
|
+import com.qs.mp.admin.domain.Marketing;
|
|
|
|
+import com.qs.mp.admin.domain.MarketingAwards;
|
|
|
|
+import com.qs.mp.admin.domain.MarketingAwardsPrize;
|
|
|
|
+import com.qs.mp.admin.domain.TicketAwards;
|
|
import com.qs.mp.admin.domain.param.MarketingCreateParam;
|
|
import com.qs.mp.admin.domain.param.MarketingCreateParam;
|
|
import com.qs.mp.admin.domain.param.MarketingQueryParam;
|
|
import com.qs.mp.admin.domain.param.MarketingQueryParam;
|
|
import com.qs.mp.admin.domain.param.MarketingUpdateParam;
|
|
import com.qs.mp.admin.domain.param.MarketingUpdateParam;
|
|
|
|
+import com.qs.mp.admin.domain.vo.MarketingAwardsVO;
|
|
import com.qs.mp.admin.domain.vo.MarketingListVO;
|
|
import com.qs.mp.admin.domain.vo.MarketingListVO;
|
|
|
|
+import com.qs.mp.admin.domain.vo.MarketingVO;
|
|
|
|
+import com.qs.mp.admin.service.IMarketingAwardsPrizeService;
|
|
|
|
+import com.qs.mp.admin.service.IMarketingAwardsService;
|
|
import com.qs.mp.admin.service.IMarketingService;
|
|
import com.qs.mp.admin.service.IMarketingService;
|
|
import com.qs.mp.common.annotation.Log;
|
|
import com.qs.mp.common.annotation.Log;
|
|
import com.qs.mp.common.core.domain.AjaxResult;
|
|
import com.qs.mp.common.core.domain.AjaxResult;
|
|
@@ -14,15 +23,15 @@ import io.swagger.annotations.Api;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiOperation;
|
|
import io.swagger.annotations.ApiResponse;
|
|
import io.swagger.annotations.ApiResponse;
|
|
import io.swagger.annotations.ApiResponses;
|
|
import io.swagger.annotations.ApiResponses;
|
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
import org.springframework.validation.annotation.Validated;
|
|
import org.springframework.validation.annotation.Validated;
|
|
-import org.springframework.web.bind.annotation.PostMapping;
|
|
|
|
-import org.springframework.web.bind.annotation.RequestBody;
|
|
|
|
-import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
|
-import org.springframework.web.bind.annotation.RestController;
|
|
|
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
+import java.util.Objects;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 营销活动管理相关接口
|
|
* 营销活动管理相关接口
|
|
@@ -37,6 +46,12 @@ public class MarketingMgrController extends BaseApiController {
|
|
@Autowired
|
|
@Autowired
|
|
private IMarketingService marketingService;
|
|
private IMarketingService marketingService;
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private IMarketingAwardsService marketingAwardsService;
|
|
|
|
+
|
|
|
|
+ @Autowired
|
|
|
|
+ private IMarketingAwardsPrizeService marketingAwardsPrizeService;
|
|
|
|
+
|
|
@Log(title = "营销活动新增", businessType = BusinessType.INSERT)
|
|
@Log(title = "营销活动新增", businessType = BusinessType.INSERT)
|
|
@ApiOperation(value = "营销活动新增")
|
|
@ApiOperation(value = "营销活动新增")
|
|
@PostMapping("/create")
|
|
@PostMapping("/create")
|
|
@@ -66,4 +81,37 @@ public class MarketingMgrController extends BaseApiController {
|
|
return getDataTable(list);
|
|
return getDataTable(list);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @PostMapping("/detail/{id}")
|
|
|
|
+ @PreAuthorize("@ss.hasPermi('business:marketing:query')")
|
|
|
|
+ @ApiOperation("活动详情")
|
|
|
|
+ @ApiResponses(
|
|
|
|
+ @ApiResponse(code = 200, message = "活动详情",response = MarketingVO.class)
|
|
|
|
+ )
|
|
|
|
+ public AjaxResult detail(@PathVariable("id") Long id) {
|
|
|
|
+ MarketingVO marketingVO = new MarketingVO();
|
|
|
|
+ Marketing marketing = marketingService.getById(id);
|
|
|
|
+ if (Objects.isNull(marketing)) {
|
|
|
|
+ return AjaxResult.error("活动信息不存在");
|
|
|
|
+ }
|
|
|
|
+ BeanUtils.copyProperties(marketing, marketingVO);
|
|
|
|
+
|
|
|
|
+ // 获取奖级信息
|
|
|
|
+ List<MarketingAwards> marketingAwardsList = marketingAwardsService.list(new LambdaQueryWrapper<MarketingAwards>()
|
|
|
|
+ .eq(MarketingAwards::getMarketingId, id)
|
|
|
|
+ .orderByAsc(MarketingAwards::getSort));
|
|
|
|
+
|
|
|
|
+ List<MarketingAwardsVO> marketingAwardsVOS = marketingAwardsList.stream().map(marketingAwards -> {
|
|
|
|
+ MarketingAwardsVO marketingAwardsVO = new MarketingAwardsVO();
|
|
|
|
+ BeanUtils.copyProperties(marketingAwards, marketingAwardsVO);
|
|
|
|
+ List<MarketingAwardsPrize> marketingAwardsPrizeList = marketingAwardsPrizeService.list(new LambdaQueryWrapper<MarketingAwardsPrize>()
|
|
|
|
+ .eq(MarketingAwardsPrize::getAwardsId, marketingAwards.getId()));
|
|
|
|
+ marketingAwardsVO.setPrizeList(marketingAwardsPrizeList);
|
|
|
|
+ return marketingAwardsVO;
|
|
|
|
+ }).collect(Collectors.toList());
|
|
|
|
+
|
|
|
|
+ marketingVO.setAwardsList(marketingAwardsVOS);
|
|
|
|
+
|
|
|
|
+ return AjaxResult.success(marketingVO);
|
|
|
|
+ }
|
|
|
|
+
|
|
}
|
|
}
|