zxl
6 小时以前 466dd992a6159216c334288265801c4b7c63c063
导出以及页面
11个文件已修改
4个文件已添加
438 ■■■■■ 已修改文件
framework/src/main/java/cn/lili/modules/lmk/domain/query/PrizeGrantRecordQuery.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/domain/query/PrizeRecordQuery.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/domain/vo/PrizeRecordVO.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/mapper/PrizeGrantRecordMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/mapper/PrizeRecordMapper.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/service/PrizeGrantRecordService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/service/PrizeRecordService.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeGrantRecordServiceImpl.java 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeRecordServiceImpl.java 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/order/order/entity/dto/PrizeGrantRecordExportDetailDtO.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/order/order/entity/dto/PrizeRecordExportDetailDTO.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/resources/mapper/lmk/PrizeGrantRecordMapper.xml 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/resources/mapper/lmk/PrizeRecordMapper.xml 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manager-api/src/main/java/cn/lili/controller/lmk/PrizeGrantRecordController.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manager-api/src/main/java/cn/lili/controller/lmk/PrizeRecordController.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
framework/src/main/java/cn/lili/modules/lmk/domain/query/PrizeGrantRecordQuery.java
@@ -18,5 +18,12 @@
@Data
@ApiModel(value = "PrizeGrantRecord查询参数", description = "奖品发放记录查询参数")
public class PrizeGrantRecordQuery extends AbsQuery {
    //用户昵称
    private String nickName;
    //活动名
    private String activityName;
    //中奖状态
    private String grantStatus;
}
framework/src/main/java/cn/lili/modules/lmk/domain/query/PrizeRecordQuery.java
@@ -18,5 +18,13 @@
@Data
@ApiModel(value = "PrizeRecord查询参数", description = "用户抽奖记录表查询参数")
public class PrizeRecordQuery extends AbsQuery {
    //用户昵称
    private String nickName;
    //活动名
    private String activityName;
    //中奖状态
    private String prizeStatus;
    private String distributeStatus;
}
framework/src/main/java/cn/lili/modules/lmk/domain/vo/PrizeRecordVO.java
@@ -64,6 +64,10 @@
    @ApiModelProperty("活动奖品关联表id")
    private Long activityPrizeRefId;
    private String prizeActivityCoverUrl;
    private String prizeImgUrl;
    /** 奖品发放状态 */
    private String distributeStatus;
framework/src/main/java/cn/lili/modules/lmk/mapper/PrizeGrantRecordMapper.java
@@ -31,4 +31,5 @@
    */
    IPage getPage(IPage page, @Param("query") PrizeGrantRecordQuery query);
    List<PrizeGrantRecordVO> getExportData(@Param("query") PrizeGrantRecordQuery query);
}
framework/src/main/java/cn/lili/modules/lmk/mapper/PrizeRecordMapper.java
@@ -1,6 +1,7 @@
package cn.lili.modules.lmk.mapper;
import cn.lili.modules.lmk.domain.entity.PrizeRecord;
import cn.lili.modules.lmk.domain.query.PrizeGrantRecordQuery;
import cn.lili.modules.lmk.domain.query.PrizeRecordTimeQuery;
import cn.lili.modules.lmk.domain.vo.PrizeRecordTimeVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -34,4 +35,6 @@
    IPage getPage(IPage page, @Param("query") PrizeRecordQuery query);
    List<PrizeRecordTimeVO> getPrizeRecordListByTime(@Param("query") PrizeRecordTimeQuery query);
    List<PrizeRecordVO> getExportData(@Param("query")PrizeRecordQuery query);
}
framework/src/main/java/cn/lili/modules/lmk/service/PrizeGrantRecordService.java
@@ -5,6 +5,8 @@
import cn.lili.base.Result;
import cn.lili.modules.lmk.domain.form.PrizeGrantRecordForm;
import cn.lili.modules.lmk.domain.query.PrizeGrantRecordQuery;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
@@ -15,6 +17,8 @@
 */
public interface PrizeGrantRecordService extends IService<PrizeGrantRecord> {
    void queryExportStock(HttpServletResponse response, PrizeGrantRecordQuery query);
    /**
     * 添加
     * @param form
framework/src/main/java/cn/lili/modules/lmk/service/PrizeRecordService.java
@@ -1,12 +1,15 @@
package cn.lili.modules.lmk.service;
import cn.lili.modules.lmk.domain.entity.PrizeRecord;
import cn.lili.modules.lmk.domain.query.PrizeGrantRecordQuery;
import cn.lili.modules.lmk.domain.query.PrizeRecordTimeQuery;
import cn.lili.modules.lmk.domain.vo.PrizeRecordTimeVO;
import com.baomidou.mybatisplus.extension.service.IService;
import cn.lili.base.Result;
import cn.lili.modules.lmk.domain.form.PrizeRecordForm;
import cn.lili.modules.lmk.domain.query.PrizeRecordQuery;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
@@ -17,6 +20,8 @@
 */
public interface PrizeRecordService extends IService<PrizeRecord> {
    void queryExportStock(HttpServletResponse response, PrizeRecordQuery query);
    /**
     * 添加
     * @param form
framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeGrantRecordServiceImpl.java
@@ -1,5 +1,7 @@
package cn.lili.modules.lmk.service.impl;
import cn.lili.modules.lmk.enums.general.PrizeGrantStatusEnums;
import cn.lili.modules.order.order.entity.dto.PrizeGrantRecordExportDetailDtO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import cn.lili.modules.lmk.domain.entity.PrizeGrantRecord;
import cn.lili.modules.lmk.mapper.PrizeGrantRecordMapper;
@@ -9,12 +11,20 @@
import cn.lili.modules.lmk.domain.form.PrizeGrantRecordForm;
import cn.lili.modules.lmk.domain.vo.PrizeGrantRecordVO;
import cn.lili.modules.lmk.domain.query.PrizeGrantRecordQuery;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.stereotype.Service;
import lombok.RequiredArgsConstructor;
import cn.lili.utils.PageUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.util.Assert;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@@ -30,6 +40,70 @@
    private final PrizeGrantRecordMapper prizeGrantRecordMapper;
    @Override
    public void queryExportStock(HttpServletResponse response, PrizeGrantRecordQuery query){
        List<PrizeGrantRecordVO> list = baseMapper.getExportData(query);
        XSSFWorkbook workbook = initExportData(list);
        try {
            // 设置响应头
            String fileName = URLEncoder.encode("奖品发放记录", "UTF-8");
            response.setContentType("application/vnd.ms-excel;charset=UTF-8");
            response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx");
            ServletOutputStream out = response.getOutputStream();
            workbook.write(out);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                workbook.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    private XSSFWorkbook initExportData(List<PrizeGrantRecordVO> list){
        List<PrizeGrantRecordExportDetailDtO> exportDetailDtOS = new ArrayList<>();
        for (PrizeGrantRecordVO vo : list){
            PrizeGrantRecordExportDetailDtO detailDtO = new PrizeGrantRecordExportDetailDtO();
            BeanUtils.copyProperties(vo,detailDtO);
            exportDetailDtOS.add(detailDtO);
        }
        XSSFWorkbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("奖品发放记录");
        // 创建表头
        Row header = sheet.createRow(0);
        String[] headers = {
        "用户昵称", "活动名","商品名",
        "商品内容","发放状态"
        ,"描述"
        };
        for(int i= 0 ;i< headers.length;i++){
            Cell cell = header.createCell(i);
            cell.setCellValue(headers[i]);
        }
        for (int i=0;i< exportDetailDtOS.size();i++){
            PrizeGrantRecordExportDetailDtO dto = exportDetailDtOS.get(i);
            Row row = sheet.createRow(i+1);
            row.createCell(0).setCellValue(dto.getNickName());
            row.createCell(1).setCellValue(dto.getActivityName());
            row.createCell(2).setCellValue(dto.getPrizeName());
            row.createCell(3).setCellValue(dto.getPrizeContent());
            if (PrizeGrantStatusEnums.SUCCESS.name().equals(dto.getGrantStatus())){
                row.createCell(4).setCellValue(PrizeGrantStatusEnums.SUCCESS.getDescription());
            }else {
                row.createCell(4).setCellValue(PrizeGrantStatusEnums.FAILED.getDescription());
            }
            row.createCell(5).setCellValue(dto.getDes());
        }
        return workbook;
    }
    /**
     * 添加
     * @param form
framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeRecordServiceImpl.java
@@ -1,7 +1,14 @@
package cn.lili.modules.lmk.service.impl;
import cn.lili.common.utils.StringUtils;
import cn.lili.modules.lmk.domain.query.PrizeGrantRecordQuery;
import cn.lili.modules.lmk.domain.query.PrizeRecordTimeQuery;
import cn.lili.modules.lmk.domain.vo.PrizeRecordTimeVO;
import cn.lili.modules.lmk.enums.general.PrizeDistributeStatusEnum;
import cn.lili.modules.lmk.enums.general.PrizeGrantStatusEnums;
import cn.lili.modules.lmk.enums.general.PrizeStatusEnum;
import cn.lili.modules.order.order.entity.dto.PrizeRecordExportDetailDTO;
import cn.lili.utils.COSUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import cn.lili.modules.lmk.domain.entity.PrizeRecord;
import cn.lili.modules.lmk.mapper.PrizeRecordMapper;
@@ -11,17 +18,25 @@
import cn.lili.modules.lmk.domain.form.PrizeRecordForm;
import cn.lili.modules.lmk.domain.vo.PrizeRecordVO;
import cn.lili.modules.lmk.domain.query.PrizeRecordQuery;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.springframework.stereotype.Service;
import lombok.RequiredArgsConstructor;
import cn.lili.utils.PageUtil;
import org.springframework.beans.BeanUtils;
import org.springframework.util.Assert;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
 * 用户抽奖记录表 服务实现类
 * 用户抽奖记录 服务实现类
 *
 * @author peng
 * @since 2025-08-14
@@ -32,6 +47,78 @@
    private final PrizeRecordMapper prizeRecordMapper;
    private final COSUtil cosUtil;
    @Override
    public void queryExportStock(HttpServletResponse response, PrizeRecordQuery query){
        List<PrizeRecordVO> list = baseMapper.getExportData(query);
        XSSFWorkbook workbook = initExportData(list);
        try {
            // 设置响应头
            String fileName = URLEncoder.encode("用户抽奖记录", "UTF-8");
            response.setContentType("application/vnd.ms-excel;charset=UTF-8");
            response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx");
            ServletOutputStream out = response.getOutputStream();
            workbook.write(out);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            try {
                workbook.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
    public XSSFWorkbook initExportData(List<PrizeRecordVO> list){
        List<PrizeRecordExportDetailDTO> exportDetailDTOS = new ArrayList<>();
        for (PrizeRecordVO vo : list){
            PrizeRecordExportDetailDTO detailDtO = new PrizeRecordExportDetailDTO();
            BeanUtils.copyProperties(vo,detailDtO);
            exportDetailDTOS.add(detailDtO);
        }
        XSSFWorkbook workbook = new XSSFWorkbook();
        Sheet sheet = workbook.createSheet("用户抽奖记录");
        // 创建表头
        Row header = sheet.createRow(0);
        String[] headers = {
                "用户昵称", "活动名","中奖状态",
                "中奖内容","奖品发放状态"
        };
        for(int i= 0 ;i< headers.length;i++){
            Cell cell = header.createCell(i);
            cell.setCellValue(headers[i]);
        }
        for (int i=0;i< exportDetailDTOS.size();i++){
            PrizeRecordExportDetailDTO dto = exportDetailDTOS.get(i);
            Row row = sheet.createRow(i+1);
            row.createCell(0).setCellValue(dto.getNickName());
            row.createCell(1).setCellValue(dto.getPrizeActivityName());
            if (PrizeStatusEnum.WIN.name().equals(dto.getPrizeStatus())){
                row.createCell(2).setCellValue(PrizeStatusEnum.WIN.getDescription());
            }else{
                row.createCell(2).setCellValue(PrizeStatusEnum.NOT_WIN.getDescription());
            }
            row.createCell(3).setCellValue(dto.getPrizeContent());
            if (PrizeDistributeStatusEnum.SUCCESS.name().equals(dto.getDistributeStatus())){
                row.createCell(4).setCellValue(PrizeGrantStatusEnums.SUCCESS.getDescription());
            }else if(PrizeDistributeStatusEnum.FAILED.name().equals(dto.getDistributeStatus())){
                row.createCell(4).setCellValue(PrizeDistributeStatusEnum.FAILED.getDescription());
            }else if(PrizeDistributeStatusEnum.NOT_WAIT.name().equals(dto.getDistributeStatus())){
                row.createCell(4).setCellValue(PrizeDistributeStatusEnum.NOT_WAIT.getDescription());
            }else {
                row.createCell(4).setCellValue(PrizeDistributeStatusEnum.WAIT.getDescription());
            }
        }
        return workbook;
    }
    /**
     * 添加
     * @param form
@@ -91,6 +178,14 @@
    public Result page(PrizeRecordQuery query) {
        IPage<PrizeRecordVO> page = PageUtil.getPage(query, PrizeRecordVO.class);
        baseMapper.getPage(page, query);
        for (PrizeRecordVO vo :page.getRecords()){
            if (StringUtils.isNotBlank(vo.getPrizeActivityCover())){
                vo.setPrizeActivityCoverUrl(cosUtil.getPreviewUrl(vo.getPrizeActivityCover()));
            }
            if (StringUtils.isNotBlank(vo.getPrizeImg())){
                vo.setPrizeImgUrl(cosUtil.getPreviewUrl(vo.getPrizeImg()));
            }
        }
        return Result.ok().data(page.getRecords()).total(page.getTotal());
    }
framework/src/main/java/cn/lili/modules/order/order/entity/dto/PrizeGrantRecordExportDetailDtO.java
New file
@@ -0,0 +1,33 @@
package cn.lili.modules.order.order.entity.dto;
import lombok.Data;
/**
 * lmk-shop-java
 *
 * @author : zxl
 * @date : 2025-08-26 18:07
 **/
@Data
public class PrizeGrantRecordExportDetailDtO {
    //用户昵称
    private String nickName;
    //活动名
    private String activityName;
    //商品名
    private String prizeName;
    //商品内容
    private String prizeContent;
    //发放状态
    private String grantStatus;
    //描述
    private String des;
}
framework/src/main/java/cn/lili/modules/order/order/entity/dto/PrizeRecordExportDetailDTO.java
New file
@@ -0,0 +1,40 @@
package cn.lili.modules.order.order.entity.dto;
import cn.lili.modules.lmk.enums.general.PrizeDistributeStatusEnum;
import cn.lili.modules.lmk.enums.general.PrizeStatusEnum;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * lmk-shop-java
 *
 * @author : zxl
 * @date : 2025-08-26 18:11
 **/
@Data
public class PrizeRecordExportDetailDTO {
    /** 用户昵称 */
    private String nickName;
    /** 活动名称 */
    private String prizeActivityName;
    /** 中奖状态
     * @see PrizeStatusEnum
     * */
    private String prizeStatus;
    /** 中奖内容 */
    private String prizeContent;
    /** 奖品名称 */
    public String prizeName;
    /** 奖品发放状态
     * @see PrizeDistributeStatusEnum
     * */
    private String distributeStatus;
}
framework/src/main/resources/mapper/lmk/PrizeGrantRecordMapper.xml
@@ -60,6 +60,41 @@
            lmk_prize_grant_record LPGR
        WHERE
            LPGR.delete_flag = 0
        <if test="query.nickName != null and query.nickName !=''">
            AND LPGR.nick_name like CONCAT('%',#{query.nickName},'%')
        </if>
        <if test="query.activityName != null and query.activityName !=''">
            AND LPGR.activity_name like CONCAT('%',#{query.activityName},'%')
        </if>
        <if test="query.grantStatus != null and query.grantStatus !=''">
            AND LPGR.grant_status  = #{query.grantStatus}
        </if>
    </select>
    <select id="getExportData" resultMap="BaseResultMap">
        SELECT
        LPGR.user_id,
        LPGR.nick_name,
        LPGR.activity_id,
        LPGR.activity_name,
        LPGR.prize_id,
        LPGR.prize_name,
        LPGR.prize_content,
        LPGR.grant_status,
        LPGR.prize_num_id,
        LPGR.des,
        LPGR.id
        FROM
        lmk_prize_grant_record LPGR
        WHERE
        LPGR.delete_flag = 0
        <if test="query.nickName != null and query.nickName !=''">
            AND LPGR.nick_name like CONCAT('%',#{query.nickName},'%')
        </if>
        <if test="query.activityName != null and query.activityName !=''">
            AND LPGR.activity_name like CONCAT('%',#{query.activityName},'%')
        </if>
        <if test="query.grantStatus != null and query.grantStatus !=''">
            AND LPGR.grant_status  = #{query.grantStatus}
        </if>
    </select>
</mapper>
framework/src/main/resources/mapper/lmk/PrizeRecordMapper.xml
@@ -17,6 +17,7 @@
        <result column="prize_num_id" property="prizeNumId" />
        <result column="activity_prize_ref_id" property="activityPrizeRefId" />
        <result column="distribute_status" property="distributeStatus" />
        <result column="distribute_status" property="distributeStatus"/>
    </resultMap>
@@ -60,11 +61,56 @@
            LPR.prize_img,
            LPR.prize_num_id,
            LPR.activity_prize_ref_id,
            LPR.distribute_status,
            LPR.id
        FROM
            lmk_prize_record LPR
        WHERE
            LPR.delete_flag = 0
        <if test="query.nickName != null and query.nickName !=''">
            AND LPR.nick_name like CONCAT('%',#{query.nickName},'%')
        </if>
        <if test="query.activityName != null and query.activityName !=''">
            AND LPR.prize_activity_name like CONCAT('%',#{query.activityName},'%')
        </if>
        <if test="query.prizeStatus != null and query.prizeStatus !=''">
            AND LPR.prize_status  = #{query.prizeStatus}
        </if>
        <if test="query.distributeStatus != null and query.distributeStatus !=''">
            AND LPR.distribute_status  = #{query.distributeStatus}
        </if>
    </select>
    <select id="getExportData" resultMap="BaseResultMap">
        SELECT
        LPR.user_id,
        LPR.nick_name,
        LPR.prize_activity_id,
        LPR.prize_activity_name,
        LPR.prize_activity_cover,
        LPR.prize_status,
        LPR.prize_content,
        LPR.prize_id,
        LPR.prize_img,
        LPR.prize_num_id,
        LPR.activity_prize_ref_id,
        LPR.distribute_status,
        LPR.id
        FROM
        lmk_prize_record LPR
        WHERE
        LPR.delete_flag = 0
        <if test="query.nickName != null and query.nickName !=''">
            AND LPR.nick_name like CONCAT('%',#{query.nickName},'%')
        </if>
        <if test="query.activityName != null and query.activityName !=''">
            AND LPR.prize_activity_name like CONCAT('%',#{query.activityName},'%')
        </if>
        <if test="query.prizeStatus != null and query.prizeStatus !=''">
            AND LPR.prize_status  = #{query.prizeStatus}
        </if>
        <if test="query.distributeStatus != null and query.distributeStatus !=''">
            AND LPR.distribute_status  = #{query.distributeStatus}
        </if>
    </select>
    <resultMap id="getPrizeRecordListByTimeMap" type="cn.lili.modules.lmk.domain.vo.PrizeRecordTimeVO">
        <result property="prizeId" column="prize_id"/>
manager-api/src/main/java/cn/lili/controller/lmk/PrizeGrantRecordController.java
New file
@@ -0,0 +1,39 @@
package cn.lili.controller.lmk;
import cn.lili.base.Result;
import cn.lili.common.context.ThreadContextHolder;
import cn.lili.modules.lmk.domain.query.PrizeGrantRecordQuery;
import cn.lili.modules.lmk.domain.query.PrizeRecordQuery;
import cn.lili.modules.lmk.service.PrizeGrantRecordService;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
/**
 * lmk-shop-java
 * 奖品发放记录
 *
 * @author : zxl
 * @date : 2025-08-25 16:45
 **/
@RestController
@AllArgsConstructor
@RequestMapping("/manager/lmk/prizeGrantRecord")
public class PrizeGrantRecordController {
    private final PrizeGrantRecordService prizeGrantRecordService;
    @GetMapping
    public Result getPage(PrizeGrantRecordQuery query){
        return prizeGrantRecordService.page(query);
    }
    @ApiOperation(value = "导出")
    @GetMapping("/queryExport")
    public void queryExport(PrizeGrantRecordQuery searchParams) {
        HttpServletResponse response = ThreadContextHolder.getHttpResponse();
        prizeGrantRecordService.queryExportStock(response,searchParams);}
}
manager-api/src/main/java/cn/lili/controller/lmk/PrizeRecordController.java
New file
@@ -0,0 +1,40 @@
package cn.lili.controller.lmk;
import cn.lili.base.Result;
import cn.lili.common.context.ThreadContextHolder;
import cn.lili.modules.goods.entity.dto.GoodsSearchParams;
import cn.lili.modules.lmk.domain.query.PrizeRecordQuery;
import cn.lili.modules.lmk.service.PrizeRecordService;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
/**
 * lmk-shop-java
 * 用户抽奖记录
 * @author : zxl
 * @date : 2025-08-25 16:52
 **/
@AllArgsConstructor
@RestController
@RequestMapping("/manager/lmk/prizeRecord")
public class PrizeRecordController {
    private final PrizeRecordService prizeRecordService;
    @GetMapping
    public Result getPage(PrizeRecordQuery query){
        return prizeRecordService.page(query);
    }
    @ApiOperation(value = "导出")
    @GetMapping("/queryExport")
    public void queryExport(PrizeRecordQuery searchParams) {
        HttpServletResponse response = ThreadContextHolder.getHttpResponse();
        prizeRecordService.queryExportStock(response,searchParams);}
}