基于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顶级数据库索引是通过分析在谷歌上搜索数据库名称的频率来创建的 一个数据库被搜索的次数越多,这个数据库就被认为越受欢迎。这是一个领先指标。原始数…...

jenkins快速跑通helloworld任务
jenkins新建helloworld示例 左上角“新建任务” 输入名称,选择第一个创建: 可以选择众多执行脚本,这里选择shell: 随后弹出一个窗口,将下面脚本填入: #!/bin/bashecho start... for i in {1..10}doecho $i…...

win10中安装ros
参考: Windows 10上安装ROS noetic平台_windows ros noetic_高精度计算机视觉的博客-CSDN博客...

问道管理:光刻胶概念再度活跃,广信材料两连板,蓝英装备等涨停
光刻胶概念6日盘中再度活泼,截至发稿,扬帆新材、广信资料、蓝英配备“20cm”涨停,盛剑环境亦涨停,高盟新材涨超9%,同益股份、容大感光涨超5%。 值得注意的是,广信资料已连续两个交易日涨停。公司近来在成绩…...

InstructPix2Pix(CVPR2023)-图像编辑论文解读
文章目录 1.摘要2.背景3.算法3.1 生成多模态训练集3.1.1生成指令及成对caption3.1.2 依据成对的caption生成成对的图像 3.2 InstructPix2Pix 4.实验结果4.1基线比较4.2消融实验 5.结论 论文: 《InstructPix2Pix: Learning to Follow Image Editing Instructions》 …...

基于神经网络结合紫外差分光谱的二氧化硫浓度定量预测
基于神经网络结合紫外差分光谱的二氧化硫浓度定量预测 前言一、代码运行1. 解压数据2. 导包3. 读取数据4. 构建网络5. 设置优化器6. 模型训练7. 可视化loss8. 模型验证 二、结果展示三、总结作者简介 前言 二氧化硫(SO2)是一种常见的环境污染物ÿ…...

一个新工具 nolyfill
名字的意思, 我自己的理解 no(po)lyfill 正如它的名字, 不要再用补丁了, 当然这里说的是过时的补丁。 polyfill 是补丁的意思 为什么要用这个插件 文档原文: 当您通过安装最新的 Node.js LTS 来接受最新的功能和安全修复时,像eslint-plugin-import、…...

vue的第2篇 开发环境vscode的安装以及创建项目空间
一 环境的搭建 1.1常见前端开发ide 1.2 安装vs.code 1.下载地址:Visual Studio Code - Code Editing. Redefined 2.进行安装 1.2.1 vscode的中文插件安装 1.在搜索框输入“chinese” 2.安装完成重启,如下变成中文 1.2.2 修改工作区的颜色 选中[浅色]…...

Java之包装类的详细解析
包装类 5.1 概述 Java提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而很多情况,会创建对象使用,因为对象可以做更多的功能,如果想要我们的基本类型像对象一样操作,就可以使…...

SpringBoot项目防止接口重复提交(简单拦截器实现方案)
基于SpringBoot框架来开发业务后台项目时,接口重复提交是一个常见的问题。为了避免这个问题,我们可以通过自定义拦截器实现一个后台拦截接口重复提交的功能,本文将介绍如何使用基于SpringBoot实现这个功能。 首先,我们需要引入一…...

C语言 数据结构与算法 I
C语言-数据结构与算法 C语言基础 因为之前写算法都是用C,也有了些C基础,变量常量数据类型就跳过去吧。 首先是环境,学C时候用Clion,C语言也用它写吧~ 新建项目,选C执行文件,语言标准。。。就先默认C99吧…...