赞
踩
把JAVA作为开发语言,sql作为数据库,按照软件工程的方法开发物流管理系统。系统主要分为功能模块和管理模块,其中功能模块主要包括登录、退出、登录密码修改;管理模块包括系统用户管理、客户信息管理、货物信息管理、接货单管理、车辆信息管理。该系统与传统手工物流管理相比,将广大客户、货物、车辆和货物单紧密联系在一起,有效缩短了物流运输的时间,大大提高了工作效率。经过对系统实现功能的要求,进行集中、分块,同时也按照结构化程序设计的要求,根据分析得到如下的系统功能模块图:
代码已经上传github,下载地址: https://github.com/21503882/Physical-manage
图4-1物流快递管理系统管理员子系统功能模块图
图4-2物流快递管理系统客户子系统功能模块图
5.3管理员子系统详细设计
图5-3 系统登录模块页面
图5-4 系统主界面
图5-5管理员管理主页面
图5-6添加管理员页面
图5-7业务员管理主页面
图5-8添加业务员页面
图5-9快件信息管理主页面
图5-10叫件分配页面
图5-11 叫件信息收录人主页面
图5-12 叫件信息页面
图5-13途中信息维护主页面
图5-14途径信息页面
图5-15客户管理主页面
图5-16添加会员信息页面
图5-17信息反馈管理主页面
图5-18信息反馈页面
图5-19查询服务页面
5.4客户子系统详细设计
5.4.1 客户注册页面
在使用系统时必须注册成为系统的客户,并输入详细的客户信息。对应的磁盘文件为servlet/CustomServlet?method=regeditPage,会员注册页面设计如图5-20所示:
图5-20会员注册页面
图5-21我的订单信息管理页面
图5-22叫件管理页面
图5-23个人信息修改页面
package com.nuist.faxe.web.controller;
import com.nuist.faxe.common.controller.message.ResponseMessage;
import com.nuist.faxe.common.entity.Msg;
import com.nuist.faxe.common.utils.ParamConfig;
import com.nuist.faxe.web.domain.LoginInfo;
import com.nuist.faxe.web.domain.User;
import com.nuist.faxe.web.service.UserService;
import com.nuist.faxe.web.vo.UserVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 用户Controller
*
* @author ZhouXiang
**/
@RestController
@RequestMapping("/audio/user")
public class UserController {
@Autowired
private UserService service;
/**
* 验证userName可用
* userName不能重复
* @param userName
* @return boolean
*/
@CrossOrigin
@GetMapping("/check/{userName}")
public ResponseMessage<Boolean> checkUserName(@PathVariable String userName){
boolean result = service.checkUserName(userName);
return ResponseMessage.ok(result);
}
/**
* 登录
* @param info
* @return 登录结果
*/
@CrossOrigin
@PostMapping("/login")
public ResponseMessage<UserVO> login(@RequestBody LoginInfo info){
User result = service.checkLogin(info.getUserName(), info.getPassWord());
if(null != result){
return ResponseMessage.ok(entity2Model(result));
}else {
return ResponseMessage.error("Login Fail");
}
}
/**
* 注册
* @param user
* @return id
*/
@CrossOrigin
@PostMapping("/register")
public ResponseMessage<String> register(@RequestBody User user){
String id = service.register(user.getUserName(), user.getPassWord());
return ResponseMessage.ok(id);
}
/**
* 仅限管理员调用
* 管理员userId根据id删除一条记录
* @param userId
* @return Boolean
*/
@CrossOrigin
@DeleteMapping("/{userId}/{id}")
public ResponseMessage<Boolean> deleteUserById(@PathVariable(value = "userId") String userId,
@PathVariable(value = "id") String id){
User user = service.getUserById(userId);
if(user.getRole().equals(ParamConfig.ROLE_ADMIN)){
//若是管理员
boolean result = service.deleteUserById(id);
return ResponseMessage.ok(result);
}else{
return ResponseMessage.error("You Can Not Delete It");
}
}
@CrossOrigin
@DeleteMapping("/{userId}")
public ResponseMessage<Boolean> deleteUserByIds(@PathVariable String userId,
@RequestParam("userIds") List<String> ids){
User user = service.getUserById(userId);
if(user.getRole().equals(ParamConfig.ROLE_ADMIN)){
//若是管理员
boolean result = service.deleteUserByIds(ids);
return ResponseMessage.ok(result);
}else {
return ResponseMessage.error("You Can Not Delete Them");
}
}
/**
* 根据id查询一条记录
* @param userId
* @return UserVO
*/
@CrossOrigin
@GetMapping("/{userId}")
public ResponseMessage<UserVO> getUserById(@PathVariable String userId){
User result = service.getUserById(userId);
return ResponseMessage.ok(entity2Model(result));
}
@CrossOrigin
@GetMapping("/list/{userId}")
public Msg<List<User>> list(@PathVariable String userId,
@RequestParam("page")Integer page,
@RequestParam("limit")Integer limit){
User user = service.getUserById(userId);
if(user.getRole().equals(ParamConfig.ROLE_ADMIN)){
//若是管理员
long count = service.countUser();
List<User> data = service.list(page, limit);
return Msg.ok(data, (int)count);
}else {
return Msg.error("You Can Not List It");
}
}
/**
* 普通用户密码修改
* @param userId
* @param originalPassWord
* @param newPassWord
* @return
*/
@CrossOrigin
@PatchMapping("/{userId}")
public ResponseMessage<Integer> update(@PathVariable String userId,
@RequestParam(value = "originalPassWord") String originalPassWord,
@RequestParam(value = "newPassWord") String newPassWord){
User user = service.getUserById(userId);
if(user.getPassWord().equals(originalPassWord)){
//若输入的原始密码正确,则进行密码修改
return ResponseMessage.ok(service.updatePassWord(userId, newPassWord));
}else{
return ResponseMessage.error("Your password is error!");
}
}
/**
* id为userId的管理员修改用户id的密码为newPassWord
* @param userId
* @param id
* @param newPassWord
* @return
*/
@CrossOrigin
@PatchMapping("/{userId}/{id}")
public ResponseMessage<Integer> updateByManager(@PathVariable(value = "userId") String userId,
@PathVariable(value = "id") String id,
@RequestParam String newPassWord){
User user = service.getUserById(userId);
if(user.getRole().equals(ParamConfig.ROLE_ADMIN)){
//若当前角色为管理员
return ResponseMessage.ok(service.updatePassWord(id, newPassWord));
}else{
return ResponseMessage.error("Your can not update it!");
}
}
private UserVO entity2Model(User entity){
UserVO model = new UserVO();
model.setId(entity.getId());
model.setUserName(entity.getUserName());
model.setRole(entity.getRole());
return model;
}
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。