@TOC
ssm082基于java斗车交易系统设计与实现+vue
系统概述
1.1 概述
随着社会的快速发展,计算机的影响是全面且深入的。人们的生活水平不断提高,日常生活中人们对斗车交易方面的要求也在不断提高,需要咨询的人数更是不断增加,使得斗车交易系统的开发成为必需而且紧迫的事情。斗车交易系统主要是借助计算机,通过对斗车交易系统所需的信息管理,增加用户选择,同时也方便对广大用户信息的及时查询、修改以及对用户信息的及时了解。斗车交易系统对用户带来了更多的便利, 该系统通过和数据库管理系统软件协作来满足用户的需求。
1.2课题意义
随着全球信息化的发展,人们的生活节奏越来越快,对信息的时效性越来越重视。以传统的宣传方式为载体的传统媒介早已不能满足用户对获取信息的方式、便捷性的需求。所以斗车交易系统渐渐成为用户关注的焦点。首先,斗车交易系统,网上获取信息的实时性、便捷性要远远高于传统媒介。系统一经上线,无论用户在世界的哪个角落,只要能够连接互联网,就能在第一时间获得想要的信息。
以往的汽车信息相关信息管理,都是工作人员统计。这样即浪费时间,时效性低,而且需要查找和变更的时候很不方便。随着科学的进步,技术的成熟,计算机信息化也日新月异的发展,社会也已经深刻的认识,计算机功能非常的强大,计算机已经进入了人类社会发展的各个领域,并且发挥着十分重要的作用。
计算机技术在现代管理中的应用,使计算机成为用户应用现代技术的重要工具。能够有效的解决获取信息便捷化、全面化的问题,提高效率。
1.3 主要内容
斗车交易系统从功能、数据流程、可行性、运行环境等方面进行需求分析。对斗车交易系统的数据库、功能进行了详细设计。分析了主要界面设计和相关组件设计,对斗车交易系统的具体实现进行了介绍,从而达到对斗车交易系统的管理。
详细内容介绍,将在以下六章中详细阐述:
第一章、绪论,介绍了研究课题选择的背景及意义、研究现状,简要介绍了本文的章节内容。
第二章、引入技术知识,通过引入关键技术进行开发,向系统中涉及直观表达的技术知识。
第三章、重点分析了系统的分析,从系统强大的供需市场出发,对系统开发的可行性,系统流程以及系统性能和功能进行了探讨。
第四章、介绍了系统的详细设计方案,包括系统结构设计和数据库设计。
第五章、系统设计的实现,通过对系统功能设计的详细说明,论证了系统的结构。
第六章、系统的整体测试,评判系统是否可以上线运行。
采用java技术,从数据库中获取数据、向数据库中写入数据,实现系统直接对数据库进行各种操作,在网页中加入动态内容,从而实现斗车交易系统所需要的各种基本功能。
2 系统开发环境
2.1 java简介
Java语言是在二十世纪末由Sun公司发布的,而且公开源代码,这一优点吸引了许多世界各地优秀的编程爱好者,也使得他们开发出当时一款又一款经典好玩的小游戏。Java语言是纯面向对象语言之一,从发布初期到现今,可以说有将近20多年的历史,已发展成为人类计算机编程语言发展史上的一个深远影响。
Java语言具有非常多种的特性:(1)跨平台的无关性;(2)面向对象; (3)安全性得以保障;(4)支持多个任务;(5)多种编写方式,代码编写简单。对比其他的低级语言、高级语言,Java语言具有明显的显著优势以及未来开阔的前景,可以广泛的应用在个人笔记本电脑、大数据、大型游戏等等。
首先,Java语言具有面向对象的特性,并且易于理解。关于对象,其实可以理解成每一种事物都是一种对象,包括我们人类自身都是一种对象。利用面向对象语言的基本特征来解决软件开发中的实际问题,为有效软件开发提供了技术支持。
其次,Java 语言具有很好的跨平台无关性。所编写出来的应用程序是Java语言编写的,那么就无需再使用编译器来修改程序代码,可以直接在任何计算机系统中运行,Windows系统可以运行,在Linux系统中也可以,也就是经过一次编译,可以到处运行,所以Java语言具有卓越的可移植性,可以很好的跨平台实现。
2.2 Mysql数据库
Mysql是一个多患者、多线程的服务器,采用SQL的数据库,数据库管理系统是基于SQL的患者以及服务器模式的关系,它的优点有强大的功能、操作简单、管理方便、可靠安全、运行较快、多线程、跨平台性、完全网络化、稳定性等,非常适合Web站点或者其他应用软件,在数据库后端的开发。此外,利用许多语言,患者可以编写和访问Mysql数据库的程序。Mysql数据库也是开放源代码的,开发者越来越喜欢使用Mysql关系数据库,应用范围也被推而广之。这是由于速度快和易用性, Web站点或应用软件的数据库后端的开发也都在使用它。
mysql 数据库它有很多的优点,例如它在操作上能够让人通俗易懂、功能强大、信息储存量高等优点。所以被人们广泛应用,对于mysql数据库来说它一般主要是对数据进行编码和查询,而且在很多的设计当中都应用到了该数据库,在此过程当中我们可以对常规的数据进行查询和组合,所以我们在进行使用mysql数据库的时候只要对编写一小段的数据就能实现相应的功能。数据库,就是数据存储的储藏室,只不过数据是存储在计算机上的,而不是现实中的储藏室,数据的存放是按固定格式,而不是无序的,则定义就是 :长期有固定格式,可以共享的存储在计算机存储器上。数据库管理主要包括数据表的建立,数据存储、修改和增加数据,为了使数据库系统能够正常运行,相关人员进行的管理工作。数据表的建立,可以对数据表中的数据进行调整,数据的重新组合及重新构造,保证数据的安全性。
2.3 B/S结构
BROWSER/SERVER程序架构方式是使用电脑中安装的各种浏览器来进行访问和使用的,相比C/S的程序结构不需要进行程序的安装就可以直接使用。BROWSER/SERVER架构的运行方式是在远程的服务器上进行安装一个,然后在任何接入互联网的电脑上访问和使用。BROWSER/SERVER架构的开发方式给患者带来了极大的便利,在任何时间和地点都可以使用开发的程序系统。
在B/S的结构中,患者可以在任何可以上网的地方访问和使用系统网站的功能,没有地域和时间等方面的限制,B/S结构是把程序完整放置到计算机网络的服务器上,通过计算机互联网给患者提供远程的网络服务。在三层体系结构的B/S系统中,通过浏览器,患者可以对很多服务器发出请求, B/S系统会很大程度的降低工作量,患者只需要安装运行较少的患者端即可,大量的工作将由服务器承担,另外,服务器也完成包括访问数据库,执行应用程序的工作等等。
B/S结构主要有三层,分别为数据层、控制逻辑层和视图层。患者通过视图层,让控制层调用数据层的数据,从而达到整个访问过程。三层相互独立,维护方便,使用安全,三层有互相调用,提高效率。
2.4 SSM三大框架
1.Spring的优势: 通过Spring的IOC特性,将对象之间的依赖关系交给了Spring控制,方便解耦,简化了开发。
2.Spring MVC的优势: SpringMVC是使用了MVC设计思想的轻量级web框架,对web层进行解耦,使我们的开发更简洁。
3.Mybatis的优势:
数据库的操作(sql)采用xml文件配置,解除了sql和代码的耦合,提供映射标签,支持对象和和数据库orm字段关系的映射,支持对象关系映射标签,支持对象关系的组建提供了xml标签,支持动态的sql
3 需求分析
3.1技术可行性:技术背景
斗车交易系统是在Windows操作系统中进行开发运用的,而且目前PC机的各项性能已经可以胜任普通网站的web服务器。系统开发所使用的技术也都是自身所具有的,也是当下广泛应用的技术之一。
系统的开发环境和配置都是可以自行安装的,系统使用Java开发工具,使用比较成熟的Mysql数据库进行对系统前台及后台的数据交互,根据技术语言对数据库,结合需求进行修改维护,可以使得网站运行更具有稳定性和安全性,从而完成实现网站的开发。
(1)硬件可行性分析
系统管理及信息分析的设计对于所使用的计算机没有什么硬性的要求,计算机只要可以正常的使用进行代码的编写及页面设计就可行,主要是对于服务器有些要求,对于平台搭建完成要上传的服务器是有一定的要求的,服务器必须选择安全性比较高的,然后就是在打开网站必须顺畅,不能停顿太长时间;性价比高;安全性高。
(2)软件可行性分析
开发整个系统使用的是云计算,流量的可扩展性和基于流量的智能调整云计算的优点就是流量的可扩展性和基于流量的智能调整,保障了数据信息能够得到及时的备份,整个系统可以安全有效的运行。
因此,我们从两个方面进行了可行性研究,可以看出系统的开发没有问题。
3.2经济可行性
在斗车交易系统开发之前所做的市场调研及与其相关的其他管理系统,都是没有任何费用的。所有的调查研究都是通过开发者自己的努力,所有的工作也都是自己亲力亲为的。在碰到自己比较难以解决的问题时,大多数是通过指导老师和同学的帮助进行相关问题的解决。所以对于斗车交易系统的开发在经济上是完全可行的,没有任何费用支出的。
使用比较成熟的技术,系统是基于Java的开发,采用Mysql数据库。所以系统在开发人力、财力方面的要求不高,具有经济可行性。
3.3操作可行性:
可操作性主要是对在斗车交易系统设计完成后,用户的使用体验度,以及管理员可以通过系统随时管理相关的数据信息,并且对于管理员、用户二个角色,都可以简单明了的进入到自己的系统界面,通过界面可以简单明了地操作功能模块,方便用户信息的操作需求和管理员数据信息。对于系统的操作,不需要专业人员都可以直接进行功能模块的操作管理,所以斗车交易系统的可操作性是完全可以的。本系统的操作使用的也是界面窗口进行登录,所以操作人员只要会简单的电脑操作就完全可以的。
3.4系统设计规则
本斗车交易系统采用Java技术,Mysql数据库开发,充分保证了系统稳定性、完整性。
斗车交易系统的设计与实现的设计思想如下:
- 操作简单方便、系统界面安全良好:简单明了的页面布局,方便查询管理的相关信息。
2、即时可见:对斗车交易系统信息的处理将立马在对应地点可以查询到,从而实现"即时发布、即时见效"的系统功能。
3、功能的完善性:管理员;个人中心、用户管理、汽车分类管理、汽车品牌管理、汽车颜色管理、汽车信息管理、系统管理、订单管理,
用户前台;首页、汽车信息、公告信息、个人中心、后台管理、购物车、在线咨询等模块的修改和维护操作。
3.5系统流程和逻辑
系统业务流程图,如图所示:
图3-1登录流程图
图3-2添加信息流程图
图3-3注册信息流程图
4系统概要设计
4.1 概述
斗车交易系统基于Web服务模式,是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在不受时间、地点的限制来使用这个系统。斗车交易系统工作原理图,如图4-1所示:
图4-1 系统工作原理图
4.2 系统结构
本系统架构网站系统,本系统的具体功能如下:
斗车交易系统登陆界面
用户登录
密码正确
管理员界面
用户界面
图4-2系统功能结构图
管理员:个人中心、用户管理、汽车分类管理、汽车品牌管理、汽车颜色管理、汽车信息管理、系统管理、订单管理,功能结构图,如图4-3所示:
图4-3 管理员功能结构图
用户前台;首页、汽车信息、公告信息、个人中心、后台管理、购物车、在线咨询,结构图,如图4-4所示:
图4-4 用户前台结构图
4.3. 数据库设计
4.3.1 数据库实体
管理员信息结构图,如图4-6所示:
图4-6 管理员信息实体结构图
用户信息:用户名、姓名、头像、性别、联系电话,实体属性图,如图4-7所示:
图4-7用户信息实体属性图
汽车信息:汽车名称、分类、品牌、颜色、图片、座位、换挡方式、汽车排量、上市年份、上牌时间、行驶里程,实体属性图如图4-8所示。
图4-8汽车信息实体属性图
4.3.2 数据库设计表
4.4 数据表
将数据库概念设计的E-R图转换为关系数据库。在关系数据库中,数据关系由数据表组成,但是表的结构表现在表的字段上。
allusers表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
---|---|---|---|---|---|---|
1 | id | Int | 4 | 10 | ||
2 | username | 150 | 255 | |||
3 | pwd | 150 | 255 | |||
4 | cx | 150 | 255 | |||
5 | addtime | DateTime | 8 | 19 |
qichexinxi表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
---|---|---|---|---|---|---|
1 | id | Int | 4 | 10 | ||
2 | addtime | 150 | 255 | |||
3 | qichemingcheng | 150 | 255 | |||
4 | fenlei | DateTime | 8 | 255 | ||
5 | pinpai | 150 | 255 | |||
6 | yanse | DateTime | 8 | 255 | ||
7 | tupian | 150 | 255 | |||
8 | zuowei | DateTime | 8 | 255 | ||
8 | huandangfangshi | 150 | 255 | |||
9 | qichepailiang | DateTime | 8 | 255 | ||
10 | shangshinianfen | 150 | 255 | |||
11 | shangpaishijian | DateTime | 8 | 255 | ||
12 | xingshilicheng | 150 | 255 | |||
13 | qichexiangqing | DateTime | 8 | 255 |
yonghu表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
---|---|---|---|---|---|---|
1 | id | Int | 4 | 10 | ||
2 | addtime | 150 | 255 | |||
3 | yonghuming | 150 | 255 | |||
4 | mima | DateTime | 8 | 255 | ||
5 | xingming | 150 | 255 | |||
6 | touxiang | DateTime | 8 | 255 | ||
7 | xingbie | 150 | 255 | |||
8 | lianxidianhua | DateTime | 8 | 255 |
qichepinpai表:
序号 | 字段名称 | 字段类型 | 大小 | 允许为空 | 最大长度 | 备注 |
---|---|---|---|---|---|---|
1 | id | Int | 4 | 10 | ||
2 | addtime | 150 | 255 | |||
4 | pinpai | DateTime | 8 | 255 |
第5章 系统详细设计
5.1管理员功能模块
管理员登录,管理员通过输入用户名、密码等信息进行系统登录,如图5-1所示。
图5-1管理员登录界面图
首页,管理员登录进入斗车交易系统可以查看个人中心、用户管理、汽车分类管理、汽车品牌管理、汽车颜色管理、汽车信息管理、系统管理、订单管理等内容,如图5-2所示。
图5-2管理员首页功能界面图
用户管理,管理员在用户管理页面可以查看用户名、姓名、头像、性别、联系电话等内容,并可根据需要对用户信息进行详情,修改或删除等操作,如图5-3所示。
图5-3用户管理界面图
汽车分类管理,管理员在汽车分类管理页面可以进行新增、详情、修改或删除等操作,如图5-4所示。
图5-4汽车分类管理界面图
汽车颜色管理,管理员在汽车颜色页面可以进行新增、详情,修改,删除操作,如图5-5所示。
图5-5汽车颜色管理界面图
汽车信息管理,管理员在汽车信息页面可以进行查看汽车名称、分类、品牌、颜色、图片、座位、换挡方式、汽车排量、上市年份、上牌时间、行驶里程,可进行新增、详情、修改或删除等操作,如图5-6所示。
图5-6汽车信息管理界面图
系统管理,管理员通过系统管理页面查看在线咨询、轮播图管理、公告信息等进行咨询回复、上传前台首页图片、公告发布进行添加、删除、修改以及查看并对整个系统进行维护等操作,如图5-7所示。
图5-7系统管理界面图
订单管理: 管理员通过订单列表可以查看已退款订单、已完成订单、已发货订单、未支付订单、已取消订单、已支付订单等信息进行详情、或修改删除查操作。,如图5-8所示。
图5-8订单管理界面图
5.2用户前台前功能模块
首页,用户登录进入斗车交易系统首页可以查看首页、汽车信息、公告信息、个人中心、后台管理、购物车、在线咨询等内容,如图5-9所示。
图5-9前台首页功能界面图
用户注册,在用户注册页面通过填写用户名、密码、姓名、性别、联系电话等信息进行注册,如图5-10所示。
图5-10用户注册界面图
用户登录,在用户登录页面可以填写用户名、密码等内容,进行登录,如图5-11所示。
图5-11用户登录界面图
汽车信息,用户在汽车信息页面可以查看汽车名称、分类、品牌、颜色、图片、座位、换挡方式、汽车排量、上市年份、上牌时间、行驶里程等信息,也可根据需要输入汽车信息名称进行搜索,操作,进行收藏、添加购物车、立即购买操作,如图5-12所示。
图5-12汽车信息界面图
个人中心,用户在个人信息页面可以查看用户名、密码、姓名、头像、性别、联系电话等内容,可进行提交操作 ,如图5-13所示。
图5-13个人信息界面图
我的地址,用户在我的地址页面填写联系人、手机号码、默认地址、选择地址进行提交操作,如图5-14所示。
图5-14我的地址界面图
QicheyanseController.java
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.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.QicheyanseEntity;
import com.entity.view.QicheyanseView;
import com.service.QicheyanseService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
/**
* 汽车颜色
* 后端接口
* @author
* @email
* @date 2021-03-26 08:38:24
*/
@RestController
@RequestMapping("/qicheyanse")
public class QicheyanseController {
@Autowired
private QicheyanseService qicheyanseService;
/**
* 后端列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,QicheyanseEntity qicheyanse,
HttpServletRequest request){
EntityWrapper<QicheyanseEntity> ew = new EntityWrapper<QicheyanseEntity>();
PageUtils page = qicheyanseService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, qicheyanse), params), params));
return R.ok().put("data", page);
}
/**
* 前端列表
*/
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,QicheyanseEntity qicheyanse, HttpServletRequest request){
EntityWrapper<QicheyanseEntity> ew = new EntityWrapper<QicheyanseEntity>();
PageUtils page = qicheyanseService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, qicheyanse), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/lists")
public R list( QicheyanseEntity qicheyanse){
EntityWrapper<QicheyanseEntity> ew = new EntityWrapper<QicheyanseEntity>();
ew.allEq(MPUtil.allEQMapPre( qicheyanse, "qicheyanse"));
return R.ok().put("data", qicheyanseService.selectListView(ew));
}
/**
* 查询
*/
@RequestMapping("/query")
public R query(QicheyanseEntity qicheyanse){
EntityWrapper< QicheyanseEntity> ew = new EntityWrapper< QicheyanseEntity>();
ew.allEq(MPUtil.allEQMapPre( qicheyanse, "qicheyanse"));
QicheyanseView qicheyanseView = qicheyanseService.selectView(ew);
return R.ok("查询汽车颜色成功").put("data", qicheyanseView);
}
/**
* 后端详情
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") Long id){
QicheyanseEntity qicheyanse = qicheyanseService.selectById(id);
return R.ok().put("data", qicheyanse);
}
/**
* 前端详情
*/
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") Long id){
QicheyanseEntity qicheyanse = qicheyanseService.selectById(id);
return R.ok().put("data", qicheyanse);
}
/**
* 后端保存
*/
@RequestMapping("/save")
public R save(@RequestBody QicheyanseEntity qicheyanse, HttpServletRequest request){
qicheyanse.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(qicheyanse);
qicheyanseService.insert(qicheyanse);
return R.ok();
}
/**
* 前端保存
*/
@RequestMapping("/add")
public R add(@RequestBody QicheyanseEntity qicheyanse, HttpServletRequest request){
qicheyanse.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
//ValidatorUtils.validateEntity(qicheyanse);
qicheyanseService.insert(qicheyanse);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody QicheyanseEntity qicheyanse, HttpServletRequest request){
//ValidatorUtils.validateEntity(qicheyanse);
qicheyanseService.updateById(qicheyanse);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
qicheyanseService.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<QicheyanseEntity> wrapper = new EntityWrapper<QicheyanseEntity>();
if(map.get("remindstart")!=null) {
wrapper.ge(columnName, map.get("remindstart"));
}
if(map.get("remindend")!=null) {
wrapper.le(columnName, map.get("remindend"));
}
int count = qicheyanseService.selectCount(wrapper);
return R.ok().put("count", count);
}
}
DiscussqichexinxiServiceImpl.java
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.DiscussqichexinxiDao;
import com.entity.DiscussqichexinxiEntity;
import com.service.DiscussqichexinxiService;
import com.entity.vo.DiscussqichexinxiVO;
import com.entity.view.DiscussqichexinxiView;
@Service("discussqichexinxiService")
public class DiscussqichexinxiServiceImpl extends ServiceImpl<DiscussqichexinxiDao, DiscussqichexinxiEntity> implements DiscussqichexinxiService {
@Override
public PageUtils queryPage(Map<String, Object> params) {
Page<DiscussqichexinxiEntity> page = this.selectPage(
new Query<DiscussqichexinxiEntity>(params).getPage(),
new EntityWrapper<DiscussqichexinxiEntity>()
);
return new PageUtils(page);
}
@Override
public PageUtils queryPage(Map<String, Object> params, Wrapper<DiscussqichexinxiEntity> wrapper) {
Page<DiscussqichexinxiView> page =new Query<DiscussqichexinxiView>(params).getPage();
page.setRecords(baseMapper.selectListView(page,wrapper));
PageUtils pageUtil = new PageUtils(page);
return pageUtil;
}
@Override
public List<DiscussqichexinxiVO> selectListVO(Wrapper<DiscussqichexinxiEntity> wrapper) {
return baseMapper.selectListVO(wrapper);
}
@Override
public DiscussqichexinxiVO selectVO(Wrapper<DiscussqichexinxiEntity> wrapper) {
return baseMapper.selectVO(wrapper);
}
@Override
public List<DiscussqichexinxiView> selectListView(Wrapper<DiscussqichexinxiEntity> wrapper) {
return baseMapper.selectListView(wrapper);
}
@Override
public DiscussqichexinxiView selectView(Wrapper<DiscussqichexinxiEntity> wrapper) {
return baseMapper.selectView(wrapper);
}
}
ConfigController.java
package com.controller;
import java.util.Arrays;
import java.util.Map;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
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.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.service.ConfigService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;
/**
* 登录相关
*/
@RequestMapping("config")
@RestController
public class ConfigController{
@Autowired
private ConfigService configService;
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,ConfigEntity config){
EntityWrapper<ConfigEntity> ew = new EntityWrapper<ConfigEntity>();
PageUtils page = configService.queryPage(params);
return R.ok().put("data", page);
}
/**
* 列表
*/
@IgnoreAuth
@RequestMapping("/list")
public R list(@RequestParam Map<String, Object> params,ConfigEntity config){
EntityWrapper<ConfigEntity> ew = new EntityWrapper<ConfigEntity>();
PageUtils page = configService.queryPage(params);
return R.ok().put("data", page);
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
ConfigEntity config = configService.selectById(id);
return R.ok().put("data", config);
}
/**
* 详情
*/
@IgnoreAuth
@RequestMapping("/detail/{id}")
public R detail(@PathVariable("id") String id){
ConfigEntity config = configService.selectById(id);
return R.ok().put("data", config);
}
/**
* 根据name获取信息
*/
@RequestMapping("/info")
public R infoByName(@RequestParam String name){
ConfigEntity config = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));
return R.ok().put("data", config);
}
/**
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody ConfigEntity config){
// ValidatorUtils.validateEntity(config);
configService.insert(config);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody ConfigEntity config){
// ValidatorUtils.validateEntity(config);
configService.updateById(config);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
configService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}
声明
本博客适用于广泛的学术和教育用途,包括但不限于个人学习、开发设计,产品设计。仅供学习参考,旨在为读者提供深入理解和学术研究的材料。