SSM仓库物品管理系统 附带详细运行指导视频

文章目录

一、项目演示

项目演示地址: 视频地址

二、项目介绍

项目描述:这是一个基于SSM框架开发的仓库物品管理系统。首先,这项目代码简洁规范,注释说明详细,易于理解和学习。其次,这项目功能丰富,具有一个仓库物品管理系统该有的所有功能。

项目功能:此项目分为两个角色:普通管理员超级管理员普通管理员超级管理员都有登录、修改个人信息、管理仓库信息、管理物品信息、管理物品分类信息、管理物品出入库信息和查看公告信息等等功能。除此之外,超级管理员还有管理所有用户信息、管理操作日志信息、删除出入库信息和管理公告信息等等功能。

应用技术:SSM + JSP + MySQL + Bootstrap

运行环境:IntelliJ IDEA2019.3.5 + MySQL5.7(项目压缩包中自带) + JDK1.8 + Maven3.6.3(项目压缩包中自带)+ Tomcat8.5(项目压缩包中自带)

三、运行截图













四、主要代码

1.用户登录代码:

java 复制代码
	 /**
     * 登录操作
     * @param userDTO
     * @param request
     * @return
     */
    @Override
    public ResponseDTO<Boolean> login(UserDTO userDTO, HttpServletRequest request) {
        if(userDTO == null) {
            return ResponseDTO.errorByMsg(CodeMsg.DATA_ERROR);
        }
        if(CommonUtil.isEmpty(userDTO.getPhone())) {
            return ResponseDTO.errorByMsg(CodeMsg.PHONE_EMPTY);
        }
        if(CommonUtil.isEmpty(userDTO.getPassword())) {
            return ResponseDTO.errorByMsg(CodeMsg.PASSWORD_EMPTY);
        }
        // 判断验证码是否过期
        String correctCaptcha = (String) request.getSession().getAttribute(RuntimeConstant.CAPTCHA);
        if(CommonUtil.isEmpty(correctCaptcha)) {
            return ResponseDTO.errorByMsg(CodeMsg.CAPTCHA_EXPIRED);
        }
        // 比对验证码是否正确
        if(!correctCaptcha.toLowerCase().equals(userDTO.getCaptcha().toLowerCase())) {
            return ResponseDTO.errorByMsg(CodeMsg.CAPTCHA_ERROR);
        }
        UserExample userExample = new UserExample();
        userExample.createCriteria().andPhoneEqualTo(userDTO.getPhone()).andPasswordEqualTo(userDTO.getPassword());
        List<User> userList = userMapper.selectByExample(userExample);
        if(userList.size() != 1) {
            return ResponseDTO.errorByMsg(CodeMsg.PHONE_PASSWORD_ERROR);
        }
        request.getSession().setAttribute(RuntimeConstant.USER, userList.get(0));
        return ResponseDTO.successByMsg(true, "登录成功!");
    }

2.保存物品信息代码:

java 复制代码
/**
 * 保存物品数据
 * @param goodsDTO
 * @return
 */
@Override
public ResponseDTO<Boolean> save(GoodsDTO goodsDTO) {
    if(goodsDTO == null){
        return ResponseDTO.errorByMsg(CodeMsg.DATA_ERROR);
    }
    // 进行统一表单验证
    CodeMsg validate = ValidateEntityUtil.validate(goodsDTO);
    if (!validate.getCode().equals(CodeMsg.SUCCESS.getCode())) {
        return ResponseDTO.errorByMsg(validate);
    }
    // 判断是添加还是修改
    if(CommonUtil.isEmpty(goodsDTO.getId())) {
        // 添加
        Goods goods = CopyUtil.copy(goodsDTO, Goods.class);
        goods.setId(UuidUtil.getShortUuid());
        // 添加数据库数据
        if(goodsMapper.insertSelective(goods) == 0) {
            return ResponseDTO.errorByMsg(CodeMsg.GOODS_ADD_ERROR);
        }
    } else {
        // 修改
        Goods goods = CopyUtil.copy(goodsDTO, Goods.class);
        // 修改数据库数据
        if(goodsMapper.updateByPrimaryKeySelective(goods) == 0) {
            return ResponseDTO.errorByMsg(CodeMsg.GOODS_EDIT_ERROR);
        }
    }
    return ResponseDTO.success(true);
}

3.删除仓库信息代码:

java 复制代码
 	/**
     * 删除仓库数据
     * @param id
     * @return
     */
    @Override
    public ResponseDTO<Boolean> delete(String id) {
        if(CommonUtil.isEmpty(id)) {
            return ResponseDTO.errorByMsg(CodeMsg.DATA_ERROR);
        }
        if(warehouseMapper.deleteByPrimaryKey(id) == 0) {
            return ResponseDTO.errorByMsg(CodeMsg.WAREHOUSE_DELETE_ERROR);
        }
        return ResponseDTO.success(true);
    }
相关推荐
学徒小新27 分钟前
(六)C++的函数模板与类模板
java·c++·算法
李少兄43 分钟前
Java 集合中的 `removeIf` 和 Stream API 的 `filter`
java·windows
CN.LG1 小时前
JAVA异步的UDP 通讯-服务端
java·开发语言·udp
小信丶1 小时前
Java中实现‌‌SHA-3算法介绍、应用场景和示例代码
java·开发语言·算法
工业互联网专业1 小时前
基于springboot+vue的图书管理系统
java·vue.js·spring boot·毕业设计·源码·课程设计·图书管理系统
五行星辰1 小时前
Java 一键将 Word 文档转为 PDF
java·pdf·word
试着2 小时前
JMeter通过BeanShell创建CSV文件
java·测试工具·jmeter·程序人生·学习方法
DanceDonkey2 小时前
Spring-RetryTemplate
java·数据库·spring
m0_748238422 小时前
【spring】参数校验Validation
java·spring·状态模式
小黄编程快乐屋2 小时前
[C 语言篇】数据在内存中的存储
java·c语言·算法