|
@@ -3,10 +3,13 @@ package com.qs.mp.web.controller.api.admin;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
|
|
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.excel.MarketingHitPrizeExcel;
|
|
|
import com.qs.mp.admin.domain.param.MarketingCreateParam;
|
|
|
+import com.qs.mp.admin.domain.param.MarketingHitPrizeExportParam;
|
|
|
import com.qs.mp.admin.domain.param.MarketingQueryParam;
|
|
|
import com.qs.mp.admin.domain.param.MarketingUpdateParam;
|
|
|
import com.qs.mp.admin.domain.vo.MarketingAwardsVO;
|
|
@@ -22,13 +25,17 @@ import com.qs.mp.common.core.page.TableDataInfo;
|
|
|
import com.qs.mp.common.enums.BusinessType;
|
|
|
import com.qs.mp.common.enums.MarketingStatusEnum;
|
|
|
import com.qs.mp.common.enums.UserTypeEnum;
|
|
|
+import com.qs.mp.user.domain.MarketingHitPrize;
|
|
|
import com.qs.mp.user.domain.MarketingUserCode;
|
|
|
+import com.qs.mp.user.service.IMarketingHitPrizeService;
|
|
|
import com.qs.mp.user.service.IMarketingUserCodeService;
|
|
|
+import com.qs.mp.utils.ExcelUtil;
|
|
|
import com.qs.mp.web.controller.common.BaseApiController;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
import io.swagger.annotations.ApiResponse;
|
|
|
import io.swagger.annotations.ApiResponses;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.security.access.prepost.PreAuthorize;
|
|
@@ -41,6 +48,7 @@ import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 营销活动管理相关接口
|
|
|
+ *
|
|
|
* @author Cup
|
|
|
* @date 2022/5/16
|
|
|
*/
|
|
@@ -61,6 +69,9 @@ public class MarketingMgrController extends BaseApiController {
|
|
|
@Autowired
|
|
|
private IMarketingUserCodeService marketingUserCodeService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private IMarketingHitPrizeService marketingHitPrizeService;
|
|
|
+
|
|
|
@Log(title = "营销活动新增", businessType = BusinessType.INSERT)
|
|
|
@ApiOperation(value = "营销活动新增")
|
|
|
@PostMapping("/create")
|
|
@@ -82,11 +93,11 @@ public class MarketingMgrController extends BaseApiController {
|
|
|
@PreAuthorize("@ss.hasPermi('business:marketing:list')")
|
|
|
@ApiOperation("营销活动列表")
|
|
|
@ApiResponses(
|
|
|
- @ApiResponse(code = 200, message = "营销活动列表",response = MarketingListVO.class)
|
|
|
+ @ApiResponse(code = 200, message = "营销活动列表", response = MarketingListVO.class)
|
|
|
)
|
|
|
public TableDataInfo list(@RequestBody MarketingQueryParam marketingQueryParam) {
|
|
|
startPage();
|
|
|
- List<MarketingListVO> list = marketingService.listMarketing(marketingQueryParam);
|
|
|
+ List<MarketingListVO> list = marketingService.listMarketing(marketingQueryParam);
|
|
|
return getDataTable(list);
|
|
|
}
|
|
|
|
|
@@ -94,7 +105,7 @@ public class MarketingMgrController extends BaseApiController {
|
|
|
@PreAuthorize("@ss.hasPermi('business:marketing:query')")
|
|
|
@ApiOperation("活动详情")
|
|
|
@ApiResponses(
|
|
|
- @ApiResponse(code = 200, message = "活动详情",response = MarketingVO.class)
|
|
|
+ @ApiResponse(code = 200, message = "活动详情", response = MarketingVO.class)
|
|
|
)
|
|
|
public AjaxResult detail(@PathVariable("id") Long id) {
|
|
|
MarketingVO marketingVO = new MarketingVO();
|
|
@@ -188,7 +199,7 @@ public class MarketingMgrController extends BaseApiController {
|
|
|
@PreAuthorize("@ss.hasPermi('business:marketing:queryData')")
|
|
|
@ApiOperation("活动数据")
|
|
|
@ApiResponses(
|
|
|
- @ApiResponse(code = 200, message = "success",response = MarketingUserCodeListVO.class)
|
|
|
+ @ApiResponse(code = 200, message = "success", response = MarketingUserCodeListVO.class)
|
|
|
)
|
|
|
public TableDataInfo dataInfo(@PathVariable("id") Long id) {
|
|
|
startPage();
|
|
@@ -203,4 +214,24 @@ public class MarketingMgrController extends BaseApiController {
|
|
|
return getDataTable(list);
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ @PostMapping("/export")
|
|
|
+ @PreAuthorize("@ss.hasPermi('business:marketing:export')")
|
|
|
+ @ApiOperation("活动中奖数据导出")
|
|
|
+ public AjaxResult export(@RequestBody MarketingHitPrizeExportParam marketingHitPrizeExportParam) {
|
|
|
+ QueryWrapper<MarketingHitPrize> queryWrapper = new QueryWrapper<>();
|
|
|
+ if (StringUtils.isNotBlank(marketingHitPrizeExportParam.getTitle())) {
|
|
|
+ queryWrapper.like("t2.title", marketingHitPrizeExportParam.getTitle());
|
|
|
+ }
|
|
|
+
|
|
|
+ List<MarketingHitPrizeExcel> exportList = marketingHitPrizeService.listHitPrizeExportByQueryWrapper(queryWrapper);
|
|
|
+ if (CollectionUtils.isEmpty(exportList)) {
|
|
|
+ return AjaxResult.error("没有符合条件的活动中奖数据");
|
|
|
+ }
|
|
|
+ ExcelUtil<MarketingHitPrizeExcel> util = new ExcelUtil<>(MarketingHitPrizeExcel.class);
|
|
|
+ return util.exportExcel(exportList, "活动中奖数据导出", false);
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
}
|