本系统主要实现的功能有:
前端公司主页、政策、新闻咨询、联系地址、在线留言、在线下单,查询快递物流信息等,
后台主要的功能有:菜单管理、角色管理、用户管理、新闻管理、日志管理、留言管理、订单管理等。





前台登录注册控制层:
/**

  • 前台登录注册控制层
    */
    @Controller
    @RequestMapping("/home/index")
    public class HomeLoginController {

    @Autowired
    private HomeUserService homeUserService;

    /**

    • 跳转到登录页面
    • @return
      */
      @RequestMapping(value="/login",method= RequestMethod.GET)
      public String login(){
      return “home/login”;
      }

    /**

    • 用户登录
    • @param mobile
    • @param password
    • @return
      */
      @RequestMapping(value="/login",method= RequestMethod.POST)
      @ResponseBody
      public Result login(@RequestParam(“mobile”)String mobile,@RequestParam(“password”)String password) {
      //正则验证输入的手机号是否合法
      String checkPhone = “^1[3|4|5|7|8]\d{9}$”;
      Pattern r = Pattern.compile(checkPhone);
      Matcher m = r.matcher(mobile);
      if (!m.matches()) {
      return Result.error(CodeMsg.HOMEUSER_MOBILE_ERROR);
      }
      HomeUser byMobile = homeUserService.findByMobile(mobile);
      if (byMobile == null){
      return Result.error(CodeMsg.HOMEUSER_NO_EXIST);
      }
      if (byMobile.getStatus() == 0){
      return Result.error(CodeMsg.HOMEUSER_STATUS_ERROR);
      }
      if (!byMobile.getPassword().equals(password)){
      return Result.error(CodeMsg.HOMEUSER_PASSWORD_ERROR);
      }
      SessionUtil.set(SessionConstant.SESSION_HOME_USER_LOGIN_KEY, byMobile);
      return Result.success(true);

    }

    /**

    • 跳转到注册页面
    • @return
      */
      @RequestMapping(value="/register",method= RequestMethod.GET)
      public String register(){
      return “home/register”;
      }

    /**

    • 用户注册
    • @param homeUser
    • @param code
    • @return
      */
      @RequestMapping(value="/register",method= RequestMethod.POST)
      @ResponseBody
      public Result register(HomeUser homeUser, @RequestParam(“reCode”) String code) {
      //正则验证输入的手机号是否合法
      String checkPhone = “^1[3|4|5|7|8]\d{9}$”;
      Pattern r = Pattern.compile(checkPhone);
      Matcher m = r.matcher(homeUser.getMobile());
      if (!m.matches()) {
      return Result.error(CodeMsg.HOMEUSER_MOBILE_ERROR);
      }
      if (!StringUtil.emailFormat(homeUser.getEmail())) {
      return Result.error(CodeMsg.COMMON_EMAIL_FORMAET_ERROR);
      }
      if (code == null) {
      return Result.error(CodeMsg.HOMEUSER_CODE_ERROR);
      }
      if (code.length() != 4) {
      return Result.error(CodeMsg.HOMEUSER_CODE_LENGTH_ERROR);
      }
      Object attr = SessionUtil.get(SessionConstant.HOME_USER_REGISTER_CODE);
      if (attr == null) {
      return Result.error(CodeMsg.CODE_NOT_EMPTY);
      }
      if (!code.equalsIgnoreCase(attr.toString())) {
      return Result.error(CodeMsg.CPACHA_ERROR);
      }
      //判断手机号是否已注册
      if(homeUserService.isExistMobile(homeUser.getMobile(),0L)){
      return Result.error(CodeMsg.HOMEUSER_MOBILE_EXIST);
      }
      if (homeUserService.save(homeUser) == null) {
      return Result.error(CodeMsg.HOMEUSER_ADD_ERROR);
      }
      SessionUtil.set(SessionConstant.HOME_USER_REGISTER_CODE, null);
      return Result.success(true);

    }

    /**

    • 跳转到忘记密码
    • @return
      */
      @RequestMapping(value="/forget",method= RequestMethod.GET)
      public String forget(){
      return “home/forget_password”;
      }

    /**

    • 修改密码
    • @param homeUser
    • @param code
    • @return
      */
      @RequestMapping(value="/forget",method= RequestMethod.POST)
      @ResponseBody
      public Result forget(HomeUser homeUser, @RequestParam(“reCode”) String code) {
      //正则验证输入的手机号是否合法
      String checkPhone = “^1[3|4|5|7|8]\d{9}$”;
      Pattern r = Pattern.compile(checkPhone);
      Matcher m = r.matcher(homeUser.getMobile());
      if (!m.matches()) {
      return Result.error(CodeMsg.HOMEUSER_MOBILE_ERROR);
      }
      if (!StringUtil.emailFormat(homeUser.getEmail())) {
      return Result.error(CodeMsg.COMMON_EMAIL_FORMAET_ERROR);
      }
      if (code == null) {
      return Result.error(CodeMsg.HOMEUSER_CODE_ERROR);
      }
      if (code.length() != 4) {
      return Result.error(CodeMsg.HOMEUSER_CODE_LENGTH_ERROR);
      }
      Object attr = SessionUtil.get(SessionConstant.HOME_USER_FORGET_PASSWORD_CODE);
      if (attr == null) {
      return Result.error(CodeMsg.CODE_NOT_EMPTY);
      }
      if (!code.equalsIgnoreCase(attr.toString())) {
      return Result.error(CodeMsg.CPACHA_ERROR);
      }
      //判断手机号是否已注册
      HomeUser byMobile = homeUserService.findByMobile(homeUser.getMobile());
      if (byMobile == null) {
      return Result.error(CodeMsg.HOMEUSER_NO_EXIST);
      }
      if (!byMobile.getEmail().equals(homeUser.getEmail())){
      return Result.error(CodeMsg.CODE_NOT_ERROR);
      }
      byMobile.setPassword(homeUser.getPassword());
      if (homeUserService.save(byMobile) == null) {
      return Result.error(CodeMsg.HOMEUSER_FORGET_ERROR);
      }
      SessionUtil.set(SessionConstant.HOME_USER_FORGET_PASSWORD_CODE, null);
      return Result.success(true);

    }

    /**

    • 退出
    • @return
      */
      @RequestMapping(value = “logout”, method = RequestMethod.POST)
      @ResponseBody
      public Result logout() {
      HttpSession session = SessionUtil.getSession();
      HomeUser homeUser = SessionUtil.getHomeUser();
      if (homeUser != null) {
      session.removeAttribute(SessionConstant.SESSION_HOME_USER_LOGIN_KEY);
      }
      return Result.success(true);
      }

后台管理员管理控制器:/**

  • 后台管理员管理控制器
  • @author yy

*/
@RequestMapping("/admin/user")
@Controller
public class UserController {

@Autowired
private UserService userService;
@Autowired
private RoleService roleService;
@Autowired
private OperaterLogService operaterLogService;
/*** 管理员列表页面* @param model* @param user* @param pageBean* @return*/
@RequestMapping(value="/list")
public String list(Model model,User user,PageBean<User> pageBean){model.addAttribute("title", "管理员列表");model.addAttribute("username", user.getUsername());model.addAttribute("pageBean", userService.findList(pageBean,user.getUsername(), UserRoleTypeEnum.ADMIN));return "admin/user/list";
}/*** 新增管理员页面* @param model* @return*/
@RequestMapping(value="/add",method=RequestMethod.GET)
public String add(Model model){model.addAttribute("roles", roleService.findAllByRoleType(UserRoleTypeEnum.ADMIN));return "admin/user/add";
}/*** 管理员添加表单提交处理* @param user* @return*/
@RequestMapping(value="/add",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> add(User user){//用统一验证实体方法验证是否合法CodeMsg validate = ValidateEntityUtil.validate(user);if(validate.getCode() != CodeMsg.SUCCESS.getCode()){return Result.error(validate);}if(user.getRole() == null || user.getRole().getId() == null){return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY);}//判断管理员名是否存在if(userService.isExistUsername(user.getUsername(), 0L)){return Result.error(CodeMsg.ADMIN_USERNAME_EXIST);}user.setUserType(UserRoleTypeEnum.ADMIN);//到这说明一切符合条件,进行数据库新增if(userService.save(user) == null){return Result.error(CodeMsg.ADMIN_USE_ADD_ERROR);}operaterLogService.add("添加管理员,管理员名:" + user.getUsername());return Result.success(true);
}/*** 管理员编辑页面* @param model* @return*/
@RequestMapping(value="/edit",method=RequestMethod.GET)
public String edit(Model model,@RequestParam(name="id",required=true)Long id){model.addAttribute("roles", roleService.findAllByRoleType(UserRoleTypeEnum.ADMIN));model.addAttribute("user", userService.find(id));return "admin/user/edit";
}/*** 编辑管理员信息表单提交处理* @param user* @return*/
@RequestMapping(value="/edit",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> edit(User user){//用统一验证实体方法验证是否合法CodeMsg validate = ValidateEntityUtil.validate(user);if(validate.getCode() != CodeMsg.SUCCESS.getCode()){return Result.error(validate);}if(user.getRole() == null || user.getRole().getId() == null){return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY);}if(user.getId() == null || user.getId().longValue() <= 0){return Result.error(CodeMsg.ADMIN_USE_NO_EXIST);}if(userService.isExistUsername(user.getUsername(), user.getId())){return Result.error(CodeMsg.ADMIN_USERNAME_EXIST);}//到这说明一切符合条件,进行数据库保存User findById = userService.find(user.getId());//讲提交的管理员信息指定字段复制到已存在的user对象中,该方法会覆盖新字段内容BeanUtils.copyProperties(user, findById, "id","createTime","updateTime","userType");if(userService.save(findById) == null){return Result.error(CodeMsg.ADMIN_USE_EDIT_ERROR);}operaterLogService.add("编辑管理员,管理员名:" + user.getUsername());return Result.success(true);
}/*** 删除管理员* @param id* @return*/
@RequestMapping(value="/delete",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> delete(@RequestParam(name="id",required=true)Long id){try {userService.delete(id);} catch (Exception e) {return Result.error(CodeMsg.ADMIN_USE_DELETE_ERROR);}operaterLogService.add("删除管理员,管理员ID:" + id);return Result.success(true);
}

后台角色管理控制器:
/**

  • 后台角色管理控制器
  • @author yy

*/
@RequestMapping("/admin/role")
@Controller
public class RoleController {

private Logger log = LoggerFactory.getLogger(RoleController.class);@Autowired
private MenuService menuService;@Autowired
private OperaterLogService operaterLogService;@Autowired
private RoleService roleService;/*** 分页搜索角色列表* @param model* @param role* @param pageBean* @return*/
@RequestMapping(value="/list")
public String list(Model model,Role role,PageBean<Role> pageBean){model.addAttribute("title", "角色列表");model.addAttribute("name", role.getName());model.addAttribute("pageBean", roleService.findByName(role, pageBean));return "admin/role/list";
}/*** 角色添加页面* @param model* @return*/
@RequestMapping(value="/add",method=RequestMethod.GET)
public String add(Model model){List<Menu> findAll = menuService.findAll();model.addAttribute("roleTypes", UserRoleTypeEnum.values());model.addAttribute("topMenus",MenuUtil.getTopMenus(findAll));model.addAttribute("secondMenus",MenuUtil.getSecondMenus(findAll));model.addAttribute("thirdMenus",MenuUtil.getThirdMenus(findAll));return "admin/role/add";
}/*** 角色添加表单提交处理* @param role* @return*/
@RequestMapping(value="/add",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> add(Role role){Role top1ByRoleType = roleService.findTop1ByRoleTypeAndRoleTypeNot(role.getRoleType());if (top1ByRoleType != null){return Result.error(CodeMsg.ADMIN_ROLE_EXIST);}//用统一验证实体方法验证是否合法CodeMsg validate = ValidateEntityUtil.validate(role);if(validate.getCode() != CodeMsg.SUCCESS.getCode()){return Result.error(validate);}if(roleService.save(role) == null){return Result.error(CodeMsg.ADMIN_ROLE_ADD_ERROR);}log.info("添加角色【"+role+"】");operaterLogService.add("添加角色【"+role.getName()+"】");return Result.success(true);
}/*** 角色编辑页面* @param id* @param model* @return*/
@RequestMapping(value="/edit",method=RequestMethod.GET)
public String edit(@RequestParam(name="id",required=true)Long id,Model model){List<Menu> findAll = menuService.findAll();model.addAttribute("topMenus",MenuUtil.getTopMenus(findAll));model.addAttribute("secondMenus",MenuUtil.getSecondMenus(findAll));model.addAttribute("thirdMenus",MenuUtil.getThirdMenus(findAll));Role role = roleService.find(id);model.addAttribute("role", role);model.addAttribute("authorities",JSONArray.toJSON(role.getAuthorities()).toString());model.addAttribute("roleTypes", UserRoleTypeEnum.values());return "admin/role/edit";
}/*** 角色修改表单提交处理* @param request* @param role* @return*/
@RequestMapping(value="/edit",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> edit(Role role){//用统一验证实体方法验证是否合法CodeMsg validate = ValidateEntityUtil.validate(role);if(validate.getCode() != CodeMsg.SUCCESS.getCode()){return Result.error(validate);}Role existRole = roleService.find(role.getId());if(existRole == null){return Result.error(CodeMsg.ADMIN_ROLE_NO_EXIST);}existRole.setName(role.getName());existRole.setRemark(role.getRemark());existRole.setStatus(role.getStatus());existRole.setAuthorities(role.getAuthorities());if(roleService.save(existRole) == null){return Result.error(CodeMsg.ADMIN_ROLE_EDIT_ERROR);}log.info("编辑角色【"+role+"】");operaterLogService.add("编辑角色【"+role.getName()+"】");return Result.success(true);
}/*** 删除角色* @param request* @param id* @return*/
@RequestMapping(value="delete",method=RequestMethod.POST)
@ResponseBody
public Result<Boolean> delete(@RequestParam(name="id",required=true)Long id){try {roleService.delete(id);} catch (Exception e) {// TODO: handle exceptionreturn Result.error(CodeMsg.ADMIN_ROLE_DELETE_ERROR);}log.info("编辑角色ID【"+id+"】");operaterLogService.add("删除角色ID【"+id+"】");return Result.success(true);
}

Java项目:物流快递管理系统(java+SSM+jsp+mysql)相关推荐

  1. Java项目:养老院管理系统(java+Spring Boot + SpringMVC + MyBatis+HTML+CSS+JavaScrip+ Layui+maven+mysql)

    源码获取:博客首页 "资源" 里下载! 关注公众号,带你学Java 项目介绍 : Spring Boot + SpringMVC + MyBatis+ Mysql + druid ...

  2. Java项目:健身俱乐部管理系统(java+SSM+Mysql+Jsp)

    源码获取:博客首页 "资源" 里下载! 项目介绍: 基于jsp+mysql+Spring+mybatis的SSM健身房管理系统 运行环境: jdk 1.8 IDE环境: Eclip ...

  3. Java项目:养老院管理系统(java+SSM+BootStrap+jsp+Maven+mysql)

    源码获取:博客首页 "资源" 里下载! 养老院管理系统 该系统主要功能室养老院系统,采用mvc三层架构 1.采用技术书spring.springmvc.mybatis.maven等 ...

  4. Java项目:酒店管理系统(java+SSM+jsp+mysql+maven)

    源码获取:博客首页 "资源" 里下载! 主要技术:java springmvc  mybatis   mysql  tomcat js   jauery  jsp   log4j等 ...

  5. Java项目:房屋销售管理系统(java+SSM+JSP+jQuery+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目包含管理员与买家两种角色: 管理员角色包含以下功能: 管理员登录,房源信息管理,合同信息管理,账户管理,申请看房信息管理 ...

  6. Java项目:汽车出租管理系统(java+SSM+JSP+jquery+Mysql)

    源码获取:俺的博客首页 "资源" 里下载! 项目介绍 本项目包含管理员.用户.技术人员.工作人员等四种角色: 管理员角色包含以下功能: 管理员登录,员工管理,车辆管理,公告管理,图 ...

  7. Java项目:房屋租赁管理系统(java+SSM+Layui+Maven+Mysql+Jsp)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能包括: 房屋租赁管理系统是一款方便快捷,易操作的租房和各种物业收费的管理系统,该系统官网包含着用户和管理员分类登录,减少了 ...

  8. Java项目:图书管理系统(java+SSM+jsp+mysql+maven)

    源码获取:博客首页 "资源" 里下载! 一.项目简述 功能包括(管理员和学生角色): 管理员和学生登录,图书管理,图书添加删除修改,图书 借阅,图书归还,图书查看,学生管理,借还管 ...

  9. Java项目:房屋租赁管理系统(java+SSM+Layui+Maven+Mysql+Jsp

    一.项目简述 功能包括: 房屋租赁管理系统是一款方便快捷,易操作的租房和各种物业收费的管理系统,该系统官网包含着用户和管理员分类登录,减少了为使用管理员系统的开支,用户分别支持手机网上或电脑网页快捷的 ...

最新文章

  1. 【下有对策】verycd没有的资源有很多方法下载
  2. linux常用工具及命令
  3. matlab之reshape函数
  4. 王道 ——线程概念和多线程模型
  5. linux uname命令参数及用法详解--linux查看系统信息命令
  6. leetcode 181 Employees Earning More Than Their Managers 不会分析的数据库复杂度
  7. mongodb的用法
  8. 思科路由器配置命令(四)
  9. python生成vcf通讯录文件
  10. 人工智能作用现代认知战探析
  11. 轻松学习CAN总线系列---2.了解CAN总线网络
  12. Android WebView支持文件下载之调起浏览器下载(Java与Kotlin版)
  13. 付费系列 6 - 离散型障碍和触碰期权 PDE 有限差分
  14. 闭包是什么?五分钟带你了解闭包
  15. 熔化焊接与热切割作业实操实训考核装置
  16. 日本汽车氢能源行业的发展现状
  17. Vue企业微信扫码登录
  18. java四叶玫瑰_[转载]java编程——四叶玫瑰线
  19. dp-最长公共子序列
  20. Alfred实现搜索印象笔记功能

热门文章

  1. 织梦窗帘布窗门类中英文网站源码自适应手机版
  2. 長井志江:AI模拟并协助自闭症患者,探究人类认知与意识本质|42问AI与机器人未来...
  3. 微信小程序将unicode格式内容转为中文
  4. IC卡电表及用电信息管理系统
  5. 【ArcGIS微课1000例】0031:ArcGIS中的32个拓扑规则(图文详解)
  6. python re模块
  7. LabVIEW范例无法打开解决办法
  8. Linux C获取本机IP
  9. STC8H库函数使用笔记
  10. 华三交换机配置access命令_h3c交换机配置命令