项目介绍
本项目为前后台管理系统,包括管理员与普通用户两种角色;
管理员角色包含以下功能:
管理员登录,用户管理,商品类型管理,商品管理,订单信息管理,用户留言管理,资讯管理等功能。
用户角色包含以下功能:
用户首页,用户登录,商品推荐,资讯信息,留言板,查看商品,提交订单,查看订单信息,个人资料管理等功能。
ps:推荐模块用了协同过滤推荐算法,下订单模块用的是百度地图api。本商城可以修改为任意商城不止是体育商城。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:是;
技术栈
后端:SpringBoot
前端:HTML+JSP+CSS+JavaScript+jQuery
使用说明
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
/**
* 新品上市
* @return
* @throws UnsupportedEncodingException
*/
@GetMapping("/new")
public String news(HttpServletRequest request,
@RequestParam(required=false, defaultValue="1")int page,
@RequestParam(required=false, defaultValue="10")int size) throws UnsupportedEncodingException{
request.setAttribute("flag", 4);
request.setAttribute("goodList", goodService.getList(page, size));
request.setAttribute("pageHtml", PageUtil.getPageHtml(request, goodService.getCount(), page, size));
return "/index/goods.jsp";
}
/**
* 搜索
* @return
*/
@GetMapping("/search")
public String search(String search, HttpServletRequest request,
@RequestParam(required=false, defaultValue="1")int page,
@RequestParam(required=false, defaultValue="10")int size) throws UnsupportedEncodingException {
search = new String(search.getBytes("ISO8859-1"),"utf-8");
request.setAttribute("search", search);
session.setAttribute("user",users);
request.setAttribute("msg","充值成功!");
}else{
request.setAttribute("msg","充值失败!");
}
return "/index/mypoint.jsp";
}
/**
* 查看购物车
* @return
*/
@GetMapping("/cart")
public String cart(HttpServletRequest request, HttpSession session) {
Users user = (Users) session.getAttribute("user");
request.setAttribute("cartList", cartService.getList(user.getId()));
request.setAttribute("cartCount", cartService.getCount(user.getId()));
request.setAttribute("cartTotal", cartService.getTotal(user.getId()));
* @return
*/
@PostMapping("/userUpdate")
public String userUpdate(int id, String name, String phone, String address,
@RequestParam(required=false, defaultValue="1") int page) {
userService.update(id, name, phone, address);
return "redirect:userList?flag=4&page="+page;
}
/**
* 顾客删除
* @return
*/
@GetMapping("/userDelete")
public String userDelete(int id,
@RequestParam(required=false, defaultValue="1") int page) {
userService.delete(id);
return "redirect:userList?flag=4&page="+page;
}
/**
* 管理员列表
* @return
*/
}
}else{
double d2 = order.getTotal()/100;//购买商品获取的积分
//总积分 = 用户积分 + 获取的
bigDecimal = new BigDecimal(Double.toString(users.getPoint())).add(new BigDecimal(Double.toString(d2)));
}
users.setPoint(bigDecimal.doubleValue());//保存积分
int count = userService.updatePoint(users);
if(count > 0){
session.setAttribute("user",users);//更新用户积分
}
orderService.pay(order);
return 1;
}
/**
* 收货地址
* @return
*/
@GetMapping("/address")
public String address(){ // 使用session中的数据
return "/index/address.jsp";
}
return "/admin/login.jsp";
}
/**
* 退出
* @return
*/
@GetMapping("/logout")
public String logout(HttpSession session) {
session.removeAttribute("admin");
return "/admin/login.jsp";
}
/**
* 后台首页
* @return
*/
@GetMapping("/index")
public String index(HttpServletRequest request) {
request.setAttribute("msg", "恭喜你! 登录成功了");
return "/admin/index.jsp";
}
/**
* 类目列表
* @return
*/
@GetMapping("/typeList")
public String typeList(HttpServletRequest request) {
* @return
*/
@PostMapping("/orderPay")
@ResponseBody
public int orderPay(Orders order,HttpSession session) {
Users users = (Users) session.getAttribute("user");
BigDecimal bigDecimal = new BigDecimal(0);
if(order.getPaytype() == Orders.PAYTYPE_OFFLINE){//为积分支付时
double d1 = order.getTotal();//商品总价
if(users.getPoint().compareTo(d1) < 0){
return -1;
}else{
//总积分 = 用户积分 - 抵扣积分
bigDecimal = new BigDecimal(Double.toString(users.getPoint())).subtract(new BigDecimal(Double.toString(d1)));
}
}else{
double d2 = order.getTotal()/100;//购买商品获取的积分
//总积分 = 用户积分 + 获取的
bigDecimal = new BigDecimal(Double.toString(users.getPoint())).add(new BigDecimal(Double.toString(d2)));
userService.add(user);
return "redirect:userList?flag=4&page="+page;
}
/**
* 顾客密码重置页面
* @return
*/
@GetMapping("/userRe")
public String userRe(int id, HttpServletRequest request) {
request.setAttribute("flag", 4);
request.setAttribute("user", userService.get(id));
return "/admin/user_reset.jsp";
}
/**
return "/admin/admin_reset.jsp";
}
/**
* 管理员密码重置
* @return
*/
@PostMapping("/adminReset")
public String adminReset(int id, String password, HttpServletRequest request,
@RequestParam(required=false, defaultValue="1") int page) {
adminService.update(id, password);
return "redirect:adminList?page="+page;
}
/**
* 管理员添加
* @return
*/
@PostMapping("/adminSave")
public String adminSave(Admins admin, HttpServletRequest request,
@RequestParam(required=false, defaultValue="1") int page) {
if (Objects.nonNull(adminService.getByUsername(admin.getUsername()))) {
}
request.setAttribute("msg", "用户名或密码错误!");
return "/admin/login.jsp";
}
/**
* 退出
* @return
*/
@GetMapping("/logout")
public String logout(HttpSession session) {
session.removeAttribute("admin");
return "/admin/login.jsp";
}
/**
* 后台首页
* @return
*/
@GetMapping("/index")
public String index(HttpServletRequest request) {
request.setAttribute("msg", "恭喜你! 登录成功了");
@RequestParam(required=false, defaultValue="10")int size) throws UnsupportedEncodingException {
request.setAttribute("flag", 2);
request.setAttribute("goodList", goodService.getListByTopType(Tops.TYPE_TODAY, page, size));
request.setAttribute("pageHtml", PageUtil.getPageHtml(request, goodService.getCountByTopType(Tops.TYPE_TODAY), page, size));
return "/index/goods.jsp";
}
/**
* 热销推荐
* @return
* @throws UnsupportedEncodingException
*/
@GetMapping("/hot")
public String hot(HttpServletRequest request,
@RequestParam(required=false, defaultValue="1")int page,
@RequestParam(required=false, defaultValue="10")int size) throws UnsupportedEncodingException{
request.setAttribute("flag", 3);