diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/StoreProductController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/StoreProductController.java index 9916eb602..5e489602a 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/StoreProductController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/StoreProductController.java @@ -75,6 +75,7 @@ public class StoreProductController extends XktBaseController { return R.ok(storeProdService.page(BeanUtil.toBean(pageVO, StoreProdPageDTO.class))); } + @PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()") @ApiOperation(value = "获取档口商品详细信息", httpMethod = "GET", response = R.class) @GetMapping(value = "/detail/{storeProdId}") public R getInfo(@PathVariable("storeProdId") Long storeProdId) { @@ -142,6 +143,13 @@ public class StoreProductController extends XktBaseController { BeanUtil.toBean(cateCountVO, StoreProdStatusCateNumDTO.class)), StoreProdStatusCateCountResVO.class)); } + @PreAuthorize("@ss.hasAnyRoles('admin,general_admin,seller,agent')") + @ApiOperation(value = "获取下载页商品数据", httpMethod = "GET", response = R.class) + @GetMapping(value = "/pc/download/{storeProdId}") + public R getPcDownloadInfo(@PathVariable("storeProdId") Long storeProdId) { + return R.ok(BeanUtil.toBean(storeProdService.getPcDownloadInfo(storeProdId), StoreProdPcDownloadInfoResVO.class)); + } + @ApiOperation(value = "获取商品图包列表", httpMethod = "GET", response = R.class) @GetMapping(value = "/pic-pack/{storeProdId}") public R> listPickPack(@PathVariable("storeProdId") Long storeProdId) { @@ -149,6 +157,7 @@ public class StoreProductController extends XktBaseController { return success(BeanUtil.copyToList(dtoList, PicPackSimpleVO.class)); } + @PreAuthorize("@ss.hasAnyRoles('admin,general_admin,seller,agent')") @Log(title = "获取商品图包下载链接", businessType = BusinessType.OTHER) @ApiOperation(value = "获取商品图包下载链接", httpMethod = "POST", response = R.class) @PostMapping(value = "/pic-pack/url") @@ -159,4 +168,7 @@ public class StoreProductController extends XktBaseController { return success(BeanUtil.toBean(infoDTO, PicPackInfoVO.class)); } + + + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdPcDownloadInfoResVO.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdPcDownloadInfoResVO.java new file mode 100644 index 000000000..c8592a10d --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/xkt/vo/storeProd/StoreProdPcDownloadInfoResVO.java @@ -0,0 +1,41 @@ +package com.ruoyi.web.controller.xkt.vo.storeProd; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.List; + +/** + * @author liujiang + * @version v1.0 + * @date 2025/3/27 15:12 + */ +@Data +@ApiModel + +public class StoreProdPcDownloadInfoResVO { + + @ApiModelProperty(value = "档口名称") + private String storeName; + @ApiModelProperty(value = "商品货号") + private String prodArtNum; + @ApiModelProperty(value = "商品主图") + private String mainPicUrl; + @ApiModelProperty(value = "档口下载图包列表") + List fileList; + + @Data + public static class SPPDIFileVO { + @ApiModelProperty(value = "文件名称") + private String fileName; + @ApiModelProperty(value = "文件路径") + private String fileUrl; + @ApiModelProperty(value = "文件大小") + private BigDecimal fileSize; + @ApiModelProperty(value = "文件类型 3下载图片包 4 450px 5 750px") + private Integer fileType; + } + +} diff --git a/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdPcDownloadInfoResDTO.java b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdPcDownloadInfoResDTO.java new file mode 100644 index 000000000..a4294faff --- /dev/null +++ b/xkt/src/main/java/com/ruoyi/xkt/dto/storeProduct/StoreProdPcDownloadInfoResDTO.java @@ -0,0 +1,42 @@ +package com.ruoyi.xkt.dto.storeProduct; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.experimental.Accessors; + +import java.math.BigDecimal; +import java.util.List; + +/** + * @author liujiang + * @version v1.0 + * @date 2025/3/27 15:12 + */ +@Data +@ApiModel +@Accessors(chain = true) +public class StoreProdPcDownloadInfoResDTO { + + @ApiModelProperty(value = "档口名称") + private String storeName; + @ApiModelProperty(value = "商品货号") + private String prodArtNum; + @ApiModelProperty(value = "商品主图") + private String mainPicUrl; + @ApiModelProperty(value = "档口下载图包列表") + List fileList; + + @Data + public static class SPPDIFileDTO { + @ApiModelProperty(value = "文件名称") + private String fileName; + @ApiModelProperty(value = "文件路径") + private String fileUrl; + @ApiModelProperty(value = "文件大小") + private BigDecimal fileSize; + @ApiModelProperty(value = "文件类型 3下载图片包 4 450px 5 750px") + private Integer fileType; + } + +} diff --git a/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductFileMapper.java b/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductFileMapper.java index 161a5bc47..83f7c94b8 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductFileMapper.java +++ b/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductFileMapper.java @@ -3,8 +3,8 @@ package com.ruoyi.xkt.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.xkt.domain.StoreProductFile; import com.ruoyi.xkt.dto.advertRound.app.strength.APPStrengthStoreFileDTO; +import com.ruoyi.xkt.dto.storeProduct.StoreProdPcDownloadInfoResDTO; import com.ruoyi.xkt.dto.storeProductFile.StoreProdFileLatestFourProdDTO; -import com.ruoyi.xkt.dto.storeProductFile.StoreProdFilePicSpaceResDTO; import com.ruoyi.xkt.dto.storeProductFile.StoreProdFileResDTO; import com.ruoyi.xkt.dto.storeProductFile.StoreProdMainPicDTO; import org.apache.ibatis.annotations.Param; @@ -79,4 +79,12 @@ public interface StoreProductFileMapper extends BaseMapper { * @return List */ List selectRandomStoreFileList(@Param("storeIdList") List storeIdList); + + /** + * 获取下载图包信息 + * + * @param storeProdId 档口商品ID + * @return List + */ + List selectDownloadFileList(@Param("storeProdId") Long storeProdId); } diff --git a/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductMapper.java b/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductMapper.java index 85f04ee77..a9d3f7d2f 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductMapper.java +++ b/xkt/src/main/java/com/ruoyi/xkt/mapper/StoreProductMapper.java @@ -138,5 +138,13 @@ public interface StoreProductMapper extends BaseMapper { */ List selectLatest10List(@Param("storeId") Long storeId); + /** + * 获取商品下载信息 + * + * @param storeProdId 档口商品ID + * @return StoreProdPcDownloadInfoResDTO + */ + StoreProdPcDownloadInfoResDTO selectDownloadProdInfo(@Param("storeProdId") Long storeProdId); + } diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/IStoreProductService.java b/xkt/src/main/java/com/ruoyi/xkt/service/IStoreProductService.java index 6315c74b7..b45f68c49 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/IStoreProductService.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/IStoreProductService.java @@ -170,4 +170,12 @@ public interface IStoreProductService { * @return StoreProdStatusCountResDTO */ StoreProdStatusCountResDTO getPcStatusNum(Long storeId); + + /** + * 获取档口商品PC端下载信息 + * + * @param storeProdId 档口商品ID + * @return + */ + StoreProdPcDownloadInfoResDTO getPcDownloadInfo(Long storeProdId); } diff --git a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java index a8c6b70a0..77f47fca3 100644 --- a/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java +++ b/xkt/src/main/java/com/ruoyi/xkt/service/impl/StoreProductServiceImpl.java @@ -730,6 +730,20 @@ public class StoreProductServiceImpl implements IStoreProductService { return this.storeProdMapper.getStatusNum(storeId); } + /** + * 获取档口商品PC端下载信息 + * + * @param storeProdId 档口商品ID + * @return StoreProdPcDownloadInfoResDTO + */ + @Override + @Transactional(readOnly = true) + public StoreProdPcDownloadInfoResDTO getPcDownloadInfo(Long storeProdId) { + StoreProdPcDownloadInfoResDTO downloadInfo = this.storeProdMapper.selectDownloadProdInfo(storeProdId); + // 获取下载图包 + return downloadInfo.setFileList(this.storeProdFileMapper.selectDownloadFileList(storeProdId)); + } + /** * 根据档口ID和商品货号模糊查询货号列表 diff --git a/xkt/src/main/resources/mapper/StoreProductFileMapper.xml b/xkt/src/main/resources/mapper/StoreProductFileMapper.xml index 6fe596416..f4ed653e1 100644 --- a/xkt/src/main/resources/mapper/StoreProductFileMapper.xml +++ b/xkt/src/main/resources/mapper/StoreProductFileMapper.xml @@ -170,5 +170,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" JOIN sys_file sf ON random_files.file_id = sf.id; + + \ No newline at end of file diff --git a/xkt/src/main/resources/mapper/StoreProductMapper.xml b/xkt/src/main/resources/mapper/StoreProductMapper.xml index 12a892a08..915bc3308 100644 --- a/xkt/src/main/resources/mapper/StoreProductMapper.xml +++ b/xkt/src/main/resources/mapper/StoreProductMapper.xml @@ -332,5 +332,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" LIMIT 10 + + \ No newline at end of file