Qchen 11 ヶ月 前
コミット
f4300236e3

+ 7 - 7
linkwe-api/src/main/java/com/linkwechat/controller/WeActivityController.java

@@ -48,13 +48,13 @@ public class WeActivityController extends BaseController {
         return AjaxResult.success(weActivityService.editActivityStatus(actId,actStatus));
     }
 
-    @ApiOperation(value = "活动列表分页", httpMethod = "POST")
-    @PostMapping("/listActivity")
-    public TableDataInfo<WeActivity> listActivity(@RequestBody @Validated WeActivityListQuery query) {
-        startPage();
-        List<WeActivityListVo> list = weActivityService.listActivity(query);
-        return getDataTable(list);
-    }
+//    @ApiOperation(value = "活动列表分页", httpMethod = "POST")
+//    @PostMapping("/listActivity")
+//    public TableDataInfo<WeActivity> listActivity(@RequestBody @Validated WeActivityListQuery query) {
+//        startPage();
+//        List<WeActivityListVo> list = weActivityService.listActivity(query);
+//        return getDataTable(list);
+//    }
 
     @ApiOperation(value = "活动详情", httpMethod = "GET")
     @GetMapping("/getActivity")

+ 42 - 0
linkwe-chinacoal/src/main/java/com/linkwechat/coal/modules/bdshdb/equity/controller/WeApplicationFormRecordController.java

@@ -0,0 +1,42 @@
+package com.linkwechat.coal.modules.bdshdb.equity.controller;
+
+import com.linkwechat.coal.modules.bdshdb.equity.service.WeActivityService;
+import com.linkwechat.common.core.controller.BaseController;
+import com.linkwechat.common.core.page.TableDataInfo;
+import com.linkwechat.domain.WeActivity;
+import com.linkwechat.domain.activity.query.WeActivityListQuery;
+import com.linkwechat.domain.activity.vo.WeActivityListVo;
+import com.linkwechat.service.IWeActivityService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+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 javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @author quchen
+ * @date 2025/9/20 17:13
+ */
+
+@Slf4j
+@RestController
+@RequestMapping(value = "activity")
+@Api(tags = "活动表单")
+public class WeApplicationFormRecordController extends BaseController {
+
+    @Resource
+    private WeActivityService weActivityService;
+    @ApiOperation(value = "活动列表分页", httpMethod = "POST")
+    @PostMapping("/listActivity")
+    public TableDataInfo<WeActivity> listActivity(@RequestBody @Validated WeActivityListQuery query) {
+        startPage();
+        List<WeActivityListVo> list = weActivityService.listActivity(query);
+        return getDataTable(list);
+    }
+}

+ 51 - 0
linkwe-chinacoal/src/main/java/com/linkwechat/coal/modules/bdshdb/equity/entity/WeApplicationFormRecord.java

@@ -0,0 +1,51 @@
+package com.linkwechat.coal.modules.bdshdb.equity.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@TableName("we_application_form_record")
+public class WeApplicationFormRecord {
+    /**主键*/
+    @TableId(type = IdType.ASSIGN_ID)
+    @ApiModelProperty(value = "主键")
+    private String id;
+    /**活动Id*/
+    @ApiModelProperty(value = "活动Id")
+    private String actId;
+    /**活动名称*/
+    @ApiModelProperty(value = "活动名称")
+    private String actName;
+    /**报名用户id*/
+    @ApiModelProperty(value = "报名用户id")
+    private String userId;
+    /**报名用户名称*/
+    @ApiModelProperty(value = "报名用户名称")
+    private String userNickName;
+    /**报创建时间*/
+    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
+    @ApiModelProperty(value = "报创建时间")
+    private Date createTime;
+    /**报名表单key*/
+    @ApiModelProperty(value = "报名表单key")
+    private String formKey;
+    /**报名表单名称*/
+    @ApiModelProperty(value = "报名表单名称")
+    private String formName;
+    /**报名表单的值*/
+    @ApiModelProperty(value = "报名表单的值")
+    private String formVal;
+
+    @ApiModelProperty(value = "报名用户手机号")
+    private String userPhone;
+}

+ 64 - 0
linkwe-chinacoal/src/main/java/com/linkwechat/coal/modules/bdshdb/equity/entity/WePrizeRecord.java

@@ -0,0 +1,64 @@
+package com.linkwechat.coal.modules.bdshdb.equity.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+/**
+ * @author quchen
+ * @date 2025/9/20 17:16
+ */
+
+@Data
+@TableName("we_prize_record")
+@EqualsAndHashCode(callSuper = false)
+public class WePrizeRecord {
+
+    /**主键*/
+    @TableId(type = IdType.ASSIGN_ID)
+    private String id;
+    /**活动Id*/
+    @ApiModelProperty(value = "活动Id")
+    private String actId;
+    /**活动名称*/
+    @ApiModelProperty(value = "活动名称")
+    private String actName;
+    /**抽奖用户id*/
+    @ApiModelProperty(value = "抽奖用户id")
+    private String userId;
+    /**奖品id*/
+    @ApiModelProperty(value = "奖品id")
+    private String prizeId;
+
+
+    @ApiModelProperty(value = "奖品名称")
+    private String prizeName;
+    /**奖品类型*/
+    @ApiModelProperty(value = "奖品类型")
+    private Integer prizeType;
+    /**权益卷id*/
+    @ApiModelProperty(value = "权益卷id")
+    private String equityId;
+    /**积分值*/
+    @ApiModelProperty(value = "积分值")
+    private Integer pointValue;
+    /**会员等级*/
+    @ApiModelProperty(value = "会员等级")
+    private String vipId;
+    /**创建时间*/
+    @ApiModelProperty(value = "创建时间")
+    private Date createTime;
+
+    /**抽奖用户id*/
+    @ApiModelProperty(value = "抽奖用户昵称")
+    private String userName;
+
+    /**抽奖用户id*/
+    @ApiModelProperty(value = "抽奖用户id")
+    private String userPhone;
+}

+ 18 - 0
linkwe-chinacoal/src/main/java/com/linkwechat/coal/modules/bdshdb/equity/mapper/WeActivityCopyMapper.java

@@ -0,0 +1,18 @@
+package com.linkwechat.coal.modules.bdshdb.equity.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.linkwechat.domain.WeActivity;
+import com.linkwechat.domain.activity.vo.FormRecordVo;
+import com.linkwechat.domain.activity.vo.WinRecordVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface WeActivityCopyMapper extends BaseMapper<WeActivity> {
+
+    List<FormRecordVo> selectFormRecordByActId(String actId);
+
+    List<WinRecordVo> selectWinRecordByActId(@Param("actId")String actId, @Param("prizeType") String prizeType);
+}

+ 17 - 0
linkwe-chinacoal/src/main/java/com/linkwechat/coal/modules/bdshdb/equity/service/WeActivityService.java

@@ -0,0 +1,17 @@
+package com.linkwechat.coal.modules.bdshdb.equity.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.linkwechat.domain.WeActivity;
+import com.linkwechat.domain.activity.query.WeActivityListQuery;
+import com.linkwechat.domain.activity.vo.WeActivityListVo;
+
+import java.util.List;
+
+/**
+ * @author quchen
+ * @date 2025/9/20 17:23
+ */
+
+public interface WeActivityService extends IService<WeActivity> {
+    List<WeActivityListVo> listActivity(WeActivityListQuery query);
+}

+ 54 - 0
linkwe-chinacoal/src/main/java/com/linkwechat/coal/modules/bdshdb/equity/service/impl/WeActivityCopyServiceImpl.java

@@ -0,0 +1,54 @@
+package com.linkwechat.coal.modules.bdshdb.equity.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.linkwechat.coal.modules.bdshdb.equity.mapper.WeActivityCopyMapper;
+import com.linkwechat.coal.modules.bdshdb.equity.service.WeActivityService;
+import com.linkwechat.domain.WeActivity;
+import com.linkwechat.domain.activity.query.WeActivityListQuery;
+import com.linkwechat.domain.activity.vo.FormRecordVo;
+import com.linkwechat.domain.activity.vo.WeActivityListVo;
+import com.linkwechat.domain.activity.vo.WinRecordVo;
+import com.linkwechat.mapper.WeActivityMapper;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @author quchen
+ * @date 2025/9/20 17:24
+ */
+
+@Service
+public class WeActivityCopyServiceImpl extends ServiceImpl<WeActivityMapper, WeActivity> implements WeActivityService {
+    @Resource
+    private WeActivityCopyMapper weActivityCopyMapper;
+    @Override
+    public List<WeActivityListVo> listActivity(WeActivityListQuery query) {
+        List<WeActivityListVo> list = this.baseMapper.queryActivityList(query);
+        list.forEach(vo -> {
+            if (vo.getActType()== 4) {
+                List<FormRecordVo> formRecordList = selectFormRecordByActId(vo.getActId().toString());
+                vo.setListNum(formRecordList.size());
+            }
+            if (vo.getActType() == 1 || vo.getActType() == 2) {
+                // 中奖人数
+                List<WinRecordVo> winNumList = selectWinRecordByActId(vo.getActId().toString(),"中奖人数");
+                vo.setWinNum(winNumList.size());
+                // 参与人数
+                List<WinRecordVo> partNum = selectWinRecordByActId(vo.getActId().toString(), "");
+                vo.setListNum(partNum.size());
+            }
+
+        });
+        return list;
+    }
+
+    public List<FormRecordVo> selectFormRecordByActId(String actId) {
+        return weActivityCopyMapper.selectFormRecordByActId(actId);
+    }
+
+    public List<WinRecordVo> selectWinRecordByActId(String actId , String prizeType) {
+        return weActivityCopyMapper.selectWinRecordByActId(actId, prizeType);
+    }
+}

+ 34 - 0
linkwe-chinacoal/src/main/resources/mapper/modules/bdshdb/customer/WeActivityCopyMapper.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.linkwechat.coal.modules.bdshdb.equity.mapper.WeActivityCopyMapper">
+    <select id="selectFormRecordByActId" resultType="com.linkwechat.domain.activity.vo.FormRecordVo">
+        select
+            wafr.act_id as actId,
+            wafr.user_id as userId,
+            MAX(wafr.user_nick_name) as userNickName,
+            GROUP_CONCAT(CONCAT(wafr.form_name, ':', wafr.form_val) SEPARATOR ',') as userInfo
+        from
+            we_application_form_record wafr
+        where
+            1=1
+          and wafr.act_id = #{actId}
+        group by wafr.act_id, wafr.user_id
+    </select>
+
+    <select id="selectWinRecordByActId" resultType="com.linkwechat.domain.activity.vo.WinRecordVo">
+        select
+        wpr.id as id,
+        wpr.act_id as actId,
+        wpr.user_id as userId,
+        wpr.user_phone as userPhone,
+        wpr.user_name as userNickName
+        from
+        we_prize_record wpr
+        where
+        1=1
+        and wpr.act_id = #{actId}
+        <if test="prizeType != null and prizeType != ''">
+            and wpr.prize_type != 5
+        </if>
+    </select>
+</mapper>