master:APP首页库存列表查询调整;
parent
7a4819fa64
commit
ea52270f97
|
|
@ -37,9 +37,11 @@ public class StoreController extends XktBaseController {
|
||||||
final TokenService tokenService;
|
final TokenService tokenService;
|
||||||
|
|
||||||
|
|
||||||
|
// TODO 获取试用期即将到期的档口
|
||||||
// TODO 获取试用期即将到期的档口
|
// TODO 获取试用期即将到期的档口
|
||||||
|
|
||||||
// TODO 获取获取正式使用即将到期的档口
|
// TODO 获取获取正式使用即将到期的档口
|
||||||
|
// TODO 获取获取正式使用即将到期的档口
|
||||||
|
|
||||||
|
|
||||||
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()")
|
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin,store')||@ss.hasSupplierSubRole()")
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,14 @@ public class StoreProductStockController extends XktBaseController {
|
||||||
|
|
||||||
final IStoreProductStockService storeProdStockService;
|
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)
|
@ApiOperation(value = "查询档口库存列表", httpMethod = "POST", response = R.class)
|
||||||
@PostMapping("/page")
|
@PostMapping("/page")
|
||||||
public R<Page<StoreProdStockPageResDTO>> selectPage(@Validated @RequestBody StoreProdStockPageVO pageVO) {
|
public R<Page<StoreProdStockPageResDTO>> selectPage(@Validated @RequestBody StoreProdStockPageVO pageVO) {
|
||||||
|
|
|
||||||
|
|
@ -30,10 +30,6 @@ public class UserAuthenticationController extends XktBaseController {
|
||||||
|
|
||||||
final IUserAuthenticationService userAuthService;
|
final IUserAuthenticationService userAuthService;
|
||||||
|
|
||||||
// APP 代发联系功能
|
|
||||||
// APP 代发联系功能
|
|
||||||
// APP 代发联系功能
|
|
||||||
|
|
||||||
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin')")
|
@PreAuthorize("@ss.hasAnyRoles('admin,general_admin')")
|
||||||
@ApiOperation(value = "新增代发 ", httpMethod = "POST", response = R.class)
|
@ApiOperation(value = "新增代发 ", httpMethod = "POST", response = R.class)
|
||||||
@PostMapping()
|
@PostMapping()
|
||||||
|
|
|
||||||
|
|
@ -16,9 +16,6 @@ import javax.validation.constraints.NotNull;
|
||||||
@Data
|
@Data
|
||||||
public class StoreProdStockPageVO extends BasePageVO {
|
public class StoreProdStockPageVO extends BasePageVO {
|
||||||
|
|
||||||
@ApiModelProperty(value = "档口ID", required = true)
|
|
||||||
@NotNull(message = "档口ID不能为空")
|
|
||||||
private Long storeId;
|
|
||||||
@ApiModelProperty(value = "商品货号")
|
@ApiModelProperty(value = "商品货号")
|
||||||
private String prodArtNum;
|
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.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||||
import com.ruoyi.xkt.domain.StoreProductStock;
|
import com.ruoyi.xkt.domain.StoreProductStock;
|
||||||
import com.ruoyi.xkt.dto.dailyStoreTag.DailyStoreTagDTO;
|
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.StoreProdStockDownloadDTO;
|
||||||
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageDTO;
|
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageDTO;
|
||||||
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageResDTO;
|
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageResDTO;
|
||||||
|
|
@ -26,6 +27,13 @@ public interface StoreProductStockMapper extends BaseMapper<StoreProductStock> {
|
||||||
*/
|
*/
|
||||||
List<StoreProdStockPageResDTO> selectStockPage(StoreProdStockPageDTO pageDTO);
|
List<StoreProdStockPageResDTO> selectStockPage(StoreProdStockPageDTO pageDTO);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询APP库存列表
|
||||||
|
* @param pageDTO 入参
|
||||||
|
* @return List<StoreProdStockPageResDTO>
|
||||||
|
*/
|
||||||
|
List<StoreProdStockAppPageResDTO> selectAppStockPage(StoreProdStockPageDTO pageDTO);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 筛选库存前10的档口
|
* 筛选库存前10的档口
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -98,4 +98,12 @@ public interface IStoreProductStockService {
|
||||||
* @return List<StoreProdStockDownloadDTO>
|
* @return List<StoreProdStockDownloadDTO>
|
||||||
*/
|
*/
|
||||||
List<StoreProdStockDownloadDTO> export(StoreProdStockExportDTO exportDTO);
|
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 StoreProductMapper storeProdMapper;
|
||||||
final StoreProductColorSizeMapper prodColorSizeMapper;
|
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
|
@Override
|
||||||
@Transactional(readOnly = true)
|
@Transactional(readOnly = true)
|
||||||
public Page<StoreProdStockPageResDTO> selectPage(StoreProdStockPageDTO pageDTO) {
|
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">
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
<mapper namespace="com.ruoyi.xkt.mapper.StoreProductStockMapper">
|
<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
|
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.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,
|
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