java+sql+物流快递管理系统

经过对系统实现功能的要求,进行集中、分块,同时也按照结构化程序设计的要求,根据分析得到如下的系统功能模块图:

 代码已经上传github,下载地址:https://github.com/21503882/Physical-manage
 
图4-1物流快递管理系统管理员子系统功能模块图

java+sql+物流快递管理系统
 
图4-2物流快递管理系统客户子系统功能模块图

 

java+sql+物流快递管理系统

java+sql+物流快递管理系统

java+sql+物流快递管理系统

java+sql+物流快递管理系统

java+sql+物流快递管理系统

java+sql+物流快递管理系统

java+sql+物流快递管理系统

java+sql+物流快递管理系统

java+sql+物流快递管理系统

java+sql+物流快递管理系统

java+sql+物流快递管理系统

java+sql+物流快递管理系统

5.3管理员子系统详细设计
 java+sql+物流快递管理系统
图5-3 系统登录模块页面

 java+sql+物流快递管理系统
图5-4 系统主界面
 java+sql+物流快递管理系统
图5-5管理员管理主页面

java+sql+物流快递管理系统
 
图5-6添加管理员页面
 java+sql+物流快递管理系统
图5-7业务员管理主页面

java+sql+物流快递管理系统
 
图5-8添加业务员页面
 java+sql+物流快递管理系统
图5-9快件信息管理主页面

java+sql+物流快递管理系统
 
图5-10叫件分配页面
 java+sql+物流快递管理系统
图5-11 叫件信息收录人主页面

java+sql+物流快递管理系统
 
图5-12 叫件信息页面
 java+sql+物流快递管理系统
图5-13途中信息维护主页面
 java+sql+物流快递管理系统
图5-14途径信息页面
 java+sql+物流快递管理系统
图5-15客户管理主页面

java+sql+物流快递管理系统
 
图5-16添加会员信息页面
 java+sql+物流快递管理系统
图5-17信息反馈管理主页面

java+sql+物流快递管理系统
 
图5-18信息反馈页面
 java+sql+物流快递管理系统
图5-19查询服务页面
5.4客户子系统详细设计
5.4.1 客户注册页面
在使用系统时必须注册成为系统的客户,并输入详细的客户信息。对应的磁盘文件为servlet/CustomServlet?method=regeditPage,会员注册页面设计如图5-20所示:
 java+sql+物流快递管理系统
图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;
    }
}
代码已经上传github,下载地址:https://github.com/21503882/Physical-manage