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);
    }
相关推荐
十年Java程序媛几秒前
String / StringBuilder / StringBuffer|别再乱用字符串拼接,底层原理一次讲透
java·spring boot·后端
傲世仙尊2 分钟前
类和对象中-构造函数与析构函数把初始化清理自动化
java·运维·自动化
她的男孩4 分钟前
权限通了、列表有数,一点分页就炸Forge Admin 用 COUNT(1) 扛住复杂待办
java·spring boot·mybatis
骑着蜗牛撵大象32711 分钟前
豆包 Seed 驱动的记账智能体:从拍票抽取到月报生成的全链路落地记录
java·前端·javascript·结构化输出·豆包seed·多模态识别·记账系统
憧憬成为java架构高手的小白20 分钟前
langchain4j手敲理解
java·langchain
10mAh1 小时前
【Java】ArrayList 遍历删除为什么报错?三种写法与漏删复现
java·开发语言·windows
thefool1122661 小时前
多线程 4
java
Rain的Java大神之路2 小时前
[特殊字符]8年Java老兵转型AI Agent:90%的人挂在同一个坑,根本不用学Python!(万字实战复盘,建议收藏)
java·数据库·人工智能·后端·python·spring·ai编程
高级程序源2 小时前
springboot大学生体测系统72170-计算机课程设计、毕业设计
java·vue.js·spring boot·后端·python·django·课程设计
IT研究室2 小时前
最新计算机毕业设计选题推荐-基于spring boot的文学名著分享系统-网站-文档指导-Java-springboot
java·spring boot·课程设计