首页 > 分享 > Java项目:宠物领养管理系统(java+SSM+JSP+JS+JQUERY+Layui+Mysql)

Java项目:宠物领养管理系统(java+SSM+JSP+JS+JQUERY+Layui+Mysql)

 源码获取:俺的博客首页 "资源" 里下载!

项目介绍

主要功能包括:

本系统分为用户和管理员两个角色,

管理员模块主要功能有:
(1)账号密码注册登录,可修改密码。
(2)用户信息管理,可以查看所有用户信息,并执行删除修改功能。
(3)轮播图、通知公告内容的发布。
(4)发布宠物饲养视频,包括添加视频类别。
(5)领养宠物信息的发布、删除、修改等。
(6)查看用户领养申请,操作同意和拒绝按钮。

用户模块主要功能有:
(1)注册登录,上传个人信息,个人地址。
(2)进入首页,轮播图展示宠物图片,查看通知公告,查看感谢信模块。
(3)宠物教学页面,点击进入宠物教学页面,观看宠物饲养教学视频,视频根据动物类别分类,支持模糊查询搜索视频,用户可以点赞留言。
(4)宠物认领页面,查看所有宠物认领信息列表,点击查看宠物详情,点击认领按钮后,填写宠物丢失详情(时间、地点,宠物特点等)等待发布者查看审核,通过后留下联系方式。
(5)宠物领养页面,查看管理员发布的宠物领养信息列表,点击查看宠物详情,提交领养申请,等待管理员审核,通过后方可领养。
(6)发布宠物认领信息,发布标题图片和文字描述,等待遗失者认领。
(7)写感谢信供其他用户首页查看。
(8)联系网站救助小动物热线以及留言板


环境需要

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/8.0等版本均可;


技术栈

后端:SSM(Spring+SpringMVC+Mybatis)

前端:JSP+CSS+JS+JQUERY+Layui


使用说明

1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
3. 将项目中db.xml配置文件中的数据库配置改为自己的配置,然后运行;

 

 

 

用户信息管理控制层: 

@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<User> 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<User> list = userService.selectUserList(user);

ExcelUtil<User> util = new ExcelUtil<User>(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<User> util = new ExcelUtil<User>(User.class);

List<User> 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<User> util = new ExcelUtil<User>(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);

}

@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));

}

}

登录管理控制层:

@Controller

public class LoginController extends BaseController

{

@Autowired

public RoleServiceImpl roleService;

@Autowired

public UserServiceImpl userService;

@GetMapping("/login")

public String login(HttpServletRequest request, HttpServletResponse response)

{

if (ServletUtils.isAjaxRequest(request))

{

return ServletUtils.renderString(response, "{"code":"1","msg":"未登录或登录超时。请重新登录"}");

}

return "login";

}

@PostMapping("/login")

@ResponseBody

public AjaxResult ajaxLogin(String username, String password, Boolean rememberMe)

{

UsernamePasswordToken token = new UsernamePasswordToken(username, password, rememberMe);

Subject subject = SecurityUtils.getSubject();

try

{

subject.login(token);

return success();

}

catch (AuthenticationException e)

{

String msg = "用户或密码错误";

if (StringUtils.isNotEmpty(e.getMessage()))

{

msg = e.getMessage();

}

return error(msg);

}

}

@GetMapping("/regist")

public String regist(ModelMap mmap){

System.out.println("用户注册");

mmap.put("roles", roleService.selectGeneralRole());

return "regist";

}

@PostMapping("/regist")

@ResponseBody

public AjaxResult ajaxRegist(User user)

{

return toAjax(userService.registUser(user));

}

@GetMapping("/forget")

public String forget(ModelMap mmap){

return "/forget";

}

@Log(title = "忘记密码", businessType = BusinessType.UPDATE)

@PostMapping("/forget")

@ResponseBody

public AjaxResult forget(User user)

{

if(StringUtils.isEmpty(user.getLoginName()) || StringUtils.isEmpty(user.getEmail())){

return error("请输入用户名和邮箱!");

}

List<User> userList = userService.selectUserList(user);

if(userList == null || userList.size() == 0){

return error("输入的用户名/邮箱不匹配!");

}else{

user.setUserId(userList.get(0).getUserId());

user.setPassword("123456");

userService.resetUserPwd(user);

return success();

}

}

@GetMapping("/unauth")

public String unauth()

{

return "error/unauth";

}

}

寄养订单管理控制层: 

@Controller

@RequestMapping("/system/parkPetOrder")

public class SysParkpetOrderController extends BaseController

{

private String prefix = "system/parkPetOrder";

@Autowired

private ISysParkpetOrderService sysParkpetOrderService;

@Autowired

private IProductService productService;

@GetMapping("/parkPetOrderList")

public String parkPetOrderList(){

return prefix + "/order";

}

@GetMapping("/order")

public String order(ModelMap mmap)

{

User user = ShiroUtils.getSysUser();

if (user != null) {

mmap.put("userName", user.getUserName());

}

Product product = new Product();

product.setProductType("宠物信息");

product.setPetType("售卖");

List<Product> productList = productService.selectProductList(product);

mmap.put("productList", productList);

return "front/parkPetOrder";

}

@PostMapping("/list")

@ResponseBody

public TableDataInfo list(SysParkpetOrder sysParkpetOrder)

{

startPage();

User user = ShiroUtils.getSysUser();

if(user.getRoles().get(0).getRoleId() == 2){

sysParkpetOrder.setUserId(user.getUserId());

}

List<SysParkpetOrder> list = sysParkpetOrderService.selectSysParkpetOrderList(sysParkpetOrder);

return getDataTable(list);

}

@GetMapping("/add")

public String add()

{

return prefix + "/add";

}

@Log(title = "寄养订单管理", businessType = BusinessType.INSERT)

@PostMapping("/add")

@ResponseBody

public AjaxResult addSave(SysParkpetOrder sysParkpetOrder)

{

sysParkpetOrder.setStatus("待寄养");

User user = ShiroUtils.getSysUser();

sysParkpetOrder.setUserId(user.getUserId());

SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmsss");

String number = format.format(new Date());

sysParkpetOrder.setOrderNumber(number);

sysParkpetOrderService.insertSysParkpetOrder(sysParkpetOrder);

return AjaxResult.success(number);

}

@GetMapping("/edit/{id}")

public String edit(@PathVariable("id") Long id, ModelMap mmap)

{

SysParkpetOrder sysParkpetOrder = sysParkpetOrderService.selectSysParkpetOrderById(id);

mmap.put("sysParkpetOrder", sysParkpetOrder);

return prefix + "/edit";

}

@Log(title = "寄养订单管理", businessType = BusinessType.UPDATE)

@PostMapping("/edit")

@ResponseBody

public AjaxResult editSave(SysParkpetOrder sysParkpetOrder)

{

return toAjax(sysParkpetOrderService.updateSysParkpetOrder(sysParkpetOrder));

}

@Log(title = "寄养订单管理", businessType = BusinessType.DELETE)

@PostMapping( "/remove")

@ResponseBody

public AjaxResult remove(String ids)

{

return toAjax(sysParkpetOrderService.deleteSysParkpetOrderByIds(ids));

}

}

源码获取:俺的博客首页 "资源" 里下载!

相关知识

【源码及课件分享】Java实战项目之宠物领养系统
基于java的宠物管理系统毕业设计(项目报告+答辩PPT+源代码+数据库+截图+部署视频)
【毕业设计之java系列】基于springboot流浪猫狗领养管理系统
计算机毕业设计 SSM+Vue宠物管理系统 宠物商城 宠物用品购物平台 宠物领养救助系统 Java Vue MySQL数据库 远程调试 代码讲解
java计算机毕业设计ssm宠物店管理系统
案例27:基于Java宠物领养系统开题报告设计
毕业设计:基于java的宠物领养系统设计与实现
毕设项目:宠物之家管理系统(JSP+java+springmvc+mysql+MyBatis)
Java项目
Java基于JAVA语言的宠物寄养管理(开题+源码)

网址: Java项目:宠物领养管理系统(java+SSM+JSP+JS+JQUERY+Layui+Mysql) https://m.mcbbbk.com/newsview107837.html

所属分类:萌宠日常
上一篇: 配对阅读。左栏是5个宠物爱好者的
下一篇: 寻找爱犬新主人的温馨文案