java毕业设计基于SpringBoot的雪具销售系统

一、项目介绍

  对雪具销售管理的流程进行科学整理、归纳和功能的精简,通过软件工程的研究方法,结合当下流行的互联网技术,最终设计并实现了一个简单、易操作的雪具销售系统。内容包括系统的设计思路、系统模块和实现方法。系统使用过程主要涉及到管理员、用户和销售员三种角色,主要包含个人中心、销售员管理、用户管理、雪具分类管理、雪具商品管理、进货记录管理、退货记录管理、系统管理、订单管理等功能。
系统开发主要在 Windows 系统下进行,采用支持跨平台的java语言开发完成,因此可以运行在任意开发环境下。系统采用mysql数据库和B/S结构的方式,按照springboot框架进行开发。

关键词:雪具销售; B/S结构; MySQL

二、开发环境

开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
————————————————

三、功能介绍

(1)系统的通用功能包括用户登录和密码修改,是三个角色共同需要使用的功能,用例分析如图3-1所示。
在这里插入图片描述

图3-1 系统通用功能用例分析图

(2)管理员可以对个人中心、销售员管理、用户管理、雪具分类管理、雪具商品管理、进货记录管理、退货记录管理、系统管理、订单管理等进行基本的信息管理。其用例分析如图3-2所示。
在这里插入图片描述

图3-2 管理员用例图

(3)用户可以实现对注册登录、雪具商品、公告信息、客服中心、购物车、个人中心等信息进行操作,用例分析如图3-3所示。
在这里插入图片描述

图3-3用户用例图
(3) 销售员可以对个人中心、雪具分类管理、雪具商品管理、进货记录管理、退货订单管理、订单管理等进行基本的信息管理。其用例分析如图3-3所示。
在这里插入图片描述

图3-3销售员用例图

雪具销售系统的建设可以为雪具销售管理提供帮助,通过对一些基础信息管理实现针对性的安排,可以按照用户的角色权限使不同用户角色看到不一样的信息界面。现根据需求阶段的分析,我们可以大致确定系统需要包含的功能如下图所示:
系统总体结构图如下,见图4-1。
在这里插入图片描述

图4-1 系统总体结构图

四、核心代码

部分代码:

package com.example.controller;

import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {

    @Resource
    private CaiwuService caiwuService;

    @PostMapping
    public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
        caiwuService.add(caiwu);
           return Result.success(caiwu);
    }
	
	

    @PostMapping("/deleteList")
    public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
        caiwuService.deleteList(caiwu.getList());
        return Result.success();
    }

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Long id) {
        caiwuService.delete(id);
        return Result.success();
    }

    @PutMapping
    public Result update(@RequestBody CaiwuVo caiwu) {
        caiwuService.update(caiwu);
        return Result.success();
    }

    @GetMapping("/{id}")
    public Result<Caiwu> detail(@PathVariable Integer id) {
        Caiwu caiwu = caiwuService.findById(id);
        return Result.success(caiwu);
    }

    @GetMapping
    public Result<List<Caiwu>> all() {
        return Result.success(caiwuService.list());
    }

    @PostMapping("/page")
    public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
        return Result.success(caiwuService.findPage(caiwuVo));
    }
	    @PostMapping("/login")
    public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
        if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
            throw new CustomException(ResultCode.PARAM_LOST_ERROR);
        }
        Caiwu login = caiwuService.login(caiwu);
//        if(!login.getStatus()){
//            return Result.error("1001","状态限制,无法登录系统");
//        }
        if(login != null) {
            HashMap hashMap = new HashMap();
            hashMap.put("user", login);
            Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
            String token = JwtUtil.creatToken(map);
            hashMap.put("token", token);
            return Result.success(hashMap);
        }else {
            return Result.error();
        }
    }
    @PutMapping("/updatePassword")
    public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
        Caiwu caiwu = caiwuService.findById(info.getId());
        String oldPassword = SecureUtil.md5(info.getMima());
        if (!oldPassword.equals(caiwu.getMima())) {
            return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
        }
        info.setMima(SecureUtil.md5(info.getNewPassword()));
        Caiwu caiwu1 = new Caiwu();
        BeanUtils.copyProperties(info, caiwu1);
        caiwuService.update(caiwu1);
        return Result.success();
    }
}

五、效果图

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

六、文章目录

目 录
第一章 绪 论 1
1.1研究背景 1
1.2系统研究现状 1
1.3 研究意义 2
第二章 开发工具和开发技术 3
2.1开发工具 3
2.2 开发技术 3
2.2.1 Java语言 3
2.2.2 Spring Boot框架 3
2.2.3 MySQL数据库技术 4
2.2.4 B/S架构 5
第三章 需求分析 6
3.1 需求描述 6
3.2 系统角色需求分析 6
3.3 系统功能需求分析 6
3.4 非功能性需求分析 8
3.4.1 先进性 8
3.4.2 安全性 8
3.4.3 易用性 9
3.4.4 可扩展性 9
3.4.5 可修改性 9
3.5 系统流程分析 9
3.5.1 登录流程 9
3.5.2 添加信息流程 10
3.5.3 删除流程 10
3.6 本章小结 11
第四章 系统设计 12
4.1 系统总体设计 12
4.2 数据库设计 12
4.2.1 数据库逻辑设计 13
4.2.2 数据库表设计 15
4.3 本章小结 22
第五章 详细设计与实现 23
5.1系统功能实现 23
5.2后台模块实现 25
5.2.1管理员模块实现 25
5.2.2销售员模块实现 29
5.3 本章小结 31
第六章 系统测试 32
6.1 测试目的 32
6.2 测试用例 32
6.3 本章小结 33
结 论 34
参考文献 35
致 谢 36

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值