基于SSM的校园驿站管理系统
末尾获取源码
开发语言:Java
Java开发工具:JDK1.8
后端框架:SSM
前端:采用JSP技术开发
数据库:MySQL5.7和Navicat管理工具结合
服务器:Tomcat8.5
开发软件:IDEA / Eclipse
是否Maven项目:是
目录
一、项目简介
二、论文截图
三、系统项目截图
3.1管理员
3.2员工功能实现
3.3用户功能实现
四、核心代码
4.1登录相关
4.2文件上传
4.3封装
4.4sql语句
一、项目简介
互联网发展至今,无论是其理论还是技术都已经成熟,而且它广泛参与在社会中的方方面面。它让信息都可以通过网络传播,搭配信息管理工具可以很好地为人们提供服务。针对校园快递信息管理混乱,出错率高,信息安全性差,劳动强度大,费时费力等问题,采用校园驿站管理系统可以有效管理,使信息管理能够更加科学和规范。
校园驿站管理系统在Eclipse环境中,使用Java语言进行编码,使用Mysql创建数据表保存本系统产生的数据。系统可以提供信息显示和相应服务,其管理员管理快递仓库信息,管理待发货信息,管理已收快递,管理物流以及留言信息,管理员工和用户资料。员工更改物流信息,管理快递仓库信息,管理待发货信息,管理已收快递,发布留言信息。用户签收快递,查看系统公告,发布留言,查看已收快递信息,查看快递物流信息。
总之,校园驿站管理系统集中管理信息,有着保密性强,效率高,存储空间大,成本低等诸多优点。它可以降低信息管理成本,实现信息管理计算机化。
二、论文截图
三、系统项目截图
3.1管理员
管理员进入指定功能操作区之后可以管理快递仓库信息。其页面见下图。管理员在页面内增删改查快递仓库信息,查看各个快递的状态信息。
管理员进入指定功能操作区之后可以管理待发货信息。其页面见下图。管理员在页面内增删改查待发货快递信息。
管理员进入指定功能操作区之后可以管理已收快递信息。其页面见下图。管理员在页面内查询已收快递,修改,删除已收快递信息。
管理员进入指定功能操作区之后可以管理物流信息。其页面见下图。管理员在页面内更改物流信息,批量删除物流信息。
管理员进入指定功能操作区之后可以管理留言。其页面见下图。管理员批量删除留言,针对留言内容进行留言回复。
3.2员工功能实现
员工进入指定功能操作区之后可以更改物流信息。其页面见下图。员工对各个快递的物流信息随时进行更新。
员工进入指定功能操作区之后可以查询已收快递。其页面见下图。员工根据快递类型,还有快递名称可以查询已收快递信息,查询出来的信息包括了快递的收件人以及收件时间等信息。
员工进入指定功能操作区之后可以管理待发货快递信息。其页面见下图。员工在页面内只能新增,修改,查询待发货快递信息。
3.3用户功能实现
用户进入指定功能操作区之后可以签收快递。其页面见下图。用户点击签收按钮即可快速签收快递。
用户进入指定功能操作区之后可以查看公告。其页面见下图。公告信息太多时,可以使用公告查询功能快速获取指定的公告。
用户进入指定功能操作区之后可以发布留言。其页面见下图。用户查看之前的留言和回复,也能点击留言按钮发布新的留言。
四、核心代码
4.1登录相关
package com.controller;import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.Map;import javax.servlet.http.HttpServletRequest;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.TokenEntity;
import com.entity.UserEntity;
import com.service.TokenService;
import com.service.UserService;
import com.utils.CommonUtil;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.ValidatorUtils;/*** 登录相关*/
@RequestMapping("users")
@RestController
public class UserController{@Autowiredprivate UserService userService;@Autowiredprivate TokenService tokenService;/*** 登录*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null || !user.getPassword().equals(password)) {return R.error("账号或密码不正确");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());return R.ok().put("token", token);}/*** 注册*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 密码重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null) {return R.error("账号不存在");}user.setPassword("123456");userService.update(user,null);return R.ok("密码已重置为:123456");}/*** 列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/list")public R list( UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew));}/*** 信息*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 获取用户的session用户信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Long id = (Long)request.getSession().getAttribute("userId");UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 保存*/@PostMapping("/save")public R save(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用户已存在");}userService.insert(user);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody UserEntity user){
// ValidatorUtils.validateEntity(user);userService.updateById(user);//全部更新return R.ok();}/*** 删除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();}
}
4.2文件上传
package com.controller;import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Arrays;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.UUID;import org.apache.commons.io.FileUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;import com.annotation.IgnoreAuth;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.entity.ConfigEntity;
import com.entity.EIException;
import com.service.ConfigService;
import com.utils.R;/*** 上传文件映射表*/
@RestController
@RequestMapping("file")
@SuppressWarnings({"unchecked","rawtypes"})
public class FileController{@Autowiredprivate ConfigService configService;/*** 上传文件*/@RequestMapping("/upload")public R upload(@RequestParam("file") MultipartFile file,String type) throws Exception {if (file.isEmpty()) {throw new EIException("上传文件不能为空");}String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);File path = new File(ResourceUtils.getURL("classpath:static").getPath());if(!path.exists()) {path = new File("");}File upload = new File(path.getAbsolutePath(),"/upload/");if(!upload.exists()) {upload.mkdirs();}String fileName = new Date().getTime()+"."+fileExt;File dest = new File(upload.getAbsolutePath()+"/"+fileName);file.transferTo(dest);FileUtils.copyFile(dest, new File("C:\\Users\\Desktop\\jiadian\\springbootl7own\\src\\main\\resources\\static\\upload"+"/"+fileName));if(StringUtils.isNotBlank(type) && type.equals("1")) {ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));if(configEntity==null) {configEntity = new ConfigEntity();configEntity.setName("faceFile");configEntity.setValue(fileName);} else {configEntity.setValue(fileName);}configService.insertOrUpdate(configEntity);}return R.ok().put("file", fileName);}/*** 下载文件*/@IgnoreAuth@RequestMapping("/download")public ResponseEntity<byte[]> download(@RequestParam String fileName) {try {File path = new File(ResourceUtils.getURL("classpath:static").getPath());if(!path.exists()) {path = new File("");}File upload = new File(path.getAbsolutePath(),"/upload/");if(!upload.exists()) {upload.mkdirs();}File file = new File(upload.getAbsolutePath()+"/"+fileName);if(file.exists()){/*if(!fileService.canRead(file, SessionManager.getSessionUser())){getResponse().sendError(403);}*/HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.APPLICATION_OCTET_STREAM); headers.setContentDispositionFormData("attachment", fileName); return new ResponseEntity<byte[]>(FileUtils.readFileToByteArray(file),headers, HttpStatus.CREATED);}} catch (IOException e) {e.printStackTrace();}return new ResponseEntity<byte[]>(HttpStatus.INTERNAL_SERVER_ERROR);}}
4.3封装
package com.utils;import java.util.HashMap;
import java.util.Map;/*** 返回数据*/
public class R extends HashMap<String, Object> {private static final long serialVersionUID = 1L;public R() {put("code", 0);}public static R error() {return error(500, "未知异常,请联系管理员");}public static R error(String msg) {return error(500, msg);}public static R error(int code, String msg) {R r = new R();r.put("code", code);r.put("msg", msg);return r;}public static R ok(String msg) {R r = new R();r.put("msg", msg);return r;}public static R ok(Map<String, Object> map) {R r = new R();r.putAll(map);return r;}public static R ok() {return new R();}public R put(String key, Object value) {super.put(key, value);return this;}
}
4.4sql语句
/*
SQLyog Ultimate v11.3 (64 bit)
MySQL - 5.7.32-log : Database - yz-ssmj
*********************************************************************
*//*!40101 SET NAMES utf8 */;/*!40101 SET SQL_MODE=''*/;/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`yz-ssmj` /*!40100 DEFAULT CHARACTER SET utf8 */;USE `yz-ssmj`;/*Table structure for table `cangkuxinxi` */DROP TABLE IF EXISTS `cangkuxinxi`;CREATE TABLE `cangkuxinxi` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`logistics` varchar(255) DEFAULT NULL COMMENT '物流单号',`name` varchar(255) DEFAULT NULL COMMENT '快递名称 Search',`kd_types` tinyint(4) DEFAULT NULL COMMENT '快递类型 Search',`courier` varchar(255) DEFAULT NULL COMMENT '送件人',`cmobile` varchar(255) DEFAULT NULL COMMENT '手机号',`warehouse_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '入库时间',`recipients` varchar(255) DEFAULT NULL COMMENT '收件人',`rmobile` varchar(255) DEFAULT NULL COMMENT '手机号',`consigneeaddress` varchar(255) DEFAULT NULL COMMENT '收件地址',`express_types` tinyint(4) DEFAULT NULL COMMENT '快递状态 Search',`notice_content` varchar(255) DEFAULT NULL COMMENT '描述信息',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COMMENT='快递仓库信息表';/*Data for the table `cangkuxinxi` */insert into `cangkuxinxi`(`id`,`logistics`,`name`,`kd_types`,`courier`,`cmobile`,`warehouse_time`,`recipients`,`rmobile`,`consigneeaddress`,`express_types`,`notice_content`) values (2,'1613972207059','快递1',2,'123','123','2021-02-22 14:16:41','321','321','321123',1,'这里是描述信息\r\n');
insert into `cangkuxinxi`(`id`,`logistics`,`name`,`kd_types`,`courier`,`cmobile`,`warehouse_time`,`recipients`,`rmobile`,`consigneeaddress`,`express_types`,`notice_content`) values (3,'1613972207058','快递2',2,'123','123','2021-02-22 14:16:33','321','321','321123',1,'这里是描述信息\r\n');
insert into `cangkuxinxi`(`id`,`logistics`,`name`,`kd_types`,`courier`,`cmobile`,`warehouse_time`,`recipients`,`rmobile`,`consigneeaddress`,`express_types`,`notice_content`) values (4,'1613980789482','快递33',1,'123','123','2021-02-22 15:59:53','123','123','123',2,'');
insert into `cangkuxinxi`(`id`,`logistics`,`name`,`kd_types`,`courier`,`cmobile`,`warehouse_time`,`recipients`,`rmobile`,`consigneeaddress`,`express_types`,`notice_content`) values (5,'1613980815812','快递44',3,'123','123','2021-02-22 16:00:16','31234','12515','61616',1,'5123\r\n');/*Table structure for table `config` */DROP TABLE IF EXISTS `config`;CREATE TABLE `config` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`name` varchar(100) NOT NULL COMMENT '配置参数名称',`value` varchar(100) DEFAULT NULL COMMENT '配置参数值',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='配置文件';/*Data for the table `config` */insert into `config`(`id`,`name`,`value`) values (1,'picture1','http://localhost:8080/fd-ssmj/upload/1613705295135.jpg');
insert into `config`(`id`,`name`,`value`) values (2,'picture2','http://localhost:8080/fd-ssmj/upload/1613705301525.jpg');
insert into `config`(`id`,`name`,`value`) values (3,'picture3','http://localhost:8080/fd-ssmj/upload/1613799912302.JPG');
insert into `config`(`id`,`name`,`value`) values (4,'picture4','http://localhost:8080/fd-ssmj/upload/1613705325348.jpg');
insert into `config`(`id`,`name`,`value`) values (5,'picture5','http://localhost:8080/fd-ssmj/upload/1613705332544.jpg');
insert into `config`(`id`,`name`,`value`) values (6,'homepage','http://localhost:8080/fd-ssmj/upload/1613705342094.jpg');/*Table structure for table `dictionary` */DROP TABLE IF EXISTS `dictionary`;CREATE TABLE `dictionary` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`dic_code` varchar(200) DEFAULT NULL COMMENT '字段',`dic_name` varchar(200) DEFAULT NULL COMMENT '字段名',`code_index` tinyint(4) DEFAULT NULL COMMENT '编码',`index_name` varchar(200) DEFAULT NULL COMMENT '编码名字',`super_id` int(11) DEFAULT NULL COMMENT '父字段id',`create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='字典表';/*Data for the table `dictionary` */insert into `dictionary`(`id`,`dic_code`,`dic_name`,`code_index`,`index_name`,`super_id`,`create_time`) values (1,'kd_types','快递类型',3,'小件',NULL,'2021-01-25 11:41:54');
insert into `dictionary`(`id`,`dic_code`,`dic_name`,`code_index`,`index_name`,`super_id`,`create_time`) values (2,'kd_types','快递类型',2,'中件',NULL,'2021-01-25 11:41:54');
insert into `dictionary`(`id`,`dic_code`,`dic_name`,`code_index`,`index_name`,`super_id`,`create_time`) values (3,'kd_types','快递类型',1,'大件',NULL,'2021-01-25 11:41:54');
insert into `dictionary`(`id`,`dic_code`,`dic_name`,`code_index`,`index_name`,`super_id`,`create_time`) values (7,'express_types','快递状态',1,'已签收',NULL,'2021-02-22 11:33:04');
insert into `dictionary`(`id`,`dic_code`,`dic_name`,`code_index`,`index_name`,`super_id`,`create_time`) values (8,'express_types','快递状态',2,'未签收',NULL,'2021-02-22 11:33:05');/*Table structure for table `fahuoxinxi` */DROP TABLE IF EXISTS `fahuoxinxi`;CREATE TABLE `fahuoxinxi` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`logistics` varchar(255) DEFAULT NULL COMMENT '物流单号',`name` varchar(255) DEFAULT NULL COMMENT '快递名称 Search',`kd_types` tinyint(4) DEFAULT NULL COMMENT '快递类型 Search',`addresser` varchar(255) DEFAULT NULL COMMENT '发件人',`yhid` int(11) DEFAULT NULL COMMENT '用户id',`amobile` varchar(255) DEFAULT NULL COMMENT '手机号',`consigneeaddress` varchar(255) DEFAULT NULL COMMENT '收件地址',`recipients` varchar(255) DEFAULT NULL COMMENT '收件人',`rmobile` varchar(255) DEFAULT NULL COMMENT '手机号',`shipments_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '发货时间',`notice_content` varchar(255) DEFAULT NULL COMMENT '描述信息',`update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='发货表';/*Data for the table `fahuoxinxi` */insert into `fahuoxinxi`(`id`,`logistics`,`name`,`kd_types`,`addresser`,`yhid`,`amobile`,`consigneeaddress`,`recipients`,`rmobile`,`shipments_time`,`notice_content`,`update_time`) values (2,'1613977091565','快递11',3,'123',1,'123','123','123','123','2021-02-22 14:58:12','123\r\n',NULL);
insert into `fahuoxinxi`(`id`,`logistics`,`name`,`kd_types`,`addresser`,`yhid`,`amobile`,`consigneeaddress`,`recipients`,`rmobile`,`shipments_time`,`notice_content`,`update_time`) values (3,'1613979260499','快递222',3,'123',2,'123','123','123','123','2021-02-22 15:34:21','123\r\n',NULL);
insert into `fahuoxinxi`(`id`,`logistics`,`name`,`kd_types`,`addresser`,`yhid`,`amobile`,`consigneeaddress`,`recipients`,`rmobile`,`shipments_time`,`notice_content`,`update_time`) values (5,'1613981162336','快递222',3,'123',4,'132','132','132','13','2021-04-06 14:57:42','132\r\n','2021-04-06 15:01:19');/*Table structure for table `liuyanxinxi` */DROP TABLE IF EXISTS `liuyanxinxi`;CREATE TABLE `liuyanxinxi` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',`note` varchar(255) DEFAULT NULL COMMENT '留言信息',`yhnote` varchar(11) DEFAULT NULL COMMENT '留言人',`note_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '留言时间 Search',`reply` varchar(255) DEFAULT NULL COMMENT '回复',`glreply` varchar(11) DEFAULT NULL COMMENT '回复人',`reply_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '回复时间 Search',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;/*Data for the table `liuyanxinxi` */insert into `liuyanxinxi`(`id`,`note`,`yhnote`,`note_time`,`reply`,`glreply`,`reply_time`) values (4,'1231111','admin','2021-02-22 17:34:43','只有管理员可以回复','admin','2021-02-22 17:34:43');
insert into `liuyanxinxi`(`id`,`note`,`yhnote`,`note_time`,`reply`,`glreply`,`reply_time`) values (6,'123123','小札','2021-02-22 17:34:43',NULL,NULL,'2021-02-22 17:34:43');
insert into `liuyanxinxi`(`id`,`note`,`yhnote`,`note_time`,`reply`,`glreply`,`reply_time`) values (7,'13132123','admin','2021-02-22 16:01:56','123231231','admin','2021-02-22 16:01:56');
insert into `liuyanxinxi`(`id`,`note`,`yhnote`,`note_time`,`reply`,`glreply`,`reply_time`) values (8,'123123','员工1','2021-02-22 16:02:49',NULL,NULL,NULL);
insert into `liuyanxinxi`(`id`,`note`,`yhnote`,`note_time`,`reply`,`glreply`,`reply_time`) values (9,'32312312','1','2021-02-22 16:06:15',NULL,NULL,NULL);/*Table structure for table `shoujianxinxi` */DROP TABLE IF EXISTS `shoujianxinxi`;CREATE TABLE `shoujianxinxi` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`logistics` varchar(255) DEFAULT NULL COMMENT '物流单号',`name` varchar(255) DEFAULT NULL COMMENT '快递名称 Search',`kd_types` tinyint(4) DEFAULT NULL COMMENT '快递类型 Search',`yhid` int(11) DEFAULT NULL COMMENT '签收人',`recipients` varchar(255) DEFAULT NULL COMMENT '收件人',`rmobile` varchar(255) DEFAULT NULL COMMENT '手机号',`consigneeaddress` varchar(255) DEFAULT NULL COMMENT '收件地址',`addressee_time` timestamp(4) NULL DEFAULT NULL COMMENT '收件时间',`notice_content` varchar(255) DEFAULT NULL COMMENT '备注信息',`update_time` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='快递仓库信息表';/*Data for the table `shoujianxinxi` */insert into `shoujianxinxi`(`id`,`logistics`,`name`,`kd_types`,`yhid`,`recipients`,`rmobile`,`consigneeaddress`,`addressee_time`,`notice_content`,`update_time`) values (5,'1613972207059','快递1',2,1,'321','321','321123','2021-02-22 15:26:30.1240','暂无备注信息',NULL);
insert into `shoujianxinxi`(`id`,`logistics`,`name`,`kd_types`,`yhid`,`recipients`,`rmobile`,`consigneeaddress`,`addressee_time`,`notice_content`,`update_time`) values (6,'1613980815812','快递44',3,4,'31234qqq','12515qq','61616q','2021-02-22 16:05:27.4170','暂无备注信息',NULL);/*Table structure for table `token` */DROP TABLE IF EXISTS `token`;CREATE TABLE `token` (`id` int(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`userid` int(20) NOT NULL COMMENT '用户id',`username` varchar(100) NOT NULL COMMENT '用户名',`tablename` varchar(100) DEFAULT NULL COMMENT '表名',`role` varchar(100) DEFAULT NULL COMMENT '角色',`token` varchar(200) NOT NULL COMMENT '密码',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',`expiratedtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '过期时间',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='token表';/*Data for the table `token` */insert into `token`(`id`,`userid`,`username`,`tablename`,`role`,`token`,`addtime`,`expiratedtime`) values (1,1,'admin','users','管理员','rjdgnep0c57qju2y37lpvkjeceqy0y80','2021-01-28 18:04:51','2021-04-06 15:45:20');
insert into `token`(`id`,`userid`,`username`,`tablename`,`role`,`token`,`addtime`,`expiratedtime`) values (2,1,'小札','users','用户','774h9xjd9yg9d1zoy2d1wl7x0aj3x0tm','2021-02-03 16:33:33','2021-02-22 16:16:18');
insert into `token`(`id`,`userid`,`username`,`tablename`,`role`,`token`,`addtime`,`expiratedtime`) values (3,1,'员工1','users','员工','apzc2ymlaidr1wsldenwbhiyvp7rwqp5','2021-02-22 15:14:58','2021-02-22 17:02:10');
insert into `token`(`id`,`userid`,`username`,`tablename`,`role`,`token`,`addtime`,`expiratedtime`) values (4,2,'小站','users','用户','tebjhfvztwgkeau95rxtflfr4jri091z','2021-02-22 15:30:49','2021-02-22 16:30:50');
insert into `token`(`id`,`userid`,`username`,`tablename`,`role`,`token`,`addtime`,`expiratedtime`) values (5,3,'333','users','用户','4s41lu4s0oo8pjp28rtjmrowmwz8rycu','2021-02-22 15:44:43','2021-02-22 16:44:43');
insert into `token`(`id`,`userid`,`username`,`tablename`,`role`,`token`,`addtime`,`expiratedtime`) values (6,4,'1','users','用户','a1jjda0tgc4xkh464jduzlqbesztlfbu','2021-02-22 16:03:07','2021-02-22 17:03:07');/*Table structure for table `users` */DROP TABLE IF EXISTS `users`;CREATE TABLE `users` (`id` int(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`username` varchar(100) NOT NULL COMMENT '用户名',`password` varchar(100) NOT NULL COMMENT '密码',`role` varchar(100) NOT NULL DEFAULT '管理员' COMMENT '角色',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='用户表';/*Data for the table `users` */insert into `users`(`id`,`username`,`password`,`role`,`addtime`) values (1,'admin','admin','管理员','2021-01-28 18:04:51');/*Table structure for table `wuliuxinxi` */DROP TABLE IF EXISTS `wuliuxinxi`;CREATE TABLE `wuliuxinxi` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',`logistics` varchar(255) DEFAULT NULL COMMENT '物流单号',`name` varchar(255) DEFAULT NULL COMMENT '快递名称',`wuliu` varchar(255) DEFAULT NULL COMMENT '物流信息',`yhid` int(11) DEFAULT NULL COMMENT '用户id',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;/*Data for the table `wuliuxinxi` */insert into `wuliuxinxi`(`id`,`logistics`,`name`,`wuliu`,`yhid`) values (2,'1613977091565','快递11','已到达xxx城市',1);
insert into `wuliuxinxi`(`id`,`logistics`,`name`,`wuliu`,`yhid`) values (3,'1613979260499','快递222','已打包',2);
insert into `wuliuxinxi`(`id`,`logistics`,`name`,`wuliu`,`yhid`) values (5,'1613981162336','快递222','暂无物流信息',4);
insert into `wuliuxinxi`(`id`,`logistics`,`name`,`wuliu`,`yhid`) values (6,'1617692088644','421421','暂无物流信息',1);/*Table structure for table `xitonggonggao` */DROP TABLE IF EXISTS `xitonggonggao`;CREATE TABLE `xitonggonggao` (`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',`biaoti` varchar(200) DEFAULT NULL COMMENT '标题 Search',`leixing` varchar(200) DEFAULT NULL COMMENT '类型',`neirong` longtext COMMENT '内容',`riqi` datetime DEFAULT NULL COMMENT '日期',PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='系统公告';/*Data for the table `xitonggonggao` */insert into `xitonggonggao`(`id`,`addtime`,`biaoti`,`leixing`,`neirong`,`riqi`) values (1,'2021-02-22 17:34:43','公告标题1','日常公告','公告信息','2021-02-22 17:34:43');
insert into `xitonggonggao`(`id`,`addtime`,`biaoti`,`leixing`,`neirong`,`riqi`) values (2,'2021-02-22 17:34:43','公告标题2','紧急公告','公告信息','2021-02-22 17:34:43');
insert into `xitonggonggao`(`id`,`addtime`,`biaoti`,`leixing`,`neirong`,`riqi`) values (3,'2021-02-22 17:34:43','公告标题3','其他公告','公告信息','2021-02-22 17:34:43');/*Table structure for table `yonghuxinxi` */DROP TABLE IF EXISTS `yonghuxinxi`;CREATE TABLE `yonghuxinxi` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',`name` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '用户名称 Search',`account` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '账号',`password` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '密码',`img_photo` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '头像',`role` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '身份',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;/*Data for the table `yonghuxinxi` */insert into `yonghuxinxi`(`id`,`name`,`account`,`password`,`img_photo`,`role`) values (1,'小札','111','111','http://localhost:8080/yz-ssmj/file/download?fileName=1613980226936.jpg','用户');
insert into `yonghuxinxi`(`id`,`name`,`account`,`password`,`img_photo`,`role`) values (2,'小站','222','222','http://localhost:8080/yz-ssmj/file/download?fileName=1613980368653.jpg','用户');
insert into `yonghuxinxi`(`id`,`name`,`account`,`password`,`img_photo`,`role`) values (4,'1','1','1','http://localhost:8080/yz-ssmj/file/download?fileName=1613980998106.JPG','用户');/*Table structure for table `yuangongxinxi` */DROP TABLE IF EXISTS `yuangongxinxi`;CREATE TABLE `yuangongxinxi` (`id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'id',`name` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '用户名称 Search',`account` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '账号',`password` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '密码',`img_photo` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '头像',`role` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT '身份',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;/*Data for the table `yuangongxinxi` */insert into `yuangongxinxi`(`id`,`name`,`account`,`password`,`img_photo`,`role`) values (1,'员工1','111','111','http://localhost:8080/yz-ssmj/file/download?fileName=1613980247357.JPG','员工');
insert into `yuangongxinxi`(`id`,`name`,`account`,`password`,`img_photo`,`role`) values (2,'员工2','222','222','http://localhost:8080/yz-ssmj/file/download?fileName=1613980241202.JPG','员工');/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
相关文章:

基于SSM的校园驿站管理系统
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…...

分布式实时仿真系统-反射内存的应用
为了使分布式实时仿真系统(一个典型代表就行飞行模拟器)达到逼真的仿真效果,在系统内部,往往不仅需要对各种数据模型进行实时解算,而且需要一个延迟时间极低的确定性网络在系统之间传递数据,这样才能让各个子系统之间协调一致地工…...

【python技巧】替换文件中的某几行
【python技巧】替换文件中的某几行 1. 背景描述2. 单行修改-操作步骤3. 多行修改-操作步骤 1. 背景描述 最近在写一个后端项目,主要的操作就是根据用户的前端数据,在后端打开项目中的代码文件,修改对应位置的参数,因为在目前的后…...

内网建自己的pip源
内网建自己的pip源 一. 下载数据包二. 建立索引三. 安装nginx四. 配置nginx五.展示 一. 下载数据包 以清华源为示例 import requests import bs4 import re import wget a requests.get("https://pypi.tuna.tsinghua.edu.cn/simple").text b bs4.BeautifulSoup(a…...
Vue 3的Diff算法相比Vue 2有哪些具体的改进?
Vue 3的Diff算法相比Vue 2进行了一些具体的改进,主要包括以下几个方面: Patch flag:Vue 3引入了Patch flag的概念,用于标记组件在更新过程中的一些特殊情况,例如组件的props发生变化或只需要强制更新等。这样可以在Dif…...
网络面试题整理
TCP通讯原理:三次握手,四次挥手 TCP(Transmission Control Protocol)通信中的"三次握手"和"四次挥手"是建立和终止TCP连接时的标准过程,用于确保数据的可靠传输和连接的正确关闭。 三次握手&…...

Liquid Studio 2023.2 Crack
Liquid Studio 提供了用于XML和JSON开发 的高级工具包以及Web 服务测试、数据映射和数据转换工具。 开发环境包含一整套用于设计 XML 和 JSON 数据结构和模式的工具。这些工具提供编辑、验证和高级转换功能。对于新手或专家来说,直观的界面和全面的功能将帮助您节省…...

企业架构LNMP学习笔记8
1、 运维人员需要考虑安全性、稳定性。 安装: 解压进入到目录: shell > tar zxf php-7.2.12.tar.gz shell > cd php-7.2.12 安装依赖软件: yum -y install libxml2-devel libjpeg-devel libpng-devel freetype-devel curl-devel op…...

简单使用_matlab生成数据帧
文章目录 生成数据帧参考 生成数据帧 代码如下,代码很简单,有几点要注意, 较高版本的MATLAB中支持0x的写法使用bitand进行位运算使用strcat函数进行字符串拼接时,如果需要插入空格,要使用双引号 cmd_ay(1) 0x33; …...

uni-app语音转文字功能demo(同声传译)
目录 首先去微信开发者官网申请一下同声传译的插件 微信公众平台 在文件中开始引用: 首先去微信开发者官网申请一下同声传译的插件 微信公众平台 后续使用的时候可以看详情里面的信息进行使用 在文件中开始引用: 注意!!在这个…...

vue2+element-ui批量导入方法并判断上传的文件是否为xls或xlsx
业务需求: 代码结构: <el-dialogtitle"批量导入":close-on-click-modal"true"close"close()":visible"true"width"35%":center"true"><div class"el-dialog-div"><!-- 头部区域布局 -…...

【FPGA】通俗理解从VGA显示到HDMI显示
注:大部分参考内容来自“征途Pro《FPGA Verilog开发实战指南——基于Altera EP4CE10》2021.7.10(上)” 贴个下载地址: 野火FPGA-Altera-EP4CE10征途开发板_核心板 — 野火产品资料下载中心 文档 hdmi显示器驱动设计与验证 — …...

【SpringMVC】参数传递与用户请求和响应
目录 一、Postman 工具使用 1.1 Postman安装 1.2 Postman的使用 1.2.1 创建WorkSpace工作空间 1.2.2 创建请求 二、参数传递 2.1 添加 Slf4j 依赖 2.2 普通传参 知识点1:RequestMapping 知识点2:RequestParam 2.3 路径传参 知识点3࿱…...

Android图形-Hardware Composer HAL
目录 一、引言 二、概览 三、实现HWC 3.1 为什么是HWC? 3.2 HWC的支持需求 3.3 HWC的实现思路 3.4 HWC的基元 3.5 HIDL接口 3.6 函数指针 3.7 图层和屏幕句柄 3.8 屏幕合成操作 3.9 多个屏幕 3.10 虚拟屏幕合成 3.10.1 模式 3.10.2 输出格式 3.11 同…...
P1093 [NOIP2007 普及组] 奖学金
题目描述 某小学最近得到了一笔赞助,打算拿出其中一部分为学习成绩优秀的前 5 5 5 名学生发奖学金。期末,每个学生都有 3 3 3 门课的成绩:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排…...

C#模拟PLC设备运行
涉及:控件数据绑定,动画效果 using System; using System.Windows.Forms;namespace PLCUI {public partial class MainForm : Form{ public MainForm(){InitializeComponent();}private void MainForm_Load(object sender, EventArgs e){// 方式2&#x…...
LeetCode 每日一题 2023/8/28-2023/9/3
记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 8/28 57. 插入区间8/29 823. 带因子的二叉树8/30 1654. 到家的最少跳跃次数8/31 1761. 一个图中连通三元组的最小度数9/1 2240. 买钢笔和铅笔的方案数9/2 2511. 最多可以摧…...

Python Tkinter Multiple Windows 教程
一、说明 在这个Python Tkinter教程中,我们将学习如何在Python Tkinter中创建多个窗口,我们还将介绍与多个窗口相关的不同示例。而且,我们将介绍这些主题。 Python Tkinter multiple windows使用多个窗口的 Python Tkinter 用户注册Python Tk…...

【Arduino24】8*8点阵实验
硬件准备 8*8点阵:1个 旋钮电位器:1个 面包板:1块 杜邦线:若干 硬件连线 软件程序 //定义引脚 #define xKnob_pin A0 //x轴旋钮的引脚 #define yKnob_pin A1 //y轴旋钮的引脚 const int row_pin[8] { 6, 11, 10, 3, 17, 4…...

2023年09月数据库流行度最新排名
点击查看最新数据库流行度最新排名(每月更新) 2023年09月数据库流行度最新排名 TOP DB顶级数据库索引是通过分析在谷歌上搜索数据库名称的频率来创建的 一个数据库被搜索的次数越多,这个数据库就被认为越受欢迎。这是一个领先指标。原始数…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...

HashMap中的put方法执行流程(流程图)
1 put操作整体流程 HashMap 的 put 操作是其最核心的功能之一。在 JDK 1.8 及以后版本中,其主要逻辑封装在 putVal 这个内部方法中。整个过程大致如下: 初始判断与哈希计算: 首先,putVal 方法会检查当前的 table(也就…...

Netty从入门到进阶(二)
二、Netty入门 1. 概述 1.1 Netty是什么 Netty is an asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. Netty是一个异步的、基于事件驱动的网络应用框架,用于…...

Ubuntu Cursor升级成v1.0
0. 当前版本低 使用当前 Cursor v0.50时 GitHub Copilot Chat 打不开,快捷键也不好用,当看到 Cursor 升级后,还是蛮高兴的 1. 下载 Cursor 下载地址:https://www.cursor.com/cn/downloads 点击下载 Linux (x64) ,…...
小木的算法日记-多叉树的递归/层序遍历
🌲 从二叉树到森林:一文彻底搞懂多叉树遍历的艺术 🚀 引言 你好,未来的算法大神! 在数据结构的世界里,“树”无疑是最核心、最迷人的概念之一。我们中的大多数人都是从 二叉树 开始入门的,它…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
前言:本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中,跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南,你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案,并结合内网…...

Unity VR/MR开发-VR开发与传统3D开发的差异
视频讲解链接:【XR马斯维】VR/MR开发与传统3D开发的差异【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...