cup 2 lat temu
rodzic
commit
48be32dcd4

+ 24 - 1
mp-admin/src/main/java/com/qs/mp/web/controller/api/admin/MarketingMgrController.java

@@ -1,16 +1,17 @@
 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.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.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.service.IMarketingAwardsPrizeService;
 import com.qs.mp.admin.service.IMarketingAwardsService;
@@ -20,6 +21,9 @@ import com.qs.mp.common.core.domain.AjaxResult;
 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.MarketingUserCode;
+import com.qs.mp.user.service.IMarketingUserCodeService;
 import com.qs.mp.web.controller.common.BaseApiController;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -54,6 +58,9 @@ public class MarketingMgrController extends BaseApiController {
     @Autowired
     private IMarketingAwardsPrizeService marketingAwardsPrizeService;
 
+    @Autowired
+    private IMarketingUserCodeService marketingUserCodeService;
+
     @Log(title = "营销活动新增", businessType = BusinessType.INSERT)
     @ApiOperation(value = "营销活动新增")
     @PostMapping("/create")
@@ -177,4 +184,20 @@ public class MarketingMgrController extends BaseApiController {
         return AjaxResult.success();
     }
 
+    @PostMapping("/data/{id}")
+    @PreAuthorize("@ss.hasPermi('business:marketing:queryData')")
+    @ApiOperation("活动数据")
+    public TableDataInfo dataInfo(@PathVariable("id") Long id) {
+        startPage();
+        QueryWrapper<MarketingUserCode> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("t1.marketing_id", id);
+        queryWrapper.eq("t1.user_type", UserTypeEnum.ORDINARY.getValue());
+
+        queryWrapper.orderByAsc("t4.sort");
+        queryWrapper.orderByDesc("t1.created_time");
+
+        List<MarketingUserCodeListVO> list = marketingUserCodeService.listMarketingUserCodeByQueryWrapper(queryWrapper);
+        return getDataTable(list);
+    }
+
 }

+ 40 - 0
mp-common/src/main/java/com/qs/mp/common/enums/UserTypeEnum.java

@@ -0,0 +1,40 @@
+package com.qs.mp.common.enums;
+
+import com.baomidou.mybatisplus.annotation.IEnum;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * 用户类型枚举类
+ * @author Cup
+ * @date 2022/5/17
+ */
+@ApiModel("用户类型枚举类")
+public enum UserTypeEnum implements IEnum<String> {
+
+    ORDINARY("00", "普通用户"),
+
+    INSIDE("11", "内部用户");
+
+
+    private String value;
+
+    private String desc;
+
+    UserTypeEnum(String value, String desc) {
+        this.value = value;
+        this.desc = desc;
+    }
+
+
+    public String getDesc() {
+        return desc;
+    }
+
+    @Override
+    public String getValue() {
+        return this.value;
+    }
+
+
+
+}

+ 37 - 0
mp-service/src/main/java/com/qs/mp/admin/domain/vo/MarketingUserCodeListVO.java

@@ -0,0 +1,37 @@
+package com.qs.mp.admin.domain.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * 活动抽奖码列表数据出参类
+ * @author Cup
+ * @date 2022/5/17
+ */
+@ApiModel("活动抽奖码列表数据出参类")
+@Data
+public class MarketingUserCodeListVO {
+
+
+    @ApiModelProperty("用户编号")
+    private Long userId;
+
+    @ApiModelProperty("活动名称")
+    private String nickName;
+
+    @ApiModelProperty("抽奖码")
+    private String code;
+
+    @ApiModelProperty("抽奖码获取时间")
+    private Date createdTime;
+
+    @ApiModelProperty("奖级")
+    private String awardsName;
+
+    @ApiModelProperty("奖品")
+    private String prizeName;
+
+}

+ 5 - 0
mp-service/src/main/java/com/qs/mp/user/domain/MarketingHitPrize.java

@@ -41,6 +41,11 @@ public class MarketingHitPrize implements Serializable {
     @TableField("marketing_id")
     private Long marketingId;
 
+
+    @ApiModelProperty("用户参与码关系id")
+    @TableField("marketing_user_code_id")
+    private Long marketingUserCodeId;
+
     /**
      * 用户id
      */

+ 12 - 0
mp-service/src/main/java/com/qs/mp/user/mapper/MarketingUserCodeMapper.java

@@ -1,7 +1,13 @@
 package com.qs.mp.user.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.qs.mp.admin.domain.vo.MarketingUserCodeListVO;
 import com.qs.mp.user.domain.MarketingUserCode;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @auther quanshu
@@ -10,4 +16,10 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface MarketingUserCodeMapper extends BaseMapper<MarketingUserCode> {
 
+    /**
+     * 根据参数查询参与码相关信息
+     * @param queryWrapper
+     * @return
+     */
+    List<MarketingUserCodeListVO> listMarketingUserCodeByQueryWrapper(@Param(Constants.WRAPPER) QueryWrapper<MarketingUserCode> queryWrapper);
 }

+ 11 - 0
mp-service/src/main/java/com/qs/mp/user/service/IMarketingUserCodeService.java

@@ -1,8 +1,12 @@
 package com.qs.mp.user.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.qs.mp.admin.domain.vo.MarketingUserCodeListVO;
 import com.qs.mp.user.domain.MarketingUserCode;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 营销活动用户参与码关系表 服务类
@@ -13,4 +17,11 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IMarketingUserCodeService extends IService<MarketingUserCode> {
 
+
+    /**
+     * 根据参数查询抽奖码相关列表信息
+     * @param queryWrapper
+     * @return
+     */
+    List<MarketingUserCodeListVO> listMarketingUserCodeByQueryWrapper(QueryWrapper<MarketingUserCode> queryWrapper);
 }

+ 9 - 0
mp-service/src/main/java/com/qs/mp/user/service/impl/MarketingUserCodeServiceImpl.java

@@ -1,11 +1,15 @@
 package com.qs.mp.user.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.qs.mp.admin.domain.vo.MarketingUserCodeListVO;
 import com.qs.mp.user.domain.MarketingUserCode;
 import com.qs.mp.user.mapper.MarketingUserCodeMapper;
 import com.qs.mp.user.service.IMarketingUserCodeService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 营销活动用户参与码关系表 服务实现类
@@ -17,4 +21,9 @@ import org.springframework.stereotype.Service;
 @Service
 public class MarketingUserCodeServiceImpl extends ServiceImpl<MarketingUserCodeMapper, MarketingUserCode> implements IMarketingUserCodeService {
 
+
+    @Override
+    public List<MarketingUserCodeListVO> listMarketingUserCodeByQueryWrapper(QueryWrapper<MarketingUserCode> queryWrapper) {
+        return getBaseMapper().listMarketingUserCodeByQueryWrapper(queryWrapper);
+    }
 }

+ 14 - 0
mp-service/src/main/resources/mapper/user/MarketingUserCodeMapper.xml

@@ -21,4 +21,18 @@
         id, marketing_id, user_id, user_type, help_user_id, code, is_hit, created_time, updated_time, is_deleted
     </sql>
 
+    <select id="listMarketingUserCodeByQueryWrapper" resultType="com.qs.mp.admin.domain.vo.MarketingUserCodeListVO">
+        select t1.user_id,
+                t1.code,
+                t1.created_time,
+                t3.nick_name,
+                t4.name awardsName,
+                t5.title prizeName
+        from mp_marketing_user_code t1
+                left join mp_marketing_hit_prize t2 on t1.id = t2.marketing_user_code_id
+                left join sys_user t3 on t1.user_id = t3.user_id
+                left join mp_marketing_awards t4 on t2.awards_id = t4.id
+                left join mp_marketing_awards_prize t5 on t2.prize_id = t5.id
+        ${ew.customSqlSegment}
+    </select>
 </mapper>