master:库存等模块调优;
parent
e826f1ef06
commit
9f69716471
|
|
@ -6,9 +6,11 @@ import com.ruoyi.common.core.controller.XktBaseController;
|
|||
import com.ruoyi.common.core.domain.R;
|
||||
import com.ruoyi.common.core.page.Page;
|
||||
import com.ruoyi.common.enums.BusinessType;
|
||||
import com.ruoyi.web.controller.xkt.vo.storeProdStock.StoreProdStockClearZeroVO;
|
||||
import com.ruoyi.web.controller.xkt.vo.storeProdStock.StoreProdStockPageVO;
|
||||
import com.ruoyi.web.controller.xkt.vo.storeProdStock.StoreProdStockResVO;
|
||||
import com.ruoyi.web.controller.xkt.vo.storeProdStock.StoreProdStockVO;
|
||||
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockClearZeroDTO;
|
||||
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockDTO;
|
||||
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageDTO;
|
||||
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageResDTO;
|
||||
|
|
@ -63,9 +65,9 @@ public class StoreProductStockController extends XktBaseController {
|
|||
// @PreAuthorize("@ss.hasPermi('system:stock:edit')")
|
||||
@ApiOperation(value = "档口商品库存清零", httpMethod = "PUT", response = R.class)
|
||||
@Log(title = "档口商品库存清零", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/clear-zero/{storeId}/{storeProdStockId}")
|
||||
public R<Integer> clearStockToZero(@PathVariable("storeId") Long storeId, @PathVariable("storeProdStockId") Long storeProdStockId) {
|
||||
return R.ok(storeProdStockService.clearStockToZero(storeId, storeProdStockId));
|
||||
@PutMapping("/clear-zero")
|
||||
public R<Integer> clearStockToZero(@Validated @RequestBody StoreProdStockClearZeroVO clearZeroVO) {
|
||||
return R.ok(storeProdStockService.clearStockToZero(BeanUtil.toBean(clearZeroVO, StoreProdStockClearZeroDTO.class)));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -75,7 +77,7 @@ public class StoreProductStockController extends XktBaseController {
|
|||
@ApiOperation(value = "直接调整档口商品库存值", httpMethod = "PUT", response = R.class)
|
||||
@Log(title = "直接调整档口商品库存值", businessType = BusinessType.UPDATE)
|
||||
@PutMapping("/update-stock/{storeId}")
|
||||
public R<Integer> updateStock(@PathVariable("storeId") Long storeId, @RequestBody StoreProdStockVO prodStockVO) {
|
||||
public R<Integer> updateStock(@PathVariable("storeId") Long storeId,@Validated @RequestBody StoreProdStockVO prodStockVO) {
|
||||
return R.ok(storeProdStockService.updateStock(storeId, Collections.singletonList(BeanUtil.toBean(prodStockVO, StoreProdStockDTO.class)), 0));
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
package com.ruoyi.web.controller.xkt.vo.storeProdStock;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author liujiang
|
||||
* @version v1.0
|
||||
* @date 2025/3/27 15:12
|
||||
*/
|
||||
@ApiModel("档口库存清零")
|
||||
@Data
|
||||
public class StoreProdStockClearZeroVO {
|
||||
|
||||
@ApiModelProperty(value = "档口ID", required = true)
|
||||
@NotNull(message = "档口ID不能为空")
|
||||
private Long storeId;
|
||||
@NotNull(message = "商品库存ID列表不能为空")
|
||||
@ApiModelProperty(value = "商品货号")
|
||||
private List<Long> storeProdStockIdList;
|
||||
|
||||
}
|
||||
|
|
@ -23,6 +23,10 @@ public class StoreProdStockResVO {
|
|||
private String mainPicUrl;
|
||||
@ApiModelProperty(value = "商品货号")
|
||||
private String prodArtNum;
|
||||
@ApiModelProperty(value = "档口商品颜色ID")
|
||||
private Long storeProdColorId;
|
||||
@ApiModelProperty(value = "档口颜色ID")
|
||||
private Long storeColorId;
|
||||
@ApiModelProperty(value = "颜色名称")
|
||||
private String colorName;
|
||||
@ApiModelProperty(value = "分类类目")
|
||||
|
|
|
|||
|
|
@ -5,6 +5,9 @@ import io.swagger.annotations.ApiModel;
|
|||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
|
||||
/**
|
||||
* @author liujiang
|
||||
* @version v1.0
|
||||
|
|
@ -15,8 +18,20 @@ import lombok.Data;
|
|||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public class StoreProdStockVO {
|
||||
|
||||
@NotNull(message = "档口商品库存ID不能为空")
|
||||
@ApiModelProperty(value = "档口商品库存ID")
|
||||
private Long storeProdStockId;
|
||||
@NotNull(message = "档口商品ID不能为空")
|
||||
@ApiModelProperty(value = "档口商品ID")
|
||||
private Long storeProdId;
|
||||
@NotBlank(message = "商品货号不能为空")
|
||||
@ApiModelProperty(value = "商品货号")
|
||||
private String prodArtNum;
|
||||
@NotNull(message = "档口商品颜色ID不能为空")
|
||||
@ApiModelProperty(value = "档口商品颜色ID")
|
||||
private Long storeProdColorId;
|
||||
@ApiModelProperty(value = "档口颜色ID")
|
||||
private Long storeColorId;
|
||||
@ApiModelProperty(value = "颜色名称")
|
||||
private String colorName;
|
||||
@ApiModelProperty(value = "尺码30")
|
||||
|
|
|
|||
|
|
@ -39,14 +39,11 @@ public enum AdType {
|
|||
// 首页两侧固定挂耳
|
||||
PC_HOME_FIXED_EAR(12, "首页两侧固定挂耳", "/url"),
|
||||
// 首页搜索框下名称
|
||||
PC_HOME_SEARCH_DOWN_NAME(13, "首页搜索框下名称", "/url"),
|
||||
// 首页搜索框商品
|
||||
PC_HOME_SEARCH_PRODUCT(14, "首页搜索框商品", "/url"),
|
||||
// 首页搜索框档口
|
||||
PC_HOME_SEARCH_STORE(15, "首页搜索框档口", "/url"),
|
||||
// 首页以图搜款商品
|
||||
PC_HOME_PIC_SEARCH_PRODUCT(16, "首页以图搜款商品", "/url"),
|
||||
|
||||
PC_HOME_SEARCH_DOWN_NAME(13, "首页搜索框下档口名称", "/url"),
|
||||
// 首页搜索框中推荐商品
|
||||
PC_HOME_SEARCH_PRODUCT(14, "首页搜索框中推荐商品", "/url"),
|
||||
// 首页以图搜款框商品、以图搜款结果商品、点击以图搜款界面
|
||||
PC_HOME_PIC_SEARCH_PRODUCT(15, "首页以图搜款商品", "/url"),
|
||||
|
||||
|
||||
// 新品馆顶部横向大图
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
package com.ruoyi.xkt.dto.storeProductStock;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author liujiang
|
||||
* @version v1.0
|
||||
* @date 2025/3/27 15:12
|
||||
*/
|
||||
@ApiModel("档口库存清零")
|
||||
@Data
|
||||
public class StoreProdStockClearZeroDTO {
|
||||
|
||||
@NotNull(message = "档口ID不能为空")
|
||||
private Long storeId;
|
||||
@ApiModelProperty(value = "商品货号")
|
||||
private List<Long> storeProdStockIdList;
|
||||
|
||||
}
|
||||
|
|
@ -23,6 +23,10 @@ public class StoreProdStockPageResDTO {
|
|||
private String mainPicUrl;
|
||||
@ApiModelProperty(value = "商品货号")
|
||||
private String prodArtNum;
|
||||
@ApiModelProperty(value = "档口商品颜色ID")
|
||||
private Long storeProdColorId;
|
||||
@ApiModelProperty(value = "档口颜色ID")
|
||||
private Long storeColorId;
|
||||
@ApiModelProperty(value = "颜色名称")
|
||||
private String colorName;
|
||||
@ApiModelProperty(value = "分类类目")
|
||||
|
|
|
|||
|
|
@ -23,6 +23,10 @@ public class StoreProdStockResDTO {
|
|||
private String mainPicUrl;
|
||||
@ApiModelProperty(value = "商品货号")
|
||||
private String prodArtNum;
|
||||
@ApiModelProperty(value = "档口商品颜色ID")
|
||||
private Long storeProdColorId;
|
||||
@ApiModelProperty(value = "档口颜色ID")
|
||||
private Long storeColorId;
|
||||
@ApiModelProperty(value = "颜色名称")
|
||||
private String colorName;
|
||||
@ApiModelProperty(value = "分类类目")
|
||||
|
|
|
|||
|
|
@ -21,6 +21,8 @@ public enum AdDisplayType {
|
|||
PRODUCT(2, "商品"),
|
||||
// 图和商品
|
||||
PIC_AND_PROD(3, "图和商品"),
|
||||
// 档口名称
|
||||
STORE_NAME(4, "档口名称"),
|
||||
|
||||
|
||||
;
|
||||
|
|
|
|||
|
|
@ -44,8 +44,6 @@ public interface IAdvertRoundService {
|
|||
*/
|
||||
void initAdvertLockMap();
|
||||
|
||||
void test();
|
||||
|
||||
/**
|
||||
* 每晚11:30更新广告位轮次状态 将biddingTempStatus赋值给biddingStatus
|
||||
*
|
||||
|
|
|
|||
|
|
@ -2,10 +2,7 @@ package com.ruoyi.xkt.service;
|
|||
|
||||
import com.ruoyi.common.core.page.Page;
|
||||
import com.ruoyi.xkt.domain.StoreProductStock;
|
||||
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockDTO;
|
||||
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageDTO;
|
||||
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageResDTO;
|
||||
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockResDTO;
|
||||
import com.ruoyi.xkt.dto.storeProductStock.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -23,47 +20,7 @@ public interface IStoreProductStockService {
|
|||
* @param storeProdStockId 档口商品库存主键
|
||||
* @return 档口商品库存
|
||||
*/
|
||||
public StoreProdStockResDTO selectByStoreProdStockId(Long storeId, Long storeProdStockId);
|
||||
|
||||
/**
|
||||
* 查询档口商品库存列表
|
||||
*
|
||||
* @param storeProductStock 档口商品库存
|
||||
* @return 档口商品库存集合
|
||||
*/
|
||||
public List<StoreProductStock> selectStoreProductStockList(StoreProductStock storeProductStock);
|
||||
|
||||
/**
|
||||
* 新增档口商品库存
|
||||
*
|
||||
* @param storeProductStock 档口商品库存
|
||||
* @return 结果
|
||||
*/
|
||||
public int insertStoreProductStock(StoreProductStock storeProductStock);
|
||||
|
||||
/**
|
||||
* 修改档口商品库存
|
||||
*
|
||||
* @param storeProductStock 档口商品库存
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateStoreProductStock(StoreProductStock storeProductStock);
|
||||
|
||||
/**
|
||||
* 批量删除档口商品库存
|
||||
*
|
||||
* @param storeProdStockIds 需要删除的档口商品库存主键集合
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteStoreProductStockByStoreProdStockIds(Long[] storeProdStockIds);
|
||||
|
||||
/**
|
||||
* 删除档口商品库存信息
|
||||
*
|
||||
* @param storeProdStockId 档口商品库存主键
|
||||
* @return 结果
|
||||
*/
|
||||
public int deleteStoreProductStockByStoreProdStockId(Long storeProdStockId);
|
||||
StoreProdStockResDTO selectByStoreProdStockId(Long storeId, Long storeProdStockId);
|
||||
|
||||
/**
|
||||
* 增加库存
|
||||
|
|
@ -86,11 +43,10 @@ public interface IStoreProductStockService {
|
|||
/**
|
||||
* 清空库存
|
||||
*
|
||||
* @param storeId 档口ID
|
||||
* @param storeProdStockId 清空库存
|
||||
* @param clearZeroDTO 清空库存dto
|
||||
* @return int
|
||||
*/
|
||||
int clearStockToZero(Long storeId, Long storeProdStockId);
|
||||
int clearStockToZero(StoreProdStockClearZeroDTO clearZeroDTO);
|
||||
|
||||
/**
|
||||
* 直接调整库存
|
||||
|
|
|
|||
|
|
@ -380,10 +380,10 @@ public class AdvertRoundServiceImpl implements IAdvertRoundService {
|
|||
.setSysIntercept(AdSysInterceptType.UN_INTERCEPT.getValue())
|
||||
.setStoreId(createDTO.getStoreId()).setPayPrice(createDTO.getPayPrice()).setVoucherDate(java.sql.Date.valueOf(LocalDate.now()))
|
||||
.setBiddingStatus(AdBiddingStatus.BIDDING.getValue()).setBiddingTempStatus(AdBiddingStatus.BIDDING_SUCCESS.getValue())
|
||||
.setPicSetType(!Objects.equals(minPriceAdvert.getDisplayType(), AdDisplayType.PRODUCT.getValue()) ? AdPicSetType.UN_SET.getValue() : null)
|
||||
.setPicAuditStatus(!Objects.equals(minPriceAdvert.getDisplayType(), AdDisplayType.PRODUCT.getValue()) ? AdPicAuditStatus.UN_AUDIT.getValue() : null)
|
||||
.setPicDesignType(!Objects.equals(minPriceAdvert.getDisplayType(), AdDisplayType.PRODUCT.getValue()) ? createDTO.getPicDesignType() : null)
|
||||
.setPicAuditStatus(!Objects.equals(minPriceAdvert.getDisplayType(), AdDisplayType.PRODUCT.getValue()) ? AdPicAuditStatus.UN_AUDIT.getValue() : null)
|
||||
.setPicSetType(this.hasPic(minPriceAdvert.getDisplayType()) ? AdPicSetType.UN_SET.getValue() : null)
|
||||
.setPicAuditStatus(this.hasPic(minPriceAdvert.getDisplayType()) ? AdPicAuditStatus.UN_AUDIT.getValue() : null)
|
||||
.setPicDesignType(this.hasPic(minPriceAdvert.getDisplayType()) ? createDTO.getPicDesignType() : null)
|
||||
.setPicAuditStatus(this.hasPic(minPriceAdvert.getDisplayType()) ? AdPicAuditStatus.UN_AUDIT.getValue() : null)
|
||||
.setProdIdStr(createDTO.getProdIdStr());
|
||||
this.advertRoundMapper.updateById(minPriceAdvert);
|
||||
// 扣除推广费
|
||||
|
|
@ -392,6 +392,8 @@ public class AdvertRoundServiceImpl implements IAdvertRoundService {
|
|||
return 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 档口已订购推广列表
|
||||
*
|
||||
|
|
@ -829,4 +831,13 @@ public class AdvertRoundServiceImpl implements IAdvertRoundService {
|
|||
return prefix + middle + suffix;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断当前推广类型是否为 推广图 或者 图及商品类型
|
||||
* @param displayType 推广类型
|
||||
* @return true 是 false 不是
|
||||
*/
|
||||
private boolean hasPic(Integer displayType) {
|
||||
return Objects.equals(displayType, AdDisplayType.PICTURE.getValue()) || Objects.equals(displayType, AdDisplayType.PIC_AND_PROD.getValue());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -67,7 +67,8 @@ public class AdvertServiceImpl implements IAdvertService {
|
|||
advert.setOnlineStatus(AdOnlineStatus.ONLINE.getValue());
|
||||
|
||||
// 推广类型为 推广图 或者 图及商品 则新增系统文件
|
||||
if (!Objects.equals(createDTO.getDisplayType(), AdDisplayType.PRODUCT.getValue()) && ObjectUtils.isNotEmpty(createDTO.getExample())) {
|
||||
if ((Objects.equals(createDTO.getDisplayType(), AdDisplayType.PICTURE.getValue()) || Objects.equals(createDTO.getDisplayType(), AdDisplayType.PIC_AND_PROD.getValue()))
|
||||
&& ObjectUtils.isNotEmpty(createDTO.getExample())) {
|
||||
// 将文件插入到SysFile表中
|
||||
SysFile file = BeanUtil.toBean(createDTO.getExample(), SysFile.class);
|
||||
this.fileMapper.insert(file);
|
||||
|
|
|
|||
|
|
@ -8,15 +8,11 @@ import com.ruoyi.common.constant.Constants;
|
|||
import com.ruoyi.common.constant.HttpStatus;
|
||||
import com.ruoyi.common.core.page.Page;
|
||||
import com.ruoyi.common.exception.ServiceException;
|
||||
import com.ruoyi.common.utils.DateUtils;
|
||||
import com.ruoyi.xkt.domain.StoreProductFile;
|
||||
import com.ruoyi.xkt.domain.StoreProductStock;
|
||||
import com.ruoyi.xkt.domain.SysFile;
|
||||
import com.ruoyi.xkt.dto.storeProductFile.StoreProdMainPicDTO;
|
||||
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockDTO;
|
||||
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageDTO;
|
||||
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageResDTO;
|
||||
import com.ruoyi.xkt.dto.storeProductStock.StoreProdStockResDTO;
|
||||
import com.ruoyi.xkt.dto.storeProductStock.*;
|
||||
import com.ruoyi.xkt.enums.FileType;
|
||||
import com.ruoyi.xkt.mapper.StoreProductFileMapper;
|
||||
import com.ruoyi.xkt.mapper.StoreProductStockMapper;
|
||||
|
|
@ -138,19 +134,19 @@ public class StoreProductStockServiceImpl implements IStoreProductStockService {
|
|||
/**
|
||||
* 清空库存
|
||||
*
|
||||
* @param storeId 档口ID
|
||||
* @param storeProdStockId 清空库存
|
||||
* @param clearZeroDTO 清空库存入参
|
||||
* @return int
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public int clearStockToZero(Long storeId, Long storeProdStockId) {
|
||||
StoreProductStock stock = Optional.ofNullable(this.storeProdStockMapper.selectOne(new LambdaQueryWrapper<StoreProductStock>()
|
||||
.eq(StoreProductStock::getId, storeProdStockId).eq(StoreProductStock::getStoreId, storeId).eq(StoreProductStock::getDelFlag, Constants.UNDELETED)))
|
||||
public int clearStockToZero(StoreProdStockClearZeroDTO clearZeroDTO) {
|
||||
List<StoreProductStock> stockList = Optional.ofNullable(this.storeProdStockMapper.selectList(new LambdaQueryWrapper<StoreProductStock>()
|
||||
.eq(StoreProductStock::getStoreId, clearZeroDTO.getStoreId()).eq(StoreProductStock::getDelFlag, Constants.UNDELETED)
|
||||
.in(StoreProductStock::getId, clearZeroDTO.getStoreProdStockIdList())))
|
||||
.orElseThrow(() -> new ServiceException("档口商品库存不存在!", HttpStatus.ERROR));
|
||||
stock.setSize30(0).setSize31(0).setSize32(0).setSize33(0).setSize34(0).setSize35(0).setSize36(0).setSize37(0)
|
||||
.setSize38(0).setSize39(0).setSize40(0).setSize41(0).setSize42(0).setSize43(0);
|
||||
return this.storeProdStockMapper.updateById(stock);
|
||||
stockList.forEach(stock -> stock.setSize30(0).setSize31(0).setSize32(0).setSize33(0).setSize34(0).setSize35(0).setSize36(0).setSize37(0)
|
||||
.setSize38(0).setSize39(0).setSize40(0).setSize41(0).setSize42(0).setSize43(0));
|
||||
return this.storeProdStockMapper.updateById(stockList).size();
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -256,69 +252,6 @@ public class StoreProductStockServiceImpl implements IStoreProductStockService {
|
|||
.setStoreProdStockId(stock.getId()).setMainPicUrl(file.getFileUrl());
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询档口商品库存列表
|
||||
*
|
||||
* @param storeProductStock 档口商品库存
|
||||
* @return 档口商品库存
|
||||
*/
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public List<StoreProductStock> selectStoreProductStockList(StoreProductStock storeProductStock) {
|
||||
return storeProdStockMapper.selectStoreProductStockList(storeProductStock);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增档口商品库存
|
||||
*
|
||||
* @param storeProductStock 档口商品库存
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public int insertStoreProductStock(StoreProductStock storeProductStock) {
|
||||
storeProductStock.setCreateTime(DateUtils.getNowDate());
|
||||
return storeProdStockMapper.insertStoreProductStock(storeProductStock);
|
||||
}
|
||||
|
||||
/**
|
||||
* 修改档口商品库存
|
||||
*
|
||||
* @param storeProductStock 档口商品库存
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public int updateStoreProductStock(StoreProductStock storeProductStock) {
|
||||
storeProductStock.setUpdateTime(DateUtils.getNowDate());
|
||||
return storeProdStockMapper.updateStoreProductStock(storeProductStock);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除档口商品库存
|
||||
*
|
||||
* @param storeProdStockIds 需要删除的档口商品库存主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public int deleteStoreProductStockByStoreProdStockIds(Long[] storeProdStockIds) {
|
||||
return storeProdStockMapper.deleteStoreProductStockByStoreProdStockIds(storeProdStockIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除档口商品库存信息
|
||||
*
|
||||
* @param storeProdStockId 档口商品库存主键
|
||||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
@Transactional
|
||||
public int deleteStoreProductStockByStoreProdStockId(Long storeProdStockId) {
|
||||
return storeProdStockMapper.deleteStoreProductStockByStoreProdStockId(storeProdStockId);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 通过数量diff增减或扣减库存
|
||||
*
|
||||
|
|
|
|||
|
|
@ -156,21 +156,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
|
||||
<select id="selectStockPage" parameterType="com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageDTO" resultType="com.ruoyi.xkt.dto.storeProductStock.StoreProdStockPageResDTO">
|
||||
SELECT
|
||||
id AS stockProdStockId, store_prod_id, prod_art_num, color_name,
|
||||
size_30 AS size30, size_31 AS size31, size_32 AS size32, size_33 AS size33, size_34 AS size34, size_35 AS size35, size_36 AS size36, size_37 AS size37,
|
||||
size_38 AS size38, size_39 AS size39, size_40 AS size40, size_41 AS size41, size_42 AS size42, size_43 AS size43,
|
||||
(IFNULL(size_30, 0) + IFNULL(size_31, 0) + IFNULL(size_32, 0) + IFNULL(size_33, 0) +
|
||||
IFNULL(size_34, 0) + IFNULL(size_35, 0) + IFNULL(size_36, 0) + IFNULL(size_37, 0) +
|
||||
IFNULL(size_38, 0) + IFNULL(size_39, 0) + IFNULL(size_40, 0) + IFNULL(size_41, 0) +
|
||||
IFNULL(size_42, 0) + IFNULL(size_43, 0)) AS totalStock
|
||||
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_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
|
||||
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
|
||||
del_flag = 0
|
||||
AND store_id = #{storeId}
|
||||
<if test="prodArtNum != null and prodArtNum != ''"> and prod_art_num like concat('%', #{prodArtNum}, '%')</if>
|
||||
sps.del_flag = 0
|
||||
AND sps.store_id = #{storeId}
|
||||
<if test="prodArtNum != null and prodArtNum != ''"> and sps.prod_art_num like concat('%', #{prodArtNum}, '%')</if>
|
||||
ORDER BY
|
||||
create_time DESC
|
||||
sps.create_time DESC
|
||||
</select>
|
||||
|
||||
<select id="selectTop10List" resultType="com.ruoyi.xkt.dto.dailyStoreTag.DailyStoreTagDTO">
|
||||
|
|
|
|||
Loading…
Reference in New Issue