末尾获取源码
作者介绍:大家好,我是何时,本人专注定制项目开发、项目讲解、项目调试[python、Java、PHP、大数据、小程序、大屏可视化、爬虫等]更多项目:CSDN主页曾几何时
我欲乘风归去 又恐琼楼玉宇 高处不胜寒 -苏轼
项目简介
随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势,免税商品优选购物商城当然也不能排除在外,随着购物商城的不断成熟,它彻底改变了过去传统的免税商品优选购物商城方式,不仅使商城管理难度变低了,还提升了免税商品优选购物商城的灵活性。这种个性化的免税商品优选购物商城特别注重交互协调经营与管理的相互配合,激发了管理人员的创造性与主动性,对资产设备借还的管理而言非常有利。
本文首先分析了免税商品优选购物商城的发展背景和意义,简要阐述了免税商品优选购物商城开发的主要内容和优势,然后简要介绍了国内外免税商品优选购物商城的研究和应用现状,并对系统开发技术,系统分析和总体设计,实现详细功能等。
本免税商品优选购物商城采用的数据库是MYSQL,使用java技术开发,在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
技术详情
语言:Java
使用框架:Spring Boot
前端技术:JS、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
前端环境:Node.Js 12\14\16
效果图
登录界面
登录窗口,用户通过登录窗口可以进行登录,进行输入用户名、密码等信息,进行登录操作,如图5-1所示。
管理员功能模块
管理员登录成功后,可以进行查看个人中心、用户管理、商家管理、商品分类管理、商品信息管理、在线客服管理、系统管理、订单管理等功能模块。进行相对应操作。
用户管理:通过列表可以获取账号、用户名、姓名、性别、头像、联系电话、照片、地址等信息,进行查看详情、修改或删除操作,如图5-2所示。
商家管理:通过列表可以获取商家的详细信息内容,进行查看详情或删除操作,如图5-3所示。
订单管理:通过列表可以获取订单编号、商品名称、商品图片、购买数量、价格、总价格、支付类型、状态、地址等信息,进行查看详情或发货、删除操作,如图5-4所示。
商家功能模块
商家通过点击后台管理进入后台系统可以进行查看个人中心、商品信息管理、商品分类管理、在线客服管理、订单管理等功能模块,进行相对应操作,通过点击个人信息页面可以进行查看员工的基本信息,进行查看或修改操作,如图5-5所示。
商品信息管理:通过列表可以获取商品名称、商品类型、规格、图片、商家账号、商家姓名、价格等信息内容,进行查看详情、在线客服、查看评论、新增或删除操作,如图5-6所示。
在线客服管理:通过列表可以获取客服编号、内容、账号、姓名、商家账号、商家姓名、客服回复等信息,进行查看详情、修改、删除操作,如图5-7所示。
我的收藏管理:通过列表可以获取收藏名称、收藏图片等信息,进行查看详情、修改或删除操作,如图5-8所示。
订单管理:通过列表可以获取订单编号、商品名称、商品图片、购买数量、价格、总价格、支付类型、状态、地址等信息,进行查看详情或删除操作,如图5-9所示。
用户前台功能模块
用户通过家免税商品优选购物商城系统,可以进行查看首页、商品信息、商城快讯、个人中心、后台管理、购物车等功能,可以进行相对应的操作,如图5-10所示。
商品信息详情:通过页面可以进行查看商品名称、商品价格、商品类型、规格、商家账号、商家账号、商家姓名、点击次数等信息,进行添加到购物车或立即购买、点我收藏,如图5-11所示。
个人中心:通过页面可以进行查看获取个人中心、我的订单、我的地址、我的收藏四个子模块,个人中心:通过页面可以进行查看个人信息或进行更新个人信息,进行提交保存操作,如图5-12所示。我的订单:通过列表可以获取订单编号、商品、价格、数量、总价、地址等信息,进行查看我的订单或进行退款操作,如图5-13所示。我的地址:通过页面可以进行查看联系人、手机号码、选择地址等信息,进行查看或修改、删除操作,并通过输入添加新地址进行添加操作,如图5-14所示。
用户后台功能模块
用户通过点击后台管理进入后台系统可以进行查看个人中心、商品信息管理、在线客服管理、我的收藏管理、订单管理等功能模块,进行相对应操作,如图5-15所示。
在线客服管理:通过列表可以获取客服编号、内容、账号、姓名、商家账号、商家姓名、客服回复等信息,进行查看详情操作,如图5-16所示。
商品信息管理:通过列表可以获取商品名称、商品类型、规格、图片、商家账号、商家姓名、价格等信息内容,进行查看详情、在线客服、查看评论、新增或删除操作,如图5-17所示。
文档内容展示
核心代码
@RequestMapping("users")
@RestController
public class UserController{
@Autowired
private UserService userService;
@Autowired
private TokenService tokenService;
/**
* 登录
*/
@IgnoreAuth
@PostMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null || !user.getPassword().equals(password)) {
return R.error("账号或密码不正确");
}
String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
return R.ok().put("token", token);
}
/**
* 注册
*/
@IgnoreAuth
@PostMapping(value = "/register")
public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 退出
*/
@GetMapping(value = "logout")
public R logout(HttpServletRequest request) {
request.getSession().invalidate();
return R.ok("退出成功");
}
/**
* 密码重置
*/
@IgnoreAuth
@RequestMapping(value = "/resetPass")
public R resetPass(String username, HttpServletRequest request){
UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
if(user==null) {
return R.error("账号不存在");
}
user.setPassword("123456");
userService.update(user,null);
return R.ok("密码已重置为:123456");
}
/**
* 列表
*/
@RequestMapping("/list")
public R list( UserEntity user){
EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
ew.allEq(MPUtil.allEQMapPre( user, "user"));
return R.ok().put("data", userService.selectListView(ew));
}
/**
* 保存
*/
@PostMapping("/save")
public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
return R.error("用户已存在");
}
userService.insert(user);
return R.ok();
}
/**
* 修改
*/
@RequestMapping("/update")
public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);
userService.updateById(user);//全部更新
return R.ok();
}
/**
* 删除
*/
@RequestMapping("/delete")
public R delete(@RequestBody Long[] ids){
userService.deleteBatchIds(Arrays.asList(ids));
return R.ok();
}
}