From 803a61d1d89e75f0b5d72785069b3dceb579f3ca Mon Sep 17 00:00:00 2001 From: peng <peng.com> Date: 星期三, 27 八月 2025 10:25:58 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- manager-api/src/main/java/cn/lili/controller/lmk/PrizeGrantRecordController.java | 39 ++++ framework/src/main/java/cn/lili/modules/order/order/entity/dto/PrizeGrantRecordExportDetailDtO.java | 33 ++++ framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeRecordServiceImpl.java | 97 ++++++++++++ framework/src/main/java/cn/lili/modules/lmk/mapper/PrizeGrantRecordMapper.java | 1 framework/src/main/java/cn/lili/modules/lmk/domain/query/PrizeGrantRecordQuery.java | 7 framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeGrantRecordServiceImpl.java | 74 +++++++++ framework/src/main/resources/mapper/lmk/PrizeGrantRecordMapper.xml | 37 ++++ framework/src/main/java/cn/lili/modules/lmk/domain/vo/PrizeRecordVO.java | 4 framework/src/main/java/cn/lili/modules/lmk/service/PrizeGrantRecordService.java | 4 framework/src/main/java/cn/lili/modules/order/order/entity/dto/PrizeRecordExportDetailDTO.java | 40 +++++ manager-api/src/main/java/cn/lili/controller/lmk/PrizeRecordController.java | 40 +++++ framework/src/main/java/cn/lili/modules/lmk/service/PrizeRecordService.java | 5 framework/src/main/resources/mapper/lmk/PrizeRecordMapper.xml | 46 +++++ framework/src/main/java/cn/lili/modules/lmk/domain/query/PrizeRecordQuery.java | 8 + framework/src/main/java/cn/lili/modules/lmk/mapper/PrizeRecordMapper.java | 3 15 files changed, 436 insertions(+), 2 deletions(-) diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/query/PrizeGrantRecordQuery.java b/framework/src/main/java/cn/lili/modules/lmk/domain/query/PrizeGrantRecordQuery.java index 4c4b3d3..9f33d16 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/domain/query/PrizeGrantRecordQuery.java +++ b/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; + } diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/query/PrizeRecordQuery.java b/framework/src/main/java/cn/lili/modules/lmk/domain/query/PrizeRecordQuery.java index e05030d..7d73c10 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/domain/query/PrizeRecordQuery.java +++ b/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; } diff --git a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/PrizeRecordVO.java b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/PrizeRecordVO.java index f7cb1af..7f6c04a 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/domain/vo/PrizeRecordVO.java +++ b/framework/src/main/java/cn/lili/modules/lmk/domain/vo/PrizeRecordVO.java @@ -64,6 +64,10 @@ @ApiModelProperty("娲诲姩濂栧搧鍏宠仈琛╥d") private Long activityPrizeRefId; + private String prizeActivityCoverUrl; + + private String prizeImgUrl; + /** 濂栧搧鍙戞斁鐘舵�� */ private String distributeStatus; diff --git a/framework/src/main/java/cn/lili/modules/lmk/mapper/PrizeGrantRecordMapper.java b/framework/src/main/java/cn/lili/modules/lmk/mapper/PrizeGrantRecordMapper.java index 5c491e2..d16de98 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/mapper/PrizeGrantRecordMapper.java +++ b/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); } diff --git a/framework/src/main/java/cn/lili/modules/lmk/mapper/PrizeRecordMapper.java b/framework/src/main/java/cn/lili/modules/lmk/mapper/PrizeRecordMapper.java index 4a894f2..43cea81 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/mapper/PrizeRecordMapper.java +++ b/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); } diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/PrizeGrantRecordService.java b/framework/src/main/java/cn/lili/modules/lmk/service/PrizeGrantRecordService.java index a1760c6..7ed9071 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/service/PrizeGrantRecordService.java +++ b/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 diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/PrizeRecordService.java b/framework/src/main/java/cn/lili/modules/lmk/service/PrizeRecordService.java index 34c9027..de3cdb6 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/service/PrizeRecordService.java +++ b/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 diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeGrantRecordServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeGrantRecordServiceImpl.java index 78f34d3..8868c61 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeGrantRecordServiceImpl.java +++ b/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 diff --git a/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeRecordServiceImpl.java b/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeRecordServiceImpl.java index dedeb91..b8cdd6e 100644 --- a/framework/src/main/java/cn/lili/modules/lmk/service/impl/PrizeRecordServiceImpl.java +++ b/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()); } diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/PrizeGrantRecordExportDetailDtO.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/PrizeGrantRecordExportDetailDtO.java new file mode 100644 index 0000000..14360bc --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/PrizeGrantRecordExportDetailDtO.java @@ -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; + +} diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/PrizeRecordExportDetailDTO.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/PrizeRecordExportDetailDTO.java new file mode 100644 index 0000000..7fe71dd --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/PrizeRecordExportDetailDTO.java @@ -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; +} diff --git a/framework/src/main/resources/mapper/lmk/PrizeGrantRecordMapper.xml b/framework/src/main/resources/mapper/lmk/PrizeGrantRecordMapper.xml index b1a97a7..e9e8ace 100644 --- a/framework/src/main/resources/mapper/lmk/PrizeGrantRecordMapper.xml +++ b/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> diff --git a/framework/src/main/resources/mapper/lmk/PrizeRecordMapper.xml b/framework/src/main/resources/mapper/lmk/PrizeRecordMapper.xml index bfc4500..9dda94e 100644 --- a/framework/src/main/resources/mapper/lmk/PrizeRecordMapper.xml +++ b/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="activityPrizeRefId" column="activity_prize_ref_id"/> diff --git a/manager-api/src/main/java/cn/lili/controller/lmk/PrizeGrantRecordController.java b/manager-api/src/main/java/cn/lili/controller/lmk/PrizeGrantRecordController.java new file mode 100644 index 0000000..c128c12 --- /dev/null +++ b/manager-api/src/main/java/cn/lili/controller/lmk/PrizeGrantRecordController.java @@ -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);} +} diff --git a/manager-api/src/main/java/cn/lili/controller/lmk/PrizeRecordController.java b/manager-api/src/main/java/cn/lili/controller/lmk/PrizeRecordController.java new file mode 100644 index 0000000..59d3457 --- /dev/null +++ b/manager-api/src/main/java/cn/lili/controller/lmk/PrizeRecordController.java @@ -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);} +} -- Gitblit v1.8.0