master:APP首页库存列表查询调整;
parent
7a4819fa64
commit
ea52270f97
|
|
@ -37,9 +37,11 @@ public class StoreController extends XktBaseController {
|
|||
final TokenService tokenService;
|
||||
|
||||
|
||||
// TODO 获取试用期即将到期的档口
|
||||
// TODO 获取试用期即将到期的档口
|
||||
|
||||
// TODO 获取获取正式使用即将到期的档口
|
||||
// TODO 获取获取正式使用即将到期的档口
|
||||
|
||||
|
||||
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()")
|
||||
|
|
|
|||
|
|
@ -41,7 +41,14 @@ public class StoreProductStockController extends XktBaseController {
|
|||
|
||||
final IStoreProductStockService storeProdStockService;
|
||||
|
||||
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store,seller,agent')||@ss.hasSupplierSubRole()")
|
||||
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,seller,agent')")
|
||||
@ApiOperation(value = "[APP]查询库存列表", httpMethod = "POST", response = R.class)
|
||||
@PostMapping("/app/page")
|
||||
public R<Page<StoreProdStockAppPageResDTO>> selectAppPage(@Validated @RequestBody StoreProdStockPageVO pageVO) {
|
||||
return R.ok(storeProdStockService.selectAppPage(BeanUtil.toBean(pageVO, StoreProdStockPageDTO.class)));
|
||||
}
|
||||
|
||||
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()")
|
||||
@ApiOperation(value = "查询档口库存列表", httpMethod = "POST", response = R.class)
|
||||
@PostMapping("/page")
|
||||
public R<Page<StoreProdStockPageResDTO>> selectPage(@Validated @RequestBody StoreProdStockPageVO pageVO) {
|
||||
|
|
|
|||
|
|
@ -30,10 +30,6 @@ public class UserAuthenticationController extends XktBaseController {
|
|||
|
||||
final IUserAuthenticationService userAuthService;
|
||||
|
||||
// APP 代发联系功能
|
||||
// APP 代发联系功能
|
||||
// APP 代发联系功能
|
||||
|
||||
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin')")
|
||||
@ApiOperation(value = "新增代发 ", httpMethod = "POST", response = R.class)
|
||||
@PostMapping()
|
||||
|
|
|
|||
|
|
@ -16,9 +16,6 @@ import javax.validation.constraints.NotNull;
|
|||
@Data
|
||||
public class StoreProdStockPageVO extends BasePageVO {
|
||||
|
||||
@ApiModelProperty(value = "档口ID", required = true)
|
||||
@NotNull(message = "档口ID不能为空")
|
||||
private Long storeId;
|
||||
@ApiModelProperty(value = "商品货号")
|
||||
private String prodArtNum;
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,61 @@
|
|||
package com.ruoyi.xkt.dto.storeProductStock;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
/**
|
||||
* @author liujiang
|
||||
* @version v1.0
|
||||
* @date 2025/3/27 15:12
|
||||
*/
|
||||
@ApiModel("档口商品库存分页返回数据")
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class StoreProdStockAppPageResDTO {
|
||||
|
||||
@ApiModelProperty(value = "档口商品库存ID")
|
||||
private Long storeProdStockId;
|
||||
@JsonIgnore
|
||||
@ApiModelProperty(value = "档口商品ID")
|
||||
private Long storeProdId;
|
||||
@ApiModelProperty(value = "档口商品主图url")
|
||||
private String mainPicUrl;
|
||||
@ApiModelProperty(value = "商品货号")
|
||||
private String prodArtNum;
|
||||
@ApiModelProperty(value = "颜色名称")
|
||||
private String colorName;
|
||||
@ApiModelProperty(value = "尺码30")
|
||||
private Integer size30;
|
||||
@ApiModelProperty(value = "尺码31")
|
||||
private Integer size31;
|
||||
@ApiModelProperty(value = "尺码32")
|
||||
private Integer size32;
|
||||
@ApiModelProperty(value = "尺码33")
|
||||
private Integer size33;
|
||||
@ApiModelProperty(value = "尺码34")
|
||||
private Integer size34;
|
||||
@ApiModelProperty(value = "尺码35")
|
||||
private Integer size35;
|
||||
@ApiModelProperty(value = "尺码36")
|
||||
private Integer size36;
|
||||
@ApiModelProperty(value = "尺码37")
|
||||
private Integer size37;
|
||||
@ApiModelProperty(value = "尺码38")
|
||||
private Integer size38;
|
||||
@ApiModelProperty(value = "尺码39")
|
||||
private Integer size39;
|
||||
@ApiModelProperty(value = "尺码40")
|
||||
private Integer size40;
|
||||
@ApiModelProperty(value = "尺码41")
|
||||
private Integer size41;
|
||||
@ApiModelProperty(value = "尺码42")
|
||||
private Integer size42;
|
||||
@ApiModelProperty(value = "尺码43")
|
||||
private Integer size43;
|
||||
@ApiModelProperty(value = "总数量")
|
||||
private Integer totalStock;
|
||||
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@ package com.ruoyi.xkt.mapper;
|
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.ruoyi.xkt.domain.StoreProductStock;
|
||||
import com.ruoyi.xkt.dto.dailyStoreTag.DailyStoreTagDTO;
|
||||
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockAppPageResDTO;
|
||||
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockDownloadDTO;
|
||||
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageDTO;
|
||||
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageResDTO;
|
||||
|
|
@ -26,6 +27,13 @@ public interface StoreProductStockMapper extends BaseMapper<StoreProductStock> {
|
|||
*/
|
||||
List<StoreProdStockPageResDTO> selectStockPage(StoreProdStockPageDTO pageDTO);
|
||||
|
||||
/**
|
||||
* 查询APP库存列表
|
||||
* @param pageDTO 入参
|
||||
* @return List<StoreProdStockPageResDTO>
|
||||
*/
|
||||
List<StoreProdStockAppPageResDTO> selectAppStockPage(StoreProdStockPageDTO pageDTO);
|
||||
|
||||
/**
|
||||
* 筛选库存前10的档口
|
||||
*
|
||||
|
|
|
|||
|
|
@ -98,4 +98,12 @@ public interface IStoreProductStockService {
|
|||
* @return List<StoreProdStockDownloadDTO>
|
||||
*/
|
||||
List<StoreProdStockDownloadDTO> export(StoreProdStockExportDTO exportDTO);
|
||||
|
||||
/**
|
||||
* 查询APP库存列表
|
||||
*
|
||||
* @param pageDTO 入参
|
||||
* @return List<StoreProdStockPageResDTO>
|
||||
*/
|
||||
Page<StoreProdStockAppPageResDTO> selectAppPage(StoreProdStockPageDTO pageDTO);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,6 +50,32 @@ public class StoreProductStockServiceImpl implements IStoreProductStockService {
|
|||
final StoreProductMapper storeProdMapper;
|
||||
final StoreProductColorSizeMapper prodColorSizeMapper;
|
||||
|
||||
|
||||
/**
|
||||
* 查询APP库存列表
|
||||
*
|
||||
* @param pageDTO 入参
|
||||
* @return List<StoreProdStockPageResDTO>
|
||||
*/
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public Page<StoreProdStockAppPageResDTO> selectAppPage(StoreProdStockPageDTO pageDTO) {
|
||||
PageHelper.startPage(pageDTO.getPageNum(), pageDTO.getPageSize());
|
||||
List<StoreProdStockAppPageResDTO> stockList = this.storeProdStockMapper.selectAppStockPage(pageDTO);
|
||||
if (CollectionUtils.isEmpty(stockList)) {
|
||||
return Page.empty(pageDTO.getPageSize(), pageDTO.getPageNum());
|
||||
}
|
||||
// 提取查询结果中的商店产品ID列表
|
||||
List<Long> storeProdIdList = stockList.stream().map(StoreProdStockAppPageResDTO::getStoreProdId).collect(Collectors.toList());
|
||||
// 查找排名第一个商品主图列表
|
||||
List<StoreProdMainPicDTO> mainPicList = this.storeProdFileMapper.selectMainPicByStoreProdIdList(storeProdIdList, FileType.MAIN_PIC.getValue(), 1);
|
||||
Map<Long, String> mainPicMap = CollectionUtils.isEmpty(mainPicList) ? new HashMap<>() : mainPicList.stream()
|
||||
.collect(Collectors.toMap(StoreProdMainPicDTO::getStoreProdId, StoreProdMainPicDTO::getFileUrl));
|
||||
// 为每个产品设置主图URL和标准尺码列表
|
||||
stockList.forEach(x -> x.setMainPicUrl(mainPicMap.get(x.getStoreProdId())));
|
||||
return Page.convert(new PageInfo<>(stockList));
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public Page<StoreProdStockPageResDTO> selectPage(StoreProdStockPageDTO pageDTO) {
|
||||
|
|
|
|||
|
|
@ -4,7 +4,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.ruoyi.xkt.mapper.StoreProductStockMapper">
|
||||
|
||||
<select id="selectStockPage" parameterType="com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageDTO" resultType="com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageResDTO">
|
||||
<select id="selectAppStockPage" parameterType="com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageDTO"
|
||||
resultType="com.ruoyi.xkt.dto.storeProductStock.StoreProdStockAppPageResDTO">
|
||||
SELECT
|
||||
sps.id AS storeProdStockId, sps.store_prod_id, sps.prod_art_num, sps.color_name,
|
||||
sps.size_30 AS size30, sps.size_31 AS size31, sps.size_32 AS size32, sps.size_33 AS size33, sps.size_34 AS size34, sps.size_35 AS size35, sps.size_36 AS size36, sps.size_37 AS size37,
|
||||
sps.size_38 AS size38, sps.size_39 AS size39, sps.size_40 AS size40, sps.size_41 AS size41, sps.size_42 AS size42, sps.size_43 AS size43,
|
||||
(IFNULL(sps.size_30, 0) + IFNULL(sps.size_31, 0) + IFNULL(sps.size_32, 0) + IFNULL(sps.size_33, 0) +
|
||||
IFNULL(sps.size_34, 0) + IFNULL(sps.size_35, 0) + IFNULL(sps.size_36, 0) + IFNULL(sps.size_37, 0) +
|
||||
IFNULL(sps.size_38, 0) + IFNULL(sps.size_39, 0) + IFNULL(sps.size_40, 0) + IFNULL(sps.size_41, 0) +
|
||||
IFNULL(sps.size_42, 0) + IFNULL(sps.size_43, 0)) AS totalStock
|
||||
FROM
|
||||
store_product_stock sps left join store_product sp on sps.store_prod_id = sp.id left join sys_product_category spc on sp.prod_cate_id = spc.id
|
||||
WHERE
|
||||
sps.del_flag = 0
|
||||
<if test="prodArtNum != null and prodArtNum != ''"> and sps.prod_art_num like concat('%', #{prodArtNum}, '%')</if>
|
||||
ORDER BY
|
||||
sps.store_prod_id,
|
||||
sps.store_color_id
|
||||
</select>
|
||||
|
||||
<select id="selectStockPage" parameterType="com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageDTO"
|
||||
resultType="com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageResDTO">
|
||||
SELECT
|
||||
sps.id AS storeProdStockId, sps.store_prod_id, sps.prod_art_num, sps.store_color_id, sps.store_prod_color_id, sps.color_name, spc.name AS prodCateName,
|
||||
sps.size_30 AS size30, sps.size_31 AS size31, sps.size_32 AS size32, sps.size_33 AS size33, sps.size_34 AS size34, sps.size_35 AS size35, sps.size_36 AS size36, sps.size_37 AS size37,
|
||||
|
|
|
|||
Loading…
Reference in New Issue