获得SKU回收站分页列表

This commit is contained in:
xuelijun
2025-08-05 17:20:56 +08:00
parent 360c497c49
commit cde19e180a
9 changed files with 112 additions and 99 deletions

View File

@@ -9,6 +9,7 @@ import com.tashow.cloud.product.service.ProdExtendService;
import com.tashow.cloud.product.service.ProdPropService;
import com.tashow.cloud.product.service.ProdPropValueService;
import com.tashow.cloud.product.service.SkuService;
import com.tashow.cloud.product.vo.prod.ProdPageReqVO;
import com.tashow.cloud.product.vo.prod.ProdServiceVO;
import com.tashow.cloud.product.vo.prodprop.ProdPropRespVO;
import com.tashow.cloud.product.vo.sku.*;
@@ -150,6 +151,13 @@ public class SkuController {
return success(BeanUtils.toBean(sku, SkuRespVO.class));
}
@PermitAll
@GetMapping("/getSkuRecycleBinPageList")
@Operation(summary = "获得SKU回收站分页列表")
public CommonResult<PageResult<SkuRecycleBinVO>> getSkuRecycleBinPageList(@Valid SkuPageReqVO pageReqVO) {
PageResult<SkuRecycleBinVO> pageResult = skuService.getSkuRecycleBinPageList(pageReqVO);
return success(pageResult);
}
@PostMapping("/createSkuExtend")

View File

@@ -163,5 +163,8 @@ public class SkuDO extends BaseDO {
@TableField(exist=false)
private Integer isExist;
/**
* 删除时间
*/
private LocalDateTime delete_time;
}

View File

@@ -2,11 +2,18 @@ package com.tashow.cloud.product.mapper;
import java.util.*;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.tashow.cloud.common.pojo.PageResult;
import com.tashow.cloud.mybatis.mybatis.core.query.LambdaQueryWrapperX;
import com.tashow.cloud.mybatis.mybatis.core.mapper.BaseMapperX;
import com.tashow.cloud.product.dto.ProdDO;
import com.tashow.cloud.product.dto.SkuDO;
import com.tashow.cloud.product.vo.prod.ProdPageReqVO;
import com.tashow.cloud.product.vo.sku.SkuRecycleBinVO;
import io.swagger.v3.oas.annotations.media.Schema;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* 单品SKU Mapper
@@ -16,5 +23,5 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface SkuMapper extends BaseMapperX<SkuDO> {
IPage<SkuRecycleBinVO> getSkuRecycleBinPageList(Page<?> page, @Param("prodId") Long prodId, @Param("properties")String properties);
}

View File

@@ -74,6 +74,10 @@ public interface SkuService {
*/
SkuDO getSku(Long id);
PageResult<SkuRecycleBinVO> getSkuRecycleBinPageList(SkuPageReqVO pageReqVO);
/**
* 获得单品SKU分页
*

View File

@@ -3,12 +3,16 @@ package com.tashow.cloud.product.service.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.tashow.cloud.common.util.date.DateUtils;
import com.tashow.cloud.mybatis.mybatis.core.util.MyBatisUtils;
import com.tashow.cloud.product.dto.*;
import com.tashow.cloud.product.mapper.*;
import com.tashow.cloud.product.service.ProdExtendService;
import com.tashow.cloud.product.service.ProdPropService;
import com.tashow.cloud.product.service.ProdPropValueService;
import com.tashow.cloud.product.service.SkuService;
import com.tashow.cloud.product.vo.prod.ProdPageReqVO;
import com.tashow.cloud.product.vo.sku.*;
import com.tashow.cloud.productapi.enums.BaseEnum;
import com.tashow.cloud.productapi.enums.ErrorCodeConstants;
@@ -457,6 +461,16 @@ public class SkuServiceImpl implements SkuService {
return skuMapper.selectById(id);
}
@Override
public PageResult<SkuRecycleBinVO> getSkuRecycleBinPageList(SkuPageReqVO pageReqVO){
IPage<SkuRecycleBinVO> prodPageList = skuMapper.getSkuRecycleBinPageList(MyBatisUtils.buildPage(pageReqVO), pageReqVO.getProdId(), pageReqVO.getProperties());
for(SkuRecycleBinVO prodPage : prodPageList.getRecords()){
prodPage.setRemainingDays(DateUtils.getRemainingDays(prodPage.getDeleteTime()));
}
return new PageResult<>(prodPageList.getRecords(),prodPageList.getTotal());
}
@Override
public PageResult<SkuDO> getSkuPage(SkuPageReqVO pageReqVO) {
return null;

View File

@@ -19,103 +19,7 @@ public class SkuPageReqVO extends PageParam {
@Schema(description = "商品ID", example = "18784")
private Long prodId;
@Schema(description = "销售属性组合字符串 格式是p1:v1;p2:v2")
@Schema(description = "销售属性组合字符串")
private String properties;
@Schema(description = "别名")
private String alias;
@Schema(description = "当前价格", example = "32405")
private BigDecimal price;
/**
* 基准价
*/
private BigDecimal basePrice;
@Schema(description = "最低价格", example = "5040")
private BigDecimal minPrice;
@Schema(description = "最高价格", example = "11547")
private BigDecimal maxPrice;
@Schema(description = "成本价", example = "28062")
private BigDecimal originalPrice;
@Schema(description = "市场价", example = "11547")
private BigDecimal marketPrice;
@Schema(description = "单位")
private String unit;
@Schema(description = "0:主服务1:待定", example = "1")
private Integer type;
@Schema(description = "概述")
private String overview;
@Schema(description = "库存")
private Integer stocks;
@Schema(description = "预警库存")
private Integer warnStocks;
@Schema(description = "库存扣款时机0:付款扣1下单扣", example = "1")
private Boolean stocksType;
@Schema(description = "sku编码")
private String skuCode;
@Schema(description = "商品条形码", example = "14390")
private String modelId;
@Schema(description = "sku图片")
private String pic;
@Schema(description = "sku名称", example = "张三")
private String skuName;
@Schema(description = "商品名称", example = "芋艿")
private String prodName;
@Schema(description = "版本号")
private Integer version;
@Schema(description = "商品重量")
private Double weight;
@Schema(description = "商品体积")
private Double volume;
@Schema(description = "0 禁用 1 启用", example = "1")
private Integer status;
@Schema(description = "0 正常 1 已被删除")
private Integer isDelete;
@Schema(description = "最小购买数量")
private Integer moq;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
/**
* 是否上下架0下架1上架
*/
private Integer isShelf;
/**
* 是否默认规则0否1是
*/
private Integer isSpecs;
/**
* 服务内容
*/
private String serviceContent;
/**
* 规格id 多个用逗号分隔1,2,3
*/
private String propIds;
}

View File

@@ -0,0 +1,31 @@
package com.tashow.cloud.product.vo.sku;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.tashow.cloud.product.dto.ProdPropDO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
@Data
public class SkuRecycleBinVO {
@Schema(description = "单品ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "32230")
private Long skuId;
/**
* 是否显示失效规格值 0否1是
*/
private String properties;
/**
* 还剩多少天
*/
private Long remainingDays;
/**
* 删除时间
*/
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date deleteTime;
}

View File

@@ -9,4 +9,10 @@
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
<select id="getSkuRecycleBinPageList" resultType="com.tashow.cloud.product.vo.sku.SkuRecycleBinVO" >
select sku_id, properties, delete_time from tz_sku where prod_id = #{prodId} and deleted = 1
<if test="properties != null and properties != ''">
and properties like concat('%', #{properties}, '%')
</if>
</select>
</mapper>