From b5ac6437854402a9736783feabe55bf30ef73a5b Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Tue, 7 Jan 2025 19:01:30 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E8=B6=85=E5=B8=82=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../feign/RemoteSupermarketSpuService.java | 13 +- .../dto/SupermarketSpuQueryDTO.java | 7 + .../entity/SupermarketBrandEntity.java | 7 + .../entity/SupermarketCategoryEntity.java | 6 + .../supermarket/vo/SupermarketAppSpuVo.java | 165 ++++++++++++++++++ .../SupermarketCategoryController.java | 19 +- .../controller/SupermarketSpuController.java | 29 ++- .../service/SupermarketCategoryService.java | 8 + .../impl/SupermarketCategoryServiceImpl.java | 9 + .../mapper/SupermarketBrandMapper.xml | 1 + .../mapper/SupermarketCategoryMapper.xml | 1 + 11 files changed, 261 insertions(+), 4 deletions(-) create mode 100644 pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SupermarketAppSpuVo.java diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/api/feign/RemoteSupermarketSpuService.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/api/feign/RemoteSupermarketSpuService.java index aa979f6c7..3ec9e6603 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/api/feign/RemoteSupermarketSpuService.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/api/feign/RemoteSupermarketSpuService.java @@ -44,7 +44,7 @@ public interface RemoteSupermarketSpuService { * @return R */ @PostMapping("/supermarketSpu/ad/selectListAll") - R getSupermarketSpu(@RequestBody SupermarketSpuQueryDTO supermarketSpuQueryDTO); + R getSupermarketSpuScope(@RequestBody SupermarketSpuQueryDTO supermarketSpuQueryDTO); @@ -64,4 +64,15 @@ public interface RemoteSupermarketSpuService { */ @PostMapping("/supermarketSpu/ad/updateSpuStock") R getSupermarketSpu(@RequestBody SupermarketSpuUpdateStockReqDTO updateStockReqDTO); + + + + + + /** + * 查询所有的超市spu列表信息,根据条件 + * @return R + */ + @PostMapping("/supermarketSpu/app/selectListAll") + R getSupermarketSpu(@RequestBody SupermarketSpuQueryDTO supermarketSpuQueryDTO); } diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/SupermarketSpuQueryDTO.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/SupermarketSpuQueryDTO.java index 3a2594c24..4e12dd5ef 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/SupermarketSpuQueryDTO.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/SupermarketSpuQueryDTO.java @@ -44,4 +44,11 @@ public class SupermarketSpuQueryDTO { */ @Schema(description="商品性质(字典)") private String productNature; + + + /** + * 商户id + */ + @Schema(description="商户id") + private Long merchantId; } diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SupermarketBrandEntity.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SupermarketBrandEntity.java index d112f3466..adac6c339 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SupermarketBrandEntity.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SupermarketBrandEntity.java @@ -100,4 +100,11 @@ public class SupermarketBrandEntity extends Model { */ @Schema(description="租户编号") private Long tenantId; + + + /** + * 商户id + */ + @Schema(description="商户id") + private Long merchantId; } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SupermarketCategoryEntity.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SupermarketCategoryEntity.java index d72704920..5a674ee93 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SupermarketCategoryEntity.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/entity/SupermarketCategoryEntity.java @@ -106,4 +106,10 @@ public class SupermarketCategoryEntity extends Model */ @Schema(description="租户编号") private Long tenantId; + + /** + * 商户id + */ + @Schema(description="商户id") + private Long merchantId; } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SupermarketAppSpuVo.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SupermarketAppSpuVo.java new file mode 100644 index 000000000..6bb481893 --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SupermarketAppSpuVo.java @@ -0,0 +1,165 @@ +package com.bsd.pjcloud.supermarket.vo; + + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.List; + +@Data +@Schema(description="app Spuvo") +public class SupermarketAppSpuVo { + + /** + * 商品 SPU 编号,自增 + */ + @Schema(description="商品 SPU 编号,自增") + private Long id; + + /** + * 货号 + */ + @Schema(description="货号") + private String productCode; + + /** + * 自编码/条码 + */ + @Schema(description="自编码/条码") + private String barcode; + + /** + * 商品名称 + */ + @Schema(description="商品名称") + private String productName; + + /** + * 单位 + */ + @Schema(description="单位") + private String unit; + + /** + * 商品简介 + */ + @Schema(description="商品简介") + private String introduction; + + /** + * 商品详情 + */ + @Schema(description="商品详情") + private String description; + + /** + * 商品分类编号 + */ + @Schema(description="商品分类编号") + private Long categoryId; + + /** + * 商品封面图 + */ + @Schema(description="商品封面图") + private String picUrl; + + /** + * 商品轮播图地址 + 数组,以逗号分隔 + 最多上传15张 + */ + @Schema(description="商品轮播图地址") + private String sliderPicUrls; + + + /** + * 库存 + */ + @Schema(description="总库存") + private Integer stock; + + /** + * 赠送积分 + */ + @Schema(description="赠送积分") + private Integer giveIntegral; + + /** + * 商户编号 + */ + @Schema(description="商户编号") + private Long merchantId; + + + /** + * 产地 + */ + @Schema(description="产地") + private String origin; + + + + /** + * 商品性质(字典) + */ + @Schema(description="商品性质(字典)") + private String productNature; + + + /** + * 品牌id + */ + @Schema(description="品牌id") + private Long brandId; + + /** + * 货商id + */ + @Schema(description="货商id") + private Long supplierId; + + /** + * 创建人 + */ + @TableField(fill = FieldFill.INSERT) + @Schema(description="创建人") + private String createBy; + + /** + * 创建时间 + */ + @TableField(fill = FieldFill.INSERT) + @Schema(description="创建时间") + private LocalDateTime createTime; + + /** + * 更新人 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @Schema(description="更新人") + private String updateBy; + + /** + * 更新时间 + */ + @TableField(fill = FieldFill.INSERT_UPDATE) + @Schema(description="更新时间") + private LocalDateTime updateTime; + + + @Schema(description = "销量") + private Integer salesCount; + + + + @Schema(description = "辅助条码集合") + private List supermarketAuxiliaryCodeEntityList; + + @Schema(description = "包装对象集合") + private List supermarketUnitEntityList; + +} diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SupermarketCategoryController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SupermarketCategoryController.java index 089e9dd79..779287380 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SupermarketCategoryController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SupermarketCategoryController.java @@ -128,8 +128,25 @@ public class SupermarketCategoryController { @Operation(summary = "下拉查询") @GetMapping("/simpleAll") public R getSimpleAll() { - List list = supermarketCategoryService.list(); + List list = supermarketCategoryService.listScope(); List bean = BeanUtils.toBean(list, SupermarketCategorySimpleVo.class); return R.ok(bean); } + + + +// --------------APP------------------- + /** + * 获取商户下所有分类 + * @return + */ + @Operation(summary = "APP分类查询",description = "通过商户id获取该商户下的分类") + @GetMapping("/app/simpleAll") + public R getAppSimpleAll(@RequestParam("merchantId")Long merchantId) { + List list = supermarketCategoryService. + list(new LambdaQueryWrapper().eq(SupermarketCategoryEntity::getMerchantId, merchantId)); + List bean = BeanUtils.toBean(list, SupermarketCategorySimpleVo.class); + return R.ok(bean); + } + } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SupermarketSpuController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SupermarketSpuController.java index fd9a0bbc9..be32be671 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SupermarketSpuController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SupermarketSpuController.java @@ -6,6 +6,7 @@ import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.bsd.pjcloud.common.core.util.BeanUtils; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.common.security.util.SecurityUtils; @@ -17,6 +18,7 @@ import com.bsd.pjcloud.supermarket.entity.SupermarketUnitEntity; import com.bsd.pjcloud.supermarket.service.SupermarketAuxiliaryCodeService; import com.bsd.pjcloud.supermarket.service.SupermarketSpuService; import com.bsd.pjcloud.supermarket.service.SupermarketUnitService; +import com.bsd.pjcloud.supermarket.vo.SupermarketAppSpuVo; import org.springframework.security.access.prepost.PreAuthorize; import com.bsd.pjcloud.common.excel.annotation.ResponseExcel; import io.swagger.v3.oas.annotations.security.SecurityRequirement; @@ -25,6 +27,7 @@ import org.springframework.http.HttpHeaders; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -149,10 +152,10 @@ public class SupermarketSpuController { * @param supermarketSpuQueryDTO 商品spu * @return */ - @Operation(summary = "条件查询所有" , description = "条件查询所有" ) + @Operation(summary = "安卓机条件查询所有" , description = "安卓机条件查询所有" ) @PostMapping("/ad/selectListAll" ) @PreAuthorize("@pms.hasPermission('supermarket_supermarketSpu_view')" ) - public R getSupermarketSpu(@RequestBody SupermarketSpuQueryDTO supermarketSpuQueryDTO) { + public R getSupermarketSpuByScope(@RequestBody SupermarketSpuQueryDTO supermarketSpuQueryDTO) { return R.ok(supermarketSpuService.selectListAllScope(supermarketSpuQueryDTO)); } @@ -178,4 +181,26 @@ public class SupermarketSpuController { + + /** + * 条件查询spu单表 列表信息 + * @param supermarketSpuQueryDTO 商品spu + * @return + */ + @Operation(summary = "APP机条件查询所有SPU" , description = "APP条件查询所有" ) + @PostMapping("/app/selectListAll" ) + @PreAuthorize("@pms.hasPermission('supermarket_supermarketSpu_view')" ) + public R getSupermarketSpu(@RequestBody SupermarketSpuQueryDTO supermarketSpuQueryDTO) { + LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); + wrapper.eq(supermarketSpuQueryDTO.getMerchantId() != null, SupermarketSpuEntity::getMerchantId, supermarketSpuQueryDTO.getMerchantId()); + wrapper.eq(StrUtil.isNotBlank(supermarketSpuQueryDTO.getProductCode()), SupermarketSpuEntity::getProductCode, supermarketSpuQueryDTO.getProductCode()); + wrapper.eq(StrUtil.isNotBlank(supermarketSpuQueryDTO.getBarcode()), SupermarketSpuEntity::getBarcode, supermarketSpuQueryDTO.getBarcode()); + wrapper.like(StrUtil.isNotBlank(supermarketSpuQueryDTO.getProductName()), SupermarketSpuEntity::getProductName, supermarketSpuQueryDTO.getProductName()); + List list = supermarketSpuService.list(wrapper); + List bean = BeanUtils.toBean(list, SupermarketAppSpuVo.class); + return R.ok(bean); + } + + + } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SupermarketCategoryService.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SupermarketCategoryService.java index e4b45697e..b6faade65 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SupermarketCategoryService.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SupermarketCategoryService.java @@ -3,6 +3,14 @@ package com.bsd.pjcloud.supermarket.service; import com.baomidou.mybatisplus.extension.service.IService; import com.bsd.pjcloud.supermarket.entity.SupermarketCategoryEntity; +import java.util.List; + public interface SupermarketCategoryService extends IService { + + /** + * 下拉查询 + * @return + */ + List listScope(); } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SupermarketCategoryServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SupermarketCategoryServiceImpl.java index 3304d38e3..3f8567eaa 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SupermarketCategoryServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SupermarketCategoryServiceImpl.java @@ -1,10 +1,15 @@ package com.bsd.pjcloud.supermarket.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.supermarket.entity.SupermarketCategoryEntity; import com.bsd.pjcloud.supermarket.mapper.SupermarketCategoryMapper; import com.bsd.pjcloud.supermarket.service.SupermarketCategoryService; import org.springframework.stereotype.Service; + +import java.util.List; + /** * 商品分类 * @@ -13,4 +18,8 @@ import org.springframework.stereotype.Service; */ @Service public class SupermarketCategoryServiceImpl extends ServiceImpl implements SupermarketCategoryService { + @Override + public List listScope() { + return baseMapper.selectListByScope(new LambdaQueryWrapper(), DataScope.of()); + } } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SupermarketBrandMapper.xml b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SupermarketBrandMapper.xml index 9d2709fa1..741c6da26 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SupermarketBrandMapper.xml +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SupermarketBrandMapper.xml @@ -16,5 +16,6 @@ + \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SupermarketCategoryMapper.xml b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SupermarketCategoryMapper.xml index 8ba7fdbd0..426494b0e 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SupermarketCategoryMapper.xml +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SupermarketCategoryMapper.xml @@ -17,5 +17,6 @@ + \ No newline at end of file From c2e0d8c31d7e04037d8b41614e02e04ea39ca0df Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Wed, 8 Jan 2025 12:23:10 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E8=B6=85=E5=B8=82=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dto/SupermarketSpuAppQueryDTO.java | 52 ++++++ .../vo/SupermarketSpuDetailsVo.java | 158 ------------------ .../supermarket/vo/SupermarketUnitVo.java | 1 - .../vo/app/SupermarketAppSpuDetailsVo.java | 57 +++++++ .../vo/app/SupermarketAppSpuVo.java | 54 ++++++ .../vo/app/SupermarketAppUnitVo.java | 82 +++++++++ .../SupermarketSpuAppDetailsVo.java} | 12 +- .../controller/SupermarketSpuController.java | 27 ++- .../service/SupermarketSpuService.java | 8 + .../impl/SupermarketSpuServiceImpl.java | 18 +- 10 files changed, 293 insertions(+), 176 deletions(-) create mode 100644 pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/SupermarketSpuAppQueryDTO.java delete mode 100644 pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SupermarketSpuDetailsVo.java create mode 100644 pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/app/SupermarketAppSpuDetailsVo.java create mode 100644 pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/app/SupermarketAppSpuVo.java create mode 100644 pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/app/SupermarketAppUnitVo.java rename pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/{SupermarketAppSpuVo.java => app/SupermarketSpuAppDetailsVo.java} (90%) diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/SupermarketSpuAppQueryDTO.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/SupermarketSpuAppQueryDTO.java new file mode 100644 index 000000000..5939d0dd0 --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/dto/SupermarketSpuAppQueryDTO.java @@ -0,0 +1,52 @@ +package com.bsd.pjcloud.supermarket.dto; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +@Data +@Schema(description = "App商品 SPU 查询参数") +public class SupermarketSpuAppQueryDTO { + /** + * 商品 SPU 编号,自增 + */ +// @Schema(description="商品 SPU 编号,自增") +// private Long id; + +// /** +// * 货号 +// */ +// @Schema(description="货号") +// private String productCode; +// +// /** +// * 自编码/条码 +// */ +// @Schema(description="自编码/条码") +// private String barcode; + + /** + * 商品名称 + */ + @Schema(description="商品名称") + private String productName; + + /** + * 商品分类编号 + */ + @Schema(description="商品分类编号") + private Long categoryId; + + /** + * 商品性质(字典) + */ +// @Schema(description="商品性质(字典)") +// private String productNature; + + + /** + * 商户id + */ + @Schema(description="商户id") + private Long merchantId; +} diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SupermarketSpuDetailsVo.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SupermarketSpuDetailsVo.java deleted file mode 100644 index a79cb6092..000000000 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SupermarketSpuDetailsVo.java +++ /dev/null @@ -1,158 +0,0 @@ -package com.bsd.pjcloud.supermarket.vo; - - -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import io.swagger.v3.oas.annotations.media.Schema; -import lombok.Data; - -import java.time.LocalDateTime; - -@Data -@Schema(description="ad spu详情") -public class SupermarketSpuDetailsVo { - - /** - * 商品 SPU 编号,自增 - */ - @Schema(description="商品 SPU 编号,自增") - private Long id; - - /** - * 货号 - */ - @Schema(description="货号") - private String productCode; - - /** - * 自编码/条码 - */ - @Schema(description="自编码/条码") - private String barcode; - - /** - * 商品名称 - */ - @Schema(description="商品名称") - private String productName; - - /** - * 单位 - */ - @Schema(description="单位") - private String unit; - - /** - * 商品简介 - */ - @Schema(description="商品简介") - private String introduction; - - /** - * 商品详情 - */ - @Schema(description="商品详情") - private String description; - - /** - * 商品分类编号 - */ - @Schema(description="商品分类编号") - private Long categoryId; - - /** - * 商品封面图 - */ - @Schema(description="商品封面图") - private String picUrl; - - /** - * 商品轮播图地址 - 数组,以逗号分隔 - 最多上传15张 - */ - @Schema(description="商品轮播图地址") - private String sliderPicUrls; - - - /** - * 库存 - */ - @Schema(description="总库存") - private Integer stock; - - /** - * 赠送积分 - */ - @Schema(description="赠送积分") - private Integer giveIntegral; - - /** - * 商户编号 - */ - @Schema(description="商户编号") - private Long merchantId; - - - /** - * 产地 - */ - @Schema(description="产地") - private String origin; - - - - /** - * 商品性质(字典) - */ - @Schema(description="商品性质(字典)") - private String productNature; - - - /** - * 品牌id - */ - @Schema(description="品牌id") - private Long brandId; - - /** - * 货商id - */ - @Schema(description="货商id") - private Long supplierId; - - /** - * 创建人 - */ - @TableField(fill = FieldFill.INSERT) - @Schema(description="创建人") - private String createBy; - - /** - * 创建时间 - */ - @TableField(fill = FieldFill.INSERT) - @Schema(description="创建时间") - private LocalDateTime createTime; - - /** - * 更新人 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @Schema(description="更新人") - private String updateBy; - - /** - * 更新时间 - */ - @TableField(fill = FieldFill.INSERT_UPDATE) - @Schema(description="更新时间") - private LocalDateTime updateTime; - - - @Schema(description = "销量") - private Integer salesCount; - - - -} diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SupermarketUnitVo.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SupermarketUnitVo.java index 70a158535..e266320be 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SupermarketUnitVo.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SupermarketUnitVo.java @@ -20,7 +20,6 @@ import java.time.LocalDateTime; */ @Data @TenantTable -@TableName("supermarket_unit") @Schema(description = "商品包装单位(sku)") public class SupermarketUnitVo{ diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/app/SupermarketAppSpuDetailsVo.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/app/SupermarketAppSpuDetailsVo.java new file mode 100644 index 000000000..4ff20f5f3 --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/app/SupermarketAppSpuDetailsVo.java @@ -0,0 +1,57 @@ +package com.bsd.pjcloud.supermarket.vo.app; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Data +@Schema(description="app Spuvo") +public class SupermarketAppSpuDetailsVo { + + /** + * 商品 SPU 编号,自增 + */ + @Schema(description="商品 SPU 编号") + private Long id; + + /** + * 商品名称 + */ + @Schema(description="商品名称") + private String productName; + + + + /** + * 商品封面图 + */ + @Schema(description="商品封面图") + private String picUrl; + + + /** + * 库存 + */ + @Schema(description="剩余库存") + private Integer stock; + + + /** + * 商户编号 + */ + @Schema(description="商户编号") + private Long merchantId; + + + + @Schema(description = "销量") + private Integer salesCount; + + + @Schema(description = "包装单位集合(sku)") + private List skuList; + + +} diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/app/SupermarketAppSpuVo.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/app/SupermarketAppSpuVo.java new file mode 100644 index 000000000..22e5d013a --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/app/SupermarketAppSpuVo.java @@ -0,0 +1,54 @@ +package com.bsd.pjcloud.supermarket.vo.app; + + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.util.List; + +@Data +@Schema(description="app Spuvo") +public class SupermarketAppSpuVo { + + /** + * 商品 SPU 编号,自增 + */ + @Schema(description="商品 SPU 编号") + private Long id; + + /** + * 商品名称 + */ + @Schema(description="商品名称") + private String productName; + + + + /** + * 商品封面图 + */ + @Schema(description="商品封面图") + private String picUrl; + + + /** + * 库存 + */ + @Schema(description="剩余库存") + private Integer stock; + + + /** + * 商户编号 + */ + @Schema(description="商户编号") + private Long merchantId; + + + + @Schema(description = "销量") + private Integer salesCount; + + + +} diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/app/SupermarketAppUnitVo.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/app/SupermarketAppUnitVo.java new file mode 100644 index 000000000..79b4a1d74 --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/app/SupermarketAppUnitVo.java @@ -0,0 +1,82 @@ +package com.bsd.pjcloud.supermarket.vo.app; + +import com.baomidou.mybatisplus.annotation.*; +import com.bsd.pjcloud.common.core.util.MoneyDeserializer; +import com.bsd.pjcloud.common.core.util.MoneySerializer; +import com.bsd.pjcloud.common.core.util.TenantTable; +import com.fasterxml.jackson.databind.annotation.JsonDeserialize; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +/** + * 商品包装单位(sku) + * + * @author zjf + * @date 2024-12-26 11:06:54 + */ +@Data +@TenantTable +@Schema(description = "商品包装单位(sku)") +public class SupermarketAppUnitVo { + + + /** + * 包装单位id + */ + @Schema(description="包装单位id") + private Long id; + + /** + * 条码 + */ + @Schema(description="条码") + private String barCode; + + /** + * 规格 + */ + @Schema(description="规格") + private String spec; + + /** + * 单位 + */ + @Schema(description="单位") + private String unit; + + + /** + * 内装数量 + */ + @Schema(description="内装数量") + private Integer packageNum; + + + /** + * 零售价/单位分 + */ + @Schema(description="零售价") + @JsonSerialize(using = MoneySerializer.class) // 分 -> 元 + @JsonDeserialize(using = MoneyDeserializer.class) // 元 -> 分 + private Integer retailPrice; + + /** + * spuID + */ + @Schema(description="spuID") + private Long spuId; + + /** + * 促销价 + */ + @Schema(description="促销价") + @JsonSerialize(using = MoneySerializer.class) // 分 -> 元 + @JsonDeserialize(using = MoneyDeserializer.class) // 元 -> 分 + private Integer promotionPrice; + + + +} \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SupermarketAppSpuVo.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/app/SupermarketSpuAppDetailsVo.java similarity index 90% rename from pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SupermarketAppSpuVo.java rename to pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/app/SupermarketSpuAppDetailsVo.java index 6bb481893..bad08be23 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/SupermarketAppSpuVo.java +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/app/SupermarketSpuAppDetailsVo.java @@ -1,8 +1,9 @@ -package com.bsd.pjcloud.supermarket.vo; +package com.bsd.pjcloud.supermarket.vo.app; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.TableField; +import com.bsd.pjcloud.supermarket.vo.SupermarketUnitVo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -10,13 +11,13 @@ import java.time.LocalDateTime; import java.util.List; @Data -@Schema(description="app Spuvo") -public class SupermarketAppSpuVo { +@Schema(description="ad spu详情") +public class SupermarketSpuAppDetailsVo { /** * 商品 SPU 编号,自增 */ - @Schema(description="商品 SPU 编号,自增") + @Schema(description="商品 SPU 编号") private Long id; /** @@ -156,9 +157,6 @@ public class SupermarketAppSpuVo { - @Schema(description = "辅助条码集合") - private List supermarketAuxiliaryCodeEntityList; - @Schema(description = "包装对象集合") private List supermarketUnitEntityList; diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SupermarketSpuController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SupermarketSpuController.java index be32be671..5a7ae4911 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SupermarketSpuController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SupermarketSpuController.java @@ -10,6 +10,7 @@ import com.bsd.pjcloud.common.core.util.BeanUtils; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.common.security.util.SecurityUtils; +import com.bsd.pjcloud.supermarket.dto.SupermarketSpuAppQueryDTO; import com.bsd.pjcloud.supermarket.dto.SupermarketSpuQueryDTO; import com.bsd.pjcloud.supermarket.dto.SupermarketSpuUpdateStockReqDTO; import com.bsd.pjcloud.supermarket.entity.SupermarketAuxiliaryCodeEntity; @@ -18,7 +19,7 @@ import com.bsd.pjcloud.supermarket.entity.SupermarketUnitEntity; import com.bsd.pjcloud.supermarket.service.SupermarketAuxiliaryCodeService; import com.bsd.pjcloud.supermarket.service.SupermarketSpuService; import com.bsd.pjcloud.supermarket.service.SupermarketUnitService; -import com.bsd.pjcloud.supermarket.vo.SupermarketAppSpuVo; +import com.bsd.pjcloud.supermarket.vo.app.SupermarketAppSpuVo; import org.springframework.security.access.prepost.PreAuthorize; import com.bsd.pjcloud.common.excel.annotation.ResponseExcel; import io.swagger.v3.oas.annotations.security.SecurityRequirement; @@ -27,7 +28,6 @@ import org.springframework.http.HttpHeaders; import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; -import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; @@ -173,6 +173,7 @@ public class SupermarketSpuController { @PostMapping("/ad/updateSpuStock") + @Operation(summary = "更新库存" , description = "app和安卓公用" ) @SysLog("更新商品库存") public R updateSkuStock(@RequestBody SupermarketSpuUpdateStockReqDTO updateStockReqDTO){ return supermarketSpuService.updateSpuStock(updateStockReqDTO); @@ -187,20 +188,32 @@ public class SupermarketSpuController { * @param supermarketSpuQueryDTO 商品spu * @return */ - @Operation(summary = "APP机条件查询所有SPU" , description = "APP条件查询所有" ) + @Operation(summary = "APP根据条件查询分页SPU" , description = "APP条件分页查询" ) @PostMapping("/app/selectListAll" ) @PreAuthorize("@pms.hasPermission('supermarket_supermarketSpu_view')" ) - public R getSupermarketSpu(@RequestBody SupermarketSpuQueryDTO supermarketSpuQueryDTO) { + public R> getSupermarketSpu(@RequestBody SupermarketSpuAppQueryDTO supermarketSpuQueryDTO,@ParameterObject Page page) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(supermarketSpuQueryDTO.getMerchantId() != null, SupermarketSpuEntity::getMerchantId, supermarketSpuQueryDTO.getMerchantId()); - wrapper.eq(StrUtil.isNotBlank(supermarketSpuQueryDTO.getProductCode()), SupermarketSpuEntity::getProductCode, supermarketSpuQueryDTO.getProductCode()); - wrapper.eq(StrUtil.isNotBlank(supermarketSpuQueryDTO.getBarcode()), SupermarketSpuEntity::getBarcode, supermarketSpuQueryDTO.getBarcode()); +// wrapper.eq(StrUtil.isNotBlank(supermarketSpuQueryDTO.getProductCode()), SupermarketSpuEntity::getProductCode, supermarketSpuQueryDTO.getProductCode()); +// wrapper.eq(StrUtil.isNotBlank(supermarketSpuQueryDTO.getBarcode()), SupermarketSpuEntity::getBarcode, supermarketSpuQueryDTO.getBarcode()); wrapper.like(StrUtil.isNotBlank(supermarketSpuQueryDTO.getProductName()), SupermarketSpuEntity::getProductName, supermarketSpuQueryDTO.getProductName()); - List list = supermarketSpuService.list(wrapper); + Page pageDate = supermarketSpuService.page(page, wrapper); + List list = pageDate.getRecords(); List bean = BeanUtils.toBean(list, SupermarketAppSpuVo.class); + pageDate.setRecords(bean); return R.ok(bean); } + /** + * 根据spu id 查询spu详情,详情包括辅助条码和包装单位基本信息 + * @param id + * @return + */ + @Operation(summary = "app获取spu详情" , description = "根据spu的id" ) + @GetMapping("/app/SpuDetails" ) + public R getSupermarketSpuAppDetailById(@RequestParam("id")Long id) { + return R.ok(supermarketSpuService.getSupermarketSpuAppDetailById(id)); + } } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SupermarketSpuService.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SupermarketSpuService.java index 6e5c894f7..9ab9898cd 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SupermarketSpuService.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SupermarketSpuService.java @@ -52,4 +52,12 @@ public interface SupermarketSpuService extends IService { * @return */ Object getSupermarketSpuDetailById(Long id); + + + /** + * app端查询商品详情 + * @param id + * @return + */ + Object getSupermarketSpuAppDetailById(Long id); } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SupermarketSpuServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SupermarketSpuServiceImpl.java index 28ade510a..730fa6b3a 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SupermarketSpuServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SupermarketSpuServiceImpl.java @@ -15,9 +15,10 @@ import com.bsd.pjcloud.supermarket.mapper.SupermarketSpuMapper; import com.bsd.pjcloud.supermarket.service.SupermarketAuxiliaryCodeService; import com.bsd.pjcloud.supermarket.service.SupermarketSpuService; import com.bsd.pjcloud.supermarket.service.SupermarketUnitService; -import com.bsd.pjcloud.supermarket.vo.SupermarketAuxiliaryCodeVo; -import com.bsd.pjcloud.supermarket.vo.SupermarketSpuVo; -import com.bsd.pjcloud.supermarket.vo.SupermarketUnitVo; +import com.bsd.pjcloud.supermarket.vo.*; +import com.bsd.pjcloud.supermarket.vo.app.SupermarketAppSpuDetailsVo; +import com.bsd.pjcloud.supermarket.vo.app.SupermarketAppSpuVo; +import com.bsd.pjcloud.supermarket.vo.app.SupermarketAppUnitVo; import lombok.AllArgsConstructor; import org.apache.commons.collections4.CollectionUtils; import org.springframework.stereotype.Service; @@ -160,4 +161,15 @@ public class SupermarketSpuServiceImpl extends ServiceImpl supermarketUnitEntityList = supermarketUnitService.list(new LambdaQueryWrapper().eq(SupermarketUnitEntity::getSpuId, id)); + List unitEntities = supermarketUnitEntityList.stream().filter(supermarketUnitEntity -> supermarketUnitEntity.getStatus() == 0).collect(Collectors.toList()); + SupermarketAppSpuDetailsVo supermarketAppSpuVo = BeanUtils.toBean(supermarketSpuEntity, SupermarketAppSpuDetailsVo.class); + List supermarketAppUnitVos = BeanUtils.toBean(unitEntities, SupermarketAppUnitVo.class); + supermarketAppSpuVo.setSkuList(supermarketAppUnitVos); + return supermarketAppSpuVo; + } } \ No newline at end of file From d7d73c863b7ed248a837b6199f9a7a2cd890aec7 Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Wed, 8 Jan 2025 12:24:41 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E8=B6=85=E5=B8=82=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../supermarket/controller/SupermarketSpuController.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SupermarketSpuController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SupermarketSpuController.java index 5a7ae4911..e4ae80dca 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SupermarketSpuController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SupermarketSpuController.java @@ -191,7 +191,7 @@ public class SupermarketSpuController { @Operation(summary = "APP根据条件查询分页SPU" , description = "APP条件分页查询" ) @PostMapping("/app/selectListAll" ) @PreAuthorize("@pms.hasPermission('supermarket_supermarketSpu_view')" ) - public R> getSupermarketSpu(@RequestBody SupermarketSpuAppQueryDTO supermarketSpuQueryDTO,@ParameterObject Page page) { + public R getSupermarketSpu(@RequestBody SupermarketSpuAppQueryDTO supermarketSpuQueryDTO,@ParameterObject Page page) { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.eq(supermarketSpuQueryDTO.getMerchantId() != null, SupermarketSpuEntity::getMerchantId, supermarketSpuQueryDTO.getMerchantId()); // wrapper.eq(StrUtil.isNotBlank(supermarketSpuQueryDTO.getProductCode()), SupermarketSpuEntity::getProductCode, supermarketSpuQueryDTO.getProductCode()); @@ -201,7 +201,7 @@ public class SupermarketSpuController { List list = pageDate.getRecords(); List bean = BeanUtils.toBean(list, SupermarketAppSpuVo.class); pageDate.setRecords(bean); - return R.ok(bean); + return R.ok(pageDate); } /**