赞
踩
以往的家政服务管理平台的管理,一般都是纸质文件来管理家政服务信息,传统的管理方式已经无法满足现代人们的需求;使用家政服务管理平台, 首先可以大幅提高家政服务信息检索,只需输入家政服务相关信息就能在数秒内反馈想要的结果;其次可存储大量的家政服务信息,同时家政服务信息安全性有更高的保障;这些优点大大提高运营效率并节省运营成本。因此,开发家政服务管理平台对家政服务信息进行有效的管理是很必要的,不仅提高了家政服务管理效率,增加了用户信息安全性,方便用户及时反馈信息给管理员,增加了用户与管理员之间的互动交流,更能提高用户的体验强度。
本系统为了数据库结构的灵活性所以打算采用MySQL来设计数据库,而java技术,B/S架构则保证了较高的平台适应性。本文主要介绍了本系统的开发背景,所要完成的功能和开发的过程,主要说明了系统设计的重点、设计思想。
SpringBoot是一个全新开源的轻量级框架。基于Spring4.0设计,其不仅继承了Spring框架原来有的优秀特性,而且还通过简化配置文件来进一步简化了Spring应用的整个搭建以及开发过程。另外在原本的Spring中由于随着项目的扩大导入的jar包数量越来越大,随之出现了jar包版本之间的兼容性问题,而此时SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性问题得到了很好的解决。
SpringBoot可以看做是Spring的加强版本,但实质上都是Spring的相关技术,有了这些优秀的开源框架,程序员在开发过程中将事半功倍。
1.Vue.js是用于构建交互式的 Web 界面的库。
2.它提供了 MVVM数据绑定和一个可组合的组件系统,具有简单、灵活的API。从技术上讲,Vue.js集中在MVVM模式上的视图模型层,并通过双向数据绑定连接视图和模型。
3.实际的DOM操作和输出格式被抽象出来成指令和过滤器。相比其它的MVVM 框架,Vue.js 更容易上手。
4.Vue.js是一个用于创建Web交互界面的库。它让你通过简单而灵活的API创建由数据驱动的UI组件。
系统分前台和后台,可以同时达到管理员、用户和服务人员的不同需求。系统使用权限包括:管理员、用户和服务人员三个用户角色。主要功能包括首页、个人中心、用户管理、服务人员管理、服务信息管理、服务类型管理、服务预约管理、服务取消管理、服务分配管理、服务进度管理、评价信息管理、留言反馈、系统管理等等。
以下只给出了比较关键的数据库表的设计。
系统首页的主要功能展示了首页、服务信息、公告信息、留言反馈、个人中心、后台管理等,用户可根据权限进行相应操作。
服务信息,在服务信息页面可以查看服务名称、 服务价格、服务简介、发布日期、合同信息等内容进行预约、详情或收藏等操作;
管理员登录系统后,可以对首页、个人中心、用户管理、服务人员管理、服务信息管理、服务类型管理、服务预约管理、服务取消管理、服务分配管理、服务进度管理、评价信息管理、留言反馈、系统管理等功能进行相应的操作管理,
服务信息管理,在服务信息管理页面可以对索引、服务名称、服务图片、服务类型、合同信息、服务价格、发布日期等内容进行详情、修改或删除等操作。
由于代码较多,此处只给出了部分的代码实现。
@RestController @RequestMapping("/fuwurenyuan") public class FuwurenyuanController { @Autowired private FuwurenyuanService fuwurenyuanService; @Autowired private TokenService tokenService; /** * 登录 */ @IgnoreAuth @RequestMapping(value = "/login") public R login(String username, String password, String captcha, HttpServletRequest request) { FuwurenyuanEntity user = fuwurenyuanService.selectOne(new EntityWrapper<FuwurenyuanEntity>().eq("gonghao", username)); if(user==null || !user.getMima().equals(password)) { return R.error("账号或密码不正确"); } String token = tokenService.generateToken(user.getId(), username,"fuwurenyuan", "服务人员" ); return R.ok().put("token", token); } /** * 注册 */ @IgnoreAuth @RequestMapping("/register") public R register(@RequestBody FuwurenyuanEntity fuwurenyuan){ //ValidatorUtils.validateEntity(fuwurenyuan); FuwurenyuanEntity user = fuwurenyuanService.selectOne(new EntityWrapper<FuwurenyuanEntity>().eq("gonghao", fuwurenyuan.getGonghao())); if(user!=null) { return R.error("注册用户已存在"); } Long uId = new Date().getTime(); fuwurenyuan.setId(uId); fuwurenyuanService.insert(fuwurenyuan); return R.ok(); } /** * 退出 */ @RequestMapping("/logout") public R logout(HttpServletRequest request) { request.getSession().invalidate(); return R.ok("退出成功"); } /** * 获取用户的session用户信息 */ @RequestMapping("/session") public R getCurrUser(HttpServletRequest request){ Long id = (Long)request.getSession().getAttribute("userId"); FuwurenyuanEntity user = fuwurenyuanService.selectById(id); return R.ok().put("data", user); } /** * 密码重置 */ @IgnoreAuth @RequestMapping(value = "/resetPass") public R resetPass(String username, HttpServletRequest request){ FuwurenyuanEntity user = fuwurenyuanService.selectOne(new EntityWrapper<FuwurenyuanEntity>().eq("gonghao", username)); if(user==null) { return R.error("账号不存在"); } user.setMima("123456"); fuwurenyuanService.updateById(user); return R.ok("密码已重置为:123456"); } /** * 后端列表 */ @RequestMapping("/page") public R page(@RequestParam Map<String, Object> params,FuwurenyuanEntity fuwurenyuan, HttpServletRequest request){ EntityWrapper<FuwurenyuanEntity> ew = new EntityWrapper<FuwurenyuanEntity>(); PageUtils page = fuwurenyuanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, fuwurenyuan), params), params)); return R.ok().put("data", page); } /** * 前端列表 */ @IgnoreAuth @RequestMapping("/list") public R list(@RequestParam Map<String, Object> params,FuwurenyuanEntity fuwurenyuan, HttpServletRequest request){ EntityWrapper<FuwurenyuanEntity> ew = new EntityWrapper<FuwurenyuanEntity>(); PageUtils page = fuwurenyuanService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, fuwurenyuan), params), params)); return R.ok().put("data", page); } /** * 列表 */ @RequestMapping("/lists") public R list( FuwurenyuanEntity fuwurenyuan){ EntityWrapper<FuwurenyuanEntity> ew = new EntityWrapper<FuwurenyuanEntity>(); ew.allEq(MPUtil.allEQMapPre( fuwurenyuan, "fuwurenyuan")); return R.ok().put("data", fuwurenyuanService.selectListView(ew)); } /** * 查询 */ @RequestMapping("/query") public R query(FuwurenyuanEntity fuwurenyuan){ EntityWrapper< FuwurenyuanEntity> ew = new EntityWrapper< FuwurenyuanEntity>(); ew.allEq(MPUtil.allEQMapPre( fuwurenyuan, "fuwurenyuan")); FuwurenyuanView fuwurenyuanView = fuwurenyuanService.selectView(ew); return R.ok("查询服务人员成功").put("data", fuwurenyuanView); } /** * 后端详情 */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") Long id){ FuwurenyuanEntity fuwurenyuan = fuwurenyuanService.selectById(id); return R.ok().put("data", fuwurenyuan); } /** * 前端详情 */ @IgnoreAuth @RequestMapping("/detail/{id}") public R detail(@PathVariable("id") Long id){ FuwurenyuanEntity fuwurenyuan = fuwurenyuanService.selectById(id); return R.ok().put("data", fuwurenyuan); } /** * 后端保存 */ @RequestMapping("/save") public R save(@RequestBody FuwurenyuanEntity fuwurenyuan, HttpServletRequest request){ fuwurenyuan.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(fuwurenyuan); FuwurenyuanEntity user = fuwurenyuanService.selectOne(new EntityWrapper<FuwurenyuanEntity>().eq("gonghao", fuwurenyuan.getGonghao())); if(user!=null) { return R.error("用户已存在"); } fuwurenyuan.setId(new Date().getTime()); fuwurenyuanService.insert(fuwurenyuan); return R.ok(); } /** * 前端保存 */ @RequestMapping("/add") public R add(@RequestBody FuwurenyuanEntity fuwurenyuan, HttpServletRequest request){ fuwurenyuan.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue()); //ValidatorUtils.validateEntity(fuwurenyuan); FuwurenyuanEntity user = fuwurenyuanService.selectOne(new EntityWrapper<FuwurenyuanEntity>().eq("gonghao", fuwurenyuan.getGonghao())); if(user!=null) { return R.error("用户已存在"); } fuwurenyuan.setId(new Date().getTime()); fuwurenyuanService.insert(fuwurenyuan); return R.ok(); } /** * 修改 */ @RequestMapping("/update") public R update(@RequestBody FuwurenyuanEntity fuwurenyuan, HttpServletRequest request){ //ValidatorUtils.validateEntity(fuwurenyuan); fuwurenyuanService.updateById(fuwurenyuan);//全部更新 return R.ok(); } /** * 删除 */ @RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ fuwurenyuanService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } /** * 提醒接口 */ @RequestMapping("/remind/{columnName}/{type}") public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, @PathVariable("type") String type,@RequestParam Map<String, Object> map) { map.put("column", columnName); map.put("type", type); if(type.equals("2")) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Calendar c = Calendar.getInstance(); Date remindStartDate = null; Date remindEndDate = null; if(map.get("remindstart")!=null) { Integer remindStart = Integer.parseInt(map.get("remindstart").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindStart); remindStartDate = c.getTime(); map.put("remindstart", sdf.format(remindStartDate)); } if(map.get("remindend")!=null) { Integer remindEnd = Integer.parseInt(map.get("remindend").toString()); c.setTime(new Date()); c.add(Calendar.DAY_OF_MONTH,remindEnd); remindEndDate = c.getTime(); map.put("remindend", sdf.format(remindEndDate)); } } Wrapper<FuwurenyuanEntity> wrapper = new EntityWrapper<FuwurenyuanEntity>(); if(map.get("remindstart")!=null) { wrapper.ge(columnName, map.get("remindstart")); } if(map.get("remindend")!=null) { wrapper.le(columnName, map.get("remindend")); } int count = fuwurenyuanService.selectCount(wrapper); return R.ok().put("count", count); } }
/** * 登录相关 */ @RequestMapping("users") @RestController public class UserController{ @Autowired private UserService userService; @Autowired private TokenService tokenService; /** * 登录 */ @IgnoreAuth @PostMapping(value = "/login") public R login(String username, String password, String captcha, HttpServletRequest request) { UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username)); if(user==null || !user.getPassword().equals(password)) { return R.error("账号或密码不正确"); } String token = tokenService.generateToken(user.getId(),username, "users", user.getRole()); return R.ok().put("token", token); } /** * 注册 */ @IgnoreAuth @PostMapping(value = "/register") public R register(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user); if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) { return R.error("用户已存在"); } userService.insert(user); return R.ok(); } /** * 退出 */ @GetMapping(value = "logout") public R logout(HttpServletRequest request) { request.getSession().invalidate(); return R.ok("退出成功"); } /** * 密码重置 */ @IgnoreAuth @RequestMapping(value = "/resetPass") public R resetPass(String username, HttpServletRequest request){ UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username)); if(user==null) { return R.error("账号不存在"); } user.setPassword("123456"); userService.update(user,null); return R.ok("密码已重置为:123456"); } /** * 列表 */ @RequestMapping("/page") public R page(@RequestParam Map<String, Object> params,UserEntity user){ EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>(); PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params)); return R.ok().put("data", page); } /** * 列表 */ @RequestMapping("/list") public R list( UserEntity user){ EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>(); ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew)); } /** * 信息 */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") String id){ UserEntity user = userService.selectById(id); return R.ok().put("data", user); } /** * 获取用户的session用户信息 */ @RequestMapping("/session") public R getCurrUser(HttpServletRequest request){ Long id = (Long)request.getSession().getAttribute("userId"); UserEntity user = userService.selectById(id); return R.ok().put("data", user); }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。