基于javaweb+mysql的springboot优咪商城系统(java+springboot+html+bootstrap+layui+maven+mysql)

基于javaweb+mysql的springboot优咪商城系统(java+springboot+html+bootstrap+layui+maven+mysql)

运行环境

Java≥8、MySQL≥5.7

开发工具

eclipse/idea/myeclipse/sts等均可配置运行

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

基于javaweb+mysql的SpringBoot优咪商城系统(java+springboot+html+bootstrap+layui+maven+mysql)

项目介绍

优咪网上购物体验系统

  1. 该平台主要有两大功能: (1) 浏览平台官方和认证作者提供的篮球相关信息,信息类型包括:视频,新闻,评论类文章,比赛结果 (2) 篮球周边商城,商品分类球鞋、球衣、篮球、运动装备、休闲衣服 (3) 特别功能:每条信息和每一个商品都有一个特殊类型:标签(可有多个标签)。当用户在浏览某条信息(例如在看某段视频到结尾时),平台根据标签向用户推送标签相同的商品。反之,用户在浏览某件商品时,亦根据标签向用户推送与该商品标签相同的信息。 2. 该平台有三种用户:平台管理员、平台认证作者、普通用户 (1) 平台管理员: ① 可管理平台官方运营的商店,对商店的商品进行增删查改,定期上线活动 ② 管理平台的信息发布,可对信息进行增删改查 (2) 平台认证作者: ① 可发布自己攥写的文章或自己剪辑的视频 ② 可在自己发布的信息下方添加商品链接,若用户购买可获得提成 (3) 用户: ① 可无广告地浏览平台上关于篮球的资讯 ② 可浏览商品并且购买 ③ 可申请成为官方认证作者

环境需要

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.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目

6.数据库:MySql 5.7版本;

技术栈

  1. 后端:Springboot

  2. 前端:html+bootstrap+jQuery+layui+ueditor

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 将项目中application.yml配置文件中的数据库配置改为自己的配置 3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行; 4. 运行项目 前台地址:http://localhost:8080/

后台浏览地址:http://localhost:8080/login.html


if(adminId == null){

return "admin/include/loginMessage";

logger.info("获取前10条订单列表");

PageUtil pageUtil = new PageUtil(0, 10);

List<ProductOrder> productOrderList = productOrderService.getList(null, null, new OrderUtil("productOrder_id", true), pageUtil);

map.put("productOrderList",productOrderList);

logger.info("获取订单总数量");

Integer productOrderCount = productOrderService.getTotal(null, null);

map.put("productOrderCount", productOrderCount);

logger.info("获取分页信息");


@PathVariable Integer index/* 页数 */,

@PathVariable Integer count/* 行数 */) throws UnsupportedEncodingException {

//移除不必要条件

if (category_name != null) {

//如果为非空字符串则解决中文乱码:URLDecoder.decode(String,"UTF-8");

category_name = "".equals(category_name) ? null : URLDecoder.decode(category_name, "UTF-8");

JSONObject object = new JSONObject();

logger.info("按条件获取第{}页的{}条分类", index + 1, count);

PageUtil pageUtil = new PageUtil(index, count);

List<Category> categoryList = categoryService.getList(category_name, pageUtil);

object.put("categoryList", JSONArray.parseArray(JSON.toJSONString(categoryList)));

logger.info("按条件获取分类总数量");

Integer categoryCount = categoryService.getTotal(category_name);


//转到后台管理-用户详情页-ajax

@RequestMapping(value = "admin/user/{uid}", method = RequestMethod.GET)

public String getUserById(HttpSession session, Map<String, Object> map, @PathVariable Integer uid/* 用户ID */) {

logger.info("检查管理员权限");

Object adminId = checkAdmin(session);

if (adminId == null) {

return "admin/include/loginMessage";

logger.info("获取user_id为{}的用户信息", uid);

User user = userService.get(uid);

logger.info("获取用户详情-所在地地址信息");

pageUtil.setTotal(userCount);

map.put("pageUtil", pageUtil);

logger.info("转到后台管理-用户页-ajax方式");

return "admin/userManagePage";

//转到后台管理-用户详情页-ajax

@RequestMapping(value = "admin/user/{uid}", method = RequestMethod.GET)

public String getUserById(HttpSession session, Map<String, Object> map, @PathVariable Integer uid/* 用户ID */) {

logger.info("检查管理员权限");

Object adminId = checkAdmin(session);

if (adminId == null) {

return "admin/include/loginMessage";

logger.info("获取user_id为{}的用户信息", uid);

addressStack.push(address.getAddress_name() + " ");

StringBuilder builder = new StringBuilder();

while (!addressStack.empty()) {

builder.append(addressStack.pop());

logger.info("所在地地址字符串:{}", builder);

user.setUser_address(new Address().setAddress_name(builder.toString()));

logger.info("获取用户详情-家乡地址信息");

address = addressService.get(user.getUser_homeplace().getAddress_areaId());

//最后一级地址

addressStack.push(address.getAddress_name() + " ");

//如果不是第一级地址

@RequestMapping(value = "admin/login/doLogin",method = RequestMethod.POST,produces = "application/json;charset=utf-8")

public String checkLogin(HttpSession session, @RequestParam String username, @RequestParam String password) {

logger.info("管理员登录验证");

Integer admin = adminService.login(username,password);

JSONObject object = new JSONObject();

if(admin == null){

logger.info("登录验证失败");

object.put("success",false);

} else {

logger.info("登录验证成功,管理员ID传入会话");

session.setAttribute("adminId",admin);

object.put("success",true);

return jsonObject.toJSONString();

//按条件查询分类-ajax

@ResponseBody

@RequestMapping(value = "admin/category/{index}/{count}", method = RequestMethod.GET, produces = "application/json;charset=utf-8")

public String getCategoryBySearch(@RequestParam(required = false) String category_name/* 分类名称 */,

@PathVariable Integer index/* 页数 */,

@PathVariable Integer count/* 行数 */) throws UnsupportedEncodingException {

//移除不必要条件

if (category_name != null) {

//如果为非空字符串则解决中文乱码:URLDecoder.decode(String,"UTF-8");

category_name = "".equals(category_name) ? null : URLDecoder.decode(category_name, "UTF-8");

JSONObject object = new JSONObject();

logger.info("按条件获取第{}页的{}条分类", index + 1, count);


JSONObject jsonObject = new JSONObject();

logger.info("整合订单信息");

ProductOrder productOrder = new ProductOrder()

.setProductOrder_id(Integer.valueOf(order_id))

.setProductOrder_status((byte) 2)

.setProductOrder_delivery_date(new Date());

logger.info("更新订单信息,订单ID值为:{}", order_id);

boolean yn = productOrderService.update(productOrder);

if (yn) {

logger.info("更新成功!");

jsonObject.put("success", true);

} else {


if(adminId == null){

return "admin/include/loginMessage";

logger.info("获取前10条订单列表");

PageUtil pageUtil = new PageUtil(0, 10);

List<ProductOrder> productOrderList = productOrderService.getList(null, null, new OrderUtil("productOrder_id", true), pageUtil);

map.put("productOrderList",productOrderList);

logger.info("获取订单总数量");

Integer productOrderCount = productOrderService.getTotal(null, null);

map.put("productOrderCount", productOrderCount);

logger.info("获取分页信息");

pageUtil.setTotal(productOrderCount);

map.put("pageUtil", pageUtil);


map.put("userCount", userCount);

logger.info("获取分页信息");

pageUtil.setTotal(userCount);

map.put("pageUtil", pageUtil);

logger.info("转到后台管理-用户页-ajax方式");

return "admin/userManagePage";

//转到后台管理-用户详情页-ajax

@RequestMapping(value = "admin/user/{uid}", method = RequestMethod.GET)

public String getUserById(HttpSession session, Map<String, Object> map, @PathVariable Integer uid/* 用户ID */) {

logger.info("检查管理员权限");

Object adminId = checkAdmin(session);

object.put("success",true);

return object.toJSONString();

//获取管理员头像路径-ajax

@ResponseBody

@RequestMapping(value = "admin/login/profile_picture",method = RequestMethod.GET,produces = "application/json;charset=utf-8")

public String getAdminProfilePicture(@RequestParam String username){

logger.info("根据用户名获取管理员头像路径");

Admin admin = adminService.get(username,null);

JSONObject object = new JSONObject();

if(admin == null){

logger.info("未找到头像路径");

object.put("success",false);

} else {

logger.info("成功获取头像路径");


logger.info("登录验证失败");

object.put("success",false);

} else {

logger.info("登录验证成功,管理员ID传入会话");

session.setAttribute("adminId",admin);

object.put("success",true);

return object.toJSONString();

//获取管理员头像路径-ajax

@ResponseBody

@RequestMapping(value = "admin/login/profile_picture",method = RequestMethod.GET,produces = "application/json;charset=utf-8")

public String getAdminProfilePicture(@RequestParam String username){

@RequestMapping(value = "admin/login/doLogin",method = RequestMethod.POST,produces = "application/json;charset=utf-8")

public String checkLogin(HttpSession session, @RequestParam String username, @RequestParam String password) {

logger.info("管理员登录验证");

Integer admin = adminService.login(username,password);

JSONObject object = new JSONObject();

if(admin == null){

logger.info("登录验证失败");

object.put("success",false);

} else {

logger.info("登录验证成功,管理员ID传入会话");

session.setAttribute("adminId",admin);

object.put("totalPage", pageUtil.getTotalPage());

object.put("pageUtil", pageUtil);

return object.toJSONString();

// 上传分类图片-ajax

@ResponseBody

@RequestMapping(value = "admin/uploadCategoryImage", method = RequestMethod.POST, produces = "application/json;charset=utf-8")

public String uploadCategoryImage(@RequestParam MultipartFile file, HttpSession session) {

String originalFileName = file.getOriginalFilename();

logger.info("获取图片原始文件名:  {}", originalFileName);

String extension = originalFileName.substring(originalFileName.lastIndexOf('.'));

* 后台管理-用户页

*/

@Controller

public class UserController extends BaseController {

@Autowired

private UserService userService;

@Autowired

private AddressService addressService;

@Autowired

private ReviewService reviewService;

@Autowired

private ProductOrderItemService productOrderItemService;

logger.info("检查管理员权限");

Object adminId = checkAdmin(session);

if(adminId == null){

return "admin/include/loginMessage";

logger.info("获取order_id为{}的订单信息",oid);

ProductOrder order = productOrderService.get(oid);

logger.info("获取订单详情-地址信息");

Address address = addressService.get(order.getProductOrder_address().getAddress_areaId());

Stack<String> addressStack = new Stack<>();

//详细地址

addressStack.push(order.getProductOrder_detail_address());

//最后一级地址

addressStack.push(address.getAddress_name() + " ");

//如果不是第一级地址


addressStack.push(address.getAddress_name() + " ");

StringBuilder builder = new StringBuilder();

while (!addressStack.empty()) {

builder.append(addressStack.pop());

logger.warn("订单地址字符串:{}", builder);

order.setProductOrder_detail_address(builder.toString());

logger.info("获取订单详情-用户信息");

order.setProductOrder_user(userService.get(order.getProductOrder_user().getUser_id()));

logger.info("获取订单详情-订单项信息");

List<ProductOrderItem> productOrderItemList = productOrderItemService.getListByOrderId(oid, null);

private AdminService adminService;

//转到后台管理-登录页

@RequestMapping("admin/login")

public String goToPage(){

logger.info("转到后台管理-登录页");

return "admin/loginPage";

//登陆验证-ajax

@ResponseBody

@RequestMapping(value = "admin/login/doLogin",method = RequestMethod.POST,produces = "application/json;charset=utf-8")

public String checkLogin(HttpSession session, @RequestParam String username, @RequestParam String password) {

logger.info("管理员登录验证");

Integer admin = adminService.login(username,password);

JSONObject object = new JSONObject();

if(admin == null){

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值