博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
————————————————
计算机毕业设计《1000套》✌
目录
1、项目介绍及开发技术
1.1 项目介绍
1.2 开发技术
2、系统功能模块设计
3、功能截图
3.1 前台功能
3.2 后台功能
4、数据库表结构设计
5、关键代码
5.1 商品信息管理Controller模块
5.2 商品信息管理Service模块
5.3 商品信息管理ServiceImpl模块
5.4 商品信息管理Dao模块
6、论文目录结构
7、源码获取
1、项目介绍及开发技术
1.1 项目介绍
随着互联网技术的不断发展,电子商务已经成为了人们生活中不可或缺的一部分。而商城系统作为电子商务的重要组成部分,其功能和性能直接影响到用户的购物体验和企业的经营效益。因此,开发一款高效、稳定、易用的商城系统具有重要的现实意义。
Vue是一种轻量级的前端框架,具有简单易学、高效灵活等特点。基于Vue的米家商城系统可以充分利用Vue的优势,实现快速开发和迭代更新。同时,Vue还具有良好的兼容性和可扩展性,可以适应不同设备和浏览器的需求。
在计算机专业毕设中,研究基于Vue的米家商城系统不仅可以提高学生的编程能力和实践能力,还可以培养学生的创新思维和团队协作精神。此外,通过对商城系统的研究和开发,可以为相关企业提供技术支持和服务,促进电子商务的发展。
1.2 开发技术
Java开发语言、SpringBoot、MyBatisPlus、MySQL数据库、Maven、IDEA开发工具、JDK1.8+、Vue、HTML、CSS、JS。
2、系统功能模块设计
用户:注册登录、首页、商品信息、公告信息、个人中心(我的订单、我的地址、我的收藏)、购物车、客服中心。
管理员:登录、首页、个人中心(修改密码、个人信息)、用户管理、商品分类管理、商品信息管理、系统管理(公告信息、客服中心、轮播图管理)、订单管理。
3、功能截图
3.1 前台功能
商品信息
公告信息
个人中心
购物车
客服中心
注册
登录
3.2 后台功能
首页
个人中心
用户管理
商品分类管理
商品信息管理
系统管理公告信息
订单管理
4、数据库表结构设计
-- MySQL dump 10.13 Distrib 5.7.31, for Linux (x86_64)
--
-- Host: localhost Database: springbootho5g5
-- ------------------------------------------------------
-- Server version 5.7.31/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;--
-- Current Database: `springbootho5g5`
--/*!40000 DROP DATABASE IF EXISTS `springbootho5g5`*/;CREATE DATABASE /*!32312 IF NOT EXISTS*/ `springbootho5g5` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;USE `springbootho5g5`;LOCK TABLES `cart` WRITE;
/*!40000 ALTER TABLE `cart` DISABLE KEYS */;
/*!40000 ALTER TABLE `cart` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `config`
--DROP TABLE IF EXISTS `config`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `config` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`name` varchar(100) NOT NULL COMMENT '配置参数名称',`value` varchar(100) DEFAULT NULL COMMENT '配置参数值',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `config`
--LOCK TABLES `config` WRITE;
/*!40000 ALTER TABLE `config` DISABLE KEYS */;
INSERT INTO `config` VALUES (1,'picture1','upload/picture1.jpg'),(2,'picture2','upload/picture2.jpg'),(3,'picture3','upload/picture3.jpg');
/*!40000 ALTER TABLE `config` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `token`
--DROP TABLE IF EXISTS `token`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `token` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`userid` bigint(20) NOT NULL COMMENT '用户id',`username` varchar(100) NOT NULL COMMENT '用户名',`tablename` varchar(100) DEFAULT NULL COMMENT '表名',`role` varchar(100) DEFAULT NULL COMMENT '角色',`token` varchar(200) NOT NULL COMMENT '密码',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',`expiratedtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '过期时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='token表';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `token`
--LOCK TABLES `token` WRITE;
/*!40000 ALTER TABLE `token` DISABLE KEYS */;
INSERT INTO `token` VALUES (1,21,'工号1','yuangong','员工','outtj0ena1f8344sremckoiw8eq58o8m','2023-05-11 03:59:33','2023-05-11 04:59:34');
/*!40000 ALTER TABLE `token` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `users`
--DROP TABLE IF EXISTS `users`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `users` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`username` varchar(100) NOT NULL COMMENT '用户名',`password` varchar(100) NOT NULL COMMENT '密码',`role` varchar(100) DEFAULT '管理员' COMMENT '角色',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='用户表';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `users`
--LOCK TABLES `users` WRITE;
/*!40000 ALTER TABLE `users` DISABLE KEYS */;
INSERT INTO `users` VALUES (1,'admin','admin','管理员','2023-05-11 03:58:19');
/*!40000 ALTER TABLE `users` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `yonghu`
--DROP TABLE IF EXISTS `yonghu`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `yonghu` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`yonghuming` varchar(200) NOT NULL COMMENT '用户名',`xingming` varchar(200) NOT NULL COMMENT '姓名',`mima` varchar(200) NOT NULL COMMENT '密码',`xingbie` varchar(200) DEFAULT NULL COMMENT '性别',`lianxidianhua` varchar(200) DEFAULT NULL COMMENT '联系电话',PRIMARY KEY (`id`),UNIQUE KEY `yonghuming` (`yonghuming`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COMMENT='用户';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `yonghu`
--LOCK TABLES `yonghu` WRITE;
/*!40000 ALTER TABLE `yonghu` DISABLE KEYS */;
INSERT INTO `yonghu` VALUES (11,'2023-05-11 03:58:18','用户名1','姓名1','123456','男','13823888881'),(12,'2023-05-11 03:58:18','用户名2','姓名2','123456','男','13823888882'),(13,'2023-05-11 03:58:18','用户名3','姓名3','123456','男','13823888883'),(14,'2023-05-11 03:58:18','用户名4','姓名4','123456','男','13823888884'),(15,'2023-05-11 03:58:18','用户名5','姓名5','123456','男','13823888885'),(16,'2023-05-11 03:58:18','用户名6','姓名6','123456','男','13823888886'),(17,'2023-05-11 03:58:18','用户名7','姓名7','123456','男','13823888887'),(18,'2023-05-11 03:58:18','用户名8','姓名8','123456','男','13823888888');
/*!40000 ALTER TABLE `yonghu` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `yuangong`
--DROP TABLE IF EXISTS `yuangong`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `yuangong` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`gonghao` varchar(200) NOT NULL COMMENT '工号',`xingming` varchar(200) NOT NULL COMMENT '姓名',`mima` varchar(200) NOT NULL COMMENT '密码',`xingbie` varchar(200) DEFAULT NULL COMMENT '性别',`lianxidianhua` varchar(200) DEFAULT NULL COMMENT '联系电话',`touxiang` longtext COMMENT '头像',PRIMARY KEY (`id`),UNIQUE KEY `gonghao` (`gonghao`)
) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8 COMMENT='员工';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `yuangong`
--LOCK TABLES `yuangong` WRITE;
/*!40000 ALTER TABLE `yuangong` DISABLE KEYS */;
INSERT INTO `yuangong` VALUES (21,'2023-05-11 03:58:18','工号1','姓名1','123456','男','13823888881','upload/yuangong_touxiang1.jpg'),(22,'2023-05-11 03:58:18','工号2','姓名2','123456','男','13823888882','upload/yuangong_touxiang2.jpg'),(23,'2023-05-11 03:58:18','工号3','姓名3','123456','男','13823888883','upload/yuangong_touxiang3.jpg'),(24,'2023-05-11 03:58:18','工号4','姓名4','123456','男','13823888884','upload/yuangong_touxiang4.jpg'),(25,'2023-05-11 03:58:18','工号5','姓名5','123456','男','13823888885','upload/yuangong_touxiang5.jpg'),(26,'2023-05-11 03:58:18','工号6','姓名6','123456','男','13823888886','upload/yuangong_touxiang6.jpg'),(27,'2023-05-11 03:58:18','工号7','姓名7','123456','男','13823888887','upload/yuangong_touxiang7.jpg'),(28,'2023-05-11 03:58:18','工号8','姓名8','123456','男','13823888888','upload/yuangong_touxiang8.jpg');
/*!40000 ALTER TABLE `yuangong` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;-- Dump completed on
5、关键代码
5.1 商品信息管理Controller模块
package com.controller;import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;
import com.entity.OrdersEntity;
import com.service.OrdersService;import com.entity.ShangpinxinxiEntity;
import com.entity.view.ShangpinxinxiView;import com.service.ShangpinxinxiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import java.io.IOException;
import com.service.StoreupService;
import com.entity.StoreupEntity;/*** 商品信息* 后端接口* @author * @email * @date */
@RestController
@RequestMapping("/shangpinxinxi")
public class ShangpinxinxiController {@Autowiredprivate ShangpinxinxiService shangpinxinxiService;@Autowiredprivate StoreupService storeupService;@Autowiredprivate OrdersService ordersService;/*** 后端列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,ShangpinxinxiEntity shangpinxinxi,HttpServletRequest request){EntityWrapper<ShangpinxinxiEntity> ew = new EntityWrapper<ShangpinxinxiEntity>();PageUtils page = shangpinxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shangpinxinxi), params), params));return R.ok().put("data", page);}/*** 前端列表*/@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,ShangpinxinxiEntity shangpinxinxi, HttpServletRequest request){EntityWrapper<ShangpinxinxiEntity> ew = new EntityWrapper<ShangpinxinxiEntity>();PageUtils page = shangpinxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shangpinxinxi), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/lists")public R list( ShangpinxinxiEntity shangpinxinxi){EntityWrapper<ShangpinxinxiEntity> ew = new EntityWrapper<ShangpinxinxiEntity>();ew.allEq(MPUtil.allEQMapPre( shangpinxinxi, "shangpinxinxi")); return R.ok().put("data", shangpinxinxiService.selectListView(ew));}/*** 查询*/@RequestMapping("/query")public R query(ShangpinxinxiEntity shangpinxinxi){EntityWrapper< ShangpinxinxiEntity> ew = new EntityWrapper< ShangpinxinxiEntity>();ew.allEq(MPUtil.allEQMapPre( shangpinxinxi, "shangpinxinxi")); ShangpinxinxiView shangpinxinxiView = shangpinxinxiService.selectView(ew);return R.ok("查询商品信息成功").put("data", shangpinxinxiView);}/*** 后端详情*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") Long id){ShangpinxinxiEntity shangpinxinxi = shangpinxinxiService.selectById(id);shangpinxinxi.setClicktime(new Date());shangpinxinxiService.updateById(shangpinxinxi);return R.ok().put("data", shangpinxinxi);}/*** 前端详情*/@IgnoreAuth@RequestMapping("/detail/{id}")public R detail(@PathVariable("id") Long id){ShangpinxinxiEntity shangpinxinxi = shangpinxinxiService.selectById(id);shangpinxinxi.setClicktime(new Date());shangpinxinxiService.updateById(shangpinxinxi);return R.ok().put("data", shangpinxinxi);}/*** 后端保存*/@RequestMapping("/save")public R save(@RequestBody ShangpinxinxiEntity shangpinxinxi, HttpServletRequest request){shangpinxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(shangpinxinxi);shangpinxinxiService.insert(shangpinxinxi);return R.ok();}/*** 前端保存*/@RequestMapping("/add")public R add(@RequestBody ShangpinxinxiEntity shangpinxinxi, HttpServletRequest request){shangpinxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());//ValidatorUtils.validateEntity(shangpinxinxi);shangpinxinxiService.insert(shangpinxinxi);return R.ok();}/*** 修改*/@RequestMapping("/update")@Transactionalpublic R update(@RequestBody ShangpinxinxiEntity shangpinxinxi, HttpServletRequest request){//ValidatorUtils.validateEntity(shangpinxinxi);shangpinxinxiService.updateById(shangpinxinxi);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){shangpinxinxiService.deleteBatchIds(Arrays.asList(ids));return R.ok();}/*** 提醒接口*/@RequestMapping("/remind/{columnName}/{type}")public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) {map.put("column", columnName);map.put("type", type);if(type.equals("2")) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");Calendar c = Calendar.getInstance();Date remindStartDate = null;Date remindEndDate = null;if(map.get("remindstart")!=null) {Integer remindStart = Integer.parseInt(map.get("remindstart").toString());c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart);remindStartDate = c.getTime();map.put("remindstart", sdf.format(remindStartDate));}if(map.get("remindend")!=null) {Integer remindEnd = Integer.parseInt(map.get("remindend").toString());c.setTime(new Date());c.add(Calendar.DAY_OF_MONTH,remindEnd);remindEndDate = c.getTime();map.put("remindend", sdf.format(remindEndDate));}}Wrapper<ShangpinxinxiEntity> wrapper = new EntityWrapper<ShangpinxinxiEntity>();if(map.get("remindstart")!=null) {wrapper.ge(columnName, map.get("remindstart"));}if(map.get("remindend")!=null) {wrapper.le(columnName, map.get("remindend"));}int count = shangpinxinxiService.selectCount(wrapper);return R.ok().put("count", count);}/*** 前端智能排序*/@IgnoreAuth@RequestMapping("/autoSort")public R autoSort(@RequestParam Map<String, Object> params,ShangpinxinxiEntity shangpinxinxi, HttpServletRequest request,String pre){EntityWrapper<ShangpinxinxiEntity> ew = new EntityWrapper<ShangpinxinxiEntity>();Map<String, Object> newMap = new HashMap<String, Object>();Map<String, Object> param = new HashMap<String, Object>();Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();while (it.hasNext()) {Map.Entry<String, Object> entry = it.next();String key = entry.getKey();String newKey = entry.getKey();if (pre.endsWith(".")) {newMap.put(pre + newKey, entry.getValue());} else if (StringUtils.isEmpty(pre)) {newMap.put(newKey, entry.getValue());} else {newMap.put(pre + "." + newKey, entry.getValue());}}params.put("sort", "clicktime");params.put("order", "desc");PageUtils page = shangpinxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shangpinxinxi), params), params));return R.ok().put("data", page);}/*** 协同算法(按用户购买推荐)*/@RequestMapping("/autoSort2")public R autoSort2(@RequestParam Map<String, Object> params,ShangpinxinxiEntity shangpinxinxi, HttpServletRequest request){String userId = request.getSession().getAttribute("userId").toString();String goodtypeColumn = "shangpinfenlei";List<OrdersEntity> orders = ordersService.selectList(new EntityWrapper<OrdersEntity>().eq("userid", userId).eq("tablename", "shangpinxinxi").orderBy("addtime", false));List<String> goodtypes = new ArrayList<String>();Integer limit = params.get("limit")==null?10:Integer.parseInt(params.get("limit").toString());List<ShangpinxinxiEntity> shangpinxinxiList = new ArrayList<ShangpinxinxiEntity>();//去重List<OrdersEntity> ordersDist = new ArrayList<OrdersEntity>();for(OrdersEntity o1 : orders) {boolean addFlag = true;for(OrdersEntity o2 : ordersDist) {if(o1.getGoodid()==o2.getGoodid() || o1.getGoodtype().equals(o2.getGoodtype())) {addFlag = false;break;}}if(addFlag) ordersDist.add(o1);}if(ordersDist!=null && ordersDist.size()>0) {for(OrdersEntity o : ordersDist) {shangpinxinxiList.addAll(shangpinxinxiService.selectList(new EntityWrapper<ShangpinxinxiEntity>().eq(goodtypeColumn, o.getGoodtype())));}}EntityWrapper<ShangpinxinxiEntity> ew = new EntityWrapper<ShangpinxinxiEntity>();params.put("sort", "id");params.put("order", "desc");PageUtils page = shangpinxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, shangpinxinxi), params), params));List<ShangpinxinxiEntity> pageList = (List<ShangpinxinxiEntity>)page.getList();if(shangpinxinxiList.size()<limit) {int toAddNum = (limit-shangpinxinxiList.size())<=pageList.size()?(limit-shangpinxinxiList.size()):pageList.size();for(ShangpinxinxiEntity o1 : pageList) {boolean addFlag = true;for(ShangpinxinxiEntity o2 : shangpinxinxiList) {if(o1.getId().intValue()==o2.getId().intValue()) {addFlag = false;break;}}if(addFlag) {shangpinxinxiList.add(o1);if(--toAddNum==0) break;} }} else if(shangpinxinxiList.size()>limit) {shangpinxinxiList = shangpinxinxiList.subList(0, limit);}page.setList(shangpinxinxiList);return R.ok().put("data", page);}
}
5.2 商品信息管理Service模块
package com.service;import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.service.IService;
import com.utils.PageUtils;
import com.entity.ShangpinxinxiEntity;
import java.util.List;
import java.util.Map;
import com.entity.vo.ShangpinxinxiVO;
import org.apache.ibatis.annotations.Param;
import com.entity.view.ShangpinxinxiView;/*** 商品信息** @author * @email * @date */
public interface ShangpinxinxiService extends IService<ShangpinxinxiEntity> {PageUtils queryPage(Map<String, Object> params);List<ShangpinxinxiVO> selectListVO(Wrapper<ShangpinxinxiEntity> wrapper);ShangpinxinxiVO selectVO(@Param("ew") Wrapper<ShangpinxinxiEntity> wrapper);List<ShangpinxinxiView> selectListView(Wrapper<ShangpinxinxiEntity> wrapper);ShangpinxinxiView selectView(@Param("ew") Wrapper<ShangpinxinxiEntity> wrapper);PageUtils queryPage(Map<String, Object> params,Wrapper<ShangpinxinxiEntity> wrapper);}
5.3 商品信息管理ServiceImpl模块
package com.service.impl;import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.List;import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.utils.PageUtils;
import com.utils.Query;import com.dao.ShangpinxinxiDao;
import com.entity.ShangpinxinxiEntity;
import com.service.ShangpinxinxiService;
import com.entity.vo.ShangpinxinxiVO;
import com.entity.view.ShangpinxinxiView;@Service("shangpinxinxiService")
public class ShangpinxinxiServiceImpl extends ServiceImpl<ShangpinxinxiDao, ShangpinxinxiEntity> implements ShangpinxinxiService {@Overridepublic PageUtils queryPage(Map<String, Object> params) {Page<ShangpinxinxiEntity> page = this.selectPage(new Query<ShangpinxinxiEntity>(params).getPage(),new EntityWrapper<ShangpinxinxiEntity>());return new PageUtils(page);}@Overridepublic PageUtils queryPage(Map<String, Object> params, Wrapper<ShangpinxinxiEntity> wrapper) {Page<ShangpinxinxiView> page =new Query<ShangpinxinxiView>(params).getPage();page.setRecords(baseMapper.selectListView(page,wrapper));PageUtils pageUtil = new PageUtils(page);return pageUtil;}@Overridepublic List<ShangpinxinxiVO> selectListVO(Wrapper<ShangpinxinxiEntity> wrapper) {return baseMapper.selectListVO(wrapper);}@Overridepublic ShangpinxinxiVO selectVO(Wrapper<ShangpinxinxiEntity> wrapper) {return baseMapper.selectVO(wrapper);}@Overridepublic List<ShangpinxinxiView> selectListView(Wrapper<ShangpinxinxiEntity> wrapper) {return baseMapper.selectListView(wrapper);}@Overridepublic ShangpinxinxiView selectView(Wrapper<ShangpinxinxiEntity> wrapper) {return baseMapper.selectView(wrapper);}}
5.4 商品信息管理Dao模块
package com.dao;import com.entity.ShangpinxinxiEntity;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;import org.apache.ibatis.annotations.Param;
import com.entity.vo.ShangpinxinxiVO;
import com.entity.view.ShangpinxinxiView;/*** 商品信息* * @author * @email * @date */
public interface ShangpinxinxiDao extends BaseMapper<ShangpinxinxiEntity> {List<ShangpinxinxiVO> selectListVO(@Param("ew") Wrapper<ShangpinxinxiEntity> wrapper);ShangpinxinxiVO selectVO(@Param("ew") Wrapper<ShangpinxinxiEntity> wrapper);List<ShangpinxinxiView> selectListView(@Param("ew") Wrapper<ShangpinxinxiEntity> wrapper);List<ShangpinxinxiView> selectListView(Pagination page,@Param("ew") Wrapper<ShangpinxinxiEntity> wrapper);ShangpinxinxiView selectView(@Param("ew") Wrapper<ShangpinxinxiEntity> wrapper);}
6、论文目录结构
7、源码获取
感谢大家的阅读,如有不懂的问题可以评论区交流或私聊!
喜欢文章可以点赞、收藏、关注、评论啦
→获取源码请私信←