尚品汇-(八)

(1)spu相关业务介绍

销售属性

销售属性,就是商品详情页右边,可以通过销售属性来定位一组spu下的哪款sku。可以让当前的商品详情页,跳转到自己的“兄弟”商品。

     一般每种商品的销售属性不会太多,大约1-4种。整个电商的销售属性种类也不会太多,大概10种以内。比如:颜色、尺寸、版本、套装等等。不同销售属性的组合也就构成了一个spu下多个sku的结构。

因此,在制作spu之前要先确定当前商品有哪些销售属性!

spu数据结构图

(2)列表查询功能开发

当选择最后一个时:会发送请求

 

查询的是单个表:

实体类:SkuInfo 

package com.atguigu.gmall.model.product;import com.atguigu.gmall.model.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;import java.math.BigDecimal;
import java.util.List;/*** <p>* SkuInfo* </p>**/
@Data
@ApiModel(description = "SkuInfo")
@TableName("sku_info")
public class SkuInfo extends BaseEntity {public SkuInfo(){}public SkuInfo(Long skuId){setId(skuId);}//	判断去重的话,自动调用equals 方法。public boolean equals(SkuInfo skuInfo){return getId().equals(skuInfo.getId());}private static final long serialVersionUID = 1L;@ApiModelProperty(value = "商品id")@TableField("spu_id")private Long spuId;@ApiModelProperty(value = "价格")@TableField("price")private BigDecimal price;@ApiModelProperty(value = "sku名称")@TableField("sku_name")private String skuName;@ApiModelProperty(value = "商品规格描述")@TableField("sku_desc")private String skuDesc;@ApiModelProperty(value = "重量")@TableField("weight")private String weight;@ApiModelProperty(value = "品牌(冗余)")@TableField("tm_id")private Long tmId;@ApiModelProperty(value = "三级分类id(冗余)")@TableField("category3_id")private Long category3Id;@ApiModelProperty(value = "默认显示图片(冗余)")@TableField("sku_default_img")private String skuDefaultImg;@ApiModelProperty(value = "是否销售(1:是 0:否)")@TableField("is_sale")private Integer isSale;@TableField(exist = false)List<SkuImage> skuImageList;@TableField(exist = false)List<SkuAttrValue> skuAttrValueList;@TableField(exist = false)List<SkuSaleAttrValue> skuSaleAttrValueList;
}

 

创建mapper:SpuInfoMapper 

@Mapper
public interface SpuInfoMapper extends BaseMapper<SpuInfo> {}

继续再ManageService添加

/*** spu分页查询* @param pageParam* @param spuInfo* @return*/
IPage<SpuInfo> getSpuInfoPage(Page<SpuInfo> pageParam, SpuInfo spuInfo);

实现类 ManageServiceImpl

@Autowired
private SpuInfoMapper spuInfoMapper;@Override
public IPage<SpuInfo> getSpuInfoPage(Page<SpuInfo> pageParam, SpuInfo spuInfo) {QueryWrapper<SpuInfo> queryWrapper = new QueryWrapper<>();queryWrapper.eq("category3_id", spuInfo.getCategory3Id());queryWrapper.orderByDesc("id");return spuInfoMapper.selectPage(pageParam, queryWrapper);
}

创建控制器SpuManageController

@RestController // @ResponseBody + @Controller
@RequestMapping("admin/product")
public class SpuManageController {@Autowiredprivate ManageService manageService;// 根据查询条件封装控制器// springMVC 的时候,有个叫对象属性传值 如果页面提交过来的参数与实体类的参数一致,// 则可以使用实体类来接收数据// http://api.gmall.com/admin/product/1/10?category3Id=61// @RequestBody 作用 将前台传递过来的json{"category3Id":"61"}  字符串变为java 对象。@GetMapping("{page}/{size}")public Result getSpuInfoPage(@PathVariable Long page,@PathVariable Long size,SpuInfo spuInfo){// 创建一个Page 对象Page<SpuInfo> spuInfoPage = new Page<>(page,size);// 获取数据IPage<SpuInfo> spuInfoPageList = manageService.getSpuInfoPage(spuInfoPage, spuInfo);// 将获取到的数据返回即可!return Result.ok(spuInfoPageList);}
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/37462.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

background 与 background-image

相同点&#xff1a;background 与 background-image都可以用于设置背景图 区别. background既可以用于设置背景图&#xff0c; 又可以用于设置CSS样式&#xff0c;还可以用于设置背景属性。 background-image只能用于设置背景图 background能设置的背景属性&#xff0c;如下&…

恢复机制-数据库系统中的故障(事务故障、系统故障、介质故障)、一致性错误、窃取但不强制的缓冲区管理策略

一、引言 数据库管理系统DBMS的事务处理技术实现的一个主要功能部分就是恢复机制&#xff0c;恢复机制完成的功能就是对发生故障后系统中事务的更新结果进行数据恢复&#xff0c;保证事务的原子性和持久性&#xff0c;从而进一步保证数据库的一致性。 数据库系统与其他计算机系…

Win11 搭建 Java 开发环境(JDK)

Win11 搭建 Java 开发环境(JDK) 前言步骤1、下载 JDK2、安装 JDK3、配置环境变量(我设置的顺序可不是随便的哟~)3-1、设置 JAVA_HOME_11和 JAVA_HOME3-2、设置 PATH3-3、设置 CLASS_HOME备注1、可以不必再手动配置 CLASSPATH2、恢复 jre 文件夹(有没有 jre 文件夹其实不影…

昇思25天学习打卡营第2天|数据集Dataset

学习目标&#xff1a;熟练掌握mindspore.dataset mindspore.dataset中有常用的视觉、文本、音频开源数据集供下载&#xff0c;点赞、关注收藏哦 了解mindspore.dataset mindspore.dataset应用实践 拓展自定义数据集 昇思平台学习时间记录: 一、关于mindspore.dataset minds…

在HBuilder X中ElementUI框架的搭建

前言 本文将详解基于Vue-cli脚手架搭建的项目如何使用ElementUI &#xff1f;所以在学习本篇文章内容之前建议先学习vue-cli脚手架项目的搭建和学习 使用HbuilderX快速搭建vue-cil项目https://mp.csdn.net/mp_blog/creation/editor/140043776 ElementUI框架: Element&#xff…

【Java】解决Java报错:UnsupportedOperationException in Collections

文章目录 引言一、UnsupportedOperationException的定义与概述1. 什么是UnsupportedOperationException&#xff1f;2. UnsupportedOperationException的常见触发场景3. 示例代码 二、解决方案1. 使用适当的集合类型2. 创建可变副本3. 使用合适的集合工厂方法4. 使用不可变集合…

帮助某企业分析人才流失问题(附方案)

网游公司如何留住人才&#xff1f;某大型网游公司在如何留住人才方面存在一些问题&#xff0c;人才流失严重&#xff0c;人才流失也给企业带来了不小的打击&#xff0c;对该网游公司的发展造成了严重影响&#xff0c;在日益激励的人才争夺战中&#xff0c;如何保留优秀人才一直…

GPT-4o技术粗粗粗解

GPT-4o是一个非常优秀的多模态大模型。它的输入是语音、文字、图像/视频。输出自然有语音、文字、图像。如果说它像一个人的能力&#xff0c;那还真的差不多了。可能离AGI就不远了吧&#xff01;在现有的AI能力路上&#xff0c;SamAltman那句逆言的忠耳一定要听&#xff1a;不要…

ElementUI搭建使用过程

1.ElementUI概述 Element&#xff0c;一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库&#xff0c;相当于是css的框架 2.安装ElementUI 第一步&#xff1a;创建一个vue-cil项目 &#xff01;&#xff01;&#xff01;&#xff08;上篇文章已详细讲述搭建过…

游戏AI的创造思路-技术基础-深度学习(7)TF

重头戏TF&#xff0c;汽车人&#xff0c;变形~~~~ 现在广泛应用的GPT中&#xff0c;数据处理的关键点就是Transformer算法&#xff0c;多次多层的映射“变形”造就了其对自然语言处理能力的提升&#xff0c;但本篇介绍的内容中&#xff0c;Transformer算法是用来构建游戏AI的“…

昇思25天学习打卡营第5天 | 神经网络构建

1. 神经网络构建 神经网络模型是由神经网络层和Tensor操作构成的&#xff0c;mindspore.nn提供了常见神经网络层的实现&#xff0c;在MindSpore中&#xff0c;Cell类是构建所有网络的基类&#xff0c;也是网络的基本单元。一个神经网络模型表示为一个Cell&#xff0c;它由不同…

Quantlab5.0:一切围绕可实盘策略驱动开发

原创文章第573篇&#xff0c;专注“AI量化投资、世界运行的规律、个人成长与财富自由"。 2024年上半年即将结束&#xff0c;开始准备星球下半年的工作。 目前设想的——Quantlab5.0&#xff0c;之所以升级一个大版本&#xff0c;与4.x有很大不同。 5.0专注策略开发&…

Python28-2 机器学习算法之SVM(支持向量机)

SVM&#xff08;支持向量机&#xff09; 支持向量机&#xff08;Support Vector Machine&#xff0c;SVM&#xff09;是一种用于分类和回归分析的监督学习模型&#xff0c;在机器学习领域中被广泛应用。SVM的目标是找到一个最佳的分割超平面&#xff0c;将不同类别的数据分开&…

【Vue】Vue.js中常见的几种语法

在 Vue.js 中&#xff0c;主要的语法可以分为以下几种&#xff1a; 插值语法 (Interpolation) 使用双大括号 {{ }} 进行文本插值。 示例&#xff1a; {{ message }} 指令语法 (Directives) 指令是特殊的标记&#xff0c;用于告诉Vue框架如何操作DOM。Vue提供了多种内置指…

【最新鸿蒙应用开发】——鸿蒙国际化

1. 国际化 鸿蒙应用开发的国际化主要是指让应用支持多种语言和适应不同地区的用户习惯。这包括对不同语言环境的支持&#xff0c;如文本和布局的本地化设置。要实现国际化&#xff0c;开发者需要准备应用程序支持的每种语言环境的一些资源&#xff0c;比如翻译后的文本、特定区…

理解论文笔记:基于贝叶斯网络和最大期望算法的可维护性研究

看了与上一篇研究方向一致的文章&#xff0c;上一篇19年的&#xff0c;这一篇22年的更新。若有侵权&#xff0c;请联系删除。 I. INTRODUCTION 介绍 主要介绍了使用贝叶斯网络和历史数据对无线传感器网络可维护性研究的重要性和必要性&#xff0c;并对下面的各章进行了…

【高性能服务器】单进程服务器

&#x1f525;博客主页&#xff1a; 我要成为C领域大神&#x1f3a5;系列专栏&#xff1a;【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 本博客致力于知识分享&#xff0c;与更多的人进行学习交流 ​ 单进程服务器 …

认识100种电路之稳压电路

在电子电路中&#xff0c;稳压电路扮演着至关重要的角色。那么&#xff0c;为什么电路需要稳压&#xff1f;稳压的原理又是什么&#xff1f;以及稳压需要用到哪些元器件&#xff0c;数量又有多少呢&#xff1f;今天&#xff0c;就让我们一同揭开稳压电路的神秘面纱。 【电路为什…

Apple Final Cut Pro 10.8 - 专业后期制作 (视频编辑)

Apple Final Cut Pro 10.8 - 专业后期制作 (视频编辑) Final Cut Pro 10.8 Compressor 4.8 Motion 5.8 (Universal) 请访问原文链接&#xff1a;https://sysin.org/blog/apple-final-cut-pro/&#xff0c;查看最新版。原创作品&#xff0c;转载请保留出处。 作者主页&…

供应商关系管理(SRM)中的供应商绩效评估

供应商绩效评估是供应商关系管理&#xff08;SRM&#xff09;的核心组成部分&#xff0c;它涉及到对供应商在合作过程中的表现进行全面的分析和评价。一个有效的供应商绩效评估系统不仅可以帮助企业识别和解决供应链中的潜在问题&#xff0c;还可以促进供应商的持续改进和优化&…