【汽车配件管理系统-管理员-配件管理模块】配件管理分类

news/2024/12/29 1:58:40/

文章目录

  • 1.左侧菜单查询
      • 1.1 数据库设计
      • 1.2 pojo层
      • 1.3 Mapper接口
      • 1.4 Mapper.xml
      • 1.5 ServiceImpl层
      • 1.6 Controller层
  • 2.显示
      • 2.0 数据库
      • 2.1 前端页面分析
          • 2.1.1 生命周期函数
          • 2.1.2 获取数据函数
      • 2.2 接口文档
      • 2.3 实现
          • 2.3.1 Controller层
          • 2.3.2 Service层
          • 2.3.3 ServiceImpl层
          • 2.3.4 pojo层
  • 3.删除
      • 3.1 前端页面分析
      • 3.2 接口文档
      • 4.3 实现
          • 4.3.1 Controller层
          • 4.3.2 ServiceImpl层
  • 4.修改
      • 4.1 前端页面分析
      • 4.2 接口文档
      • 4.3 实现
          • 4.3.1 Controller层
          • 4.3.2 ServiceImpl层

1.左侧菜单查询

1.1 数据库设计

在这里插入图片描述

1.2 pojo层

package com.ap.pojo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;import java.util.List;@Data
@Accessors(chain = true)
@TableName("car")
public class Car extends BasePojo{@TableId(type = IdType.AUTO)//主键自增private Integer id;private String name;private Integer parentId;private String path;private Integer level;private String path1;private Boolean status;private String no1;private String no2;private String no3;@TableField(exist = false)     //属性不是表字段private List<Shop> children; //不是表格固有属性
}

1.3 Mapper接口

package com.ap.mapper;import com.ap.pojo.Car;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;import java.util.List;public interface CarMapper extends BaseMapper<Car> {List<Car> getShopList();
}

1.4 Mapper.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapperPUBLIC "-//mybatis.org//DTD Mapper 3.0//EN""http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.ap.mapper.CarMapper"><select id="getShopList" resultMap="rightsRM">SELECT  p.id,p.name,p.parent_id,p.path,p.level,p.created,p.updated,p.path1,c.id c_id,c.name c_name,c.parent_id c_parent_id,c.path c_path,c.level c_level,c.created c_created,c.updated c_updated,c.path1 c_path1	 FROM(SELECT * FROM car WHERE parent_id = 0)pLEFT JOINcar cONp.id = c.parent_id</select><!--完成左侧菜单列表的数据封装 1-2级--><resultMap id="rightsRM" type="Car" autoMapping="true"><id property="id" column="id"></id><!--封装一对多数据--><collection property="children" ofType="Car"><id property="id" column="c_id"/><result property="name" column="c_name"/><result property="parentId" column="c_parent_id"/><result property="path" column="c_path"/><result property="level" column="c_level"/><result property="created" column="c_created"/><result property="updated" column="c_updated"/><result property="path1" column="c_path1"/></collection></resultMap>
</mapper>

1.5 ServiceImpl层

package com.ap.service;import com.ap.mapper.CarMapper;
import com.ap.pojo.Car;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.List;@Service
public class CarServiceImpl implements CarService{@Autowiredprivate CarMapper carMapper;@Overridepublic List<Car> getShopList() {return carMapper.getShopList();}
}

1.6 Controller层

package com.ap.controller;import com.ap.pojo.Car;
import com.ap.service.CarService;
import com.ap.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.List;@RestController
@CrossOrigin
@RequestMapping("car")
public class CarController {@Autowiredprivate CarService carService;@GetMapping("/getShopList")public SysResult getShopList(){List<Car> car=carService.getShopList();return SysResult.success(car);}
}

2.显示

2.0 数据库

在这里插入图片描述

2.1 前端页面分析

2.1.1 生命周期函数
updated() {if(this.i !== this.queryItemInfo.id){this.queryItemInfo.id = this.ithis.getItemList()}},
2.1.2 获取数据函数
//实现商品信息分页查询//2.调用this.getItemList()async getItemList() {const {data: result} = await this.$http.get("/car/getItemList", {params: this.queryItemInfo  //将分页对象传给后台})if (result.status !== 200) return this.$message.error("商品列表查询失败")this.itemList = result.data.rows //获取商品列表信息,将其传给itemListthis.total = result.data.total   //获取商品列表中数据的总数},

2.2 接口文档

  • 请求路径:/car/getItemList?query=&pageNum=1&pageSize=10
  • 请求类型:Get
  • 请求参数:使用pageResult对象接收
参数名称参数说明备注信息
query用户查询的数据可为null
pageNum分页查询的页数不能为null
pageSize分页查询的条数不能为null
  • 业务说明:查询三级分类菜单数据,要求三层嵌套结构
  • 返回值:SysResult对象
参数名称参数说明备注信息
status状态信息200表示服务器请求成功,201表示服务器异常
msg服务器返回的提示信息能为null
data服务器返回的业务权限3级商品分类信息

2.3 实现

2.3.1 Controller层
package com.ap.controller;import com.ap.pojo.ItemCopy;
import com.ap.service.ItemCopyService;
import com.ap.vo.PageResult;
import com.ap.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/*汽车具体数据*/
@RestController
@CrossOrigin
@RequestMapping("/car/")
public class ItemCopyController {@Autowiredprivate ItemCopyService itemCopyService;/*** 请求路径:/car/getItemList?query=&pageNum=1&pageSize=10* 请求类型:Get* 请求参数:使用pageResult对象接收*/@GetMapping("/getItemList")public SysResult getItemList(PageResult pageResult){pageResult=itemCopyService.getItemList(pageResult);return SysResult.success(pageResult);}}
2.3.2 Service层
package com.ap.service;import com.ap.vo.PageResult;public interface ItemCopyService {PageResult getItemList(PageResult pageResult);
}
2.3.3 ServiceImpl层
package com.ap.service;import com.ap.mapper.ItemCopyMapper;
import com.ap.pojo.Item;
import com.ap.pojo.ItemCopy;
import com.ap.vo.PageResult;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;import java.util.List;@Service
public class ItemCopyServiceImpl implements ItemCopyService{@Autowiredprivate ItemCopyMapper itemCopyMapper;/*** 要求:3+2(总记录数,分页结果)* 参数1:page MP提供的分页对象* 参数2:条件构造器*/@Overridepublic PageResult getItemList(PageResult pageResult) {//1.构建分页对象,参数1:第几页,参数2:多少条Page<ItemCopy> page=new Page<>(pageResult.getPageNum(),pageResult.getPageSize());//2.准备条件构造器QueryWrapper<ItemCopy> queryWrapper = new QueryWrapper();String query=pageResult.getQuery();boolean flag = StringUtils.hasLength(query);queryWrapper.eq("item_cat_id", pageResult.getId());queryWrapper.like(flag,"title",query);//3.根据MP查询 实现分页数据的自动封装page=itemCopyMapper.selectPage(page, queryWrapper);//4.获取数据,返回分页对象long total = page.getTotal();//获取分页结果List<ItemCopy> rows = page.getRecords();return pageResult.setTotal(total).setRows(rows);}}
2.3.4 pojo层
package com.ap.pojo;import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;@Data
@Accessors(chain = true)
@TableName("item_copy")
public class ItemCopy extends BasePojo{@TableId(type = IdType.AUTO)private Integer id;         //商品Id号private String title;       //商品标题信息private String sellPoint;   //卖点信息private Integer price;      //商品价格private Integer pricerow;      //商品原价private Integer num;        //商品数量private String images;       //商品图片private Integer itemCatId;  //商品分类ID号private Boolean status;     //状态信息    0 下架 1 上架private Boolean display;private String title2;private String title3;private String images2;       //商品图片private String images3;       //商品图片
}

3.删除

3.1 前端页面分析

       async deleteItemBtn(item) {//消息确认框this.$confirm('此操作将永久删除该文件, 是否继续?', '提示', {confirmButtonText: '确定',cancelButtonText: '取消',type: 'warning'}).then(async () => {//根据id删除数据const {data: result} = await this.$http.delete("/car/deleteItemById", {params: {id: item.id}})if (result.status !== 200) return this.$message.error("商品删除失败")this.$message.success("商品删除成功")//重新获取商品列表信息this.getItemList()}).catch(() => {this.$message({type: 'info',message: '已取消删除'});});},

3.2 接口文档

  • 请求路径:/shop/deleteItemCat

  • 请求类型:DELETE

  • 请求参数:id

4.3 实现

4.3.1 Controller层
    /*** 请求路径:/car/deleteItemById* 请求类型:DELETE* 请求参数:用户ID*/@DeleteMapping("/deleteItemById")public SysResult deleteItemById(Integer id){itemCopyService.deleteItemById(id);return SysResult.success();}
4.3.2 ServiceImpl层
@Overridepublic void deleteItemById(Integer id) {itemCopyMapper.deleteById(id);}

4.修改

4.1 前端页面分析

//修改商品分类信息async updateItem(){let item= {}item.id=this.updateUserModel.iditem.title=this.updateUserModel.titleitem.title2=this.updateUserModel.title2item.title3=this.updateUserModel.title3item.sellPoint=this.updateUserModel.sellPointitem.price=this.updateUserModel.priceitem.pricerow=this.updateUserModel.pricerowitem.num=this.updateUserModel.numitem.images=this.updateUserModel.imagesitem.images2=this.updateUserModel.images2item.images3=this.updateUserModel.images3const {data: result} = await this.$http.put('/car/updateItem', item)if (result.status !== 200) return this.$message.error("更新商品失败")this.$message.success("更新商品成功")this.updateDialogVisible = falsethis.getItemList()}

4.2 接口文档

  • 请求路径:/car/updateItemCat
  • 请求类型:PUT
  • 请求参数:表单数据对象
  • 返回值:SysResult对象
参数名称参数说明备注信息
status状态信息200表示服务器请求成功,201表示服务器异常
msg服务器返回的提示信息能为null
data服务器返回的业务权限3级商品分类信息

4.3 实现

4.3.1 Controller层
/*** 请求路径:/yingliangbang1/updateItem* 需求:修改商品信息* 请求类型:PUT* 返回值:SysResult对象*/@PutMapping("/updateItem")public SysResult updateItem(@RequestBody ItemCopy itemCopy){itemCopyService.updateItem(itemCopy);return SysResult.success();}
4.3.2 ServiceImpl层
@Overridepublic void updateItem(ItemCopy itemCopy) {itemCopyMapper.updateById(itemCopy);}

http://www.ppmy.cn/news/131313.html

相关文章

快速学会CC2530单片机基础点灯

使用的软件是IAR 使用的板是经常提到的小黑板 上面四个灯分别是 D3 ---> P1_0 D4 ---> P1_1 D5 ---> P1_3 D6 ---> P1_4 #include <ioCC2530.h>//引用CC2530头文件 #define D3 P1_0 #define D4 P1_1 #define D5 P1_3 #define D6 P1_4//为了方便使用&…

基于Blinker物联网+Esp8266的燃气灶温度与燃气残留浓度监控装置的设计与实现之二

二、系统实现 &#xff08;一&#xff09;电路图&#xff08;详见上篇&#xff09; &#xff08;二&#xff09;元件清单 1.ESP8266开发板1块&#xff0c;有不同串口驱动&#xff0c;我选用的是CH340串口的。 2.ESP8266开发板之扩展板1块&#xff0c;我称之为底座&…

燃气灶火小怎么回事?6步帮你判断问题在哪!

对于大部分中国家庭来说&#xff0c;厨房的灶台基本上都是燃气灶&#xff0c;因为燃气灶可以直观的看到火焰的大小&#xff0c;更符合中国传统烹饪理念&#xff0c;但是燃气灶使用时间长了&#xff0c;很多家庭就会发现火苗是越来越小。 良好的燃烧器&#xff0c;火焰应该呈浅…

基于Blinker物联网+Esp8266的燃气灶温度与燃气残留浓度监控装置的设计与实现

人老健忘&#xff0c;燃气灶忘了关火、干烧……然后&#xff0c;出门容易犯强迫症&#xff0c;来回反复查看炉灶……&#x1f633;。于是决定做个燃气灶&#xff08;灶1、灶2&#xff09;温度及燃气残留浓度的监测装置&#xff0c;当温度或浓度超过阈值就自动报警并发微信提示&…

燃气灶电气线路图及原理_家用燃气灶解析之 热电偶的工作原理

在家用燃气灶的炉头上通常配有点火针和热电偶熄火保护针。热电偶是燃气灶中很重要的一个组成部分,热电偶的好坏关系到燃气灶的点火反应时间和点火成功率。热电偶实际上是一种感温元件&#xff0c;它直接测量温度&#xff0c;并把温度信号转换成热电动势信号&#xff0c;通过电气…

基于Blinker物联网+Esp8266的燃气灶温度与燃气残留浓度监控装置的设计与实现之三

三、关键代码 (一)知识储备&#xff1a;要编写基于Blinkeresp8266的代码&#xff0c;应掌握arduino平台搭建、基于arduino平台下esp8266代码编写、Blinker平台相关函数的使用等知识。以上平台相关知识&#xff0c;在CSDN有很多优秀博文由浅入深详细介绍&#xff0c;本人学习太…

EN 521便携式蒸气压液化石油气燃气具燃气相关检测标准介绍

EN 521便携式蒸气压液化石油气燃气具 燃气灶&#xff0c;是指以液化石油气、人工煤气、天然气等气体燃料进行直火加热的厨房用具。燃气灶又叫炉盘&#xff0c;其大众化程度无人不知&#xff0c;但又很难见到一个通行的概念。一如柴禾灶、煤油炉、煤球炉等等。燃气具出口欧盟一…

天然气阶梯是按年还是按月_燃气阶梯是一年一清吗

燃气阶梯的确是一年一清,通常会有一个固定的计量周期,必须在规定的周期内清掉。不过每个城市的规定周期不一样,需要以当地的政策为准,最好咨询燃气公司工作人员,可以得到具体的计算时间。现阶段我国的阶梯气价分为三档,分别是:第一档、第一档和第三档,原则上第一、二、…