Commit 4b48fe37 by 284718418@qq.com

origin/develop覆盖master提交代码

parent 73a41526

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

This diff is collapsed. Click to expand it.
package cn.timer.api;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
import cn.hutool.core.net.NetUtil;
@MapperScan({"cn.timer.api.dao"}) // 扫描的mapper
@ComponentScan(basePackages = {"cn.timer.api"})
@SpringBootApplication
@EnableScheduling
@EnableTransactionManagement
public class Application {
public static void main(String[] args) {
final Integer port = 8089;
if (!NetUtil.isUsableLocalPort(port)) {
System.err.printf("端口%d被占用了,无法启动%n", port);
System.exit(1);
}
SpringApplication.run(Application.class, args);
}
@Autowired
private RestTemplateBuilder restTemplateBuilder;
@Bean
public RestTemplate getRestTemplate() {
return restTemplateBuilder.build();
}
private CorsConfiguration buildConfig() {
CorsConfiguration corsConfiguration = new CorsConfiguration();
corsConfiguration.addAllowedOrigin("*"); // 1允许任何域名使用
corsConfiguration.addAllowedHeader("*"); // 2允许任何头
corsConfiguration.addAllowedMethod("*"); // 3允许任何方法(post、get等)
corsConfiguration.setAllowCredentials(true);
return corsConfiguration;
}
@Bean
public CorsFilter corsFilter() {
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", buildConfig()); // 4
return new CorsFilter(source);
}
// @Override
// protected SpringApplicationBuilder configure(SpringApplicationBuilder
// builder) {
// return builder.sources(Application.class);
// }
}
package cn.timer.api.aspect;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.Signature;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.validation.BeanPropertyBindingResult;
import org.springframework.validation.ObjectError;
import com.alibaba.fastjson.JSONObject;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.lang.Console;
import cn.hutool.core.util.ClassUtil;
import cn.timer.api.aspect.lang.annotation.BindingResultCtrol;
import cn.timer.api.aspect.lang.bean.ValidationError;
import cn.timer.api.utils.ResultUtil;
/**
* 校验信息返回-(闲置)
*
* @author TZQ
*/
//@Aspect
//@Component
public class BindingResultAspect {
// @annotation配置织入点
// @Pointcut("@annotation(cn.timer.api.aspect.lang.annotation.BindingResultCtrol)")
// public void bindingResultPointCut()
// {
// }
// execution 配置织入点 -匹配 cn.timer.api.controller 包下的所有子包的类的方法
// @Pointcut("execution(* cn.timer.api.controller.spmk.*.*(..))")
public void clazzPointCut(){
}
//
// @Before("bindingResultPointCut()")
// public void doBefore(JoinPoint point) throws Throwable
// {
// //预留
// handleDataScope(point);
// }
// @Around("bindingResultPointCut() && args(..,bindingResult)")
// @Around("clazzPointCut()")
// public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable {
// Long startTime = System.currentTimeMillis();
// Object retVal;
// Object[] objs = joinPoint.getArgs();
// List<Object> listObj = CollectionUtil.toList(objs);
// BeanPropertyBindingResult optional = (BeanPropertyBindingResult)listObj.stream()
// .filter(p -> "BeanPropertyBindingResult".equals(ClassUtil.getClassName(p, true)))
// .findFirst()
// .orElse(null);
// if(optional != null && optional.hasErrors()){
// List<ObjectError> ls = optional.getAllErrors();
// List<ValidationError> listVe = new ArrayList<ValidationError>();
// ValidationError ve;
// for (ObjectError one : ls) {
//
// String fieldString = one.getCodes().length >= 1 ? one.getCodes()[0] : "";
// if (fieldString != null) {
// fieldString = fieldString.substring(fieldString.lastIndexOf(".") + 1);
// }
//
// ve = ValidationError.builder().field(fieldString).msg(one.getDefaultMessage()).build();
// listVe.add(ve);
//
// }
// retVal = ResultUtil.error(listVe);
// }else {
// retVal = joinPoint.proceed(joinPoint.getArgs());
// }
// Console.log("返回内容 {}: " ,JSONObject.toJSONString(retVal));
// Long endtime = System.currentTimeMillis();
// Console.log("执行耗时为{}:" ,endtime-startTime + "ms");
//
// return retVal;
// }
protected void handleDataScope(final JoinPoint joinPoint)
{
// 获得注解
BindingResultCtrol controllerDataScope = getAnnotationLog(joinPoint);
if (controllerDataScope == null)
return;
Console.log("title" + controllerDataScope.title());
Console.log("paramType" + controllerDataScope.paramType());
Object[] objs = joinPoint.getArgs();
List<Object> listObj = CollectionUtil.toList(objs);
BeanPropertyBindingResult optional = (BeanPropertyBindingResult)listObj.stream()
.filter(p -> "BeanPropertyBindingResult".equals(ClassUtil.getClassName(p, true)))
.findFirst()
.orElse(null);
if (optional != null && optional.hasErrors()) {
System.err.println("Optional: "+ optional);
}
}
/**
* 是否存在注解,如果存在就获取
*/
private BindingResultCtrol getAnnotationLog(JoinPoint joinPoint)
{
Signature signature = joinPoint.getSignature();
MethodSignature methodSignature = (MethodSignature) signature;
Method method = methodSignature.getMethod();
if (method != null)
{
return method.getAnnotation(BindingResultCtrol.class);
}
return null;
}
}
package cn.timer.api.aspect;
import com.jcraft.jsch.*;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.pool2.BasePooledObjectFactory;
import org.apache.commons.pool2.PooledObject;
import org.apache.commons.pool2.impl.DefaultPooledObject;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021/12/28
*/
@Slf4j
public class ChannelSftpFactory extends BasePooledObjectFactory<ChannelSftp> {
public ChannelSftpFactory(String host, Integer port, String protocol, String username, String password,
String sessionStrictHostKeyChecking, Integer sessionConnectTimeout, Integer channelConnectedTimeout) {
super();
this.host = host;
this.port = port;
this.protocol = protocol;
this.username = username;
this.password = password;
this.sessionStrictHostKeyChecking = sessionStrictHostKeyChecking;
this.sessionConnectTimeout = sessionConnectTimeout;
this.channelConnectedTimeout = channelConnectedTimeout;
}
// host
private String host;
// 端口
private Integer port;
// 协议
private String protocol;
// 用户
private String username;
// 密码
private String password;
private String sessionStrictHostKeyChecking;
// session超时时间
private Integer sessionConnectTimeout;
// channel超时时间
private Integer channelConnectedTimeout;
// 设置第一次登陆的时候提示,可选值:(ask | yes | no)
private static final String SESSION_CONFIG_STRICT_HOST_KEY_CHECKING = "StrictHostKeyChecking";
@Override
public ChannelSftp create() throws Exception {
return null;
}
@Override
public PooledObject<ChannelSftp> makeObject() throws Exception {
JSch jsch = new JSch();
//log.info("sftp尝试连接[" + username + "@" + host + "], use password[" + password + "]");
Session session = createSession(jsch, host, username, port);
session.setPassword(password);
session.connect(sessionConnectTimeout);
//log.info("sftp已连接到:{}", host);
Channel channel = session.openChannel(protocol);
channel.connect(channelConnectedTimeout);
//log.info("sftp创建channel:{}", host);
return new DefaultPooledObject<ChannelSftp>((ChannelSftp) channel);
}
@Override
public PooledObject<ChannelSftp> wrap(ChannelSftp channelSftp) {
return new DefaultPooledObject<>(channelSftp);
}
@Override
public void destroyObject(PooledObject<ChannelSftp> sftpPooled) throws Exception {
ChannelSftp sftp = sftpPooled.getObject();
try {
if (sftp != null) {
if (sftp.isConnected()) {
sftp.disconnect();
} else if (sftp.isClosed()) {
log.info("sftp连接已关闭");
}
if (null != sftp.getSession()) {
sftp.getSession().disconnect();
}
}
} catch (JSchException e) {
log.error("关闭sftp连接失败: {}", e);
e.printStackTrace();
throw new Exception("关闭sftp连接失败");
}
}
@Override
public boolean validateObject(PooledObject<ChannelSftp> sftpPooled) {
try {
ChannelSftp sftp = sftpPooled.getObject();
if (sftp != null) {
return (sftp.isConnected() && sftp.getSession().isConnected());
}
} catch (JSchException e) {
log.error("sftp连接校验失败: {}", e);
e.printStackTrace();
throw new RuntimeException("sftp连接校验失败");
}
return false;
}
/**
* 创建session
*
* @param jsch
* @param host
* @param username
* @param port
* @return
* @throws Exception
*/
private Session createSession(JSch jsch, String host, String username, Integer port) throws Exception {
Session session = null;
if (port <= 0) {
session = jsch.getSession(username, host);
} else {
session = jsch.getSession(username, host, port);
}
if (session == null) {
throw new RuntimeException(host + " sftp建立连接session is null");
}
session.setConfig(SESSION_CONFIG_STRICT_HOST_KEY_CHECKING, sessionStrictHostKeyChecking);
return session;
}
}
package cn.timer.api.aspect;
import java.lang.reflect.Method;
import java.util.Date;
import java.util.Map;
import java.util.TimerTask;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import cn.timer.api.utils.redis.RedisUtil;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.Signature;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.AfterThrowing;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.HandlerMapping;
import com.alibaba.fastjson.JSON;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import cn.timer.api.aspect.lang.annotation.Log;
import cn.timer.api.aspect.lang.enums.BusinessStatus;
import cn.timer.api.aspect.lang.enums.BusinessType;
import cn.timer.api.bean.qyzx.QyzxEmpLogin;
import cn.timer.api.bean.qyzx.QyzxOperLog;
import cn.timer.api.config.enums.HttpMethod;
import cn.timer.api.dao.yggl.YgglMainEmpMapper;
import cn.timer.api.manager.AsyncManager;
import cn.timer.api.manager.factory.AsyncFactory;
import cn.timer.api.utils.ServletUtils;
import cn.timer.api.utils.UserIp;
/**
* 操作日志记录处理
*
* @author Tang
*/
@Aspect
@Component
public class LogAspect
{
private static final Logger log = LoggerFactory.getLogger(LogAspect.class);
@Resource
private HttpSession session;
@Resource
private RedisUtil redisUtil;
// 配置织入点
@Pointcut("@annotation(cn.timer.api.aspect.lang.annotation.Log)")
public void logPointCut()
{
}
/**
* 处理完请求后执行
*
* @param joinPoint 切点
*/
@AfterReturning(pointcut = "logPointCut()", returning = "jsonResult")
public void doAfterReturning(JoinPoint joinPoint, Object jsonResult)
{
handleLog(joinPoint, null, jsonResult);
}
/**
* 拦截异常操作
*
* @param joinPoint 切点
* @param e 异常
*/
@AfterThrowing(value = "logPointCut()", throwing = "e")
public void doAfterThrowing(JoinPoint joinPoint, Exception e)
{
handleLog(joinPoint, e, null);
}
protected void handleLog(final JoinPoint joinPoint, final Exception e, Object jsonResult)
{
try
{
// 获得注解
Log controllerLog = getAnnotationLog(joinPoint);
if (controllerLog == null)
{
return;
}
// 获取当前的用户
// LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
QyzxEmpLogin eld = (QyzxEmpLogin)redisUtil.getAttribute(session.getId(),"ui");
// if (eld == null && controllerLog.businessType() == BusinessType.SEND_CODE) {
// Object[] objs = joinPoint.getArgs();
// if (objs != null && objs.length >= 1) {
// JSONObject jsonObject = JSONUtil.parseObj(objs[0]);
//
// String phone = jsonObject.getStr("phone");
// if (StrUtil.isNotBlank(phone)) {
// }
// System.out.println(JSONUtil.parseObj(jsonObject));
// }
// }
// *========数据库日志=========*//
QyzxOperLog operLog = new QyzxOperLog();
// 请求的地址
String ip = UserIp.getIpAddr(ServletUtils.getRequest());
operLog.setOperIp(ip);
// 返回参数
String jsonResultStr = JSON.toJSONString(jsonResult);
operLog.setJsonResult(jsonResultStr.length() <= 10000 ? jsonResultStr : "");
operLog.setOperUrl(ServletUtils.getRequest().getRequestURI());
if (eld != null)
{
operLog.setOrgCode(eld.getOrgId());
operLog.setEmpNum(eld.getId());
operLog.setOperName(eld.getYgglMainEmp().getName());
}
if (e != null)
{
operLog.setStatus(BusinessStatus.FAIL.ordinal());
operLog.setErrorMsg(StrUtil.sub(e.getMessage(), 0, 2000));
}else{
operLog.setStatus(BusinessStatus.SUCCESS.ordinal());
}
// 设置方法名称
String className = joinPoint.getTarget().getClass().getName();
String methodName = joinPoint.getSignature().getName();
operLog.setMethod(className + "." + methodName + "()");
// 设置请求方式
operLog.setRequestMethod(ServletUtils.getRequest().getMethod());
operLog.setOperTime(new Date());
// 处理设置注解上的参数
getControllerMethodDescription(joinPoint, controllerLog, operLog);
// 保存数据库
AsyncManager.me().execute(AsyncFactory.recordOper(operLog));
}
catch (Exception exp)
{
// 记录本地异常日志
log.error("==前置通知异常==");
log.error("异常信息:{}", exp.getMessage());
exp.printStackTrace();
}
}
/**
* 获取注解中对方法的描述信息 用于Controller层注解
*
* @param log 日志
* @param operLog 操作日志
* @throws Exception
*/
public void getControllerMethodDescription(JoinPoint joinPoint, Log log, QyzxOperLog operLog) throws Exception
{
// 设置action动作
operLog.setBusinessType(log.businessType().ordinal());
// 设置标题
operLog.setTitle(log.title());
// 设置操作人类别
operLog.setOperatorType(log.operatorType().ordinal());
// 是否需要保存request,参数和值
if (log.isSaveRequestData())
{
// 获取参数的信息,传入到数据库中。
setRequestValue(joinPoint, operLog);
}
}
/**
* 获取请求的参数,放到log中
*
* @param operLog 操作日志
* @throws Exception 异常
*/
private void setRequestValue(JoinPoint joinPoint, QyzxOperLog operLog) throws Exception
{
String requestMethod = operLog.getRequestMethod();
if (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod))
{
// JSONObject jsonObj = JSONUtil.parseObj(joinPoint.getArgs());
String params = argsArrayToString(joinPoint.getArgs());
operLog.setOperParam(StrUtil.sub(params, 0, 10000));
}
else
{
Map<?, ?> paramsMap = (Map<?, ?>) ServletUtils.getRequest().getAttribute(HandlerMapping.URI_TEMPLATE_VARIABLES_ATTRIBUTE);
operLog.setOperParam(StrUtil.sub(paramsMap.toString(), 0, 10000));
}
}
/**
* 是否存在注解,如果存在就获取
*/
private Log getAnnotationLog(JoinPoint joinPoint) throws Exception
{
Signature signature = joinPoint.getSignature();
MethodSignature methodSignature = (MethodSignature) signature;
Method method = methodSignature.getMethod();
if (method != null)
{
return method.getAnnotation(Log.class);
}
return null;
}
/**
* 参数拼装
*/
private String argsArrayToString(Object[] paramsArray)
{
String params = "";
if (paramsArray != null && paramsArray.length > 0)
{
for (int i = 0; i < paramsArray.length; i++)
{
if (!isFilterObject(paramsArray[i]))
{
Object jsonObj = JSON.toJSON(paramsArray[i]);
params += jsonObj.toString() + " ";
}
}
}
return params.trim();
}
/**
* 判断是否需要过滤的对象。
*
* @param o 对象信息。
* @return 如果是需要过滤的对象,则返回true;否则返回false。
*/
public boolean isFilterObject(final Object o)
{
return o instanceof MultipartFile || o instanceof HttpServletRequest || o instanceof HttpServletResponse;
}
}
package cn.timer.api.aspect;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Enumeration;
import java.util.TimeZone;
import javax.servlet.http.HttpServletRequest;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.core.annotation.Order;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import cn.timer.api.config.exception.CustomException;
import lombok.extern.slf4j.Slf4j;
/**
* 拦截输出异常堆栈(改用fluentd方式)
*
* @author Rex.Tan
* @date 2018年12月13日 上午9:18:58
*/
@Slf4j
@Aspect
@Component
@Order(999)
public class RequestAop {
@Pointcut("execution(* cn.timer..*.*Controller.*(..))")
public void init() {
}
@Before("init()")
public void beforeAdvice(JoinPoint joinPoint) {
// 进入方法前拦截
}
@Around("init()")
public Object around(ProceedingJoinPoint pjp) {
long startTime = System.currentTimeMillis();
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String url = request.getRequestURI();
/**
* 输出url
*/
Object obj = null;
String bodyArgs = this.bodyArgs2String(request, pjp.getArgs(), url);
JSONObject urlArgs = this.urlArgs2String(request, request.getParameterNames(), url);
try {
obj = pjp.proceed();
long endTime = System.currentTimeMillis();
this.logInfo2Kafka(request, url, bodyArgs, urlArgs, "success", 0, endTime - startTime, true);
} catch (Throwable e) {
e.printStackTrace();
long endTime = System.currentTimeMillis();
if (e instanceof CustomException) {
/**
* 拦截到主动抛出的异常
*/
CustomException ex = (CustomException) e;
this.logInfo2Kafka(request, url, bodyArgs, urlArgs, ex.getMessage(), 400, endTime - startTime, false);
throw ex;
} else {
/**
* 拦截到未知异常
*/
StringWriter stringWriter = new StringWriter();
e.printStackTrace(new PrintWriter(stringWriter));
this.logInfo2Kafka(request, url, bodyArgs, urlArgs, "未捕获异常: " + stringWriter.toString(), 500, endTime - startTime, false);
throw new CustomException("未捕获异常," + e.getMessage());
}
} finally {
}
return obj;
}
/**
* 请录请求耗时
*
* @author Rex.Tan
* @date 2018年12月13日 下午2:51:31
* @param url 请求地址
* @param args requestBody中的参数
* @param args2 url中的参数
* @param message 消息
* @param status 接口调用返回状态
* @param executionTime 执行耗时
* @param isSuccess 是否调用成功
*/
@Async
public void logInfo2Kafka(HttpServletRequest request, String url, String bodyArgs, JSONObject urlArgs,
String message, Integer status, long executionTime, boolean isSuccess) {
JSONObject json = new JSONObject();
json.put("logType", "___rest___");
// if (UserContext.get() != null) {
// json.put("userName", UserContext.get().getUsername());
// }
json.put("url", url);
json.put("timestamp", System.currentTimeMillis());
json.put("visitTime", now2String());
json.put("message", message);
json.put("status", status);
json.put("executionTime", executionTime);
json.put("channel", request.getHeader("channel"));
json.put("projectName", "8timer");
json.put("requestType", request.getMethod());
/**
* 1.requestBody中的参数
*/
json.put("bodyArgs", bodyArgs);
/**
* 2.url中的参数
*/
json.put("urlArgs", urlArgs);
/**
* 3.如果请求状态不为0, 在控制台输入请求信息
*/
if (status != 0) {
log.error("\r\n" + json.toJSONString());
} else {
log.info("\r\n" + json.toJSONString());
}
}
/**
* 读取requestBody中的参数
*
* @author Rex.Tan
* @date 2018年12月13日 下午2:54:31
* @param bodyArgs
* @param url
* @return
*/
private String bodyArgs2String(HttpServletRequest request, Object[] bodyArgs, String url) {
if ("GET".equals(request.getMethod())) {
return "";
}
if (url != null && url.indexOf("/upload")!=-1) {
return "";
}
if (url != null && url.indexOf("/image")!=-1) {
return "";
}
try {
if (bodyArgs != null && bodyArgs.length > 0) {
String body = JSONArray.toJSONString(bodyArgs);
if (body.indexOf("/image")!=-1) {
return "";
}
return body;
}
} catch (Exception e) {
log.error("=============序列化requestBody中的参数出错, " + url);
}
return "";
}
/**
* 读取url中的参数
*
* @author Rex.Tan
* @date 2019年9月12日 下午2:54:40
* @param request
* @param urlArgs
* @param url
* @return
*/
private JSONObject urlArgs2String(HttpServletRequest request, Enumeration<String> urlArgs, String url) {
JSONObject urlArgsJson = new JSONObject();
try {
if (urlArgs != null) {
while (urlArgs.hasMoreElements()) {
try {
String paraName = (String) urlArgs.nextElement();
urlArgsJson.put(paraName, request.getParameter(paraName));
} catch (Exception e) {
log.error("=============记录url中的参数出错", url);
break;
}
}
}
} catch (Exception e) {
log.error("=============记录url中的参数出错, " + url);
}
return urlArgsJson;
}
private static String now2String() {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
sdf.setTimeZone(TimeZone.getTimeZone("Asia/Shanghai"));
Date now = new Date();
return sdf.format(now);
}
}
package cn.timer.api.aspect;
import java.lang.reflect.Method;
import java.util.List;
import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import cn.timer.api.utils.redis.RedisUtil;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.Signature;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.aspectj.lang.reflect.MethodSignature;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.lang.Console;
import cn.timer.api.aspect.lang.annotation.BindingResultCtrol;
import cn.timer.api.aspect.lang.annotation.Role;
import cn.timer.api.bean.qyzx.QyzxEmpEntAsso;
import cn.timer.api.bean.qyzx.QyzxEmpLogin;
import cn.timer.api.config.enums.SysRoleType;
import cn.timer.api.dao.qyzx.QyzxEmpEntAssoMapper;
import cn.timer.api.utils.ResultUtil;
/**
* 角色权限 处理
*
* @author Tang
*/
@Aspect
@Component
public class RoleAspect {
// private static final Logger log = LoggerFactory.getLogger(RoleAspect.class);
@Autowired
private QyzxEmpEntAssoMapper qyzxEmpEntAssoMapper;
@Resource
private HttpSession session;
@Resource
private RedisUtil redisUtil;
// 配置织入点
@Pointcut("@annotation(cn.timer.api.aspect.lang.annotation.Role)")
public void RolePointCut() {
}
@Around("RolePointCut()")
public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable {
Object retVal;
// 获得注解
Role role = getAnnotationLog(joinPoint);
String httpMethodName = role.httpMethod().name();
List<Integer> sysRoleType = ListUtil.toList();
for (SysRoleType t : role.sysRoleType()) {
sysRoleType.add(t.getType());
}
QyzxEmpLogin eld = BeanUtil.toBean(redisUtil.getAttribute(session.getId(),"ui"), QyzxEmpLogin.class);
Integer orgCode = eld.getOrgId();
Integer count = new LambdaQueryChainWrapper<QyzxEmpEntAsso>(qyzxEmpEntAssoMapper)
.eq(QyzxEmpEntAsso::getEmpNum, eld.getId())
.eq(QyzxEmpEntAsso::getOrgCode, orgCode)
.in(QyzxEmpEntAsso::getUserType, sysRoleType)
.count();
if (count <= 0) {
switch (httpMethodName) {
case "POST":
retVal = ResultUtil.error("无权限操作");
break;
case "PUT":
retVal = ResultUtil.error("无权限编辑");
break;
case "GET":
retVal = ResultUtil.error("无权限查看");
break;
case "DELETE":
retVal = ResultUtil.error("无权限删除");
break;
default:
retVal = ResultUtil.error("无权限操作");
break;
}
return retVal;
}else {
return retVal = joinPoint.proceed(joinPoint.getArgs());
}
}
/**
* 是否存在注解,如果存在就获取
*/
private Role getAnnotationLog(JoinPoint joinPoint) {
Signature signature = joinPoint.getSignature();
MethodSignature methodSignature = (MethodSignature) signature;
Method method = methodSignature.getMethod();
if (method != null) {
return method.getAnnotation(Role.class);
}
return null;
}
}
package cn.timer.api.aspect.lang.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Target({ElementType.METHOD,ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface BindingResultCtrol {
/**
* 模块
*/
public String title() default "8小时";
/**
* 参数类型
*/
public String paramType() default "对象";
}
package cn.timer.api.aspect.lang.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import cn.timer.api.aspect.lang.enums.BusinessType;
import cn.timer.api.aspect.lang.enums.OperatorType;
/**
* 自定义操作日志记录注解
*
* @author Tang
*
*/
@Target({ ElementType.PARAMETER, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Log
{
/**
* 模块
*/
public String title() default "";
/**
* 功能
*/
public BusinessType businessType() default BusinessType.OTHER;
/**
* 操作人类别
*/
public OperatorType operatorType() default OperatorType.MANAGE;
/**
* 是否保存请求的参数
*/
public boolean isSaveRequestData() default true;
}
package cn.timer.api.aspect.lang.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import cn.timer.api.config.enums.HttpMethod;
import cn.timer.api.config.enums.SysRoleType;
/**
* 自定义 角色 注解
*
* @author Tang
*
*/
@Target({ ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Role {
/**
* 操作 类型
*/
public HttpMethod httpMethod() default HttpMethod.POST;
/**
* 角色类型
*/
public SysRoleType[] sysRoleType() default {SysRoleType.U_TYPE_ADMIN,SysRoleType.U_TYPE_C_ADMIN};
}
package cn.timer.api.aspect.lang.bean;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ValidationError {
private String field;
private String msg;
}
package cn.timer.api.aspect.lang.enums;
/**
* 操作状态
*
* @author Tang
*
*/
public enum BusinessStatus
{
/**
* 成功
*/
SUCCESS,
/**
* 失败
*/
FAIL,
}
package cn.timer.api.aspect.lang.enums;
/**
* 业务操作类型
*
* @author Tang
*/
public enum BusinessType
{
/**
* 其它
*/
OTHER,
/**
* 新增
*/
INSERT,
/**
* 修改
*/
UPDATE,
/**
* 新增/修改
*/
INSERT_UPDATE,
/**
* 删除
*/
DELETE,
/**
* 授权
*/
GRANT,
/**
* 导出
*/
EXPORT,
/**
* 导入
*/
IMPORT,
/**
* 强退
*/
FORCE,
/**
* 生成代码
*/
GENCODE,
/**
* 清空数据
*/
CLEAN,
/**
* 发送验证码
*/
SEND_CODE,
}
package cn.timer.api.aspect.lang.enums;
/**
* 操作人类别
*
* @author Tang
*/
public enum OperatorType
{
/**
* 其它
*/
OTHER,
/**
* 后台用户
*/
MANAGE,
/**
* 手机端用户
*/
MOBILE
}
package cn.timer.api.bean.admin;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author LAL 2020-11-09
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "admin_asso_txjlb")
@ApiModel("系统消息记录")
public class AdminAssoTxjlb extends Model<AdminAssoTxjlb> {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "id id", example = "101")
private Integer id;
@ApiModelProperty(value = "内容 ", example = "内容")
private String content;
@ApiModelProperty(value = "提醒用户姓名 提醒用户姓名", example = "101")
private String userName;
@ApiModelProperty(value = "提醒用户id 提醒用户id", example = "101")
private Integer empNum;
@ApiModelProperty(value = "提醒类型:1;证照... 提醒类型:1;证照...", example = "101")
private Integer txType;
@ApiModelProperty(value = "企业组织代码 企业组织代码", example = "101")
private Integer orgCode;
@ApiModelProperty(value = "生成时间 生成时间", example = "101")
private Long addtime;
@ApiModelProperty(value = "状态 0:未读 1:已读", example = "101")
private Integer txstate;
}
\ No newline at end of file
package cn.timer.api.bean.admin;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author LAL 2020-11-12
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "admin_menu_template")
@ApiModel("企业菜单配置")
public class AdminMenuTemplate extends Model<AdminMenuTemplate> {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "id id", example = "101")
private Integer id;
@ApiModelProperty(value = "父菜单ID, 0 表示第一级菜单", example = "101")
private Integer parentid;
@ApiModelProperty(value = "菜单code ", example = "菜单code")
private String menuCode;
@ApiModelProperty(value = "菜单名称 ", example = "菜单名称")
private String menuName;
@ApiModelProperty(value = "菜单排序号 菜单排序号", example = "101")
private Integer sortNumber;
@ApiModelProperty(value = "路由地址 ", example = "路由地址")
private String path;
@ApiModelProperty(value = "0:未启用;1:已启用 0:未启用;1:已启用", example = "101")
private Integer enable;
@ApiModelProperty(value = "0:不可分配;1:可分配 0:不可分配;1:可分配", example = "101")
private Integer distribution;
}
\ No newline at end of file
package cn.timer.api.bean.admin;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author LAL 2020-11-09
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name="admin_msg_template")
@ApiModel("消息模板")
public class AdminMsgTemplate extends Model<AdminMsgTemplate> {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@TableId (type = IdType.AUTO)
@ApiModelProperty(value="id id",example="101")
private Integer id;
@ApiModelProperty(value="模板名称 ",example="模板名称")
private String templateName;
@ApiModelProperty(value="对应平台模板编号 ",example="对应平台模板编号")
private String platformNum;
@ApiModelProperty(value="平台类型 1 阿里云",example="101")
private Integer platformType;
@ApiModelProperty(value="模板内容 ",example="模板内容")
private String content;
@ApiModelProperty(value="类型 1 合同到期提醒, 2 证照到期提醒",example="101")
private Integer msgType;
@ApiModelProperty(value="状态 0 启用 1 停用",example="101")
private Integer state;
@ApiModelProperty(value="生产时间 生产时间",example="101")
private Long addtime;
@ApiModelProperty(value="0 系统默认(公共模板), 1 企业定制",example="0")
private Integer sysDefault;
@TableField(updateStrategy= FieldStrategy.IGNORED)
@ApiModelProperty(value="企业ID 企业ID",example="101")
private Integer orgCode;
}
\ No newline at end of file
package cn.timer.api.bean.adminaccount;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Table;
import java.util.Date;
/**
* 管理员列表
*
* @author wgd
* @email 862422848@qq.com
* @date 2022-03-14 18:24:20
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "admin_account")
@ApiModel("APP更新记录")
public class AdminAccount extends Model<AdminAccount> {
private static final long serialVersionUID = 1L;
/**
*
*/
private Integer id;
/**
* 姓名
*/
private String realname;
/**
* 电话
*/
private String tel;
/**
* 级别 1超级管理员 2普通管理员
*/
private Integer types;
/**
* 创建者id,0表示系统创建
*/
private Integer createrid;
/**
* 创建日期
*/
private Date createtime;
/**
* 所属部门
*/
private String department;
/**
* 分组
*/
private Integer groupid;
/**
* 状态 1 正常 0 禁用
*/
private Integer statu;
/**
* 标注
*/
private String mark;
/**
* 帐号,首次注册手机号码
*/
private String account;
/**
* 登录密码
*/
private String pwd;
/**
* 头像名称,访问地址需要拼接
*/
private String avatar;
/**
* 1 内部(优领) 2外部(分销商)
*/
private Integer category;
/**
* 登录密码错误次数,大于5次将禁用
*/
private Integer lfc;
/**
* 禁用时间
*/
private Date prohibittime;
/**
* 登录ip
*/
private String ip;
/**
* 登录时间
*/
private Date logintime;
/**
* 更新时间
*/
private Date updatetime;
/**
* 设置:
*/
public void setId(Integer id) {
this.id = id;
}
/**
* 获取:
*/
public Integer getId() {
return id;
}
/**
* 设置:姓名
*/
public void setRealname(String realname) {
this.realname = realname;
}
/**
* 获取:姓名
*/
public String getRealname() {
return realname;
}
/**
* 设置:电话
*/
public void setTel(String tel) {
this.tel = tel;
}
/**
* 获取:电话
*/
public String getTel() {
return tel;
}
/**
* 设置:级别 1超级管理员 2普通管理员
*/
public void setTypes(Integer types) {
this.types = types;
}
/**
* 获取:级别 1超级管理员 2普通管理员
*/
public Integer getTypes() {
return types;
}
/**
* 设置:创建者id,0表示系统创建
*/
public void setCreaterid(Integer createrid) {
this.createrid = createrid;
}
/**
* 获取:创建者id,0表示系统创建
*/
public Integer getCreaterid() {
return createrid;
}
/**
* 设置:创建日期
*/
public void setCreatetime(Date createtime) {
this.createtime = createtime;
}
/**
* 获取:创建日期
*/
public Date getCreatetime() {
return createtime;
}
/**
* 设置:所属部门
*/
public void setDepartment(String department) {
this.department = department;
}
/**
* 获取:所属部门
*/
public String getDepartment() {
return department;
}
/**
* 设置:分组
*/
public void setGroupid(Integer groupid) {
this.groupid = groupid;
}
/**
* 获取:分组
*/
public Integer getGroupid() {
return groupid;
}
/**
* 设置:状态 1 正常 0 禁用
*/
public void setStatu(Integer statu) {
this.statu = statu;
}
/**
* 获取:状态 1 正常 0 禁用
*/
public Integer getStatu() {
return statu;
}
/**
* 设置:标注
*/
public void setMark(String mark) {
this.mark = mark;
}
/**
* 获取:标注
*/
public String getMark() {
return mark;
}
/**
* 设置:帐号,首次注册手机号码
*/
public void setAccount(String account) {
this.account = account;
}
/**
* 获取:帐号,首次注册手机号码
*/
public String getAccount() {
return account;
}
/**
* 设置:登录密码
*/
public void setPwd(String pwd) {
this.pwd = pwd;
}
/**
* 获取:登录密码
*/
public String getPwd() {
return pwd;
}
/**
* 设置:头像名称,访问地址需要拼接
*/
public void setAvatar(String avatar) {
this.avatar = avatar;
}
/**
* 获取:头像名称,访问地址需要拼接
*/
public String getAvatar() {
return avatar;
}
/**
* 设置:1 内部(优领) 2外部(分销商)
*/
public void setCategory(Integer category) {
this.category = category;
}
/**
* 获取:1 内部(优领) 2外部(分销商)
*/
public Integer getCategory() {
return category;
}
/**
* 设置:登录密码错误次数,大于5次将禁用
*/
public void setLfc(Integer lfc) {
this.lfc = lfc;
}
/**
* 获取:登录密码错误次数,大于5次将禁用
*/
public Integer getLfc() {
return lfc;
}
/**
* 设置:禁用时间
*/
public void setProhibittime(Date prohibittime) {
this.prohibittime = prohibittime;
}
/**
* 获取:禁用时间
*/
public Date getProhibittime() {
return prohibittime;
}
/**
* 设置:登录ip
*/
public void setIp(String ip) {
this.ip = ip;
}
/**
* 获取:登录ip
*/
public String getIp() {
return ip;
}
/**
* 设置:登录时间
*/
public void setLogintime(Date logintime) {
this.logintime = logintime;
}
/**
* 获取:登录时间
*/
public Date getLogintime() {
return logintime;
}
/**
* 设置:更新时间
*/
public void setUpdatetime(Date updatetime) {
this.updatetime = updatetime;
}
/**
* 获取:更新时间
*/
public Date getUpdatetime() {
return updatetime;
}
}
package cn.timer.api.bean.app;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author LAL 2020-08-12
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "check_app_version")
@ApiModel("APP更新记录")
public class CheckAppVersion extends Model<CheckAppVersion> {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "id id", example = "101")
private Integer id;
@ApiModelProperty(value = "平台类型 ", example = "平台类型")
private String system;
@ApiModelProperty(value = "最新版本 ", example = "最新版本")
private String version;
@ApiModelProperty(value = "最低限制 ", example = "最低限制")
private String limitVersion;
@ApiModelProperty(value = "下载地址 ", example = "下载地址")
private String url;
@ApiModelProperty(value = "下载地址 ", example = "下载地址")
private String downloadUrl;
@ApiModelProperty(value = "更新内容 ", example = "更新内容")
private String remark;
@ApiModelProperty(value = " ", example = "101")
private Integer must;
@ApiModelProperty(value = "最后修改时间 ", example = "最后修改时间")
private String updateTime;
}
\ No newline at end of file
/**
* <p>Title: IndustryClass.java</p>
* <p>Description: </p>
* @author dsc
* @date 2020年6月5日
* @version 1.0
*/
package cn.timer.api.bean.clazz;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* <p>
* Title: CilentSourceClass.java
* </p>
* <p>
* Description:
* </p>
*
* @author dsc
* @date 2020年6月5日
* @version 1.0
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("客户来源字典表(1.0)")
public class ClientSourceClass extends Model<ClientSourceClass> {
private static final long serialVersionUID = 2504935692833727870L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "主键", example = "1")
private Integer id;
@ApiModelProperty(value = "来源名", example = "行业")
private String name;
@ApiModelProperty(value = "企业id", example = "企业")
private Integer orgCode;
}
/**
* <p>Title: IndustryClass.java</p>
* <p>Description: </p>
* @author dsc
* @date 2020年6月5日
* @version 1.0
*/
package cn.timer.api.bean.clazz;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* <p>
* Title: CilentTypeClass.java
* </p>
* <p>
* Description:
* </p>
*
* @author dsc
* @date 2020年6月5日
* @version 1.0
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("客户类型字典表(1.0)")
public class ClientTypeClass extends Model<ClientTypeClass> {
private static final long serialVersionUID = 4910747953236931117L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "主键", example = "1")
private Integer id;
@ApiModelProperty(value = "类型名", example = "行业")
private String name;
@ApiModelProperty(value = "企业id", example = "企业")
private Integer orgCode;
}
package cn.timer.api.bean.clazz;
import java.util.List;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author Tang 2020-05-09
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("地区")
public class CommonArea extends Model<CommonArea> {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue
@TableId (type = IdType.AUTO)
@ApiModelProperty(value="编号",example="1")
private Integer codeId;
@ApiModelProperty(value="父编号",example="10")
private Integer parentId;
@ApiModelProperty(value="城市名称",example="1")
private String cityName;
@ApiModelProperty(value="下级",example="1")
private List<CommonArea> commonAreas;
}
\ No newline at end of file
/**
* <p>Title: IndustryClass.java</p>
* <p>Description: </p>
* @author dsc
* @date 2020年6月5日
* @version 1.0
*/
package cn.timer.api.bean.clazz;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* <p>
* Title: IndustryClass.java
* </p>
* <p>
* Description:
* </p>
*
* @author dsc
* @date 2020年6月5日
* @version 1.0
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("行业字典表(1.0)")
public class IndustryClass extends Model<IndustryClass> {
private static final long serialVersionUID = -5008126674106880292L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "主键", example = "1")
private Integer id;
@ApiModelProperty(value = "行业名", example = "行业")
private String name;
@ApiModelProperty(value = "企业id", example = "企业")
private Integer orgCode;
}
package cn.timer.api.bean.clazz;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author Tang 2019-11-15
*/
@Entity
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName("nation_class")
@ApiModel("民族")
public class NationClass extends Model<NationClass> {
@Id
@GeneratedValue
@TableId (type = IdType.AUTO)
@ApiModelProperty(value="编号",example="1")
private Integer id;
@ApiModelProperty(value="民族名称 ",example="民族名称")
private String name;
@ApiModelProperty(value="拼音",example="pinyin")
private String pinyin;
@ApiModelProperty(value="简写",example="PY")
private String letter;
@ApiModelProperty(value="这个才是排序",example="number")
private Integer number;
@ApiModelProperty(value="排序",example="排序")
private String sort;
}
/**
* <p>Title: China.java</p>
* <p>Description: </p>
* @author dsc
* @date 2020年5月11日
* @version 1.0
*/
package cn.timer.api.bean.clazz;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* <p>
* Title: China.java
* </p>
* <p>
* Description:
* </p>
*
* @author dsc
* @date 2020年5月11日
* @version 1.0
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("地区字典表(全)")
public class SysRegion extends Model<SysRegion>{
private static final long serialVersionUID = -3184372953004418673L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "区域主键", example = "1")
private Integer keyId;
@ApiModelProperty(value = "区域名称", example = "10")
private String regionName;
@ApiModelProperty(value = "区域编码", example = "1")
private Integer regionCode;
@ApiModelProperty(value = "地名简称", example = "1")
private String simpleName;
@ApiModelProperty(value = "区域等级", example = "1")
private Integer level;
@ApiModelProperty(value = "城市编码", example = "1")
private String cityCode;
@ApiModelProperty(value = "邮政编码", example = "1")
private String zipCode;
@ApiModelProperty(value = "组合名称", example = "1")
private String merName;
@ApiModelProperty(value = "经度", example = "1")
private Float lng;
@ApiModelProperty(value = "纬度", example = "1")
private Float lat;
@ApiModelProperty(value = "拼音/英文名", example = "1")
private String enName;
}
/**
* Title: CrmBusinessGroup.java
* Description:
* @author dsc
* @date 2020年6月5日
* @version 1.0
*/
package cn.timer.api.bean.crm;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Title: CrmBusinessGroup.java
*
* @Description:
* @author dsc
* @date 2020年6月5日
* @version 1.0
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "crm_business_group")
@ApiModel("业务组表")
public class CrmBusinessGroup extends Model<CrmBusinessGroup> {
private static final long serialVersionUID = -6502869518965155561L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "公司内排序")
private Integer sort;
@ApiModelProperty(value = "业务组名称")
private String name;
@ApiModelProperty(value = "创建时间")
@TableField(fill = FieldFill.INSERT)
private Date createTime;
@ApiModelProperty(value = "创建人")
private Integer createUser;
@ApiModelProperty(value = "修改时间")
@TableField(fill = FieldFill.INSERT_UPDATE)
private Date modifyTime;
@ApiModelProperty(value = "修改人")
private Integer modifyUser;
@ApiModelProperty(value = "企业id")
private Integer orgCode;
@Transient
@TableField(exist = false)
@ApiModelProperty(value = "组管理员信息")
private List<Map<String, Object>> managers;
@Transient
@TableField(exist = false)
@ApiModelProperty(value = "组管理员id")
private List<Integer> managerIds;
@Transient
@TableField(exist = false)
@ApiModelProperty(value = "组管理员信息")
private List<Map<String, Object>> members;
@Transient
@TableField(exist = false)
@ApiModelProperty(value = "组成员id")
private List<Integer> memberIds;
@Transient
@TableField(exist = false)
@ApiModelProperty(value = "回收规则")
private CrmSeaRule crmSeaRules;
// @ApiModelProperty(value = "组成员empNum(字符串,分割)",example = "1,2,3")
// private String member;
//
// @ApiModelProperty(value = "组成员姓名")
// private String memberName;
// @ApiModelProperty(value = "业务组管理员empNum")
// private Integer manager;
//
// @ApiModelProperty(value = "业务组管理员名称")
// private String managerName;
}
/**
* Title: CrmBusinessGroupMember.java
* Description:
* @author dsc
* @date 2020年6月5日
* @version 1.0
*/
package cn.timer.api.bean.crm;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Title: CrmBusinessGroupMember.java
* @Description:
* @author dsc
* @date 2020年6月5日
* @version 1.0
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "crm_business_group_member")
@ApiModel("业务组成员表")
public class CrmBusinessGroupMember extends Model<CrmBusinessGroupMember>{
private static final long serialVersionUID = 3513845730484806330L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "组id")
private Integer gid;
@ApiModelProperty(value = "员工id")
private Integer empNum;
@ApiModelProperty(value = "0-普通成员 1-管理员")
private Integer type;
@ApiModelProperty(value = "企业id")
private Integer orgCode;
}
/**
* Title: CrmClientAssociates.java
* Description:
* @author dsc
* @date 2020年6月8日
* @version 1.0
*/
package cn.timer.api.bean.crm;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Title: CrmClientAssociates.java
*
* @Description:
* @author dsc
* @date 2020年6月8日
* @version 1.0
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "crm_client_associate")
@ApiModel("客户协作人表")
public class CrmClientAssociate extends Model<CrmClientAssociate> {
private static final long serialVersionUID = 6199712192983127587L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "客户数据id")
private Integer cid;
@ApiModelProperty(value = "协作人id")
private Integer associateId;
@ApiModelProperty(value = "协作人企业id")
private Integer orgCode;
}
/**
* <p>Title: CrmClientData.java</p>
* <p>Description: </p>
* @author dsc
* @date 2020年6月5日
* @version 1.0
*/
package cn.timer.api.bean.crm;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* <p>
* Title: CrmClientContacts.java
* </p>
* <p>
* Description:
* </p>
*
* @author dsc
* @date 2020年6月5日
* @version 1.0
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "crm_client_contacts")
@ApiModel("客户联系人表")
public class CrmClientContacts extends Model<CrmClientContacts> {
private static final long serialVersionUID = 7527532835555744270L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "客户数据表id")
private Integer cid;
@ApiModelProperty(value = "联系人姓名")
private String name;
@ApiModelProperty(value = "性别 0-女 1-男")
private Integer gender;
@ApiModelProperty(value = "职位")
private String position;
@ApiModelProperty(value = "座机")
private String telephone;
@ApiModelProperty(value = "手机")
private String cellphone;
@ApiModelProperty(value = "客户邮箱")
private String email;
@ApiModelProperty(value = "地址")
private String address;
@ApiModelProperty(value = "公司")
private String company;
@ApiModelProperty(value = "备注")
private String remark;
// @ApiModelProperty(value = "企业id")
// private Integer orgCode;
}
/**
* <p>Title: CrmClientData.java</p>
* <p>Description: </p>
* @author dsc
* @date 2020年6月5日
* @version 1.0
*/
package cn.timer.api.bean.crm;
import java.util.Date;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* <p>
* Title: CrmClientData.java
* </p>
* <p>
* Description:
* </p>
*
* @author dsc
* @date 2020年6月5日
* @version 1.0
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "crm_client_data")
@ApiModel("客户数据表")
public class CrmClientData extends Model<CrmClientData> {
private static final long serialVersionUID = -5368056704790782780L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "客户姓名")
private String clientName;
@ApiModelProperty(value = "客户手机号")
private String clientCellphone;
@ApiModelProperty(value = "客户座机")
private String clientTelephone;
@ApiModelProperty(value = "客户官网")
private String clientUrl;
@ApiModelProperty(value = "行业id(字典表)")
private Integer industry;
@ApiModelProperty(value = "行业名")
private String industryName;
@ApiModelProperty(value = "客户邮箱")
private String clientEmail;
@ApiModelProperty(value = "省")
private String province;
@ApiModelProperty(value = "省id")
private Integer provinceId;
@ApiModelProperty(value = "市")
private String city;
@ApiModelProperty(value = "市")
private Integer cityId;
@ApiModelProperty(value = "区")
private String district;
@ApiModelProperty(value = "区编号")
private Integer districtId;
@ApiModelProperty(value = "邮编")
private String zipCode;
@ApiModelProperty(value = "详细地址")
private String address;
@ApiModelProperty(value = "客户类型id")
private Integer clientType;
@ApiModelProperty(value = "客户类型名")
private String clientTypeName;
@ApiModelProperty(value = "客户来源id")
private Integer clientSource;
@ApiModelProperty(value = "客户来源名")
private String clientSourceName;
@ApiModelProperty(value = "备注")
private String remarks;
@ApiModelProperty(value = "客户所属(创建人empNum) 0-进入客户公海")
private Integer belongUser;
@ApiModelProperty(value = "客户所属人姓名")
private String belongUserName;
@ApiModelProperty(value = "客户所属业务组id")
private Integer belongGroup;
@ApiModelProperty(value = "客户所属业务组名")
private String belongGroupName;
@ApiModelProperty(value = "客户数据状态 0-无 1-潜在 2-意向 3-签约 4-合作中 5-已封档")
private Integer clientStatus;
@ApiModelProperty(value = "附件地址")
private String fileUrl;
@ApiModelProperty(value = "客户联系人数量")
private Integer contactsNum;
@ApiModelProperty(value = "收藏关注 0-否 1-是")
private Integer star;
@ApiModelProperty(value = "创建人")
private Integer createUser;
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "修改人")
private Integer modifyUser;
@TableField(fill = FieldFill.INSERT_UPDATE)
@ApiModelProperty(value = "修改时间")
private Date modifyTime;
@ApiModelProperty(value = "最近跟进时间")
private Date lastFollowTime;
@ApiModelProperty(value = "企业id")
private Integer orgCode;
@ApiModelProperty(value = "微信")
private String wechat;
@ApiModelProperty(value = "产品")
private String product;
@ApiModelProperty(value = "跟进记录")
private String followuprecord;
@ApiModelProperty(value = "隐藏客户(0:已隐藏;1:未隐藏)")
private Integer hidingcustomers;
@Transient
@TableField(exist = false)
@ApiModelProperty(value = "协作(0:否 1:是)")
private Integer iscooperation;
@Transient
@TableField(exist = false)
@ApiModelProperty(value = "协作人id")
private Integer[] ids;
@Transient
@TableField(exist = false)
@ApiModelProperty(value = "客户联系人数据列表")
private List<CrmClientContacts> CrmClientContacts;
}
/**
* Title: CrmClientFollow.java
* Description:
* @author dsc
* @date 2020年6月8日
* @version 1.0
*/
package cn.timer.api.bean.crm;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Title: CrmClientFollow.java
*
* @Description:
* @author dsc
* @date 2020年6月8日
* @version 1.0
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "crm_client_follow")
@ApiModel("客户数据跟进表")
public class CrmClientFollow extends Model<CrmClientFollow> {
private static final long serialVersionUID = -7362549097557018582L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "客户数据id")
private Integer cid;
@ApiModelProperty(value = "跟进内容")
private String content;
@ApiModelProperty(value = "客户数据状态 0-无 1-潜在 2-意向 3-签约 4-合作中 5-已封档")
private Integer clientStatus;
@ApiModelProperty(value = "联系人姓名")
private String name;
@ApiModelProperty(value = "联系人公司")
private String company;
@ApiModelProperty(value = "联系人职位")
private String position;
@ApiModelProperty(value = "联系人手机号")
private String cellphone;
@ApiModelProperty(value = "创建人")
private Integer createUser;
@ApiModelProperty(value = "企业id")
private Integer orgCode;
@ApiModelProperty(value = "创建人姓名")
private String createUserName;
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "创建时间")
private Date createTime;
}
/**
* Title: CrmSeaRule.java
* Description:
* @author dsc
* @date 2020年6月5日
* @version 1.0
*/
package cn.timer.api.bean.crm;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Title: CrmSeaRule.java
*
* @Description:
* @author dsc
* @date 2020年6月5日
* @version 1.0
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "crm_sea_rule")
@ApiModel("公海规则对应表")
public class CrmSeaRule extends Model<CrmSeaRule> {
private static final long serialVersionUID = 4427752422137750653L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "组id")
private Integer gid;
@ApiModelProperty(value = "添加客户之后(one)天没有跟进 (以跟进记录为准)")
private int one;
@ApiModelProperty(value = "距上次跟进(two)天没有再次跟进 (以跟进记录为准)")
private int two;
@ApiModelProperty(value = "添加客户之后(three)天没有成交 (天数必须大于规则1)")
private int three;
@ApiModelProperty(value = "系统提前(four)天自动提醒业务员客户将被回收")
private int four;
// @ApiModelProperty(value = "我的客户数量最多(five)人(合作中的不算)")
// private int five;
}
package cn.timer.api.bean.disk;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.util.Date;
import java.util.List;
/**
* 云盘-资源目录表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021-12-27 09:24:49
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "disk_catalogue")
@ApiModel("资源目录表")
public class DiskCatalogue extends Model<DiskCatalogue> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 目录名称
*/
@ApiModelProperty(value = "目录名称")
private String name;
/**
* 上级目录
*/
@ApiModelProperty(value = "上级目录")
private Integer parentId;
/**
* 所有上级目录
*/
@ApiModelProperty(value = "所有上级目录")
private String parentIds;
/**
* 0云盘,1文件夹
*/
@ApiModelProperty(value = "0云盘,1文件夹")
private Integer type;
/**
* 当前企业id
*/
@ApiModelProperty(value = "当前企业id")
private Integer orgId;
/**
* 空间大小,单位kb
*/
@ApiModelProperty(value = "空间大小,单位kb")
private Long size;
/**
* 已使用空间大小,单位kb
*/
@ApiModelProperty(value = "已使用空间大小,单位kb")
private Long usedSize;
/**
* 排序
*/
@ApiModelProperty(value = "排序")
private Integer sort;
/**
* 创建者
*/
@ApiModelProperty(value = "创建者")
private Integer createUserId;
/**
* 用户姓名
*/
@ApiModelProperty(value = "用户姓名")
private String userName;
/**
* 更新者
*/
@ApiModelProperty(value = "更新者")
private Integer updateUserId;
/**
* 备注信息
*/
@ApiModelProperty(value = "备注信息")
private String remark;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
/**
* 文件集合
*/
@ApiModelProperty(value = "文件集合")
@Transient
@TableField(exist = false)
private List<DiskFiles> diskFilesList;
/**
* 文件子集
*/
@ApiModelProperty(value = "文件子集")
@Transient
@TableField(exist = false)
private List<DiskCatalogue> children;
/**
* 面包屑
*/
@ApiModelProperty(value = "面包屑")
@Transient
@TableField(exist = false)
private List<DiskCatalogue> breadcrumb;
/**
* 云空间成员表ID
*/
@ApiModelProperty(value = "云空间成员表ID")
@Transient
@TableField(exist = false)
private Integer cloudDiskUserId;
/**
* 用户类型:0.超级管理员,1.管理员,2.普通用户
*/
@ApiModelProperty(value = "用户类型:0.超级管理员,1.管理员,2.普通用户")
@Transient
@TableField(exist = false)
private Integer userRole;
/**
* 用户权限:r查看,w编辑,x删除,d下载:例如rwxd
*/
@Transient
@TableField(exist = false)
@ApiModelProperty(value = "用户权限:r查看,w编辑,x删除,d下载:例如rwxd")
private String userPower;
}
package cn.timer.api.bean.disk;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
/**
* 云盘-资源目录,上传文件中间关系表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021-12-27 09:24:48
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "disk_catalogue_files")
@ApiModel("资源目录,上传文件中间关系表")
public class DiskCatalogueFiles extends Model<DiskCatalogueFiles> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 资源目录表ID
*/
@ApiModelProperty(value = "资源目录表ID")
private Integer catalogueId;
/**
* 资源上传文件表ID
*/
@ApiModelProperty(value = "资源上传文件表ID")
private Integer filesId;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
}
package cn.timer.api.bean.disk;
import cn.timer.api.config.annotation.UserBean;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
/**
* 云盘-云空间成员表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021-12-27 09:24:48
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "disk_cloud_disk_user")
@ApiModel("云空间成员表")
public class DiskCloudDiskUser extends Model<DiskCloudDiskUser> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 资源目录表ID
*/
@ApiModelProperty(value = "资源目录表ID")
private Integer catalogueId;
/**
* 当前企业id
*/
@ApiModelProperty(value = "当前企业id")
private Integer orgId;
/**
* 用户ID
*/
@ApiModelProperty(value = "用户ID")
private Integer userId;
/**
* 用户姓名
*/
@ApiModelProperty(value = "用户姓名")
private String userName;
/**
* 用户头像
*/
@ApiModelProperty(value = "用户头像")
private String userHeadUrl;
/**
* 用户类型:0.超级管理员,1.管理员,2.普通用户
*/
@ApiModelProperty(value = "用户类型:0.超级管理员,1.管理员,2.可编辑用户,3可下载用户")
private Integer userRole;
/**
* 用户权限:r查看,w编辑,x删除,d下载:例如rwxd
*/
@ApiModelProperty(value = "用户权限:r查看,w编辑,x删除,d下载:例如rwxd")
private String userPower;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
public String getUserPower() {
return userPower;
}
public void setUserPower(String userPower) {
switch (this.userRole){
case 0:
this.userPower="rwxd";
break;
case 1:
this.userPower="rwd";
break;
case 2:
this.userPower="w";
break;
case 3:
this.userPower="d";
break;
}
}
}
package cn.timer.api.bean.disk;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
/**
* 云盘-文件图标表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021-12-27 09:24:48
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "disk_file_image")
@ApiModel("文件图标表")
public class DiskFileImage extends Model<DiskFileImage> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 图标类型:txt,doc,html,pdf,jpg,png,gif,swf,
*/
@ApiModelProperty(value = "图标类型:txt,doc,html,pdf,jpg,png,gif,swf,")
private String type;
/**
* 文件标题
*/
@ApiModelProperty(value = "文件标题")
private String title;
/**
* 文件路径
*/
@ApiModelProperty(value = "文件路径")
private String url;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
/**
* 创建者
*/
@ApiModelProperty(value = "创建者")
private Integer createUserId;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
}
package cn.timer.api.bean.disk;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
/**
* 云盘-资源上传文件表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021-12-27 09:24:48
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "disk_files")
@ApiModel("资源上传文件表")
public class DiskFiles extends Model<DiskFiles> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 文件标题
*/
@ApiModelProperty(value = "文件标题")
private String title;
/**
* 文件路径
*/
@ApiModelProperty(value = "文件路径")
private String urlPath;
/**
* 文件物理路径
*/
@ApiModelProperty(value = "文件物理路径")
private String diskPath;
/**
* 文件大小,单位kb
*/
@ApiModelProperty(value = "文件大小,单位kb")
private Long fileSize;
/**
* 显示大小
*/
@ApiModelProperty(value = "显示大小:10KB,5M,2G")
private String showSize;
/**
* 文件格式类型
*/
@ApiModelProperty(value = "文件格式类型")
private String fileType;
/**
* 上传文件时的IP
*/
@ApiModelProperty(value = "上传文件时的IP")
private String uploadIp;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "")
private Integer deleteFlag;
/**
* 当前企业id
*/
@ApiModelProperty(value = "当前企业id")
private Integer orgId;
/**
* 创建者
*/
@ApiModelProperty(value = "")
private Integer createUserId;
/**
* 用户姓名
*/
@ApiModelProperty(value = "用户姓名")
private String userName;
/**
* 更新者
*/
@ApiModelProperty(value = "")
private Integer updateUserId;
/**
* 创建时间
*/
@ApiModelProperty(value = "")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "")
private Date updateTime;
/**
* 文件图标
*/
@Transient
@TableField(exist = false)
@ApiModelProperty(value = "文件图标")
private String url;
}
package cn.timer.api.bean.disk;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.util.Date;
/**
* 云盘-文件浏览记录表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021-12-27 09:24:49
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "disk_files_log")
@ApiModel("文件浏览记录表")
public class DiskFilesLog extends Model<DiskFilesLog> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 资源上传文件表ID
*/
@ApiModelProperty(value = "资源上传文件表ID")
private Integer filesId;
/**
* 0查看,1下载,2创建
*/
@ApiModelProperty(value = "0查看,1下载,2创建")
private Integer type;
/**
* 文件标题
*/
@ApiModelProperty(value = "文件标题")
private String title;
/**
* 文件路径
*/
@ApiModelProperty(value = "文件路径")
private String filePath;
/**
* 文件大小,单位kb
*/
@ApiModelProperty(value = "文件大小,单位kb")
private String fileSize;
/**
* 用户ID
*/
@ApiModelProperty(value = "用户ID")
private Integer userId;
/**
* 用户姓名
*/
@ApiModelProperty(value = "用户姓名")
private String userName;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
@Transient
@TableField(exist = false)
private DiskFiles diskFiles;
@Transient
@TableField(exist = false)
private DiskFileImage diskFileImage;
}
package cn.timer.api.bean.disk;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
/**
* 云盘-文件接收表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021-12-27 09:24:48
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "disk_received")
@ApiModel("文件接收表")
public class DiskReceived extends Model<DiskReceived> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 文件分享表ID
*/
@ApiModelProperty(value = "文件分享表ID")
private Integer shareId;
/**
* 资源上传文件表ID
*/
@ApiModelProperty(value = "资源上传文件表ID")
private Integer filesId;
/**
* 文件标题
*/
@ApiModelProperty(value = "文件标题")
private String title;
/**
* 文件路径
*/
@ApiModelProperty(value = "文件路径")
private String filePath;
/**
* 文件大小
*/
@ApiModelProperty(value = "文件大小")
private Long fileSize;
/**
* 接收用户ID
*/
@ApiModelProperty(value = "接收用户ID")
private Integer userId;
/**
* 接收用户姓名
*/
@ApiModelProperty(value = "接收用户姓名")
private String userName;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间")
private Date updateTime;
@Transient
@TableField(exist = false)
private DiskFiles diskFiles;
@Transient
@TableField(exist = false)
private DiskFileImage diskFileImage;
}
package cn.timer.api.bean.disk;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
/**
* 云盘-文件分享表
*
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021-12-27 09:24:48
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "disk_share")
@ApiModel("文件分享表")
public class DiskShare extends Model<DiskShare> {
private static final long serialVersionUID = 1L;
/**
* 主键ID
*/
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
/**
* 资源上传文件表ID
*/
@ApiModelProperty(value = "资源上传文件表ID")
private Integer filesId;
/**
* 文件标题
*/
@ApiModelProperty(value = "文件标题")
private String title;
/**
* 文件路径
*/
@ApiModelProperty(value = "文件路径")
private String filePath;
/**
* 用户ID
*/
@ApiModelProperty(value = "用户ID")
private Integer userId;
/**
* 用户姓名
*/
@ApiModelProperty(value = "用户姓名")
private String userName;
/**
* 浏览量
*/
@ApiModelProperty(value = "浏览量")
private Integer views;
/**
* 下载量
*/
@ApiModelProperty(value = "下载量")
private Integer downloads;
/**
* 类型:0查分享,1转发
*/
@ApiModelProperty(value = "类型:0查分享,1转发")
private Integer type;
/**
* 逻辑删除标记0.未删除 1.删除
*/
@ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除")
private Integer deleteFlag;
/**
* 过期时间
*/
@ApiModelProperty(value = "过期时间")
private Date expireTime;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间")
private Date createTime;
@Transient
@TableField(exist = false)
private DiskFiles diskFiles;
@Transient
@TableField(exist = false)
private DiskFileImage diskFileImage;
}
package cn.timer.api.bean.dzht;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author dsc 2019-12-30
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "dzht_asso_cjlc")
@ApiModel("e签宝创建签署流程")
public class DzhtAssoCjlc extends Model<DzhtAssoCjlc> {
private static final long serialVersionUID = 2598410643156906220L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "文件主题(必填)", example = "(必填参数)")
private String businessScene;
// @ApiModelProperty(value = "签署人,逗号分隔", example = "")
// private String singerAccountId;
@ApiModelProperty(value = "是否自动归档,默认false", example = "false")
private Boolean autoArchive;
@ApiModelProperty(value = "回调通知地址", example = "回调通知地址 ,默认取项目配置通知地址")
private String noticeDeveloperUrl;
@ApiModelProperty(value = "通知方式", example = "通知方式,逗号分割,1-短信,2-邮件 。默认值1,请务必请选择一个通知方式,"
+ "否则客户将接收不到流程的签署通知和审批通知,如果流程需要审批,将导致审批无法完成;如果客户需要不通知,可以设置noticeType=\"\"")
private String noticeType;
@ApiModelProperty(value = "签署完成重定向地址", example = "签署完成重定向地址,默认签署完成停在当前页面")
private String redirectUrl;
@ApiModelProperty(value = "签署平台", example = "签署平台,逗号分割,1-开放服务h5,2-支付宝签 ,默认值1")
private String signPlatform;
@ApiModelProperty(value = "文件有效截止日期", example = "文件有效截止日期,毫秒,默认不失效;若时间到了该参数设置的时间,则会触发【流程文件过期通知】")
private Long contractValidity;
@ApiModelProperty(value = "文件到期前,提前多少小时回调提醒续签", example = "文件到期前,提前多少小时回调提醒续签,小时(时间区间:1小时——15天),"
+ "默认不提醒;若时间到了该参数设置的时间,则会触发【流程文件过期前通知】")
private Integer contractRemind;
@ApiModelProperty(value = "签署有效截止日期,毫秒", example = "签署有效截止日期,毫秒,默认不失效;若时间到了该参数设置的时间,则会触发【流程结束回调通知】")
private Long signValidity;
@ApiModelProperty(value = "发起人账户id", example = "发起人账户id,即发起本次签署的操作人个人账号id;如不传,默认由对接平台发起")
private String initiatorAccountId;
@ApiModelProperty(value = "发起方主体id", example = "发起方主体id,如存在个人代机构发起签约,则需传入机构id;如不传,则默认是对接平台")
private String initiatorAuthorizedAccountId;
@ApiModelProperty(value = "签署流程id", example = "(返回的参数 不用填)")
private String flowId;
@ApiModelProperty(value = "创建人", example = "")
private Integer creater;
@ApiModelProperty(value = "创建时间", example = "")
private Date createdTime;
@ApiModelProperty(value = "机构id", example = "117")
private Integer orgCode;
}
\ No newline at end of file
package cn.timer.api.bean.dzht;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author dsc 2019-12-21
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "dzht_asso_dkrz")
@ApiModel("e签宝打款信息表")
public class DzhtAssoDkrz extends Model<DzhtAssoDkrz> {
private static final long serialVersionUID = 5096336833752192712L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "认证流程Id", example = "66")
private String flowId;
@ApiModelProperty(value = "对公账号开户行总行名称", example = "101")
private String bank;
@ApiModelProperty(value = "对公账号开户行所在省份名称", example = "101")
private String province;
@ApiModelProperty(value = "对公账号开户行所在城市名称", example = "101")
private String city;
@ApiModelProperty(value = "对公账号开户行支行名称全称", example = "101")
private String subbranch;
@ApiModelProperty(value = "银行卡号信息", example = "101")
private String cardNo;
@ApiModelProperty(value = "联行号(名词解释) 可通过 查询打款银行信息 获取,或第三方数据库获取", example = "101")
private String cnapsCode;
@ApiModelProperty(value = "对接方业务上下文id,将在异步通知及跳转时携带返回对接方", example = "101")
private String contextId;
@ApiModelProperty(value = "认证结束后异步通知地址,具体见\"异步通知\"章节说明", example = "101")
private String notifyUrl;
}
\ No newline at end of file
package cn.timer.api.bean.dzht;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author dsc 2020-03-13
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "dzht_asso_grrz")
@ApiModel("e签宝个人认证信息表")
public class DzhtAssoGrrz extends Model<DzhtAssoGrrz> {
private static final long serialVersionUID = 5438551440725664700L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "认证类型", example = "0手机号,1银行,2刷脸")
private Integer type;
@ApiModelProperty(value = "个人账号id(要实名认证的个人id)", example = "")
private String AccountId;
@ApiModelProperty(value = "用户员工号(8小时系统)", example = "11677")
private Integer empNum;
@ApiModelProperty(value = "用户公司(8小时系统)", example = "117")
private Integer orgCode;
@ApiModelProperty(value = "手机号(仅限大陆三大运营商)", example = "13888888101")
private String mobileNo;
@ApiModelProperty(value = "人脸认证方式", example = "TENCENT腾讯微众银行认证,ZHIMACREDIT支付宝芝麻信用认证")
private String faceauthMode;
@ApiModelProperty(value = "认证完成后业务重定向地址(仅人脸)", example = "")
private String callbackUrl;
@ApiModelProperty(value = "银行卡号,仅限大陆银联银行卡", example = "")
private String bankCardNo;
@ApiModelProperty(value = "是否允许重复实名", example = "默认true")
private Boolean repetition;
@ApiModelProperty(value = "对接方业务上下文id,将在异步通知及跳转时携带返回对接方", example = "101")
private String contextId;
@ApiModelProperty(value = "认证结束后异步通知地址,具体见\"异步通知\"章节说明", example = "101")
private String notifyUrl;
@ApiModelProperty(value = "实名流程Id")
private String flowId;
}
\ No newline at end of file
package cn.timer.api.bean.dzht;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author dsc 2019-12-20
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "dzht_asso_grzc")
@ApiModel("e签宝个人注册表")
public class DzhtAssoGrzc extends Model<DzhtAssoGrzc> {
private static final long serialVersionUID = 2528742825397835708L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号", example = "101")
private Integer id;
@ApiModelProperty(value = "用户唯一标识,可传入第三方平台的个人用户id、证件号、手机号、邮箱等,如果设置则作为账号唯一性字段,相同信息不可重复创建。(个人用户与机构的唯一标识不可重复)", example = "101")
private String thirdPartyUserId;
@ApiModelProperty(value = "姓名", example = "101")
private String name;
@ApiModelProperty(value = "证件类型,详见个人证件类型说明 ,默认CRED_PSN_CH_IDCARD", example = "101")
private String idType;
@ApiModelProperty(value = "证件号,默认为空,发起签署前需确保补齐证件号", example = "101")
private String idNumber;
@ApiModelProperty(value = "手机号码,默认空,手机号为空时无法使用短信意愿认证", example = "101")
private String mobile;
@ApiModelProperty(value = "邮箱地址,默认空", example = "101")
private String email;
@ApiModelProperty(value = "个人账号id", example = "101")
private String accountId;
@ApiModelProperty(value = "员工号", example = "101")
private Integer empNum;
@ApiModelProperty(value = "组织机构id", example = "101")
private Integer orgCode;
}
\ No newline at end of file
package cn.timer.api.bean.dzht;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author dsc 2019-12-30
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "dzht_asso_htcsr")
@ApiModel("e签宝合同抄送人")
public class DzhtAssoHtcsr extends Model<DzhtAssoHtcsr> {
private static final long serialVersionUID = -6138189371585023602L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "抄送人id", example = "")
private String signerAccountId;
@ApiModelProperty(value = "员工id", example = "")
private Integer empNum;
@ApiModelProperty(value = "模板id", example = "返回的参数")
private String templateId;
@ApiModelProperty(value = "文件主题", example = "签署文件的主题")
private String businessScene;
}
\ No newline at end of file
package cn.timer.api.bean.dzht;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author dsc 2019-12-30
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "dzht_asso_htcyr")
@ApiModel("e签宝合同参与人")
public class DzhtAssoHtcyr extends Model<DzhtAssoHtcyr> {
private static final long serialVersionUID = -6138189371585023602L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "签署人id", example = "")
private String signerAccountId;
@ApiModelProperty(value = "员工id", example = "")
private Integer empNum;
@ApiModelProperty(value = "是否填写", example = "默认0-否 1-是")
private Boolean isTx;
@ApiModelProperty(value = "是否签署", example = "默认0-否 1-是")
private Boolean isQs;
@ApiModelProperty(value = "模板id", example = "返回的参数")
private String templateId;
@ApiModelProperty(value = "文件主题", example = "签署文件的主题")
private String businessScene;
}
\ No newline at end of file
package cn.timer.api.bean.dzht;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author dsc 2019-12-24
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "dzht_asso_htmb")
@ApiModel("e签宝合同模板")
public class DzhtAssoHtmb extends Model<DzhtAssoHtmb> {
private static final long serialVersionUID = 1331463911635625730L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "模板文件md5值", example = "66")
private String contentMd5;
@ApiModelProperty(value = "文件路径", example = "66")
private String filePath;
@ApiModelProperty(value = "目标文件的MIME类型", example = "application/pdf")
private String contentType;
@ApiModelProperty(value = "文件名称", example = "66")
private String fileName;
@ApiModelProperty(value = "模板名称", example = "合同模板")
private String mbmc;
@ApiModelProperty(value = "oss地址", example = "")
private String ossUrl;
@Transient
@TableField(exist = false) // 是否转换
private Boolean convert2Pdf;
@ApiModelProperty(value = "模板id", example = "1")
private String templateId;
@ApiModelProperty(value = "文件直传地址", example = "文件直传地址,需要用此上传地址使用put方式上传文件,只有文件上传后模板才可用")
private String uploadUrl;
@ApiModelProperty(value = "empNum", example = "11677")
private Integer empNum;
@ApiModelProperty(value = "org_code", example = "117")
private Integer orgCode;
@ApiModelProperty(value = "创建时间", example = "")
private Date createdTime;
@ApiModelProperty(value = "是否删除 0-否 1-是", example = "0")
private Integer isDel;
}
\ No newline at end of file
package cn.timer.api.bean.dzht;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author dsc 2019-12-27
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "dzht_asso_htwj")
@ApiModel("e签宝合同文件")
public class DzhtAssoHtwj extends Model<DzhtAssoHtwj> {
private static final long serialVersionUID = 1331463911635625730L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "文件名", example = "")
private String name;
@ApiModelProperty(value = "模板id", example = "")
private String templateId;
@ApiModelProperty(value = "文件id", example = "")
private String fileId;
@Transient
@TableField(exist = false)
@ApiModelProperty(value = "键值对参数", example = "")
private Object simpleFormFields;
}
\ No newline at end of file
package cn.timer.api.bean.dzht;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author dsc 2019-12-30
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "dzht_asso_mbzj")
@ApiModel("e签宝合同模板组件")
public class DzhtAssoMbzj extends Model<DzhtAssoMbzj> {
private static final long serialVersionUID = 9021145858921994828L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "模板id", example = "")
private String templateId;
@ApiModelProperty(value = "组件id", example = "")
private String zjid;
@ApiModelProperty(value = "组件key", example = "")
private String zjkey;
}
\ No newline at end of file
package cn.timer.api.bean.dzht;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author dsc 2019-12-21
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "dzht_asso_qyrz")
@ApiModel("e签宝企业认证表")
public class DzhtAssoQyrz extends Model<DzhtAssoQyrz> {
private static final long serialVersionUID = -8454074160107961801L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "组织机构id", example = "101")
private Integer orgCode;
@ApiModelProperty(value = "公司账号id(要实名认证的组织id)", example = "")
private String AccountId;
@ApiModelProperty(value = "代理人账号id(已完成实名认证的个人id)", example = "")
private String agentAccountId;
@ApiModelProperty(value = "是否允许重复实名", example = "默认true")
private Boolean repetition;
@ApiModelProperty(value = "对接方业务上下文id,将在异步通知及跳转时携带返回对接方", example = "101")
private String contextId;
@ApiModelProperty(value = "认证结束后异步通知地址,具体见\"异步通知\"章节说明", example = "101")
private String notifyUrl;
@ApiModelProperty(value = "实名流程Id")
private String flowId;
}
\ No newline at end of file
package cn.timer.api.bean.dzht;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author dsc 2019-12-25
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "dzht_asso_qyyz")
@ApiModel("e签宝企业印章")
public class DzhtAssoQyyz extends Model<DzhtAssoQyyz> {
private static final long serialVersionUID = -8073799927152662232L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "企业Id", example = "66")
private String orgId;
@ApiModelProperty(value = "第三方印章别名", example = "101")
private String alias;
@ApiModelProperty(value = "颜色", example = "RED-红色,BLUE-蓝色,BLACK-黑色")
private String color;//必填
@ApiModelProperty(value = "高度", example = "默认159px")
private Integer height;
@ApiModelProperty(value = "宽度", example = "默认159px")
private Integer width;
@ApiModelProperty(value = "横向文", example = "101")
private String htext;
@ApiModelProperty(value = "下弦文", example = "101")
private String qtext;
@ApiModelProperty(value = "企业唯一标识", example = "101")
private String thirdPartyUserId;
@ApiModelProperty(value = "模板类型", example = "TEMPLATE_ROUND-圆章 TEMPLATE_OVAL-椭圆章")
private String type;//必填
@ApiModelProperty(value = "中心图案类型", example = "STAR-圆形有五角星 NONE-圆形无五角星")
private String central;//必填
// 返回参数
@ApiModelProperty(value = "印章fileKey", example = "101")
private String fileKey;
@ApiModelProperty(value = "印章id", example = "101")
private String sealId;
// @ApiModelProperty(value = "下载地址,保存一小时", example = "101")
// private String url;
@ApiModelProperty(value = "是否默认", example = "0否 1是")
private Integer isMr;
@ApiModelProperty(value = "创建时间", example = "101")
private Date createTime;
}
\ No newline at end of file
package cn.timer.api.bean.dzht;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author dsc 2019-12-21
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "dzht_asso_qyzc")
@ApiModel("e签宝企业注册表")
public class DzhtAssoQyzc extends Model<DzhtAssoQyzc> {
private static final long serialVersionUID = 6896535273257356696L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号", example = "1")
private Integer id;
@ApiModelProperty(value = "机构唯一标识,可传入第三方平台机构id、企业证件号、企业邮箱等如果设置则作为账号唯一性字段,相同id不可重复创建。(个人用户与机构的唯一标识不可重复)", example = "101")
private String thirdPartyUserId;
@ApiModelProperty(value = "创建人个人账号id(调用个人账号创建接口返回的accountId)", example = "1")
private String creator;
@ApiModelProperty(value = "机构名称", example = "101")
private String name;
@ApiModelProperty(value = "证件类型,详见机构证件类型说明 ,默认CRED_ORG_USCC", example = "101")
private String idType;
@ApiModelProperty(value = "证件号,默认为空,发起签署前需确保补齐证件号", example = "101")
private String idNumber;
@ApiModelProperty(value = "企业法人证件号", example = "101")
private String orgLegalIdNumber;
@ApiModelProperty(value = "企业法人名称", example = "101")
private String orgLegalName;
@ApiModelProperty(value = "组织机构id", example = "101")
private Integer orgCode;
@ApiModelProperty(value = "机构账号id", example = "101")
private String orgId;
}
\ No newline at end of file
package cn.timer.api.bean.dzht;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author dsc 2019-12-30
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "dzht_asso_sdgzq")
@ApiModel("e签宝添加手动盖章区")
public class DzhtAssoSdgzq extends Model<DzhtAssoSdgzq> {
private static final long serialVersionUID = 7548358737989822037L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "流程id", example = "")
private String flowId;
@ApiModelProperty(value = "文件主题", example = "")
private String businessScene;
@ApiModelProperty(value = "文件file id", example = "")
private String fileId;
@ApiModelProperty(value = "签署操作人个人账号", example = "即操作本次签署的个人,如需e签宝通知用户签署,则系统向该账号下绑定的手机、邮箱发送签署链接")
private String signerAccountId;
@ApiModelProperty(value = "签署人员工号", example = "")
private Integer signerEmpNum;
@ApiModelProperty(value = "签约主体账号标识", example = "即本次签署对应任务的归属方,如传入机构id,则签署完成后,本任务可在企业账号下进行管理,默认是签署操作人个人")
private String authorizedAccountId;
@ApiModelProperty(value = "机构签约类别", example = "机构签约类别,当签约主体为机构时必传:2-机构盖章,3-法定代表人盖章 ")
private Integer actorIndentityType;
@ApiModelProperty(value = "是否指定位置", example = "是否指定位置,如指定位置则posBean不可为空;一旦设置为TRUE,表示用户签署时不允许更新位置")
private Boolean assignedPosbean;
@ApiModelProperty(value = "签署区顺序", example = "默认1,且不小于1,顺序越小越先处理")
private Integer signOrder;
@ApiModelProperty(value = "页码信息", example = "当签署区signType为2时, 页码可以-分割, 其他情况只能是数字")
private String posPage;
@ApiModelProperty(value = "x坐标,默认空", example = "")
private Float posX;
@ApiModelProperty(value = "y坐标", example = "")
private Float posY;
@ApiModelProperty(value = "签署区宽,默认印章宽度", example = "")
private Float width;
@ApiModelProperty(value = "是否添加签署时间戳", example = " 默认不添加,格式 2019-03-11 10:12:12")
private Boolean addSignTime;
@ApiModelProperty(value = "签署方式", example = "个人签署时支持多种签署方式,0-手绘签名 ,1-个人签章盖章,多种类型时逗号分割,为空不限制")
private String sealType;
@ApiModelProperty(value = "签署类型", example = "签署类型,0-不限,1-单页签署,2-骑缝签署,默认1")
private Integer signType;
@ApiModelProperty(value = "第三方业务流水号id", example = "保证相同签署人、相同签约主体、相同签署顺序的任务,对应的第三方业务流水id唯一,默认空")
private String thirdOrderNo;
// 返回的参数
@ApiModelProperty(value = "签署区id", example = "")
private String signfieldId;
@ApiModelProperty(value = "操作人", example = "")
private Integer creater;
@ApiModelProperty(value = "创建时间", example = "")
private Date createdTime;
@ApiModelProperty(value = "机构id", example = "")
private Integer orgCode;
}
\ No newline at end of file
package cn.timer.api.bean.dzht;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @author dsc 2019-12-30
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "dzht_asso_tpyz")
@ApiModel("e签宝创建个人/机构图片印章")
public class DzhtAssoTpyz extends Model<DzhtAssoTpyz> {
private static final long serialVersionUID = 6123257052008288652L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
// 必填
@ApiModelProperty(required = true, value = "个人账户id", example = "")
private String accountId;
@ApiModelProperty(value = "数据类型", example = "")
private String type;
@ApiModelProperty(value = "数据", example = "")
private String data;
@ApiModelProperty(required = true, value = "文件路径", example = "")
private String filePath;
@ApiModelProperty(required = true, value = "oss请求路径", example = "")
private String ossUrl;
// 选填
@ApiModelProperty(value = "印章别名", example = "")
private String alias;
@ApiModelProperty(value = "高度", example = "")
private Integer height;
@ApiModelProperty(value = "宽度", example = "")
private Integer width;
@ApiModelProperty(value = "透明化处理", example = "")
private Boolean transparentFlag;
// 返回参数
@ApiModelProperty(value = "印章fileKey", example = "")
private String fileKey;
@ApiModelProperty(value = "印章id", example = "")
private String sealId;
@ApiModelProperty(value = "创建时间", example = "")
private Date createdTime;
@ApiModelProperty(value = "员工号", example = "")
private Integer empNum;
@ApiModelProperty(value = "机构id", example = "")
private Integer orgCode;
}
\ No newline at end of file
/**
* <p>Title: DzhtSignflowFinish.java</p>
* <p>Description: </p>
* @author dsc
* @date 2020年5月20日
* @version 1.0
*/
package cn.timer.api.bean.dzht;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* <p>
* Title: DzhtSignflowFinish.java
* </p>
* <p>
* Description:
* </p>
*
* @author dsc
* @date 2020年5月20日
* @version 1.0
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "dzht_signflow_finish")
@ApiModel("e签宝流程结束回调")
public class DzhtSignflowFinish extends Model<DzhtSignflowFinish>{
private static final long serialVersionUID = 7207935929987536355L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "标记该通知的业务类型,该通知固定为:SIGN_FLOW_FINISH")
private String action;
@ApiModelProperty(value = "流程id")
private String flowId;
@ApiModelProperty(value = "签署文件主题描述")
private String businessScence;
@ApiModelProperty(value = "可能存在的任务状态: 2-完成,所有签署人完成签署 3-撤销,发起方撤销签署任务 5-过期(签署截止日到期后触发)7-拒签")
private String flowStatus;
@ApiModelProperty(value = "签署任务发起时间 格式yyyy-MM-dd HH:mm:ss")
private String createTime;
@ApiModelProperty(value = "签署任务结束时间 格式yyyy-MM-dd HH:mm:ss")
private String endTime;
@ApiModelProperty(value = "当流程异常结束时,附加终止原因描述")
private String statusDescription;
@ApiModelProperty(value = "时间戳")
private Long timestamp;
}
/**
* <p>Title: SendMessage.java</p>
* <p>Description: </p>
* @author dsc
* @date 2020年5月26日
* @version 1.0
*/
package cn.timer.api.bean.email;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* <p>Title: SendMessage.java</p>
* <p>Description: </p>
* @author dsc
* @date 2020年5月26日
* @version 1.0
*/
@Entity
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "send_message")
@ApiModel("企业邮箱信息表")
public class SendMessage extends Model<SendMessage>{
private static final long serialVersionUID = -1599962875587367209L;
@Id
@GeneratedValue
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "编号")
private Integer id;
@ApiModelProperty(value = "创建id")
private Integer createdUser;
@ApiModelProperty(value = "创建时间")
private Date createdTime;
@ApiModelProperty(value = "邮件主题")
private String subject;
@ApiModelProperty(value = "邮件内容")
private String content;
@ApiModelProperty(value = "收件人邮箱")
private String receiverEmail;
}
package cn.timer.api.bean.extension;
import lombok.Data;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021/12/14
*/
@Data
public class Core {
private String login;
private String publishJobPos;
}
package cn.timer.api.bean.extension;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021/12/13
*/
@Data
@ApiModel
public class ExtensionCompany implements Serializable {
/**
* 成功标志
*/
@ApiModelProperty(value = "成功标志 ", example = "成功标志")
private boolean valid;
/**
* 企业名称
*/
@ApiModelProperty(value = "企业名称 ", example = "企业名称")
private String company_name;
}
package cn.timer.api.bean.extension;
import lombok.Data;
/**
* @author wuqingjun
* @email 284718418@qq.com
* @date 2021/12/14
*/
@Data
public class ExtensionCore {
private String login;
private String publishJobPos;
private String publishJobPos2;
private String parseResume;
}
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment