Java项目:SSM快递取件管理系统
作者主页:夜未央5788
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
项目介绍
快递取件管理系统源码,分为两个角色,一个管理员,一个普通用户
主要功能说明:
管理员角色包含以下功能:管理员登录,个人资料修改,用户管理,公告管理,快递状态管理,快递品牌管理,快递管理等功能。
用户角色包含以下功能:
用户注册后登录,个人资料管理,公告查看,查看本人的快递等功能。
由于本程序规模不大,可供课程设计,毕业设计学习演示之用
环境需要
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等版本均可;
技术栈
1. 后端:Spring springmvc mybatis
2. 前端:JSP+css+javascript+h-ui
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,修改配置,运行项目;
3. 将项目中config/spring-mvc.xml配置文件中的数据库配置改为自己的配置,然后运行;
4. 运行成功后,在浏览器中输入:http://localhost:8080/ssm_kuaididaiqusys/
用户账号/密码: user/123456
管理员账号/密码:admin/admin
运行截图
管理员角色
客户端界面
代码相关
密码控制器
@RestController
@RequestMapping("/password")
public class PasswordController {@Autowiredprivate SysUserService userService;@Autowiredprivate GlobalFunction globalFunction;/*** 重置密码* @author jitwxs*/@PostMapping("/reset")public Msg resetPassword(String oldPassword, String newPassword) {SysUser user = globalFunction.getUser();if(!PasswordUtils.validatePassword(oldPassword, user.getPassword())) {return Msg.error("原始密码错误");} else {user.setPassword(PasswordUtils.entryptPassword(newPassword));userService.updateById(user);return Msg.ok();}}
}
员工管理控制器
@RestController
@RequestMapping("/admin/staff")
public class StaffController {@Autowiredprivate SysUserService userService;@Autowiredprivate GlobalFunction globalFunction;private void changeUserStatus(String[] ids, Integer status) {for(String id : ids) {SysUser user = userService.selectById(id);user.setStatus(status);userService.updateById(user);}}/*** 获取用户的状态列表* @author jitwxs*/@GetMapping("/status")public Msg listStaffStatus() {List<Map<String,Object>> result = new ArrayList<>();for(SysUserStatusEnum enums :SysUserStatusEnum.values()) {Map<String,Object> map = new HashMap<>();map.put("id",enums.getIndex());map.put("name",enums.getName());result.add(map);}return Msg.ok(null,result);}/*** 获取所有的职员名,用于分配订单* @author jitwxs*/@GetMapping("/listName")public Msg listStaff() {// 获取所有在职的职员List<SysUser> staffs = userService.selectList(new EntityWrapper<SysUser>().eq("status", SysUserStatusEnum.ACTIVE.getIndex()).eq("role_id", RoleEnum.STAFF.getIndex()));return Msg.ok(null,staffs);}/*** 获取所有职员* @author jitwxs*/@GetMapping("/list")public Map listStaff(Integer rows, Integer page, SysUserSelectWrapper usw) {// Get请求中文编码try {usw.setName(globalFunction.iso8859ToUtf8(usw.getName()));usw.setAddress(globalFunction.iso8859ToUtf8(usw.getAddress()));} catch (UnsupportedEncodingException e) {e.printStackTrace();}// 得到筛选条件EntityWrapper<SysUser> userWrapper = globalFunction.getSysUserWrapper(usw);// 不显示admin角色userWrapper.ne("role_id", RoleEnum.ADMIN.getIndex());Page<SysUser> selectPage = userService.selectPage(new Page<>(page, rows), userWrapper);List<SysUserDto> list = globalFunction.sysUser2dto(selectPage.getRecords());Map<String,Object> map = new HashMap<>();map.put("total", selectPage.getTotal());map.put("rows", list);return map;}/*** 更新用户信息*/@PostMapping("")public Msg update(SysUser user) {userService.updateById(user);return Msg.ok();}/*** 新增用户信息*/@PostMapping("/insert")public Msg insert(SysUser user) {UUID uuid = UUID.randomUUID();user.setId(uuid.toString());user.setRoleId(1);user.setStatus(0);user.setPassword(PasswordUtils.entryptPassword("123"));//SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式user.setCreateDate(new Date());// new Date()为获取当前系统时间user.setUpdateDate(new Date());userService.insert(user);return Msg.ok();}/*** 获取用户信息* @author jitwxs*/@GetMapping("/{id}")public Msg getById(@PathVariable String id) {SysUser user = userService.selectById(id);return Msg.ok(null,user);}/*** 修改员工为在职* @author jitwxs*/@PostMapping("/active")public Msg changeActive(String[] ids) {changeUserStatus(ids, SysUserStatusEnum.ACTIVE.getIndex());return Msg.ok();}/*** 修改员工为冻结* @author jitwxs*/@PostMapping("/freeze")public Msg changeFreeze(String[] ids) {changeUserStatus(ids, SysUserStatusEnum.FREEZE.getIndex());return Msg.ok();}/*** 修改员工为离职* @author jitwxs*/@PostMapping("/leave")public Msg changeLeave(String[] ids) {changeUserStatus(ids, SysUserStatusEnum.LEAVE.getIndex());return Msg.ok();}}
快递订单管理控制器
@RestController
@RequestMapping("/admin/express")
public class ExpressController {@Autowiredprivate ExpressService expressService;@Autowiredprivate GlobalFunction globalFunction;@Autowiredprivate ExpressPaymentService expressPaymentService;/*** 获取订单的状态列表* @author jitwxs*/@GetMapping("/status")public Msg listExpressStatus() {List<Map<String,Object>> result = new ArrayList<>();for(ExpressStatusEnum enums :ExpressStatusEnum.values()) {Map<String,Object> map = new HashMap<>();map.put("id",enums.getIndex());map.put("name",enums.getName());result.add(map);}return Msg.ok(null,result);}/*** 订单列表* @param esw 筛选条件* @author jitwxs*/@GetMapping("/list")public Map listExpress(Integer rows, Integer page, ExpressSelectWrapper esw, @RequestParam(defaultValue = "createDate") String order) {// Get请求中文编码try {esw.setName(globalFunction.iso8859ToUtf8(esw.getName()));esw.setStaffName(globalFunction.iso8859ToUtf8(esw.getStaffName()));esw.setAddress(globalFunction.iso8859ToUtf8(esw.getAddress()));} catch (UnsupportedEncodingException e) {e.printStackTrace();}// 得到筛选条件EntityWrapper<Express> expressWrapper = globalFunction.getExpressWrapper(esw);Page<Express> selectPage = expressService.selectPage(new Page<>(page, rows, order, false), expressWrapper);List<ExpressDto> list = globalFunction.express2dto(selectPage.getRecords());Map<String,Object> map = new HashMap<>(16);map.put("total", selectPage.getTotal());map.put("rows", list);return map;}/*** 获取单个订单详情* @author jitwxs*/@GetMapping("/{id}")public Msg getById(@PathVariable String id) {Express express = expressService.selectById(id);ExpressDto expressDto = globalFunction.express2dto(express);return Msg.ok(null,expressDto);}/*** 分配订单* @param ids 订单数组* @param staffId 派送员id* @author jitwxs*/@PostMapping("/assign")public Msg assignExpress(String[] ids,String staffId) {for(String id : ids) {Express express = expressService.selectById(id);// 只有订单状态为WAIT_DIST时才要分配订单if(ExpressStatusEnum.WAIT_DIST.getName().equals(ExpressStatusEnum.getName(express.getStatus()))) {express.setStaff(staffId);express.setStatus(ExpressStatusEnum.TRANSPORT.getIndex());expressService.updateById(express);}}return Msg.ok();}/*** 确认订单* @author jitwxs*/@PostMapping("/confirm")public Msg confirmExpress(ExpressPayment payment) {String id = payment.getExpressId();Express express = expressService.selectById(id);express.setStatus(ExpressStatusEnum.COMPLTE.getIndex());expressService.updateById(express);expressPaymentService.updateById(payment);return Msg.ok();}/*** 异常订单* @author jitwxs*/@PostMapping("/error")public Msg errorExpress(String[] ids, String text) {for(String id : ids) {Express express = expressService.selectById(id);// 只有订单状态为TRANSPORT时才要确认if(ExpressStatusEnum.TRANSPORT.getName().equals(ExpressStatusEnum.getName(express.getStatus()))) {express.setStatus(ExpressStatusEnum.ERROR.getIndex());express.setStaffRemark(text);expressService.updateById(express);}}return Msg.ok();}/*** 删除订单* @author jitwxs*/@PostMapping("/delete")public Msg deleteById(String[] ids) {for(String id : ids) {Express express = expressService.selectById(id);if(express != null) {// 设置删除标记为trueexpress.setHasDelete(true);expressService.updateById(express);}}return Msg.ok();}/*** 恢复订单* @author jitwxs*/@PostMapping("/recycle")public Msg recycleById(String[] ids) {for(String id : ids) {Express express = expressService.selectById(id);if(express != null) {// 设置删除标记为falseexpress.setHasDelete(false);expressService.updateById(express);}}return Msg.ok();}/*** 彻底删除订单* @author jitwxs*/@PostMapping("/clean")public Msg cleanById(String[] ids) {for(String id : ids) {expressService.deleteById(id);}return Msg.ok();}
}
如果也想学习本系统,下面领取。回复:233ssm
Java项目:SSM快递取件管理系统相关推荐
- 基于SSM快递取件管理系统
运行环境: 最好是java jdk 1.8,我们在这个平台上运行的.其他版本理论上也可以. IDE环境: Eclipse,Myeclipse,IDEA或者Spring Tool Suite都可以 to ...
- 基于ssm快递取件及上门服务微信小程序
开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea ...
- Java项目:快递取件管理系统(java+SSM+JSP+jQuery+Mysql)
源码获取:俺的博客首页 "资源" 里下载! 项目介绍 车险理赔管理系统源码,分为两个角色,一个管理员,一个普通用户 主要功能说明: 管理员角色包含以下功能:管理员登录,个人资料修改 ...
- 小程序项目:基于微信小程序的快递取件及上门服务——计算机毕业设计
项目介绍 社会的发展和科学技术的进步,互联网技术越来越受欢迎.手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用.手机具有便利性,速度快,效率高,成本低等优点. 因此,构建符合自己要求的操作 ...
- 计算机毕业设计之微信小程序的快递取件及上门服务系统的论文
本科毕业设计 快递取件及上门服务 院 系: 姓 名:xxx 学 号:xxxxxxxxxx 专 业: 年 级: 指导教师: 职 称:讲师 完成日期:2021年 月 摘 要 社会的发展和科学技术的进步,互 ...
- 基于微信小程序的快递取件及上门服务-计算机毕业设计
项目介绍 社会的发展和科学技术的进步,互联网技术越来越受欢迎.手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用.手机具有便利性,速度快,效率高,成本低等优点. 因此,构建符合自己要求的操作 ...
- 基于微信小程序的快递取件及上门服务
社会的发展和科学技术的进步,互联网技术越来越受欢迎.手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用.手机具有便利性,速度快,效率高,成本低等优点. 因此,构建符合自己要求的操作系统是非常 ...
- 基于微信小程序的快递取件及上门服务——计算机毕业设计
社会的发展和科学技术的进步,互联网技术越来越受欢迎.手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用.手机具有便利性,速度快,效率高,成本低等优点. 因此,构建符合自己要求的操作系统是非常 ...
- 微信小程序快递取件及上门服务
开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea ...
最新文章
- 自动登录126邮箱的脚本
- python --version没输出_python之旅【1】--格式化输出
- 转载:掩膜矩阵操作数学解释(权重表,锐化)
- linux向上翻页_linux学习基础篇——文件管理(一)
- 智能家居 (8) ——智能家居项目整合(网络控制线程、语音控制线程,火灾报警线程)
- 梯度、梯度法、python实现神经网络的梯度计算
- 计算营业额python_ARIMA时间序列分析-----Python实例(一周销售营业额预测)
- 【LINQ】LINQ 简介
- HTML button标签
- PKM全民推广系列一:PKM定义
- 水滴互助 :网络互助「创新者窘境」如何打破?
- ndroid分辨率 dpi 屏幕尺寸 对比图
- 数据库基础知识(思维导图)
- charles 批量重复请求/重复发包工具
- eechart echarts-wordcloud 生成人物词云图 词云 词少、形状问题、 解决办法
- WDK安装调试以及注意事项
- 全国高校计算机能力挑战赛真题(一)
- Microsoft Teams安排 Teams 实时事件
- 房租租赁租房系统都包含哪些功能?
- 计算机维护维修是干啥的,IT维护主要做些什么工作?