博主主页:一季春秋
🍅 文末获取联系 🍅
博主简介:专注Java技术领域和毕业设计项目实战、Java、微信小程序、安卓等技术开发,远程调试部署、代码讲解、文档指导、ppt制作等技术指导。
主要内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、小程序、安卓app、大数据等设计与开发
目录
前言
利用电脑网络的这些便利,发展一套网购平台管理系统,将会给人们生活带来更多方便,而在经济效能上,也必然会有很大的方便!这样可以节省大量的时间和金钱。网购平台管理系统在现实生活中是不可或缺的一环,其内容直接关系到网购平台决策者与管理者。该系统主要包括个人中心、用户管理、商品分类管理、商品信息管理、系统管理、订单管理等功能进行管理。方便了管理员随时随地,只要电脑联网,就能对网购平台进行管理。同时,还可以方便快捷查询自己的网购平台信息。
系统主要技术
开发语言:Java
使用框架:spring boot
前端技术:JavaScript、Vue 、css3
开发工具:IDEA/MyEclipse/Eclipse、Visual Studio Code
数据库:MySQL 5.7/8.0
数据库管理工具:phpstudy/Navicat
JDK版本:jdk1.8
Maven: apache-maven 3.8.1-bin
需求分析
在项目开发中,需求分析是进行项目设计和实施的先决条件也是基础。开发者应全面理解和全面分析,并按照使用者的要求,对其进行细致的工作,并具体说明需要完成的工作。在此阶段,系统如何完成工作是不重要的,你只需确认系统正在执行什么工作就可以了。
只要确定该工作是什么,就可以知道该系统是怎么工作的。网购平台管理系统的用户是管理员和用户两个角色,为了满足现代社会对环保和节约的需要,将传统的纸质文档通过计算机输入计算机并以电子文档的方式显示出来。网购平台要负责许多方面的工作,因此,要建立一个简单、直观的查询渠道,并设定特定的存取权限,以保证网购平台工作的顺畅和高效。此外,要实现对用户的直接管理,便于用户的个人信息的集中存储与管理。
用户个人资料的查询和修改,将会对所有用户的个人资料进行增、删、改、查:第一,使用者输入使用者的用户名、密码,将会进行存在性与及耦合性检查,并于使用者登入系统时,进行身份验证,以避免因非使用者操作或其它违规行为而造成的非法登录行为;第二,进入该界面后,可以查询、更改自己的信息。
后台管理用户信息:第一、在网站的后台,管理员可以对用户的个人资料进行全面的管理,如增添、修改、删除、查询等。
系统的运行过程:通过对网购平台管理体系的分析和对比,并结合实际情况提出了一些建议。
采用面向对象的思维方式,以符合实际的功能与性能要求,并进行了创新。为了提升网购平台管理的自动化和友善性的网购平台管理系统。
本文提出了一种基于面向对象的思想方法,以适应系统的实际功能与性能要求。为了使网购平台管理更具自动化和亲和力,在对网购平台进行简单的需求分析之后,将其分为两大功能模块,分别为管理员和用户。其用例如下:
总体功能设计
根据上文中对用户需求的一系列综合细致的分析,针对本网购平台管理系统,得到一个如图所示的宏观的总体功能结构图。
系统展示
系统首页界面
系统注册页面
商品信息详细页面
购物车详细页面
个人中心界面
用户管理界面
商品分类管理界面
商品信息管理界面
系统管理管理界面
订单管理界面
部分核心代码
/**
* 登录相关
*/
@RequestMapping("users")
@RestController
public class UsersController {
@Autowired
private UsersService usersService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UsersEntity user = usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
R r = R.ok();
r.put("token", token);
r.put("role",user.getRole());
r.put("userId",user.getId());
return r;
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UsersEntity user){
// ValidatorUtils.validateEntity(user);
if(usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
usersService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 修改密码
*/
@GetMapping(value = "/updatePassword")
public R updatePassword(String oldPassword, String newPassword, HttpServletRequest request) {
UsersEntity users = usersService.selectById((Integer)request.getSession().getAttribute("userId"));
if(newPassword == null){
return R.error("新密码不能为空") ;
}
if(!oldPassword.equals(users.getPassword())){
return R.error("原密码输入错误");
}
if(newPassword.equals(users.getPassword())){
return R.error("新密码不能和原密码一致") ;
}
users.setPassword(newPassword);
usersService.updateById(users);
return R.ok();
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UsersEntity user = usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
usersService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 列表
*/
@RequestMapping("/page")
public R page(@RequestParam Map<String, Object> params,UsersEntity user){
EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();
PageUtils page = usersService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
return R.ok().put("data", page);
}
/**
* 列表
*/
@RequestMapping("/list")
public R list( UsersEntity user){
EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", usersService.selectListView(ew));
}
/**
* 信息
*/
@RequestMapping("/info/{id}")
public R info(@PathVariable("id") String id){
UsersEntity user = usersService.selectById(id);
return R.ok().put("data", user);
}
/**
* 获取用户的session用户信息
*/
@RequestMapping("/session")
public R getCurrUser(HttpServletRequest request){
Integer id = (Integer)request.getSession().getAttribute("userId");
UsersEntity user = usersService.selectById(id);
return R.ok().put("data", user);
}
/**
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody UsersEntity user){
// ValidatorUtils.validateEntity(user);
if(usersService.selectOne(new EntityWrapper<UsersEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
usersService.insert(user);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UsersEntity user){
// ValidatorUtils.validateEntity(user);
usersService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
List<UsersEntity> user = usersService.selectList(null);
if(user.size() > 1){
usersService.deleteBatchIds(Arrays.asList(ids));
}else{
return R.error("管理员最少保留一个");
}
return R.ok();
}
}