feat():完成saas切换登录切换数据源

dev.wei
WeiRan 2024-10-06 20:17:45 +08:00
parent 4aebd67ebc
commit 7063af945e
48 changed files with 1577 additions and 163 deletions

View File

@ -34,7 +34,7 @@ public class TokenController {
@PostMapping("login") @PostMapping("login")
public Result<?> login (@RequestBody LoginBody form) { public Result<?> login (@RequestBody LoginBody form) {
// 用户登录 // 用户登录
LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword()); LoginUser userInfo = sysLoginService.login(form.getUsername(), form.getPassword(),form.getFirmName());
// 获取登录token // 获取登录token
return Result.success(tokenService.createToken(userInfo)); return Result.success(tokenService.createToken(userInfo));
} }

View File

@ -17,7 +17,18 @@ public class LoginBody {
*/ */
private String password; private String password;
/**
*
*/
private String firmName;
public String getFirmName() {
return firmName;
}
public void setFirmName(String firmName) {
this.firmName = firmName;
}
public String getUsername () { public String getUsername () {
return username; return username;

View File

@ -14,7 +14,7 @@ import com.muyu.common.core.utils.ip.IpUtils;
import com.muyu.common.redis.service.RedisService; import com.muyu.common.redis.service.RedisService;
import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.Firm; import com.muyu.common.system.domain.Firm;
import com.muyu.common.system.remote.RemoteFirmService; import com.muyu.common.system.domain.SysUserMessage;
import com.muyu.common.system.remote.RemoteUserService; import com.muyu.common.system.remote.RemoteUserService;
import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.SysUser;
import com.muyu.common.system.domain.LoginUser; import com.muyu.common.system.domain.LoginUser;
@ -31,9 +31,6 @@ public class SysLoginService {
@Autowired @Autowired
private RemoteUserService remoteUserService; private RemoteUserService remoteUserService;
@Autowired
private RemoteFirmService remoteFirmService;
@Autowired @Autowired
private SysPasswordService passwordService; private SysPasswordService passwordService;
@ -46,7 +43,7 @@ public class SysLoginService {
/** /**
* *
*/ */
public LoginUser login (String username, String password) { public LoginUser login (String username, String password,String firmName) {
// 用户名或密码为空 错误 // 用户名或密码为空 错误
if (StringUtils.isAnyBlank(username, password)) { if (StringUtils.isAnyBlank(username, password)) {
recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户/密码必须填写"); recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "用户/密码必须填写");
@ -71,7 +68,24 @@ public class SysLoginService {
throw new ServiceException("很遗憾访问IP已被列入系统黑名单"); throw new ServiceException("很遗憾访问IP已被列入系统黑名单");
} }
// 查询用户信息 // 查询用户信息
Result<LoginUser> userResult = remoteUserService.getUserInfo(username, SecurityConstants.INNER); Result<LoginUser> userResult = null;
//根据企业名称查询数据源
if (StringUtils.isNotEmpty(firmName)){
Result<String> result = remoteUserService.selectByfirmName(firmName);
if (result.getData()!=null){
SysUserMessage sysUserMessage = new SysUserMessage();
sysUserMessage.setUsername(username);
sysUserMessage.setPassword(password);
sysUserMessage.setDatabaseName(result.getData());
//查询这个数据源中的登录账号和密码
userResult = remoteUserService.selectuser(sysUserMessage);
}
}
// userResult = remoteUserService.getUserInfo(username, SecurityConstants.INNER);
if (StringUtils.isNull(userResult) || StringUtils.isNull(userResult.getData())) { if (StringUtils.isNull(userResult) || StringUtils.isNull(userResult.getData())) {
recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "登录用户不存在"); recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, "登录用户不存在");
@ -118,7 +132,7 @@ public class SysLoginService {
throw new ServiceException("密码长度必须在5到20个字符之间"); throw new ServiceException("密码长度必须在5到20个字符之间");
} }
String firmName = registerBody.getFirmName(); String firmName = registerBody.getFirmName();
Result<Firm> byFirmName = remoteFirmService.findByFirmName(firmName); Result<Firm> byFirmName = remoteUserService.findByFirmName(firmName);
Firm data = byFirmName.getData(); Firm data = byFirmName.getData();
if (null != data){ if (null != data){
throw new ServiceException("公司名称已经存在"); throw new ServiceException("公司名称已经存在");

View File

@ -5,8 +5,8 @@ server:
# nacos线上地址 # nacos线上地址
nacos: nacos:
addr: 159.75.188.178:8848 addr: 159.75.188.178:8848
user-name: nacos user-name:
password: nacos password:
namespace: eight namespace: eight
# Spring # Spring
spring: spring:

View File

@ -11,7 +11,8 @@ import com.muyu.cloud.common.saas.domain.model.EntInfo;
import com.muyu.cloud.common.saas.exception.SaaSException; import com.muyu.cloud.common.saas.exception.SaaSException;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.core.utils.SpringUtils; import com.muyu.common.core.utils.SpringUtils;
import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.Firm;
import com.muyu.common.system.domain.Firm;
import com.muyu.common.system.remote.RemoteUserService; import com.muyu.common.system.remote.RemoteUserService;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationArguments;
@ -36,16 +37,17 @@ public class ManyDataSource implements ApplicationRunner{
private List<EntInfo> dataSourceInfoList(){ private List<EntInfo> dataSourceInfoList(){
RemoteUserService remoteUserService = SpringUtils.getBean(RemoteUserService.class); RemoteUserService remoteUserService = SpringUtils.getBean(RemoteUserService.class);
Result<List<SysUser>> tableDataInfoResult = remoteUserService.companyList(); Result<List<Firm>> tableDataInfoResult = remoteUserService.selectAll();
if (tableDataInfoResult==null){ if (tableDataInfoResult==null){
throw new SaaSException("saas远调数据源错误"); throw new SaaSException("saas远调数据源错误");
} }
List<SysUser> data = tableDataInfoResult.getData(); List<Firm> data = tableDataInfoResult.getData();
if (tableDataInfoResult.getCode() ==Result.SUCCESS && data !=null){ if (tableDataInfoResult.getCode() ==Result.SUCCESS && data !=null){
List<EntInfo> list = new ArrayList<>(); List<EntInfo> list = new ArrayList<>();
for (SysUser row : data) { for (Firm row : data) {
list.add( list.add(
EntInfo.builder() EntInfo.builder()
.firmKey(row.getFirmName())
.entCode(row.getDatabaseName()) .entCode(row.getDatabaseName())
.ip(DatasourceContent.IP) .ip(DatasourceContent.IP)
.port(DatasourceContent.PORT) .port(DatasourceContent.PORT)

View File

@ -8,7 +8,6 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
/** /**
* @author DongZl
* @description: * @description:
* @Date 2023-8-1 11:15 * @Date 2023-8-1 11:15
*/ */

View File

@ -19,7 +19,6 @@ public class DruidDataSourceFactory {
/** /**
* @Description: * @Description:
* @Author Dongzl
*/ */
public DruidDataSource create(DataSourceInfo dataSourceInfo) { public DruidDataSource create(DataSourceInfo dataSourceInfo) {
DruidDataSource druidDataSource = new DruidDataSource(); DruidDataSource druidDataSource = new DruidDataSource();
@ -33,7 +32,7 @@ public class DruidDataSourceFactory {
log.info("{} -> 数据源连接成功", dataSourceInfo.getKey()); log.info("{} -> 数据源连接成功", dataSourceInfo.getKey());
return druidDataSource; return druidDataSource;
} catch (SQLException throwables) { } catch (SQLException throwables) {
log.error("数据源 {} 连接失败,用户名:{},密码 {}",dataSourceInfo.getUrl(),dataSourceInfo.getUserName(),dataSourceInfo.getPassword()); log.error("数据源 {} 连接失败,用户名:{},密码 {}, 四百原因:{}",dataSourceInfo.getUrl(),dataSourceInfo.getUserName(),dataSourceInfo.getPassword(),throwables);
return null; return null;
} }
} }

View File

@ -8,5 +8,5 @@ package com.muyu.cloud.common.saas.contents;
*/ */
public class SaaSConstant { public class SaaSConstant {
public final static String SAAS_KEY = "ent-code"; public final static String SAAS_KEY = "saas_key";
} }

View File

@ -17,6 +17,8 @@ import lombok.NoArgsConstructor;
@AllArgsConstructor @AllArgsConstructor
public class EntInfo { public class EntInfo {
private String firmKey;
private String entCode; private String entCode;
private String ip; private String ip;

View File

@ -62,6 +62,7 @@ public class TokenService {
Map<String, Object> rspMap = new HashMap<String, Object>(); Map<String, Object> rspMap = new HashMap<String, Object>();
rspMap.put("access_token", JwtUtils.createToken(claimsMap)); rspMap.put("access_token", JwtUtils.createToken(claimsMap));
rspMap.put("expires_in", expireTime); rspMap.put("expires_in", expireTime);
rspMap.put("saas_key", loginUser.getSysUser().getDatabaseName());
return rspMap; return rspMap;
} }

View File

@ -1,5 +1,6 @@
package com.muyu.common.system.domain; package com.muyu.common.system.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Builder; import lombok.Builder;
import lombok.Data; import lombok.Data;
@ -21,6 +22,7 @@ public class Firm {
/** /**
* *
*/ */
@TableId(value = "firm_id")
private Integer firmId; private Integer firmId;
/** /**

View File

@ -63,4 +63,14 @@ public class LoginUser implements Serializable {
*/ */
private SysUser sysUser; private SysUser sysUser;
/**
*
*/
private Firm firm;
/**
*
*/
private String firmName;
} }

View File

@ -1,5 +1,6 @@
package com.muyu.common.system.domain; package com.muyu.common.system.domain;
import com.baomidou.mybatisplus.annotation.TableField;
import com.muyu.common.core.annotation.Excel; import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.annotation.Excel.ColumnType; import com.muyu.common.core.annotation.Excel.ColumnType;
import com.muyu.common.core.annotation.Excel.Type; import com.muyu.common.core.annotation.Excel.Type;

View File

@ -0,0 +1,32 @@
package com.muyu.common.system.domain;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Authorweiran
* @Packagecom.muyu.system.domain
* @Projectcloud-server-8
* @nameSysUserMessage
* @Date2024/10/2 10:25
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SysUserMessage {
/**
*
*/
private String username;
/**
*
*/
private String password;
/**
*
*/
private String databaseName;
}

View File

@ -1,23 +0,0 @@
package com.muyu.common.system.remote;
import com.muyu.common.core.constant.ServiceNameConstants;
import com.muyu.common.core.domain.Result;
import com.muyu.common.system.domain.Firm;
import com.muyu.common.system.remote.factory.RemoteFirmFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @Author
* @Packagecom.muyu.common.system.remote
* @Projectcloud-server-8
* @nameRemoteFirmService
* @Date2024/9/25 22:21
*/
@FeignClient(contextId = "remoteFirmService", value = ServiceNameConstants.SYSTEM_SERVICE,fallbackFactory = RemoteFirmFallbackFactory.class)
public interface RemoteFirmService {
@RequestMapping("/firm/findByFirmName/{firmName}")
public Result<Firm> findByFirmName(@PathVariable("firmName") String firmName);
}

View File

@ -3,7 +3,9 @@ package com.muyu.common.system.remote;
import com.muyu.common.core.constant.SecurityConstants; import com.muyu.common.core.constant.SecurityConstants;
import com.muyu.common.core.constant.ServiceNameConstants; import com.muyu.common.core.constant.ServiceNameConstants;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.system.domain.Firm;
import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.SysUser;
import com.muyu.common.system.domain.SysUserMessage;
import com.muyu.common.system.remote.factory.RemoteUserFallbackFactory; import com.muyu.common.system.remote.factory.RemoteUserFallbackFactory;
import com.muyu.common.system.domain.LoginUser; import com.muyu.common.system.domain.LoginUser;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
@ -42,4 +44,27 @@ public interface RemoteUserService {
@GetMapping("/user/companyList") @GetMapping("/user/companyList")
public Result<List<SysUser>> companyList (); public Result<List<SysUser>> companyList ();
@GetMapping("/user/selectByfirmName/{firmName}")
public Result<String> selectByfirmName(@PathVariable("firmName") String firmName);
/**
*
* @param sysUserMessage
* @return
*/
@PostMapping("/user/selectuser")
public Result<LoginUser> selectuser(@RequestBody SysUserMessage sysUserMessage );
/**
*
* @param firmName
* @return
*/
@RequestMapping("/firm/findByFirmName/{firmName}")
public Result<Firm> findByFirmName(@PathVariable("firmName") String firmName);
@RequestMapping("/firm/selectAll")
public Result<List<Firm>> selectAll();
} }

View File

@ -1,29 +0,0 @@
package com.muyu.common.system.remote.factory;
import com.muyu.common.core.domain.Result;
import com.muyu.common.core.exception.ServiceException;
import com.muyu.common.system.domain.Firm;
import com.muyu.common.system.remote.RemoteFirmService;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
/**
* @Author
* @Packagecom.muyu.common.system.remote.factory
* @Projectcloud-server-8
* @nameRemoteFirmFallbackFactory
* @Date2024/9/25 22:22
*/
@Component
public class RemoteFirmFallbackFactory implements FallbackFactory<RemoteFirmService> {
@Override
public RemoteFirmService create(Throwable cause) {
return new RemoteFirmService() {
@Override
public Result<Firm> findByFirmName(String firmName) {
throw new ServiceException(cause.getCause().toString());
}
};
}
}

View File

@ -1,6 +1,8 @@
package com.muyu.common.system.remote.factory; package com.muyu.common.system.remote.factory;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import com.muyu.common.system.domain.Firm;
import com.muyu.common.system.domain.SysUserMessage;
import com.muyu.common.system.remote.RemoteUserService; import com.muyu.common.system.remote.RemoteUserService;
import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.SysUser;
import com.muyu.common.system.domain.LoginUser; import com.muyu.common.system.domain.LoginUser;
@ -38,6 +40,26 @@ public class RemoteUserFallbackFactory implements FallbackFactory<RemoteUserServ
public Result<List<SysUser>> companyList() { public Result<List<SysUser>> companyList() {
return Result.error("发现用户失败:" + throwable.getMessage()); return Result.error("发现用户失败:" + throwable.getMessage());
} }
@Override
public Result<String> selectByfirmName(String firmName) {
return Result.error("信息查询失败:" + throwable.getMessage());
}
@Override
public Result<LoginUser> selectuser(SysUserMessage sysUserMessage) {
return Result.error("信息查询失败:" + throwable.getMessage());
}
@Override
public Result<Firm> findByFirmName(String firmName) {
return Result.error("信息查询失败:" + throwable.getMessage());
}
@Override
public Result<List<Firm>> selectAll() {
return Result.error("信息查询失败:" + throwable.getMessage());
}
}; };
} }
} }

View File

@ -1,4 +1,3 @@
com.muyu.common.system.remote.factory.RemoteUserFallbackFactory com.muyu.common.system.remote.factory.RemoteUserFallbackFactory
com.muyu.common.system.remote.factory.RemoteLogFallbackFactory com.muyu.common.system.remote.factory.RemoteLogFallbackFactory
com.muyu.common.system.remote.factory.RemoteFileFallbackFactory com.muyu.common.system.remote.factory.RemoteFileFallbackFactory
com.muyu.common.system.remote.factory.RemoteFirmFallbackFactory

View File

@ -29,7 +29,6 @@ public class Firm {
/** /**
* *
*/ */
@TableField(exist = false)
private String firmName; private String firmName;
/** /**
* *

View File

@ -38,7 +38,7 @@ public class CarInformationResp {
*/ */
// @TableName(value = "car_information_VIN") // @TableName(value = "car_information_VIN")
@TableField(value = "car_information_VIN") @TableField(value = "car_information_VIN")
private String carInformationVin; private String carInformationVIN;
/** /**
* *
*/ */

View File

@ -108,7 +108,7 @@ public class FirmListResp {
/** /**
* *
*/ */
@TableField(exist = false) // @TableField(exist = false)
private String firmName; private String firmName;
/** /**

View File

@ -19,6 +19,11 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> </properties>
<dependencies> <dependencies>
<dependency>
<groupId>com.muyu</groupId>
<artifactId>cloud-common-saas</artifactId>
<version>3.6.3</version>
</dependency>
<!-- <dependency> --> <!-- <dependency> -->
<!-- <groupId>com.muyu</groupId> --> <!-- <groupId>com.muyu</groupId> -->
<!-- <artifactId>cloud-common-rabbit</artifactId> --> <!-- <artifactId>cloud-common-rabbit</artifactId> -->

View File

@ -1,9 +1,12 @@
package com.muyu.server; package com.muyu.server;
import com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure;
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration;
import com.muyu.common.security.annotation.EnableMyFeignClients; import com.muyu.common.security.annotation.EnableMyFeignClients;
import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
/** /**
* @Author * @Author
@ -13,7 +16,11 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
* @Date2024/9/17 9:56 * @Date2024/9/17 9:56
*/ */
@EnableMyFeignClients @EnableMyFeignClients
@SpringBootApplication @SpringBootApplication(exclude = {
DataSourceAutoConfiguration.class,
DruidDataSourceAutoConfigure.class,
DynamicDataSourceAutoConfiguration.class
})
@MapperScan("com.muyu.server.mapper") @MapperScan("com.muyu.server.mapper")
public class IntegrationApplication { public class IntegrationApplication {
public static void main(String[] args) { public static void main(String[] args) {

View File

@ -2,7 +2,7 @@ package com.muyu.server.mapper;
import com.github.yulichang.base.MPJBaseMapper; import com.github.yulichang.base.MPJBaseMapper;
import com.muyu.domain.Firm; import com.muyu.domain.Firm;
import com.muyu.domain.SysUser; import com.muyu.common.system.domain.SysUser;
import com.muyu.domain.req.FirmListReq; import com.muyu.domain.req.FirmListReq;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;

View File

@ -1,7 +1,7 @@
package com.muyu.server.service; package com.muyu.server.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.domain.SysUser; import com.muyu.common.system.domain.SysUser;
import com.muyu.domain.req.FirmListReq; import com.muyu.domain.req.FirmListReq;
import com.muyu.domain.resp.FirmTotalListResp; import com.muyu.domain.resp.FirmTotalListResp;
@ -17,6 +17,7 @@ import java.util.List;
*/ */
public interface FirmManageService extends IService<SysUser> { public interface FirmManageService extends IService<SysUser> {
/** /**
* *
* @param firmListReq * @param firmListReq

View File

@ -4,8 +4,8 @@ package com.muyu.server.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.github.yulichang.wrapper.MPJLambdaWrapper;
import com.muyu.common.core.utils.StringUtils; import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.system.domain.SysUser;
import com.muyu.domain.Firm; import com.muyu.domain.Firm;
import com.muyu.domain.SysUser;
import com.muyu.domain.req.FirmListReq; import com.muyu.domain.req.FirmListReq;
import com.muyu.domain.resp.FirmListResp; import com.muyu.domain.resp.FirmListResp;
import com.muyu.domain.resp.FirmTotalListResp; import com.muyu.domain.resp.FirmTotalListResp;
@ -40,7 +40,21 @@ public class FirmManageServiceImpl extends ServiceImpl<FirmManageMapper, SysUser
public FirmTotalListResp firmmessageList(FirmListReq firmListReq) { public FirmTotalListResp firmmessageList(FirmListReq firmListReq) {
long findcount = firmService.findcount(); long findcount = firmService.findcount();
MPJLambdaWrapper<SysUser> wrapper = new MPJLambdaWrapper<>(); MPJLambdaWrapper<SysUser> wrapper = new MPJLambdaWrapper<>();
wrapper.selectAll(SysUser.class) wrapper.select(SysUser::getUserId,
SysUser::getDeptId,
SysUser::getUserName,
SysUser::getNickName,
SysUser::getEmail,
SysUser::getPhonenumber,
SysUser::getSex,
SysUser::getAvatar,
SysUser::getPassword,
SysUser::getStatus,
SysUser::getDelFlag,
SysUser::getLoginIp,
SysUser::getLoginDate,
SysUser::getDatabaseName,
SysUser::getFirmId)
.selectAll(Firm.class) .selectAll(Firm.class)
.leftJoin(Firm.class,Firm::getFirmId,SysUser::getFirmId) .leftJoin(Firm.class,Firm::getFirmId,SysUser::getFirmId)
.eq(StringUtils.isNotEmpty(firmListReq.getFirmName()), .eq(StringUtils.isNotEmpty(firmListReq.getFirmName()),

View File

@ -17,6 +17,7 @@
<dependencies> <dependencies>
<!-- SpringCloud Alibaba Nacos --> <!-- SpringCloud Alibaba Nacos -->
<dependency> <dependency>
<groupId>com.alibaba.cloud</groupId> <groupId>com.alibaba.cloud</groupId>
@ -71,10 +72,10 @@
<artifactId>cloud-common-api-doc</artifactId> <artifactId>cloud-common-api-doc</artifactId>
</dependency> </dependency>
<dependency> <!-- <dependency>-->
<groupId>com.muyu</groupId> <!-- <groupId>com.muyu</groupId>-->
<artifactId>cloud-common-rabbit</artifactId> <!-- <artifactId>cloud-common-rabbit</artifactId>-->
</dependency> <!-- </dependency>-->
<dependency> <dependency>
<groupId>com.muyu</groupId> <groupId>com.muyu</groupId>

View File

@ -1,10 +1,13 @@
package com.muyu.system; package com.muyu.system;
import com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure;
import com.baomidou.dynamic.datasource.spring.boot.autoconfigure.DynamicDataSourceAutoConfiguration;
import com.muyu.common.security.annotation.EnableCustomConfig; import com.muyu.common.security.annotation.EnableCustomConfig;
import com.muyu.common.security.annotation.EnableMyFeignClients; import com.muyu.common.security.annotation.EnableMyFeignClients;
import org.mybatis.spring.annotation.MapperScan; import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
/** /**
* *

View File

@ -4,12 +4,13 @@ import com.muyu.common.core.domain.Result;
import com.muyu.common.system.domain.Firm; import com.muyu.common.system.domain.Firm;
import com.muyu.system.service.FirmService; import com.muyu.system.service.FirmService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; import java.util.List;
/** /**
* @Author *
* @Authorweiran
* @Packagecom.muyu.system.controller * @Packagecom.muyu.system.controller
* @Projectcloud-server-8 * @Projectcloud-server-8
* @nameFirmController * @nameFirmController
@ -22,10 +23,27 @@ public class FirmController {
private final FirmService firmService; private final FirmService firmService;
/**
*
* @return
*/
@RequestMapping("/selectAll")
public Result<List<Firm>> selectAll(){
List<Firm> firmList = firmService.selectAll();
return Result.success(firmList);
}
/**
*
* @param firmName
* @return
*/
@RequestMapping("/findByFirmName/{firmName}") @RequestMapping("/findByFirmName/{firmName}")
public Result<Firm> findByFirmName(@PathVariable("firmName") String firmName){ public Result<Firm> findByFirmName(@PathVariable("firmName") String firmName){
Firm firmServiceByFirmName = firmService.findByFirmName(firmName); Firm firmServiceByFirmName = firmService.findByFirmName(firmName);
return Result.success(firmServiceByFirmName); return Result.success(firmServiceByFirmName);
} }
} }

View File

@ -10,10 +10,7 @@ import com.muyu.common.log.enums.BusinessType;
import com.muyu.common.security.annotation.InnerAuth; import com.muyu.common.security.annotation.InnerAuth;
import com.muyu.common.security.annotation.RequiresPermissions; import com.muyu.common.security.annotation.RequiresPermissions;
import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.SysDept; import com.muyu.common.system.domain.*;
import com.muyu.common.system.domain.SysRole;
import com.muyu.common.system.domain.SysUser;
import com.muyu.common.system.domain.LoginUser;
import com.muyu.system.domain.resp.AuthRoleResp; import com.muyu.system.domain.resp.AuthRoleResp;
import com.muyu.system.domain.resp.UserDetailInfoResp; import com.muyu.system.domain.resp.UserDetailInfoResp;
import com.muyu.system.domain.resp.UserInfoResp; import com.muyu.system.domain.resp.UserInfoResp;
@ -56,6 +53,9 @@ public class SysUserController extends BaseController {
@Autowired @Autowired
private SysConfigService configService; private SysConfigService configService;
@Autowired
private DataBaseSelect dataBaseSelect;
/** /**
* *
*/ */
@ -136,6 +136,46 @@ public class SysUserController extends BaseController {
return Result.success(userService.registerUser(sysUser)); return Result.success(userService.registerUser(sysUser));
} }
/**
*
* @param firmName
* @return
*/
@GetMapping("/selectByfirmName/{firmName}")
public Result<String> selectByfirmName(@PathVariable("firmName") String firmName){
return Result.success(userService.selectByfirmName(firmName));
}
/**
*
* @param sysUserMessage
*/
@PostMapping("/selectuser")
public Result<LoginUser> selectuser(@RequestBody SysUserMessage sysUserMessage){
SysUser sysUser=null;
String username = sysUserMessage.getUsername();
String password = sysUserMessage.getPassword();
String databaseName = sysUserMessage.getDatabaseName();
if (databaseName.equals("eight")){
sysUser = userService.selectuser(username);
}else{
sysUser = dataBaseSelect.selectuser(username, password, databaseName);
}
sysUser.setDatabaseName(databaseName);
// 角色集合
Set<String> roles = permissionService.getRolePermission(sysUser);
// 权限集合
Set<String> permissions = permissionService.getMenuPermission(sysUser);
LoginUser sysUserVo = new LoginUser();
sysUserVo.setSysUser(sysUser);
sysUserVo.setRoles(roles);
sysUserVo.setPermissions(permissions);
return Result.success(sysUserVo);
}
/** /**
* *
* *

View File

@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.common.system.domain.Firm; import com.muyu.common.system.domain.Firm;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
/** /**
* @Author * @Author
* @Packagecom.muyu.system.mapper * @Packagecom.muyu.system.mapper
@ -14,4 +16,6 @@ import org.apache.ibatis.annotations.Param;
public interface FirmMapper extends BaseMapper<Firm> { public interface FirmMapper extends BaseMapper<Firm> {
Firm findByFirmName(@Param("firmName") String firmName); Firm findByFirmName(@Param("firmName") String firmName);
List<Firm> selectAll();
} }

View File

@ -1,6 +1,7 @@
package com.muyu.system.mapper; package com.muyu.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.common.system.domain.Firm;
import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.SysUser;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
@ -144,9 +145,23 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
/** /**
* *
* @param firmName * @param firm
* @param datbaseName
* @return * @return
*/ */
Integer insertFirm(@Param("firmName") String firmName, @Param("datbaseName") String datbaseName); Integer insertFirm(Firm firm);
/**
*
* @param firmName
* @return
*/
String selectByfirmName(@Param("firmName") String firmName);
/**
*
* @param username
* @return
*/
SysUser selectuser(@Param("username") String username);
} }

View File

@ -1,52 +1,52 @@
package com.muyu.system.rabbit; //package com.muyu.system.rabbit;
//
import com.alibaba.fastjson2.JSONObject; //import com.alibaba.fastjson2.JSONObject;
import com.muyu.system.domain.SysConfig; //import com.muyu.system.domain.SysConfig;
import jakarta.annotation.PostConstruct; //import jakarta.annotation.PostConstruct;
import lombok.extern.log4j.Log4j2; //import lombok.extern.log4j.Log4j2;
import org.springframework.amqp.core.Queue; //import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.annotation.RabbitListener; //import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.amqp.rabbit.core.RabbitTemplate; //import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean; //import org.springframework.context.annotation.Bean;
import org.springframework.web.bind.annotation.RequestMapping; //import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController; //import org.springframework.web.bind.annotation.RestController;
//
@Log4j2 //@Log4j2
@RestController //@RestController
@RequestMapping("/rabbit/test") //@RequestMapping("/rabbit/test")
public class RabbitTest { //public class RabbitTest {
//
@Autowired // @Autowired
private RabbitTemplate rabbitTemplate; // private RabbitTemplate rabbitTemplate;
//
@Bean // @Bean
public Queue initQueue(){ // public Queue initQueue(){
return new Queue("rabbit.test.init"); // return new Queue("rabbit.test.init");
} // }
//
@RabbitListener(queues = "rabbit.test.init") // @RabbitListener(queues = "rabbit.test.init")
public void msg(SysConfig sysConfig){ // public void msg(SysConfig sysConfig){
log.info("消息队列:[{}], 消息内容:[{}]", "rabbit.test.init", JSONObject.toJSONString(sysConfig)); // log.info("消息队列:[{}], 消息内容:[{}]", "rabbit.test.init", JSONObject.toJSONString(sysConfig));
} // }
//
@PostConstruct // @PostConstruct
public void init(){ // public void init(){
new Thread(() -> { // new Thread(() -> {
try { // try {
Thread.sleep(5000); // Thread.sleep(5000);
} catch (InterruptedException e) { // } catch (InterruptedException e) {
throw new RuntimeException(e); // throw new RuntimeException(e);
} // }
SysConfig sysConfig = SysConfig.builder() // SysConfig sysConfig = SysConfig.builder()
.configId(1L) // .configId(1L)
.configKey("ceshi-key") // .configKey("ceshi-key")
.configName("测试名称") // .configName("测试名称")
.configType("测试类型") // .configType("测试类型")
.configValue("测试值") // .configValue("测试值")
.build(); // .build();
rabbitTemplate.convertAndSend("rabbit.test.init",sysConfig); // rabbitTemplate.convertAndSend("rabbit.test.init",sysConfig);
}).start(); // }).start();
} // }
//
} //}

View File

@ -2,7 +2,7 @@ package com.muyu.system.service;
import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.SysUser;
/** /**
* @Authorweiran * @Authorweiran
* @Packagecom.muyu.system.service * @Packagecom.muyu.system.service
* @Projectcloud-server-8 * @Projectcloud-server-8

View File

@ -0,0 +1,15 @@
package com.muyu.system.service;
import com.muyu.common.system.domain.SysUser;
/**
* @Authorweiran
* @Packagecom.muyu.system.service
* @Projectcloud-server-8
* @nameDataBaseSelect
* @Date2024/10/2 16:02
*/
public interface DataBaseSelect {
public SysUser selectuser(String username, String password, String databaseName);
}

View File

@ -0,0 +1,14 @@
package com.muyu.system.service;
import com.muyu.common.system.domain.SysUser;
/**
* @Authorweiran
* @Packagecom.muyu.system.service
* @Projectcloud-server-8
* @nameDataBaseUpdImpl
* @Date2024/10/6 15:07
*/
public interface DataBaseUpd {
public void updDatbase(SysUser user);
}

View File

@ -3,6 +3,8 @@ package com.muyu.system.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.common.system.domain.Firm; import com.muyu.common.system.domain.Firm;
import java.util.List;
/** /**
* @Author * @Author
* @Packagecom.muyu.system.service * @Packagecom.muyu.system.service
@ -12,4 +14,6 @@ import com.muyu.common.system.domain.Firm;
*/ */
public interface FirmService extends IService<Firm> { public interface FirmService extends IService<Firm> {
Firm findByFirmName(String firmName); Firm findByFirmName(String firmName);
List<Firm> selectAll();
} }

View File

@ -228,4 +228,17 @@ public interface SysUserService extends IService<SysUser> {
List<SysUser> companyList(); List<SysUser> companyList();
/**
*
* @param firmName
* @return
*/
String selectByfirmName(String firmName);
/**
*
* @param username
* @return
*/
SysUser selectuser(String username);
} }

View File

@ -1,15 +1,19 @@
package com.muyu.system.service.impl; package com.muyu.system.service.impl;
import java.text.SimpleDateFormat;
import java.util.Date;
import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.RandomUtil;
import com.muyu.common.core.utils.DateUtils;
import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.SysUser;
import com.muyu.system.service.DataBaseCreator; import com.muyu.system.service.DataBaseCreator;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.support.EncodedResource;
import org.springframework.jdbc.datasource.init.ScriptUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.sql.Connection; import java.sql.*;
import java.sql.DriverManager;
import java.sql.Statement;
/** /**
*
* @Authorweiran * @Authorweiran
* @Packagecom.muyu.system.service.impl * @Packagecom.muyu.system.service.impl
* @Projectcloud-server-8 * @Projectcloud-server-8
@ -27,23 +31,75 @@ public class DataBaseCreatorImpl implements DataBaseCreator {
@Override @Override
public String createDatbase(SysUser user) { public String createDatbase(SysUser user) {
// 获取当前时间的毫秒值
long currentTimeMillis = System.currentTimeMillis();
// 使用当前时间的毫秒值创建一个Timestamp对象
Timestamp currentTimeStamp = new Timestamp(currentTimeMillis);
Connection conn=null;
Statement statement=null;
PreparedStatement preparedStatement=null;
try { try {
Connection conn = DriverManager.getConnection(DB_URL, USER, PASS); //连接数据库
Statement statement = conn.createStatement(); conn = DriverManager.getConnection(DB_URL, USER, PASS);
statement = conn.createStatement();
String datbaseName="company"+RandomUtil.randomNumbers(5); String datbaseName="company"+RandomUtil.randomNumbers(5);
//创建数据库 //创建数据库
String sqlCreateDatabase ="CREATE DATABASE IF NOT EXISTS "+datbaseName; String sqlCreateDatabase ="CREATE DATABASE IF NOT EXISTS "+datbaseName;
String sqlUseDatabase="USE "+datbaseName; String sqlUseDatabase="USE "+datbaseName;
String sqlCreateTable="CREATE TABLE user ("+
"user_id INT AUTO_INCREMENT PRIMARY KEY,"+
"user_name VARCHAR(50) NOT NULL )";
statement.execute(sqlCreateDatabase); statement.execute(sqlCreateDatabase);
statement.execute(sqlUseDatabase); statement.execute(sqlUseDatabase);
statement.execute(sqlCreateTable);
//加载驱动
Class.forName("com.mysql.cj.jdbc.Driver");
ClassPathResource rc = new ClassPathResource("saas/eight.sql");
EncodedResource er = new EncodedResource(rc, "utf-8");
ScriptUtils.executeSqlScript(conn, er);
//准备插入数据的SQL语句
String sqlInsertUser="INSERT INTO `sys_user` (`user_id`,`user_name`, `user_type`, `nick_name`, `email`, `phonenumber`, `sex`, `avatar`, `password`, `status`, `del_flag`,`firm_id`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) VALUES (?,?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
preparedStatement = conn.prepareStatement(sqlInsertUser);
// 设置参数值这里假设SysUser类有相应的getter方法
preparedStatement.setInt(1, 1);
preparedStatement.setString(2, user.getUserName());
preparedStatement.setString(3, "00");
preparedStatement.setString(4, user.getNickName());
preparedStatement.setString(5, user.getEmail());
preparedStatement.setString(6, user.getPhonenumber());
preparedStatement.setString(7, user.getSex());
preparedStatement.setString(8, user.getAvatar());
preparedStatement.setString(9, user.getPassword()); // 请确保密码已经加密
preparedStatement.setString(10, user.getStatus());
preparedStatement.setString(11, user.getDelFlag());
preparedStatement.setInt(12, 0);
preparedStatement.setString(13, user.getCreateBy());
preparedStatement.setTimestamp(14, currentTimeStamp);;// 假设createTime是Date类型
preparedStatement.setString(15, user.getUpdateBy());
preparedStatement.setTimestamp(16, currentTimeStamp); // 假设updateTime是Date类型如果为null则可能需要处理
preparedStatement.setString(17, user.getRemark());
//执行插入操作
preparedStatement.executeUpdate();
return datbaseName; return datbaseName;
}catch (Exception e){ }catch (Exception e){
e.printStackTrace(); e.printStackTrace();
throw new RuntimeException("数据库创建失败"); throw new RuntimeException("数据库创建失败");
}finally {
try {
if (preparedStatement!=null){
preparedStatement.close();
}
if (statement!=null){
statement.close();
}
if (conn!=null){
conn.close();
}
}catch (SQLException e) {
throw new RuntimeException(e);
}
} }
} }
} }

View File

@ -0,0 +1,114 @@
package com.muyu.system.service.impl;
import com.muyu.common.system.domain.SysUser;
import com.muyu.system.service.DataBaseSelect;
import org.springframework.stereotype.Service;
import java.sql.*;
import java.util.List;
/**
*
* @Authorweiran
* @Packagecom.muyu.system.service.impl
* @Projectcloud-server-8
* @nameDataBaseSelectImpl
* @Date2024/9/30 20:09
*/
@Service
public class DataBaseSelectImpl implements DataBaseSelect {
/**
*
* @param username
* @param password
* @param databaseName
*/
@Override
public SysUser selectuser(String username, String password, String databaseName) {
String URL="jdbc:mysql://159.75.188.178:3306/"+databaseName+"?useSSL=false&serverTimezone=UTC";
String USER="root";
String PASS="bwie-8666";
Connection conn=null;
PreparedStatement preparedStatement=null;
ResultSet rs =null;
SysUser sysUser=null;
try{
//注册JDBC驱动
Class.forName("com.mysql.cj.jdbc.Driver");
//打开连接
conn= DriverManager.getConnection(URL,USER,PASS);
//创建Sql查询语句
String sql= "select u.user_id, "+
"u.dept_id, "+
"u.user_name, "+
"u.nick_name, "+
"u.email, "+
"u.avatar, "+
"u.phonenumber, "+
"u.password, "+
"u.sex, "+
"u.status, "+
"u.del_flag, "+
"u.login_ip, "+
"u.login_date, "+
"u.firm_id, "+
"u.create_by, "+
"u.create_time, "+
"u.remark, "+
"ur.role_id, "+
"cr.firm_name, "+
"cr.database_name "+
"from " + databaseName + ".sys_user u " +
"left join " + databaseName + ".sys_user_role ur on u.user_id = ur.user_id " +
"left join eight.firm cr on u.firm_id = cr.firm_id " +
"where u.user_name = ?";
preparedStatement=conn.prepareStatement(sql);
preparedStatement.setString(1, username);
//执行查询
rs=preparedStatement.executeQuery();
//处理结果集
while (rs.next()){
sysUser=new SysUser();
sysUser.setUserId(rs.getLong("user_id"));
sysUser.setDeptId(rs.getLong("dept_id"));
sysUser.setUserName(rs.getString("user_name"));
sysUser.setNickName(rs.getString("nick_name"));
sysUser.setEmail(rs.getString("email"));
sysUser.setPhonenumber(rs.getString("phonenumber"));
sysUser.setSex(rs.getString("sex"));
sysUser.setAvatar(rs.getString("avatar"));
sysUser.setPassword(rs.getString("password"));
sysUser.setStatus(rs.getString("status"));
sysUser.setDelFlag(rs.getString("del_flag"));
sysUser.setLoginIp(rs.getString("login_ip"));
sysUser.setLoginDate(rs.getDate("login_date"));
sysUser.setFirmId(rs.getInt("firm_id"));
sysUser.setCreateBy(rs.getString("create_by"));
sysUser.setCreateTime(rs.getDate("create_time"));
sysUser.setRemark(rs.getString("remark"));
// sysUser.setRoleIds(rs.getObject("role_id", Long[].class));
}
}catch (Exception e){
e.printStackTrace();
}finally {
//关闭资源
try {
if (rs!=null){
rs.close();
}
if (preparedStatement!=null){
preparedStatement.close();
}
if (conn!=null){
conn.close();
}
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
return sysUser;
}
}

View File

@ -0,0 +1,63 @@
package com.muyu.system.service.impl;
import cn.hutool.core.util.RandomUtil;
import com.muyu.common.system.domain.SysUser;
import com.muyu.system.service.DataBaseUpd;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.support.EncodedResource;
import org.springframework.jdbc.datasource.init.ScriptUtils;
import org.springframework.stereotype.Service;
import java.sql.*;
/**
* @Authorweiran
* @Packagecom.muyu.system.service.impl
* @Projectcloud-server-8
* @nameDataBaseUpdImpl
* @Date2024/10/6 15:07
*/
@Service
public class DataBaseUpdImpl implements DataBaseUpd {
private static final String DB_URL="jdbc:mysql://159.75.188.178:3306?useSSL=false";
private static final String USER="root";
private static final String PASS="bwie-8666";
@Override
public void updDatbase(SysUser user) {
Connection conn=null;
PreparedStatement preparedStatement=null;
try {
//连接数据库
conn = DriverManager.getConnection(DB_URL, USER, PASS);
Integer firmId = user.getFirmId();
String databaseName = user.getDatabaseName();
// 构建 SQL 更新语句
String sql = "UPDATE " + databaseName + ".sys_user SET firm_id = ? WHERE user_id = 1";
preparedStatement = conn.prepareStatement(sql);
preparedStatement.setInt(1, firmId);
// 执行更新操作
int rowsAffected = preparedStatement.executeUpdate();
// 可以检查 rowsAffected 来确认是否更新了预期的行数
}catch (Exception e){
e.printStackTrace();
throw new RuntimeException("数据库修改失败");
}finally {
try {
if (preparedStatement!=null){
preparedStatement.close();
}
if (conn!=null){
conn.close();
}
}catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
}

View File

@ -7,6 +7,8 @@ import com.muyu.system.service.FirmService;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List;
/** /**
* @Author * @Author
* @Packagecom.muyu.system.service.impl * @Packagecom.muyu.system.service.impl
@ -25,4 +27,9 @@ public class FirmServiceImpl
public Firm findByFirmName(String firmName) { public Firm findByFirmName(String firmName) {
return firmMapper.findByFirmName(firmName); return firmMapper.findByFirmName(firmName);
} }
@Override
public List<Firm> selectAll() {
return firmMapper.selectAll();
}
} }

View File

@ -8,6 +8,7 @@ import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.core.utils.bean.BeanValidators; import com.muyu.common.core.utils.bean.BeanValidators;
import com.muyu.common.datascope.annotation.DataScope; import com.muyu.common.datascope.annotation.DataScope;
import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.security.utils.SecurityUtils;
import com.muyu.common.system.domain.Firm;
import com.muyu.common.system.domain.SysRole; import com.muyu.common.system.domain.SysRole;
import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.SysUser;
import com.muyu.system.domain.SysPost; import com.muyu.system.domain.SysPost;
@ -15,6 +16,7 @@ import com.muyu.system.domain.SysUserPost;
import com.muyu.system.domain.SysUserRole; import com.muyu.system.domain.SysUserRole;
import com.muyu.system.mapper.*; import com.muyu.system.mapper.*;
import com.muyu.system.service.DataBaseCreator; import com.muyu.system.service.DataBaseCreator;
import com.muyu.system.service.DataBaseUpd;
import com.muyu.system.service.SysUserService; import com.muyu.system.service.SysUserService;
import com.muyu.system.service.SysConfigService; import com.muyu.system.service.SysConfigService;
import jakarta.validation.Validator; import jakarta.validation.Validator;
@ -53,6 +55,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
private SysConfigService configService; private SysConfigService configService;
@Autowired @Autowired
private DataBaseCreator baseCreator; private DataBaseCreator baseCreator;
@Autowired
private DataBaseUpd dataBaseUpd;
/** /**
* *
@ -257,12 +261,18 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
*/ */
@Override @Override
public boolean registerUser (SysUser user) { public boolean registerUser (SysUser user) {
//根据新注册的用户创建对应数据库 //根据新注册的用户创建对应数据库
String datbaseName = baseCreator.createDatbase(user); String datbaseName = baseCreator.createDatbase(user);
//添加公司名称 //添加公司名称
userMapper.insertFirm(user.getFirmName(),datbaseName); Firm firm = new Firm();
Integer firmId = user.getFirmId(); firm.setFirmName(user.getFirmName());
user.setFirmId(firmId); firm.setDatabaseName(datbaseName);
userMapper.insertFirm(firm);
user.setFirmId(firm.getFirmId());
user.setDatabaseName(datbaseName);
//修改对应数据库的firmId
dataBaseUpd.updDatbase(user);
//添加用户表 //添加用户表
int i = userMapper.insertUser(user); int i = userMapper.insertUser(user);
List<SysUser> userList = userMapper.selectUserList(user); List<SysUser> userList = userMapper.selectUserList(user);
@ -525,4 +535,24 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
return userMapper.companyList(); return userMapper.companyList();
} }
/**
*
* @param firmName
* @return
*/
@Override
public String selectByfirmName(String firmName) {
return userMapper.selectByfirmName(firmName);
}
/**
*
* @param username
* @return
*/
@Override
public SysUser selectuser(String username) {
return userMapper.selectuser(username);
}
} }

View File

@ -5,8 +5,8 @@ server:
# nacos线上地址 # nacos线上地址
nacos: nacos:
addr: 159.75.188.178:8848 addr: 159.75.188.178:8848
user-name: nacos user-name:
password: nacos password:
namespace: eight namespace: eight
# SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all # SPRING_AMQP_DESERIALIZATION_TRUST_ALL=true spring.amqp.deserialization.trust.all
# Spring # Spring

View File

@ -7,4 +7,7 @@
<select id="findByFirmName" resultType="com.muyu.common.system.domain.Firm"> <select id="findByFirmName" resultType="com.muyu.common.system.domain.Firm">
select * from firm where firm_name = #{firmName} select * from firm where firm_name = #{firmName}
</select> </select>
<select id="selectAll" resultType="com.muyu.common.system.domain.Firm">
select * from firm
</select>
</mapper> </mapper>

View File

@ -190,6 +190,32 @@
<select id="companyList" resultType="com.muyu.common.system.domain.SysUser"> <select id="companyList" resultType="com.muyu.common.system.domain.SysUser">
select * from sys_user where sys_user.database_name != '' select * from sys_user where sys_user.database_name != ''
</select> </select>
<select id="selectByfirmName" resultType="java.lang.String">
select database_name from firm where firm_name=#{firmName}
</select>
<select id="selectuser" resultType="com.muyu.common.system.domain.SysUser">
select u.user_id,
u.database_name,
u.firm_id,
u.dept_id,
u.user_name,
u.nick_name,
u.email,
u.avatar,
u.phonenumber,
u.password,
u.sex,
u.status,
u.del_flag,
u.login_ip,
u.login_date,
f.firm_name,
f.database_name
from sys_user u
left join firm f on u.firm_id = f.firm_id
where u.user_name = #{username}
</select>
<insert id="insertUser" parameterType="com.muyu.common.system.domain.SysUser" useGeneratedKeys="true" keyProperty="userId"> <insert id="insertUser" parameterType="com.muyu.common.system.domain.SysUser" useGeneratedKeys="true" keyProperty="userId">
insert into sys_user( insert into sys_user(
@ -202,6 +228,8 @@
<if test="phonenumber != null and phonenumber != ''">phonenumber,</if> <if test="phonenumber != null and phonenumber != ''">phonenumber,</if>
<if test="sex != null and sex != ''">sex,</if> <if test="sex != null and sex != ''">sex,</if>
<if test="password != null and password != ''">password,</if> <if test="password != null and password != ''">password,</if>
<if test="firmId != null and firmId != ''">firm_id,</if>
<if test="databaseName != null and databaseName != ''">database_name,</if>
<if test="status != null and status != ''">status,</if> <if test="status != null and status != ''">status,</if>
<if test="createBy != null and createBy != ''">create_by,</if> <if test="createBy != null and createBy != ''">create_by,</if>
<if test="remark != null and remark != ''">remark,</if> <if test="remark != null and remark != ''">remark,</if>
@ -216,16 +244,19 @@
<if test="phonenumber != null and phonenumber != ''">#{phonenumber},</if> <if test="phonenumber != null and phonenumber != ''">#{phonenumber},</if>
<if test="sex != null and sex != ''">#{sex},</if> <if test="sex != null and sex != ''">#{sex},</if>
<if test="password != null and password != ''">#{password},</if> <if test="password != null and password != ''">#{password},</if>
<if test="firmId != null and firmId != ''">#{firmId},</if>
<if test="databaseName != null and databaseName != ''">#{databaseName},</if>
<if test="status != null and status != ''">#{status},</if> <if test="status != null and status != ''">#{status},</if>
<if test="createBy != null and createBy != ''">#{createBy},</if> <if test="createBy != null and createBy != ''">#{createBy},</if>
<if test="remark != null and remark != ''">#{remark},</if> <if test="remark != null and remark != ''">#{remark},</if>
sysdate() sysdate()
) )
</insert> </insert>
<insert id="insertFirm" useGeneratedKeys="true" keyProperty="firmId"> <insert id="insertFirm" useGeneratedKeys="true" keyProperty="firmId">
INSERT INTO `eight`.`firm` INSERT INTO `eight`.`firm`
(`firm_id`, `firm_name`, `database_name`) VALUES (`firm_id`, `firm_name`, `database_name`) VALUES
(0, #{firmName}, #{datbaseName}); (0, #{firmName}, #{databaseName});
</insert> </insert>
<update id="updateUser" parameterType="com.muyu.common.system.domain.SysUser"> <update id="updateUser" parameterType="com.muyu.common.system.domain.SysUser">

View File

@ -0,0 +1,890 @@
/*
Navicat Premium Data Transfer
Source Server : 159.75.188.178
Source Server Type : MySQL
Source Server Version : 80020
Source Host : 159.75.188.178:3306
Source Schema : eight
Target Server Type : MySQL
Target Server Version : 80020
File Encoding : 65001
Date: 06/10/2024 09:15:15
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for car_brand
-- ----------------------------
CREATE TABLE `car_brand` (
`car_brand_id` int NOT NULL AUTO_INCREMENT COMMENT '车辆品牌ID',
`car_brand_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '车辆品牌名',
PRIMARY KEY (`car_brand_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for car_fault_condition
-- ----------------------------
CREATE TABLE `car_fault_condition` (
`carcondition_id` int NOT NULL AUTO_INCREMENT COMMENT '故障规则表Id',
`car_type_id` int NULL DEFAULT NULL COMMENT '车辆类型Id',
`message_type_id` int NULL DEFAULT NULL COMMENT '故障项Id',
`faultcondition_identification` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '故障条件',
`faultcondition_parameter` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '故障规则参数',
PRIMARY KEY (`carcondition_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for car_fault_label
-- ----------------------------
CREATE TABLE `car_fault_label` (
`message_type_id` int NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`message_type_code` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '报文编码',
`message_type_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '报文名称',
`message_type_belongs` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '报文所属类别',
PRIMARY KEY (`message_type_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 50 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '车辆报文类型表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for car_fault_log
-- ----------------------------
CREATE TABLE `car_fault_log` (
`log_id` int NOT NULL AUTO_INCREMENT COMMENT '故障日志Id',
`faultcode_id` int NULL DEFAULT NULL COMMENT '故障码Id',
`car_information_id` int NULL DEFAULT NULL COMMENT '车辆Id',
`car_vin` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '车辆VIN',
`startwarning_time` datetime NULL DEFAULT NULL COMMENT '开始报警时间',
`endwarning_time` datetime NULL DEFAULT NULL COMMENT '结束报警时间',
PRIMARY KEY (`log_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for car_fault_message
-- ----------------------------
CREATE TABLE `car_fault_message` (
`id` int NOT NULL AUTO_INCREMENT COMMENT 'id',
`sender` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '发送者',
`receiver` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '接收者',
`content` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '消息内容',
`status` int NULL DEFAULT NULL COMMENT '消息状态',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`user_id` int NULL DEFAULT NULL COMMENT '登录人Id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for car_fault_rule
-- ----------------------------
CREATE TABLE `car_fault_rule` (
`rule_id` int NOT NULL AUTO_INCREMENT COMMENT '规则Id',
`car_type_id` int NULL DEFAULT NULL COMMENT '车辆类型Id',
`speed` double NULL DEFAULT NULL COMMENT '车速',
`CC` double NULL DEFAULT NULL COMMENT '总电流',
`IR` double NULL DEFAULT NULL COMMENT '绝缘电阻',
`APTV` double NULL DEFAULT NULL COMMENT '加速踏板行程值',
`BPTV` double NULL DEFAULT NULL COMMENT '制动踏板行程值',
`SFC` double NULL DEFAULT NULL COMMENT '燃料消耗率',
`MCT` double NULL DEFAULT NULL COMMENT '电机控制器温度',
`MS` int NULL DEFAULT NULL COMMENT '电机转速',
`MTO` double NULL DEFAULT NULL COMMENT '电机转矩',
`MTE` double NULL DEFAULT NULL COMMENT '电机温度',
`MV` double NULL DEFAULT NULL COMMENT '电机电压',
`MC` double NULL DEFAULT NULL COMMENT '电机电流',
`PBRSOC` double NULL DEFAULT NULL COMMENT '动力电池剩余电量SOC',
`MACSFP` double NULL DEFAULT NULL COMMENT '当前状态允许的最大反馈功率',
`CSATMDP` double NULL DEFAULT NULL COMMENT '当前状态允许最大放电功率',
`BMS` int NULL DEFAULT NULL COMMENT 'BMS自检计数器',
`CADC` double NULL DEFAULT NULL COMMENT '动力电池充放电电流',
`PBLETVV3` double NULL DEFAULT NULL COMMENT '动力电池负载端总电压V3',
`SMV` double NULL DEFAULT NULL COMMENT '单次最大电压',
`MVOAB` double NULL DEFAULT NULL COMMENT '单体电池最低电压',
`MAXBT` double NULL DEFAULT NULL COMMENT '单体电池最高温度',
`MINBT` double NULL DEFAULT NULL COMMENT '单体电池最低温度',
`PBAC` double NULL DEFAULT NULL COMMENT '动力电池可用容量',
`TM` int NULL DEFAULT NULL COMMENT '总里程',
`TV` double NULL DEFAULT NULL COMMENT '总电压',
`VS` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '车辆状态',
`CS` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '充电状态',
`RS` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '运行状态',
`SOC` double NULL DEFAULT NULL COMMENT 'SOC',
`RESDWC` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '可充电储能装置工作状态',
`EAS` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'EAS',
`PTC` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'PTC',
`EPS` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'EPS',
`ABS` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'ABS',
`MCU` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'MCU',
`PBHS` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '动力电池加热状态',
`PBCS` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '动力电池当前状态',
`PBIS` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '动力电池保温状态',
`DCDC` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'DCDC',
`CHG` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'CHG',
`CHB` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '校验位',
`CUB` varchar(255) CHARACTER SET utf16 COLLATE utf16_general_ci NULL DEFAULT NULL COMMENT '截止位',
PRIMARY KEY (`rule_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for car_fault_type
-- ----------------------------
CREATE TABLE `car_fault_type` (
`faulttype_id` int NOT NULL AUTO_INCREMENT COMMENT '故障类型Id',
`faulttype_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '故障类型名称',
PRIMARY KEY (`faulttype_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 8 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for car_faultcode
-- ----------------------------
CREATE TABLE `car_faultcode` (
`faultcode_id` int NOT NULL AUTO_INCREMENT COMMENT '故障码Id',
`message_type_id` int NULL DEFAULT NULL COMMENT '故障名称Id',
`faultcode_number` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '故障码',
`fault_group` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '故障组',
`fault_bit` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '故障位',
`fault_value` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '故障值',
`is_warning` int NULL DEFAULT NULL COMMENT '是否警告',
PRIMARY KEY (`faultcode_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 54 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for car_fence
-- ----------------------------
CREATE TABLE `car_fence` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '围栏主键',
`name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '围栏名称',
`clazz_id` int NULL DEFAULT NULL COMMENT '业务类型',
`type_id` int NULL DEFAULT NULL COMMENT '围栏类型',
`fence_text` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '围栏经纬度',
`fence_start` datetime NULL DEFAULT NULL COMMENT '围栏开始时间',
`fence_end` datetime NULL DEFAULT NULL COMMENT '围栏结束时间',
`fence_create` datetime NULL DEFAULT NULL COMMENT '创建时间',
`middle_id` int NULL DEFAULT NULL COMMENT '中间ID',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 13 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for car_fence_clazz
-- ----------------------------
CREATE TABLE `car_fence_clazz` (
`clazz_id` int NOT NULL AUTO_INCREMENT COMMENT '业务类型ID',
`clazz_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '业务类型名称',
PRIMARY KEY (`clazz_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for car_fence_group
-- ----------------------------
CREATE TABLE `car_fence_group` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '围栏组ID',
`priority` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '优先级',
`status` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '启动状态',
`group_type` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '围栏组类型',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 898256901 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for car_fence_type
-- ----------------------------
CREATE TABLE `car_fence_type` (
`type_id` int NOT NULL AUTO_INCREMENT COMMENT '围栏类型ID',
`type_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '围栏类型名称',
PRIMARY KEY (`type_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for car_fittings
-- ----------------------------
CREATE TABLE `car_fittings` (
`car_fittings_id` int NOT NULL AUTO_INCREMENT COMMENT '车辆零部件ID',
`car_fittings_infomation` int NULL DEFAULT NULL COMMENT '车辆类型外键ID',
`car_fittings_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '车辆零部件名称',
`car_fittings_abnormal` int NULL DEFAULT NULL COMMENT '该零部件是否异常(0无异常默认 1存在异常)',
PRIMARY KEY (`car_fittings_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for car_information
-- ----------------------------
CREATE TABLE `car_information` (
`car_information_id` int NOT NULL AUTO_INCREMENT COMMENT '车辆ID',
`car_information_VIN` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '车辆唯一VIN',
`car_information_license_plate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '车牌号',
`car_information_brand` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '车辆品牌',
`car_information_color` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '车辆颜色',
`car_information_driver` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '车辆驾驶员',
`car_information_examine_enddata` date NULL DEFAULT NULL COMMENT '车检到期日期',
`car_information_motor_manufacturer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '车辆电机厂商',
`car_information_motor_model` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '车辆电机型号',
`car_information_battery_manufacturer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '车辆电池厂商',
`car_information_battery_model` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '车辆电池型号',
`car_information_fence` int NULL DEFAULT NULL COMMENT '车辆电子围栏外键ID',
`car_information_type` int NULL DEFAULT NULL COMMENT '车辆类型外键ID',
`car_information_focus` int NULL DEFAULT 0 COMMENT '是否重点车辆 (0否默认 1是 )',
`car_strategy_id` int NULL DEFAULT NULL COMMENT '车辆策略id',
`car_information_state` int NULL DEFAULT 4 COMMENT '启用状态(1.在线 2.离线 3.已断开 4.待连接 5.维修中)',
PRIMARY KEY (`car_information_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for car_message
-- ----------------------------
CREATE TABLE `car_message` (
`car_message_id` int NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`car_message_cartype` int NULL DEFAULT NULL COMMENT '车辆类型外键',
`car_message_type` int NULL DEFAULT NULL COMMENT '车辆报文外键',
`car_message_start_index` int NULL DEFAULT NULL COMMENT '开始位下标',
`car_message_end_index` int NULL DEFAULT NULL COMMENT '结束位下标',
`message_type_class` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '报文数据类型 (固定值 区间随机值)',
`car_message_state` int NULL DEFAULT 0 COMMENT '报文是否开启故障检测(0默认未开启 1开启)',
`car_message_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,
PRIMARY KEY (`car_message_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 61 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '车辆报文记录表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for car_message_type
-- ----------------------------
CREATE TABLE `car_message_type` (
`message_type_id` int NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`message_type_code` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '报文编码',
`message_type_name` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '报文名称',
`message_type_belongs` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '报文所属类别',
PRIMARY KEY (`message_type_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 48 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '车辆报文类型表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for car_middle
-- ----------------------------
CREATE TABLE `car_middle` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '中间字段',
`fence_group_id` int NULL DEFAULT NULL COMMENT '围栏组ID',
`car_information_id` int NULL DEFAULT NULL COMMENT '车辆ID',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1917517834 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for car_middle_group
-- ----------------------------
CREATE TABLE `car_middle_group` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '中间ID',
`car_fence_id` int NULL DEFAULT NULL COMMENT '围栏ID',
`fence_group_id` int NULL DEFAULT NULL COMMENT '围栏组',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1619763222 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for car_rules
-- ----------------------------
CREATE TABLE `car_rules` (
`car_rules_id` int NOT NULL AUTO_INCREMENT COMMENT '车辆规则ID',
`car_rules_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '车辆规则',
PRIMARY KEY (`car_rules_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for car_type
-- ----------------------------
CREATE TABLE `car_type` (
`car_type_id` int NOT NULL AUTO_INCREMENT COMMENT '车辆类型ID',
`car_type_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '车辆类型名',
`car_type_rules` int NULL DEFAULT NULL COMMENT '车辆规则外键ID',
PRIMARY KEY (`car_type_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for gen_table
-- ----------------------------
CREATE TABLE `gen_table` (
`table_id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`table_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '表名称',
`table_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '表描述',
`sub_table_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '关联子表的表名',
`sub_table_fk_name` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '子表关联的外键名',
`class_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '实体类名称',
`tpl_category` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'crud' COMMENT '使用的模板crud单表操作 tree树表操作',
`package_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生成包路径',
`module_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生成模块名',
`business_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生成业务名',
`function_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生成功能名',
`function_author` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生成功能作者',
`gen_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '生成代码方式0zip压缩包 1自定义路径',
`gen_path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '/' COMMENT '生成路径(不填默认项目路径)',
`options` varchar(1000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '其它生成选项',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`table_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '代码生成业务表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for gen_table_column
-- ----------------------------
CREATE TABLE `gen_table_column` (
`column_id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`table_id` bigint NULL DEFAULT NULL COMMENT '归属表编号',
`column_name` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '列名称',
`column_comment` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '列描述',
`column_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '列类型',
`java_type` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'JAVA类型',
`java_field` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT 'JAVA字段名',
`is_pk` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否主键1是',
`is_increment` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否自增1是',
`is_required` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否必填1是',
`is_insert` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否为插入字段1是',
`is_edit` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否编辑字段1是',
`is_list` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否列表字段1是',
`is_query` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '是否查询字段1是',
`query_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'EQ' COMMENT '查询方式(等于、不等于、大于、小于、范围)',
`html_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '显示类型(文本框、文本域、下拉框、复选框、单选框、日期控件)',
`dict_type` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典类型',
`sort` int NULL DEFAULT NULL COMMENT '排序',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`column_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '代码生成业务表字段' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for packet_template
-- ----------------------------
CREATE TABLE `packet_template` (
`packet_template_id` int NOT NULL AUTO_INCREMENT COMMENT '报文模板分类id',
`packet_template_cartype` int NULL DEFAULT NULL COMMENT '报文模板分类车型外键',
`packet_template_carmessage` int NULL DEFAULT NULL COMMENT '报文模板分类联报文表外键',
PRIMARY KEY (`packet_template_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for sys_config
-- ----------------------------
CREATE TABLE `sys_config` (
`config_id` int NOT NULL AUTO_INCREMENT COMMENT '参数主键',
`config_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '参数名称',
`config_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '参数键名',
`config_value` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '参数键值',
`config_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'N' COMMENT '系统内置Y是 N否',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`config_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '参数配置表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for sys_dept
-- ----------------------------
CREATE TABLE `sys_dept` (
`dept_id` bigint NOT NULL AUTO_INCREMENT COMMENT '部门id',
`parent_id` bigint NULL DEFAULT 0 COMMENT '父部门id',
`ancestors` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '祖级列表',
`dept_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '部门名称',
`order_num` int NULL DEFAULT 0 COMMENT '显示顺序',
`leader` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '负责人',
`phone` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '联系电话',
`email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '邮箱',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '部门状态0正常 1停用',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '删除标志0代表存在 2代表删除',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`dept_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 205 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '部门表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for sys_dict_data
-- ----------------------------
CREATE TABLE `sys_dict_data` (
`dict_code` bigint NOT NULL AUTO_INCREMENT COMMENT '字典编码',
`dict_sort` int NULL DEFAULT 0 COMMENT '字典排序',
`dict_label` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典标签',
`dict_value` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典键值',
`dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典类型',
`css_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '样式属性(其他样式扩展)',
`list_class` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '表格回显样式',
`is_default` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT 'N' COMMENT '是否默认Y是 N否',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '状态0正常 1停用',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`dict_code`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 111 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '字典数据表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for sys_dict_type
-- ----------------------------
CREATE TABLE `sys_dict_type` (
`dict_id` bigint NOT NULL AUTO_INCREMENT COMMENT '字典主键',
`dict_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典名称',
`dict_type` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '字典类型',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '状态0正常 1停用',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`dict_id`) USING BTREE,
UNIQUE INDEX `dict_type`(`dict_type` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 101 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '字典类型表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for sys_logininfor
-- ----------------------------
CREATE TABLE `sys_logininfor` (
`info_id` bigint NOT NULL AUTO_INCREMENT COMMENT '访问ID',
`user_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '用户账号',
`ipaddr` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '登录IP地址',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '登录状态0成功 1失败',
`msg` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '提示信息',
`access_time` datetime NULL DEFAULT NULL COMMENT '访问时间',
PRIMARY KEY (`info_id`) USING BTREE,
INDEX `idx_sys_logininfor_s`(`status` ASC) USING BTREE,
INDEX `idx_sys_logininfor_lt`(`access_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 390 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '系统访问记录' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for sys_menu
-- ----------------------------
CREATE TABLE `sys_menu` (
`menu_id` bigint NOT NULL AUTO_INCREMENT COMMENT '菜单ID',
`menu_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '菜单名称',
`parent_id` bigint NULL DEFAULT 0 COMMENT '父菜单ID',
`order_num` int NULL DEFAULT 0 COMMENT '显示顺序',
`path` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '路由地址',
`component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '组件路径',
`query` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '路由参数',
`is_frame` int NULL DEFAULT 1 COMMENT '是否为外链0是 1否',
`is_cache` int NULL DEFAULT 0 COMMENT '是否缓存0缓存 1不缓存',
`menu_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '菜单类型M目录 C菜单 F按钮',
`visible` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '菜单状态0显示 1隐藏',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '菜单状态0正常 1停用',
`perms` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '权限标识',
`icon` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '#' COMMENT '菜单图标',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '备注',
PRIMARY KEY (`menu_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2034 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '菜单权限表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for sys_notice
-- ----------------------------
CREATE TABLE `sys_notice` (
`notice_id` int NOT NULL AUTO_INCREMENT COMMENT '公告ID',
`notice_title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '公告标题',
`notice_type` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '公告类型1通知 2公告',
`notice_content` longblob NULL COMMENT '公告内容',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '公告状态0正常 1关闭',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`notice_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 10 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '通知公告表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for sys_oper_log
-- ----------------------------
CREATE TABLE `sys_oper_log` (
`oper_id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志主键',
`title` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '模块标题',
`business_type` int NULL DEFAULT 0 COMMENT '业务类型0其它 1新增 2修改 3删除',
`method` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '方法名称',
`request_method` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '请求方式',
`operator_type` int NULL DEFAULT 0 COMMENT '操作类别0其它 1后台用户 2手机端用户',
`oper_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '操作人员',
`dept_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '部门名称',
`oper_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '请求URL',
`oper_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '主机地址',
`oper_location` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '操作地点',
`oper_param` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '请求参数',
`json_result` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '返回参数',
`status` int NULL DEFAULT 0 COMMENT '操作状态0正常 1异常',
`error_msg` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '错误消息',
`oper_time` datetime NULL DEFAULT NULL COMMENT '操作时间',
`cost_time` bigint NULL DEFAULT 0 COMMENT '消耗时间',
PRIMARY KEY (`oper_id`) USING BTREE,
INDEX `idx_sys_oper_log_bt`(`business_type` ASC) USING BTREE,
INDEX `idx_sys_oper_log_s`(`status` ASC) USING BTREE,
INDEX `idx_sys_oper_log_ot`(`oper_time` ASC) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 198 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '操作日志记录' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for sys_post
-- ----------------------------
CREATE TABLE `sys_post` (
`post_id` bigint NOT NULL AUTO_INCREMENT COMMENT '岗位ID',
`post_code` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '岗位编码',
`post_name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '岗位名称',
`post_sort` int NOT NULL COMMENT '显示顺序',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '状态0正常 1停用',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`post_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '岗位信息表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for sys_role
-- ----------------------------
CREATE TABLE `sys_role` (
`role_id` bigint NOT NULL AUTO_INCREMENT COMMENT '角色ID',
`role_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '角色名称',
`role_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '角色权限字符串',
`role_sort` int NOT NULL COMMENT '显示顺序',
`data_scope` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '1' COMMENT '数据范围1全部数据权限 2自定数据权限 3本部门数据权限 4本部门及以下数据权限',
`menu_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '菜单树选择项是否关联显示',
`dept_check_strictly` tinyint(1) NULL DEFAULT 1 COMMENT '部门树选择项是否关联显示',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '角色状态0正常 1停用',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '删除标志0代表存在 2代表删除',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`role_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 100 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '角色信息表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for sys_role_dept
-- ----------------------------
CREATE TABLE `sys_role_dept` (
`role_id` bigint NOT NULL COMMENT '角色ID',
`dept_id` bigint NOT NULL COMMENT '部门ID',
PRIMARY KEY (`role_id`, `dept_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '角色和部门关联表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for sys_role_menu
-- ----------------------------
CREATE TABLE `sys_role_menu` (
`role_id` bigint NOT NULL COMMENT '角色ID',
`menu_id` bigint NOT NULL COMMENT '菜单ID',
PRIMARY KEY (`role_id`, `menu_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '角色和菜单关联表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for sys_user
-- ----------------------------
CREATE TABLE `sys_user` (
`user_id` bigint NOT NULL AUTO_INCREMENT COMMENT '用户ID',
`dept_id` bigint NULL DEFAULT NULL COMMENT '部门ID',
`user_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户账号',
`nick_name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户昵称',
`user_type` varchar(2) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '00' COMMENT '用户类型00系统用户',
`email` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '用户邮箱',
`phonenumber` varchar(11) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '手机号码',
`sex` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '用户性别0男 1女 2未知',
`avatar` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '头像地址',
`password` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '密码',
`status` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '帐号状态0正常 1停用',
`del_flag` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '0' COMMENT '删除标志0代表存在 2代表删除',
`login_ip` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '最后登录IP',
`login_date` datetime NULL DEFAULT NULL COMMENT '最后登录时间',
`firm_id` bigint NULL DEFAULT NULL COMMENT '企业Id',
`create_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '创建者',
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间',
`update_by` varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT '' COMMENT '更新者',
`update_time` datetime NULL DEFAULT NULL COMMENT '更新时间',
`remark` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注',
PRIMARY KEY (`user_id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 110 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户信息表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for sys_user_post
-- ----------------------------
CREATE TABLE `sys_user_post` (
`user_id` bigint NOT NULL COMMENT '用户ID',
`post_id` bigint NOT NULL COMMENT '岗位ID',
PRIMARY KEY (`user_id`, `post_id`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户与岗位关联表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for sys_user_role
-- ----------------------------
CREATE TABLE `sys_user_role` (
`user_id` bigint NOT NULL COMMENT '用户ID',
`role_id` bigint NOT NULL COMMENT '角色ID'
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '用户和角色关联表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for warn_logs
-- ----------------------------
CREATE TABLE `warn_logs` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '预警日志id',
`vin` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '车辆vin码',
`warn_rule_id` int NULL DEFAULT NULL COMMENT '规则id',
`start_time` datetime NULL DEFAULT NULL COMMENT '开始时间',
`end_time` datetime NULL DEFAULT NULL COMMENT '结束时间',
`max_value` int NULL DEFAULT NULL COMMENT '最大值',
`min_value` int NULL DEFAULT NULL COMMENT '最小值',
`avg_value` int NULL DEFAULT NULL COMMENT '平均值',
`median_value` int NULL DEFAULT NULL COMMENT '中位数',
`status` int NULL DEFAULT NULL COMMENT '是否发送预警',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for warn_rule
-- ----------------------------
CREATE TABLE `warn_rule` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '规则id',
`rule_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '规则名称',
`strategy_id` int NULL DEFAULT NULL COMMENT '策略id',
`msg_type_id` int NULL DEFAULT NULL COMMENT '报文数据类型id',
`slide_time` int NULL DEFAULT NULL COMMENT '滑窗时间',
`slide_frequency` int NULL DEFAULT NULL COMMENT '滑窗频率',
`max_value` int NULL DEFAULT NULL COMMENT '最大值',
`min_value` int NULL DEFAULT NULL COMMENT '最小值',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
-- ----------------------------
-- Table structure for warn_strategy
-- ----------------------------
CREATE TABLE `warn_strategy` (
`id` int NOT NULL AUTO_INCREMENT COMMENT '策略id',
`car_type_id` int NULL DEFAULT NULL COMMENT '车辆类型id',
`strategy_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '策略名称',
`msg_id` int NULL DEFAULT NULL COMMENT '报文模版id',
PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;
-- ----------------------------
-- Records of sys_config
-- ----------------------------
INSERT INTO `sys_config` VALUES (1, '主框架页-默认皮肤样式名称', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', '2024-05-23 15:08:18', '', NULL, '蓝色 skin-blue、绿色 skin-green、紫色 skin-purple、红色 skin-red、黄色 skin-yellow');
INSERT INTO `sys_config` VALUES (2, '用户管理-账号初始密码', 'sys.user.initPassword', '123456', 'Y', 'admin', '2024-05-23 15:08:18', '', NULL, '初始化密码 123456');
INSERT INTO `sys_config` VALUES (3, '主框架页-侧边栏主题', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', '2024-05-23 15:08:18', '', NULL, '深色主题theme-dark浅色主题theme-light');
INSERT INTO `sys_config` VALUES (4, '账号自助-是否开启用户注册功能', 'sys.account.registerUser', 'true', 'Y', 'admin', '2024-05-23 15:08:18', '', NULL, '是否开启注册用户功能true开启false关闭');
INSERT INTO `sys_config` VALUES (5, '用户登录-黑名单列表', 'sys.login.blackIPList', '', 'Y', 'admin', '2024-05-23 15:08:18', '', NULL, '设置登录IP黑名单限制多个匹配项以;分隔,支持匹配(*通配、网段)');
SET FOREIGN_KEY_CHECKS = 1;
-- ----------------------------
-- Records of sys_dict_data
-- ----------------------------
INSERT INTO `sys_dict_data` VALUES (1, 1, '', '0', 'sys_user_sex', '', '', 'Y', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '性别男');
INSERT INTO `sys_dict_data` VALUES (2, 2, '', '1', 'sys_user_sex', '', '', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '性别女');
INSERT INTO `sys_dict_data` VALUES (3, 3, '未知', '2', 'sys_user_sex', '', '', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '性别未知');
INSERT INTO `sys_dict_data` VALUES (4, 1, '显示', '0', 'sys_show_hide', '', 'primary', 'Y', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '显示菜单');
INSERT INTO `sys_dict_data` VALUES (5, 2, '隐藏', '1', 'sys_show_hide', '', 'danger', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '隐藏菜单');
INSERT INTO `sys_dict_data` VALUES (6, 1, '正常', '0', 'sys_normal_disable', '', 'primary', 'Y', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '正常状态');
INSERT INTO `sys_dict_data` VALUES (7, 2, '停用', '1', 'sys_normal_disable', '', 'danger', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '停用状态');
INSERT INTO `sys_dict_data` VALUES (8, 1, '正常', '0', 'sys_job_status', '', 'primary', 'Y', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '正常状态');
INSERT INTO `sys_dict_data` VALUES (9, 2, '暂停', '1', 'sys_job_status', '', 'danger', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '停用状态');
INSERT INTO `sys_dict_data` VALUES (10, 1, '默认', 'DEFAULT', 'sys_job_group', '', '', 'Y', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '默认分组');
INSERT INTO `sys_dict_data` VALUES (11, 2, '系统', 'SYSTEM', 'sys_job_group', '', '', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '系统分组');
INSERT INTO `sys_dict_data` VALUES (12, 1, '', 'Y', 'sys_yes_no', '', 'primary', 'Y', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '系统默认是');
INSERT INTO `sys_dict_data` VALUES (13, 2, '', 'N', 'sys_yes_no', '', 'danger', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '系统默认否');
INSERT INTO `sys_dict_data` VALUES (14, 1, '通知', '1', 'sys_notice_type', '', 'warning', 'Y', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '通知');
INSERT INTO `sys_dict_data` VALUES (15, 2, '公告', '2', 'sys_notice_type', '', 'success', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '公告');
INSERT INTO `sys_dict_data` VALUES (16, 1, '正常', '0', 'sys_notice_status', '', 'primary', 'Y', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '正常状态');
INSERT INTO `sys_dict_data` VALUES (17, 2, '关闭', '1', 'sys_notice_status', '', 'danger', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '关闭状态');
INSERT INTO `sys_dict_data` VALUES (18, 99, '其他', '0', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '其他操作');
INSERT INTO `sys_dict_data` VALUES (19, 1, '新增', '1', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '新增操作');
INSERT INTO `sys_dict_data` VALUES (20, 2, '修改', '2', 'sys_oper_type', '', 'info', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '修改操作');
INSERT INTO `sys_dict_data` VALUES (21, 3, '删除', '3', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '删除操作');
INSERT INTO `sys_dict_data` VALUES (22, 4, '授权', '4', 'sys_oper_type', '', 'primary', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '授权操作');
INSERT INTO `sys_dict_data` VALUES (23, 5, '导出', '5', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '导出操作');
INSERT INTO `sys_dict_data` VALUES (24, 6, '导入', '6', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '导入操作');
INSERT INTO `sys_dict_data` VALUES (25, 7, '强退', '7', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '强退操作');
INSERT INTO `sys_dict_data` VALUES (26, 8, '生成代码', '8', 'sys_oper_type', '', 'warning', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '生成操作');
INSERT INTO `sys_dict_data` VALUES (27, 9, '清空数据', '9', 'sys_oper_type', '', 'danger', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '清空操作');
INSERT INTO `sys_dict_data` VALUES (28, 1, '成功', '0', 'sys_common_status', '', 'primary', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '正常状态');
INSERT INTO `sys_dict_data` VALUES (29, 2, '失败', '1', 'sys_common_status', '', 'danger', 'N', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '停用状态');
INSERT INTO `sys_dict_data` VALUES (100, 0, '纯电车', '1', 'car_type', NULL, 'primary', 'N', '0', 'admin', '2024-09-22 03:12:19', '', NULL, '纯电车');
INSERT INTO `sys_dict_data` VALUES (101, 1, '燃油车', '2', 'car_type', NULL, 'danger', 'N', '0', 'admin', '2024-09-22 03:12:53', '', NULL, '燃油车');
INSERT INTO `sys_dict_data` VALUES (102, 2, '混合动力车', '3', 'car_type', NULL, 'warning', 'N', '0', 'admin', '2024-09-22 03:13:15', '', NULL, '混合动力车');
INSERT INTO `sys_dict_data` VALUES (103, 3, '新能源车', '4', 'car_type', NULL, 'success', 'N', '0', 'admin', '2024-09-22 03:15:39', '', NULL, '新能源车');
INSERT INTO `sys_dict_data` VALUES (104, 4, '冷藏车', '5', 'car_type', NULL, 'primary', 'N', '0', 'admin', '2024-09-22 03:16:14', '', NULL, '冷藏车');
INSERT INTO `sys_dict_data` VALUES (105, 5, '普通货运车', '6', 'car_type', NULL, 'warning', 'N', '0', 'admin', '2024-09-22 03:16:50', '', NULL, '普通货运车');
INSERT INTO `sys_dict_data` VALUES (106, 6, '厢式货车', '7', 'car_type', NULL, 'warning', 'N', '0', 'admin', '2024-09-22 03:17:37', '', NULL, '厢式货车');
INSERT INTO `sys_dict_data` VALUES (107, 7, '公交车', '8', 'car_type', NULL, 'warning', 'N', '0', 'admin', '2024-09-22 03:18:10', '', NULL, '公交车');
INSERT INTO `sys_dict_data` VALUES (108, 8, '校车', '9', 'car_type', NULL, 'success', 'N', '0', 'admin', '2024-09-22 03:18:45', '', NULL, '校车');
INSERT INTO `sys_dict_data` VALUES (109, 9, '移动餐车', '10', 'car_type', NULL, 'warning', 'N', '0', 'admin', '2024-09-22 03:19:16', '', NULL, '移动餐车');
INSERT INTO `sys_dict_data` VALUES (110, 10, '垃圾清运车', '11', 'car_type', NULL, 'success', 'N', '0', 'admin', '2024-09-22 03:19:46', '', NULL, '垃圾清运车');
SET FOREIGN_KEY_CHECKS = 1;
-- ----------------------------
-- Records of sys_dict_type
-- ----------------------------
INSERT INTO `sys_dict_type` VALUES (1, '用户性别', 'sys_user_sex', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '用户性别列表');
INSERT INTO `sys_dict_type` VALUES (2, '菜单状态', 'sys_show_hide', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '菜单状态列表');
INSERT INTO `sys_dict_type` VALUES (3, '系统开关', 'sys_normal_disable', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '系统开关列表');
INSERT INTO `sys_dict_type` VALUES (4, '任务状态', 'sys_job_status', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '任务状态列表');
INSERT INTO `sys_dict_type` VALUES (5, '任务分组', 'sys_job_group', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '任务分组列表');
INSERT INTO `sys_dict_type` VALUES (6, '系统是否', 'sys_yes_no', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '系统是否列表');
INSERT INTO `sys_dict_type` VALUES (7, '通知类型', 'sys_notice_type', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '通知类型列表');
INSERT INTO `sys_dict_type` VALUES (8, '通知状态', 'sys_notice_status', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '通知状态列表');
INSERT INTO `sys_dict_type` VALUES (9, '操作类型', 'sys_oper_type', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '操作类型列表');
INSERT INTO `sys_dict_type` VALUES (10, '系统状态', 'sys_common_status', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '登录状态列表');
INSERT INTO `sys_dict_type` VALUES (100, '车辆类型', 'car_type', '0', 'admin', '2024-09-22 03:11:43', '', NULL, '车辆类型列表');
SET FOREIGN_KEY_CHECKS = 1;
-- ----------------------------
-- Records of sys_menu
-- ----------------------------
INSERT INTO `sys_menu` VALUES (1, '系统管理', 0, 1, 'system', NULL, '', 1, 0, 'M', '0', '0', '', 'system', 'admin', '2024-05-23 15:08:18', '', NULL, '系统管理目录');
INSERT INTO `sys_menu` VALUES (2, '系统监控', 0, 13, 'monitor', NULL, '', 1, 0, 'M', '0', '0', '', 'monitor', 'admin', '2024-05-23 15:08:18', 'admin', '2024-09-22 13:18:26', '系统监控目录');
INSERT INTO `sys_menu` VALUES (3, '系统工具', 0, 10, 'tool', NULL, '', 1, 0, 'M', '0', '0', '', 'tool', 'admin', '2024-05-23 15:08:18', 'admin', '2024-09-22 13:18:45', '系统工具目录');
INSERT INTO `sys_menu` VALUES (4, '若依官网', 0, 25, 'http://muyu.vip', NULL, '', 0, 0, 'M', '0', '0', '', 'guide', 'admin', '2024-05-23 15:08:18', 'admin', '2024-09-22 07:48:36', '若依官网地址');
INSERT INTO `sys_menu` VALUES (100, '用户管理', 1, 1, 'user', 'system/user/index', '', 1, 0, 'C', '0', '0', 'system:user:list', 'user', 'admin', '2024-05-23 15:08:18', '', NULL, '用户管理菜单');
INSERT INTO `sys_menu` VALUES (101, '角色管理', 1, 2, 'role', 'system/role/index', '', 1, 0, 'C', '0', '0', 'system:role:list', 'peoples', 'admin', '2024-05-23 15:08:18', '', NULL, '角色管理菜单');
INSERT INTO `sys_menu` VALUES (102, '菜单管理', 1, 3, 'menu', 'system/menu/index', '', 1, 0, 'C', '0', '0', 'system:menu:list', 'tree-table', 'admin', '2024-05-23 15:08:18', '', NULL, '菜单管理菜单');
INSERT INTO `sys_menu` VALUES (103, '部门管理', 1, 4, 'dept', 'system/dept/index', '', 1, 0, 'C', '0', '0', 'system:dept:list', 'tree', 'admin', '2024-05-23 15:08:18', '', NULL, '部门管理菜单');
INSERT INTO `sys_menu` VALUES (104, '岗位管理', 1, 5, 'post', 'system/post/index', '', 1, 0, 'C', '0', '0', 'system:post:list', 'post', 'admin', '2024-05-23 15:08:18', '', NULL, '岗位管理菜单');
INSERT INTO `sys_menu` VALUES (105, '字典管理', 1, 6, 'dict', 'system/dict/index', '', 1, 0, 'C', '0', '0', 'system:dict:list', 'dict', 'admin', '2024-05-23 15:08:18', '', NULL, '字典管理菜单');
INSERT INTO `sys_menu` VALUES (106, '参数设置', 1, 7, 'config', 'system/config/index', '', 1, 0, 'C', '0', '0', 'system:config:list', 'edit', 'admin', '2024-05-23 15:08:18', '', NULL, '参数设置菜单');
INSERT INTO `sys_menu` VALUES (107, '通知公告', 1, 8, 'notice', 'system/notice/index', '', 1, 0, 'C', '0', '0', 'system:notice:list', 'message', 'admin', '2024-05-23 15:08:18', '', NULL, '通知公告菜单');
INSERT INTO `sys_menu` VALUES (108, '日志管理', 1, 9, 'log', '', '', 1, 0, 'M', '0', '0', '', 'log', 'admin', '2024-05-23 15:08:18', '', NULL, '日志管理菜单');
INSERT INTO `sys_menu` VALUES (109, '在线用户', 2, 1, 'online', 'monitor/online/index', '', 1, 0, 'C', '0', '0', 'monitor:online:list', 'online', 'admin', '2024-05-23 15:08:18', '', NULL, '在线用户菜单');
INSERT INTO `sys_menu` VALUES (110, '定时任务', 2, 2, 'http://admin.xxl.muyu.icu/toLogin', 'monitor/job/index', '', 0, 0, 'M', '0', '0', 'monitor:job:list', 'job', 'admin', '2024-05-23 15:08:18', 'admin', '2024-07-15 12:50:44', '定时任务菜单');
INSERT INTO `sys_menu` VALUES (111, 'Sentinel控制台', 2, 3, 'http://localhost:8718', '', '', 0, 0, 'C', '0', '0', 'monitor:sentinel:list', 'sentinel', 'admin', '2024-05-23 15:08:18', '', NULL, '流量控制菜单');
INSERT INTO `sys_menu` VALUES (112, 'Nacos控制台', 2, 4, 'http://localhost:8848/nacos', '', '', 0, 0, 'C', '0', '0', 'monitor:nacos:list', 'nacos', 'admin', '2024-05-23 15:08:18', '', NULL, '服务治理菜单');
INSERT INTO `sys_menu` VALUES (113, 'Admin控制台', 2, 5, 'http://localhost:9100/login', '', '', 0, 0, 'C', '0', '0', 'monitor:server:list', 'server', 'admin', '2024-05-23 15:08:18', '', NULL, '服务监控菜单');
INSERT INTO `sys_menu` VALUES (114, '表单构建', 3, 1, 'build', 'tool/build/index', '', 1, 0, 'C', '0', '0', 'tool:build:list', 'build', 'admin', '2024-05-23 15:08:18', '', NULL, '表单构建菜单');
INSERT INTO `sys_menu` VALUES (115, '代码生成', 3, 2, 'gen', 'tool/gen/index', '', 1, 0, 'C', '0', '0', 'tool:gen:list', 'code', 'admin', '2024-05-23 15:08:18', '', NULL, '代码生成菜单');
INSERT INTO `sys_menu` VALUES (116, '系统接口', 3, 3, 'http://localhost:8080/doc.html', '', '', 0, 0, 'C', '0', '0', 'tool:swagger:list', 'swagger', 'admin', '2024-05-23 15:08:18', '', NULL, '系统接口菜单');
INSERT INTO `sys_menu` VALUES (500, '操作日志', 108, 1, 'operlog', 'system/operlog/index', '', 1, 0, 'C', '0', '0', 'system:operlog:list', 'form', 'admin', '2024-05-23 15:08:18', '', NULL, '操作日志菜单');
INSERT INTO `sys_menu` VALUES (501, '登录日志', 108, 2, 'logininfor', 'system/logininfor/index', '', 1, 0, 'C', '0', '0', 'system:logininfor:list', 'logininfor', 'admin', '2024-05-23 15:08:18', '', NULL, '登录日志菜单');
INSERT INTO `sys_menu` VALUES (1000, '用户查询', 100, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:user:query', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1001, '用户新增', 100, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:user:add', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1002, '用户修改', 100, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:user:edit', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1003, '用户删除', 100, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:user:remove', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1004, '用户导出', 100, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:user:export', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1005, '用户导入', 100, 6, '', '', '', 1, 0, 'F', '0', '0', 'system:user:import', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1006, '重置密码', 100, 7, '', '', '', 1, 0, 'F', '0', '0', 'system:user:resetPwd', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1007, '角色查询', 101, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:role:query', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1008, '角色新增', 101, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:role:add', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1009, '角色修改', 101, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:role:edit', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1010, '角色删除', 101, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:role:remove', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1011, '角色导出', 101, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:role:export', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1012, '菜单查询', 102, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:query', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1013, '菜单新增', 102, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:add', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1014, '菜单修改', 102, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:edit', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1015, '菜单删除', 102, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:menu:remove', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1016, '部门查询', 103, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:query', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1017, '部门新增', 103, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:add', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1018, '部门修改', 103, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:edit', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1019, '部门删除', 103, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:dept:remove', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1020, '岗位查询', 104, 1, '', '', '', 1, 0, 'F', '0', '0', 'system:post:query', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1021, '岗位新增', 104, 2, '', '', '', 1, 0, 'F', '0', '0', 'system:post:add', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1022, '岗位修改', 104, 3, '', '', '', 1, 0, 'F', '0', '0', 'system:post:edit', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1023, '岗位删除', 104, 4, '', '', '', 1, 0, 'F', '0', '0', 'system:post:remove', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1024, '岗位导出', 104, 5, '', '', '', 1, 0, 'F', '0', '0', 'system:post:export', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1025, '字典查询', 105, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:query', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1026, '字典新增', 105, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:add', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1027, '字典修改', 105, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:edit', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1028, '字典删除', 105, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:remove', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1029, '字典导出', 105, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:dict:export', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1030, '参数查询', 106, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:query', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1031, '参数新增', 106, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:add', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1032, '参数修改', 106, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:edit', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1033, '参数删除', 106, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:remove', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1034, '参数导出', 106, 5, '#', '', '', 1, 0, 'F', '0', '0', 'system:config:export', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1035, '公告查询', 107, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:query', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1036, '公告新增', 107, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:add', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1037, '公告修改', 107, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:edit', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1038, '公告删除', 107, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:notice:remove', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1039, '操作查询', 500, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:operlog:query', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1040, '操作删除', 500, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:operlog:remove', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1041, '日志导出', 500, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:operlog:export', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1042, '登录查询', 501, 1, '#', '', '', 1, 0, 'F', '0', '0', 'system:logininfor:query', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1043, '登录删除', 501, 2, '#', '', '', 1, 0, 'F', '0', '0', 'system:logininfor:remove', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1044, '日志导出', 501, 3, '#', '', '', 1, 0, 'F', '0', '0', 'system:logininfor:export', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1045, '账户解锁', 501, 4, '#', '', '', 1, 0, 'F', '0', '0', 'system:logininfor:unlock', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1046, '在线查询', 109, 1, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:query', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1047, '批量强退', 109, 2, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:batchLogout', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1048, '单条强退', 109, 3, '#', '', '', 1, 0, 'F', '0', '0', 'monitor:online:forceLogout', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1055, '生成查询', 115, 1, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:query', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1056, '生成修改', 115, 2, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:edit', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1057, '生成删除', 115, 3, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:remove', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1058, '导入代码', 115, 2, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:import', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1059, '预览代码', 115, 4, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:preview', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (1060, '生成代码', 115, 5, '#', '', '', 1, 0, 'F', '0', '0', 'tool:gen:code', '#', 'admin', '2024-05-23 15:08:18', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2000, '故障码管理', 0, 5, 'fault', NULL, NULL, 1, 0, 'M', '0', '0', '', 'bug', 'admin', '2024-09-17 12:39:06', 'admin', '2024-09-17 12:41:15', '');
INSERT INTO `sys_menu` VALUES (2001, '车辆故障码', 2000, 1, 'faultcode', 'fault/faultcode/index', NULL, 1, 1, 'C', '0', '0', NULL, 'skill', 'admin', '2024-09-17 12:41:02', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2002, '故障日志', 2000, 2, 'faultlog', 'fault/faultlog/index', NULL, 1, 1, 'C', '0', '0', '', 'education', 'admin', '2024-09-20 12:21:02', 'admin', '2024-09-20 12:21:10', '');
INSERT INTO `sys_menu` VALUES (2009, '预警日志', 2021, 2, 'logs', 'platform/logs/index', NULL, 1, 0, 'C', '0', '0', 'warn:logs:list', 'log', 'admin', '2024-09-22 02:55:01', 'admin', '2024-09-22 03:28:33', '预警日志菜单');
INSERT INTO `sys_menu` VALUES (2010, '预警日志查询', 2009, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'platform:logs:query', '#', 'admin', '2024-09-22 02:55:01', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2011, '预警日志新增', 2009, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'platform:logs:add', '#', 'admin', '2024-09-22 02:55:01', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2012, '预警日志修改', 2009, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'platform:logs:edit', '#', 'admin', '2024-09-22 02:55:01', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2013, '预警日志删除', 2009, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'platform:logs:remove', '#', 'admin', '2024-09-22 02:55:01', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2014, '预警日志导出', 2009, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'platform:logs:export', '#', 'admin', '2024-09-22 02:55:01', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2015, '预警策略', 2021, 1, 'strategy', 'platform/strategy/index', NULL, 1, 0, 'C', '0', '0', 'warn:strategy:list', 'client', 'admin', '2024-09-22 02:55:06', 'admin', '2024-09-22 03:27:34', '预警策略菜单');
INSERT INTO `sys_menu` VALUES (2016, '预警策略查询', 2015, 1, '#', '', NULL, 1, 0, 'F', '0', '0', 'platform:strategy:query', '#', 'admin', '2024-09-22 02:55:06', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2017, '预警策略新增', 2015, 2, '#', '', NULL, 1, 0, 'F', '0', '0', 'platform:strategy:add', '#', 'admin', '2024-09-22 02:55:06', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2018, '预警策略修改', 2015, 3, '#', '', NULL, 1, 0, 'F', '0', '0', 'platform:strategy:edit', '#', 'admin', '2024-09-22 02:55:06', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2019, '预警策略删除', 2015, 4, '#', '', NULL, 1, 0, 'F', '0', '0', 'platform:strategy:remove', '#', 'admin', '2024-09-22 02:55:06', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2020, '预警策略导出', 2015, 5, '#', '', NULL, 1, 0, 'F', '0', '0', 'platform:strategy:export', '#', 'admin', '2024-09-22 02:55:06', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2021, '车辆预警', 0, 6, 'warn', NULL, NULL, 1, 0, 'M', '0', '0', NULL, '404', 'admin', '2024-09-22 02:56:57', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2022, '车辆管理', 0, 4, 'car', NULL, NULL, 1, 0, 'M', '0', '0', '', 'dashboard', 'admin', '2024-09-22 08:00:08', 'admin', '2024-09-22 11:43:25', '');
INSERT INTO `sys_menu` VALUES (2023, '企业车辆管理信息', 2022, 1, 'information', 'car/information/index', NULL, 1, 1, 'C', '0', '0', '', 'client', 'admin', '2024-09-22 08:05:02', 'admin', '2024-09-22 11:56:49', '');
INSERT INTO `sys_menu` VALUES (2025, '故障规则管理', 2000, 3, 'faultrule', 'fault/faultrule/index', NULL, 1, 1, 'C', '0', '0', NULL, 'edit', 'admin', '2024-09-22 09:48:32', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2026, '车辆报文管理', 2022, 2, 'message', 'car/message/index', NULL, 1, 1, 'C', '0', '0', '', 'date-range', 'admin', '2024-09-22 11:45:32', 'admin', '2024-09-22 11:56:38', '');
INSERT INTO `sys_menu` VALUES (2027, '车联主页', 0, 0, 'index', NULL, NULL, 1, 0, 'M', '0', '0', '', 'example', 'admin', '2024-09-22 13:15:28', 'admin', '2024-09-22 13:16:19', '');
INSERT INTO `sys_menu` VALUES (2028, '车管主页', 2022, 0, 'carhome', 'car/carhome/index', NULL, 1, 1, 'C', '1', '0', '', 'fullscreen', 'admin', '2024-09-23 14:44:30', 'admin', '2024-09-26 02:32:39', '');
INSERT INTO `sys_menu` VALUES (2029, '电子围栏', 0, 7, 'carFence', NULL, NULL, 1, 0, 'M', '0', '0', NULL, 'chart', 'admin', '2024-09-26 12:15:43', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2030, '围栏', 2029, 1, 'fence', 'carFence/fence/index', NULL, 1, 0, 'C', '0', '0', 'carFence:fence:index', 'rate', 'admin', '2024-09-26 12:18:09', 'admin', '2024-09-26 12:18:19', '');
INSERT INTO `sys_menu` VALUES (2031, '围栏组', 2029, 1, 'group', 'carFence/group/exe', NULL, 1, 0, 'C', '0', '0', 'carFence:group:exe', 'component', 'admin', '2024-09-26 12:26:13', '', NULL, '');
INSERT INTO `sys_menu` VALUES (2032, '企业基本信息', 2032, 1, 'firmmanage', 'firmoperations/firmmanage/index', NULL, 1, 1, 'C', '0', '0', NULL, 'tree-table', 'admin', '2024-09-29 16:19:09', '', NULL, '');
SET FOREIGN_KEY_CHECKS = 1;
-- ----------------------------
-- Records of sys_notice
-- ----------------------------
INSERT INTO `sys_notice` VALUES (1, '温馨提醒2018-07-01 若依新版本发布啦', '2', 0xE696B0E78988E69CACE58685E5AEB9, '0', 'admin', '2024-05-23 15:08:18', '', NULL, '管理员');
INSERT INTO `sys_notice` VALUES (2, '维护通知2018-07-01 若依系统凌晨维护', '1', 0xE7BBB4E68AA4E58685E5AEB9, '0', 'admin', '2024-05-23 15:08:18', '', NULL, '管理员');
SET FOREIGN_KEY_CHECKS = 1;
-- ----------------------------
-- Records of sys_role
-- ----------------------------
INSERT INTO `sys_role` VALUES (1, '超级管理员', 'admin', 1, '1', 1, 1, '0', '0', 'admin', '2024-05-23 15:08:18', '', NULL, '超级管理员');
INSERT INTO `sys_role` VALUES (2, '普通角色', 'common', 2, '3', 1, 1, '0', '0', 'admin', '2024-05-23 15:08:18', 'admin', '2024-09-22 14:19:10', '普通角色');
SET FOREIGN_KEY_CHECKS = 1;
-- ----------------------------
-- Records of sys_user_post
-- ----------------------------
INSERT INTO `sys_user_post` VALUES (1, 1);
INSERT INTO `sys_user_post` VALUES (2, 2);
SET FOREIGN_KEY_CHECKS = 1;
-- ----------------------------
-- Records of sys_user_role
-- ----------------------------
INSERT INTO `sys_user_role` VALUES (1, 1);
SET FOREIGN_KEY_CHECKS = 1;