写点什么

基于 Java+SpringBoot+Vue 前后端分离常规应急物资管理系统设计和实现

作者:hunter_coder
  • 2024-07-25
    陕西
  • 本文字数:11288 字

    阅读完需:约 37 分钟

\n 文末获取源码联系


感兴趣的可以先收藏起来,大家在毕设选题,项目以及论文编写等相关问题都可以给我加好友咨询

系统介绍:

当下,正处于信息化的时代,许多行业顺应时代的变化,结合使用计算机技术向数字化、信息化建设迈进。以前相关行业对于常规应急物资信息的管理和控制,采用人工登记的方式保存相关数据,这种以人力为主的管理模式已然落后。本人结合使用主流的程序开发技术,设计了一款基于 SpringBoot+Vue 的常规应急物资管理系统,可以较大地减少人力、财力的损耗,方便相关人员及时更新和保存信息。本常规应急物资管理系统是建立在 B/S 模式的基础之上,通过使用 idea 平台上编写相关的 Java 代码,实现对系统的功能模块的设计,使用 MySQL 数据库设计相关的数据表,实现对系统数据资源的管理和控制,使用 SSM 框架创建相关的项目主流架构,实现系统的基本框架搭建,最后再通过使用 Tomcat 浏览器将所研发的系统发布到网上,便于相关的用户运行和使用本系统。本文对系统进行实现的可行性分析,设计的功能及数据库规划,以及设计的主要功能模块测试等内容做了较为详细的介绍,并且在本文中也展示了系统主要的功能模块设计界面和操作界面,并对其做出了必要的解释说明,方便用户对系统进行操作和使用,以及后期的相关人员对系统进行更新和维护。本系统的实现可以极大地提高相关行业的工作效率,提升用户的使用体验,因此在现实生活中运用本系统具有很大的使用价值。


系统的总体功能设计阶段,是通过结合系统分析阶段的相关内容,对系统的整体功能设计进行规划的过程。系统的总体功能设计是系统详细功能设计的一个大方向,也就是说系统的各类子功能模块的设计,都是以总体功能设计为目标而进行的。通过对系统进行需求分析可知,可以大致了解系统具体所需要的相关的主要功能模块。本系统主要的功能需求包括物资信息管理、物资运输管理等模块。管理员功能设计图如图 4-1 所示,用户功能设计图如图 4-2 所示。



图 4-1 管理员功能设计图



图 4-2 用户功能设计图


程序上交给用户进行使用时,需要提供程序的操作流程图,这样便于用户容易理解程序的具体工作步骤,现如今程序的操作流程都有一个大致的标准,即先通过登录页面提交登录数据,通过程序验证正确之后,用户才能在程序功能操作区页面操作对应的功能。




程序操作流程图

功能截图:

5.1 管理员角色功能设计

5.1.1 管理员首页

通过设计的首页功能模块,管理用户可以成功登录系统,并且选择点击相关的功能模块按钮,操作和实现自己所需要的功能,管理员首页解饿设计如图 5-1 所示。



图 5-1 管理员首页界面


本功能模块的核心代码如下:


/**


  • 登录


*/


@IgnoreAuth


@PostMapping(value = "/login")


public R login(String username, String password, String captcha,HttpServletRequest request) {


UsersEntity user = usersService.selectOne(newEntityWrapper<UsersEntity>().eq("username", username));


if(user==null || !user.getPassword().equals(password)) {


return R.error("账号或密码不正确");


}


String token = tokenService.generateToken(user.getId(),username, "users",user.getRole());


R r = R.ok();


r.put("token", token);


r.put("role",user.getRole());


r.put("userId",user.getId());


return r;


}


/**


  • 列表


*/


@RequestMapping("/page")


public R page(@RequestParam Map<String, Object> params,UsersEntity user){


EntityWrapper<UsersEntity> ew = new EntityWrapper<UsersEntity>();


PageUtils page = usersService.queryPage(params,MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));


return R.ok().put("data", page);


}

5.1.2 个人中心

通过设计的个人中心功能模块,管理用户可以选择修改账号密码,查看个人资料信息,通过不定期的对个人账户密码进行更新,保障个人信息安全,修改密码界面设计如图 5-1 所示,个人信息界面设计如图 5-2 所示。



图 5-1 修改密码界面



图 5-2 个人信息界面


本功能模块的核心代码如下:


/**


  • 密码重置


*/


@IgnoreAuth


@RequestMapping(value = "/resetPass")


public R resetPass(String username, HttpServletRequest request){


UsersEntity user = usersService.selectOne(newEntityWrapper<UsersEntity>().eq("username", username));


if(user==null) {


return R.error("账号不存在");


}


user.setPassword("123456");


usersService.update(user,null);


return R.ok("密码已重置为:123456");


}


/**


  • 信息


*/


@RequestMapping("/info/{id}")


public R info(@PathVariable("id") String id){


UsersEntity user = usersService.selectById(id);


return R.ok().put("data", user);


}

5.1.3 健康打卡管理

通过设计的健康打卡管理功能模块,管理用户可以管理相关的健康打卡信息记录,比如进行查看健康打卡的详细信息,修改健康打卡的日期信息,删除已经失效的健康打卡信息记录等操作,健康打卡管理界面设计如图 5-3 所示。



图 5-3 健康打卡管理界面


本功能模块的核心代码如下:


/**


  • 健康打卡后端修改


*/


@RequestMapping("/update")


public R update(@RequestBody DakaEntity daka, HttpServletRequest request){


logger.debug("update 方法:,,Controller:{},,daka:{}",this.getClass().getName(),daka.toString());


String role = String.valueOf(request.getSession().getAttribute("role"));


// if(false)


// return R.error(511,"永远不会进入");


// else if("用户".equals(role))


//daka.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));


//根据字段查询是否有相同数据


Wrapper<DakaEntity> queryWrapper = new EntityWrapper<DakaEntity>()


.notIn("id",daka.getId())


.andNew()


.eq("yonghu_id", daka.getYonghuId())


.eq("insert_time", new SimpleDateFormat("yyyy-MM-dd").format(daka.getInsertTime()))


;


logger.info("sql 语句:"+queryWrapper.getSqlSegment());


DakaEntity dakaEntity = dakaService.selectOne(queryWrapper);


if(dakaEntity==null){


dakaService.updateById(daka);//根据 id 更新


return R.ok();


}else {


return R.error(511,"表中有相同数据");


}


}

5.1.4 基础数据管理

通过设计的基础数据管理功能模块,管理用户可以管理相关的物资类型信息记录,比如进行查看物资类型的详细信息,修改物资类型的名称信息,删除已经失效的物资类型信息记录等操作,物资类型管理界面设计如图 5-4 所示。



图 5-4 物资类型管理界面


本功能模块的核心代码如下:


/**


  • 基础数据后端修改


*/


@RequestMapping("/update")


public R update(@RequestBody DictionaryEntity dictionary, HttpServletRequestrequest){


logger.debug("update 方法:,,Controller:{},,dictionary:{}",this.getClass().getName(),dictionary.toString());


String role = String.valueOf(request.getSession().getAttribute("role"));


// if(false)


// return R.error(511,"永远不会进入");


//根据字段查询是否有相同数据


Wrapper<DictionaryEntity> queryWrapper = new EntityWrapper<DictionaryEntity>()


.notIn("id",dictionary.getId())


.eq("dic_code", dictionary.getDicCode())


.eq("index_name", dictionary.getIndexName())


;


if(dictionary.getDicCode().contains("_erji_types")){


queryWrapper.eq("super_id",dictionary.getSuperId());


}


logger.info("sql 语句:"+queryWrapper.getSqlSegment());


DictionaryEntity dictionaryEntity = dictionaryService.selectOne(queryWrapper);


if(dictionaryEntity==null){


dictionaryService.updateById(dictionary);//根据 id 更新


//如果字典表修改数据的话,把数据再重新查出,放入监听器中


List<DictionaryEntity> dictionaryEntities = dictionaryService.selectList(newEntityWrapper<DictionaryEntity>());


ServletContext servletContext = request.getServletContext();


Map<String, Map<Integer,String>> map = new HashMap<>();


for(DictionaryEntity d :dictionaryEntities){


Map<Integer, String> m = map.get(d.getDicCode());


if(m ==null || m.isEmpty()){


m = new HashMap<>();


}


m.put(d.getCodeIndex(),d.getIndexName());


map.put(d.getDicCode(),m);


}


servletContext.setAttribute("dictionaryMap",map);


return R.ok();


}else {


return R.error(511,"表中有相同数据");


}


}

5.1.5 物资管理

通过设计的物资管理功能模块,管理用户可以管理相关的物资信息记录,比如进行查看物资的详细信息,修改物资的库存信息,删除已经失效的物资信息记录等操作,物资管理界面设计如图 5-5 所示。



图 5-5 物资管理界面


本功能模块的核心代码如下:


/**


  • 物资后端修改


*/


@RequestMapping("/update")


public R update(@RequestBody WuziEntity wuzi, HttpServletRequest request){


logger.debug("update 方法:,,Controller:{},,wuzi:{}",this.getClass().getName(),wuzi.toString());


String role = String.valueOf(request.getSession().getAttribute("role"));


// if(false)


// return R.error(511,"永远不会进入");


//根据字段查询是否有相同数据


Wrapper<WuziEntity> queryWrapper = new EntityWrapper<WuziEntity>()


.notIn("id",wuzi.getId())


.andNew()


.eq("wuzi_name", wuzi.getWuziName())


.eq("wuzi_types", wuzi.getWuziTypes())


.eq("wuzi_kucun_number", wuzi.getWuziKucunNumber())


.eq("wuzi_danwei", wuzi.getWuziDanwei())


.eq("wuzi_delete", wuzi.getWuziDelete())


;


logger.info("sql 语句:"+queryWrapper.getSqlSegment());


WuziEntity wuziEntity = wuziService.selectOne(queryWrapper);


if("".equals(wuzi.getWuziPhoto()) || "null".equals(wuzi.getWuziPhoto())){


wuzi.setWuziPhoto(null);


}


if(wuziEntity==null){


wuziService.updateById(wuzi);//根据 id 更新


return R.ok();


}else {


return R.error(511,"表中有相同数据");


}


}

5.1.6 物资申请管理

通过设计的物资申请管理功能模块,管理用户可以管理相关的物资申请信息记录,比如进行查看物资申请的详细信息,修改物资的申请时间信息,删除已经失效的物资申请信息记录等操作,物资申请管理界面设计如图 5-6 所示。



图 5-6 物资申请管理界面


本功能模块的核心代码如下:


/**


  • 物资申请后端保存


*/


@RequestMapping("/save")


public R save(@RequestBody WuzishenqingEntity wuzishenqing, HttpServletRequestrequest){


logger.debug("save 方法:,,Controller:{},,wuzishenqing:{}",this.getClass().getName(),wuzishenqing.toString());


String role = String.valueOf(request.getSession().getAttribute("role"));


if(false)


return R.error(511,"永远不会进入");


else if("用户".equals(role))


wuzishenqing.setYonghuId(Integer.valueOf(String.valueOf(request.getSession().getAttribute("userId"))));


wuzishenqing.setInsertTime(new Date());


wuzishenqing.setWuzishenqingYesnoTypes(1);


wuzishenqing.setCreateTime(new Date());


wuzishenqingService.insert(wuzishenqing);


return R.ok();


}


/**


  • 物资申请后端修改


*/


@RequestMapping("/update")


public R update(@RequestBody WuzishenqingEntity wuzishenqing,HttpServletRequest request){


logger.debug("update 方法:,,Controller:{},,wuzishenqing:{}",this.getClass().getName(),wuzishenqing.toString());


wuzishenqingService.updateById(wuzishenqing);//根据 id 更新


return R.ok();


}

5.1.7 物资运输管理

通过设计的物资运输管理功能模块,管理用户可以管理相关的物资运输信息记录,比如进行查看物资运输的详细信息,修改物资运输的当前状态信息,删除已经失效的物资运输信息记录等操作,物资运输管理界面设计如图 5-7 所示。



图 5-7 物资运输管理界面


本功能模块的核心代码如下:


/**


  • 物资运输后端保存


*/


@RequestMapping("/save")


public R save(@RequestBody WuziyunshuEntity wuziyunshu, HttpServletRequestrequest){


logger.debug("save 方法:,,Controller:{},,wuziyunshu:{}",this.getClass().getName(),wuziyunshu.toString());


String role = String.valueOf(request.getSession().getAttribute("role"));


if(false)


return R.error(511,"永远不会进入");


wuziyunshu.setUpdateTime(new Date());


wuziyunshu.setInsertTime(new Date());


wuziyunshu.setCreateTime(new Date());


wuziyunshuService.insert(wuziyunshu);


return R.ok();


}


/**


  • 物资运输后端修改


*/


@RequestMapping("/update")


public R update(@RequestBody WuziyunshuEntity wuziyunshu, HttpServletRequestrequest){


logger.debug("update 方法:,,Controller:{},,wuziyunshu:{}",this.getClass().getName(),wuziyunshu.toString());


wuziyunshu.setUpdateTime(new Date());


wuziyunshuService.updateById(wuziyunshu);//根据 id 更新


return R.ok();


}

5.1.8 用户管理

通过设计的用户管理功能模块,管理用户可以管理相关的用户信息资料,比如进行查看用户的详细资料,修改用户的联系方式,删除已经注销的用户信息记录等操作,用户管理界面设计如图 5-8 所示。



图 5-8 用户管理界面


本功能模块的核心代码如下:


/**


  • 用户后端修改


*/


@RequestMapping("/update")


public R update(@RequestBody YonghuEntity yonghu, HttpServletRequest request){


logger.debug("update 方法:,,Controller:{},,yonghu:{}",this.getClass().getName(),yonghu.toString());


String role = String.valueOf(request.getSession().getAttribute("role"));


// if(false)


// return R.error(511,"永远不会进入");


//根据字段查询是否有相同数据


Wrapper<YonghuEntity> queryWrapper = new EntityWrapper<YonghuEntity>()


.notIn("id",yonghu.getId())


.andNew()


.eq("username", yonghu.getUsername())


.or()


.eq("yonghu_phone", yonghu.getYonghuPhone())


.or()


.eq("yonghu_id_number", yonghu.getYonghuIdNumber())


;


logger.info("sql 语句:"+queryWrapper.getSqlSegment());


YonghuEntity yonghuEntity = yonghuService.selectOne(queryWrapper);


if("".equals(yonghu.getYonghuPhoto()) ||"null".equals(yonghu.getYonghuPhoto())){


yonghu.setYonghuPhoto(null);


}


if(yonghuEntity==null){


yonghuService.updateById(yonghu);//根据 id 更新


return R.ok();


}else {


return R.error(511,"账户或者用户手机号或者用户身份证号已经被使用");


}


}

5.1.9 部门管理

通过设计的部门管理功能模块,管理用户可以管理相关的部门信息记录,比如进行查看部门的详细信息,修改部门的职责信息,删除已经失效的部门信息记录等操作,部门管理界面设计如图 5-9 所示。



图 5-9 部门管理界面


本功能模块的核心代码如下:


/**


  • 部门后端修改


*/


@RequestMapping("/update")


public R update(@RequestBody BumenEntity bumen, HttpServletRequest request){


logger.debug("update 方法:,,Controller:{},,bumen:{}",this.getClass().getName(),bumen.toString());


String role = String.valueOf(request.getSession().getAttribute("role"));


// if(false)


// return R.error(511,"永远不会进入");


//根据字段查询是否有相同数据


Wrapper<BumenEntity> queryWrapper = new EntityWrapper<BumenEntity>()


.notIn("id",bumen.getId())


.andNew()


.eq("bumen_name", bumen.getBumenName())


.eq("bumen_zhize", bumen.getBumenZhize())


.eq("bumen_number", bumen.getBumenNumber())


;


logger.info("sql 语句:"+queryWrapper.getSqlSegment());


BumenEntity bumenEntity = bumenService.selectOne(queryWrapper);


if(bumenEntity==null){


bumenService.updateById(bumen);//根据 id 更新


return R.ok();


}else {


return R.error(511,"表中有相同数据");


}


}

5.2 用户功能设计

5.2.1 用户首页

通过设计的首页功能模块,管理用户可以成功登录系统,并且选择点击相关的功能模块按钮,操作和实现自己所需要的功能,管理员首页解饿设计如图 5-10 所示。



图 5-10 用户首页界面


本功能模块的核心代码如下:


/**


  • 首页后端保存


*/


@RequestMapping("/save")


public R save(@RequestBody YonghuEntity yonghu, HttpServletRequest request){


logger.debug("save 方法:,,Controller:{},,yonghu:{}",this.getClass().getName(),yonghu.toString());


String role = String.valueOf(request.getSession().getAttribute("role"));


if(false)


return R.error(511,"永远不会进入");


Wrapper<YonghuEntity> queryWrapper = new EntityWrapper<YonghuEntity>()


.eq("username", yonghu.getUsername())


.or()


.eq("yonghu_phone", yonghu.getYonghuPhone())


.or()


.eq("yonghu_id_number", yonghu.getYonghuIdNumber())


;


logger.info("sql 语句:"+queryWrapper.getSqlSegment());


YonghuEntity yonghuEntity = yonghuService.selectOne(queryWrapper);


if(yonghuEntity==null){


yonghu.setCreateTime(new Date());


yonghu.setPassword("123456");


yonghuService.insert(yonghu);


return R.ok();


}else {


return R.error(511,"账户或者用户手机号或者用户身份证号已经被使用");


}


}

5.2.2 个人中心

通过设计的个人中心管理功能模块,用户可以选择查看个人资料信息,选择更新个人相关的资料信息记录;也可以选择修改账号密码,通过不定期的对个人账户密码进行更新,保障个人信息安全,修改密码界面设计如图 5-11 所示,个人信息界面设计如图 5-12 所示。



图 5-11 修改密码界面



图 5-12 个人信息界面


本功能模块的核心代码如下:


//查询是否重复


//账户


List<YonghuEntity> yonghuEntities_username = yonghuService.selectList(newEntityWrapper<YonghuEntity>().in("username", seachFields.get("username")));


if(yonghuEntities_username.size() >0 ){


ArrayList<String> repeatFields = new ArrayList<>();


for(YonghuEntity s:yonghuEntities_username){


repeatFields.add(s.getUsername());


}


return R.error(511,"数据库的该表中的 [账户] 字段已经存在 存在数据为:"+repeatFields.toString());


}


//用户手机号


List<YonghuEntity> yonghuEntities_yonghuPhone = yonghuService.selectList(newEntityWrapper<YonghuEntity>().in("yonghu_phone",seachFields.get("yonghuPhone")));


if(yonghuEntities_yonghuPhone.size() >0 ){


ArrayList<String> repeatFields = new ArrayList<>();


for(YonghuEntity s:yonghuEntities_yonghuPhone){


repeatFields.add(s.getYonghuPhone());


}


return R.error(511,"数据库的该表中的 [用户手机号] 字段已经存在 存在数据为:"+repeatFields.toString());


}


//用户身份证号


List<YonghuEntity> yonghuEntities_yonghuIdNumber =yonghuService.selectList(newEntityWrapper<YonghuEntity>().in("yonghu_id_number",seachFields.get("yonghuIdNumber")));


if(yonghuEntities_yonghuIdNumber.size() >0 ){


ArrayList<String> repeatFields = new ArrayList<>();


for(YonghuEntity s:yonghuEntities_yonghuIdNumber){


repeatFields.add(s.getYonghuIdNumber());


}


return R.error(511,"数据库的该表中的 [用户身份证号] 字段已经存在 存在数据为:"+repeatFields.toString());


}


yonghuService.insertBatch(yonghuList);


return R.ok();


}

5.2.3 健康打卡管理

通过设计的健康打卡管理功能模块,用户可以管理相关的健康打卡信息记录,比如进行查看健康打卡的详细信息,修改健康打卡的日期信息,删除已经失效的健康打卡信息记录等操作,健康打卡管理界面设计如图 5-13 所示。



图 5-13 健康打卡管理界面


本功能模块的核心代码如下:


/**


  • 健康打卡后端详情


*/


@RequestMapping("/info/{id}")


public R info(@PathVariable("id") Long id, HttpServletRequest request){


logger.debug("info 方法:,,Controller:{},,id:{}",this.getClass().getName(),id);


DakaEntity daka = dakaService.selectById(id);


if(daka !=null){


//entity 转 view


DakaView view = new DakaView();


BeanUtils.copyProperties( daka , view );//把实体数据重构到 view 中


//级联表


YonghuEntity yonghu = yonghuService.selectById(daka.getYonghuId());


if(yonghu != null){


BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime","insertTime", "updateTime"});//把级联的数据添加到 view 中,并排除 id 和创建时间字段


view.setYonghuId(yonghu.getId());


}


//修改对应字典表字段


dictionaryService.dictionaryConvert(view, request);


return R.ok().put("data", view);


}else {


return R.error(511,"查不到数据");


}


}

5.2.4 物资管理

通过设计的物资管理功能模块,管理用户可以查看相关的物资信息记录,可以查到物资名称、物资图片、物资类型、物资库存等详细信息,物资管理界面设计如图 5-14 所示。



图 5-14 物资管理界面


本功能模块的核心代码如下:


/**


  • 物资后端详情


*/


@RequestMapping("/info/{id}")


public R info(@PathVariable("id") Long id, HttpServletRequest request){


logger.debug("info 方法:,,Controller:{},,id:{}",this.getClass().getName(),id);


WuziEntity wuzi = wuziService.selectById(id);


if(wuzi !=null){


//entity 转 view


WuziView view = new WuziView();


BeanUtils.copyProperties( wuzi , view );//把实体数据重构到 view 中


//修改对应字典表字段


dictionaryService.dictionaryConvert(view, request);


return R.ok().put("data", view);


}else {


return R.error(511,"查不到数据");


}


}

5.2.5 物资申请管理

通过设计的物资申请管理功能模块,用户可以管理相关的物资申请信息记录,比如进行查看物资申请的详细信息,新增相关的物资申请信息记录,物资申请管理界面设计如图 5-15 所示。



图 5-15 物资申请管理界面


本功能模块的核心代码如下:


/**


  • 物资申请后端详情


*/


@RequestMapping("/info/{id}")


public R info(@PathVariable("id") Long id, HttpServletRequest request){


logger.debug("info 方法:,,Controller:{},,id:{}",this.getClass().getName(),id);


WuzishenqingEntity wuzishenqing = wuzishenqingService.selectById(id);


if(wuzishenqing !=null){


//entity 转 view


WuzishenqingView view = new WuzishenqingView();


BeanUtils.copyProperties( wuzishenqing , view );//把实体数据重构到 view 中


//级联表


WuziEntity wuzi = wuziService.selectById(wuzishenqing.getWuziId());


if(wuzi != null){


BeanUtils.copyProperties( wuzi , view ,new String[]{ "id", "createTime","insertTime", "updateTime"});//把级联的数据添加到 view 中,并排除 id 和创建时间字段


view.setWuziId(wuzi.getId());


}


//级联表


YonghuEntity yonghu = yonghuService.selectById(wuzishenqing.getYonghuId());


if(yonghu != null){


BeanUtils.copyProperties( yonghu , view ,new String[]{ "id", "createTime","insertTime", "updateTime"});//把级联的数据添加到 view 中,并排除 id 和创建时间字段


view.setYonghuId(yonghu.getId());


}


//修改对应字典表字段


dictionaryService.dictionaryConvert(view, request);


return R.ok().put("data", view);


}else {


return R.error(511,"查不到数据");


}


}

5.2.6 物资运输管理

通过设计的物资运输管理功能模块,用户可以查看相关的物资运输信息记录,比如查到物资名称、物资图片、单位、运输数量、当前状态等详细信息,物资运输管理界面设计如图 5-16 所示。



图 5-16 物资运输管理界面

代码实现:

/** * 登录相关 */@RequestMapping("users")@RestControllerpublic class UserController{        @Autowired    private UserService userService;        @Autowired    private TokenService tokenService;
/** * 登录 */ @IgnoreAuth @PostMapping(value = "/login") public R login(String username, String password, String role, HttpServletRequest request) { UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username)); if(user != null){ if(!user.getRole().equals(role)){ return R.error("权限不正常"); } 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); }else{ return R.error("账号或密码或权限不对"); }
} /** * 注册 */ @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("/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){ Integer id = (Integer)request.getSession().getAttribute("userId"); UserEntity user = userService.selectById(id); return R.ok().put("data", user); }
/** * 保存 */ @PostMapping("/save") public R save(@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(); }
/** * 修改 */ @RequestMapping("/update") public R update(@RequestBody UserEntity user){// ValidatorUtils.validateEntity(user); userService.updateById(user);//全部更新 return R.ok(); }
/** * 删除 */ @RequestMapping("/delete") public R delete(@RequestBody Integer[] ids){ userService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); }}
复制代码

论文参考:

*

开源地址:可以——【戳一戳】即可免费获取!

用户头像

hunter_coder

关注

还未添加个人签名 2024-05-24 加入

还未添加个人简介

评论

发布
暂无评论
基于Java+SpringBoot+Vue前后端分离常规应急物资管理系统设计和实现_后端开发_hunter_coder_InfoQ写作社区