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

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:
在 HarmonyOS 应用开发中,手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力,既支持点击、长按、拖拽等基础单一手势的精细控制,也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档,…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
高防服务器能够抵御哪些网络攻击呢?
高防服务器作为一种有着高度防御能力的服务器,可以帮助网站应对分布式拒绝服务攻击,有效识别和清理一些恶意的网络流量,为用户提供安全且稳定的网络环境,那么,高防服务器一般都可以抵御哪些网络攻击呢?下面…...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...