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 index a14742855..e3430e109 100644 --- 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 @@ -2,33 +2,27 @@ package com.bsd.pjcloud.supermarket.vo; import com.baomidou.mybatisplus.annotation.*; +import com.bsd.pjcloud.supermarket.entity.SmErpAuxiliaryCodeEntity; +import com.bsd.pjcloud.supermarket.entity.SmErpUnitEntity; +import com.bsd.pjcloud.supermarket.vo.sm.smspu.app.SmErpUnitAppVo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; +import java.math.BigDecimal; import java.time.LocalDateTime; import java.util.List; /** - * 在线商城 商品数据 + * app在线商城 商品列表数据 */ @Data public class OnlineShopVo { - private Long categoryId; - private String categoryName; - - private List smSpuVos; - - @Data - class SmSpuVo { - /** - * 线上SPU 编号,自增 - */ - @Schema(description="线上SPU 编号,自增") - private Long id; + @Schema(description="线上SPU 编号,自增") + private Long id; /** * 库存商品id @@ -50,19 +44,6 @@ public class OnlineShopVo { @Schema(description="商品轮播图地址") private String sliderPicUrls; - /** - * 排序字段 - */ - @Schema(description="排序字段") - private Integer sort; - - - - /** - * 部门id - */ - @Schema(description="部门id") - private Long deptId; /** * 销量 @@ -70,7 +51,68 @@ public class OnlineShopVo { @Schema(description="销量") private Integer salesCount; - } + + + /** + * 货号 + */ + @Schema(description="货号") + private String productCode; + + /** + * 自编码/条码 + */ + @Schema(description="自编码/条码") + private String barcode; + + /** + * 商品名称 + */ + @Schema(description="商品名称") + private String productName; + + + /** + * 商品简介 + */ + @Schema(description="商品简介") + private String introduction; + + + /** + * 商品封面图 + */ + @Schema(description="商品封面图") + private String picUrl; + + + /** + * 库存 + */ + @Schema(description="库存") + private Double stock; + + + /** + * 商品性质(字典) + */ + @Schema(description="商品性质(字典)") + private String productNature; + + + /** + * 货商id + */ + @Schema(description="货商id") + private Long supplierName; + + + + + @Schema(description = "包装对象集合对象") + private List smErpUnitEntityList; + + } diff --git a/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/sm/smspu/app/SmErpUnitAppVo.java b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/sm/smspu/app/SmErpUnitAppVo.java new file mode 100644 index 000000000..a084ec00c --- /dev/null +++ b/pjcloud-supermarket/pjcloud-supermarket-api/src/main/java/com/bsd/pjcloud/supermarket/vo/sm/smspu/app/SmErpUnitAppVo.java @@ -0,0 +1,74 @@ +package com.bsd.pjcloud.supermarket.vo.sm.smspu.app; + + +import com.baomidou.mybatisplus.annotation.*; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; + +import java.time.LocalDateTime; + +@Data +@Schema(description = "移动端商品列表包装对象vo") +public class SmErpUnitAppVo { + /** + * 包装单位id + */ + @Schema(description="包装单位id") + private Long id; + + /** + * 条码 + */ + @Schema(description="条码") + private String barCode; + + /** + * 规格 + */ + @Schema(description="规格") + private String spec; + + /** + * 单位 + */ + @Schema(description="单位") + private String unit; + + /** + * 状态(0正常,1停销) + */ + @Schema(description="状态(0正常,1停销)") + private Integer status; + + /** + * 内装数量 + */ + @Schema(description="内装数量") + private Integer packageNum; + + /** + * 零售价/单位分 + */ + @Schema(description="零售价/单位分") + private Integer retailPrice; + + /** + * spuID + */ + @Schema(description="spuID") + private Long spuId; + + /** + * 促销价 + */ + @Schema(description="促销价") + private Integer promotionPrice; + + + + + + + @Schema(description = "是否是基础库存,默认0否,1是") + private Boolean isBase; +} 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 7e94aeb7f..02826db54 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 @@ -4,6 +4,7 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.core.constant.enums.MerchantTypeEnum; @@ -160,31 +161,48 @@ public class SmSpuController { */ @Operation(summary = "APP在线商城数据查询",description = "通过商户id获取该商户下的在线商品数据") @GetMapping("/app/onlineShopList") - public R> getOnlineShopList(@RequestParam("merchantId")Long merchantId) { + public R> getOnlineShopList(@RequestParam("categoryId")Long categoryId,@ParameterObject Page page) { - List list=smSpuService.getOnlineShopList(merchantId); + IPage onlineShopList = smSpuService.getOnlineShopList(categoryId, page); - return R.ok(); + return R.ok(onlineShopList); } /** - * 获取商户下所有的在线商品,并且获取分类 + * 获取商户下所有获取分类 * @return */ - @Operation(summary = "APP在线商城数据查询",description = "通过商户id获取该商户下的在线商品数据") + @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(); +// 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); + LambdaQueryWrapper eq = new LambdaQueryWrapper() + .eq(SmSpuEntity::getMerchantId, merchantId) + //上架数据 0 + .eq(SmSpuEntity::getStatus, "0"); + List list = smSpuService.list(eq); + List erpSpuIds = list.stream().map(smSpuEntity -> smSpuEntity.getErpSpuId()).collect(Collectors.toList()); - List categoryEntities = smErpCategoryService.list(Wrappers.lambdaQuery().eq(SmErpCategoryEntity::getDeptId, deptId)); + LambdaQueryWrapper smErpSpuEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); + smErpSpuEntityLambdaQueryWrapper.in(SmErpSpuEntity::getId, erpSpuIds); + List erpSpuEntities = smErpSpuService.list(smErpSpuEntityLambdaQueryWrapper); + + List categoryIds= erpSpuEntities.stream().map(smErpSpuEntity -> smErpSpuEntity.getCategoryId()).collect(Collectors.toList()); + + LambdaQueryWrapper smErpCategoryEntityLambdaQueryWrapper = new LambdaQueryWrapper<>(); + smErpCategoryEntityLambdaQueryWrapper.in(SmErpCategoryEntity::getId, categoryIds); + List categoryEntities = smErpCategoryService.list(smErpCategoryEntityLambdaQueryWrapper); List bean = BeanUtils.toBean(categoryEntities, SmErpCategorySimpleVo.class); return R.ok(bean); } diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmSpuMapper.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmSpuMapper.java index b40f9faf1..c9d4fa95b 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmSpuMapper.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/mapper/SmSpuMapper.java @@ -7,11 +7,14 @@ import com.bsd.pjcloud.common.data.datascope.DataScope; import com.bsd.pjcloud.common.data.datascope.PjcloudBaseMapper; import com.bsd.pjcloud.supermarket.dto.SupermarketSpuAppQueryDTO; import com.bsd.pjcloud.supermarket.entity.SmSpuEntity; +import com.bsd.pjcloud.supermarket.vo.OnlineShopVo; import com.bsd.pjcloud.supermarket.vo.app.SupermarketAppSpuVo; import com.bsd.pjcloud.supermarket.vo.sm.smspu.SmErpPageScopeVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; + @Mapper public interface SmSpuMapper extends PjcloudBaseMapper { @@ -33,4 +36,13 @@ public interface SmSpuMapper extends PjcloudBaseMapper { * @return */ IPage getAppPage(Page page, @Param("supermarketSpuQueryDTO")SupermarketSpuAppQueryDTO supermarketSpuQueryDTO); + + + /** + * 移动端分页获取线上商品数据 + * @param categoryId + * @param page + * @return + */ + IPage getOnlineShopList(@Param("categoryId") Long categoryId, Page page); } \ 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 5428084a4..7b0d5da1d 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 @@ -1,10 +1,12 @@ package com.bsd.pjcloud.supermarket.service; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.bsd.pjcloud.supermarket.dto.SupermarketSpuAppQueryDTO; import com.bsd.pjcloud.supermarket.entity.SmSpuEntity; +import com.bsd.pjcloud.supermarket.vo.OnlineShopVo; import com.bsd.pjcloud.supermarket.vo.app.SupermarketAppSpuVo; import java.util.List; @@ -20,9 +22,9 @@ public interface SmSpuService extends IService { Object getAppPage(Page page, SupermarketSpuAppQueryDTO supermarketSpuQueryDTO); /** - * 查询该商户下的所有在线商品数据 - * @param merchantId + * 查询该分类下的所有在线商品数据 + * @param categoryId * @return */ - List getOnlineShopList(Long merchantId); + IPage getOnlineShopList(Long categoryId, Page page); } \ No newline at end of file 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 cb3ac10e4..c0673d5a1 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 @@ -13,6 +13,7 @@ import com.bsd.pjcloud.supermarket.mapper.SmErpSpuMapper; import com.bsd.pjcloud.supermarket.mapper.SmErpUnitMapper; import com.bsd.pjcloud.supermarket.mapper.SmSpuMapper; import com.bsd.pjcloud.supermarket.service.SmSpuService; +import com.bsd.pjcloud.supermarket.vo.OnlineShopVo; import com.bsd.pjcloud.supermarket.vo.app.SupermarketAppSpuVo; import com.bsd.pjcloud.supermarket.vo.sm.smspu.SmErpPageScopeVo; import com.bsd.pjcloud.wallet.api.feign.RemoteMchService; @@ -50,14 +51,9 @@ public class SmSpuServiceImpl extends ServiceImpl impl } @Override - public List getOnlineShopList(Long merchantId) { - LambdaQueryWrapper eq = new LambdaQueryWrapper() - .eq(SmSpuEntity::getMerchantId, merchantId) - //上架数据 0 - .eq(SmSpuEntity::getStatus, "0"); - List list = baseMapper.selectList(eq); + public IPage getOnlineShopList(Long categoryId, Page page) { - List erpSpuIds= list.stream().map(smSpuEntity -> smSpuEntity.getErpSpuId()).collect(Collectors.toList()); + IPage list = baseMapper.getOnlineShopList(categoryId,page); return list; } diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmSpuMapper.xml b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmSpuMapper.xml index e7ef6604f..8c3204bdb 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmSpuMapper.xml +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmSpuMapper.xml @@ -53,4 +53,16 @@ + \ No newline at end of file