基于java+springboot的大型超市数据处理系统

文章目录

  • 前言
  • 技术介绍
  • 功能介绍
  • 核心代码
    • 数据库参考
  • 系统效果图


前言

  时代在飞速进步,每个行业都在努力发展现在先进技术,通过这些先进的技术来提高自己的水平和优势,大型超市数据处理系统当然不能排除在外。大型超市数据处理系统是在实际应用和软件工程的开发原理之上,运用Python语言以及springboot框架进行开发。首先要进行需求分析,分析出大型超市数据处理系统的主要功能,然后设计了系统结构。整体设计包括系统的功能、系统总体结构、系统数据结构和对系统安全性进行设计;最后要对系统进行测试,还要对测试的结果进行总结和分析,为以后系统的维护提供方便,也为以后类似系统的开发提供参考和帮助。这种个性化的网络系统管理更重视相互协调和管理合作,能激发管理者的创造性和主动性,这对大型超市数据处理系统来说非常有益。

技术介绍

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

功能介绍

系统启动后,在登录界面,输入正确的账号、密码、角色,选择进入管理员界面或用户界面,管理员界面是用来管理页面与系统的所有功能,用户界面可以正常的使用,并对生鲜信息、系统公告、留言反馈等进行份内的操作,系统登录结构图如图4-1所示。
在这里插入图片描述

图4-1 系统登录结构图
管理员模块属于是网站的后台,进入之后有大量的管理员功能,管理员也可以使用用户模块的功能,为了维护网站的稳定与页面的布局,将管理员模块的功能详细化后可以使用系统管理对页面进行布局修改,可以发布公告提示用户规范,用户模块只可以对生鲜信息、系统公告等进行查询等,并且更改个人信息,大型超市数据处理系统总体结构图如图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 {@Resourceprivate CaiwuService caiwuService;@PostMappingpublic 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();}@PutMappingpublic 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);}@GetMappingpublic 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();}
}

数据库参考

--
-- Current Database: `springboot4wx9pqc4`
--/*!40000 DROP DATABASE IF EXISTS `springboot4wx9pqc4`*/;CREATE DATABASE /*!32312 IF NOT EXISTS*/ `springboot4wx9pqc4` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;USE `springboot4wx9pqc4`;--
-- Table structure for table `config`
--DROP TABLE IF EXISTS `config`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `config` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`name` varchar(100) NOT NULL COMMENT '配置参数名称',`value` varchar(100) DEFAULT NULL COMMENT '配置参数值',`url` varchar(500) DEFAULT NULL COMMENT 'url',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `config`
--LOCK TABLES `config` WRITE;
/*!40000 ALTER TABLE `config` DISABLE KEYS */;
INSERT INTO `config` VALUES (1,'picture1','upload/picture1.jpg',NULL),(2,'picture2','upload/picture2.jpg',NULL),(3,'picture3','upload/picture3.jpg',NULL);
/*!40000 ALTER TABLE `config` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `gongyingshang`
--DROP TABLE IF EXISTS `gongyingshang`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `gongyingshang` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`changjiazhanghao` varchar(200) NOT NULL COMMENT '厂家账号',`mima` varchar(200) NOT NULL COMMENT '密码',`changjiamingcheng` varchar(200) DEFAULT NULL COMMENT '厂家名称',`changjiadizhi` varchar(200) DEFAULT NULL COMMENT '厂家地址',`zhuceziben` varchar(200) DEFAULT NULL COMMENT '注册资本',`lianxidianhua` varchar(200) DEFAULT NULL COMMENT '联系电话',`yingyezhizhao` longtext COMMENT '营业执照',`shangpinleibie` varchar(200) NOT NULL COMMENT '商品类别',PRIMARY KEY (`id`),UNIQUE KEY `changjiazhanghao` (`changjiazhanghao`)
) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8 COMMENT='供应商';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `gongyingshang`
--LOCK TABLES `gongyingshang` WRITE;
/*!40000 ALTER TABLE `gongyingshang` DISABLE KEYS */;
INSERT INTO `gongyingshang` VALUES (31,'2024-01-12 06:53:21','厂家账号1','123456','厂家名称1','厂家地址1','注册资本1','13823888881','upload/gongyingshang_yingyezhizhao1.jpg','商品类别1'),(32,'2024-01-12 06:53:21','厂家账号2','123456','厂家名称2','厂家地址2','注册资本2','13823888882','upload/gongyingshang_yingyezhizhao2.jpg','商品类别2'),(33,'2024-01-12 06:53:21','厂家账号3','123456','厂家名称3','厂家地址3','注册资本3','13823888883','upload/gongyingshang_yingyezhizhao3.jpg','商品类别3'),(34,'2024-01-12 06:53:21','厂家账号4','123456','厂家名称4','厂家地址4','注册资本4','13823888884','upload/gongyingshang_yingyezhizhao4.jpg','商品类别4'),(35,'2024-01-12 06:53:21','厂家账号5','123456','厂家名称5','厂家地址5','注册资本5','13823888885','upload/gongyingshang_yingyezhizhao5.jpg','商品类别5'),(36,'2024-01-12 06:53:21','厂家账号6','123456','厂家名称6','厂家地址6','注册资本6','13823888886','upload/gongyingshang_yingyezhizhao6.jpg','商品类别6'),(37,'2024-01-12 06:53:21','厂家账号7','123456','厂家名称7','厂家地址7','注册资本7','13823888887','upload/gongyingshang_yingyezhizhao7.jpg','商品类别7'),(38,'2024-01-12 06:53:21','厂家账号8','123456','厂家名称8','厂家地址8','注册资本8','13823888888','upload/gongyingshang_yingyezhizhao8.jpg','商品类别8');
/*!40000 ALTER TABLE `gongyingshang` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `gongzuorenyuan`
--DROP TABLE IF EXISTS `gongzuorenyuan`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `gongzuorenyuan` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`yuangonghao` varchar(200) NOT NULL COMMENT '员工号',`mima` varchar(200) NOT NULL COMMENT '密码',`yuangongxingming` varchar(200) NOT NULL COMMENT '员工姓名',`xingbie` varchar(200) DEFAULT NULL COMMENT '性别',`nianling` int(11) DEFAULT NULL COMMENT '年龄',`shoujihaoma` varchar(200) DEFAULT NULL COMMENT '手机号码',`touxiang` longtext COMMENT '头像',PRIMARY KEY (`id`),UNIQUE KEY `yuangonghao` (`yuangonghao`)
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8 COMMENT='工作人员';
/*!40101 SET character_set_client = @saved_cs_client */;--
-- Dumping data for table `gongzuorenyuan`
--LOCK TABLES `gongzuorenyuan` WRITE;
/*!40000 ALTER TABLE `gongzuorenyuan` DISABLE KEYS */;
INSERT INTO `gongzuorenyuan` VALUES (11,'2024-01-12 06:53:21','员工号1','123456','员工姓名1','男',1,'13823888881','upload/gongzuorenyuan_touxiang1.jpg'),(12,'2024-01-12 06:53:21','员工号2','123456','员工姓名2','男',2,'13823888882','upload/gongzuorenyuan_touxiang2.jpg'),(13,'2024-01-12 06:53:21','员工号3','123456','员工姓名3','男',3,'13823888883','upload/gongzuorenyuan_touxiang3.jpg'),(14,'2024-01-12 06:53:21','员工号4','123456','员工姓名4','男',4,'13823888884','upload/gongzuorenyuan_touxiang4.jpg'),(15,'2024-01-12 06:53:21','员工号5','123456','员工姓名5','男',5,'13823888885','upload/gongzuorenyuan_touxiang5.jpg'),(16,'2024-01-12 06:53:21','员工号6','123456','员工姓名6','男',6,'13823888886','upload/gongzuorenyuan_touxiang6.jpg'),(17,'2024-01-12 06:53:21','员工号7','123456','员工姓名7','男',7,'13823888887','upload/gongzuorenyuan_touxiang7.jpg'),(18,'2024-01-12 06:53:21','员工号8','123456','员工姓名8','男',8,'13823888888','upload/gongzuorenyuan_touxiang8.jpg');
/*!40000 ALTER TABLE `gongzuorenyuan` ENABLE KEYS */;
UNLOCK TABLES;--
-- Table structure for table `jinhuodingdan`
--DROP TABLE IF EXISTS `jinhuodingdan`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `jinhuodingdan` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`jinhuobianhao` varchar(200) DEFAULT NULL COMMENT '进货编号',`pici` varchar(200) NOT NULL COMMENT '批次',`shangpinmingcheng` varchar(200) DEFAULT NULL COMMENT '商品名称',`guige` varchar(200) DEFAULT NULL COMMENT '规格',`shuliang` int(11) DEFAULT NULL COMMENT '进货数量',`jinhuodanjia` double DEFAULT NULL COMMENT '进货单价',`jinhuojine` double DEFAULT NULL COMMENT '进货金额',`pinpai` varchar(200) DEFAULT NULL COMMENT '品牌',`changjiazhanghao` varchar(200) NOT NULL COMMENT '厂家账号',`changjiamingcheng` varchar(200) DEFAULT NULL COMMENT '厂家名称',`jinhuoyuanyin` longtext COMMENT '进货原因',`jinhuoriqi` date DEFAULT NULL COMMENT '进货日期',`yuangonghao` varchar(200) DEFAULT NULL COMMENT '员工号',`yuangongxingming` varchar(200) DEFAULT NULL COMMENT '员工姓名',`zhuangtai` varchar(200) DEFAULT NULL COMMENT '状态',`sfsh` varchar(200) DEFAULT '待审核' COMMENT '是否审核',`shhf` longtext COMMENT '审核回复',`ispay` varchar(200) DEFAULT '未支付' COMMENT '是否支付',PRIMARY KEY (`id`),UNIQUE KEY `pici` (`pici`),UNIQUE KEY `jinhuobianhao` (`jinhuobianhao`)
) ENGINE=InnoDB AUTO_INCREMENT=59 DEFAULT CHARSET=utf8 COMMENT='进货订单';
/*!40101 SET character_set_client = @saved_cs_client */;

系统效果图

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/56101.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot框架实战:打造宠物用品电商平台

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常…

SpringCloud之注册中心Consul使用详解

SpringCloud之注册中心Consul使用详解 在上个月我们知道 Eureka 2.X 遇到困难停止开发了&#xff0c;但其实对国内的用户影响甚小&#xff0c;一方面国内大都使用的是 Eureka 1.X 系列&#xff0c;另一方面 Spring Cloud 支持很多服务发现的软件&#xff0c;Eureka 只是其中之…

深入探索Python集合(Set)的高效应用:数据处理、性能优化与实际案例分析

文章目录 前言&#x1fa81;一、 定义集合1.1 使用大括号 {} 定义集合1.2 使用 set() 函数定义集合 &#x1fa81;二、添加元素2.1 使用 add() 方法2.2 使用 update() 方法 &#x1fa81;三、移除元素3.1 使用 remove() 方法3.2 使用 discard() 方法3.3 使用 pop() 方法3.4 使用…

【氮化镓】低温对p-GaN HEMT迁移率、阈值电压和亚阈值摆幅的影响

本期分享一篇低温对p-GaN HEMT 迁移率、阈值电压和亚阈值摆幅影响进行表征和建模的研究论文。文章作者Shivendra Kumar Singh、Thien Sao Ngo、Tian-Li Wu(通讯作者)和Yogesh Singh Chauhan,分别来资源中国台湾阳明交通大学国际半导体技术学院、印度理工学院坎普尔分校电气工…

缓存常见问题:缓存穿透、雪崩、击穿及解决方案分析

1. 什么是缓存穿透&#xff0c;怎么解决&#xff1f; 缓存穿透是指用户请求的数据在缓存中不存在即没有命中&#xff0c;同时在数据库中也不存在&#xff0c;导致用户每次请求该数据都要去数据库中查询一遍。如果有恶意攻击者不断请求系统中不存在的数据&#xff0c;会导致短时…

西南交通大学计算机软件专业上岸难度分析

C哥专业提供——计软考研院校选择分析专业课备考指南规划 西南交通大学计算机科学与技术2024届考研难度整体呈现"稳中有升"的态势。学硕实际录取33人&#xff0c;复试分数线362分&#xff0c;复试录取率71.74%&#xff1b;专硕&#xff08;计算机技术&#xff09;实际…

【数据结构笔记】408二叉树、堆、AVL、图、拓扑排序

文章目录 堆和二叉树一、定义与性质二、结构特点三、应用场景四、查找效率解释荷兰围棋问题拓扑排序的树 逆拓扑排序邻接表的存储 二叉树、二叉平衡树、图刷题笔记 堆和二叉排序树是数据结构中两种不同的树状结构&#xff0c;它们之间存在显著的区别。以下是对这两种数据结构的…

通过SSH远端免密登录执行脚本,修改最新5分钟生成文件权限

通过SSH远端免密登录执行脚本&#xff0c;修改最新5分钟生成文件权限 一、准备工作二、脚本内容三、使用脚本四、注意事项 在日常的系统管理中&#xff0c;经常需要对远程服务器上的文件进行操作。本文将介绍如何通过SSH远端免密登录&#xff0c;执行一个脚本来查找某目录下最新…

半导体材料ERP系统在生产计划管理方面的应用

在科技日新月异的今天&#xff0c;半导体材料作为信息技术的基石&#xff0c;其生产效率与质量管理直接关系到整个产业链的竞争力。为了精准把控生产流程&#xff0c;优化资源配置&#xff0c;半导体行业正积极引入高科技的ERP(企业资源计划)系统&#xff0c;特别是在生产计划管…

关于vue3中如何实现多个v-model的自定义组件

实现自定义组件<User v-model"userInfo" v-model:gender"gender"></User> User组件中更改数据可以同步更改父组件中的数据&#xff1a; 1 父组件&#xff1a; <User v-model"userInfo" v-model:gender"gender">&…

LabVIEW程序员可以从哪几个方面提升自己?有没有详细的路线图?

作为一名LabVIEW程序员&#xff0c;要在快速发展的技术领域保持竞争力并不断提升自己&#xff0c;需要从多个方面进行持续的学习和实践。下面我将为你详细说明LabVIEW程序员提升自己的几个关键方向&#xff0c;并给出具体的成长路线图。 1. 夯实基础&#xff1a;掌握LabVIEW的…

【D3.js in Action 3 精译_035】4.1 D3 中的坐标轴的创建(下篇):坐标轴与轴标签的具体实现

当前内容所在位置&#xff08;可进入专栏查看其他译好的章节内容&#xff09; 第一部分 D3.js 基础知识 第一章 D3.js 简介&#xff08;已完结&#xff09; 1.1 何为 D3.js&#xff1f;1.2 D3 生态系统——入门须知1.3 数据可视化最佳实践&#xff08;上&#xff09;1.3 数据可…

若依前后分离版集成积木报表嵌入菜单

今天主要是分享积木报表如何嵌入若依项目菜单&#xff0c;上一篇文件已经分享过若依集成积木报表&#xff0c;这里就不再多费口舌了&#xff0c;有需要的朋友可以移步上一篇文章查看&#xff1a;若依前后分离版集成积木报表-CSDN博客 1、首先是后端配置&#xff1a; 1.1…

【进阶OpenCV】 (11)--DNN板块--实现风格迁移

文章目录 DNN板块一、DNN特点二、DNN函数流程三、实现风格迁移1. 图像预处理2. 加载星空模型3. 输出处理 总结 DNN板块 DNN模块是 OpenCV 中专门用来实现 DNN(Deep Neural Networks,深度神经网络) 模块的相关功能&#xff0c;其作用是载入别的深度学习框架(如 TensorFlow、Caf…

KANO模型,用户需求与产品设计的必备技能!

在竞争日益激烈的市场中&#xff0c;了解客户需求并提供符合客户期望的产品和服务变得尤为重要。那么有没有一种方法可以作为参考呢&#xff1f;今天小编就带大家了解一下KANO模型。KANO模型&#xff08;Kano Model&#xff09;作为一种帮助企业识别和优先处理客户需求的工具&a…

Django操作数据库

Django操作数据库 1、ORM框架2、ORM-创建数据库3、ORM-连接数据库4、ORM-操作表4.1、类创建表4.2、修改表结构4.2.1、删除表结构4.2.2、新增表结构 5、ORM-增删改查5.1、新增数据5.2、删除数据5.3、查询数据5.4、更新数据 1、ORM框架 Django开发操作数据库很简单&#xff0c;内…

项目实战:Qt+OpenCV仿射变换工具v1.1.0(支持打开图片、输出棋盘角点、调整偏移点、导出变换后的图等等)

若该文为原创文章&#xff0c;转载请注明出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/143105881 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV、Op…

如何解决JMeter响应数据乱码?

问题&#xff1a; 解决&#xff1a; 1、找到JMeter安装目录下的bin目录 2、 在bin目录下&#xff0c;打开" jmeter.properties "文件 3、搜索"sampleresult.default.encoding" 4、改成"sampleresult.default.encodingUTF-8"&#xff0c;去掉前面…

数字图像处理:图像分割应用

数字图像处理&#xff1a;图像分割应用 图像分割是图像处理中的一个关键步骤&#xff0c;其目的是将图像分成具有不同特征的区域&#xff0c;以便进一步的分析和处理。 1.1 阈值分割法 阈值分割法&#xff08;Thresholding&#xff09;是一种基于图像灰度级或颜色的分割方法&…

图片写入GPS经纬高信息

近期项目中需要往java平台传输图片&#xff0c;直接使用QNetworkAccessManager和QHttpMultipart类即可&#xff0c;其他博文中有分享。 主要是平台接口对所传输图片有要求&#xff1a;需要包含GPS信息&#xff08;经度、纬度、高度&#xff09;。 Qt无法直接实现&#xff0c;…