Ver Fonte

Merge branch 'dev' into 'mp-server-test'

优化

See merge request quanshu/mp-server!635
jiang hao há 2 anos atrás
pai
commit
330ff7e4ff

+ 35 - 5
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/MarketingMgrController.java

@@ -12,10 +12,7 @@ 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;
-import com.qs.mp.admin.domain.vo.MarketingListVO;
-import com.qs.mp.admin.domain.vo.MarketingUserCodeListVO;
-import com.qs.mp.admin.domain.vo.MarketingVO;
+import com.qs.mp.admin.domain.vo.*;
 import com.qs.mp.admin.service.IMarketingAwardsPrizeService;
 import com.qs.mp.admin.service.IMarketingAwardsService;
 import com.qs.mp.admin.service.IMarketingService;
@@ -210,10 +207,43 @@ public class MarketingMgrController extends BaseApiController {
     @PostMapping("/data/{id}")
     @PreAuthorize("@ss.hasPermi('business:marketing:queryData')")
     @ApiOperation("活动数据")
+    @ApiResponses(
+            @ApiResponse(code = 200, message = "success", response = MarketingDataVO.class)
+    )
+    public AjaxResult dataInfo(@PathVariable("id") Long id) {
+        MarketingDataVO marketingDataVO = new MarketingDataVO();
+        Marketing marketing = marketingService.getById(id);
+        if (Objects.isNull(marketing)) {
+            return AjaxResult.error("活动信息不存在");
+        }
+        marketingDataVO.setTitle(marketing.getTitle());
+        marketingDataVO.setRealNum(marketing.getRealNum());
+
+
+        int codeCount = marketingUserCodeService.count(new LambdaQueryWrapper<MarketingUserCode>()
+                .eq(MarketingUserCode::getMarketingId, id)
+                .eq(MarketingUserCode::getUserType, UserTypeEnum.ORDINARY.getValue()));
+        marketingDataVO.setCodeCount(codeCount);
+
+
+        int newUserCount = marketingUserCodeService.count(new LambdaQueryWrapper<MarketingUserCode>()
+                .eq(MarketingUserCode::getMarketingId, id)
+                .eq(MarketingUserCode::getUserType, UserTypeEnum.ORDINARY.getValue())
+                .isNotNull(MarketingUserCode::getHelpUserId)
+                .groupBy(MarketingUserCode::getUserId));
+
+        marketingDataVO.setNewUserCount(newUserCount);
+
+        return AjaxResult.success(marketingDataVO);
+    }
+
+    @PostMapping("/data/codeList/{id}")
+    @PreAuthorize("@ss.hasPermi('business:marketing:queryData')")
+    @ApiOperation("活动抽奖码数据")
     @ApiResponses(
             @ApiResponse(code = 200, message = "success", response = MarketingUserCodeListVO.class)
     )
-    public TableDataInfo dataInfo(@PathVariable("id") Long id) {
+    public TableDataInfo dataCodeList(@PathVariable("id") Long id) {
         startPage();
         QueryWrapper<MarketingUserCode> queryWrapper = new QueryWrapper<>();
         queryWrapper.eq("t1.marketing_id", id);

+ 28 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/vo/MarketingDataVO.java

@@ -0,0 +1,28 @@
+package com.qs.mp.admin.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 营销活动数据出参类
+ * @author Cup
+ * @date 2022/5/31
+ */
+@ApiModel("营销活动数据出参类")
+@Data
+public class MarketingDataVO {
+
+    @ApiModelProperty("活动名称")
+    private String title;
+
+    @ApiModelProperty("真实参与用户量")
+    private Integer realNum;
+
+    @ApiModelProperty("抽奖码数量")
+    private Integer codeCount;
+
+    @ApiModelProperty("新用户数")
+    private Integer newUserCount;
+
+}