From cb0dfd7b24144b6cc77fd468f672d0dba4a8a28f Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Wed, 11 Jun 2025 16:35:53 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B6=85=E5=B8=82=E5=9C=A8=E7=BA=BF=E5=95=86?= =?UTF-8?q?=E5=9F=8E-1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pjcloud/supermarket/vo/OnlineShopVo.java | 76 +++++++++++++++++++ .../controller/SmSpuController.java | 43 +++++++++++ .../supermarket/service/SmSpuService.java | 7 ++ .../service/impl/SmErpSpuServiceImpl.java | 2 +- .../service/impl/SmSpuServiceImpl.java | 13 ++++ 5 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/OnlineShopVo.java diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/OnlineShopVo.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/OnlineShopVo.java new file mode 100644 index 000000000..a14742855 --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/OnlineShopVo.java @@ -0,0 +1,76 @@ +package com.bsd.pjcloud.supermarket.vo; + + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; +import java.util.List; + + +/** + * 在线商城 商品数据 + */ +@Data +public class OnlineShopVo { + + + private Long categoryId; + + private String categoryName; + + private List smSpuVos; + + @Data + class SmSpuVo { + /** + * 线上SPU 编号,自增 + */ + @Schema(description="线上SPU 编号,自增") + private Long id; + + /** + * 库存商品id + */ + @Schema(description="库存商品id") + private Long erpSpuId; + + /** + * 商品详情 + */ + @Schema(description="商品详情") + private String description; + + /** + * 商品轮播图地址 + 数组,以逗号分隔 + 最多上传15张 + */ + @Schema(description="商品轮播图地址") + private String sliderPicUrls; + + /** + * 排序字段 + */ + @Schema(description="排序字段") + private Integer sort; + + + + /** + * 部门id + */ + @Schema(description="部门id") + private Long deptId; + + /** + * 销量 + */ + @Schema(description="销量") + private Integer salesCount; + + } + + +} diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmSpuController.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmSpuController.java index f8d3103c8..7e94aeb7f 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmSpuController.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/controller/SmSpuController.java @@ -11,11 +11,15 @@ 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.entity.SmErpCategoryEntity; import com.bsd.pjcloud.supermarket.entity.SmErpSpuEntity; import com.bsd.pjcloud.supermarket.entity.SmSpuEntity; import com.bsd.pjcloud.supermarket.mapper.SmErpSpuMapper; +import com.bsd.pjcloud.supermarket.service.SmErpCategoryService; import com.bsd.pjcloud.supermarket.service.SmErpSpuService; import com.bsd.pjcloud.supermarket.service.SmSpuService; +import com.bsd.pjcloud.supermarket.vo.OnlineShopVo; +import com.bsd.pjcloud.supermarket.vo.erp.SmErpCategorySimpleVo; import com.bsd.pjcloud.supermarket.vo.sm.smspu.SmSpuEditVo; import com.bsd.pjcloud.wallet.api.feign.RemoteMchService; import com.bsd.pjcloud.wallet.api.vo.MchManageVo; @@ -31,6 +35,7 @@ import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Objects; +import java.util.stream.Collectors; /** * 线上超市 @@ -50,6 +55,10 @@ public class SmSpuController { private final SmErpSpuService smErpSpuService; private final RemoteMchService remoteMchService; + + private final SmErpCategoryService smErpCategoryService; + + /** * 分页查询 * @param page 分页对象 @@ -145,5 +154,39 @@ public class SmSpuController { + /** + * 获取商户下所有的在线商品,并且获取分类 + * @return + */ + @Operation(summary = "APP在线商城数据查询",description = "通过商户id获取该商户下的在线商品数据") + @GetMapping("/app/onlineShopList") + public R> getOnlineShopList(@RequestParam("merchantId")Long merchantId) { + + List list=smSpuService.getOnlineShopList(merchantId); + + return R.ok(); + } + + + + /** + * 获取商户下所有的在线商品,并且获取分类 + * @return + */ + @Operation(summary = "APP在线商城数据查询",description = "通过商户id获取该商户下的在线商品数据") + @GetMapping("/app/onlineCategoryList") + public R> getOnlineCategoryList(@RequestParam("merchantId")Long merchantId) { + + R byId = remoteMchService.getById(merchantId); + MchManageVo data = byId.getData(); + if (Objects.isNull(data)){ + return R.failed("商户不存在"); + } + Long deptId = data.getDeptId(); + + List categoryEntities = smErpCategoryService.list(Wrappers.lambdaQuery().eq(SmErpCategoryEntity::getDeptId, deptId)); + List bean = BeanUtils.toBean(categoryEntities, SmErpCategorySimpleVo.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/SmSpuService.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmSpuService.java index 8accd737d..5428084a4 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmSpuService.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/SmSpuService.java @@ -18,4 +18,11 @@ public interface SmSpuService extends IService { Object getAppPage(Page page, SupermarketSpuAppQueryDTO supermarketSpuQueryDTO); + + /** + * 查询该商户下的所有在线商品数据 + * @param merchantId + * @return + */ + List getOnlineShopList(Long merchantId); } \ No newline at end of file diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java index 82231c9ba..cdadbe179 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java @@ -558,7 +558,7 @@ public class SmErpSpuServiceImpl extends ServiceImpl duplicateRows = importProductCodeMap.get(productCode); if (duplicateRows.size() > 1) { diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmSpuServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmSpuServiceImpl.java index 6ee833b76..cb3ac10e4 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmSpuServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmSpuServiceImpl.java @@ -48,4 +48,17 @@ public class SmSpuServiceImpl extends ServiceImpl impl IPage appPage=baseMapper.getAppPage(page,supermarketSpuQueryDTO); return appPage; } + + @Override + public List getOnlineShopList(Long merchantId) { + LambdaQueryWrapper eq = new LambdaQueryWrapper() + .eq(SmSpuEntity::getMerchantId, merchantId) + //上架数据 0 + .eq(SmSpuEntity::getStatus, "0"); + List list = baseMapper.selectList(eq); + + List erpSpuIds= list.stream().map(smSpuEntity -> smSpuEntity.getErpSpuId()).collect(Collectors.toList()); + + return list; + } } \ No newline at end of file