springboot基于Web的电子产品销售系统设计与实现

发布时间:2024年01月18日

一、项目介绍

??随着人们生活水平的高速发展,电子产品销售方面在近年来呈直线上升,人们也了解到电子产品的实用性,因此电子产品的销售数量也逐年递增,电子产品销售的增加加大了在管理上的工作难度。为了能更好的维护电子产品销售管理秩序,同时提高工作的效率、确保每一用户都能得到有效的保护,在进行全面调研、探求实际情况之后本人设计并实现了电子产品销售系统。
该系统采用了java技术、SpringBoot 框架,连接MySQL数据库,具有较高的信息传输速率与较强的数据处理能力。包含管理员和用户两个层级的用户角色,系统管理员可以对个人中心、用户管理、产品类别管理、电子产品管理、留言板管理、系统管理、订单管理等功能进行详情,修改和删除操作;真正实现了管理工作的无纸化,并且还拥有角色及用户的添加与删除功能,可以很好的供所有用户使用。在对系统进行测试之后,确定可以实现所有预想的功能,并且可移植性强,可以很好的起到电子产品销售管理的作用。

关键词:电子产品销售; B/S架构;MySQL数据库

二、开发环境

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

三、功能介绍

此篇论文中包括管理员和用户两个不同的角色,根据不同的身份以及工作机制,赋予不同的权限。该电子产品销售系统的功能如下列所示:
1.用户之间的使用权限设定:根据业务管理的需求以及电子产品销售管理体系,在使用前将每个角色的固定标签设定好,明晰每个角色权限,并将状态控制功能添加到用户状态上,最终达到本系统角色控制基础形成的目标。
2.用户登录功能:用户可以根据自己的角色选择相应的账号进行登录,在输入合法的账号和密码后就可进入系统,根据自己的权限选择想要进行的操作。
3.查看个人资料功能:用户登录系统之后可以点击右上角头像查看自己的个人资料,包括用户名、密码、姓名、性别、年龄和手机等,在核查发现错误之后还可以进行修改,用户还可在该模块进行密码的修改。
4.系统管理功能:在模块的功能又可以细化成以下几个部分
1)用户管理:管理员和用户可以在该模块进行用户信息的管理与修改。
2)角色管理:管理员和用户可以在该模块对用户进行权限的修改与设置。
3)电子产品管理:管理员可以在该模块进行电子产品信息的管理,例如管理员对电子产品的修改、删除,添加新的电子产品信息等。
系统管理功能:电子产品销售的管理员可以在本模块对系统简介、在线客服、轮播图管理、关于我们和通知公告进行管理。
完成了设计思路的构想,接下来就是按照实际要求完成所需功能。该系统功能结构图如图4-2所示:
在这里插入图片描述

图4-2 系统功能结构图

四、核心代码

部分代码:

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
1.1 研究背景 1
1.2 研究意义 1
1.3 系统主要功能 1
1.4 拟解决的主要问题 2
2 相关概念和技术介绍 4
2.1 JAVA技术介绍 4
2.2 SpringBoot框架 4
2.4 B/S架构 5
2.5 MySQL数据库 5
3 系统需求分析 7
3.1 问题定义 7
3.2 可行性分析 8
3.3 系统各部分功能需求分析 8
3.3.1 系统总体需求分析 8
3.3.2 系统管理需求分析 8
3.4 系统流程分析 9
3.4.1 登录流程 9
3.4.2 添加信息流程 10
3.4.3 删除信息流程 10
4 系统功能的设计与实现 12
4.1 总体设计思路 12
4.2 系统功能结构设计 12
4.3 数据库设计 12
4.3.1 数据库E-R图设计 12
4.3.2 数据库表结构设计 14
5 系统详细功能的实现 20
5.1系统功能实现 20
5.2后台管理员模块实现 22
6 软件测试 27
6.1 登录测试 27
6.2 系统管理测试 27
6.2.1. 用户管理功能测试 28
6.2.2 角色管理功能测试 28
7 结 论 30
参考文献 31
致 谢 32

文章来源:https://blog.csdn.net/q_1262330535/article/details/135662897
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。