基于javaweb的宠物商城带后台管理系统(java+ssm+jsp+jquery+ajax+mysql)

基于javaweb的宠物商城带后台管理系统(java+ssm+jsp+jquery+ajax+mysql)

运行环境

Java≥8、MySQL≥5.7、Tomcat≥8

开发工具

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

适用

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

功能说明

20220819204419

20220819204420

20220819204421

20220819204423

20220819204424

20220819204425

基于javaweb+mysql的宠物商城带后台管理系统(java+SSM+JSP+jQuery+Ajax+mysql)

项目介绍

该项目为前后台项目,分为普通用户与管理员两种角色,前台普通用户登录,后台管理员登录;

用户角色包含以下功能:

加入购物车,发表留言,提交订单,查看订单信息,会员注册,登录页面等功能。

管理员角色包含以下功能:

一级分类管理,宠物二级分类管理,宠物管理,宠物订单管理,用户管理,留言管理,管理员登录页面等功能。

环境需要

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项目:否;

技术栈

  1. 后端:Spring+SpringMVC+Mybatis 2. 前端:JSP+jQuery+Ajax

使用说明

  1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven; 若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行; 3. 将项目中jdbc.properties配置文件中的数据库配置改为自己的配置; 4. 运行项目,在浏览器中输入http://localhost:8080/ 登录 用户账号/密码: user/123456 管理员账号/密码:admin/admin

购物车Controller:

/**

  • 购物车Controller

*/

@Controller

@RequestMapping(“/system/cart”)

public class CartController extends BaseController

private String prefix = “system/cart”;

@Autowired

private ICartService cartService;

@RequiresPermissions(“system:cart:view”)

@GetMapping()

public String cart()

return prefix + “/cart”;

/**

  • 查询购物车列表

*/

@RequiresPermissions(“system:cart:list”)

@PostMapping(“/list”)

@ResponseBody

public TableDataInfo list(Cart cart)

Long userId = ShiroUtils.getSysUser().getUserId();

cart.setUserId(userId);

startPage();

List list = cartService.selectCartList(cart);

return getDataTable(list);

/**

  • 导出购物车列表

*/

@RequiresPermissions(“system:cart:export”)

@Log(title = “购物车”, businessType = BusinessType.EXPORT)

@PostMapping(“/export”)

@ResponseBody

public AjaxResult export(Cart cart)

List list = cartService.selectCartList(cart);

ExcelUtil util = new ExcelUtil(Cart.class);

return util.exportExcel(list, “cart”);

/**

  • 新增购物车

*/

@GetMapping(“/add”)

public String add()

return prefix + “/add”;

/**

  • 新增保存购物车

*/

@RequiresPermissions(“system:cart:add”)

@Log(title = “购物车”, businessType = BusinessType.INSERT)

@PostMapping(“/add”)

@ResponseBody

public AjaxResult addSave(Cart cart)

return toAjax(cartService.insertCart(cart));

/**

  • 新增保存购物车

*/

@Log(title = “购物车”, businessType = BusinessType.INSERT)

@GetMapping(“/addcart/{productId}”)

@ResponseBody

public AjaxResult addcart(@PathVariable(“productId”) Long productId,Cart cart)

Long userId = ShiroUtils.getSysUser().getUserId();

cart.setProductId(productId);

cart.setUserId(userId);

cartService.insertCart(cart);

return AjaxResult.success(“加入购物车成功!”);

/**

  • 修改购物车

*/

@GetMapping(“/edit/{cartId}”)

public String edit(@PathVariable(“cartId”) Long cartId, ModelMap mmap)

Cart cart = cartService.selectCartById(cartId);

mmap.put(“cart”, cart);

return prefix + “/edit”;

/**

  • 修改保存购物车

*/

@RequiresPermissions(“system:cart:edit”)

@Log(title = “购物车”, businessType = BusinessType.UPDATE)

@PostMapping(“/edit”)

@ResponseBody

public AjaxResult editSave(Cart cart)

return toAjax(cartService.updateCart(cart));

/**

  • 删除购物车

*/

@RequiresPermissions(“system:cart:remove”)

@Log(title = “购物车”, businessType = BusinessType.DELETE)

@PostMapping( “/remove”)

@ResponseBody

public AjaxResult remove(String ids)

return toAjax(cartService.deleteCartByIds(ids));

订单管理Controller:

/**

  • 订单管理Controller

*/

@Controller

@RequestMapping(“/system/order”)

public class OrderController extends BaseController

private String prefix = “system/order”;

@Autowired

private IOrderService orderService;

@Autowired

private IRoleService roleService;

@Autowired

private IProductService productService;

@Autowired

private IUserService userService;

@Autowired

private ICartService cartService;

@RequiresPermissions(“system:order:view”)

@GetMapping()

public String order(ModelMap mmap)

User user = ShiroUtils.getSysUser();

String roleString = roleService.selectRoleKeys(user.getUserId()).toString();

if(roleString.contains(“admin”)){

mmap.put(“loginRole”, “admin”);

}else if(roleString.contains(“seller”)){

mmap.put(“loginRole”, “seller”);

}else{

mmap.put(“loginRole”, “buyer”);

return prefix + “/order”;

/**

  • 查询订单管理列表

*/

@RequiresPermissions(“system:order:list”)

@PostMapping(“/list”)

@ResponseBody

public TableDataInfo list(Order order)

User user = ShiroUtils.getSysUser();

String roleString = roleService.selectRoleKeys(user.getUserId()).toString();

startPage();

List list;

if(roleString.contains(“admin”)){

list = orderService.selectOrderList(order);

}else if(roleString.contains(“seller”)){

list = orderService.selectOrderBySellerId(user.getUserId());

List queryList = new ArrayList();

if(StringUtils.isNotEmpty(order.getOrderStatus())){

for(int i = 0 ; i < list.size();i++){

if(list.get(i).getOrderStatus().equals(order.getOrderStatus())){

queryList.add(list.get(i));

list = queryList;

}else{

order.setUserId(user.getUserId());

list = orderService.selectOrderList(order);

return getDataTable(list);

/**

  • 导出订单管理列表

*/

@RequiresPermissions(“system:order:export”)

@Log(title = “订单管理”, businessType = BusinessType.EXPORT)

@PostMapping(“/export”)

@ResponseBody

public AjaxResult export(Order order)

List list = orderService.selectOrderList(order);

ExcelUtil util = new ExcelUtil(Order.class);

return util.exportExcel(list, “order”);

/**

  • 新增订单管理

*/

@GetMapping(“/add”)

public String add()

return prefix + “/add”;

/**

  • 新增保存订单管理

*/

@RequiresPermissions(“system:order:add”)

@Log(title = “订单管理”, businessType = BusinessType.INSERT)

@PostMapping(“/add”)

@ResponseBody

public AjaxResult addSave(Order order)

return toAjax(orderService.insertOrder(order));

/**

  • 前台创建订单

*/

@Log(title = “订单管理”, businessType = BusinessType.INSERT)

@PostMapping(“/create”)

@ResponseBody

public AjaxResult create(Order order)

// 先判断用户积分是否充足

User user = userService.selectUserById(ShiroUtils.getSysUser().getUserId());

// 订单为待支付的状态

order.setOrderStatus(“0”);

order.setUserId(user.getUserId());

order.setOrderTime(new Date());

order.setPayWay(“0”);

orderService.insertOrder(order);

// 删除购物车数据

Cart cart = new Cart();

cart.setUserId(order.getUserId());

cart.setProductId(order.getProductId());

List carts = cartService.selectCartList(cart);

for(Cart item : carts){

cartService.deleteCartById(item.getCartId());

return AjaxResult.success(order.getOrderId());

/**

  • 前台创建订单

*/

@Log(title = “订单管理”, businessType = BusinessType.INSERT)

@GetMapping(“/createorder/{productId}”)

public String createorder(@PathVariable(“productId”) Long productId , ModelMap mmap)

Product product = productService.selectProductById(productId);

mmap.put(“productId”, productId);

mmap.put(“orderPrice”, product.getProductPrice());

return “front/createorder”;

/**

  • 修改订单管理

*/

@GetMapping(“/edit/{orderId}”)

public String edit(@PathVariable(“orderId”) Long orderId, ModelMap mmap)

Order order = orderService.selectOrderById(orderId);

mmap.put(“order”, order);

return prefix + “/edit”;

/**

  • 修改订单管理

*/

@GetMapping(“/pay/{orderId}”)

public String pay(@PathVariable(“orderId”) Long orderId, ModelMap mmap)

Order order = orderService.selectOrderById(orderId);

mmap.put(“order”, order);

return prefix + “/pay”;

@GetMapping(“/comment/{orderId}”)

public String comment(@PathVariable(“orderId”) Long orderId, ModelMap mmap)

Order order = orderService.selectOrderById(orderId);

mmap.put(“order”, order);

return prefix + “/comment”;

/**

  • 修改保存订单管理

*/

@Log(title = “订单管理”, businessType = BusinessType.UPDATE)

@PostMapping(“/comment”)

@ResponseBody

public AjaxResult commentSave(Order order)

Order saveOrder = orderService.selectOrderById(order.getOrderId());

saveOrder.setOrderComment(order.getOrderComment());

saveOrder.setOrderCommentTime(new Date());

saveOrder.setOrderStatus(“5”);

saveOrder.setCommentUrl(order.getCommentUrl());

return toAjax(orderService.updateOrder(saveOrder));

@GetMapping(“/payOrder/{orderId}”)

@ResponseBody

public AjaxResult payOrder(@PathVariable(“orderId”) Long orderId, ModelMap mmap)

Order order = orderService.selectOrderById(orderId);

order.setOrderStatus(“1”);

return toAjax(orderService.updateOrder(order));

@PostMapping(“/payOrder”)

@ResponseBody

public AjaxResult payOrder(Order order, ModelMap mmap)

order.setOrderStatus(“1”);

return toAjax(orderService.updateOrder(order));

@GetMapping(“/confirmStatus/{orderId}”)

@ResponseBody

public AjaxResult confirmStatus(@PathVariable(“orderId”) Long orderId, ModelMap mmap)

Order order = orderService.selectOrderById(orderId);

order.setOrderStatus(“2”);

return toAjax(orderService.updateOrder(order));

@GetMapping(“/sendStatus/{orderId}”)

@ResponseBody

public AjaxResult sendStatus(@PathVariable(“orderId”) Long orderId, ModelMap mmap)

Order order = orderService.selectOrderById(orderId);

order.setOrderStatus(“3”);

return toAjax(orderService.updateOrder(order));

@GetMapping(“/receiveStatus/{orderId}”)

@ResponseBody

public AjaxResult receiveStatus(@PathVariable(“orderId”) Long orderId, ModelMap mmap)

Order order = orderService.selectOrderById(orderId);

order.setOrderStatus(“4”);

return toAjax(orderService.updateOrder(order));

/**

  • 修改保存订单管理

*/

@RequiresPermissions(“system:order:edit”)

@Log(title = “订单管理”, businessType = BusinessType.UPDATE)

@PostMapping(“/edit”)

@ResponseBody

public AjaxResult editSave(Order order)

return toAjax(orderService.updateOrder(order));

/**

  • 删除订单管理

*/

@RequiresPermissions(“system:order:remove”)

@Log(title = “订单管理”, businessType = BusinessType.DELETE)

@PostMapping( “/remove”)

@ResponseBody

public AjaxResult remove(String ids)

return toAjax(orderService.deleteOrderByIds(ids));

用户信息管理控制层:

/**

  • 用户信息

*/

@Controller

@RequestMapping(“/system/user”)

public class UserController extends BaseController

private String prefix = “system/user”;

@Autowired

private IUserService userService;

@Autowired

private IRoleService roleService;

@Autowired

private IPostService postService;

@RequiresPermissions(“system:user:view”)

@GetMapping()

public String user()

return prefix + “/user”;

@RequiresPermissions(“system:user:list”)

@PostMapping(“/list”)

@ResponseBody

public TableDataInfo list(User user)

startPage();

List list = userService.selectUserList(user);

return getDataTable(list);

@Log(title = “用户管理”, businessType = BusinessType.EXPORT)

@RequiresPermissions(“system:user:export”)

@PostMapping(“/export”)

@ResponseBody

public AjaxResult export(User user)

List list = userService.selectUserList(user);

ExcelUtil util = new ExcelUtil(User.class);

return util.exportExcel(list, “用户数据”);

@Log(title = “用户管理”, businessType = BusinessType.IMPORT)

@RequiresPermissions(“system:user:import”)

@PostMapping(“/importData”)

@ResponseBody

public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception

ExcelUtil util = new ExcelUtil(User.class);

List userList = util.importExcel(file.getInputStream());

String message = userService.importUser(userList, updateSupport);

return AjaxResult.success(message);

@RequiresPermissions(“system:user:view”)

@GetMapping(“/importTemplate”)

@ResponseBody

public AjaxResult importTemplate()

ExcelUtil util = new ExcelUtil(User.class);

return util.importTemplateExcel(“用户数据”);

/**

  • 新增用户

*/

@GetMapping(“/add”)

public String add(ModelMap mmap)

mmap.put(“roles”, roleService.selectRoleAll());

mmap.put(“posts”, postService.selectPostAll());

return prefix + “/add”;

/**

  • 新增保存用户

*/

@RequiresPermissions(“system:user:add”)

@Log(title = “用户管理”, businessType = BusinessType.INSERT)

@PostMapping(“/add”)

@ResponseBody

public AjaxResult addSave(@Validated User user)

if (UserConstants.USER_NAME_NOT_UNIQUE.equals(userService.checkLoginNameUnique(user.getLoginName())))

return error(“新增用户’” + user.getLoginName() + “'失败,登录账号已存在”);

else if (UserConstants.USER_PHONE_NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))

return error(“新增用户’” + user.getLoginName() + “'失败,手机号码已存在”);

else if (UserConstants.USER_EMAIL_NOT_UNIQUE.equals(userService.checkEmailUnique(user)))

return error(“新增用户’” + user.getLoginName() + “'失败,邮箱账号已存在”);

return toAjax(userService.insertUser(user));

/**

  • 修改用户

*/

@GetMapping(“/edit/{userId}”)

public String edit(@PathVariable(“userId”) Long userId, ModelMap mmap)

mmap.put(“user”, userService.selectUserById(userId));

mmap.put(“roles”, roleService.selectRolesByUserId(userId));

mmap.put(“posts”, postService.selectPostsByUserId(userId));

return prefix + “/edit”;

/**

  • 修改保存用户

*/

@RequiresPermissions(“system:user:edit”)

@Log(title = “用户管理”, businessType = BusinessType.UPDATE)

@PostMapping(“/edit”)

@ResponseBody

public AjaxResult editSave(@Validated User user)

userService.checkUserAllowed(user);

if (UserConstants.USER_PHONE_NOT_UNIQUE.equals(userService.checkPhoneUnique(user)))

return error(“修改用户’” + user.getLoginName() + “'失败,手机号码已存在”);

else if (UserConstants.USER_EMAIL_NOT_UNIQUE.equals(userService.checkEmailUnique(user)))

return error(“修改用户’” + user.getLoginName() + “'失败,邮箱账号已存在”);

return toAjax(userService.updateUser(user));

@RequiresPermissions(“system:user:resetPwd”)

@Log(title = “重置密码”, businessType = BusinessType.UPDATE)

@GetMapping(“/resetPwd/{userId}”)

public String resetPwd(@PathVariable(“userId”) Long userId, ModelMap mmap)

mmap.put(“user”, userService.selectUserById(userId));

return prefix + “/resetPwd”;

@RequiresPermissions(“system:user:resetPwd”)

@Log(title = “重置密码”, businessType = BusinessType.UPDATE)

@PostMapping(“/resetPwd”)

@ResponseBody

public AjaxResult resetPwdSave(User user)

userService.checkUserAllowed(user);

if (userService.resetUserPwd(user) > 0)

if (ShiroUtils.getUserId() == user.getUserId())

setSysUser(userService.selectUserById(user.getUserId()));

return success();

return error();

@RequiresPermissions(“system:user:remove”)

@Log(title = “用户管理”, businessType = BusinessType.DELETE)

@PostMapping(“/remove”)

@ResponseBody

public AjaxResult remove(String ids)

try

return toAjax(userService.deleteUserByIds(ids));

catch (Exception e)

return error(e.getMessage());

/**

  • 校验用户名

*/

@PostMapping(“/checkLoginNameUnique”)

@ResponseBody

public String checkLoginNameUnique(User user)

return userService.checkLoginNameUnique(user.getLoginName());

/**

  • 校验手机号码

*/

@PostMapping(“/checkPhoneUnique”)

@ResponseBody

public String checkPhoneUnique(User user)

return userService.checkPhoneUnique(user);

/**

  • 校验email邮箱

*/

@PostMapping(“/checkEmailUnique”)

@ResponseBody

public String checkEmailUnique(User user)

return userService.checkEmailUnique(user);

/**

  • 用户状态修改

*/

@Log(title = “用户管理”, businessType = BusinessType.UPDATE)

@RequiresPermissions(“system:user:edit”)

@PostMapping(“/changeStatus”)

@ResponseBody

public AjaxResult changeStatus(User user)

userService.checkUserAllowed(user);

return toAjax(userService.changeStatus(user));


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于Java Web的宠物管理系统设计开题答辩: 尊敬的评委老师们,大家好。我今天非常荣幸能够在这里向大家介绍我的开题答辩课题,即基于Java Web的宠物管理系统设计。 首先,我想简要说明我选择这一课题的原因。当前,宠物市场非常火爆,越来越多的人选择养宠物,因此一个方便且高效的宠物管理系统变得尤为重要。通过设计该系统,我们可以提供给宠物主人一个便捷的方式来管理自己的宠物信息,为宠物主人和宠物店主之间架起一座桥梁,促进宠物市场的进一步发展。 接下来,我将阐述我设计的宠物管理系统的主要功能和技术实现。首先,用户可以通过系统进行宠物种类的查询,并且可以根据自己的需求筛选合适的宠物。同时,用户还可以通过系统进行商品的购买,实现宠物用品的在线销售。系统还将提供用户账号注册和登录功能,以保护用户的信息安全。此外,宠物店主也可以通过系统进行宠物库存管理,方便进行进货和销售的合理安排。系统还将提供在线支付功能,方便用户和宠物店主的交易,提升用户体验。 在技术实现方面,我将使用Java作为开发语言,并使用Java Web框架来搭建系统的基本架构。数据库部分,我将使用MySQL来设计和管理系统的数据表。系统界面设计将采用HTML、CSS和JavaScript技术来实现,使得用户可以直观地操作系统。另外,我还将使用Spring MVC框架来实现系统的前后端交互,以及Spring Security框架来加强系统的安全性能。 最后,我将进行系统的详细设计和开发,包括数据库的设计与建立、系统功能的实现、用户界面的设计与实现等。同时,我也会进行系统的测试和优化,确保系统的稳定性和性能。 通过我的努力,我相信这个基于Java Web的宠物管理系统设计将能够为宠物主人和宠物店主们提供一个高效、便捷的交流与管理平台。感谢大家的关注和支持!谢谢!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值