feat: 支持springboot3, 修复相关CVE漏洞

pull/40/head
Parker 4 months ago
parent 190d035f24
commit 25dbdcdb43

@ -3,7 +3,7 @@
<img width="500" src="https://gitee.com/hiparker/opsli-ui/raw/master/repository-images/logo.png"/>
<br/> <br/>
[![AUR](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg)](https://github.com/hiparker/opsli-boot/blob/master/LICENSE) [![spring-boot](https://img.shields.io/badge/spring--boot-2.5.6.RELEASE-green.svg)](http://spring.io/projects/spring-boot) [![mybatis-plus](https://img.shields.io/badge/mybatis--plus-3.5.2-blue.svg)](http://mp.baomidou.com) [![hutool](https://img.shields.io/badge/hutool-5.7.14-blue.svg)](https://www.hutool.cn) [![Stars](https://img.shields.io/github/stars/hiparker/opsli-boot?style=flat-square&label=Stars&logo=github)](https://github.com/hiparker/opsli-boot) [![Forks](https://img.shields.io/github/forks/hiparker/opsli-boot?style=flat-square&label=Forks&logo=github)](https://github.com/hiparker/opsli-boot)
[![AUR](https://img.shields.io/badge/license-Apache%20License%202.0-blue.svg)](https://github.com/hiparker/opsli-boot/blob/master/LICENSE) [![spring-boot](https://img.shields.io/badge/spring--boot-3.4.6.RELEASE-green.svg)](http://spring.io/projects/spring-boot) [![mybatis-plus](https://img.shields.io/badge/mybatis--plus-3.5.12-blue.svg)](http://mp.baomidou.com) [![hutool](https://img.shields.io/badge/hutool-5.8.38-blue.svg)](https://www.hutool.cn) [![Stars](https://img.shields.io/github/stars/hiparker/opsli-boot?style=flat-square&label=Stars&logo=github)](https://github.com/hiparker/opsli-boot) [![Forks](https://img.shields.io/github/forks/hiparker/opsli-boot?style=flat-square&label=Forks&logo=github)](https://github.com/hiparker/opsli-boot)
</div>
## 关于
@ -31,15 +31,15 @@
> 单机版
| 名称 | 版本号 | | 名称 | 版本号 |
| ---------------- |---| ---- | -------------- |--------------|
| jdk版本 | 1.8 | | springboot版本 | 2.7.10 |
| mybatis-plus版本 | 3.5.2 | | pagehelper版本 | 1.4.6 |
| druid版本 | 1.1.17 | | dynamic版本 | 2.5.4 |
| fastjson版本 | 1.2.83 | | transmittable版本 | 2.12.5 |
| ehcache版本 | 3.9.0 | | easyexcel版本 | 2.2.6 |
| captcha版本 | 1.6.2 | | guava版本 | 30.0-android |
| enjoy版本 | 4.9.06 | | hutool版本 | 5.7.14 |
| 名称 | 版本号 | | 名称 | 版本号 |
| ---------------- |--------| ---- |-----------------|------------|
| jdk版本 | 22 | | springboot版本 | 3.4.6 |
| mybatis-plus版本 | 3.5.12 | | pagehelper版本 | 2.1.0 |
| druid版本 | 1.2.25 | | dynamic版本 | 4.3.1 |
| fastjson版本 | 1.2.83 | | transmittable版本 | 2.14.5 |
| hutool版本 | 5.8.38 | | easyexcel版本 | 4.0.3 |
| captcha版本 | 1.6.2 | | guava版本 | 33.4.8-jre |
| enjoy版本 | 5.2.2 | | caffeine版本 | 3.1.8 |
## 在线演示
@ -241,18 +241,6 @@
│ │ │ │ │ ├── spring 加解密插件包 - Spring集成相关内容
│ │ │ │ │ └── strategy 加解密插件包 - 加解密策略 包含 对称、非对称等等
│ │ │ │ │
│ ├── opsli-plugins-ehcache Ehcache缓存插件 (二级缓存)
│ │ ├── src
│ │ │ ├── main
│ │ │ │ ├── java
│ │ │ │ │ └── org
│ │ │ │ │ └── opsli
│ │ │ │ │ └── plugins
│ │ │ │ │ └── cache
│ │ │ │ │ ├── conf Ehcache缓存插件 - 自动装配
│ │ │ │ │ ├── msg Ehcache缓存插件 - 信息
│ │ │ │ │ └── service Ehcache缓存插件 - 服务
│ │ │ │ │
│ ├── opsli-plugins-email 邮件插件包
│ │ ├── src
│ │ │ ├── main

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,7 +1,7 @@
FROM mysql:8.0.19
MAINTAINER opsli.com
LABEL version=V1.3.3
LABEL version=V2.1.4
LABEL description=OPSLI-快速开发平台
LABEL qqGroup=724850675
@ -11,4 +11,4 @@ ENV TZ=Asia/Shanghai
RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime \
&& echo $TZ > /etc/timezone
COPY ./opsli-boot.sql /docker-entrypoint-initdb.d
COPY ./opsli-boot.sql /docker-entrypoint-initdb.d

File diff suppressed because one or more lines are too long

@ -0,0 +1,14 @@
FROM mysql:8.0.19
MAINTAINER opsli.com
LABEL version=V2.2.0
LABEL description=OPSLI-快速开发平台
LABEL qqGroup=724850675
ENV TZ=Asia/Shanghai
# 切换为上海时区
RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime \
&& echo $TZ > /etc/timezone
COPY ./opsli-boot.sql /docker-entrypoint-initdb.d

File diff suppressed because one or more lines are too long

@ -0,0 +1 @@
springboot3 与 springboot2版本不兼容

@ -1,5 +1,8 @@
超级管理员 -
system Bb123456.
普通管理员账户 -
admin Aa123456.
演示账户 -
demo Aa123456.

@ -35,15 +35,13 @@
<!-- mybatis-plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
</dependency>
<!-- ———————————————————— 集成SwaggerApi - 开始 ———————————————————— -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<!--在引用时请在maven中央仓库搜索最新版本号-->
<version>${knife4j.version}</version>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
</dependency>
<!-- ———————————————————— 集成SwaggerApi - 结束 ———————————————————— -->

@ -3,7 +3,7 @@ package org.opsli.api;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-11-21 15:15
*/
public interface ApiFlag { }

@ -2,7 +2,7 @@ package org.opsli.api.base.encrypt;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.io.Serializable;
@ -10,7 +10,7 @@ import java.io.Serializable;
/**
*
*
* @author Parker
* @author Pace
* @date 2021-01-24 12:48
**/
@Data
@ -19,7 +19,7 @@ public class BaseEncrypt implements Serializable {
private static final long serialVersionUID = 1L;
/** 加密数据 */
@ApiModelProperty(value = "加密数据")
@Schema(description = "加密数据")
@ExcelIgnore
@TableField(exist = false)
private String encryptData;

@ -15,28 +15,30 @@
*/
package org.opsli.api.base.encrypt;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.opsli.common.annotation.validator.Validator;
import org.opsli.common.annotation.validator.ValidatorLenMax;
import org.opsli.common.enums.ValidatorType;
import java.io.Serial;
import java.io.Serializable;
/**
*
*
* @author Parker
* @author Pace
* @date 2021-01-24 12:48
**/
@Data
public class EncryptModel implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
@Validator({ValidatorType.IS_NOT_NULL})
@ValidatorLenMax(2000)
@ApiModelProperty(value = "加密数据")
@Schema(description = "加密数据")
private String encryptData;
}

@ -15,18 +15,18 @@
*/
package org.opsli.api.base.result;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import lombok.experimental.Accessors;
import org.opsli.common.base.msg.BaseMsg;
import java.io.Serial;
import java.io.Serializable;
/**
*
*
* @author Parker
* @author Pace
* @date 2021123015:31:41
*/
@Data
@ -34,34 +34,34 @@ import java.io.Serializable;
@Accessors(chain = true)
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "基础返回实体",
description="视图层返回Api对象 code:编号 msg:信息 timestamp:时间戳 data:数据")
@Schema(description = "基础返回实体 - 视图层返回Api对象 code:编号 msg:信息 timestamp:时间戳 data:数据")
public class ResultWrapper<T> implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
*
*/
@ApiModelProperty(name = "msg", dataType = "string", value = "响应信息")
@Schema(name = "msg", description = "响应信息")
private String msg;
/**
* 0-1
*/
@ApiModelProperty(name = "code", dataType = "int", value = "响应码")
@Schema(name = "code", description = "响应码")
private int code;
/**
*
*/
@ApiModelProperty(name = "data", dataType = "object", value = "数据内容")
@Schema(name = "data", description = "数据内容")
private T data;
/**
*
*/
@ApiModelProperty(name = "timestamp", dataType = "long", value = "时间戳")
@Schema(name = "timestamp", description = "时间戳")
private long timestamp;
@ -241,7 +241,7 @@ public class ResultWrapper<T> implements Serializable {
/**
*
*
* @author Parker
* @author Pace
* @date 2021123015:29:29
*/
@Getter

@ -16,22 +16,21 @@
package org.opsli.api.base.warpper;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.*;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.Version;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.apache.poi.ss.usermodel.FillPatternType;
import com.alibaba.excel.enums.poi.FillPatternTypeEnum;
import org.opsli.api.base.encrypt.BaseEncrypt;
import org.opsli.plugins.excel.annotation.ExcelInfo;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serial;
import java.io.Serializable;
import java.util.Date;
@ -46,7 +45,7 @@ import java.util.Date;
* Entity deleted WrapperModel
* WrapperModel
*
* @author Parker
* @author Pace
* @date 2019-05-11
*/
@Data
@ -55,29 +54,30 @@ import java.util.Date;
@ContentRowHeight(16)
@HeadRowHeight(21)
@HeadFontStyle(fontName = "Arial",color = 9,fontHeightInPoints = 10)
@HeadStyle(fillPatternType = FillPatternType.SOLID_FOREGROUND, fillForegroundColor = 23)
@HeadStyle(fillPatternType = FillPatternTypeEnum.SOLID_FOREGROUND, fillForegroundColor = 23)
@ColumnWidth(22)
public abstract class ApiWrapper extends BaseEncrypt implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** ID */
@TableId
@ApiModelProperty(value = "ID")
@Schema(description = "ID")
@ExcelIgnore
//@ExcelProperty(value = "ID", order = 1000)
//@ExcelInfo
private String id;
/** 创建人 */
@ApiModelProperty(value = "创建人")
@Schema(description = "创建人")
@ExcelIgnore
//@ExcelProperty(value = "创建人", order = 1001)
//@ExcelInfo
private String createBy;
/** 创建时间 */
@ApiModelProperty(value = "创建时间")
@Schema(description = "创建时间")
@ExcelIgnore
//@ExcelProperty(value = "创建时间", order = 1002)
//@ExcelInfo
@ -86,14 +86,14 @@ public abstract class ApiWrapper extends BaseEncrypt implements Serializable {
private Date createTime;
/** 更新人 */
@ApiModelProperty(value = "修改人")
@Schema(description = "修改人")
@ExcelIgnore
//@ExcelProperty(value = "修改人", order = 1003)
//@ExcelInfo
private String updateBy;
/** 更新时间 */
@ApiModelProperty(value = "修改时间")
@Schema(description = "修改时间")
@ExcelIgnore
//@ExcelProperty(value = "修改时间", order = 1004)
//@ExcelInfo
@ -102,7 +102,7 @@ public abstract class ApiWrapper extends BaseEncrypt implements Serializable {
private Date updateTime;
/** 乐观锁 版本 */
@ApiModelProperty(value = "版本")
@Schema(description = "版本")
@ExcelIgnore
@Version
private Integer version;

@ -18,8 +18,8 @@ package org.opsli.api.web.gentest.carinfo;
import org.opsli.api.base.result.ResultWrapper;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.opsli.api.wrapper.gentest.carinfo.TestCarModel;
@ -32,7 +32,7 @@ import org.opsli.api.wrapper.gentest.carinfo.TestCarModel;
*
*
*
* @author Parker
* @author Pace
* @date 2022-08-06 23:53:30
*/
public interface TestCarRestApi {
@ -126,4 +126,4 @@ public interface TestCarRestApi {
@PostMapping("/importExcel")
ResultWrapper<?> importExcel(MultipartHttpServletRequest request);
}
}

@ -18,8 +18,8 @@ package org.opsli.api.web.gentest.user;
import org.opsli.api.base.result.ResultWrapper;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.opsli.api.wrapper.gentest.user.TestUserModel;
@ -32,7 +32,7 @@ import org.opsli.api.wrapper.gentest.user.TestUserModel;
*
*
*
* @author Parker
* @author Pace
* @date 2020-11-22 12:12:05
*/
public interface TestUserRestApi {

@ -23,8 +23,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
/**
@ -35,7 +35,7 @@ import javax.servlet.http.HttpServletResponse;
*
*
*
* @author Parker
* @author Pace
* @date 2020-11-28 18:59:59
*/
public interface SysAreaRestApi {

@ -23,8 +23,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
/**
@ -35,7 +35,7 @@ import javax.servlet.http.HttpServletResponse;
*
*
*
* @author Parker
* @author Pace
* @date 2020-09-13 17:40
*/
public interface DictApi {

@ -23,8 +23,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.util.List;
@ -36,7 +36,7 @@ import java.util.List;
*
*
*
* @author Parker
* @author Pace
* @date 2020-09-13 17:40
*/
public interface DictDetailApi {

@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletRequest;
/**
@ -32,7 +32,7 @@ import javax.servlet.http.HttpServletRequest;
*
*
*
* @author Parker
* @author Pace
* @date 2020-09-13 17:40
*/
public interface LoginLogsApi {

@ -21,7 +21,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import javax.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletRequest;
/**
@ -32,7 +32,7 @@ import javax.servlet.http.HttpServletRequest;
*
*
*
* @author Parker
* @author Pace
* @date 2020-09-13 17:40
*/
public interface LogsApi {

@ -18,8 +18,8 @@ package org.opsli.api.web.system.logs;
import org.opsli.api.base.result.ResultWrapper;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.opsli.api.wrapper.system.logs.OperationLogModel;
@ -32,7 +32,7 @@ import org.opsli.api.wrapper.system.logs.OperationLogModel;
*
*
*
* @author Parker
* @author Pace
* @date 2022-07-26 19:21:57
*/
public interface OperationLogRestApi {

@ -24,8 +24,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.util.List;
@ -37,7 +37,7 @@ import java.util.List;
*
*
*
* @author Parker
* @author Pace
* @date 2020-09-13 17:40
*/
public interface MenuApi {

@ -20,8 +20,8 @@ package org.opsli.api.web.system.options;
import org.opsli.api.base.result.ResultWrapper;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.opsli.api.wrapper.system.options.OptionsModel;
@ -38,7 +38,7 @@ import java.util.Map;
*
*
*
* @author Parker
* @author Pace
* @date 2021-02-07 18:24:38
*/
public interface OptionsApi {

@ -18,8 +18,8 @@ package org.opsli.api.web.system.org;
import org.opsli.api.base.result.ResultWrapper;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.opsli.api.wrapper.system.org.SysOrgModel;
@ -32,7 +32,7 @@ import org.opsli.api.wrapper.system.org.SysOrgModel;
*
*
*
* @author Parker
* @author Pace
* @date 2020-11-28 18:59:59
*/
public interface SysOrgRestApi {

@ -20,8 +20,8 @@ import org.opsli.api.wrapper.system.role.RoleModel;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
/**
@ -32,7 +32,7 @@ import javax.servlet.http.HttpServletResponse;
*
*
*
* @author Parker
* @author Pace
* @date 2020-09-13 17:40
*/
public interface RoleApi {

@ -25,8 +25,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
/**
@ -37,7 +37,7 @@ import javax.servlet.http.HttpServletResponse;
*
*
*
* @author Parker
* @author Pace
* @date 2020-09-13 17:40
*/
public interface RoleMenuRefApi {

@ -20,8 +20,8 @@ import org.opsli.api.wrapper.system.tenant.TenantModel;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
/**
@ -32,7 +32,7 @@ import javax.servlet.http.HttpServletResponse;
*
*
*
* @author Parker
* @author Pace
* @date 2020-09-13 17:40
*/
public interface TenantApi {

@ -23,8 +23,8 @@ import org.opsli.api.wrapper.system.user.*;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.util.List;
@ -36,7 +36,7 @@ import java.util.List;
*
*
*
* @author Parker
* @author Pace
* @date 2020-09-13 17:40
*/
public interface UserApi {
@ -221,7 +221,7 @@ public interface UserApi {
* @return ResultWrapper
*/
@PostMapping("/updateSelf")
ResultWrapper<?> updateSelf(@RequestBody UserModel model);
ResultWrapper<?> updateSelf(@RequestBody UserSelfSaveModel model);
/**

@ -33,7 +33,7 @@ import java.util.List;
*
*
*
* @author Parker
* @author Pace
* @date 2020-09-13 17:40
*/
public interface UserOrgRefApi {

@ -35,7 +35,7 @@ import java.util.List;
*
*
*
* @author Parker
* @author Pace
* @date 2020-09-13 17:40
*/
public interface UserRoleRefApi {

@ -8,8 +8,8 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.util.List;
@ -21,7 +21,7 @@ import java.util.List;
*
*
*
* @author Parker
* @author Pace
* @date 2020-09-13 17:40
*/
public interface TestApi {

@ -20,8 +20,8 @@ import org.opsli.api.wrapper.test.TestModel;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
/**
@ -32,7 +32,7 @@ import javax.servlet.http.HttpServletResponse;
*
*
*
* @author Parker
* @author Pace
* @date 2020-09-13 17:40
*/
public interface TestRestApi {

@ -18,7 +18,7 @@ package org.opsli.api.wrapper.gentest.carinfo;
import java.math.BigDecimal;
import java.util.Date;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
@ -33,7 +33,7 @@ import org.springframework.format.annotation.DateTimeFormat;
/**
* Model
*
* @author Parker
* @author Pace
* @date 2022-08-06 23:53:30
*/
@Data
@ -41,29 +41,29 @@ import org.springframework.format.annotation.DateTimeFormat;
public class TestCarModel extends ApiWrapper {
/** 汽车名称 */
@ApiModelProperty(value = "汽车名称")
@Schema(description = "汽车名称")
@ExcelProperty(value = "汽车名称", order = 1)
@ExcelInfo
@Validator({
ValidatorType.IS_GENERAL_WITH_CHINESE,
ValidatorType.IS_GENERAL_WITH_CHINESE,
ValidatorType.IS_NOT_NULL
})
@ValidatorLenMax(20)
private String carName;
/** 汽车类型 */
@ApiModelProperty(value = "汽车类型")
@Schema(description = "汽车类型")
@ExcelProperty(value = "汽车类型", order = 2)
@ExcelInfo
@Validator({
ValidatorType.IS_GENERAL_WITH_CHINESE,
ValidatorType.IS_GENERAL_WITH_CHINESE,
ValidatorType.IS_NOT_NULL
})
@ValidatorLenMax(20)
private String carType;
/** 汽车品牌 */
@ApiModelProperty(value = "汽车品牌")
@Schema(description = "汽车品牌")
@ExcelProperty(value = "汽车品牌", order = 3)
@ExcelInfo
@Validator({
@ -73,7 +73,7 @@ public class TestCarModel extends ApiWrapper {
private String carBrand;
/** 生产日期 */
@ApiModelProperty(value = "生产日期")
@Schema(description = "生产日期")
@ExcelProperty(value = "生产日期", order = 4)
@ExcelInfo
@Validator({
@ -84,7 +84,7 @@ public class TestCarModel extends ApiWrapper {
private Date produceData;
/** 是否启用 */
@ApiModelProperty(value = "是否启用")
@Schema(description = "是否启用")
@ExcelProperty(value = "是否启用", order = 5)
@ExcelInfo( dictType = "no_yes" )
@Validator({
@ -95,4 +95,4 @@ public class TestCarModel extends ApiWrapper {
}
}

@ -17,7 +17,7 @@ package org.opsli.api.wrapper.gentest.user;
import java.util.Date;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
@ -32,7 +32,7 @@ import org.springframework.format.annotation.DateTimeFormat;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-11-22 12:12:05
*/
@Data
@ -40,7 +40,7 @@ import org.springframework.format.annotation.DateTimeFormat;
public class TestUserModel extends ApiWrapper {
/** 名称 */
@ApiModelProperty(value = "名称")
@Schema(description = "名称")
@ExcelProperty(value = "名称", order = 1)
@ExcelInfo
@Validator({ValidatorType.IS_GENERAL_WITH_CHINESE})
@ -48,7 +48,7 @@ public class TestUserModel extends ApiWrapper {
private String name;
/** 金钱 */
@ApiModelProperty(value = "金钱")
@Schema(description = "金钱")
@ExcelProperty(value = "金钱", order = 2)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_MONEY})
@ -56,7 +56,7 @@ public class TestUserModel extends ApiWrapper {
private Double money;
/** 年龄 */
@ApiModelProperty(value = "年龄")
@Schema(description = "年龄")
@ExcelProperty(value = "年龄", order = 3)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_INTEGER})
@ -64,7 +64,7 @@ public class TestUserModel extends ApiWrapper {
private Integer age;
/** 生日 */
@ApiModelProperty(value = "生日")
@Schema(description = "生日")
@ExcelProperty(value = "生日", order = 4)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, })
@ -73,7 +73,7 @@ public class TestUserModel extends ApiWrapper {
private Date birth;
/** 是否启用 */
@ApiModelProperty(value = "是否启用")
@Schema(description = "是否启用")
@ExcelProperty(value = "是否启用", order = 5)
@ExcelInfo( dictType = "no_yes" )
@Validator({ValidatorType.IS_NOT_NULL, })

@ -16,7 +16,7 @@
package org.opsli.api.wrapper.system.area;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
@ -28,7 +28,7 @@ import org.opsli.plugins.excel.annotation.ExcelInfo;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-11-28 18:59:59
*/
@Data
@ -36,14 +36,14 @@ import org.opsli.plugins.excel.annotation.ExcelInfo;
public class SysAreaModel extends ApiWrapper {
/** 父级主键 */
@ApiModelProperty(value = "父级主键")
@Schema(description = "父级主键")
@ExcelProperty(value = "父级主键", order = 1)
@ExcelInfo
@ValidatorLenMax(19)
private String parentId;
/** 地域编号 */
@ApiModelProperty(value = "地域编号")
@Schema(description = "地域编号")
@ExcelProperty(value = "地域编号", order = 2)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_INTEGER})
@ -51,7 +51,7 @@ public class SysAreaModel extends ApiWrapper {
private String areaCode;
/** 地域名称 */
@ApiModelProperty(value = "地域名称")
@Schema(description = "地域名称")
@ExcelProperty(value = "地域名称", order = 3)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL_WITH_CHINESE})

@ -17,7 +17,7 @@ package org.opsli.api.wrapper.system.dict;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
@ -29,7 +29,7 @@ import org.opsli.plugins.excel.annotation.ExcelInfo;
/**
* -
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@Data
@ -38,20 +38,20 @@ public class DictDetailModel extends ApiWrapper {
/** 字典ID */
@ApiModelProperty(value = "字典类型ID")
@Schema(description = "字典类型ID")
@ExcelIgnore
@Validator(ValidatorType.IS_NOT_NULL)
private String typeId;
/** 类型编号 - 冗余 */
@ApiModelProperty(value = "字典类型Code")
@Schema(description = "字典类型Code")
@ExcelIgnore
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL})
@ValidatorLenMax(120)
private String typeCode;
/** 字典名称 */
@ApiModelProperty(value = "字典名称")
@Schema(description = "字典名称")
@ExcelProperty(value = "字典名称", order = 1)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL_WITH_CHINESE})
@ -59,7 +59,7 @@ public class DictDetailModel extends ApiWrapper {
private String dictName;
/** 字典值 */
@ApiModelProperty(value = "字典值")
@Schema(description = "字典值")
@ExcelProperty(value = "字典值", order = 2)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL})
@ -67,7 +67,7 @@ public class DictDetailModel extends ApiWrapper {
private String dictValue;
/** 是否内置数据 0否 1是*/
@ApiModelProperty(value = "是否内置数据 0否 1是")
@Schema(description = "是否内置数据 0否 1是")
@ExcelProperty(value = "是否内置数据", order = 2)
@ExcelInfo(dictType = "no_yes")
@Validator({ValidatorType.IS_NOT_NULL})
@ -75,7 +75,7 @@ public class DictDetailModel extends ApiWrapper {
private String izLock;
/** 排序 */
@ApiModelProperty(value = "排序")
@Schema(description = "排序")
@ExcelProperty(value = "排序", order = 2)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_INTEGER})
@ -83,7 +83,7 @@ public class DictDetailModel extends ApiWrapper {
private Integer sortNo;
/** 备注 */
@ApiModelProperty(value = "备注")
@Schema(description = "备注")
@ExcelProperty(value = "备注", order = 2)
@ExcelInfo
@ValidatorLenMax(255)

@ -16,7 +16,7 @@
package org.opsli.api.wrapper.system.dict;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
@ -28,7 +28,7 @@ import org.opsli.plugins.excel.annotation.ExcelInfo;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@Data
@ -38,7 +38,7 @@ public class DictModel extends ApiWrapper {
/** 字典类型编号 */
@ApiModelProperty(value = "字典类型编号")
@Schema(description = "字典类型编号")
@ExcelProperty(value = "字典类型编号", order = 1)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL})
@ -46,7 +46,7 @@ public class DictModel extends ApiWrapper {
private String typeCode;
/** 字典类型名称 */
@ApiModelProperty(value = "字典类型名称")
@Schema(description = "字典类型名称")
@ExcelProperty(value = "字典类型名称", order = 2)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL_WITH_CHINESE})
@ -54,7 +54,7 @@ public class DictModel extends ApiWrapper {
private String typeName;
/** 是否内置数据 0否 1是*/
@ApiModelProperty(value = "是否内置数据 0否 1是")
@Schema(description = "是否内置数据 0否 1是")
@ExcelProperty(value = "是否内置数据", order = 3)
@ExcelInfo(dictType = "no_yes")
@Validator(ValidatorType.IS_NOT_NULL)
@ -62,7 +62,7 @@ public class DictModel extends ApiWrapper {
private String izLock;
/** 备注 */
@ApiModelProperty(value = "备注")
@Schema(description = "备注")
@ExcelProperty(value = "备注", order = 4)
@ExcelInfo
@ValidatorLenMax(255)

@ -21,7 +21,7 @@ import lombok.EqualsAndHashCode;
/**
* -
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@Data

@ -15,7 +15,7 @@
*/
package org.opsli.api.wrapper.system.logs;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
@ -23,7 +23,7 @@ import org.opsli.api.base.warpper.ApiWrapper;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@Data
@ -42,13 +42,13 @@ public class LoginLogsModel extends ApiWrapper {
/**
*
*/
@ApiModelProperty(value = "用户名称")
@Schema(description = "用户名称")
private String username;
/**
*
*/
@ApiModelProperty(value = "真实姓名")
@Schema(description = "真实姓名")
private String realName;
/**
@ -56,25 +56,25 @@ public class LoginLogsModel extends ApiWrapper {
* 1 :
* 2 :
*/
@ApiModelProperty(value = "日志类型")
@Schema(description = "日志类型")
private String type;
/**
* IP
*/
@ApiModelProperty(value = "操作IP地址")
@Schema(description = "操作IP地址")
private String remoteAddr;
/**
*
*/
@ApiModelProperty(value = "用户代理")
@Schema(description = "用户代理")
private String userAgent;
/**
*
*/
@ApiModelProperty(value = "登陆来源")
@Schema(description = "登陆来源")
private String loginFrom;
}

@ -16,7 +16,7 @@
package org.opsli.api.wrapper.system.logs;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
@ -24,7 +24,7 @@ import org.opsli.api.base.warpper.ApiWrapper;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@Data
@ -40,49 +40,49 @@ public class LogsModel extends ApiWrapper {
/**
*
*/
@ApiModelProperty(value = "租户ID")
@Schema(description = "租户ID")
private String tenantId;
/**
* ID xxx,xxx
*/
@ApiModelProperty(value = "组织ID集合")
@Schema(description = "组织ID集合")
private String orgIds;
/** 日志类型1接入日志2错误日志 */
@ApiModelProperty(value = "日志类型")
@Schema(description = "日志类型")
private String type;
/** 日志标题 */
@ApiModelProperty(value = "日志标题")
@Schema(description = "日志标题")
private String title;
/** 操作用户的IP地址 */
@ApiModelProperty(value = "操作用户的IP地址")
@Schema(description = "操作用户的IP地址")
private String remoteAddr;
/** 操作用户代理信息 */
@ApiModelProperty(value = "操作用户代理信息")
@Schema(description = "操作用户代理信息")
private String userAgent;
/** 执行时间 */
@ApiModelProperty(value = "执行时间")
@Schema(description = "执行时间")
private Long timeout;
/** 操作的URI */
@ApiModelProperty(value = "操作的URI")
@Schema(description = "操作的URI")
private String requestUri;
/** 操作的方式 */
@ApiModelProperty(value = "操作的方式")
@Schema(description = "操作的方式")
private String method;
/** 操作提交的数据 */
@ApiModelProperty(value = "操作提交的数据")
@Schema(description = "操作提交的数据")
private String params;
/** 异常信息 */
@ApiModelProperty(value = "异常信息")
@Schema(description = "异常信息")
private String exception;
}

@ -18,7 +18,7 @@ package org.opsli.api.wrapper.system.logs;
import java.math.BigDecimal;
import java.util.Date;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
@ -33,7 +33,7 @@ import org.springframework.format.annotation.DateTimeFormat;
/**
* Model
*
* @author Parker
* @author Pace
* @date 2022-07-26 19:21:57
*/
@Data
@ -44,84 +44,84 @@ public class OperationLogModel extends ApiWrapper {
private String tenantId;
/** 日志等级 */
@ApiModelProperty(value = "日志等级")
@Schema(description = "日志等级")
@ExcelProperty(value = "日志等级", order = 1)
@ExcelInfo( dictType = "log_level" )
@ValidatorLenMax(8)
private String level;
/** 被操作的系统模块 */
@ApiModelProperty(value = "被操作的系统模块")
@Schema(description = "被操作的系统模块")
@ExcelProperty(value = "被操作的系统模块", order = 2)
@ExcelInfo( dictType = "log_model_type" )
@ValidatorLenMax(20)
private String moduleId;
/** 方法名 */
@ApiModelProperty(value = "方法名")
@Schema(description = "方法名")
@ExcelProperty(value = "方法名", order = 3)
@ExcelInfo
@ValidatorLenMax(100)
private String method;
/** 参数 */
@ApiModelProperty(value = "参数")
@Schema(description = "参数")
@ExcelProperty(value = "参数", order = 4)
@ExcelInfo
@ValidatorLenMax(20000)
private String args;
/** 操作人id */
@ApiModelProperty(value = "操作人id")
@Schema(description = "操作人id")
@ExcelProperty(value = "操作人id", order = 5)
@ExcelInfo
@ValidatorLenMax(19)
private String userId;
/** 操作账号 */
@ApiModelProperty(value = "操作账号")
@Schema(description = "操作账号")
@ExcelProperty(value = "操作账号", order = 6)
@ExcelInfo
@ValidatorLenMax(32)
private String username;
/** 操作人真实名称 */
@ApiModelProperty(value = "操作人真实名称")
@Schema(description = "操作人真实名称")
@ExcelProperty(value = "操作人真实名称", order = 7)
@ExcelInfo
@ValidatorLenMax(50)
private String realName;
/** 日志描述 */
@ApiModelProperty(value = "日志描述")
@Schema(description = "日志描述")
@ExcelProperty(value = "日志描述", order = 8)
@ExcelInfo
@ValidatorLenMax(255)
private String description;
/** 操作类型 */
@ApiModelProperty(value = "操作类型")
@Schema(description = "操作类型")
@ExcelProperty(value = "操作类型", order = 9)
@ExcelInfo( dictType = "log_operation_type" )
@ValidatorLenMax(20)
private String operationType;
/** 方法运行时间 */
@ApiModelProperty(value = "方法运行时间")
@Schema(description = "方法运行时间")
@ExcelProperty(value = "方法运行时间", order = 10)
@ExcelInfo
@ValidatorLenMax(19)
private String runTime;
/** 方法返回值 */
@ApiModelProperty(value = "方法返回值")
@Schema(description = "方法返回值")
@ExcelProperty(value = "方法返回值", order = 11)
@ExcelInfo
@ValidatorLenMax(20000)
private String returnValue;
/** 日志请求类型 */
@ApiModelProperty(value = "日志请求类型")
@Schema(description = "日志请求类型")
@ExcelProperty(value = "日志请求类型", order = 12)
@ExcelInfo( dictType = "log_type" )
@ValidatorLenMax(8)

@ -16,50 +16,52 @@
package org.opsli.api.wrapper.system.menu;
import com.alibaba.excel.annotation.ExcelIgnore;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.common.annotation.validator.Validator;
import org.opsli.common.annotation.validator.ValidatorLenMax;
import org.opsli.common.enums.ValidatorType;
import java.io.Serial;
import java.io.Serializable;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class MenuFullModel implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** 上级菜单ID */
@ApiModelProperty(value = "上级菜单ID")
@Schema(description = "上级菜单ID")
@ExcelIgnore
@Validator({ValidatorType.IS_NOT_NULL})
@ValidatorLenMax(19)
private String parentId;
/** 菜单名称 */
@ApiModelProperty(value = "菜单名称")
@Schema(description = "菜单名称")
@ExcelIgnore
@Validator({ValidatorType.IS_NOT_NULL})
@ValidatorLenMax(100)
private String title;
/** 模块名 */
@ApiModelProperty(value = "模块名")
@Schema(description = "模块名")
@ExcelIgnore
@Validator({ValidatorType.IS_NOT_NULL})
@ValidatorLenMax(40)
private String moduleName;
/** 子模块名 */
@ApiModelProperty(value = "子模块名")
@Schema(description = "子模块名")
@ExcelIgnore
@ValidatorLenMax(40)
private String subModuleName;

@ -17,7 +17,7 @@ package org.opsli.api.wrapper.system.menu;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
@ -28,7 +28,7 @@ import org.opsli.common.enums.ValidatorType;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@Data
@ -36,81 +36,81 @@ import org.opsli.common.enums.ValidatorType;
public class MenuModel extends ApiWrapper {
/** 父级主键 */
@ApiModelProperty(value = "父级主键")
@Schema(description = "父级主键")
@ExcelIgnore
@ValidatorLenMax(20)
private String parentId;
/** 父级主键 ID集合 */
@ApiModelProperty(value = "父级主键")
@Schema(description = "父级主键")
@ExcelIgnore
private String parentIds;
/** 权限编号 */
@ApiModelProperty(value = "权限编号")
@Schema(description = "权限编号")
@ExcelIgnore
@Validator({ValidatorType.IS_GENERAL})
@ValidatorLenMax(50)
private String permissions;
/** 菜单名称 */
@ApiModelProperty(value = "名称")
@Schema(description = "名称")
@ExcelIgnore
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL_WITH_CHINESE})
@ValidatorLenMax(50)
private String menuName;
/** 图标 */
@ApiModelProperty(value = "图标")
@Schema(description = "图标")
@ExcelIgnore
@ValidatorLenMax(50)
private String icon;
/** 项目类型: 1-菜单 2-按钮 3-链接 */
@ApiModelProperty(value = "项目类型")
@Schema(description = "项目类型")
@ExcelIgnore
@Validator({ValidatorType.IS_NOT_NULL})
@ValidatorLenMax(20)
private String type;
/** url地址 */
@ApiModelProperty(value = "url地址")
@Schema(description = "url地址")
@ExcelIgnore
@ValidatorLenMax(200)
private String url;
/** 组件 - vue 对应组件 */
@ApiModelProperty(value = "组件")
@Schema(description = "组件")
@ExcelIgnore
@ValidatorLenMax(200)
private String component;
/** 重定向 */
@ApiModelProperty(value = "重定向")
@Schema(description = "重定向")
@ExcelIgnore
@ValidatorLenMax(200)
private String redirect;
/** 排序 */
@ApiModelProperty(value = "排序")
@Schema(description = "排序")
@ExcelIgnore
@Validator({ValidatorType.IS_NOT_NULL})
private Integer sortNo;
/** 是否隐藏 0为否 1为是 */
@ApiModelProperty(value = "是否隐藏")
@Schema(description = "是否隐藏")
@ExcelIgnore
@Validator({ValidatorType.IS_NOT_NULL})
private String hidden;
/** 是否总是显示 0为否 1为是 */
@ApiModelProperty(value = "是否隐藏")
@Schema(description = "是否隐藏")
@ExcelIgnore
@Validator({ValidatorType.IS_NOT_NULL})
private String alwaysShow;
/** 标签 */
@ApiModelProperty(value = "标签")
@Schema(description = "标签")
@ExcelIgnore
@Validator({ValidatorType.IS_NOT_NULL})
private String label;

@ -18,7 +18,7 @@ package org.opsli.api.wrapper.system.options;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
@ -31,7 +31,7 @@ import org.opsli.plugins.excel.annotation.ExcelInfo;
*
*
*
* @author Parker
* @author Pace
* @date 2021-02-07 18:24:38
*/
@Data
@ -41,7 +41,7 @@ public class OptionsModel extends ApiWrapper {
/** 参数编号 */
@ApiModelProperty(value = "参数编号")
@Schema(description = "参数编号")
@ExcelProperty(value = "参数编号", order = 1)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL})
@ -49,28 +49,28 @@ public class OptionsModel extends ApiWrapper {
private String optionCode;
/** 参数名称 */
@ApiModelProperty(value = "参数名称")
@Schema(description = "参数名称")
@ExcelProperty(value = "参数名称", order = 2)
@ExcelInfo
@ValidatorLenMax(200)
private String optionName;
/** 参数值 */
@ApiModelProperty(value = "参数值")
@Schema(description = "参数值")
@ExcelProperty(value = "参数值", order = 4)
@ExcelInfo
@ValidatorLenMax(10000)
private String optionValue;
/** 是否内置数据 0否 1是*/
@ApiModelProperty(value = "是否内置数据 0否 1是")
@Schema(description = "是否内置数据 0否 1是")
@ExcelProperty(value = "是否内置数据", order = 5)
@ExcelInfo(dictType = "no_yes")
@ValidatorLenMax(1)
private String izLock;
/** 备注 */
@ApiModelProperty(value = "备注")
@Schema(description = "备注")
@ExcelProperty(value = "备注", order = 6)
@ExcelInfo
@ValidatorLenMax(255)

@ -19,7 +19,7 @@ package org.opsli.api.wrapper.system.org;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
@ -31,7 +31,7 @@ import org.opsli.plugins.excel.annotation.ExcelInfo;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-11-28 18:59:59
*/
@Data
@ -40,25 +40,25 @@ public class SysOrgModel extends ApiWrapper {
/** 父级主键 */
@ApiModelProperty(value = "父级主键")
@Schema(description = "父级主键")
@ExcelProperty(value = "父级主键", order = 1)
@ExcelInfo
@ValidatorLenMax(19)
private String parentId;
/** 父级主键集合 xxx,xxx */
@ApiModelProperty(value = "父级主键集合")
@Schema(description = "父级主键集合")
@ExcelProperty(value = "父级主键集合", order = 2)
@ExcelInfo
private String parentIds;
/** 组织机构ID组 xxx,xxx */
@ApiModelProperty(value = "组织机构ID组")
@Schema(description = "组织机构ID组")
@JsonIgnore
private String orgIds;
/** 组织机构编号 */
@ApiModelProperty(value = "组织机构编号")
@Schema(description = "组织机构编号")
@ExcelProperty(value = "组织机构编号", order = 4)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL})
@ -66,7 +66,7 @@ public class SysOrgModel extends ApiWrapper {
private String orgCode;
/** 组织机构名称 */
@ApiModelProperty(value = "组织机构名称")
@Schema(description = "组织机构名称")
@ExcelProperty(value = "组织机构名称", order = 5)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL_WITH_CHINESE})
@ -74,21 +74,21 @@ public class SysOrgModel extends ApiWrapper {
private String orgName;
/** 排序 */
@ApiModelProperty(value = "排序")
@Schema(description = "排序")
@ExcelProperty(value = "排序", order = 6)
@ExcelInfo
@ValidatorLenMax(10)
private Integer sortNo;
/** 备注 */
@ApiModelProperty(value = "备注")
@Schema(description = "备注")
@ExcelProperty(value = "备注", order = 7)
@ExcelInfo
@ValidatorLenMax(255)
private String remark;
/** 多租户字段 */
@ApiModelProperty(value = "多租户ID")
@Schema(description = "多租户ID")
@ExcelIgnore
@ValidatorLenMax(20)
private String tenantId;

@ -16,7 +16,7 @@
package org.opsli.api.wrapper.system.role;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.common.annotation.validator.Validator;
@ -28,7 +28,7 @@ import java.io.Serializable;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@Data
@ -37,13 +37,13 @@ import java.io.Serializable;
public class RoleMenuRefModel implements Serializable {
/** 角色ID */
@ApiModelProperty(value = "角色ID")
@Schema(description = "角色ID")
@Validator({ValidatorType.IS_NOT_NULL})
@ValidatorLenMax(50)
private String roleId;
/** 权限数组 */
@ApiModelProperty(value = "权限数组")
@Schema(description = "权限数组")
private String[] permsIds;
}

@ -17,7 +17,7 @@ package org.opsli.api.wrapper.system.role;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
@ -37,7 +37,7 @@ import org.opsli.plugins.excel.annotation.ExcelInfo;
public class RoleModel extends ApiWrapper {
/** 角色编码 */
@ApiModelProperty(value = "角色编码")
@Schema(description = "角色编码")
@ExcelProperty(value = "角色编码", order = 1)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL})
@ -45,7 +45,7 @@ public class RoleModel extends ApiWrapper {
private String roleCode;
/** 角色名称 */
@ApiModelProperty(value = "角色编码")
@Schema(description = "角色编码")
@ExcelProperty(value = "角色编码", order = 2)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL_WITH_CHINESE})
@ -53,7 +53,7 @@ public class RoleModel extends ApiWrapper {
private String roleName;
/** 标签 */
@ApiModelProperty(value = "标签")
@Schema(description = "标签")
@ExcelProperty(value = "标签", order = 4)
@ExcelInfo(dictType = "menu_role_type")
@Validator({ValidatorType.IS_NOT_NULL})
@ -62,7 +62,7 @@ public class RoleModel extends ApiWrapper {
/** 授权数据范围 */
@ApiModelProperty(value = "授权数据范围")
@Schema(description = "授权数据范围")
@ExcelProperty(value = "授权数据范围", order = 5)
@ExcelInfo(dictType = "role_data_scope")
@Validator({ValidatorType.IS_NOT_NULL})
@ -70,7 +70,7 @@ public class RoleModel extends ApiWrapper {
private String dataScope;
/** 备注 */
@ApiModelProperty(value = "备注")
@Schema(description = "备注")
@ExcelProperty(value = "备注", order = 6)
@ExcelInfo
@ValidatorLenMax(255)
@ -78,7 +78,7 @@ public class RoleModel extends ApiWrapper {
/** 多租户字段 */
@ApiModelProperty(value = "多租户ID")
@Schema(description = "多租户ID")
@ExcelIgnore
@ValidatorLenMax(20)
private String tenantId;

@ -16,7 +16,7 @@
package org.opsli.api.wrapper.system.tenant;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
@ -28,7 +28,7 @@ import org.opsli.plugins.excel.annotation.ExcelInfo;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@Data
@ -37,7 +37,7 @@ public class TenantModel extends ApiWrapper {
/** 租户名称 */
@ApiModelProperty(value = "租户名称")
@Schema(description = "租户名称")
@ExcelProperty(value = "租户名称", order = 1)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL_WITH_CHINESE})
@ -45,7 +45,7 @@ public class TenantModel extends ApiWrapper {
private String tenantName;
/** 是否启用 0否 1是*/
@ApiModelProperty(value = "是否启用")
@Schema(description = "是否启用")
@ExcelProperty(value = "是否启用", order = 2)
@ExcelInfo(dictType = "no_yes")
@Validator({ValidatorType.IS_NOT_NULL})
@ -53,7 +53,7 @@ public class TenantModel extends ApiWrapper {
private String enable;
/** 备注 */
@ApiModelProperty(value = "备注")
@Schema(description = "备注")
@ExcelProperty(value = "备注", order = 3)
@ExcelInfo
@ValidatorLenMax(255)

@ -23,7 +23,7 @@ import org.opsli.common.enums.ValidatorType;
/**
*
*
* @author Parker
* @author Pace
* @date 2022-07-16 8:14 PM
**/
@Data

@ -17,7 +17,7 @@ package org.opsli.api.wrapper.system.user;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.common.annotation.validator.Validator;
@ -25,12 +25,13 @@ import org.opsli.common.annotation.validator.ValidatorLenMax;
import org.opsli.common.annotation.validator.ValidatorLenMin;
import org.opsli.common.enums.ValidatorType;
import java.io.Serial;
import java.io.Serializable;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@Data
@ -38,21 +39,22 @@ import java.io.Serializable;
@ExcelIgnoreUnannotated
public class ToUserPassword implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** User Id */
@ApiModelProperty(value = "用户Id")
@Schema(description = "用户Id")
private String userId;
/** 新密码 */
@ApiModelProperty(value = "新密码")
@Schema(description = "新密码")
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_SECURITY_PASSWORD})
@ValidatorLenMin(6)
@ValidatorLenMax(50)
private String newPassword;
/** 登录密码强度 前端不可改 */
@ApiModelProperty(value = "登录密码强度 前端不可改")
@Schema(description = "登录密码强度 前端不可改")
@ExcelIgnore
@ValidatorLenMin(1)
@ValidatorLenMax(1)

@ -23,7 +23,7 @@ import org.opsli.common.enums.ValidatorType;
/**
*
*
* @author Parker
* @author Pace
* @date 2022-07-16 8:14 PM
**/
@Data

@ -23,7 +23,7 @@ import org.opsli.common.enums.ValidatorType;
/**
*
*
* @author Parker
* @author Pace
* @date 2022-07-16 8:14 PM
**/
@Data

@ -16,7 +16,7 @@
package org.opsli.api.wrapper.system.user;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.common.annotation.validator.Validator;
@ -24,12 +24,13 @@ import org.opsli.common.annotation.validator.ValidatorLenMax;
import org.opsli.common.annotation.validator.ValidatorLenMin;
import org.opsli.common.enums.ValidatorType;
import java.io.Serial;
import java.io.Serializable;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@Data
@ -37,10 +38,11 @@ import java.io.Serializable;
@ExcelIgnoreUnannotated
public class UpdateUserPasswordByForgetModel implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** 新密码 */
@ApiModelProperty(value = "新密码")
@Schema(description = "新密码")
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_SECURITY_PASSWORD})
@ValidatorLenMin(6)
@ValidatorLenMax(50)

@ -15,7 +15,7 @@
*/
package org.opsli.api.wrapper.system.user;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.common.annotation.validator.Validator;
@ -24,14 +24,14 @@ import org.opsli.common.enums.ValidatorType;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class UserAvatarModel {
@ApiModelProperty(value = "图片地址")
@Schema(description = "图片地址")
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_URL})
private String imgUrl;

@ -18,7 +18,7 @@ package org.opsli.api.wrapper.system.user;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
@ -32,7 +32,7 @@ import java.util.List;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@Data
@ -42,83 +42,83 @@ public class UserInfo extends ApiWrapper {
/** 登录账户 */
@ApiModelProperty(value = "登录账户")
@Schema(description = "登录账户")
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL})
@ValidatorLenMax(32)
@ValidatorLenMin(5)
private String username;
/** 真实姓名 */
@ApiModelProperty(value = "真实姓名")
@Schema(description = "真实姓名")
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL_WITH_CHINESE})
@ValidatorLenMax(50)
private String realName;
/** 手机 */
@ApiModelProperty(value = "手机")
@Schema(description = "手机")
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_MOBILE})
private String mobile;
/** 邮箱 */
@ApiModelProperty(value = "邮箱")
@Schema(description = "邮箱")
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_EMAIL})
private String email;
/** 工号 */
@ApiModelProperty(value = "工号")
@Schema(description = "工号")
@Validator({ValidatorType.IS_GENERAL})
@ValidatorLenMax(32)
private String no;
/** 头像 */
@ApiModelProperty(value = "头像")
@Schema(description = "头像")
@ValidatorLenMax(255)
private String avatar;
/** 备注 */
@ApiModelProperty(value = "备注")
@Schema(description = "备注")
@ValidatorLenMax(255)
private String remark;
/** 签名 */
@ApiModelProperty(value = "签名")
@Schema(description = "签名")
@ValidatorLenMax(255)
private String sign;
/** 角色列表 */
@ApiModelProperty(value = "角色列表")
@Schema(description = "角色列表")
private List<String> roles;
/** 权限列表 */
@ApiModelProperty(value = "权限列表")
@Schema(description = "权限列表")
private List<String> perms;
/** 是否是超级管理员 */
@ApiModelProperty(value = "是否是超级管理员")
@Schema(description = "是否是超级管理员")
private boolean izSuperAdmin;
/** 密码强度 字典 password_level */
@ApiModelProperty(value = "密码强度")
@Schema(description = "密码强度")
private String passwordLevel;
/** 多租户字段 */
@ApiModelProperty(value = "多租户ID")
@Schema(description = "多租户ID")
private String tenantId;
/** 允许切换租户0 不允许 1 允许) */
@ApiModelProperty(value = "是否允许切换运营商")
@Schema(description = "是否允许切换运营商")
private String enableSwitchTenant;
/** 切换后的租户id*/
@ApiModelProperty(value = "切换后的租户id")
@Schema(description = "切换后的租户id")
private String switchTenantId;
/** 切换后的租户管理员*/
@ApiModelProperty(value = "切换后的租户管理员")
@Schema(description = "切换后的租户管理员")
private String switchTenantUserId;
/** 数据范围*/
@ApiModelProperty(value = "数据范围")
@Schema(description = "数据范围")
private String dataScope;
}

@ -18,7 +18,7 @@ package org.opsli.api.wrapper.system.user;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
@ -31,7 +31,7 @@ import org.opsli.plugins.excel.annotation.ExcelInfo;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@Data
@ -39,7 +39,7 @@ import org.opsli.plugins.excel.annotation.ExcelInfo;
public class UserModel extends ApiWrapper {
/** 登录账户 */
@ApiModelProperty(value = "登录账户")
@Schema(description = "登录账户")
@ExcelIgnore
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL})
@ValidatorLenMax(32)
@ -47,27 +47,27 @@ public class UserModel extends ApiWrapper {
private String username;
/** 登录密码 */
@ApiModelProperty(value = "登录密码")
@Schema(description = "登录密码")
@ExcelIgnore
@ValidatorLenMin(6)
@ValidatorLenMax(50)
private String password;
/** 登录密码强度 */
@ApiModelProperty(value = "登录密码强度")
@Schema(description = "登录密码强度")
@ExcelIgnore
@ValidatorLenMin(1)
@ValidatorLenMax(1)
private String passwordLevel;
/** 是否启用 */
@ApiModelProperty(value = "是否启用")
@Schema(description = "是否启用")
@ExcelIgnore
@ValidatorLenMax(1)
private String enable;
/** 真实姓名 */
@ApiModelProperty(value = "真实姓名")
@Schema(description = "真实姓名")
@ExcelProperty(value = "真实姓名", order = 1)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL_WITH_CHINESE})
@ -75,14 +75,14 @@ public class UserModel extends ApiWrapper {
private String realName;
/** 手机 */
@ApiModelProperty(value = "手机")
@Schema(description = "手机")
@ExcelProperty(value = "手机", order = 2)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_MOBILE})
private String mobile;
/** 邮箱 */
@ApiModelProperty(value = "邮箱")
@Schema(description = "邮箱")
@ExcelProperty(value = "邮箱", order = 3)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_EMAIL})
@ -90,7 +90,7 @@ public class UserModel extends ApiWrapper {
private String email;
/** 工号 */
@ApiModelProperty(value = "工号")
@Schema(description = "工号")
@ExcelProperty(value = "工号", order = 4)
@ExcelInfo
@Validator({ValidatorType.IS_GENERAL})
@ -98,26 +98,26 @@ public class UserModel extends ApiWrapper {
private String no;
/** 头像 */
@ApiModelProperty(value = "头像")
@Schema(description = "头像")
@ExcelIgnore
@ValidatorLenMax(255)
private String avatar;
/** 最后登陆IP */
@ApiModelProperty(value = "最后登陆IP")
@Schema(description = "最后登陆IP")
@ExcelIgnore
@Validator(ValidatorType.IS_IPV4)
private String loginIp;
/** 备注 */
@ApiModelProperty(value = "备注")
@Schema(description = "备注")
@ExcelProperty(value = "备注", order = 5)
@ExcelInfo
@ValidatorLenMax(255)
private String remark;
/** 签名 */
@ApiModelProperty(value = "签名")
@Schema(description = "签名")
@ExcelProperty(value = "签名", order = 5)
@ExcelInfo
@ValidatorLenMax(255)
@ -125,13 +125,13 @@ public class UserModel extends ApiWrapper {
/** 多租户字段 */
@ApiModelProperty(value = "多租户ID")
@Schema(description = "多租户ID")
@ExcelIgnore
@ValidatorLenMax(20)
private String tenantId;
/** 是否租户管理员 */
@ApiModelProperty(value = "是否租户管理员")
@Schema(description = "是否租户管理员")
@ExcelIgnore
@ValidatorLenMax(1)
private String izTenantAdmin;
@ -143,7 +143,7 @@ public class UserModel extends ApiWrapper {
private String izExistOrg;
/** 允许切换租户0 不允许 1 允许) */
@ApiModelProperty(value = "是否允许切换运营商")
@Schema(description = "是否允许切换运营商")
@ExcelIgnore
private String enableSwitchTenant;

@ -17,7 +17,7 @@ package org.opsli.api.wrapper.system.user;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.wrapper.system.org.SysOrgModel;
@ -31,7 +31,7 @@ import java.util.List;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@Data
@ -40,25 +40,25 @@ import java.util.List;
public class UserOrgRefModel implements Serializable {
/** ID */
@ApiModelProperty(value = "ID")
@Schema(description = "ID")
private String id;
/** 用户ID */
@ApiModelProperty(value = "用户ID")
@Schema(description = "用户ID")
@Validator({ValidatorType.IS_NOT_NULL})
@ValidatorLenMax(50)
private String userId;
/** 当前组织 */
@ApiModelProperty(value = "当前组织")
@Schema(description = "当前组织")
private String orgId;
/** 组织ID集合 xxx,xxx */
@ApiModelProperty(value = "组织ID集合")
@Schema(description = "组织ID集合")
private String orgIds;
/** 是否默认 */
@ApiModelProperty(value = "是否默认")
@Schema(description = "是否默认")
private String izDef;
}

@ -16,7 +16,7 @@
package org.opsli.api.wrapper.system.user;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.wrapper.system.org.SysOrgModel;
@ -30,7 +30,7 @@ import java.util.List;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@Data
@ -39,15 +39,15 @@ import java.util.List;
public class UserOrgRefWebModel implements Serializable {
/** 用户ID */
@ApiModelProperty(value = "用户ID")
@Schema(description = "用户ID")
@Validator({ValidatorType.IS_NOT_NULL})
@ValidatorLenMax(50)
private String userId;
@ApiModelProperty(value = "默认组织")
@Schema(description = "默认组织")
private SysOrgModel defModel;
@ApiModelProperty(value = "组织机构")
@Schema(description = "组织机构")
private List<SysOrgModel> orgModelList;
}

@ -17,7 +17,7 @@ package org.opsli.api.wrapper.system.user;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.common.annotation.validator.Validator;
@ -25,12 +25,13 @@ import org.opsli.common.annotation.validator.ValidatorLenMax;
import org.opsli.common.annotation.validator.ValidatorLenMin;
import org.opsli.common.enums.ValidatorType;
import java.io.Serial;
import java.io.Serializable;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@Data
@ -38,28 +39,29 @@ import java.io.Serializable;
@ExcelIgnoreUnannotated
public class UserPassword implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/** User Id */
@ApiModelProperty(value = "用户Id")
@Schema(description = "用户Id")
private String userId;
/** 旧密码 */
@ApiModelProperty(value = "旧密码")
@Schema(description = "旧密码")
@Validator({ValidatorType.IS_NOT_NULL})
@ValidatorLenMin(6)
@ValidatorLenMax(50)
private String oldPassword;
/** 新密码 */
@ApiModelProperty(value = "新密码")
@Schema(description = "新密码")
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_SECURITY_PASSWORD})
@ValidatorLenMin(6)
@ValidatorLenMax(50)
private String newPassword;
/** 登录密码强度 前端不可改 */
@ApiModelProperty(value = "登录密码强度 前端不可改")
@Schema(description = "登录密码强度 前端不可改")
@ExcelIgnore
@ValidatorLenMin(1)
@ValidatorLenMax(1)

@ -16,7 +16,7 @@
package org.opsli.api.wrapper.system.user;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import org.opsli.common.annotation.validator.Validator;
import org.opsli.common.annotation.validator.ValidatorLenMax;
@ -27,7 +27,7 @@ import java.io.Serializable;
/**
* -
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@Data
@ -39,17 +39,17 @@ import java.io.Serializable;
public class UserRoleRefModel implements Serializable {
/** 用户ID */
@ApiModelProperty(value = "用户ID")
@Schema(description = "用户ID")
@Validator({ValidatorType.IS_NOT_NULL})
@ValidatorLenMax(50)
private String userId;
/** 角色数组 */
@ApiModelProperty(value = "权限数组")
@Schema(description = "权限数组")
private String[] roleIds;
/** 默认角色ID */
@ApiModelProperty(value = "默认角色")
@Schema(description = "默认角色")
@Validator({ValidatorType.IS_NOT_NULL})
private String defRoleId;

@ -0,0 +1,157 @@
/**
* Copyright 2020 OPSLI https://www.opsli.com
* <p>
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
* the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
* License for the specific language governing permissions and limitations under
* the License.
*/
package org.opsli.api.wrapper.system.user;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
import org.opsli.common.annotation.validator.Validator;
import org.opsli.common.annotation.validator.ValidatorLenMax;
import org.opsli.common.annotation.validator.ValidatorLenMin;
import org.opsli.common.enums.ValidatorType;
import org.opsli.plugins.excel.annotation.ExcelInfo;
/**
*
*
* @author Pace
* @date 2020-09-16 17:33
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class UserSelfSaveModel extends ApiWrapper {
/** 登录账户 */
@Schema(description = "登录账户")
@ExcelIgnore
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL})
@ValidatorLenMax(32)
@ValidatorLenMin(4)
private String username;
/** 登录密码 */
@Schema(description = "登录密码")
@ExcelIgnore
@ValidatorLenMin(6)
@ValidatorLenMax(50)
private String password;
/** 登录密码强度 */
@Schema(description = "登录密码强度")
@ExcelIgnore
@ValidatorLenMin(1)
@ValidatorLenMax(1)
private String passwordLevel;
/** 是否启用 */
@Schema(description = "是否启用")
@ExcelIgnore
@ValidatorLenMax(1)
private String enable;
/** 真实姓名 */
@Schema(description = "真实姓名")
@ExcelProperty(value = "真实姓名", order = 1)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL_WITH_CHINESE})
@ValidatorLenMax(50)
private String realName;
/** 手机 */
@Schema(description = "手机")
@ExcelProperty(value = "手机", order = 2)
@ExcelInfo
private String mobile;
/** 邮箱 */
@Schema(description = "邮箱")
@ExcelProperty(value = "邮箱", order = 3)
@ExcelInfo
private String email;
/** 工号 */
@Schema(description = "工号")
@ExcelProperty(value = "工号", order = 4)
@ExcelInfo
@Validator({ValidatorType.IS_GENERAL})
@ValidatorLenMax(32)
private String no;
/** 头像 */
@Schema(description = "头像")
@ExcelIgnore
@ValidatorLenMax(255)
private String avatar;
/** 最后登陆IP */
@Schema(description = "最后登陆IP")
@ExcelIgnore
@Validator(ValidatorType.IS_IPV4)
private String loginIp;
/** 备注 */
@Schema(description = "备注")
@ExcelProperty(value = "备注", order = 5)
@ExcelInfo
@ValidatorLenMax(255)
private String remark;
/** 签名 */
@Schema(description = "签名")
@ExcelProperty(value = "签名", order = 5)
@ExcelInfo
@ValidatorLenMax(255)
private String sign;
/** 多租户字段 */
@Schema(description = "多租户ID")
@ExcelIgnore
@ValidatorLenMax(20)
private String tenantId;
/** 是否租户管理员 */
@Schema(description = "是否租户管理员")
@ExcelIgnore
@ValidatorLenMax(1)
private String izTenantAdmin;
/** 是否存在组织 */
@JsonIgnore
@ExcelIgnore
@ValidatorLenMax(1)
private String izExistOrg;
/** 允许切换租户0 不允许 1 允许) */
@Schema(description = "是否允许切换运营商")
@ExcelIgnore
private String enableSwitchTenant;
/** 切换后的租户id*/
@JsonIgnore
@ExcelIgnore
private String switchTenantId;
/** 切换后的租户管理员*/
@JsonIgnore
@ExcelIgnore
private String switchTenantUserId;
}

@ -17,7 +17,7 @@ package org.opsli.api.wrapper.system.user;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
@ -30,7 +30,7 @@ import org.opsli.plugins.excel.annotation.ExcelInfo;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@Data
@ -38,12 +38,12 @@ import org.opsli.plugins.excel.annotation.ExcelInfo;
public class UserWebModel extends ApiWrapper {
/** 角色名称 */
@ApiModelProperty(value = "角色名称")
@Schema(description = "角色名称")
@ExcelIgnore
private String roleNames;
/** 登录账户 */
@ApiModelProperty(value = "登录账户")
@Schema(description = "登录账户")
@ExcelIgnore
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL})
@ValidatorLenMax(32)
@ -51,28 +51,28 @@ public class UserWebModel extends ApiWrapper {
private String username;
/** 登录密码 */
@ApiModelProperty(value = "登录密码")
@Schema(description = "登录密码")
@ExcelIgnore
@ValidatorLenMin(6)
@ValidatorLenMax(50)
private String password;
/** 登录密码强度 */
@ApiModelProperty(value = "登录密码强度")
@Schema(description = "登录密码强度")
@ExcelIgnore
@ValidatorLenMin(1)
@ValidatorLenMax(1)
private String passwordLevel;
/** 启用状态 */
@ApiModelProperty(value = "启用状态")
@Schema(description = "启用状态")
@ExcelIgnore
@Validator({ValidatorType.IS_NOT_NULL})
@ValidatorLenMax(1)
private String enable;
/** 真实姓名 */
@ApiModelProperty(value = "真实姓名")
@Schema(description = "真实姓名")
@ExcelProperty(value = "真实姓名", order = 1)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_GENERAL_WITH_CHINESE})
@ -80,14 +80,14 @@ public class UserWebModel extends ApiWrapper {
private String realName;
/** 手机 */
@ApiModelProperty(value = "手机")
@Schema(description = "手机")
@ExcelProperty(value = "手机", order = 2)
@ExcelInfo
@Validator({ValidatorType.IS_MOBILE})
private String mobile;
/** 邮箱 */
@ApiModelProperty(value = "邮箱")
@Schema(description = "邮箱")
@ExcelProperty(value = "邮箱", order = 3)
@ExcelInfo
@Validator({ValidatorType.IS_EMAIL})
@ -95,7 +95,7 @@ public class UserWebModel extends ApiWrapper {
private String email;
/** 工号 */
@ApiModelProperty(value = "工号")
@Schema(description = "工号")
@ExcelProperty(value = "工号", order = 4)
@ExcelInfo
@Validator({ValidatorType.IS_GENERAL})
@ -103,26 +103,26 @@ public class UserWebModel extends ApiWrapper {
private String no;
/** 头像 */
@ApiModelProperty(value = "头像")
@Schema(description = "头像")
@ExcelIgnore
@ValidatorLenMax(255)
private String avatar;
/** 最后登陆IP */
@ApiModelProperty(value = "最后登陆IP")
@Schema(description = "最后登陆IP")
@ExcelIgnore
@Validator(ValidatorType.IS_IPV4)
private String loginIp;
/** 备注 */
@ApiModelProperty(value = "备注")
@Schema(description = "备注")
@ExcelProperty(value = "备注", order = 5)
@ExcelInfo
@ValidatorLenMax(255)
private String remark;
/** 签名 */
@ApiModelProperty(value = "签名")
@Schema(description = "签名")
@ExcelProperty(value = "签名", order = 5)
@ExcelInfo
@ValidatorLenMax(255)
@ -130,13 +130,13 @@ public class UserWebModel extends ApiWrapper {
/** 多租户字段 */
@ApiModelProperty(value = "多租户ID")
@Schema(description = "多租户ID")
@ExcelIgnore
@ValidatorLenMax(20)
private String tenantId;
/** 允许切换租户0 不允许 1 允许) */
@ApiModelProperty(value = "是否允许切换运营商")
@Schema(description = "是否允许切换运营商")
private String enableSwitchTenant;
}

@ -16,8 +16,7 @@
package org.opsli.api.wrapper.test;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
@ -27,25 +26,25 @@ import org.opsli.plugins.excel.annotation.ExcelInfo;
*
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:33
*/
@EqualsAndHashCode(callSuper = true)
@ApiModel(value="测试接口返回Model",description="测试接口返回Model")
@Schema(description="测试接口返回Model")
@Data
public class TestModel extends ApiWrapper {
@ApiModelProperty(value = "名称")
@Schema(description = "名称")
@ExcelProperty(value = "名称", order = 1)
@ExcelInfo
private String name;
@ApiModelProperty(value = "分类")
@Schema(description = "分类")
@ExcelProperty(value = "分类", order = 2)
@ExcelInfo(dictType = "test_type")
private String type;
@ApiModelProperty(value = "备注")
@Schema(description = "备注")
@ExcelProperty(value = "备注", order = 3)
@ExcelInfo
private String remark;

@ -17,7 +17,7 @@ package org.opsli.api.wrapper.testt;
import java.util.Date;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.opsli.api.base.warpper.ApiWrapper;
@ -31,7 +31,7 @@ import org.springframework.format.annotation.DateTimeFormat;
/**
* 3
*
* @author Parker
* @author Pace
* @date 2020-12-20 18:27:04
*/
@Data
@ -39,7 +39,7 @@ import org.springframework.format.annotation.DateTimeFormat;
public class Test3Model extends ApiWrapper {
/** 金钱 */
@ApiModelProperty(value = "金钱")
@Schema(description = "金钱")
@ExcelProperty(value = "金钱", order = 1)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_MONEY})
@ -47,7 +47,7 @@ public class Test3Model extends ApiWrapper {
private Double money;
/** 年龄 */
@ApiModelProperty(value = "年龄")
@Schema(description = "年龄")
@ExcelProperty(value = "年龄", order = 2)
@ExcelInfo
@Validator({ValidatorType.IS_NOT_NULL, ValidatorType.IS_INTEGER})
@ -55,7 +55,7 @@ public class Test3Model extends ApiWrapper {
private Integer age;
/** 名称 */
@ApiModelProperty(value = "名称")
@Schema(description = "名称")
@ExcelProperty(value = "名称", order = 3)
@ExcelInfo
@Validator({ValidatorType.IS_CHINESE})
@ -63,7 +63,7 @@ public class Test3Model extends ApiWrapper {
private String name;
/** 生日 */
@ApiModelProperty(value = "生日")
@Schema(description = "生日")
@ExcelProperty(value = "生日", order = 4)
@ExcelInfo
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@ -71,7 +71,7 @@ public class Test3Model extends ApiWrapper {
private Date birth;
/** 是否启用 */
@ApiModelProperty(value = "是否启用")
@Schema(description = "是否启用")
@ExcelProperty(value = "是否启用", order = 5)
@ExcelInfo( dictType = "no_yes" )
@ValidatorLenMax(1)

@ -24,7 +24,7 @@ import java.lang.annotation.*;
/**
* controller使
*
* @author Parker
* @author Pace
* @date 202151814:46:09
*/
@Target(ElementType.TYPE)

@ -5,7 +5,7 @@ import java.lang.annotation.*;
/**
* 1
*
* @author Parker
* @author Pace
* @date 2021102712:36:55
*/
@Target({ElementType.METHOD, ElementType.TYPE})
@ -15,4 +15,4 @@ public @interface ApiVersion {
int value() default 1;
}
}

@ -24,7 +24,7 @@ import java.lang.annotation.*;
/**
* Java
*
* @author Parker
* @author Pace
* @date 2020-12-31
*/
@Target(ElementType.METHOD)

@ -21,7 +21,7 @@ import java.lang.annotation.*;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-22 17:07
*/
@Target(ElementType.FIELD)

@ -21,7 +21,7 @@ import java.lang.annotation.*;
*
* key
*
* @author Parker
* @author Pace
* @date 2020-09-22 17:07
*/
@Target(ElementType.METHOD)

@ -31,7 +31,7 @@ import java.lang.annotation.*;
*
* 使
*
* @author Parker
* @author Pace
* @date 2020-09-16 16:36
*/
@Retention(RetentionPolicy.RUNTIME)

@ -28,7 +28,7 @@ import java.lang.annotation.*;
*
* 使
*
* @author Parker
* @author Pace
* @date 2020-09-16 16:36
*/
@Retention(RetentionPolicy.RUNTIME)

@ -28,7 +28,7 @@ import java.lang.annotation.*;
*
* 使
*
* @author Parker
* @author Pace
* @date 2020-09-16 16:36
*/
@Retention(RetentionPolicy.RUNTIME)

@ -22,7 +22,7 @@ import java.lang.annotation.*;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-22 17:07
*/
@Retention(RetentionPolicy.RUNTIME)

@ -22,7 +22,7 @@ import java.lang.annotation.*;
* -
*
*
* @author Parker
* @author Pace
* @date 2020-09-22 17:07
*/
@Retention(RetentionPolicy.RUNTIME)

@ -22,7 +22,7 @@ import java.lang.annotation.*;
* -
*
*
* @author Parker
* @author Pace
* @date 2020-09-22 17:07
*/
@Retention(RetentionPolicy.RUNTIME)

@ -30,7 +30,7 @@ import java.util.Map;
*
* @JsonProperty null
*
* @author Parker
* @author Pace
* @date 2020-09-22 17:07
*/
public class ResultDto<T> implements Serializable {

@ -26,7 +26,7 @@ import java.util.Map;
/**
* Web
*
* @author Parker
* @author Pace
* @date 2020-09-22 17:07
*/
public class ResultVoMap extends HashMap<String,Object> implements Serializable {

@ -19,7 +19,7 @@ package org.opsli.common.base.msg;
*
* opsli
*
* @author Parker
* @author Pace
* @date 2020-09-22 17:07
*/
public interface BaseMsg {

@ -18,7 +18,7 @@ package org.opsli.common.constants;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-22 17:07
*/
public final class CacheConstants {

@ -18,7 +18,7 @@ package org.opsli.common.constants;
/**
*
*
* @author Parker
* @author Pace
* @date 202131015:50:16
*/
public final class MenuConstants {

@ -20,7 +20,7 @@ package org.opsli.common.constants;
/**
* MyBatis
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:42
*/
public final class MyBatisConstants {

@ -18,7 +18,7 @@ package org.opsli.common.constants;
/**
* Order
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:42
*/
public final class OrderConstants {

@ -3,7 +3,7 @@ package org.opsli.common.constants;
/**
* Redis
* {}
* @author Parker
* @author Pace
* @date 2021/12/10 19:52
*/
public final class RedisConstants {

@ -3,7 +3,7 @@ package org.opsli.common.constants;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:42
*/
public final class SignConstants {

@ -18,7 +18,7 @@ package org.opsli.common.constants;
/**
* Token
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:42
*/
public final class TokenConstants {

@ -3,7 +3,7 @@ package org.opsli.common.constants;
/**
* Token
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:42
*/
public final class TokenTypeConstants {

@ -18,7 +18,7 @@ package org.opsli.common.constants;
/**
*
*
* @author Parker
* @author Pace
* @date 202131015:50:16
*/
public final class TreeConstants {

@ -19,7 +19,7 @@ package org.opsli.common.enums;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:42
*/
public enum AlertType {

@ -18,7 +18,7 @@ package org.opsli.common.enums;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:42
*/
public enum CacheType {
@ -57,4 +57,4 @@ public enum CacheType {
this.name = name;
this.desc = desc;
}
}
}

@ -19,7 +19,7 @@ package org.opsli.common.enums;
/**
* Excel
*
* @author Parker
* @author Pace
* @date 2020-09-16 17:42
*/
public enum ExcelOperate {

@ -19,7 +19,7 @@ package org.opsli.common.enums;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-17 23:40
*/
public enum LoginLimitRefuse {

@ -21,7 +21,7 @@ import cn.hutool.core.util.StrUtil;
/**
*
*
* @author Parker
* @author Pace
* @date 2022-07-21 2:07 PM
**/
public enum LoginModelType {

@ -18,7 +18,7 @@ package org.opsli.common.enums;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-17 23:40
*/
public enum OptionsType {

@ -20,7 +20,7 @@ import java.util.UUID;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-17 23:40
*/
public enum SystemInfo {

@ -19,7 +19,7 @@ package org.opsli.common.enums;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-17 23:40
*/
public enum ValidatorType {

@ -19,7 +19,7 @@ package org.opsli.common.exception;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-17 23:40
*/
public class EmptyException extends ServiceException{

@ -20,7 +20,7 @@ import org.opsli.common.base.msg.BaseMsg;
/**
* Jwt
*
* @author Parker
* @author Pace
* @date 2020-09-17 23:40
*/
public class JwtException extends ServiceException {

@ -20,7 +20,7 @@ import org.opsli.common.base.msg.BaseMsg;
/**
*
*
* @author Parker
* @author Pace
* @date 2020-09-13 19:41
*/
public class ServiceException extends RuntimeException{

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save