Oam管理模块
This commit is contained in:
parent
6f3f81480f
commit
78e589cada
@ -72,6 +72,21 @@
|
||||
<groupId>com.zaxxer</groupId>
|
||||
<artifactId>HikariCP</artifactId>
|
||||
</dependency>
|
||||
<!--knife4j-Swagger-->
|
||||
<dependency>
|
||||
<groupId>com.github.xiaoymin</groupId>
|
||||
<artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
|
||||
</dependency>
|
||||
<!-- 自定义验证注解 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-validation</artifactId>
|
||||
</dependency>
|
||||
<!--quartz-->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-quartz</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
|
||||
258
Cpop-Core/sql/QRTZ.sql
Normal file
258
Cpop-Core/sql/QRTZ.sql
Normal file
@ -0,0 +1,258 @@
|
||||
/*
|
||||
Navicat Premium Data Transfer
|
||||
|
||||
Source Server : RockBlade-MYSQL-TEST
|
||||
Source Server Type : MySQL
|
||||
Source Server Version : 80021
|
||||
Source Host : 192.168.211.130:3306
|
||||
Source Schema : rockblade
|
||||
|
||||
Target Server Type : MySQL
|
||||
Target Server Version : 80021
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 28/08/2023 22:23:11
|
||||
*/
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for QRTZ_BLOB_TRIGGERS
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `QRTZ_BLOB_TRIGGERS`;
|
||||
CREATE TABLE `QRTZ_BLOB_TRIGGERS` (
|
||||
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`BLOB_DATA` blob NULL,
|
||||
PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
|
||||
INDEX `SCHED_NAME`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
|
||||
CONSTRAINT `qrtz_blob_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of QRTZ_BLOB_TRIGGERS
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for QRTZ_CALENDARS
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `QRTZ_CALENDARS`;
|
||||
CREATE TABLE `QRTZ_CALENDARS` (
|
||||
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`CALENDAR` blob NOT NULL,
|
||||
PRIMARY KEY (`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of QRTZ_CALENDARS
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for QRTZ_CRON_TRIGGERS
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `QRTZ_CRON_TRIGGERS`;
|
||||
CREATE TABLE `QRTZ_CRON_TRIGGERS` (
|
||||
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`CRON_EXPRESSION` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`TIME_ZONE_ID` varchar(80) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
|
||||
CONSTRAINT `qrtz_cron_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of QRTZ_CRON_TRIGGERS
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for QRTZ_FIRED_TRIGGERS
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `QRTZ_FIRED_TRIGGERS`;
|
||||
CREATE TABLE `QRTZ_FIRED_TRIGGERS` (
|
||||
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`ENTRY_ID` varchar(95) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`FIRED_TIME` bigint(0) NOT NULL,
|
||||
`SCHED_TIME` bigint(0) NOT NULL,
|
||||
`PRIORITY` int(0) NOT NULL,
|
||||
`STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
`JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
`IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
`REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`SCHED_NAME`, `ENTRY_ID`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_FT_TRIG_INST_NAME`(`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY`(`SCHED_NAME`, `INSTANCE_NAME`, `REQUESTS_RECOVERY`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_FT_J_G`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_FT_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_FT_T_G`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_FT_TG`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of QRTZ_FIRED_TRIGGERS
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for QRTZ_JOB_DETAILS
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `QRTZ_JOB_DETAILS`;
|
||||
CREATE TABLE `QRTZ_JOB_DETAILS` (
|
||||
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
`JOB_CLASS_NAME` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`IS_DURABLE` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`IS_NONCONCURRENT` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`IS_UPDATE_DATA` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`REQUESTS_RECOVERY` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`JOB_DATA` blob NULL,
|
||||
PRIMARY KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_J_REQ_RECOVERY`(`SCHED_NAME`, `REQUESTS_RECOVERY`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_J_GRP`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of QRTZ_JOB_DETAILS
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for QRTZ_LOCKS
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `QRTZ_LOCKS`;
|
||||
CREATE TABLE `QRTZ_LOCKS` (
|
||||
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`LOCK_NAME` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
PRIMARY KEY (`SCHED_NAME`, `LOCK_NAME`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of QRTZ_LOCKS
|
||||
-- ----------------------------
|
||||
INSERT INTO `QRTZ_LOCKS` VALUES ('RockBladeScheduler', 'TRIGGER_ACCESS');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for QRTZ_PAUSED_TRIGGER_GRPS
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `QRTZ_PAUSED_TRIGGER_GRPS`;
|
||||
CREATE TABLE `QRTZ_PAUSED_TRIGGER_GRPS` (
|
||||
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
PRIMARY KEY (`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of QRTZ_PAUSED_TRIGGER_GRPS
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for QRTZ_SCHEDULER_STATE
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `QRTZ_SCHEDULER_STATE`;
|
||||
CREATE TABLE `QRTZ_SCHEDULER_STATE` (
|
||||
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`INSTANCE_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`LAST_CHECKIN_TIME` bigint(0) NOT NULL,
|
||||
`CHECKIN_INTERVAL` bigint(0) NOT NULL,
|
||||
PRIMARY KEY (`SCHED_NAME`, `INSTANCE_NAME`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of QRTZ_SCHEDULER_STATE
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for QRTZ_SIMPLE_TRIGGERS
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `QRTZ_SIMPLE_TRIGGERS`;
|
||||
CREATE TABLE `QRTZ_SIMPLE_TRIGGERS` (
|
||||
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`REPEAT_COUNT` bigint(0) NOT NULL,
|
||||
`REPEAT_INTERVAL` bigint(0) NOT NULL,
|
||||
`TIMES_TRIGGERED` bigint(0) NOT NULL,
|
||||
PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
|
||||
CONSTRAINT `qrtz_simple_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of QRTZ_SIMPLE_TRIGGERS
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for QRTZ_SIMPROP_TRIGGERS
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `QRTZ_SIMPROP_TRIGGERS`;
|
||||
CREATE TABLE `QRTZ_SIMPROP_TRIGGERS` (
|
||||
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`STR_PROP_1` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
`STR_PROP_2` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
`STR_PROP_3` varchar(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
`INT_PROP_1` int(0) NULL DEFAULT NULL,
|
||||
`INT_PROP_2` int(0) NULL DEFAULT NULL,
|
||||
`LONG_PROP_1` bigint(0) NULL DEFAULT NULL,
|
||||
`LONG_PROP_2` bigint(0) NULL DEFAULT NULL,
|
||||
`DEC_PROP_1` decimal(13, 4) NULL DEFAULT NULL,
|
||||
`DEC_PROP_2` decimal(13, 4) NULL DEFAULT NULL,
|
||||
`BOOL_PROP_1` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
`BOOL_PROP_2` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
|
||||
CONSTRAINT `qrtz_simprop_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `qrtz_triggers` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of QRTZ_SIMPROP_TRIGGERS
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for QRTZ_TRIGGERS
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `QRTZ_TRIGGERS`;
|
||||
CREATE TABLE `QRTZ_TRIGGERS` (
|
||||
`SCHED_NAME` varchar(120) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`TRIGGER_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`TRIGGER_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`JOB_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`JOB_GROUP` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`DESCRIPTION` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
`NEXT_FIRE_TIME` bigint(0) NULL DEFAULT NULL,
|
||||
`PREV_FIRE_TIME` bigint(0) NULL DEFAULT NULL,
|
||||
`PRIORITY` int(0) NULL DEFAULT NULL,
|
||||
`TRIGGER_STATE` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`TRIGGER_TYPE` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`START_TIME` bigint(0) NOT NULL,
|
||||
`END_TIME` bigint(0) NULL DEFAULT NULL,
|
||||
`CALENDAR_NAME` varchar(190) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
|
||||
`MISFIRE_INSTR` smallint(0) NULL DEFAULT NULL,
|
||||
`JOB_DATA` blob NULL,
|
||||
PRIMARY KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_T_J`(`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_T_JG`(`SCHED_NAME`, `JOB_GROUP`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_T_C`(`SCHED_NAME`, `CALENDAR_NAME`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_T_G`(`SCHED_NAME`, `TRIGGER_GROUP`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_T_STATE`(`SCHED_NAME`, `TRIGGER_STATE`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_T_N_STATE`(`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_T_N_G_STATE`(`SCHED_NAME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_T_NEXT_FIRE_TIME`(`SCHED_NAME`, `NEXT_FIRE_TIME`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_T_NFT_ST`(`SCHED_NAME`, `TRIGGER_STATE`, `NEXT_FIRE_TIME`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_T_NFT_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_STATE`) USING BTREE,
|
||||
INDEX `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP`(`SCHED_NAME`, `MISFIRE_INSTR`, `NEXT_FIRE_TIME`, `TRIGGER_GROUP`, `TRIGGER_STATE`) USING BTREE,
|
||||
CONSTRAINT `qrtz_triggers_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `qrtz_job_details` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) ON DELETE RESTRICT ON UPDATE RESTRICT
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of QRTZ_TRIGGERS
|
||||
-- ----------------------------
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
@ -1,5 +1,6 @@
|
||||
package com.cpop.core.config;
|
||||
|
||||
import lombok.Data;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
@ -8,6 +9,7 @@ import org.springframework.stereotype.Component;
|
||||
* @Description: 生成密钥对的配置文件
|
||||
* @create: 2023-08-04 23:06
|
||||
*/
|
||||
@Data
|
||||
@Component
|
||||
@ConfigurationProperties(prefix = "cpop.gateway.rsa-keypair")
|
||||
public class GenerateKeyPairConfig {
|
||||
@ -32,36 +34,5 @@ public class GenerateKeyPairConfig {
|
||||
*/
|
||||
private String privateKeyFile;
|
||||
|
||||
/**
|
||||
* 获取指定加密算法
|
||||
* @return 读取YAML文件的 SystemConfig.rsa-keypair.algorithm 属性
|
||||
*/
|
||||
public String getAlgorithm() {
|
||||
return algorithm;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取密钥长度,用来初始化
|
||||
* @return 读取YAML文件的 SystemConfig.rsa-keypair.key-size 属性
|
||||
*/
|
||||
public Integer getKeySize() {
|
||||
return keySize;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取公钥存放文件
|
||||
* @return 读取YAML文件的 SystemConfig.rsa-keypair.public-key-file 属性
|
||||
*/
|
||||
public String getPublicKeyFile() {
|
||||
return publicKeyFile;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取私钥存放文件
|
||||
* @return 读取YAML文件的 SystemConfig.rsa-keypair.private-key-file 属性
|
||||
*/
|
||||
public String getPrivateKeyFile() {
|
||||
return privateKeyFile;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -6,10 +6,10 @@ import com.cpop.common.utils.StringUtils;
|
||||
import com.cpop.common.utils.ip.IpUtils;
|
||||
import com.cpop.core.base.entity.LoginUser;
|
||||
import com.cpop.core.base.enums.UserType;
|
||||
import com.cpop.core.gateway.miniProgram.MiniProgramAuthenticationToken;
|
||||
import com.cpop.core.service.RedisService;
|
||||
import com.cpop.core.service.impl.OamStaffDetailsServiceImpl;
|
||||
import com.cpop.core.utils.JwtUtils;
|
||||
import com.pupu.core.security.miniProgram.MiniProgramAuthenticationToken;
|
||||
import com.pupu.core.service.impl.OamStaffDetailsServiceImpl;
|
||||
import io.jsonwebtoken.Claims;
|
||||
import io.jsonwebtoken.Jws;
|
||||
import io.jsonwebtoken.JwtException;
|
||||
|
||||
158
Cpop-Core/src/main/java/com/cpop/core/utils/QuartzUtils.java
Normal file
158
Cpop-Core/src/main/java/com/cpop/core/utils/QuartzUtils.java
Normal file
@ -0,0 +1,158 @@
|
||||
package com.cpop.core.utils;
|
||||
|
||||
import org.quartz.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author: DB
|
||||
* @Date: 2023/07/12/16:54
|
||||
* @Description:
|
||||
*/
|
||||
@Component
|
||||
public class QuartzUtils {
|
||||
|
||||
@Autowired
|
||||
private Scheduler scheduler;
|
||||
|
||||
/**
|
||||
* @Description: 获取Job信息
|
||||
* @param name
|
||||
* @param group
|
||||
* @return String
|
||||
* @author DB
|
||||
* @Date: 2023/7/12 0012 16:57
|
||||
*/
|
||||
public String getJobInfo(String name, String group) throws SchedulerException {
|
||||
TriggerKey triggerKey = new TriggerKey(name, group);
|
||||
CronTrigger cronTrigger = (CronTrigger) scheduler.getTrigger(triggerKey);
|
||||
return String.format("time:%s,state:%s", cronTrigger.getCronExpression(),
|
||||
scheduler.getTriggerState(triggerKey).name());
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 修改某个任务的执行时间
|
||||
* @param name
|
||||
* @param group
|
||||
* @param time
|
||||
* @return boolean
|
||||
* @author DB
|
||||
* @Date: 2023/7/12 0012 16:57
|
||||
*/
|
||||
public boolean modifyJob(String name, String group, String time) throws SchedulerException {
|
||||
Date date = null;
|
||||
TriggerKey triggerKey = new TriggerKey(name, group);
|
||||
CronTrigger cronTrigger = (CronTrigger) scheduler.getTrigger(triggerKey);
|
||||
String oldTime = cronTrigger.getCronExpression();
|
||||
if (!oldTime.equalsIgnoreCase(time)) {
|
||||
CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(time);
|
||||
CronTrigger trigger = TriggerBuilder.newTrigger().withIdentity(name, group)
|
||||
.withSchedule(cronScheduleBuilder).build();
|
||||
date = scheduler.rescheduleJob(triggerKey, trigger);
|
||||
}
|
||||
return date != null;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 暂停所有任务
|
||||
* @param
|
||||
* @return
|
||||
* @author DB
|
||||
* @Date: 2023/7/12 0012 16:57
|
||||
*/
|
||||
public void pauseAllJob() throws SchedulerException {
|
||||
scheduler.pauseAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 暂停某个任务
|
||||
* @param name
|
||||
* @param group
|
||||
* @return
|
||||
* @author DB
|
||||
* @Date: 2023/7/12 0012 16:57
|
||||
*/
|
||||
public void pauseJob(String name, String group) throws SchedulerException {
|
||||
JobKey jobKey = new JobKey(name, group);
|
||||
JobDetail jobDetail = scheduler.getJobDetail(jobKey);
|
||||
if (jobDetail == null) {
|
||||
return;
|
||||
}
|
||||
scheduler.pauseJob(jobKey);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 恢复所有任务
|
||||
* @param
|
||||
* @return
|
||||
* @author DB
|
||||
* @Date: 2023/7/12 0012 16:57
|
||||
*/
|
||||
public void resumeAllJob() throws SchedulerException {
|
||||
scheduler.resumeAll();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 恢复某个任务
|
||||
* @param name
|
||||
* @param group
|
||||
* @return
|
||||
* @author DB
|
||||
* @Date: 2023/7/12 0012 16:57
|
||||
*/
|
||||
public void resumeJob(String name, String group) throws SchedulerException {
|
||||
JobKey jobKey = new JobKey(name, group);
|
||||
JobDetail jobDetail = scheduler.getJobDetail(jobKey);
|
||||
if (jobDetail == null) {
|
||||
return;
|
||||
}
|
||||
scheduler.resumeJob(jobKey);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 删除某个任务
|
||||
* @param name
|
||||
* @param group
|
||||
* @return
|
||||
* @author DB
|
||||
* @Date: 2023/7/12 0012 16:57
|
||||
*/
|
||||
public void deleteJob(String name, String group) throws SchedulerException {
|
||||
JobKey jobKey = new JobKey(name, group);
|
||||
JobDetail jobDetail = scheduler.getJobDetail(jobKey);
|
||||
if (jobDetail == null) {
|
||||
return;
|
||||
}
|
||||
scheduler.deleteJob(jobKey);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 日期转Cron
|
||||
* @param date
|
||||
* @return String
|
||||
* @author DB
|
||||
* @Date: 2023/7/14 0014 11:26
|
||||
*/
|
||||
public String convertToCron(Date date) throws ParseException {
|
||||
Calendar calendar = Calendar.getInstance();
|
||||
calendar.setTime(date);
|
||||
int seconds = calendar.get(Calendar.SECOND);
|
||||
int minutes = calendar.get(Calendar.MINUTE);
|
||||
int hours = calendar.get(Calendar.HOUR_OF_DAY);
|
||||
int dayOfMonth = calendar.get(Calendar.DAY_OF_MONTH);
|
||||
// Calendar中的月份从0开始,所以需要加1
|
||||
int month = calendar.get(Calendar.MONTH) + 1;
|
||||
int year = calendar.get(Calendar.YEAR);
|
||||
return seconds + " " +
|
||||
minutes + " " +
|
||||
hours + " " +
|
||||
dayOfMonth + " " +
|
||||
month + " " +
|
||||
"? " + year;
|
||||
}
|
||||
|
||||
}
|
||||
@ -7,6 +7,7 @@ import com.cpop.common.utils.StringUtils;
|
||||
import com.cpop.core.base.exception.file.FileNameLengthLimitExceededException;
|
||||
import com.cpop.core.base.exception.file.FileSizeLimitExceededException;
|
||||
import com.cpop.core.base.exception.file.InvalidExtensionException;
|
||||
import com.cpop.core.utils.SpringUtils;
|
||||
import com.cpop.core.utils.uuid.Seq;
|
||||
import org.apache.commons.io.FilenameUtils;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
@ -47,7 +48,7 @@ public class FileUploadUtils {
|
||||
/**
|
||||
* 默认上传的地址
|
||||
*/
|
||||
private static String defaultBaseDir = CpopConfig.getProfile();
|
||||
private static String defaultBaseDir = SpringUtils.getBean(CpopConfig.class).getProfile();
|
||||
|
||||
public void setDefaultBaseDir(String defaultBaseDir) {
|
||||
FileUploadUtils.defaultBaseDir = defaultBaseDir;
|
||||
@ -134,7 +135,7 @@ public class FileUploadUtils {
|
||||
}
|
||||
|
||||
public final String getPathFileName(String uploadDir, String fileName) throws IOException {
|
||||
int dirLastIndex = CpopConfig.getProfile().length() + 1;
|
||||
int dirLastIndex = SpringUtils.getBean(CpopConfig.class).getProfile().length() + 1;
|
||||
String currentDir = StringUtils.substring(uploadDir, dirLastIndex);
|
||||
return Constants.RESOURCE_PREFIX + "/" + currentDir + "/" + fileName;
|
||||
}
|
||||
|
||||
@ -7,6 +7,7 @@ import com.cpop.common.utils.DateUtils;
|
||||
import com.cpop.common.utils.StringUtils;
|
||||
import com.cpop.core.base.exception.UtilException;
|
||||
import com.cpop.core.config.CpopConfig;
|
||||
import com.cpop.core.utils.SpringUtils;
|
||||
import com.cpop.core.utils.uuid.IdUtils;
|
||||
import org.apache.commons.io.FilenameUtils;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
@ -80,7 +81,7 @@ public class FileUtils {
|
||||
* @throws IOException IO异常
|
||||
*/
|
||||
public String writeImportBytes(byte[] data) throws IOException {
|
||||
return writeBytes(data, CpopConfig.getImportPath());
|
||||
return writeBytes(data, SpringUtils.getBean(CpopConfig.class).getImportPath());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -121,7 +121,7 @@
|
||||
</update>
|
||||
|
||||
<!--根据键查询配置-->
|
||||
<select id="selectConfigByKeys" resultType="com.pupu.core.base.table.SysConfig">
|
||||
<select id="selectConfigByKeys" resultType="com.cpop.core.base.table.SysConfig">
|
||||
SELECT
|
||||
config_key AS configKey,
|
||||
config_name AS configName,
|
||||
|
||||
46
Cpop-Oam/Cpop-Oam-Web/pom.xml
Normal file
46
Cpop-Oam/Cpop-Oam-Web/pom.xml
Normal file
@ -0,0 +1,46 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.cpop</groupId>
|
||||
<artifactId>Cpop-Union</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<relativePath>../../pom.xml</relativePath> <!-- lookup parent from repository -->
|
||||
</parent>
|
||||
<artifactId>Cpop-Oam-Web</artifactId>
|
||||
<name>Cpop-Oam-Web</name>
|
||||
<description>Cpop-Oam-Web</description>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.cpop</groupId>
|
||||
<artifactId>Cpop-Oam</artifactId>
|
||||
</dependency>
|
||||
<!--Mysql-->
|
||||
<dependency>
|
||||
<groupId>com.mysql</groupId>
|
||||
<artifactId>mysql-connector-j</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-maven-plugin</artifactId>
|
||||
<configuration>
|
||||
<excludes>
|
||||
<exclude>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
</exclude>
|
||||
</excludes>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
</project>
|
||||
@ -0,0 +1,20 @@
|
||||
package com.cpop.oam.web;
|
||||
|
||||
import org.mybatis.spring.annotation.MapperScan;
|
||||
import org.springframework.boot.SpringApplication;
|
||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||
import org.springframework.scheduling.annotation.EnableAsync;
|
||||
|
||||
/**
|
||||
* @author DB
|
||||
*/
|
||||
@SpringBootApplication(scanBasePackages = {"com.cpop.**"})
|
||||
@MapperScan("com.cpop.**.mapper")
|
||||
@EnableAsync
|
||||
public class CpopOamWebApplication {
|
||||
|
||||
public static void main(String[] args) {
|
||||
SpringApplication.run(CpopOamWebApplication.class, args);
|
||||
}
|
||||
|
||||
}
|
||||
86
Cpop-Oam/Cpop-Oam-Web/src/main/resources/application-dev.yml
Normal file
86
Cpop-Oam/Cpop-Oam-Web/src/main/resources/application-dev.yml
Normal file
@ -0,0 +1,86 @@
|
||||
# 项目相关配置
|
||||
cpop:
|
||||
# 文件路径 示例( Windows配置W:/WorkSpace/java/uploadPath,Linux配置 /home/baseFramework/uploadPath)
|
||||
profile: E:/Cpop/uploadPath
|
||||
jwt:
|
||||
#白名单
|
||||
whiteList: /login,/getCaptcha,/profile/**,/doc.html,/webjars/**,/favicon.ico,/v2/api-docs/**,/swagger-resources
|
||||
gateway:
|
||||
rsa-keypair:
|
||||
# 公钥文件
|
||||
publicKeyFile: E:\Cpop\Cpop-Union\Cpop-Core\src\main\resources\static\keyPair\publicKey
|
||||
# 公钥文件
|
||||
privateKeyFile: E:\Cpop\Cpop-Union\Cpop-Core\src\main\resources\static\keyPair\privateKey
|
||||
|
||||
# DataSource Config
|
||||
spring:
|
||||
application:
|
||||
name: Cpop-Oam-Dev
|
||||
datasource:
|
||||
url: jdbc:mysql://localhost:3306/cpop-union?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||
username: root
|
||||
password: root
|
||||
#redis配置
|
||||
redis:
|
||||
#地址
|
||||
host: localhost
|
||||
#端口
|
||||
port: 6379
|
||||
#数据库
|
||||
database: 0
|
||||
#密码
|
||||
password:
|
||||
#连接超时
|
||||
timeout: 5000
|
||||
lettuce:
|
||||
pool:
|
||||
#
|
||||
min-idle: 0
|
||||
#
|
||||
max-idle: 8
|
||||
#
|
||||
max-active: 8
|
||||
#
|
||||
max-wait: -1ms
|
||||
data:
|
||||
mongodb:
|
||||
host: localhost
|
||||
port: 27017
|
||||
database: cpop-union
|
||||
|
||||
server:
|
||||
port: 9420
|
||||
servlet:
|
||||
context-path: /Cpop-Oam-Dev
|
||||
|
||||
#Mybatis-Flex
|
||||
mybatis-flex:
|
||||
configuration:
|
||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||
|
||||
# springdoc-openapi项目配置
|
||||
knife4j:
|
||||
enable: true
|
||||
openapi:
|
||||
title: PuPu-OAM开发API
|
||||
description: PuPu-OAM开发API
|
||||
email:
|
||||
concat: DB
|
||||
url: https://api.jamboxsys.com
|
||||
version: 1.0.0
|
||||
license: Apache 2.0
|
||||
license-url: https://stackoverflow.com/
|
||||
terms-of-service-url: https://api.jamboxsys.com
|
||||
group:
|
||||
#系统
|
||||
system:
|
||||
group-name: Oam
|
||||
api-rule: package
|
||||
api-rule-resources:
|
||||
- com.pupu.oam
|
||||
#jambox
|
||||
jambox:
|
||||
group-name: Jambox
|
||||
api-rule: package
|
||||
api-rule-resources:
|
||||
- com.pupu.jambox
|
||||
@ -0,0 +1,60 @@
|
||||
# 项目相关配置
|
||||
cpop:
|
||||
# 文件路径 示例( Windows配置W:/WorkSpace/java/uploadPath,Linux配置 /home/baseFramework/uploadPath)
|
||||
profile: /root/jambox-union/jambox-oam/uploadPath/upload
|
||||
jwt:
|
||||
#白名单
|
||||
whiteList: /login,/getCaptcha,/profile/**
|
||||
#拦截
|
||||
gateway:
|
||||
rsa-keypair:
|
||||
# 公钥文件
|
||||
publicKeyFile: /root/jambox-union/jambox-oam/script/secretKey/publicKey
|
||||
# 公钥文件
|
||||
privateKeyFile: /root/jambox-union/jambox-oam/script/secretKey/privateKey
|
||||
|
||||
# DataSource Config
|
||||
spring:
|
||||
application:
|
||||
name: PuPu_Oam
|
||||
datasource:
|
||||
url: jdbc:mysql://sh-cynosdbmysql-grp-fggo83js.sql.tencentcdb.com:20965/pupu-union?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||
username: root
|
||||
password: Customer0401
|
||||
#redis配置
|
||||
redis:
|
||||
#地址
|
||||
host: 106.52.49.102
|
||||
#端口
|
||||
port: 6333
|
||||
#数据库
|
||||
database: 5
|
||||
#密码
|
||||
password: Jambox.123*
|
||||
#连接超时
|
||||
timeout: 5000
|
||||
lettuce:
|
||||
pool:
|
||||
#
|
||||
min-idle: 0
|
||||
#
|
||||
max-idle: 8
|
||||
#
|
||||
max-active: 8
|
||||
#
|
||||
max-wait: -1ms
|
||||
data:
|
||||
mongodb:
|
||||
host: localhost
|
||||
port: 27017
|
||||
database: rock-blade
|
||||
|
||||
server:
|
||||
port: 9420
|
||||
servlet:
|
||||
context-path: /PuPu-OAM
|
||||
|
||||
#Mybatis-Flex
|
||||
mybatis-flex:
|
||||
configuration:
|
||||
log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
|
||||
@ -0,0 +1,87 @@
|
||||
# 项目相关配置
|
||||
cpop:
|
||||
# 文件路径 示例( Windows配置W:/WorkSpace/java/uploadPath,Linux配置 /home/baseFramework/uploadPath)
|
||||
profile: /root/jambox-union/jambox-oam/uploadPath/upload
|
||||
jwt:
|
||||
#白名单
|
||||
whiteList: /login,/getCaptcha,/profile/**,/doc.html,/webjars/**,/favicon.ico,/v2/api-docs/**,/swagger-resources
|
||||
#拦截
|
||||
gateway:
|
||||
rsa-keypair:
|
||||
# 公钥文件
|
||||
publicKeyFile: /root/jambox-union/jambox-oam/script/secretKey/publicKey
|
||||
# 公钥文件
|
||||
privateKeyFile: /root/jambox-union/jambox-oam/script/secretKey/privateKey
|
||||
|
||||
# DataSource Config
|
||||
spring:
|
||||
application:
|
||||
name: PuPu-TEST
|
||||
datasource:
|
||||
url: jdbc:mysql://sh-cynosdbmysql-grp-fggo83js.sql.tencentcdb.com:20965/pupu-union?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
|
||||
username: root
|
||||
password: Customer0401
|
||||
#redis配置
|
||||
redis:
|
||||
#地址
|
||||
host: 106.52.49.102
|
||||
#端口
|
||||
port: 6333
|
||||
#数据库
|
||||
database: 5
|
||||
#密码
|
||||
password: Jambox.123*
|
||||
#连接超时
|
||||
timeout: 5000
|
||||
lettuce:
|
||||
pool:
|
||||
#
|
||||
min-idle: 0
|
||||
#
|
||||
max-idle: 8
|
||||
#
|
||||
max-active: 8
|
||||
#
|
||||
max-wait: -1ms
|
||||
data:
|
||||
mongodb:
|
||||
host: localhost
|
||||
port: 27017
|
||||
database: rock-blade
|
||||
|
||||
server:
|
||||
port: 9420
|
||||
servlet:
|
||||
context-path: /PuPu-Oam-TEST
|
||||
|
||||
#Mybatis-Flex
|
||||
mybatis-flex:
|
||||
configuration:
|
||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
||||
|
||||
# springdoc-openapi项目配置
|
||||
knife4j:
|
||||
enable: true
|
||||
openapi:
|
||||
title: PuPu-OAM开发API
|
||||
description: PuPu-OAM开发API
|
||||
email:
|
||||
concat: DB
|
||||
url: https://api.jamboxsys.com
|
||||
version: 1.0.0
|
||||
license: Apache 2.0
|
||||
license-url: https://stackoverflow.com/
|
||||
terms-of-service-url: https://api.jamboxsys.com
|
||||
group:
|
||||
#系统
|
||||
system:
|
||||
group-name: Oam
|
||||
api-rule: package
|
||||
api-rule-resources:
|
||||
- com.pupu.oam
|
||||
#jambox
|
||||
jambox:
|
||||
group-name: Jambox
|
||||
api-rule: package
|
||||
api-rule-resources:
|
||||
- com.pupu.jambox
|
||||
118
Cpop-Oam/Cpop-Oam-Web/src/main/resources/application.yml
Normal file
118
Cpop-Oam/Cpop-Oam-Web/src/main/resources/application.yml
Normal file
@ -0,0 +1,118 @@
|
||||
# 项目相关配置
|
||||
cpop:
|
||||
# 名称
|
||||
name: PuPu-OAM
|
||||
# 版本
|
||||
version: 1.0.0
|
||||
#JWT
|
||||
jwt:
|
||||
#密钥
|
||||
secret: abcdefghijklmnopqrstuvwxyz
|
||||
#过期时间
|
||||
expire: 604800
|
||||
#token头
|
||||
header: Authorization
|
||||
#拦截
|
||||
gateway:
|
||||
rsa-keypair:
|
||||
# 加密方式
|
||||
algorithm: RSA
|
||||
# 初始化大小
|
||||
keySize: 2048
|
||||
|
||||
#Spring
|
||||
spring:
|
||||
mvc:
|
||||
pathmatch:
|
||||
matching-strategy: ant_path_matcher
|
||||
servlet:
|
||||
multipart:
|
||||
#文件最大传输
|
||||
max-file-size: 1024MB
|
||||
max-request-size: 300MB
|
||||
profiles:
|
||||
active: dev,jambox,api,sdk
|
||||
datasource:
|
||||
type: com.zaxxer.hikari.HikariDataSource
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
#hikari数据源特性配置
|
||||
hikari:
|
||||
#最大连接数,默认值10.
|
||||
maximum-pool-size: 10
|
||||
#最小空闲连接,默认值10.
|
||||
minimum-idle: 10
|
||||
#连接超时时间(毫秒),默认值30秒.
|
||||
connection-timeout: 30000
|
||||
#空闲连接超时时间,默认值600000(10分钟),只有空闲连接数大于最大连接数且空闲时间超过该值,才会被释放;如果大于等于 max-lifetime 且 max-lifetime>0,则会被重置为0.
|
||||
idle-timeout: 600000
|
||||
#连接最大存活时间,默认值30分钟.设置应该比mysql设置的超时时间短
|
||||
max-lifetime: 3000000
|
||||
#连接测试查询
|
||||
connection-test-query: select 1
|
||||
messages:
|
||||
#i18n
|
||||
basename: static/i18n/messages
|
||||
encoding: UTF-8
|
||||
cacheDuration: 3600
|
||||
quartz:
|
||||
job-store-type: jdbc
|
||||
jdbc:
|
||||
initialize-schema: embedded
|
||||
#定时任务启动开关,true-开 false-关
|
||||
auto-startup: true
|
||||
#延迟1秒启动定时任务
|
||||
startup-delay: 1s
|
||||
#启动时更新己存在的Job
|
||||
overwrite-existing-jobs: true
|
||||
properties:
|
||||
org:
|
||||
quartz:
|
||||
scheduler:
|
||||
instanceName: PuPuOamScheduler
|
||||
instanceId: AUTO
|
||||
jobStore:
|
||||
class: org.springframework.scheduling.quartz.LocalDataSourceJobStore
|
||||
driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
|
||||
tablePrefix: QRTZ_
|
||||
isClustered: false
|
||||
misfireThreshold: 12000
|
||||
clusterCheckinInterval: 15000
|
||||
threadPool:
|
||||
class: org.quartz.simpl.SimpleThreadPool
|
||||
threadCount: 1
|
||||
threadPriority: 5
|
||||
threadsInheritContextClassLoaderOfInitializingThread: true
|
||||
|
||||
#Mybatis-Flex
|
||||
mybatis-flex:
|
||||
global-config:
|
||||
key-config:
|
||||
key-type: generator
|
||||
value: snowFlakeId
|
||||
# 逻辑删除数据存在标记值 默认值:0
|
||||
normal-value-of-logic-delete: 0
|
||||
# 逻辑删除数据删除标记值 默认值:0
|
||||
deleted-value-of-logic-delete: 1
|
||||
# 全局逻辑删除默认字段
|
||||
logic-delete-column: is_delete
|
||||
|
||||
# 线程池配置参数
|
||||
task:
|
||||
pool:
|
||||
# 设置核心线程数
|
||||
corePoolSize: 10
|
||||
# 设置最大线程数
|
||||
maxPoolSize: 20
|
||||
# 设置空闲线程存活时间(秒
|
||||
keepAliveSeconds: 300
|
||||
# 设置队列容量
|
||||
queueCapacity: 100
|
||||
# 设置线程名称前缀
|
||||
threadNamePrefix: "PuPu-Oam-AsyncNotify-"
|
||||
# 设置线程池等待终止时间(秒)
|
||||
awaitTerminationSeconds: 60
|
||||
|
||||
logging:
|
||||
level:
|
||||
#swagger日志
|
||||
springfox: error
|
||||
@ -0,0 +1,80 @@
|
||||
#\u767B\u5F55\u4FE1\u606F
|
||||
i18n_login_success=Login Success
|
||||
i18n_loginOut_success=Login Out Success
|
||||
|
||||
#\u544A\u8B66\u90AE\u4EF6i18n
|
||||
i18n_alarm_email_dir=Dear
|
||||
i18n_alarm_email_as_below=This is an alarm information from cloud platform:
|
||||
i18n_alarm_email_content=Alarm content:
|
||||
i18n_alarm_email_source=Alarm source:
|
||||
i18n_alarm_email_level=Alarm level:
|
||||
i18n_alarm_email_time=Alarm time:
|
||||
i18n_alarm_email_level_alert=alert
|
||||
i18n_alarm_email_level_info=info
|
||||
i18n_alarm_email_level_warning=warning
|
||||
i18n_alarm_email_level_error=error
|
||||
i18n_alarm_email_tip=If the alarm level is warning or error, please resolve it as soon as possible!
|
||||
i18n_alarm_email_not_reply=This email is automatically sent by system, please do not reply.
|
||||
i18n_alarm_email_subject=System alert email
|
||||
|
||||
#\u7CFB\u7EDF\u4FE1\u606F
|
||||
i18n_sysInfo_no_version_Info=No version information retrieved!
|
||||
|
||||
#\u7CFB\u7EDF\u65E5\u5FD7\u4FE1\u606F
|
||||
i18n_sysLog_terminalLog=Terminal Log
|
||||
i18n_sysLog_systemLog=System Log
|
||||
i18n_sysLog_webLog=Web Log
|
||||
i18n_sysLog_DBLog=DataBase Log
|
||||
i18n_sysLog_pgPoolLog=PgPool Log
|
||||
|
||||
#\u64CD\u4F5C\u65E5\u5FD7\u4FE1\u606F
|
||||
i18n_operationLog_systemLogin=System User Login
|
||||
i18n_operationLog_systemLogout=System User Logout
|
||||
i18n_operationLog_insertOamMenu=Insert Oam Menu
|
||||
i18n_operationLog_updateOamMenu=Update Oam Menu
|
||||
i18n_operationLog_removeOamMenu=Remove Oam Menu
|
||||
i18n_operationLog_insertOamRole=Insert Oam Role
|
||||
i18n_operationLog_updateOamRole=Update Oam Role
|
||||
i18n_operationLog_removeOamRole=Remove Oam Role
|
||||
i18n_operationLog_insertOamDept=Insert Oam Dept
|
||||
i18n_operationLog_updateOamDept=Update Oam Dept
|
||||
i18n_operationLog_removeOamDept=Remove Oam Dept
|
||||
i18n_operationLog_insertOamStaff=Insert Oam User
|
||||
i18n_operationLog_updateOamStaff=Update Oam User
|
||||
i18n_operationLog_removeOamStaff=Remove Oam User
|
||||
i18n_operationLog_updateOamStaffPassword=Update Oam Staff Password
|
||||
i18n_operationLog_insertOamDuty=Insert Oam Duty
|
||||
i18n_operationLog_removeOamDuty=Remove Oam Duty
|
||||
i18n_operationLog_insertIterationTask=Insert Iteration Task
|
||||
i18n_operationLog_setTaskAuditComments=Set Task Audit Comments
|
||||
i18n_operationLog_claimTask=Claim Duty
|
||||
i18n_operationLog_removeTask=Remove Task
|
||||
i18n_operationLog_insertTaskStaffGroup=Insert Task Staff Group
|
||||
i18n_operationLog_updateStaffGrandPoint=Update Staff Grand Point
|
||||
i18n_operationLog_removeTaskStaffGroup=Remove Task Staff Group
|
||||
i18n_operationLog_updateTaskItem=Update Task Item
|
||||
i18n_operationLog_updateTaskResponsibleStaff=Update Task Responsible Staff
|
||||
i18n_operationLog_insertDemandTask=Insert Demand Task
|
||||
i18n_operationLog_insertWorkOrder=Insert Work Order
|
||||
i18n_operationLog_finishTask=Finish Task
|
||||
i18n_operationLog_insertWorkOrderRecord=Insert Work Order Record
|
||||
i18n_operationLog_concludeWorkOrder=Conclude Work Order
|
||||
i18n_operationLog_pauseWorkOrder=Pause Work Order
|
||||
i18n_operationLog_insertReimburseType=Insert Reimburse Type
|
||||
i18n_operationLog_updateReimburseType=Update Reimburse Type
|
||||
i18n_operationLog_removeReimburseType=Remove Reimburse Type
|
||||
i18n_operationLog_auditStaffApplication=Audit Staff Application
|
||||
i18n_operationLog_reimburseReject=Reimburse Reject
|
||||
i18n_operationLog_reimbursePay=Reimburse Pay
|
||||
|
||||
#\u7CFB\u7EDF\u63D0\u793A\u4FE1\u606F
|
||||
i18n_alert_accountOrPwdError=Username or password is wrong!
|
||||
i18n_alert_peopleUnderTheDepartmentError=There are people under the department, it is not allowed to delete the department!
|
||||
i18n_alert_departmentNotDeactivatedError=The current department is not deactivated, deletion is not allowed\uFF01
|
||||
i18n_alert_userOrPhoneOrEmailIsExist=Username or mobile phone number or email address already exists
|
||||
i18n_alert_userIsExist=User already exists
|
||||
i18n_alert_oldPasswordIsWrong=The old password was entered incorrectly, please try again
|
||||
|
||||
#\u7CFB\u7EDF\u57FA\u7840\u4FE1\u606F
|
||||
i18n_baseInfo_success=Success
|
||||
i18n_baseInfo_failed=Failed
|
||||
@ -0,0 +1,80 @@
|
||||
#\u767B\u5F55\u4FE1\u606F
|
||||
i18n_login_success=\u767B\u5F55\u6210\u529F
|
||||
i18n_loginOut_success=\u767B\u51FA\u6210\u529F
|
||||
|
||||
#\u544A\u8B66\u90AE\u4EF6i18n
|
||||
i18n_alarm_email_dir=\u4EB2\u7231\u7684
|
||||
i18n_alarm_email_as_below=\u4EE5\u4E0B\u662F\u7CFB\u7EDF\u53D1\u9001\u7684\u544A\u8B66\u4FE1\u606F:
|
||||
i18n_alarm_email_content=\u544A\u8B66\u5185\u5BB9:
|
||||
i18n_alarm_email_source=\u544A\u8B66\u6765\u6E90:
|
||||
i18n_alarm_email_level=\u544A\u8B66\u7EA7\u522B:
|
||||
i18n_alarm_email_time=\u544A\u8B66\u65F6\u95F4:
|
||||
i18n_alarm_email_level_alert=\u63D0\u793A
|
||||
i18n_alarm_email_level_info=\u4FE1\u606F
|
||||
i18n_alarm_email_level_warning=\u8B66\u544A
|
||||
i18n_alarm_email_level_error=\u9519\u8BEF
|
||||
i18n_alarm_email_tip=\u5982\u679C\u662F\u8B66\u544A\u6216\u9519\u8BEF\u7EA7\u522B\u7684\u4FE1\u606F,\u8BF7\u5C3D\u5FEB\u5904\u7406,\u4EE5\u514D\u5F71\u54CD\u5DE5\u4F5C\u4E1A\u52A1\uFF01
|
||||
i18n_alarm_email_not_reply=\u672C\u90AE\u4EF6\u4E3A\u7CFB\u7EDF\u81EA\u52A8\u53D1\u9001\u7684\u90AE\u4EF6,\u8BF7\u52FF\u56DE\u590D\u3002
|
||||
i18n_alarm_email_subject=\u7CFB\u7EDF\u544A\u8B66\u90AE\u4EF6
|
||||
|
||||
#\u7CFB\u7EDF\u4FE1\u606F
|
||||
i18n_sysInfo_no_version_Info=\u6CA1\u6709\u68C0\u7D22\u5230\u7248\u672C\u4FE1\u606F\uFF01
|
||||
|
||||
#\u7CFB\u7EDF\u65E5\u5FD7\u4FE1\u606F
|
||||
i18n_sysLog_terminalLog=\u7EC8\u7AEF\u65E5\u5FD7
|
||||
i18n_sysLog_systemLog=\u7CFB\u7EDF\u65E5\u5FD7
|
||||
i18n_sysLog_webLog=web\u65E5\u5FD7
|
||||
i18n_sysLog_DBLog=\u6570\u636E\u5E93\u65E5\u5FD7
|
||||
i18n_sysLog_pgPoolLog=pgPool\u65E5\u5FD7
|
||||
|
||||
#\u64CD\u4F5C\u65E5\u5FD7\u4FE1\u606F
|
||||
i18n_operationLog_systemLogin=\u7CFB\u7EDF\u7528\u6237\u767B\u5F55
|
||||
i18n_operationLog_systemLogout=\u7CFB\u7EDF\u7528\u6237\u9000\u51FA
|
||||
i18n_operationLog_insertOamMenu=\u6DFB\u52A0OAM\u83DC\u5355
|
||||
i18n_operationLog_updateOamMenu=\u4FEE\u6539OAM\u83DC\u5355
|
||||
i18n_operationLog_removeOamMenu=\u5220\u9664OAM\u83DC\u5355
|
||||
i18n_operationLog_insertOamRole=\u6DFB\u52A0OAM\u89D2\u8272
|
||||
i18n_operationLog_updateOamRole=\u4FEE\u6539OAM\u89D2\u8272
|
||||
i18n_operationLog_removeOamRole=\u5220\u9664OAM\u89D2\u8272
|
||||
i18n_operationLog_insertOamDept=\u6DFB\u52A0OAM\u90E8\u95E8
|
||||
i18n_operationLog_updateOamDept=\u4FEE\u6539OAM\u90E8\u95E8
|
||||
i18n_operationLog_removeOamDept=\u5220\u9664OAM\u90E8\u95E8
|
||||
i18n_operationLog_insertOamStaff=\u6DFB\u52A0OAM\u7528\u6237
|
||||
i18n_operationLog_updateOamStaff=\u4FEE\u6539OAM\u7528\u6237
|
||||
i18n_operationLog_removeOamStaff=\u5220\u9664OAM\u7528\u6237
|
||||
i18n_operationLog_updateOamStaffPassword=\u4FEE\u6539OAM\u7528\u6237\u5BC6\u7801
|
||||
i18n_operationLog_insertOamDuty=\u6DFB\u52A0OAM\u503C\u73ED
|
||||
i18n_operationLog_removeOamDuty=\u5220\u9664OAM\u503C\u73ED
|
||||
i18n_operationLog_insertIterationTask=\u6DFB\u52A0\u8FED\u4EE3\u4EFB\u52A1
|
||||
i18n_operationLog_setTaskAuditComments=\u8BBE\u7F6E\u5BA1\u6838\u610F\u89C1
|
||||
i18n_operationLog_claimTask=\u9886\u53D6\u4EFB\u52A1
|
||||
i18n_operationLog_removeTask=\u5220\u9664\u4EFB\u52A1
|
||||
i18n_operationLog_insertTaskStaffGroup=\u65B0\u589E\u4EFB\u52A1\u5458\u5DE5\u7EC4
|
||||
i18n_operationLog_updateStaffGrandPoint=\u66F4\u65B0\u5458\u5DE5\u7EE9\u70B9
|
||||
i18n_operationLog_removeTaskStaffGroup=\u5220\u9664\u5458\u5DE5\u4EFB\u52A1\u7EC4
|
||||
i18n_operationLog_updateTaskItem=\u66F4\u65B0\u4EFB\u52A1\u8FDB\u5EA6
|
||||
i18n_operationLog_updateTaskResponsibleStaff=\u66F4\u65B0\u4EFB\u52A1\u8D1F\u8D23\u4EBA
|
||||
i18n_operationLog_insertDemandTask=\u65B0\u589E\u9700\u6C42\u4EFB\u52A1
|
||||
i18n_operationLog_insertWorkOrder=\u65B0\u589E\u5DE5\u5355
|
||||
i18n_operationLog_finishTask=\u5B8C\u6210\u4EFB\u52A1
|
||||
i18n_operationLog_insertWorkOrderRecord=\u65B0\u589E\u5DE5\u5355\u8BB0\u5F55
|
||||
i18n_operationLog_concludeWorkOrder=\u5B8C\u6210\u5DE5\u5355
|
||||
i18n_operationLog_pauseWorkOrder=\u6682\u505C\u5DE5\u5355
|
||||
i18n_operationLog_insertReimburseType=\u6DFB\u52A0\u62A5\u9500\u7C7B\u578B
|
||||
i18n_operationLog_updateReimburseType=\u4FEE\u6539\u62A5\u9500\u7C7B\u578B
|
||||
i18n_operationLog_removeReimburseType=\u5220\u9664\u62A5\u9500\u7C7B\u578B
|
||||
i18n_operationLog_auditStaffApplication=\u5BA1\u6838\u5458\u5DE5\u7533\u8BF7
|
||||
i18n_operationLog_reimburseReject=\u62A5\u9500\u62D2\u7EDD
|
||||
i18n_operationLog_reimbursePay=\u62A5\u9500\u4E0B\u6B3E
|
||||
|
||||
#\u7CFB\u7EDF\u63D0\u793A\u4FE1\u606F
|
||||
i18n_alert_accountOrPwdError=\u8D26\u53F7\u6216\u5BC6\u7801\u9519\u8BEF\uFF01
|
||||
i18n_alert_peopleUnderTheDepartmentError=\u5F53\u524D\u90E8\u95E8\u4E0B\u6709\u4EBA\u5458\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664\u90E8\u95E8\uFF01
|
||||
i18n_alert_departmentNotDeactivatedError=\u5F53\u524D\u90E8\u95E8\u672A\u505C\u7528\uFF0C\u4E0D\u5141\u8BB8\u5220\u9664\u90E8\u95E8\uFF01
|
||||
i18n_alert_userOrPhoneOrEmailIsExist=\u7528\u6237\u540D\u6216\u624B\u673A\u53F7\u6216\u90AE\u7BB1\u5DF2\u5B58\u5728
|
||||
i18n_alert_userIsExist=\u7528\u6237\u5DF2\u5B58\u5728
|
||||
i18n_alert_oldPasswordIsWrong=\u65E7\u5BC6\u7801\u8F93\u5165\u9519\u8BEF\uFF0C\u8BF7\u91CD\u65B0\u8F93\u5165
|
||||
|
||||
#\u7CFB\u7EDF\u57FA\u7840\u4FE1\u606F
|
||||
i18n_baseInfo_success=\u6210\u529F
|
||||
i18n_baseInfo_failed=\u5931\u8D25
|
||||
@ -0,0 +1,31 @@
|
||||
package com.cpop.oam.web;
|
||||
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
/**
|
||||
* @author DB
|
||||
* @createTime 2023/09/15 17:44
|
||||
* @description
|
||||
*/
|
||||
@SpringBootTest
|
||||
public class CpopApiTests {
|
||||
|
||||
/*@Autowired
|
||||
private WebHookSendHandler webHookSendHandler;
|
||||
|
||||
*//**
|
||||
* @descriptions 机器人发送测试
|
||||
* @author DB
|
||||
* @date 2023/09/15 17:46
|
||||
*//*
|
||||
@Test
|
||||
public void webHookSendTest(){
|
||||
List<String> list = new ArrayList<>();
|
||||
list.add("17728500831");
|
||||
try {
|
||||
System.out.println(webHookSendHandler.webHookSendText("586442ba-6eeb-4a3c-937d-75faa4d9dbb9", list, "测试数据,不用管", false));
|
||||
} catch (IOException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}*/
|
||||
}
|
||||
@ -0,0 +1,81 @@
|
||||
package com.cpop.oam.web;
|
||||
|
||||
import com.cpop.core.base.entity.LoginUser;
|
||||
import com.cpop.core.base.enums.OperationLogEnum;
|
||||
import com.cpop.core.base.enums.UserType;
|
||||
import com.cpop.core.service.CoreService;
|
||||
import com.cpop.core.utils.RsaUtils;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @author DB
|
||||
* @Description: RockBlade核心功能测试
|
||||
* @create 2023-08-27 11:11
|
||||
*/
|
||||
@SpringBootTest
|
||||
public class CpopCoreTests {
|
||||
|
||||
@Autowired
|
||||
private CoreService coreService;
|
||||
|
||||
@Autowired
|
||||
private RsaUtils rsaUtils;
|
||||
|
||||
/**
|
||||
* @Description: 添加操作日志
|
||||
* @param
|
||||
* @return
|
||||
* @Author DB
|
||||
* @Date: 2023/8/27 11:11
|
||||
*/
|
||||
@Test
|
||||
public void insertOperationLog() {
|
||||
LoginUser loginUser = new LoginUser();
|
||||
loginUser.setIpAddr("localhost")
|
||||
.setUserId("1")
|
||||
.setUserName("RockBlade");
|
||||
coreService.insertOperationLog(200, OperationLogEnum.SYSTEM_LOGIN, loginUser, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 根据用户名获取用户信息
|
||||
* @param
|
||||
* @return
|
||||
* @Author DB
|
||||
* @Date: 2023/8/27 23:46
|
||||
*/
|
||||
@Test
|
||||
public void loadUserByUsername() {
|
||||
System.out.println(coreService.getSysUser("RockBlade", UserType.OAM_USER));
|
||||
}
|
||||
|
||||
/**
|
||||
* 初始化密钥对
|
||||
*/
|
||||
@Test
|
||||
public void initKeyPair() {
|
||||
Map<String, String> keyPairMap = rsaUtils.initKeyPair();
|
||||
String publicKey = keyPairMap.get("publicKey");
|
||||
String privateKey = keyPairMap.get("privateKey");
|
||||
System.out.println("公钥:");
|
||||
System.out.println(publicKey);
|
||||
System.out.println();
|
||||
System.out.println("私钥:");
|
||||
System.out.println(privateKey);
|
||||
System.out.println();
|
||||
String source = "Admin@123";
|
||||
System.out.println("待加密字符串:"+source);
|
||||
System.out.println();
|
||||
String strEncrypt = rsaUtils.encrypt(source);
|
||||
System.out.println("加密后的字符串:");
|
||||
System.out.println(strEncrypt);
|
||||
System.out.println();
|
||||
String strDecrypt = rsaUtils.decrypt(strEncrypt);
|
||||
System.out.println("解密后的字符串:");
|
||||
System.out.println(strDecrypt);
|
||||
}
|
||||
}
|
||||
24
Cpop-Oam/pom.xml
Normal file
24
Cpop-Oam/pom.xml
Normal file
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<parent>
|
||||
<groupId>com.cpop</groupId>
|
||||
<artifactId>Cpop-Union</artifactId>
|
||||
<version>1.0.0</version>
|
||||
<relativePath>../pom.xml</relativePath> <!-- lookup parent from repository -->
|
||||
</parent>
|
||||
<artifactId>Cpop-Oam</artifactId>
|
||||
<name>Cpop-Oam</name>
|
||||
<description>Oam模块</description>
|
||||
<packaging>jar</packaging>
|
||||
|
||||
<dependencies>
|
||||
<!--核心包-->
|
||||
<dependency>
|
||||
<groupId>com.cpop</groupId>
|
||||
<artifactId>Cpop-Core</artifactId>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
414
Cpop-Oam/sql/Oam.sql
Normal file
414
Cpop-Oam/sql/Oam.sql
Normal file
@ -0,0 +1,414 @@
|
||||
/*
|
||||
Navicat Premium Data Transfer
|
||||
|
||||
Source Server : localhost
|
||||
Source Server Type : MySQL
|
||||
Source Server Version : 80032
|
||||
Source Host : localhost:3306
|
||||
Source Schema : cpop-union
|
||||
|
||||
Target Server Type : MySQL
|
||||
Target Server Version : 80032
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 27/09/2023 16:06:32
|
||||
*/
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pp_oam_dept
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cp_oam_dept`;
|
||||
CREATE TABLE `cp_oam_dept` (
|
||||
`id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '部门id',
|
||||
`parent_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '父部门id',
|
||||
`name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '部门名称',
|
||||
`order_no` int(0) NULL DEFAULT NULL COMMENT '排序',
|
||||
`leader` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '负责人',
|
||||
`phone` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '电话',
|
||||
`email` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '邮箱',
|
||||
`status` tinyint(1) NULL DEFAULT NULL COMMENT '部门状态:1正常,0停用',
|
||||
`remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '备注',
|
||||
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`create_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人id',
|
||||
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
|
||||
`update_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人id',
|
||||
`is_delete` tinyint(1) NULL DEFAULT 1 COMMENT '逻辑删除(0否1是)',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '部门表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of pp_oam_dept
|
||||
-- ----------------------------
|
||||
INSERT INTO `cp_oam_dept` VALUES ('72c677f7f492c98f39e633ddc4433d17', NULL, '深圳普普数字产业发展有限公司', 0, 'DB', '18000000000', '18000000000@qq.com', 1, NULL, '2023-03-20 22:17:59', '1', '2023-09-12 16:33:44', '1', 0);
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pp_oam_duty
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cp_oam_duty`;
|
||||
CREATE TABLE `cp_oam_duty` (
|
||||
`id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
|
||||
`service_staff_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '服务员工id',
|
||||
`technology_staff_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '技术员工id',
|
||||
`duty_date` date NULL DEFAULT NULL COMMENT '值班日期',
|
||||
`remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL COMMENT '备注',
|
||||
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`create_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人id',
|
||||
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
|
||||
`update_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人id',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci COMMENT = '值班表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of pp_oam_duty
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pp_oam_finance_reimburse
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cp_oam_finance_reimburse`;
|
||||
CREATE TABLE `cp_oam_finance_reimburse` (
|
||||
`id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
|
||||
`staff_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '提交人',
|
||||
`status` int(0) NULL DEFAULT 0 COMMENT '状态:0:已提交;1:审批中;2:下款中;3:已下发;4:驳回',
|
||||
`type_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '申请类型',
|
||||
`report_date` date NULL DEFAULT NULL COMMENT '报销日期',
|
||||
`remarks` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '申请说明',
|
||||
`price` decimal(20, 2) NULL DEFAULT NULL COMMENT '申请金额',
|
||||
`attachment_url` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '附件',
|
||||
`reject_reason` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '驳回原因',
|
||||
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
|
||||
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间',
|
||||
`create_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人id',
|
||||
`update_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人id',
|
||||
`is_delete` tinyint(0) NULL DEFAULT 0 COMMENT '逻辑删除',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '报销记录表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of pp_oam_finance_reimburse
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pp_oam_finance_reimburse_stage
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cp_oam_finance_reimburse_stage`;
|
||||
CREATE TABLE `cp_oam_finance_reimburse_stage` (
|
||||
`id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
|
||||
`finance_reimburse_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '报销记录id',
|
||||
`stage_amount` decimal(10, 2) NULL DEFAULT NULL COMMENT '阶段金额',
|
||||
`payment_time` datetime(0) NULL DEFAULT NULL COMMENT '下发时间',
|
||||
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
|
||||
`create_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人id',
|
||||
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
|
||||
`update_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人id',
|
||||
`deleted` tinyint(1) NULL DEFAULT 1 COMMENT '逻辑删除(1否0是)',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '报销阶段表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of pp_oam_finance_reimburse_stage
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pp_oam_finance_reimburse_type
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cp_oam_finance_reimburse_type`;
|
||||
CREATE TABLE `cp_oam_finance_reimburse_type` (
|
||||
`id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
|
||||
`type_name` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '报销类型',
|
||||
`create_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '创建时间',
|
||||
`create_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人id',
|
||||
`update_time` datetime(0) NULL DEFAULT CURRENT_TIMESTAMP(0) COMMENT '更新时间',
|
||||
`update_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人id',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
INDEX `report_name`(`type_name`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '报销类型表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of pp_oam_finance_reimburse_type
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pp_oam_menu
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cp_oam_menu`;
|
||||
CREATE TABLE `cp_oam_menu` (
|
||||
`id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单ID',
|
||||
`parent_menu` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '父级菜单ID',
|
||||
`name` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT '' COMMENT '菜单名称',
|
||||
`icon` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单图标',
|
||||
`component` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '菜单路由,父菜单为空',
|
||||
`status` tinyint(1) NULL DEFAULT NULL COMMENT '标记菜单的状态 0:禁用 1:正常(根据权限正常显示)',
|
||||
`type` int(0) NULL DEFAULT NULL COMMENT '菜单类型,0:目录,1:菜单,2:按钮',
|
||||
`permission` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '权限',
|
||||
`redirect` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '重定向路径,一级菜单有值',
|
||||
`order_no` int(0) NULL DEFAULT NULL COMMENT '排序,值越小越靠前,一级菜单有值',
|
||||
`path` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '路由地址',
|
||||
`title` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '标题',
|
||||
`hide_menu` tinyint(1) NULL DEFAULT 0 COMMENT '隐藏菜单',
|
||||
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`create_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人id',
|
||||
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
|
||||
`update_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人id',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统菜单表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of pp_oam_menu
|
||||
-- ----------------------------
|
||||
INSERT INTO `cp_oam_menu` VALUES ('0543bcb8d5e324bbfdb3ab5a6a69b6d9', '1e0ab5fda780a0a0f76aa484ef92ec12', NULL, NULL, 'LAYOUT', 1, 2, 'dutyCalendar:duty:remove', NULL, 10, NULL, '删除值班', 0, '2023-05-19 09:23:26', '1', '2023-09-15 10:40:34', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('07585353c7ed61cca5fba5ba0057fe9f', NULL, 'OamTask', 'ant-design:carry-out-outlined', 'LAYOUT', 1, 0, NULL, NULL, 10, '/oamTask', '任务管理', 0, '2023-05-19 10:10:24', '1', '2023-09-15 15:46:23', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('0bc2a7f74fbfa18a6de9e8582a12a7ae', '0d486bfdddc4d9aae67a7162467848ba', NULL, NULL, 'LAYOUT', 1, 2, 'oamTask:task:update', NULL, 20, NULL, '领取任务', 0, '2023-05-19 17:53:17', '1', '2023-09-15 15:47:05', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('0d486bfdddc4d9aae67a7162467848ba', '07585353c7ed61cca5fba5ba0057fe9f', 'Task', 'ant-design:align-left-outlined', '/oamTask/task/Index.vue', 1, 1, 'oamTask:task:list', NULL, 0, '/oamTask/task', '任务列表', 0, '2023-05-19 10:15:13', '1', '2023-09-26 15:26:38', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('118a8b1f852823668c3e4969442b1b06', 'bdaf51dd6319b24f7ba1c8d2ae11b953', 'Brand', 'ant-design:behance-circle-filled', '/brandAndCampus/brand/index.vue', 1, 1, 'brandAndCampus:brand:list', NULL, 0, '/brandAndCampus/brand', '品牌管理', 0, '2023-06-01 18:00:25', '1', '2023-06-07 10:07:28', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('13474e90432670ec0ffebaf63bd42984', '0d486bfdddc4d9aae67a7162467848ba', NULL, NULL, 'LAYOUT', 1, 2, 'oamTask:task:insert', NULL, 0, NULL, '添加迭代任务', 0, '2023-05-19 17:51:37', '1', '2023-09-15 15:46:51', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('1e0ab5fda780a0a0f76aa484ef92ec12', '282e702ef80abfab3e15f857a7fbaf38', 'Duty', 'ant-design:table-outlined', '/dutyCalendar/duty/index.vue', 1, 1, 'dutyCalendar:duty:list', NULL, 0, '/dutyCalendar/duty', '值班管理', 1, '2023-05-17 15:02:54', '1', '2023-09-15 10:40:14', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('22fdbfdbdefabb5bfb93f883ab5dcf2e', '118a8b1f852823668c3e4969442b1b06', NULL, NULL, 'LAYOUT', 1, 2, 'brandAndCampus:brand:update', NULL, 0, NULL, '编辑品牌', 0, '2023-06-01 18:01:15', '1', '2023-06-07 10:07:43', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('282e702ef80abfab3e15f857a7fbaf38', NULL, 'DutyCalendar', 'ant-design:table-outlined', 'LAYOUT', 1, 0, NULL, '/dutyCalendar/duty', 50, '/dutyCalendar', '值班管理', 0, '2023-05-17 14:56:49', '1', '2023-09-15 10:42:10', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('29a80a59088e00ec86c39ae4b4216f02', '56159c5249674322afe4577ecc4e4fb0', 'AccountDetail', 'ant-design:android-filled', '/system/account/components/AccountDetail.vue', 1, 1, NULL, NULL, 35, '/system/accountDetail/:id', '账号详情', 1, '2022-10-20 10:34:31', '1', '2023-04-12 17:37:12', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('2b43f89630a90fa1d4e0325d3de20c4a', '97916ae22affe061ec9af71afc915af5', NULL, NULL, 'LAYOUT', 1, 2, 'oamTask:taskDemand:insert', NULL, 0, NULL, '新增需求', 0, '2023-05-30 15:34:21', '1', '2023-05-30 17:14:32', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('34b34b1461e9d8ff28904bdcebf6c801', 'bdaf51dd6319b24f7ba1c8d2ae11b953', 'BrandStaff', 'ant-design:user-outlined', '/brandAndCampus/brandStaff/index.vue', 1, 1, 'brandAndCampus:brandStaff:list', NULL, 10, '/brandAndCampus/brandStaff', '品牌管理员', 0, '2023-06-02 11:11:25', '1', '2023-09-14 10:16:08', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('3757a482ea8ab4533ea3f58b53844df8', '5f6f850fafc42bf86cccd2b20c2d4560', NULL, NULL, 'LAYOUT', 1, 2, 'toamTask:workOrder:record', NULL, 20, NULL, '工单记录', 0, '2023-07-13 12:47:45', '1', '2023-07-13 12:47:45', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('37584218da7773e76fc8cb58a27c190c', '56159c5249674322afe4577ecc4e4fb0', 'Config', 'ant-design:control-filled', '/system/config/index.vue', 1, 1, 'system:config:list', NULL, 40, '/system/config', '系统配置', 0, '2023-07-13 15:19:26', '1', '2023-07-13 15:19:26', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('37e2f67bec72f466c1b6863132a6444e', NULL, 'WechatDevelopmentPlatform', 'ant-design:aliwangwang-outlined', 'LAYOUT', 0, 0, NULL, NULL, 80, '/wechatDevelopmentPlatform', '微信开发平台', 0, '2023-06-07 15:18:01', '1', '2023-07-04 17:40:38', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('43189970133945d5c5e854b8a8c7acb1', '56159c5249674322afe4577ecc4e4fb0', 'Menu', 'fa:bars', '/system/menu/index.vue', 1, 1, NULL, NULL, 0, '/system/menu', '菜单管理', 0, '2022-10-02 19:07:55', '1', '2022-10-19 17:12:32', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('469e2e562418185cf40936c1b1bd8f73', '883112b812224735d2a71b120d0bdf66', NULL, NULL, 'LAYOUT', 1, 2, 'system:dept:update', NULL, 10, NULL, '修改部门', 0, '2022-10-19 17:38:53', '1', '2022-10-19 17:38:53', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('4b0cb1472b28b094cb3f2301c792bac3', '913147f25f3721685f74570df0ed6f29', NULL, NULL, 'LAYOUT', 1, 2, 'system:account:update', NULL, 10, NULL, '修改账号', 0, '2022-10-20 11:23:35', '1', '2022-10-20 11:23:35', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('508f8ede8beb9ba02d3ba25ab74b57cf', 'c29ebe0bfbc9d62412c0a663175f82ec', NULL, NULL, 'LAYOUT', 1, 2, 'oamTask:taskAudit:update', NULL, 0, NULL, '任务审核', 0, '2023-05-29 09:12:12', '1', '2023-09-18 09:53:54', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('56159c5249674322afe4577ecc4e4fb0', NULL, 'System', 'fa:cogs', 'LAYOUT', 1, 0, NULL, NULL, 100, '/system', '系统管理', 0, '2022-09-29 22:48:18', '1', '2023-05-17 14:51:37', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('5f6f850fafc42bf86cccd2b20c2d4560', '07585353c7ed61cca5fba5ba0057fe9f', 'WorkOrder', 'ant-design:bulb-twotone', '/oamTask/workOrder/Index.vue', 1, 1, 'oamTask:workOrder:list', NULL, 30, '/oamTask/workOrder', '工单管理', 0, '2023-07-13 12:45:35', '1', '2023-09-26 15:26:56', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('5fac1c7c5a5f7f04f1030725c093e7be', '90fb318a81def682de9c48b0fd05cc75', NULL, NULL, 'LAYOUT', 1, 2, 'wechatDevelopmentPlatform:applet:insert', NULL, 0, NULL, '新增小程序', 0, '2023-06-07 15:29:10', '1', '2023-06-07 15:29:10', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('62362924994736128', NULL, 'Finance', 'ant-design:money-collect-filled', 'LAYOUT', 1, 0, NULL, NULL, 40, '/finance', '财务报销', 0, '2023-09-21 15:09:00', '1', '2023-09-21 15:09:00', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('62363536260018176', '62362924994736128', 'Application', 'ant-design:arrow-up-outlined', '/financial/application/Index.vue', 1, 1, 'financial:application:list', NULL, 0, '/financial/application', '报销申请', 0, '2023-09-21 15:11:26', '1', '2023-09-25 13:06:37', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('62364011151699968', '62362924994736128', 'Audit', 'ant-design:bug-twotone', '/financial/audit/Index.vue', 1, 1, 'financial:reimburseAudit:list', NULL, 5, '/financial/audit', '报销审核', 0, '2023-09-21 15:13:19', '1', '2023-09-27 14:06:39', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('628e33ac5f72b68e6f11b7e5e1ac4c72', '5f6f850fafc42bf86cccd2b20c2d4560', NULL, NULL, 'LAYOUT', 1, 2, 'task:workOrder:update', NULL, 10, NULL, '修改工单', 0, '2023-07-13 12:47:14', '1', '2023-07-13 12:47:14', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('63781576994349056', '62363536260018176', '', NULL, 'LAYOUT', 1, 2, 'financial:application:insert', NULL, 0, NULL, '新增报销', 0, '2023-09-25 13:06:13', '1', '2023-09-25 13:06:13', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('64547480627785728', '62364011151699968', '', NULL, 'LAYOUT', 1, 2, 'financial:reimburseAudit:update', NULL, 0, NULL, '编辑报销审核', 0, '2023-09-27 15:49:39', '1', '2023-09-27 15:50:50', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('64547713428434944', '62364011151699968', '', NULL, 'LAYOUT', 1, 2, 'financial:reimburseAudit:insert', NULL, 5, NULL, '新增报销审核', 0, '2023-09-27 15:50:34', '1', '2023-09-27 15:50:34', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('64547902948061184', '62364011151699968', '', NULL, 'LAYOUT', 1, 2, 'financial:reimburseAudit:remove', NULL, 10, NULL, '删除报销审核', 0, '2023-09-27 15:51:19', '1', '2023-09-27 15:51:19', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('735d0f3d49a4543d4af64a9cf4652dff', '1e0ab5fda780a0a0f76aa484ef92ec12', NULL, NULL, 'LAYOUT', 1, 2, 'dutyCalendar:duty:insert', NULL, 0, NULL, '新增值班', 0, '2023-05-19 09:22:58', '1', '2023-09-15 10:40:25', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('7be5939441b413a705a5fcb600839f0f', 'ae8d81c31d13607b6f4b1962df01d469', NULL, NULL, 'LAYOUT', 1, 2, 'brandAndCampus:campus:update', NULL, 0, NULL, '编辑校区', 0, '2023-06-07 09:54:51', '1', '2023-06-07 10:08:12', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('81973d68c66261975c6c2b5eef9084dd', '913147f25f3721685f74570df0ed6f29', NULL, NULL, 'LAYOUT', 1, 2, 'system:account:info', NULL, 40, NULL, '账号详情', 0, '2022-10-20 11:29:37', '1', '2022-10-20 11:29:37', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('83a42156935b50053fbacfa09ef43fbb', '913147f25f3721685f74570df0ed6f29', NULL, NULL, 'LAYOUT', 1, 2, 'system:account:insert', NULL, 0, NULL, '新增账号', 0, '2022-10-20 11:23:05', '1', '2022-10-20 11:23:05', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('84098277d121e712c3ea7e850ef0ef49', '118a8b1f852823668c3e4969442b1b06', NULL, NULL, 'LAYOUT', 1, 2, 'brandAndCampus:brand:remove', NULL, 10, NULL, '删除品牌', 0, '2023-06-01 18:01:38', '1', '2023-06-07 10:07:17', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('883112b812224735d2a71b120d0bdf66', '56159c5249674322afe4577ecc4e4fb0', 'Department', 'ant-design:apartment-outlined', '/system/dept/index.vue', 1, 1, 'system:dept:list', NULL, 20, '/system/department', '部门管理', 0, '2022-10-14 16:11:15', '1', '2022-10-20 09:47:57', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('89b03c3daceb1c2ebe2aa01c4a775888', '5f6f850fafc42bf86cccd2b20c2d4560', NULL, NULL, 'LAYOUT', 1, 2, 'oamTask:workOrder:insert', NULL, 0, NULL, '新增工单', 0, '2023-07-13 12:46:36', '1', '2023-07-13 12:46:36', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('8a3cabbff478dac7366d8b5e56da9296', '0d486bfdddc4d9aae67a7162467848ba', NULL, NULL, 'LAYOUT', 1, 2, 'oamTask:task:remove', NULL, 10, NULL, '删除任务', 0, '2023-05-19 17:52:03', '1', '2023-09-15 15:46:57', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('8fc436c8b5085e3d6b51ae3a87eb3c2e', 'ae8d81c31d13607b6f4b1962df01d469', NULL, NULL, 'LAYOUT', 1, 2, 'brandAndCampus:campus:remove', NULL, 10, NULL, '删除校区', 0, '2023-06-07 09:55:16', '1', '2023-06-07 10:08:25', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('8fd75624e030697574bbee52be834120', '90fb318a81def682de9c48b0fd05cc75', NULL, NULL, 'LAYOUT', 1, 2, 'wechatDevelopmentPlatform:applet:remove', NULL, 20, NULL, '删除小程序', 0, '2023-06-07 15:29:47', '1', '2023-06-07 15:29:47', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('90fb318a81def682de9c48b0fd05cc75', '37e2f67bec72f466c1b6863132a6444e', 'Applet', 'ant-design:star-outlined', '/wechatDevelopmentPlatform/applet/index.vue', 1, 1, 'wechatDevelopmentPlatform:applet:list', NULL, 5, '/wechatDevelopmentPlatform/applet', '小程序管理', 0, '2023-06-07 15:20:56', '1', '2023-06-07 16:35:08', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('913147f25f3721685f74570df0ed6f29', '56159c5249674322afe4577ecc4e4fb0', 'Account', 'ant-design:user-switch-outlined', '/system/account/index.vue', 1, 1, 'system:account:list', NULL, 30, '/system/account', '账号管理', 0, '2022-10-14 16:12:48', '1', '2022-10-20 11:23:18', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('97916ae22affe061ec9af71afc915af5', '07585353c7ed61cca5fba5ba0057fe9f', 'TaskDemand', 'ant-design:highlight-outlined', '/oamTask/taskDemand/Index.vue', 1, 1, 'oamTask:taskDemand:list', NULL, 20, '/oamTask/taskDemand', '需求管理', 0, '2023-05-30 15:33:40', '1', '2023-09-26 15:26:49', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('9f617344d80b7cdd8ffe7134b6b123c1', 'ff2f547cefb7e18a0b922afb3e491d87', NULL, NULL, 'LAYOUT', 1, 2, 'system:role:remove', NULL, 20, NULL, '删除角色', 0, '2022-10-20 10:26:21', '1', '2022-10-20 10:26:21', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('9f6ff374ed8c9c48152bb7f571688a1a', '913147f25f3721685f74570df0ed6f29', NULL, NULL, 'LAYOUT', 1, 2, 'system:account:remove', NULL, 20, NULL, '删除账号', 0, '2022-10-20 11:23:52', '1', '2022-10-20 11:23:52', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('9fb84dd03cb4e7e7722325d8aaa0161d', '883112b812224735d2a71b120d0bdf66', NULL, NULL, 'LAYOUT', 1, 2, 'system:dept:insert', NULL, 0, NULL, '新增部门', 0, '2022-10-19 17:26:49', '1', '2022-10-19 17:45:13', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('ae8d81c31d13607b6f4b1962df01d469', 'bdaf51dd6319b24f7ba1c8d2ae11b953', 'Campus', 'ant-design:linkedin-filled', '/brandAndCampus/campus/index.vue', 1, 1, 'brandAndCampus:campus:list', NULL, 5, '/brandAndCampus/campus', '校区管理', 0, '2023-06-07 09:53:22', '1', '2023-09-14 10:15:35', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('ae9a4ffa962c4bb9369332f18d5a7c27', 'fc0534b43c89ab33cd5c7c7a61cd8af9', 'Analysis', 'ion:grid-outline', '/dashboard/analysis/index.vue', 1, 1, NULL, NULL, 0, '/dashboard/analysis', '分析页', 1, '2022-10-19 16:05:38', '1', '2022-10-19 17:13:28', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('bdaf51dd6319b24f7ba1c8d2ae11b953', NULL, 'BrandAndCampus', 'ant-design:sketch-outlined', 'LAYOUT', 1, 0, NULL, NULL, 30, '/brandAndCampus', '品牌校区', 0, '2023-06-01 17:58:10', '1', '2023-06-01 17:58:10', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('c29ebe0bfbc9d62412c0a663175f82ec', '07585353c7ed61cca5fba5ba0057fe9f', 'AuditList', 'ant-design:alert-twotone', '/oamTask/auditList/Index.vue', 1, 1, 'oamTask:taskAudit:list', NULL, 10, '/oamTask/auditList', '审核列表', 0, '2023-05-19 18:06:09', '1', '2023-09-26 15:26:43', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('c702e78723fbd8483b797fafd8205cd0', 'ff2f547cefb7e18a0b922afb3e491d87', NULL, NULL, 'LAYOUT', 1, 2, 'system:role:update', NULL, 10, NULL, '修改角色', 0, '2022-10-20 10:26:04', '1', '2022-10-20 10:26:04', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('ca262b7fc779b93b677b687cf53f21ce', '34b34b1461e9d8ff28904bdcebf6c801', NULL, NULL, 'LAYOUT', 1, 2, 'brandAndCampus:brandStaff:insert', NULL, 0, NULL, '添加品牌管理员', 0, '2023-06-02 11:26:01', '1', '2023-09-14 17:49:51', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('cbabba6bad9ed10af0c0adf1ad669344', '90fb318a81def682de9c48b0fd05cc75', NULL, NULL, 'LAYOUT', 1, 2, 'wechatDevelopmentPlatform:applet:update', NULL, 10, NULL, '修改小程序', 0, '2023-06-07 15:29:28', '1', '2023-06-07 15:29:28', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('d31018cf901c9d5cfecb0c112ac3f1d0', '883112b812224735d2a71b120d0bdf66', NULL, NULL, 'LAYOUT', 1, 2, 'system:dept:remove', NULL, 20, NULL, '删除部门', 0, '2022-10-19 17:56:04', '1', '2022-10-19 17:56:04', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('dd510cfe81e9f4659caed569da35e415', '34b34b1461e9d8ff28904bdcebf6c801', NULL, NULL, 'LAYOUT', 1, 2, 'brandAndCampus:brandStaff:remove', NULL, 10, NULL, '删除品牌管理员', 0, '2023-06-02 11:26:37', '1', '2023-09-14 17:50:02', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('df7de32544aaf7b74aa7c6aaf684e5c4', 'ff2f547cefb7e18a0b922afb3e491d87', NULL, NULL, 'LAYOUT', 1, 2, 'system:role:insert', NULL, 0, NULL, '新增角色', 0, '2022-10-20 10:25:44', '1', '2022-10-20 10:25:44', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('fc0534b43c89ab33cd5c7c7a61cd8af9', NULL, 'Dashboard', 'ion:grid-outline', 'LAYOUT', 1, 0, NULL, '/dashboard/analysis', 0, '/dashboard', '系统概况', 0, '2022-09-29 22:48:18', '1', '2022-10-19 17:13:37', '1');
|
||||
INSERT INTO `cp_oam_menu` VALUES ('ff2f547cefb7e18a0b922afb3e491d87', '56159c5249674322afe4577ecc4e4fb0', 'Role', 'ant-design:crown-filled', '/system/role/index.vue', 1, 1, 'system:role:list', NULL, 10, '/system/role', '角色管理', 0, '2022-10-02 20:06:22', '1', '2022-10-20 10:25:06', '1');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pp_oam_role
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cp_oam_role`;
|
||||
CREATE TABLE `cp_oam_role` (
|
||||
`id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
|
||||
`role_name` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '角色名称',
|
||||
`role_value` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '角色值',
|
||||
`status` tinyint(1) NULL DEFAULT 1 COMMENT '状态(1启用;0停用)',
|
||||
`remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '备注',
|
||||
`order_no` int(0) NULL DEFAULT NULL COMMENT '排序',
|
||||
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`create_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人id',
|
||||
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
|
||||
`update_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人id',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
UNIQUE INDEX `uni_role_value`(`role_value`) USING BTREE COMMENT '角色值唯一'
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统角色表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of pp_oam_role
|
||||
-- ----------------------------
|
||||
INSERT INTO `cp_oam_role` VALUES ('40bfee343c625523fc3763353996c6ef', '超级管理员', 'superAdmin', 1, '超级管理员', 0, '2023-03-21 20:38:30', '1', '2023-03-21 20:38:33', '1');
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pp_oam_role_menu
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cp_oam_role_menu`;
|
||||
CREATE TABLE `cp_oam_role_menu` (
|
||||
`role_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '角色id',
|
||||
`menu_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '菜单id',
|
||||
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`create_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人id',
|
||||
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
|
||||
`update_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人id',
|
||||
PRIMARY KEY (`role_id`, `menu_id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '系统-角色-菜单表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of pp_oam_role_menu
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pp_oam_staff
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cp_oam_staff`;
|
||||
CREATE TABLE `cp_oam_staff` (
|
||||
`id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
|
||||
`name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '姓名',
|
||||
`dept_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '部门id',
|
||||
`user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户id',
|
||||
`staff_type` int(0) NULL DEFAULT NULL COMMENT '员工类型(0:技术人员;1:售后人员;2:管理人员)',
|
||||
`role_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '角色id',
|
||||
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`create_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人id',
|
||||
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
|
||||
`update_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人id',
|
||||
`is_delete` tinyint(1) NULL DEFAULT 0 COMMENT '逻辑删除(0否1是)',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
INDEX `fk_user_id`(`user_id`) USING BTREE,
|
||||
CONSTRAINT `cp_oam_staff_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `cp_sys_user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '员工表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of pp_oam_staff
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pp_oam_task
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cp_oam_task`;
|
||||
CREATE TABLE `cp_oam_task` (
|
||||
`id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
|
||||
`task_name` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务名',
|
||||
`task_type` int(0) NULL DEFAULT NULL COMMENT '任务类型(0:迭代;1:需求;2:工单)',
|
||||
`responsible_staff_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '主要负责员工id',
|
||||
`task_status` int(0) NULL DEFAULT NULL COMMENT '任务状态(-1:失败;0:待审核;1:待接受;2:进行中;3:已完成;4:逾期;5:暂停;6:逾期完成)',
|
||||
`task_item` int(0) NULL DEFAULT NULL COMMENT '任务项(0:开发中;1:待测试:2:待部署;3:已归档)',
|
||||
`task_content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '任务内容',
|
||||
`task_weight` int(0) NULL DEFAULT NULL COMMENT '任务权重',
|
||||
`task_rating` int(0) NULL DEFAULT NULL COMMENT '任务评级(0:A;1:B;2:C;3:D;4:E)',
|
||||
`attachment_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '附件地址',
|
||||
`remark` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '备注',
|
||||
`expected_completion_date` date NULL DEFAULT NULL COMMENT '预期完成日期',
|
||||
`completion_date` date NULL DEFAULT NULL COMMENT '完成日期',
|
||||
`task_receipt_time` datetime(0) NULL DEFAULT NULL COMMENT '任务接收时间',
|
||||
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`create_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人id',
|
||||
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
|
||||
`update_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人id',
|
||||
`is_delete` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除(0否1是)',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'OAM-任务表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of pp_oam_task
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pp_oam_task_demand
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cp_oam_task_demand`;
|
||||
CREATE TABLE `cp_oam_task_demand` (
|
||||
`id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
|
||||
`task_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务id',
|
||||
`mechanism_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '商户id',
|
||||
`brand_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '品牌id',
|
||||
`campus_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '校区id',
|
||||
`demand_type` int(0) NULL DEFAULT NULL COMMENT '需求类型(0:轻;1:缓;2:急;3:重)',
|
||||
`record_staff_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '记录员工id',
|
||||
`sign_pic` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '签约图片',
|
||||
`sign_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL COMMENT '签约二维码',
|
||||
`prepayment` decimal(10, 2) NULL DEFAULT NULL COMMENT '预付款',
|
||||
`payable` decimal(10, 2) NULL DEFAULT NULL COMMENT '应付款',
|
||||
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`create_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人id',
|
||||
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
|
||||
`update_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人id',
|
||||
`is_delete` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除(0否1是)',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'OAM-任务-需求表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of pp_oam_task_demand
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pp_oam_task_staff_group
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cp_oam_task_staff_group`;
|
||||
CREATE TABLE `cp_oam_task_staff_group` (
|
||||
`id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
|
||||
`task_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务id',
|
||||
`staff_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '员工id',
|
||||
`grade_point` int(0) NULL DEFAULT NULL COMMENT '绩点',
|
||||
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`create_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人id',
|
||||
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
|
||||
`update_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人id',
|
||||
PRIMARY KEY (`id`) USING BTREE,
|
||||
INDEX `task_staff_key`(`task_id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = 'OAM-任务-关联员工任务组表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of pp_oam_task_staff_group
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pp_oam_task_work_order
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cp_oam_task_work_order`;
|
||||
CREATE TABLE `cp_oam_task_work_order` (
|
||||
`id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
|
||||
`task_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '任务id',
|
||||
`brand_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '品牌id',
|
||||
`campus_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '校区id',
|
||||
`product_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '产品id',
|
||||
`phone_number` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '问题手机号',
|
||||
`record_staff_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '记录员工id',
|
||||
`finish_time` datetime(0) NULL DEFAULT NULL COMMENT '办结时间',
|
||||
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`create_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人id',
|
||||
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
|
||||
`update_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人id',
|
||||
`is_delete` tinyint(1) NULL DEFAULT 0 COMMENT '是否删除(0否1是)',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '任务-工单表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of pp_oam_task_work_order
|
||||
-- ----------------------------
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for pp_oam_task_work_order_record
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cp_oam_task_work_order_record`;
|
||||
CREATE TABLE `cp_oam_task_work_order_record` (
|
||||
`id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键',
|
||||
`task_work_order_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '任务工单id',
|
||||
`record_staff_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '记录员工id',
|
||||
`record_text` text CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL COMMENT '记录内容',
|
||||
`attachment_url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '附件地址',
|
||||
`create_time` datetime(0) NULL DEFAULT NULL COMMENT '创建时间',
|
||||
`create_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '创建人id',
|
||||
`update_time` datetime(0) NULL DEFAULT NULL COMMENT '更新时间',
|
||||
`update_user_id` varchar(48) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '更新人id',
|
||||
PRIMARY KEY (`id`) USING BTREE
|
||||
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '任务-工单-记录表' ROW_FORMAT = Dynamic;
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of pp_oam_task_work_order_record
|
||||
-- ----------------------------
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
77
Cpop-Oam/src/main/java/com/cpop/oam/business/bo/DeptBo.java
Normal file
77
Cpop-Oam/src/main/java/com/cpop/oam/business/bo/DeptBo.java
Normal file
@ -0,0 +1,77 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 部门表Bo
|
||||
*
|
||||
* @author DB.lost
|
||||
* @since 2023-05-10
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "SysDept对象", description = "部门表")
|
||||
public class DeptBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@ApiModelProperty("部门id")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 父部门id
|
||||
*/
|
||||
@ApiModelProperty("父部门id")
|
||||
private String parentId;
|
||||
|
||||
/**
|
||||
* 部门名称
|
||||
*/
|
||||
@ApiModelProperty("部门名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
@ApiModelProperty("排序")
|
||||
private Integer orderNo;
|
||||
|
||||
/**
|
||||
* 负责人
|
||||
*/
|
||||
@ApiModelProperty("负责人")
|
||||
private String leader;
|
||||
|
||||
/**
|
||||
* 电话
|
||||
*/
|
||||
@ApiModelProperty("电话")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
@ApiModelProperty("邮箱")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 部门状态:1正常,0停用
|
||||
*/
|
||||
@ApiModelProperty("部门状态:1正常,0停用")
|
||||
private Boolean status;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author DB
|
||||
* @Description:
|
||||
* @create 2023-05-09 20:51
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "SysDeptListBo对象", description = "部门树查询参数对象")
|
||||
public class DeptListBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 部门名称
|
||||
*/
|
||||
@ApiModelProperty("部门名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 部门状态:0正常,1停用
|
||||
*/
|
||||
@ApiModelProperty("部门状态:0正常,1停用")
|
||||
private Boolean status;
|
||||
}
|
||||
59
Cpop-Oam/src/main/java/com/cpop/oam/business/bo/DutyBo.java
Normal file
59
Cpop-Oam/src/main/java/com/cpop/oam/business/bo/DutyBo.java
Normal file
@ -0,0 +1,59 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 值班表Bo
|
||||
*
|
||||
* @author DB.lost
|
||||
* @since 2023-05-11
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "Duty对象", description = "值班表")
|
||||
public class DutyBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty("主键")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 服务员工id
|
||||
*/
|
||||
@NotBlank(message = "服务员工id不能为空")
|
||||
@ApiModelProperty(value = "服务员工id",required = true)
|
||||
private String serviceStaffId;
|
||||
|
||||
/**
|
||||
* 技术员工id
|
||||
*/
|
||||
@NotBlank(message = "技术员工id不能为空")
|
||||
@ApiModelProperty(value = "技术员工id",required = true)
|
||||
private String technologyStaffId;
|
||||
|
||||
/**
|
||||
* 值班日期
|
||||
*/
|
||||
@NotEmpty(message = "值班日期不能为空")
|
||||
@ApiModelProperty(value = "值班日期",required = true)
|
||||
private List<String> dutyDate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* date: 2023/5/11 11:43
|
||||
*
|
||||
* @Author ST
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "Duty对象", description = "值班表")
|
||||
public class DutyListBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 值班月份
|
||||
*/
|
||||
@ApiModelProperty("值班月份")
|
||||
private String dutyMoth;
|
||||
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author DB
|
||||
* @createTime 2023/09/20 17:37
|
||||
* @description
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "FinanceReimburseAuditPageBo对象", description = "财务报销审核请求参数")
|
||||
public class FinanceReimburseAuditPageBo implements Serializable {
|
||||
/**
|
||||
* 状态:0已提交1审批中2已下发3:下款中;5:驳回
|
||||
*/
|
||||
@ApiModelProperty(value = "状态:0已提交1审批中2已下发3:下款中;4:驳回")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 申请类型
|
||||
*/
|
||||
@ApiModelProperty(value = "申请类型")
|
||||
private String typeId;
|
||||
|
||||
/**
|
||||
* 查询
|
||||
*/
|
||||
@ApiModelProperty(value = "查询")
|
||||
private String query;
|
||||
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author DB
|
||||
* @createTime 2023/09/20 16:43
|
||||
* @description 财务报销请求参数
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "FinanceReimbursePageBo对象", description = "财务报销请求参数")
|
||||
public class FinanceReimbursePageBo implements Serializable {
|
||||
|
||||
/**
|
||||
* 状态:0已提交1审批中2已下发3:下款中;5:驳回
|
||||
*/
|
||||
@ApiModelProperty(value = "状态:0:已提交;1:审批中;2:下款中;3:已下发;4:驳回")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 申请类型
|
||||
*/
|
||||
@ApiModelProperty(value = "申请类型")
|
||||
private String typeId;
|
||||
|
||||
}
|
||||
109
Cpop-Oam/src/main/java/com/cpop/oam/business/bo/MenuBo.java
Normal file
109
Cpop-Oam/src/main/java/com/cpop/oam/business/bo/MenuBo.java
Normal file
@ -0,0 +1,109 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
|
||||
|
||||
/**
|
||||
* 系统菜单表Bo
|
||||
*
|
||||
* @author DB.lost
|
||||
* @since 2023-05-10
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "SysMenu对象", description = "系统菜单表")
|
||||
public class MenuBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 菜单ID
|
||||
*/
|
||||
@ApiModelProperty("菜单ID")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 父级菜单ID
|
||||
*/
|
||||
@ApiModelProperty("父级菜单ID")
|
||||
private String parentMenu;
|
||||
|
||||
/**
|
||||
* 菜单名称
|
||||
*/
|
||||
@ApiModelProperty("菜单名称")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 菜单图标
|
||||
*/
|
||||
@ApiModelProperty(value = "菜单图标")
|
||||
private String icon;
|
||||
|
||||
/**
|
||||
* 菜单路由,父菜单为空
|
||||
*/
|
||||
@ApiModelProperty("菜单路由,父菜单为空")
|
||||
private String component;
|
||||
|
||||
/**
|
||||
* 标记菜单的状态 0:禁用 1:启用(根据权限正常显示)
|
||||
*/
|
||||
@NotNull(message = "状态不能为空")
|
||||
@ApiModelProperty(value = "标记菜单的状态 0:禁用 1:启用(根据权限正常显示)", required = true)
|
||||
private Boolean status;
|
||||
|
||||
/**
|
||||
* 菜单类型,0:目录,1:菜单,2:按钮
|
||||
*/
|
||||
@NotNull(message = "菜单类型不能为空")
|
||||
@ApiModelProperty(value = "菜单类型,0:目录,1:菜单,2:按钮", required = true)
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 权限
|
||||
*/
|
||||
@ApiModelProperty("权限")
|
||||
private String permission;
|
||||
|
||||
/**
|
||||
* 重定向路径,一级菜单有值
|
||||
*/
|
||||
@ApiModelProperty("重定向路径,一级菜单有值")
|
||||
private String redirect;
|
||||
|
||||
/**
|
||||
* 排序,值越小越靠前,一级菜单有值
|
||||
*/
|
||||
@NotNull(message = "排序不能为空")
|
||||
@ApiModelProperty(value = "排序,值越小越靠前,一级菜单有值", required = true)
|
||||
private Integer orderNo;
|
||||
|
||||
/**
|
||||
* 路由地址
|
||||
*/
|
||||
@ApiModelProperty(value = "路由地址")
|
||||
private String path;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
@NotBlank(message = "标题不能为空")
|
||||
@ApiModelProperty(value = "标题", required = true)
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 隐藏菜单
|
||||
*/
|
||||
@ApiModelProperty("隐藏菜单")
|
||||
private Boolean hideMenu;
|
||||
|
||||
}
|
||||
@ -0,0 +1,33 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* date: 2023/4/25 18:01
|
||||
* @author ST
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(description = "菜单传入对象")
|
||||
public class MenuListBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
@ApiModelProperty(value = "标题")
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 标记菜单的状态 0:禁用 1:启用(根据权限正常显示)
|
||||
*/
|
||||
@ApiModelProperty(value = "标记菜单的状态 0:禁用 1:启用(根据权限正常显示)")
|
||||
private Boolean status;
|
||||
}
|
||||
@ -0,0 +1,44 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* Description: 修改用户密码bo
|
||||
* date: 2023/5/12 16:01
|
||||
*
|
||||
* @Author ST
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "ModifyUserPasswordBo对象", description = "修改用户密码bo")
|
||||
public class ModifyUserPasswordBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@NotBlank(message = "用户id不能为空")
|
||||
@ApiModelProperty(value = "用户id",required = true)
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 旧密码
|
||||
*/
|
||||
@NotBlank(message = "旧密码不能为空")
|
||||
@ApiModelProperty(value = "旧密码",required = true)
|
||||
private String oldPassword;
|
||||
|
||||
/**
|
||||
* 新密码
|
||||
*/
|
||||
@NotBlank(message = "新密码不能为空")
|
||||
@ApiModelProperty(value = "新密码",required = true)
|
||||
private String newPassword;
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author: DB
|
||||
* @Date: 2023/07/12/12:00
|
||||
* @Description:
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "PauseWorkOrderBo对象", description = "")
|
||||
public class PauseWorkOrderBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 工单id
|
||||
*/
|
||||
@ApiModelProperty("工单id")
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
* 暂停到时间
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
|
||||
@ApiModelProperty("暂停到时间")
|
||||
private LocalDateTime taskReceiptTime;
|
||||
|
||||
}
|
||||
@ -0,0 +1,44 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* date: 2023/5/15 16:20
|
||||
*
|
||||
* @Author ST
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "Task列表分页查询对象", description = "OAM-任务")
|
||||
public class PersonTaskPageBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 周一
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
|
||||
@ApiModelProperty("周一")
|
||||
private LocalDate monday;
|
||||
|
||||
/**
|
||||
* 周末
|
||||
*/
|
||||
@JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
|
||||
@ApiModelProperty("周末")
|
||||
private LocalDate sunday;
|
||||
|
||||
/**
|
||||
* 任务状态
|
||||
*/
|
||||
@ApiModelProperty("任务状态")
|
||||
private Integer taskStatus;
|
||||
}
|
||||
@ -0,0 +1,62 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.cpop.core.annontation.StringArrayConvert;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Date;
|
||||
|
||||
/**
|
||||
* @author DB
|
||||
* @createTime 2023/09/21 15:50
|
||||
* @description 报销申请
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "ReimburseStatusBo", description = "报销申请请求参数")
|
||||
public class ReimburseApplicationBo implements Serializable {
|
||||
|
||||
/**
|
||||
* 申请类型
|
||||
*/
|
||||
@NotBlank(message = "申请类型不能为空")
|
||||
@ApiModelProperty(value = "申请类型",required = true)
|
||||
private String typeId;
|
||||
|
||||
/**
|
||||
* 报销日期
|
||||
*/
|
||||
@NotNull(message = "报销日期不能为空")
|
||||
@ApiModelProperty(value = "报销日期",required = true)
|
||||
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
|
||||
private Date reportDate;
|
||||
|
||||
/**
|
||||
* 申请说明
|
||||
*/
|
||||
@NotBlank(message = "申请说明不能为空")
|
||||
@ApiModelProperty(value = "申请说明",required = true)
|
||||
private String remarks;
|
||||
|
||||
/**
|
||||
* 申请金额
|
||||
*/
|
||||
@NotNull(message = "申请金额不能为空")
|
||||
@ApiModelProperty(value = "申请金额",required = true)
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
@StringArrayConvert
|
||||
@ApiModelProperty(value = "附件")
|
||||
private String attachmentUrl;
|
||||
|
||||
}
|
||||
@ -0,0 +1,44 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author DB
|
||||
* @createTime 2023/09/26 23:35
|
||||
* @description
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(value = "报销下款")
|
||||
public class ReimbursePayBo implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@NotBlank(message = "主键不能为空")
|
||||
@ApiModelProperty(value = "主键",required = true)
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 下发金额
|
||||
*/
|
||||
@NotNull(message = "下发金额不能为空")
|
||||
@ApiModelProperty(value = "下发金额",required = true)
|
||||
private BigDecimal stageAmount;
|
||||
|
||||
/**
|
||||
* 下款时间
|
||||
*/
|
||||
@NotNull(message = "下款时间不能为空")
|
||||
@ApiModelProperty(value = "下款时间",required = true)
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
|
||||
private LocalDateTime paymentTime;
|
||||
}
|
||||
@ -0,0 +1,32 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author DB
|
||||
* @createTime 2023/09/26 23:02
|
||||
* @description
|
||||
*/
|
||||
@Data
|
||||
@ApiModel(value = "报销驳回")
|
||||
public class ReimburseRejectBo implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@NotBlank(message = "主键不能为空")
|
||||
@ApiModelProperty(value = "主键")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 驳回原因
|
||||
*/
|
||||
@NotBlank(message = "驳回原因不能为空")
|
||||
@ApiModelProperty(value = "驳回原因")
|
||||
private String rejectReason;
|
||||
}
|
||||
@ -0,0 +1,28 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotEmpty;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author DB
|
||||
* @createTime 2023/09/20 17:46
|
||||
* @description 报销状态bo
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "ReimburseStatusBo", description = "")
|
||||
public class ReimburseStatusBo implements Serializable {
|
||||
|
||||
/**
|
||||
* 更新状态ids
|
||||
*/
|
||||
@NotEmpty(message = "更新状态ids不能为空")
|
||||
@ApiModelProperty(value = "更新状态ids", required = true)
|
||||
private List<String> ids;
|
||||
}
|
||||
@ -0,0 +1,29 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author DB
|
||||
* @createTime 2023/09/25 11:27
|
||||
* @description
|
||||
*/
|
||||
@Data
|
||||
public class ReimburseTypeBo implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty("主键")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 报销类型
|
||||
*/
|
||||
@NotBlank(message = "报销类型不能为空")
|
||||
@ApiModelProperty(value = "报销类型",required = true)
|
||||
private String typeName;
|
||||
}
|
||||
72
Cpop-Oam/src/main/java/com/cpop/oam/business/bo/RoleBo.java
Normal file
72
Cpop-Oam/src/main/java/com/cpop/oam/business/bo/RoleBo.java
Normal file
@ -0,0 +1,72 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 系统角色表Bo
|
||||
*
|
||||
* @author DB.lost
|
||||
* @since 2023-05-10
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "SysRole对象", description = "系统角色表")
|
||||
public class RoleBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty("主键")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 角色名称
|
||||
*/
|
||||
@NotBlank(message = "角色名称不能为空")
|
||||
@ApiModelProperty("角色名称")
|
||||
private String roleName;
|
||||
|
||||
/**
|
||||
* 角色值
|
||||
*/
|
||||
@NotBlank(message = "角色值不能为空")
|
||||
@ApiModelProperty("角色值")
|
||||
private String roleValue;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@NotNull(message = "状态不能为空")
|
||||
@ApiModelProperty("状态")
|
||||
private Boolean status;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
@NotNull(message = "排序不能为空")
|
||||
@ApiModelProperty("排序")
|
||||
private Integer orderNo;
|
||||
|
||||
/**
|
||||
* 菜单集合
|
||||
*/
|
||||
@ApiModelProperty("菜单集合")
|
||||
private List<String> menuIds;
|
||||
|
||||
}
|
||||
@ -0,0 +1,34 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* date: 2023/5/9 13:58
|
||||
*
|
||||
* @Author DB
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "SysRole分页对象")
|
||||
public class RolePageBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 角色名称
|
||||
*/
|
||||
@ApiModelProperty("角色名称")
|
||||
private String roleName;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@ApiModelProperty("状态")
|
||||
private Boolean status;
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* date: 2023/5/9 14:12
|
||||
*
|
||||
* @Author DB
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "SysRole状态对象", description = "修改角色状态")
|
||||
public class RoleStatusBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@NotBlank(message = "id不能为空")
|
||||
@ApiModelProperty(value = "主键",required = true)
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@NotNull(message = "状态不能为空")
|
||||
@ApiModelProperty(value = "状态", required = true)
|
||||
private Boolean status;
|
||||
}
|
||||
119
Cpop-Oam/src/main/java/com/cpop/oam/business/bo/StaffBo.java
Normal file
119
Cpop-Oam/src/main/java/com/cpop/oam/business/bo/StaffBo.java
Normal file
@ -0,0 +1,119 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 员工表Bo
|
||||
*
|
||||
* @author DB.lost
|
||||
* @since 2023-05-11
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "Staff对象", description = "员工表")
|
||||
public class StaffBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty("主键")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 姓名不能为空
|
||||
*/
|
||||
@NotBlank(message = "姓名不能为空")
|
||||
@ApiModelProperty("姓名")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@NotBlank(message = "部门不能为空")
|
||||
@ApiModelProperty(value = "部门id",required = true)
|
||||
private String deptId;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@ApiModelProperty("用户id")
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 员工类型
|
||||
*/
|
||||
@NotNull(message = "员工类型不能为空")
|
||||
@ApiModelProperty(value = "员工类型(0:技术人员;1:售后人员;2:管理人员)",required = true)
|
||||
private Integer staffType;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
@NotBlank(message = "用户名不能为空")
|
||||
@ApiModelProperty(value = "用户名",required = true)
|
||||
private String userName;
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
@NotBlank(message = "密码不能为空")
|
||||
@ApiModelProperty(value = "密码",required = true)
|
||||
private String password;
|
||||
|
||||
/**
|
||||
* 昵称
|
||||
*/
|
||||
@NotBlank(message = "昵称不能为空")
|
||||
@ApiModelProperty(value = "昵称",required = true)
|
||||
private String nickName;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
@ApiModelProperty(value = "邮箱")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@NotBlank(message = "手机号不能为空")
|
||||
@ApiModelProperty(value = "手机号",required = true)
|
||||
private String phoneNumber;
|
||||
|
||||
/**
|
||||
* 性别(0:男;1:女)
|
||||
*/
|
||||
@NotNull(message = "性别不能为空")
|
||||
@ApiModelProperty(value = "性别(0:男;1:女)",required = true)
|
||||
private Boolean sex;
|
||||
|
||||
/**
|
||||
* 头像
|
||||
*/
|
||||
@ApiModelProperty(value = "头像")
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 状态(0:停用;1:启用)
|
||||
*/
|
||||
@NotNull(message = "状态不能为空")
|
||||
@ApiModelProperty(value = "状态(0:停用;1:启用)",required = true)
|
||||
private Boolean status;
|
||||
|
||||
/**
|
||||
* 角色id
|
||||
*/
|
||||
@NotBlank(message = "角色id不能为空")
|
||||
@ApiModelProperty(value = "角色id",required = true)
|
||||
private String roleId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* date: 2023/5/11 15:23
|
||||
*
|
||||
* @Author ST
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "系统用户", description = "系统用户(员工)")
|
||||
public class StaffPageBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
@ApiModelProperty("姓名")
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@ApiModelProperty("部门id")
|
||||
private String deptId;
|
||||
|
||||
/**
|
||||
* 员工类型
|
||||
*/
|
||||
@ApiModelProperty("员工类型")
|
||||
private Integer staffType;
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author: DB
|
||||
* @Date: 2023/07/07/16:53
|
||||
* @Description:
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "SysConfigInfoBo对象", description = "系统配置信息")
|
||||
public class SysConfigInfoBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 任务审核员工手机号
|
||||
*/
|
||||
@NotBlank(message = "任务审核员工手机号不能为空")
|
||||
@ApiModelProperty(value = "任务审核员工手机号",required = true)
|
||||
private String auditStaffPhone;
|
||||
|
||||
/**
|
||||
* 核销管理员工手机号
|
||||
*/
|
||||
@NotBlank(message = "核销管理员工手机号不能为空")
|
||||
@ApiModelProperty(value = "核销管理员工手机号",required = true)
|
||||
private String cancelAfterVerificationStaffPhone;
|
||||
}
|
||||
@ -0,0 +1,65 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author: DB
|
||||
* @date: 2022-10-18 15:04
|
||||
* @Description:
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "SysUserLogeBo对象", description = "用户操作日志分页请求参数")
|
||||
public class SysUserLogBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 操作用户
|
||||
*/
|
||||
@ApiModelProperty("操作用户")
|
||||
private String operationUserName;
|
||||
|
||||
/**
|
||||
* 操作终端的IP地址
|
||||
*/
|
||||
@ApiModelProperty("操作终端的IP地址")
|
||||
private String devIp;
|
||||
|
||||
/**
|
||||
* 结果 -1:失败 1:成功
|
||||
*/
|
||||
@ApiModelProperty("结果 -1:失败 1:成功")
|
||||
private Integer result;
|
||||
|
||||
/**
|
||||
* 日志级别,0-提示,1-一般,2-危险,3-高危
|
||||
*/
|
||||
@ApiModelProperty("日志级别,0-提示,1-一般,2-危险,3-高危")
|
||||
private Integer level;
|
||||
|
||||
/**
|
||||
* 行为类别,1-一般行为,2-异常行为
|
||||
*/
|
||||
@ApiModelProperty("行为类别,1-一般行为,2-异常行为")
|
||||
private Integer actionType;
|
||||
|
||||
/**
|
||||
* 时间字段
|
||||
*/
|
||||
@ApiModelProperty("时间字段")
|
||||
private String fieldTime;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
@NotBlank(message = "用户id不能为空")
|
||||
@ApiModelProperty(value = "用户id",required = true)
|
||||
private String userId;
|
||||
}
|
||||
@ -0,0 +1,59 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* date: 2023/5/16 17:33
|
||||
*
|
||||
* @Author ST
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "TaskAudit对象", description = "任务审核对象")
|
||||
public class TaskAuditCommentsBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@NotBlank(message = "主键不能为空")
|
||||
@ApiModelProperty(value = "主键",required = true)
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 预期完成日期
|
||||
*/
|
||||
@ApiModelProperty("预期完成日期")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
|
||||
private LocalDate expectedCompletionDate;
|
||||
|
||||
/**
|
||||
* 任务评级(0:A;1:B;2:C;3:D;4:E)
|
||||
*/
|
||||
@ApiModelProperty("任务评级(0:A;1:B;2:C;3:D;4:E)")
|
||||
private Integer taskRating;
|
||||
|
||||
/**
|
||||
* 任务状态(-1:驳回;0:待审核;1:待接受;2:进行中;3:已完成;4:逾期;)
|
||||
*/
|
||||
@NotNull(message = "任务状态不能为空")
|
||||
@ApiModelProperty(value = "任务状态(-1:驳回;0:待审核;1:待接受;2:进行中;3:已完成;4:逾期;)",required = true)
|
||||
private Integer taskStatus;
|
||||
}
|
||||
73
Cpop-Oam/src/main/java/com/cpop/oam/business/bo/TaskBo.java
Normal file
73
Cpop-Oam/src/main/java/com/cpop/oam/business/bo/TaskBo.java
Normal file
@ -0,0 +1,73 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
* OAM-任务表Bo
|
||||
*
|
||||
* @author DB.lost
|
||||
* @since 2023-05-15
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "Task对象", description = "OAM-任务表")
|
||||
public class TaskBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty("主键")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 任务名
|
||||
*/
|
||||
@NotBlank(message = "任务名不能为空")
|
||||
@ApiModelProperty(value = "任务名",required = true)
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 任务类型(0:迭代;1:需求;2:投诉)
|
||||
*/
|
||||
@NotNull(message = "任务类型不能为空")
|
||||
@ApiModelProperty(value = "任务类型(0:迭代;1:需求;2:投诉)",required = true)
|
||||
private Integer taskType;
|
||||
|
||||
/**
|
||||
* 任务内容
|
||||
*/
|
||||
@NotBlank(message = "任务内容不能为空")
|
||||
@ApiModelProperty(value = "任务内容",required = true)
|
||||
private String taskContent;
|
||||
|
||||
/**
|
||||
* 附件地址
|
||||
*/
|
||||
@ApiModelProperty("附件地址")
|
||||
private String attachmentUrl;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 预期完成日期
|
||||
*/
|
||||
@ApiModelProperty("预期完成日期")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd" , timezone = "GMT+8")
|
||||
private LocalDate expectedCompletionDate;
|
||||
|
||||
}
|
||||
@ -0,0 +1,89 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* OAM-任务-需求表Bo
|
||||
*
|
||||
* @author DB.lost
|
||||
* @since 2023-05-30
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "TaskDemand对象", description = "OAM-任务-需求表")
|
||||
public class TaskDemandBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty("主键")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 需求类型(0:轻;1:缓;2:急;3:重)
|
||||
*/
|
||||
@ApiModelProperty("需求类型(0:轻;1:缓;2:急;3:重)")
|
||||
private Integer demandType;
|
||||
|
||||
/**
|
||||
* 需求状态(0:待接收;1:处理中;2:已解决)
|
||||
*/
|
||||
@ApiModelProperty("需求状态(0:待接收;1:处理中;2:已解决)")
|
||||
private Integer demandStatus;
|
||||
|
||||
/**
|
||||
* 任务名
|
||||
*/
|
||||
@NotBlank(message = "任务名不能为空")
|
||||
@ApiModelProperty("任务名")
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 任务类型(0:迭代;1:需求;2:投诉)
|
||||
*/
|
||||
@NotNull(message = "任务类型不能为空")
|
||||
@ApiModelProperty("任务类型(0:迭代;1:需求;2:投诉)")
|
||||
private Integer taskType;
|
||||
|
||||
/**
|
||||
* 品牌id
|
||||
*/
|
||||
@NotBlank(message = "品牌不能为空")
|
||||
@ApiModelProperty("品牌id")
|
||||
private String brandId;
|
||||
|
||||
/**
|
||||
* 校区id
|
||||
*/
|
||||
@NotBlank(message = "校区不能为空")
|
||||
@ApiModelProperty("校区id")
|
||||
private String campusId;
|
||||
|
||||
/**
|
||||
* 任务内容
|
||||
*/
|
||||
@NotBlank(message = "任务内容不能为空")
|
||||
@ApiModelProperty("任务内容")
|
||||
private String taskContent;
|
||||
|
||||
/**
|
||||
* 附件地址
|
||||
*/
|
||||
@ApiModelProperty("附件地址")
|
||||
private String attachmentUrl;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
}
|
||||
@ -0,0 +1,41 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* date: 2023/5/30 15:44
|
||||
*
|
||||
* @Author ST
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "SysDept对象", description = "部门表")
|
||||
public class TaskDemandPageBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 任务名
|
||||
*/
|
||||
@ApiModelProperty("任务名")
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 校区名
|
||||
*/
|
||||
@ApiModelProperty("校区名")
|
||||
private String campusName;
|
||||
|
||||
/**
|
||||
* 任务状态
|
||||
*/
|
||||
@ApiModelProperty("任务状态")
|
||||
private Integer taskStatus;
|
||||
|
||||
}
|
||||
@ -0,0 +1,38 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* date: 2023/5/29 14:56
|
||||
*
|
||||
* @Author ST
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "Task进度对象", description = "Task进度对象")
|
||||
public class TaskItemBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@NotBlank(message = "主键不能为空")
|
||||
@ApiModelProperty(value = "主键",required = true)
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 任务项(0:待开发;1:待测试:2:待部署;3:已归档)
|
||||
*/
|
||||
@NotNull(message = "任务项不能为空")
|
||||
@ApiModelProperty(value = "任务项(0:待开发;1:待测试:2:待部署;3:已归档)",required = true)
|
||||
private Integer taskItem;
|
||||
}
|
||||
@ -0,0 +1,34 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* date: 2023/5/15 16:21
|
||||
*
|
||||
* @Author ST
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "Task列表返回对象", description = "OAM-任务表")
|
||||
public class TaskMonthStatisticsBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主要负责员工id
|
||||
*/
|
||||
@ApiModelProperty("主要负责员工id")
|
||||
private String responsibleStaffId;
|
||||
|
||||
/**
|
||||
* 任务月份
|
||||
*/
|
||||
@ApiModelProperty("任务月份")
|
||||
private String taskMoth;
|
||||
}
|
||||
@ -0,0 +1,34 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* date: 2023/5/16 15:27
|
||||
*
|
||||
* @Author ST
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "Task分页列表对象", description = "OAM-任务管理")
|
||||
public class TaskPageBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 任务类型(0:迭代;1:需求;2:投诉)
|
||||
*/
|
||||
@ApiModelProperty("任务类型(0:迭代;1:需求;2:投诉)")
|
||||
private Integer taskType;
|
||||
|
||||
/**
|
||||
* 任务评级(0:A;1:B;2:C;3:D;4:E)
|
||||
*/
|
||||
@ApiModelProperty("任务评级(0:A;1:B;2:C;3:D;4:E)")
|
||||
private Integer taskRating;
|
||||
}
|
||||
@ -0,0 +1,54 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* OAM-任务-关联员工任务组表Bo
|
||||
*
|
||||
* @author DB.lost
|
||||
* @since 2023-05-22
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "TaskStaffGroup对象", description = "OAM-任务-关联员工任务组表")
|
||||
public class TaskStaffGroupBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty("主键")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
@NotBlank(message = "任务id不能为空")
|
||||
@ApiModelProperty(value = "任务id", required = true)
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
* 员工id
|
||||
*/
|
||||
@NotBlank(message = "员工id不能为空")
|
||||
@ApiModelProperty(value = "员工id", required = true)
|
||||
private String staffId;
|
||||
|
||||
/**
|
||||
* 绩点
|
||||
*/
|
||||
@Min(value = 0)
|
||||
@NotNull(message = "绩点不能为空")
|
||||
@ApiModelProperty(value = "绩点", required = true)
|
||||
private Integer gradePoint;
|
||||
|
||||
}
|
||||
@ -0,0 +1,31 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* OAM-任务-关联员工任务组表Bo
|
||||
*
|
||||
* @author DB.lost
|
||||
* @since 2023-05-22
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "TaskStaffGroup对象", description = "OAM-任务-关联员工任务组表")
|
||||
public class TaskStaffGroupListBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@NotBlank(message = "不能为空")
|
||||
@ApiModelProperty(value = "任务id",required = true)
|
||||
private String taskId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,84 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 任务-工单表Bo
|
||||
*
|
||||
* @author DB.lost
|
||||
* @since 2023-07-10
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "TaskWorkOrder对象", description = "任务-工单表")
|
||||
public class TaskWorkOrderBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@ApiModelProperty("主键")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 品牌id
|
||||
*/
|
||||
@NotBlank(message = "品牌id不能为空")
|
||||
@ApiModelProperty(value = "品牌id",required = true)
|
||||
private String brandId;
|
||||
|
||||
/**
|
||||
* 校区id
|
||||
*/
|
||||
@NotBlank(message = "校区id不能为空")
|
||||
@ApiModelProperty(value = "校区id",required = true)
|
||||
private String campusId;
|
||||
|
||||
/**
|
||||
* 工单名
|
||||
*/
|
||||
@NotBlank(message = "工单名不能为空")
|
||||
@ApiModelProperty(value = "工单名",required = true)
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 工单内容
|
||||
*/
|
||||
@NotBlank(message = "工单内容不能为空")
|
||||
@ApiModelProperty(value = "工单内容",required = true)
|
||||
private String taskContent;
|
||||
|
||||
/**
|
||||
* 任务类型(0:迭代;1:需求;2:工单)
|
||||
*/
|
||||
@NotNull(message = "任务类型不能为空")
|
||||
@ApiModelProperty(value = "任务类型(0:迭代;1:需求;2:工单)",required = true)
|
||||
private Integer taskType;
|
||||
|
||||
/**
|
||||
* 问题手机号
|
||||
*/
|
||||
@ApiModelProperty("问题手机号")
|
||||
private String phoneNumber;
|
||||
|
||||
/**
|
||||
* 附件地址
|
||||
*/
|
||||
@ApiModelProperty("附件地址")
|
||||
private String attachmentUrl;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
@ApiModelProperty("备注")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@ -0,0 +1,40 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author: DB
|
||||
* @Date: 2023/07/10/14:14
|
||||
* @Description:
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "TaskWorkOrder对象", description = "任务-工单表")
|
||||
public class TaskWorkOrderPageBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 校区id
|
||||
*/
|
||||
@ApiModelProperty("校区id")
|
||||
private String campusName;
|
||||
|
||||
/**
|
||||
* 任务名
|
||||
*/
|
||||
@ApiModelProperty("任务名")
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 任务状态
|
||||
*/
|
||||
@ApiModelProperty("任务状态")
|
||||
private List<Integer> taskStatus;
|
||||
}
|
||||
@ -0,0 +1,44 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 任务-工单-记录表Bo
|
||||
*
|
||||
* @author DB.lost
|
||||
* @since 2023-07-10
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "TaskWorkOrderRecord对象", description = "任务-工单-记录表")
|
||||
public class TaskWorkOrderRecordBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 任务工单id
|
||||
*/
|
||||
@NotBlank(message = "任务工单id不能为空")
|
||||
@ApiModelProperty("任务工单id")
|
||||
private String taskWorkOrderId;
|
||||
|
||||
/**
|
||||
* 记录内容
|
||||
*/
|
||||
@NotBlank(message = "记录内容不能为空")
|
||||
@ApiModelProperty("记录内容")
|
||||
private String recordText;
|
||||
|
||||
/**
|
||||
* 附件地址
|
||||
*/
|
||||
@ApiModelProperty("附件地址")
|
||||
private String attachmentUrl;
|
||||
|
||||
}
|
||||
@ -0,0 +1,44 @@
|
||||
package com.cpop.oam.business.bo;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* date: 2023/5/29 16:00
|
||||
*
|
||||
* @Author ST
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
@ApiModel(value = "Task转交对象", description = "Task转交对象")
|
||||
public class TransferTaskBo implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@NotBlank(message = "主键不能为空")
|
||||
@ApiModelProperty(value = "主键",required = true)
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 原负责人
|
||||
*/
|
||||
@NotBlank(message = "原负责人不能为空")
|
||||
@ApiModelProperty(value = "原负责人",required = true)
|
||||
private String responsibleStaffId;
|
||||
|
||||
/**
|
||||
* 新负责人
|
||||
*/
|
||||
@NotBlank(message = "新负责人不能为空")
|
||||
@ApiModelProperty(value = "新负责人",required = true)
|
||||
private String newResponsibleStaffId;
|
||||
}
|
||||
@ -0,0 +1,95 @@
|
||||
package com.cpop.oam.business.controller;
|
||||
|
||||
import com.cpop.oam.business.service.DeptService;
|
||||
import com.cpop.oam.business.vo.DeptVo;
|
||||
import com.cpop.core.annontation.OperationLog;
|
||||
import com.cpop.core.base.R;
|
||||
import com.cpop.core.base.enums.OperationLogEnum;
|
||||
import com.cpop.oam.business.bo.DeptBo;
|
||||
import com.cpop.oam.business.bo.DeptListBo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 部门表 控制层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-08
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "系统部门模块")
|
||||
@RequestMapping("/dept")
|
||||
public class DeptController {
|
||||
|
||||
@Autowired
|
||||
private DeptService deptService;
|
||||
|
||||
/**
|
||||
* @Description: 查询部门树列表
|
||||
* @param bo 请求参数
|
||||
* @return R<List<SysDeptVo>>
|
||||
* @Author DB
|
||||
* @Date: 2023/5/9 20:45
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('system:dept:list')")
|
||||
@ApiOperation("查询部门树列表")
|
||||
@GetMapping("/getDeptTreeList")
|
||||
public R<List<DeptVo>> getDeptTreeList(DeptListBo bo) {
|
||||
List<DeptVo> list = deptService.getDeptTreeList(bo);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 新增部门
|
||||
* @param bo 请求参数
|
||||
* @return R<Void>
|
||||
* @Author DB
|
||||
* @Date: 2023/5/9 20:47
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('system:dept:insert')")
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.INSERT_OAM_DEPT)
|
||||
@ApiOperation("新增部门")
|
||||
@PostMapping("/insertDept")
|
||||
public R<Void> insertDept(@Validated @RequestBody DeptBo bo) {
|
||||
deptService.insertDept(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 修改部门
|
||||
* @param bo 请求参数
|
||||
* @return R<Void>
|
||||
* @Author DB
|
||||
* @Date: 2023/5/9 20:47
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('system:dept:update')")
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.UPDATE_OAM_DEPT)
|
||||
@ApiOperation("修改部门")
|
||||
@PutMapping("/updateDept")
|
||||
public R<Void> updateDept(@Validated @RequestBody DeptBo bo) {
|
||||
deptService.updateDept(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 删除部门
|
||||
* @param id 主键
|
||||
* @Author DB
|
||||
* @Date: 2023/5/9 20:48
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('system:dept:remove')")
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.REMOVE_OAM_DEPT)
|
||||
@ApiOperation("删除部门")
|
||||
@DeleteMapping("/removeDept/{id}")
|
||||
public R<Void> removeDept(@PathVariable String id) {
|
||||
deptService.removeDept(id);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,111 @@
|
||||
package com.cpop.oam.business.controller;
|
||||
|
||||
import com.cpop.core.annontation.OperationLog;
|
||||
import com.cpop.core.base.R;
|
||||
import com.cpop.core.base.enums.OperationLogEnum;
|
||||
import com.cpop.oam.business.bo.DutyBo;
|
||||
import com.cpop.oam.business.bo.DutyListBo;
|
||||
import com.cpop.oam.business.service.DutyService;
|
||||
import com.cpop.oam.business.service.StaffService;
|
||||
import com.cpop.oam.business.vo.DutyListVo;
|
||||
import com.cpop.oam.business.vo.StaffVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 值班表 控制层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-14
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "值班日历模块")
|
||||
@RequestMapping("/duty")
|
||||
public class DutyController {
|
||||
|
||||
@Autowired
|
||||
private DutyService dutyService;
|
||||
|
||||
@Autowired
|
||||
private StaffService staffService;
|
||||
|
||||
/**
|
||||
* @Description: 查询值班列表(当月)
|
||||
* @param bo 请求参数
|
||||
* @return: R<List<DutyListVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/11 16:39
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('dutyCalendar:duty:list')")
|
||||
@ApiOperation("查询值班列表(当月)")
|
||||
@GetMapping("/getDutyList")
|
||||
public R<List<DutyListVo>> getDutyList(DutyListBo bo) {
|
||||
List<DutyListVo> list = dutyService.getDutyList(bo);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 新增值班
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/18 9:50
|
||||
**/
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.INSERT_OAM_DUTY)
|
||||
@PreAuthorize("@aps.hasPermission('dutyCalendar:duty:insert')")
|
||||
@ApiOperation("新增值班")
|
||||
@PostMapping("/insertDuty")
|
||||
public R<Void> insertDuty(@RequestBody @Validated DutyBo bo) {
|
||||
dutyService.insertDuty(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @descriptions 删除值班信息
|
||||
* @author DB
|
||||
* @date 2023/09/14 18:16
|
||||
* @param dutyDate 值班日期
|
||||
* @return com.pupu.core.base.R<java.lang.Void>
|
||||
*/
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.REMOVE_OAM_DUTY)
|
||||
@PreAuthorize("@aps.hasPermission('dutyCalendar:duty:remove')")
|
||||
@ApiOperation("删除值班信息")
|
||||
@DeleteMapping("/removeDutyByDate/{dutyDate}")
|
||||
public R<Void> removeDutyByDate(@PathVariable String dutyDate) {
|
||||
dutyService.removeDutyByDate(dutyDate);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 查询服务员工列表
|
||||
* @return: R<List<OamStaffVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/11 17:49
|
||||
**/
|
||||
@ApiOperation("查询服务员工列表")
|
||||
@GetMapping("/getServiceStaffList")
|
||||
public R<List<StaffVo>> getServiceStaffList() {
|
||||
List<StaffVo> list = staffService.getServiceStaffList();
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 查询技术员工列表
|
||||
* @return: R<PageVo<StaffPageVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/11 17:50
|
||||
**/
|
||||
@ApiOperation("查询技术员工列表")
|
||||
@GetMapping("/getTechnologyStaffList")
|
||||
public R<List<StaffVo>> getTechnologyStaffList() {
|
||||
List<StaffVo> list = staffService.getTechnologyStaffList();
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,245 @@
|
||||
package com.cpop.oam.business.controller;
|
||||
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import com.cpop.common.utils.bean.BeanUtils;
|
||||
import com.cpop.core.annontation.OperationLog;
|
||||
import com.cpop.core.base.R;
|
||||
import com.cpop.core.base.enums.OperationLogEnum;
|
||||
import com.cpop.oam.business.bo.*;
|
||||
import com.cpop.oam.business.entity.FinanceReimburseType;
|
||||
import com.cpop.oam.business.service.FinanceReimburseService;
|
||||
import com.cpop.oam.business.service.FinanceReimburseStageService;
|
||||
import com.cpop.oam.business.service.FinanceReimburseTypeService;
|
||||
import com.cpop.oam.business.vo.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static com.cpop.oam.business.entity.table.FinanceReimburseStageTableDef.FINANCE_REIMBURSE_STAGE;
|
||||
import static com.cpop.oam.business.entity.table.FinanceReimburseTableDef.FINANCE_REIMBURSE;
|
||||
|
||||
/**
|
||||
* 报销记录表 控制层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-20
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "财务报销模块")
|
||||
@RequestMapping("/financeReimburse")
|
||||
public class FinanceReimburseController {
|
||||
|
||||
@Autowired
|
||||
private FinanceReimburseService financeReimburseService;
|
||||
|
||||
@Autowired
|
||||
private FinanceReimburseTypeService financeReimburseTypeService;
|
||||
|
||||
@Autowired
|
||||
private FinanceReimburseStageService financeReimburseStageService;
|
||||
|
||||
/**
|
||||
* @Description: 财务报销模块-报销分页列表
|
||||
* @param bo 请求参数
|
||||
* @return: R<Page<FinanceReimbursePageVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/30 15:44
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('financial:application:list')")
|
||||
@ApiOperation("财务报销模块-报销申请分页列表")
|
||||
@GetMapping("/getFinanceReimbursePage")
|
||||
public R<Page<FinanceReimbursePageVo>> getFinanceReimbursePage(FinanceReimbursePageBo bo) {
|
||||
Page<FinanceReimbursePageVo> pageVo = financeReimburseService.getFinanceReimbursePage(bo);
|
||||
return R.ok(pageVo);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 财务报销模块-报销类型列表
|
||||
* @return: R<Page<FinanceReimbursePageVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/30 15:44
|
||||
**/
|
||||
@ApiOperation("财务报销模块-报销类型列表")
|
||||
@GetMapping("/getFinanceReimburseTypeList")
|
||||
public R<List<FinanceReimburseTypeListVo>> getFinanceReimburseTypeList() {
|
||||
List<FinanceReimburseTypeListVo> list = financeReimburseTypeService.listAs(QueryWrapper.create(), FinanceReimburseTypeListVo.class);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @descriptions 新增报销申请
|
||||
* @author DB
|
||||
* @date 2023/09/21 15:55
|
||||
* @param bo 请求参数
|
||||
* @return com.pupu.core.base.R<java.lang.Void>
|
||||
*/
|
||||
@ApiOperation("新增报销申请")
|
||||
@PostMapping("/insertReimburseApplication")
|
||||
public R<Void> insertReimburseApplication(@RequestBody @Validated ReimburseApplicationBo bo) {
|
||||
financeReimburseService.insertReimburseApplication(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 财务报销模块-报销审核分页列表
|
||||
* @param bo 请求参数
|
||||
* @return: R<Page<FinanceReimbursePageVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/30 15:44
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('financial:reimburseAudit:list')")
|
||||
@ApiOperation("财务报销模块-报销审核分页列表")
|
||||
@GetMapping("/getReimburseAuditPage")
|
||||
public R<Page<FinanceReimburseAuditPageVo>> getReimburseAuditPage(FinanceReimburseAuditPageBo bo) {
|
||||
Page<FinanceReimburseAuditPageVo> pageVo = financeReimburseService.getReimburseAuditPage(bo);
|
||||
return R.ok(pageVo);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 修改报销状态
|
||||
* @param bo 请求参数
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/10 16:01
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('financial:reimburseAudit:update')")
|
||||
@ApiOperation("修改报销状态")
|
||||
@PutMapping("/updateReimburseStatus")
|
||||
public R<Void> updateReimburseStatus(@RequestBody @Validated ReimburseStatusBo bo) {
|
||||
financeReimburseService.updateReimburseStatus(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @descriptions 新增报销类型
|
||||
* @author DB
|
||||
* @date 2023/09/21 15:55
|
||||
* @param bo 请求参数
|
||||
* @return com.pupu.core.base.R<java.lang.Void>
|
||||
*/
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.INSERT_REIMBURSE_TYPE)
|
||||
@PreAuthorize("@aps.hasPermission('financial:reimburseAudit:insert')")
|
||||
@ApiOperation("新增报销类型")
|
||||
@PostMapping("/insertReimburseType")
|
||||
public R<Void> insertReimburseApplication(@RequestBody @Validated ReimburseTypeBo bo) {
|
||||
financeReimburseTypeService.save(BeanUtils.mapToClass(bo, FinanceReimburseType.class));
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @descriptions 修改报销类型
|
||||
* @author DB
|
||||
* @date 2023/09/08 15:20
|
||||
* @param bo 请求参数
|
||||
* @return com.jambox.core.base.R<java.lang.Void>
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('financial:reimburseAudit:update')")
|
||||
@OperationLog(operationLogEnumType= OperationLogEnum.UPDATE_REIMBURSE_TYPE)
|
||||
@ApiOperation("修改报销类型")
|
||||
@PutMapping("/updateReimburseType")
|
||||
public R<Void> updateReimburseType(@RequestBody @Validated ReimburseTypeBo bo) {
|
||||
financeReimburseTypeService.updateById(BeanUtils.mapToClass(bo, FinanceReimburseType.class));
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @descriptions 删除报销类型
|
||||
* @author DB
|
||||
* @date 2023/09/12 16:57
|
||||
* @param id 主键
|
||||
* @return com.jambox.core.base.R<java.lang.Void>
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('financial:reimburseAudit:remove')")
|
||||
@OperationLog(operationLogEnumType= OperationLogEnum.REMOVE_REIMBURSE_TYPE)
|
||||
@ApiOperation("删除报销类型")
|
||||
@DeleteMapping("/removeReimburseTypeById/{id}")
|
||||
public R<Void> removeReimburseTypeById(@PathVariable String id) {
|
||||
financeReimburseTypeService.removeById(id);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 财务报销模块-个人报销统计
|
||||
* @return: R<Page<FinanceReimbursePageVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/30 15:44
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('financial:application:list')")
|
||||
@ApiOperation("财务报销模块-个人报销统计")
|
||||
@GetMapping("/getPersonStatistic")
|
||||
public R<ReimbursePersonStatisticVo> getPersonStatistic() {
|
||||
return R.ok(financeReimburseService.getPersonStatistic());
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 审核员工申请报销
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/10 16:01
|
||||
**/
|
||||
@OperationLog(operationLogEnumType= OperationLogEnum.AUDIT_STAFF_APPLICATION)
|
||||
@PreAuthorize("@aps.hasPermission('financial:reimburseAudit:update')")
|
||||
@ApiOperation("审核员工申请报销")
|
||||
@PutMapping("/auditReimburseApplication/{id}")
|
||||
public R<Void> auditReimburseApplication(@PathVariable String id) {
|
||||
financeReimburseService.updateChain().set(FINANCE_REIMBURSE.STATUS, 1).where(FINANCE_REIMBURSE.ID.eq(id)).update();
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @descriptions 报销驳回
|
||||
* @author DB
|
||||
* @date 2023/09/08 15:20
|
||||
* @param bo 请求参数
|
||||
* @return com.jambox.core.base.R<java.lang.Void>
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('financial:reimburseAudit:update')")
|
||||
@OperationLog(operationLogEnumType= OperationLogEnum.REIMBURSE_REJECT)
|
||||
@ApiOperation("报销驳回")
|
||||
@PutMapping("/reimburseReject")
|
||||
public R<Void> reimburseReject(@RequestBody @Validated ReimburseRejectBo bo) {
|
||||
financeReimburseService.updateChain()
|
||||
.set(FINANCE_REIMBURSE.STATUS,4)
|
||||
.set(FINANCE_REIMBURSE.REJECT_REASON,bo.getRejectReason())
|
||||
.where(FINANCE_REIMBURSE.ID.eq(bo.getId()))
|
||||
.update();
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @descriptions 报销下款
|
||||
* @author DB
|
||||
* @date 2023/09/08 15:20
|
||||
* @param bo 请求参数
|
||||
* @return com.jambox.core.base.R<java.lang.Void>
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('financial:reimburseAudit:update')")
|
||||
@OperationLog(operationLogEnumType= OperationLogEnum.REIMBURSE_PAY)
|
||||
@ApiOperation("报销下款")
|
||||
@PutMapping("/reimbursePay")
|
||||
public R<Void> reimbursePay(@RequestBody @Validated ReimbursePayBo bo) {
|
||||
financeReimburseService.reimbursePay(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 财务报销模块-报销分页列表
|
||||
* @param id 报销主键
|
||||
* @return: R<Page<FinanceReimbursePageVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/30 15:44
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('financial:application:list')")
|
||||
@ApiOperation("财务报销模块-报销详情记录列表")
|
||||
@GetMapping("/getReimburseRecordList/{id}")
|
||||
public R<List<FinanceReimburseRecordListVo>> getReimburseRecordList(@PathVariable String id) {
|
||||
List<FinanceReimburseRecordListVo> list = financeReimburseStageService.listAs(QueryWrapper.create()
|
||||
.where(FINANCE_REIMBURSE_STAGE.FINANCE_REIMBURSE_ID.eq(id))
|
||||
, FinanceReimburseRecordListVo.class);
|
||||
return R.ok(list);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,64 @@
|
||||
package com.cpop.oam.business.controller;
|
||||
|
||||
import com.cpop.core.base.R;
|
||||
import com.cpop.oam.business.service.LoginService;
|
||||
import com.cpop.oam.business.vo.LoginUserInfoVo;
|
||||
import com.cpop.oam.business.vo.MenuRouteVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author DB
|
||||
* @createTime 2023/09/10 11:13
|
||||
* @description 系统登陆
|
||||
*/
|
||||
@Api(tags = "系统登录模块")
|
||||
@RestController
|
||||
public class LoginController {
|
||||
|
||||
@Autowired
|
||||
private LoginService loginService;
|
||||
|
||||
/**
|
||||
* @author LOST.yuan
|
||||
* @Description 获取登录用户详情
|
||||
* @date 14:52 2022/9/7
|
||||
* @return {@link R< LoginUserInfoVo >}
|
||||
**/
|
||||
@GetMapping("/getUserInfo")
|
||||
@ApiOperation("获取登录用户详情")
|
||||
public R<LoginUserInfoVo> getUserInfo() {
|
||||
return R.ok(loginService.getUserInfo());
|
||||
}
|
||||
|
||||
/**
|
||||
* @author LOST.yuan
|
||||
* @Description 获取权限码
|
||||
* @date 14:52 2022/9/7
|
||||
* @return {@link List<String>}
|
||||
**/
|
||||
@ApiOperation("获取权限码")
|
||||
@GetMapping("/getPermCode")
|
||||
public R<List<String>> getPermCode(){
|
||||
List<String> list = loginService.getPermCode();
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @author LOST.yuan
|
||||
* @Description 获取菜单列表
|
||||
* @date 14:52 2022/9/7
|
||||
* @return {@link R<List< MenuRouteVo >>}
|
||||
**/
|
||||
@ApiOperation("获取菜单列表")
|
||||
@GetMapping("/getMenuList")
|
||||
public R<List<MenuRouteVo>> getMenuList(){
|
||||
List<MenuRouteVo> list = loginService.getOamMenuList();
|
||||
return R.ok(list);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,107 @@
|
||||
package com.cpop.oam.business.controller;
|
||||
|
||||
import com.cpop.core.annontation.OperationLog;
|
||||
import com.cpop.core.base.R;
|
||||
import com.cpop.core.base.enums.OperationLogEnum;
|
||||
import com.cpop.oam.business.bo.MenuBo;
|
||||
import com.cpop.oam.business.bo.MenuListBo;
|
||||
import com.cpop.oam.business.service.MenuService;
|
||||
import com.cpop.oam.business.vo.MenuVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 系统菜单模块接口
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-07
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "系统菜单模块")
|
||||
@RequestMapping("/menu")
|
||||
public class MenuController {
|
||||
|
||||
@Autowired
|
||||
private MenuService menuService;
|
||||
|
||||
/**
|
||||
* @descriptions 获取系统菜单树列表
|
||||
* @author DB
|
||||
* @date 2023/09/07 15:48
|
||||
* @param bo 请求参数
|
||||
* @return com.jambox.core.base.R<java.util.List<OamMenuVo>>
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('*:*:*')")
|
||||
@ApiOperation("获取OAM菜单树列表")
|
||||
@GetMapping("/getOamMenuTreeList")
|
||||
public R<List<MenuVo>> getOamMenuTreeList(MenuListBo bo) {
|
||||
List<MenuVo> list = menuService.getOamMenuTreeList(bo);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @descriptions 获取目录与菜单树
|
||||
* @author DB
|
||||
* @date 2023/09/07 17:41
|
||||
* @return com.jambox.core.base.R<java.util.List<com.jambox.oam.business.vo.OamMenuVo>>
|
||||
*/
|
||||
@ApiOperation("获取目录与菜单树")
|
||||
@GetMapping("/getDirectoryAndMenuTreeList")
|
||||
public R<List<MenuVo>> getDirectoryAndMenuTreeList() {
|
||||
List<MenuVo> list = menuService.getDirectoryAndMenuTreeList();
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @descriptions 新增系统菜单
|
||||
* @author DB
|
||||
* @date 2023/09/07 17:45
|
||||
* @param bo 请求参数
|
||||
* @return com.jambox.core.base.R<java.lang.Void>
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('*:*:*')")
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.INSERT_OAM_MENU)
|
||||
@ApiOperation("新增OAM菜单")
|
||||
@PostMapping("/insertOamMenu")
|
||||
public R<Void> insertOamMenu(@RequestBody @Validated MenuBo bo) {
|
||||
menuService.insertOamMenu(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 修改系统菜单表
|
||||
* @param bo 请求参数
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/10 16:01
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('*:*:*')")
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.UPDATE_OAM_MENU)
|
||||
@ApiOperation("修改OAM菜单")
|
||||
@PutMapping("/updateOamMenu")
|
||||
public R<Void> updateOamMenu(@RequestBody @Validated MenuBo bo) {
|
||||
menuService.updateOamMenu(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 删除系统菜单表
|
||||
* @param id 主键id
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/10 16:01
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('*:*:*')")
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.REMOVE_OAM_MENU)
|
||||
@ApiOperation("删除OAM菜单")
|
||||
@DeleteMapping("/removeOamMenu/{id}")
|
||||
public R<Void> removeOamMenu(@PathVariable String id) {
|
||||
menuService.removeOamMenu(id);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,126 @@
|
||||
package com.cpop.oam.business.controller;
|
||||
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.cpop.core.annontation.OperationLog;
|
||||
import com.cpop.core.base.R;
|
||||
import com.cpop.core.base.enums.OperationLogEnum;
|
||||
import com.cpop.oam.business.bo.MenuListBo;
|
||||
import com.cpop.oam.business.bo.RoleBo;
|
||||
import com.cpop.oam.business.bo.RolePageBo;
|
||||
import com.cpop.oam.business.bo.RoleStatusBo;
|
||||
import com.cpop.oam.business.service.MenuService;
|
||||
import com.cpop.oam.business.service.RoleService;
|
||||
import com.cpop.oam.business.vo.MenuVo;
|
||||
import com.cpop.oam.business.vo.RolePageVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 系统角色表 控制层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-08
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "系统角色模块")
|
||||
@RequestMapping("/role")
|
||||
public class RoleController {
|
||||
|
||||
@Autowired
|
||||
private RoleService roleService;
|
||||
|
||||
@Autowired
|
||||
private MenuService menuService;
|
||||
|
||||
/**
|
||||
* @descriptions 查询系统角色分页列表
|
||||
* @author DB
|
||||
* @date 2023/09/10 16:51
|
||||
* @param bo 请求参数
|
||||
* @return R<PageVo<SysRolePageVo>>
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('system:role:list')")
|
||||
@ApiOperation("查询系统角色分页列表")
|
||||
@GetMapping("/getRolePageList")
|
||||
public R<Page<RolePageVo>> getOamRolePageList(RolePageBo bo) {
|
||||
Page<RolePageVo> pageVo = roleService.selectOamRolePageList(bo);
|
||||
return R.ok(pageVo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 新增系统角色表
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('system:role:insert')")
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.INSERT_OAM_ROLE)
|
||||
@ApiOperation("新增角色")
|
||||
@PostMapping("/insertRole")
|
||||
public R<Void> insertSysRole(@RequestBody @Validated RoleBo bo) {
|
||||
roleService.insertOamRole(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 获取系统菜单树列表
|
||||
* @param bo 请求参数
|
||||
* @return: R<List<SysMenuVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/10 14:39
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('system:role:insert')")
|
||||
@ApiOperation("获取菜单树列表")
|
||||
@GetMapping("/getMenuTreeList")
|
||||
public R<List<MenuVo>> getMenuTreeList(MenuListBo bo) {
|
||||
List<MenuVo> list = menuService.getOamMenuTreeList(bo);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @descriptions 修改角色
|
||||
* @author DB
|
||||
* @date 2023/09/10 17:45
|
||||
* @param bo 请求参数
|
||||
* @return com.jambox.core.base.R<java.lang.Void>
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('system:role:update')")
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.UPDATE_OAM_ROLE)
|
||||
@ApiOperation("修改角色")
|
||||
@PutMapping("/updateRole")
|
||||
public R<Void> updateRole(@RequestBody @Validated RoleBo bo) {
|
||||
roleService.updateOamRole(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除系统角色表
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('system:role:remove')")
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.REMOVE_OAM_ROLE)
|
||||
@ApiOperation("删除系统角色表")
|
||||
@DeleteMapping("/removeRole/{id}")
|
||||
public R<Void> removeRole(@PathVariable String id) {
|
||||
roleService.removeOamRole(id);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 设置角色状态
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/9 14:13
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('system:role:update')")
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.UPDATE_OAM_ROLE)
|
||||
@ApiOperation("设置角色状态")
|
||||
@PutMapping("/setRoleStatus")
|
||||
public R<Void> setOamRoleStatus(@RequestBody @Validated RoleStatusBo bo) {
|
||||
roleService.setOamRoleStatus(bo);
|
||||
return R.ok();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,193 @@
|
||||
package com.cpop.oam.business.controller;
|
||||
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import com.cpop.common.constant.Constants;
|
||||
import com.cpop.core.annontation.OperationLog;
|
||||
import com.cpop.core.base.R;
|
||||
import com.cpop.core.base.enums.OperationLogEnum;
|
||||
import com.cpop.core.utils.SpringUtils;
|
||||
import com.cpop.oam.business.bo.*;
|
||||
import com.cpop.oam.business.service.DeptService;
|
||||
import com.cpop.oam.business.service.RoleService;
|
||||
import com.cpop.oam.business.service.StaffService;
|
||||
import com.cpop.oam.business.vo.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static com.cpop.oam.business.entity.table.RoleTableDef.ROLE;
|
||||
|
||||
/**
|
||||
* 员工表 控制层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-07
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "员工账号管理模块")
|
||||
@RequestMapping("/staff")
|
||||
public class StaffController {
|
||||
|
||||
@Autowired
|
||||
private StaffService staffService;
|
||||
|
||||
@Autowired
|
||||
private DeptService deptService;
|
||||
|
||||
/**
|
||||
* @descriptions 查询员工分页列表
|
||||
* @author DB
|
||||
* @date 2023/09/07 18:07
|
||||
* @param bo 请求参数
|
||||
* @return R<Page<SysStaffPageVo>>
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('system:account:list')")
|
||||
@ApiOperation("查询员工分页列表")
|
||||
@GetMapping("/getStaffPageList")
|
||||
public R<Page<StaffPageVo>> getStaffPageList(StaffPageBo bo) {
|
||||
Page<StaffPageVo> pageVo = staffService.getStaffPageList(bo);
|
||||
return R.ok(pageVo);
|
||||
}
|
||||
|
||||
/**
|
||||
* @descriptions 新增员工
|
||||
* @author DB
|
||||
* @date 2023/09/08 14:04
|
||||
* @param bo 请求参数
|
||||
* @return com.jambox.core.base.R<java.lang.Void>
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('system:account:insert')")
|
||||
@OperationLog(operationLogEnumType= OperationLogEnum.INSERT_OAM_STAFF)
|
||||
@ApiOperation("新增员工")
|
||||
@PostMapping("/insertStaff")
|
||||
public R<Void> insertStaff(@RequestBody @Validated StaffBo bo) {
|
||||
staffService.insertStaff(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @descriptions 修改员工
|
||||
* @author DB
|
||||
* @date 2023/09/08 15:20
|
||||
* @param bo 请求参数
|
||||
* @return com.jambox.core.base.R<java.lang.Void>
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('system:account:update')")
|
||||
@OperationLog(operationLogEnumType= OperationLogEnum.UPDATE_OAM_STAFF)
|
||||
@ApiOperation("修改员工")
|
||||
@PutMapping("/updateStaff")
|
||||
public R<Void> updateStaff(@RequestBody @Validated StaffBo bo) {
|
||||
staffService.updateStaff(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @descriptions 删除员工
|
||||
* @author DB
|
||||
* @date 2023/09/12 16:57
|
||||
* @param id 主键
|
||||
* @return com.jambox.core.base.R<java.lang.Void>
|
||||
*/
|
||||
@PreAuthorize("@aps.hasPermission('system:account:remove')")
|
||||
@OperationLog(operationLogEnumType= OperationLogEnum.REMOVE_OAM_STAFF)
|
||||
@ApiOperation("删除员工")
|
||||
@DeleteMapping("/removeStaffById/{id}")
|
||||
public R<Void> removeStaffById(@PathVariable String id) {
|
||||
staffService.removeStaffById(id);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @descriptions 查询部门树列表
|
||||
* @author DB
|
||||
* @date 2023/09/08 18:19
|
||||
* @param bo 请求参数
|
||||
* @return com.jambox.core.base.R<List<DeptVo>>
|
||||
*/
|
||||
@ApiOperation("查询部门树列表")
|
||||
@GetMapping("/getDeptTreeList")
|
||||
public R<List<DeptVo>> getDeptTreeList(DeptListBo bo) {
|
||||
List<DeptVo> list = deptService.getDeptTreeList(bo);
|
||||
return R.ok(list);
|
||||
}
|
||||
/**
|
||||
* 获取所有角色信息
|
||||
*/
|
||||
@ApiOperation("获取所有角色信息")
|
||||
@GetMapping("/getAllRoleList")
|
||||
public R<List<RoleVo>> getAllSysRoleList() {
|
||||
List<RoleVo> list = SpringUtils.getBean(RoleService.class).listAs(QueryWrapper.create()
|
||||
.where(ROLE.STATUS.eq(true))
|
||||
.and(ROLE.ROLE_VALUE.ne(Constants.SUPER_ADMIN_VALUE))
|
||||
.orderBy(ROLE.ORDER_NO.asc())
|
||||
, RoleVo.class);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 用户名是否存在
|
||||
* @param username 用户名
|
||||
* @param id 主键
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/11 10:09
|
||||
**/
|
||||
@ApiOperation("用户名是否存在")
|
||||
@GetMapping("/isAccountExist")
|
||||
public R<Void> isAccountExist(String username, String id) {
|
||||
staffService.isAccountExist(username, id);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 获取员工信息
|
||||
* @param id
|
||||
* @return: R<StaffVo>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/17 10:33
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('system:account:info')")
|
||||
@ApiOperation("获取员工信息")
|
||||
@GetMapping("/getStaffInfo/{id}")
|
||||
public R<StaffInfoVo> getStaffInfo(@PathVariable String id) {
|
||||
StaffInfoVo staffInfo = staffService.getStaffInfo(id);
|
||||
return R.ok(staffInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 获取用户操作日志分页
|
||||
* @param bo 请求参数
|
||||
* @return: R<PageVo<SysOperationLogVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/12 14:30
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('system:account:list')")
|
||||
@ApiOperation("获取用户操作日志分页")
|
||||
@GetMapping("/getUserLogList")
|
||||
public R<Page<SysOperationLogVo>> getUserLogList(@Validated SysUserLogBo bo) {
|
||||
Page<SysOperationLogVo> list = staffService.getUserLogList(bo);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 修改系统用户密码
|
||||
* @param bo 请求参数
|
||||
* @return: AjaxResult<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/12 16:00
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('system:account:update')")
|
||||
@OperationLog(operationLogEnumType= OperationLogEnum.MODIFY_OAM_STAFF_PASSWORD)
|
||||
@ApiOperation("修改系统用户密码")
|
||||
@PutMapping("/modifyUserPassword")
|
||||
public R<Void> modifyUserPassword(@Validated @RequestBody ModifyUserPasswordBo bo) {
|
||||
staffService.modifyUserPassword(bo);
|
||||
return R.ok();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,57 @@
|
||||
package com.cpop.oam.business.controller;
|
||||
|
||||
import com.cpop.core.base.R;
|
||||
import com.cpop.core.config.CpopConfig;
|
||||
import com.cpop.core.config.ServerConfig;
|
||||
import com.cpop.core.utils.file.FileUploadUtils;
|
||||
import com.cpop.core.utils.file.FileUtils;
|
||||
import com.cpop.oam.business.vo.SysFileVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
/**
|
||||
* @author DB
|
||||
* @createTime 2023/09/13 15:10
|
||||
* @description 通用接口
|
||||
*/
|
||||
@Slf4j
|
||||
@Api(tags = "通用接口")
|
||||
@RestController
|
||||
@RequestMapping("/sysCommon")
|
||||
public class SysCommonController {
|
||||
|
||||
@Autowired
|
||||
private ServerConfig serverConfig;
|
||||
|
||||
@Autowired
|
||||
private CpopConfig cpopConfig;
|
||||
|
||||
/**
|
||||
* 通用上传请求(单个)
|
||||
*/
|
||||
@ApiOperation("通用上传请求(单个)")
|
||||
@PostMapping("/upload")
|
||||
public R<SysFileVo> uploadFile(MultipartFile file) {
|
||||
try {
|
||||
// 上传文件路径
|
||||
String filePath = cpopConfig.getUploadPath();
|
||||
// 上传并返回新文件名称
|
||||
String fileName = FileUploadUtils.getInstance().upload(filePath, file);
|
||||
String url = serverConfig.getUrl() + fileName;
|
||||
SysFileVo sysFileVo = new SysFileVo();
|
||||
sysFileVo.setUrl(url)
|
||||
.setFileName(fileName)
|
||||
.setNewFileName(FileUtils.getInstance().getName(fileName))
|
||||
.setOriginalFilename(file.getOriginalFilename());
|
||||
return R.ok(sysFileVo);
|
||||
} catch (Exception e) {
|
||||
return R.fail(e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,52 @@
|
||||
package com.cpop.oam.business.controller;
|
||||
|
||||
import com.cpop.core.base.R;
|
||||
import com.cpop.oam.business.bo.SysConfigInfoBo;
|
||||
import com.cpop.oam.business.service.CommonService;
|
||||
import com.cpop.oam.business.vo.ConfigInfoVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* @author DB
|
||||
* @createTime 2023/09/13 12:00
|
||||
* @description
|
||||
*/
|
||||
@Api(tags = "系统配置模块")
|
||||
@RestController
|
||||
@RequestMapping("/sysConfig")
|
||||
public class SysConfigController {
|
||||
|
||||
@Autowired
|
||||
private CommonService commonService;
|
||||
|
||||
/**
|
||||
* @Description: 获取系统配置信息
|
||||
* @return R<OpenPlatformConfigVo>
|
||||
* @author DB
|
||||
* @Date: 2023/7/7 0007 16:27
|
||||
*/
|
||||
@ApiOperation("获取系统配置信息")
|
||||
@GetMapping("/getSysConfigInfo")
|
||||
public R<ConfigInfoVo> getSysConfigInfo() {
|
||||
ConfigInfoVo vo = commonService.getSysConfigInfo();
|
||||
return R.ok(vo);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bo 请求参数
|
||||
* @Description: 设置系统配置信息
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/11 15:48
|
||||
**/
|
||||
@ApiOperation("设置系统配置信息")
|
||||
@PutMapping("/setSysConfigInfo")
|
||||
public R<Void> setSysConfigInfo(@RequestBody @Validated SysConfigInfoBo bo) {
|
||||
commonService.setSysConfigInfo(bo);
|
||||
return R.ok();
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,292 @@
|
||||
package com.cpop.oam.business.controller;
|
||||
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.cpop.core.annontation.OperationLog;
|
||||
import com.cpop.core.base.R;
|
||||
import com.cpop.core.base.enums.OperationLogEnum;
|
||||
import com.cpop.oam.business.bo.*;
|
||||
import com.cpop.oam.business.service.StaffService;
|
||||
import com.cpop.oam.business.service.TaskService;
|
||||
import com.cpop.oam.business.service.TaskStaffGroupService;
|
||||
import com.cpop.oam.business.vo.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* OAM-任务表 控制层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-15
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "任务管理模块")
|
||||
@RequestMapping("/task")
|
||||
public class TaskController {
|
||||
|
||||
@Autowired
|
||||
private TaskService taskService;
|
||||
|
||||
@Autowired
|
||||
private TaskStaffGroupService taskStaffGroupService;
|
||||
|
||||
@Autowired
|
||||
private StaffService staffService;
|
||||
|
||||
/**
|
||||
* @Description: 查询OAM-任务分页列表
|
||||
* @param bo 请求参数
|
||||
* @return: R<PageVo<PersonTaskPageListVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 15:24
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:task:list')")
|
||||
@ApiOperation("任务分页列表")
|
||||
@GetMapping("/getTaskPage")
|
||||
public R<Page<TaskPageVo>> getTaskPage(TaskPageBo bo) {
|
||||
Page<TaskPageVo> list = taskService.getTaskPage(bo);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: OAM-新增迭代任务
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 15:58
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:task:insert')")
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.INSERT_ITERATION_TASK)
|
||||
@ApiOperation("新增迭代任务")
|
||||
@PostMapping("/insertIterationTask")
|
||||
public R<Void> insertIterationTask(@RequestBody @Validated TaskBo bo) {
|
||||
taskService.insertTask(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 查询OAM-任务审核分页列表
|
||||
* @return: R<Page<OamTaskAuditPageVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 15:24
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:taskAudit:list')")
|
||||
@ApiOperation("任务审核分页列表")
|
||||
@GetMapping("/getTaskAuditPage")
|
||||
public R<Page<TaskAuditPageVo>> getTaskAuditPage() {
|
||||
Page<TaskAuditPageVo> list = taskService.getTaskAuditPage();
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 设置任务审核意见
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 17:36
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:taskAudit:update')")
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.SET_TASK_AUDIT_COMMENTS)
|
||||
@ApiOperation("设置任务审核意见")
|
||||
@PutMapping("/setTaskAuditComments")
|
||||
public R<Void> setTaskAuditComments(@RequestBody TaskAuditCommentsBo bo) {
|
||||
taskService.setTaskAuditComments(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 查询OAM-任务审核驳回列表
|
||||
* @return: R<Page<OamTaskAuditPageVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 15:24
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:taskAudit:list')")
|
||||
@ApiOperation("任务审核驳回列表")
|
||||
@GetMapping("/getTaskRejectPage")
|
||||
public R<Page<TaskAuditPageVo>> getTaskRejectPage() {
|
||||
Page<TaskAuditPageVo> list = taskService.getTaskRejectPage();
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 技术人员领取任务
|
||||
* @param id 任务主键
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 17:10
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:task:update')")
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.CLAIM_TASK)
|
||||
@ApiOperation("技术人员领取任务")
|
||||
@PutMapping("/claimTask/{id}")
|
||||
public R<Void> claimTask(@PathVariable String id) {
|
||||
taskService.claimTask(id);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 删除任务
|
||||
* @param id 主键
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/19 18:03
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:task:remove')")
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.REMOVE_TASK)
|
||||
@ApiOperation("删除任务")
|
||||
@DeleteMapping("/removeTask/{id}")
|
||||
public R<Void> removeTask(@PathVariable String id) {
|
||||
taskService.removeById(id);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 查询OAM-个人任务分页列表
|
||||
* @return: R<PageVo<PersonTaskPageListVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 15:24
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:task:list')")
|
||||
@ApiOperation("个人任务分页列表")
|
||||
@GetMapping("/getPersonTaskPage")
|
||||
public R<Page<PersonTaskPageVo>> getPersonTaskPage(PersonTaskPageBo bo) {
|
||||
Page<PersonTaskPageVo> list = taskService.getPersonTaskPage(bo);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 查询OAM-任务成员组列表
|
||||
* @return: R<PageVo<PersonTaskPageListVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 15:24
|
||||
**/
|
||||
@ApiOperation("任务成员组列表")
|
||||
@GetMapping("/getTaskStaffGroupList")
|
||||
public R<List<TaskStaffGroupVo>> getTaskStaffGroupList(@Validated TaskStaffGroupListBo bo) {
|
||||
List<TaskStaffGroupVo> list = taskStaffGroupService.getTaskStaffGroupList(bo);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 查询技术员工列表
|
||||
* @return: R<PageVo<StaffPageVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/11 17:50
|
||||
**/
|
||||
@ApiOperation("查询技术员工列表")
|
||||
@GetMapping("/getTechnologyStaffList")
|
||||
public R<List<StaffVo>> getTechnologyStaffList() {
|
||||
List<StaffVo> list = staffService.getTechnologyStaffList();
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 新增任务员工组
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 15:58
|
||||
**/
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.INSERT_TASK_STAFF_GROUP)
|
||||
@ApiOperation("新增任务小组成员")
|
||||
@PostMapping("/insertTaskStaffGroup")
|
||||
public R<Void> insertTaskStaffGroup(@RequestBody @Validated TaskStaffGroupBo bo) {
|
||||
taskStaffGroupService.insertTaskStaffGroup(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 修改员工任务绩点
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/29 11:48
|
||||
**/
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.UPDATE_STAFF_GRADE_POINT)
|
||||
@ApiOperation("修改员工任务绩点")
|
||||
@PutMapping("/updateStaffGradePoint")
|
||||
public R<Void> updateStaffGradePoint(@RequestBody @Validated TaskStaffGroupBo bo) {
|
||||
taskStaffGroupService.updateStaffGradePoint(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 删除成员组
|
||||
* @param id 主键
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/29 14:18
|
||||
**/
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.REMOVE_TASK_STAFF_GROUP)
|
||||
@ApiOperation("删除成员组")
|
||||
@DeleteMapping("/removeTaskStaffGroup/{id}")
|
||||
public R<Void> removeTaskStaffGroup(@PathVariable String id) {
|
||||
taskStaffGroupService.removeTaskStaffGroupById(id);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 修改任务进度
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/29 14:58
|
||||
**/
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.UPDATE_TASK_ITEM)
|
||||
@ApiOperation("修改任务进度")
|
||||
@PutMapping("/updateTaskItem")
|
||||
public R<Void> updateTaskItem(@RequestBody @Validated TaskItemBo bo) {
|
||||
taskService.updateTaskItem(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 修改任务负责人
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/29 14:58
|
||||
**/
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.UPDATE_TASK_RESPONSIBLE_STAFF)
|
||||
@ApiOperation("修改任务负责人")
|
||||
@PutMapping("/updateTaskResponsibleStaff")
|
||||
public R<Void> updateTaskResponsibleStaff(@RequestBody @Validated TransferTaskBo bo) {
|
||||
taskService.updateTaskResponsibleStaff(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 完成任务
|
||||
* @param id 主键
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/31 16:24
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:task:update')")
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.FINISH_TASK)
|
||||
@ApiOperation("完成任务")
|
||||
@PutMapping("/finishTask/{id}")
|
||||
public R<Void> finishTask(@PathVariable String id) {
|
||||
taskService.finishTask(id);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 获取月度任务统计列表
|
||||
* @param bo 请求参数
|
||||
* @return: R<List<TaskListVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/15 16:42
|
||||
**/
|
||||
@ApiOperation("获取月度任务统计列表")
|
||||
@GetMapping("/getTaskMonthStatistics")
|
||||
public R<TaskMonthStatisticsVo> getTaskMonthStatistics(TaskMonthStatisticsBo bo) {
|
||||
return R.ok(taskService.getTaskMonthStatistics(bo));
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,63 @@
|
||||
package com.cpop.oam.business.controller;
|
||||
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.cpop.core.annontation.OperationLog;
|
||||
import com.cpop.core.base.R;
|
||||
import com.cpop.core.base.enums.OperationLogEnum;
|
||||
import com.cpop.oam.business.bo.TaskDemandBo;
|
||||
import com.cpop.oam.business.bo.TaskDemandPageBo;
|
||||
import com.cpop.oam.business.service.TaskDemandService;
|
||||
import com.cpop.oam.business.vo.TaskDemandPageVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* OAM-任务-需求表 控制层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-18
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "任务管理模块-需求任务")
|
||||
@RequestMapping("/taskDemand")
|
||||
public class TaskDemandController {
|
||||
|
||||
@Autowired
|
||||
private TaskDemandService taskDemandService;
|
||||
|
||||
/**
|
||||
* @Description: 任务管理-需求管理分页列表
|
||||
* @param bo 请求参数
|
||||
* @return: R<PageVo<DemandPageListVo>>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/30 15:44
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:taskDemand:list')")
|
||||
@ApiOperation("任务管理模块-需求任务分页列表")
|
||||
@GetMapping("/getTaskDemandPage")
|
||||
public R<Page<TaskDemandPageVo>> getTaskDemandPage(TaskDemandPageBo bo) {
|
||||
Page<TaskDemandPageVo> pageVo = taskDemandService.getTaskDemandPage(bo);
|
||||
return R.ok(pageVo);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 任务管理-需求管理-新增需求任务
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/30 16:53
|
||||
**/
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.INSERT_DEMAND_TASK)
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:taskDemand:insert')")
|
||||
@ApiOperation("任务管理模块-新增需求任务")
|
||||
@PostMapping("/insertDemandTask")
|
||||
public R<Void> insertDemandTask(@RequestBody @Validated TaskDemandBo bo) {
|
||||
taskDemandService.insertTaskDemand(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,128 @@
|
||||
package com.cpop.oam.business.controller;
|
||||
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import com.cpop.core.annontation.OperationLog;
|
||||
import com.cpop.core.base.R;
|
||||
import com.cpop.core.base.enums.OperationLogEnum;
|
||||
import com.cpop.oam.business.bo.PauseWorkOrderBo;
|
||||
import com.cpop.oam.business.bo.TaskWorkOrderBo;
|
||||
import com.cpop.oam.business.bo.TaskWorkOrderPageBo;
|
||||
import com.cpop.oam.business.bo.TaskWorkOrderRecordBo;
|
||||
import com.cpop.oam.business.service.TaskWorkOrderService;
|
||||
import com.cpop.oam.business.vo.TaskWorkOrderPageVo;
|
||||
import com.cpop.oam.business.vo.TaskWorkOrderRecordListVo;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.access.prepost.PreAuthorize;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 任务-工单表 控制层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-18
|
||||
*/
|
||||
@RestController
|
||||
@Api(tags = "任务管理模块-工单管理")
|
||||
@RequestMapping("/taskWorkOrder")
|
||||
public class TaskWorkOrderController {
|
||||
|
||||
@Autowired
|
||||
private TaskWorkOrderService taskWorkOrderService;
|
||||
|
||||
/**
|
||||
* @Description: 任务管理-工单管理-新增工单
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/30 16:53
|
||||
**/
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.INSERT_WORK_ORDER)
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:workOrder:insert')")
|
||||
@ApiOperation("任务管理模块-工单管理-新增工单")
|
||||
@PostMapping("/insertWorkOrder")
|
||||
public R<Void> insertWorkOrder(@RequestBody @Validated TaskWorkOrderBo bo) {
|
||||
taskWorkOrderService.insertWorkOrder(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @descriptions 查询任务-工单-记录表列表
|
||||
* @author DB
|
||||
* @date 2023/09/18 17:18
|
||||
* @param bo 请求参数
|
||||
* @return com.cpop.core.base.R<com.mybatisflex.core.paginate.Page<com.cpop.oam.business.vo.TaskWorkOrderPageVo>>
|
||||
*/
|
||||
@ApiOperation("任务管理模块-工单-分页列表")
|
||||
@PostMapping("/getWorkOrderPage")
|
||||
public R<Page<TaskWorkOrderPageVo>> getWorkOrderPage(@RequestBody TaskWorkOrderPageBo bo) {
|
||||
Page<TaskWorkOrderPageVo> pageVo = taskWorkOrderService.getWorkOrderPage(bo);
|
||||
return R.ok(pageVo);
|
||||
}
|
||||
|
||||
/**
|
||||
* @descriptions 查询任务-工单记录-列表
|
||||
* @author DB
|
||||
* @date 2023/09/18 17:19
|
||||
* @param workRecordId 工单记录id
|
||||
* @return com.cpop.core.base.R<java.util.List<com.cpop.oam.business.vo.TaskWorkOrderRecordListVo>>
|
||||
*/
|
||||
@ApiOperation("任务管理模块-工单记录")
|
||||
@GetMapping("/getWorkOrderRecordList/{workRecordId}")
|
||||
public R<List<TaskWorkOrderRecordListVo>> getWorkOrderRecordList(@PathVariable String workRecordId) {
|
||||
List<TaskWorkOrderRecordListVo> list = taskWorkOrderService.getWorkOrderRecordList(workRecordId);
|
||||
return R.ok(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 任务管理-工单管理-新增工单记录
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/30 16:53
|
||||
**/
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.INSERT_WORK_ORDER_RECORD)
|
||||
@ApiOperation("任务管理模块-工单管理-新增工单记录")
|
||||
@PostMapping("/insertWorkOrderRecord")
|
||||
public R<Void> insertWorkOrderRecord(@RequestBody @Validated TaskWorkOrderRecordBo bo) {
|
||||
taskWorkOrderService.insertWorkOrderRecord(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 工单办结
|
||||
* @param id 主键
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 17:10
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:workOrder:update')")
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.CONCLUDE_WORK_ORDER)
|
||||
@ApiOperation("工单办结")
|
||||
@PutMapping("/concludeWorkOrder/{id}")
|
||||
public R<Void> concludeWorkOrder(@PathVariable String id) {
|
||||
taskWorkOrderService.concludeWorkOrder(id);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 工单暂停
|
||||
* @param bo 请求参数
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/16 17:10
|
||||
**/
|
||||
@PreAuthorize("@aps.hasPermission('oamTask:workOrder:update')")
|
||||
@OperationLog(operationLogEnumType = OperationLogEnum.PAUSE_WORK_ORDER)
|
||||
@ApiOperation("工单暂停")
|
||||
@PutMapping("/pauseWorkOrder")
|
||||
public R<Void> pauseWorkOrder(@RequestBody PauseWorkOrderBo bo) {
|
||||
taskWorkOrderService.pauseWorkOrder(bo);
|
||||
return R.ok();
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,50 @@
|
||||
package com.cpop.oam.business.dto;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 任务-工单-记录表Dto
|
||||
*
|
||||
* @author DB.lost
|
||||
* @since 2023-07-10
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class TaskWorkOrderRecordDto implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 任务工单id
|
||||
*/
|
||||
private String taskWorkOrderId;
|
||||
|
||||
/**
|
||||
* 记录员工id
|
||||
*/
|
||||
private String recordStaffId;
|
||||
|
||||
/**
|
||||
* 记录内容
|
||||
*/
|
||||
private String recordText;
|
||||
|
||||
/**
|
||||
* 附件地址
|
||||
*/
|
||||
private String attachmentUrl;
|
||||
|
||||
/**
|
||||
* 记录员工手机号
|
||||
*/
|
||||
private String recordStaffPhone;
|
||||
|
||||
/**
|
||||
* 负责员工手机号
|
||||
*/
|
||||
private String responsibleStaffPhone;
|
||||
|
||||
}
|
||||
@ -0,0 +1,81 @@
|
||||
package com.cpop.oam.business.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Column;
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.Table;
|
||||
import com.cpop.core.base.entity.BaseEntity;
|
||||
import com.cpop.core.base.entity.BaseInsertListener;
|
||||
import com.cpop.core.base.entity.BaseUpdateListener;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 部门表 实体类。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-08
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@Table(value = "cp_oam_dept", onInsert = BaseInsertListener.class, onUpdate = BaseUpdateListener.class, mapperGenerateEnable = false)
|
||||
public class Dept extends BaseEntity implements Serializable {
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 父部门id
|
||||
*/
|
||||
private String parentId;
|
||||
|
||||
/**
|
||||
* 部门名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private Integer orderNo;
|
||||
|
||||
/**
|
||||
* 负责人
|
||||
*/
|
||||
private String leader;
|
||||
|
||||
/**
|
||||
* 电话
|
||||
*/
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 部门状态:1正常,0停用
|
||||
*/
|
||||
private Boolean status;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 逻辑删除(0否1是)
|
||||
*/
|
||||
@Column(isLogicDelete = true)
|
||||
private Boolean isDelete;
|
||||
|
||||
}
|
||||
@ -0,0 +1,55 @@
|
||||
package com.cpop.oam.business.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.Table;
|
||||
import com.cpop.core.base.entity.BaseEntity;
|
||||
import com.cpop.core.base.entity.BaseInsertListener;
|
||||
import com.cpop.core.base.entity.BaseUpdateListener;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.sql.Date;
|
||||
|
||||
/**
|
||||
* 值班表 实体类。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-14
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@Table(value = "cp_oam_duty", onInsert = BaseInsertListener.class, onUpdate = BaseUpdateListener.class, mapperGenerateEnable = false)
|
||||
public class Duty extends BaseEntity implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 服务员工id
|
||||
*/
|
||||
private String serviceStaffId;
|
||||
|
||||
/**
|
||||
* 技术员工id
|
||||
*/
|
||||
private String technologyStaffId;
|
||||
|
||||
/**
|
||||
* 值班日期
|
||||
*/
|
||||
private Date dutyDate;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
}
|
||||
@ -0,0 +1,80 @@
|
||||
package com.cpop.oam.business.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Column;
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.Table;
|
||||
import com.cpop.core.base.entity.BaseEntity;
|
||||
import com.cpop.core.base.entity.BaseInsertListener;
|
||||
import com.cpop.core.base.entity.BaseUpdateListener;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.sql.Date;
|
||||
|
||||
/**
|
||||
* 报销记录表 实体类。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-20
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@Table(value = "cp_oam_finance_reimburse", onInsert = BaseInsertListener.class, onUpdate = BaseUpdateListener.class, mapperGenerateEnable = false)
|
||||
public class FinanceReimburse extends BaseEntity implements Serializable {
|
||||
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 提交人
|
||||
*/
|
||||
private String staffId;
|
||||
|
||||
/**
|
||||
* 状态:0:已提交;1:审批中;2:下款中;3:已下发;4:驳回
|
||||
*/
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 申请类型
|
||||
*/
|
||||
private String typeId;
|
||||
|
||||
/**
|
||||
* 报销日期
|
||||
*/
|
||||
private Date reportDate;
|
||||
|
||||
/**
|
||||
* 申请说明
|
||||
*/
|
||||
private String remarks;
|
||||
|
||||
/**
|
||||
* 申请金额
|
||||
*/
|
||||
private BigDecimal price;
|
||||
|
||||
/**
|
||||
* 附件
|
||||
*/
|
||||
private String attachmentUrl;
|
||||
|
||||
/**
|
||||
* 驳回原因
|
||||
*/
|
||||
private String rejectReason;
|
||||
|
||||
/**
|
||||
* 逻辑删除
|
||||
*/
|
||||
@Column(isLogicDelete = true)
|
||||
private Boolean isDelete;
|
||||
|
||||
}
|
||||
@ -0,0 +1,60 @@
|
||||
package com.cpop.oam.business.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.Table;
|
||||
import com.cpop.core.base.entity.BaseEntity;
|
||||
import com.cpop.core.base.entity.BaseInsertListener;
|
||||
import com.cpop.core.base.entity.BaseUpdateListener;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 报销阶段表 实体类。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-26
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@Table(value = "cp_oam_finance_reimburse_stage", onInsert = BaseInsertListener.class, onUpdate = BaseUpdateListener.class, mapperGenerateEnable = false)
|
||||
public class FinanceReimburseStage extends BaseEntity implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 报销记录id
|
||||
*/
|
||||
private String financeReimburseId;
|
||||
|
||||
/**
|
||||
* 阶段金额
|
||||
*/
|
||||
private BigDecimal stageAmount;
|
||||
|
||||
/**
|
||||
* 下发时间
|
||||
*/
|
||||
private LocalDateTime paymentTime;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 逻辑删除(1否0是)
|
||||
*/
|
||||
private Boolean deleted;
|
||||
|
||||
}
|
||||
@ -0,0 +1,39 @@
|
||||
package com.cpop.oam.business.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.Table;
|
||||
import com.cpop.core.base.entity.BaseEntity;
|
||||
import com.cpop.core.base.entity.BaseInsertListener;
|
||||
import com.cpop.core.base.entity.BaseUpdateListener;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 报销类型表 实体类。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-20
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@Table(value = "cp_oam_finance_reimburse_type", onInsert = BaseInsertListener.class, onUpdate = BaseUpdateListener.class, mapperGenerateEnable = false)
|
||||
public class FinanceReimburseType extends BaseEntity implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 报销类型
|
||||
*/
|
||||
private String typeName;
|
||||
|
||||
}
|
||||
@ -0,0 +1,94 @@
|
||||
package com.cpop.oam.business.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.Table;
|
||||
import com.cpop.core.base.entity.BaseEntity;
|
||||
import com.cpop.core.base.entity.BaseInsertListener;
|
||||
import com.cpop.core.base.entity.BaseUpdateListener;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 系统菜单表 实体类。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-07
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@Table(value = "cp_oam_menu", onInsert = BaseInsertListener.class, onUpdate = BaseUpdateListener.class, mapperGenerateEnable = false)
|
||||
public class Menu extends BaseEntity implements Serializable {
|
||||
|
||||
/**
|
||||
* 菜单ID
|
||||
*/
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 父级菜单ID
|
||||
*/
|
||||
private String parentMenu;
|
||||
|
||||
/**
|
||||
* 菜单名称
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 菜单图标
|
||||
*/
|
||||
private String icon;
|
||||
|
||||
/**
|
||||
* 菜单路由,父菜单为空
|
||||
*/
|
||||
private String component;
|
||||
|
||||
/**
|
||||
* 标记菜单的状态 0:禁用 1:正常(根据权限正常显示)
|
||||
*/
|
||||
private Boolean status;
|
||||
|
||||
/**
|
||||
* 菜单类型,0:目录,1:菜单,2:按钮
|
||||
*/
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 权限
|
||||
*/
|
||||
private String permission;
|
||||
|
||||
/**
|
||||
* 重定向路径,一级菜单有值
|
||||
*/
|
||||
private String redirect;
|
||||
|
||||
/**
|
||||
* 排序,值越小越靠前,一级菜单有值
|
||||
*/
|
||||
private Integer orderNo;
|
||||
|
||||
/**
|
||||
* 路由地址
|
||||
*/
|
||||
private String path;
|
||||
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
private String title;
|
||||
|
||||
/**
|
||||
* 隐藏菜单
|
||||
*/
|
||||
private Boolean hideMenu;
|
||||
|
||||
}
|
||||
@ -0,0 +1,63 @@
|
||||
package com.cpop.oam.business.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.Table;
|
||||
import com.cpop.core.base.entity.BaseEntity;
|
||||
import com.cpop.core.base.entity.BaseInsertListener;
|
||||
import com.cpop.core.base.entity.BaseUpdateListener;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 系统角色表 实体类。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-08
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@Table(value = "cp_oam_role", onInsert = BaseInsertListener.class, onUpdate = BaseUpdateListener.class, mapperGenerateEnable = false)
|
||||
public class Role extends BaseEntity implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 角色名称
|
||||
*/
|
||||
private String roleName;
|
||||
|
||||
/**
|
||||
* 角色值
|
||||
*/
|
||||
private String roleValue;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private Boolean status;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 排序
|
||||
*/
|
||||
private Integer orderNo;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,37 @@
|
||||
package com.cpop.oam.business.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Table;
|
||||
import com.cpop.core.base.entity.BaseEntity;
|
||||
import com.cpop.core.base.entity.BaseInsertListener;
|
||||
import com.cpop.core.base.entity.BaseUpdateListener;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 系统-角色-菜单表 实体类。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-10
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@Table(value = "cp_oam_role_menu", onInsert = BaseInsertListener.class, onUpdate = BaseUpdateListener.class, mapperGenerateEnable = false)
|
||||
public class RoleMenu extends BaseEntity implements Serializable {
|
||||
|
||||
/**
|
||||
* 角色id
|
||||
*/
|
||||
private String roleId;
|
||||
|
||||
/**
|
||||
* 菜单id
|
||||
*/
|
||||
private String menuId;
|
||||
|
||||
}
|
||||
@ -0,0 +1,66 @@
|
||||
package com.cpop.oam.business.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Column;
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.Table;
|
||||
import com.cpop.core.base.entity.BaseEntity;
|
||||
import com.cpop.core.base.entity.BaseInsertListener;
|
||||
import com.cpop.core.base.entity.BaseUpdateListener;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 员工表 实体类。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-07
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@Table(value = "cp_oam_staff", onInsert = BaseInsertListener.class, onUpdate = BaseUpdateListener.class, mapperGenerateEnable = false)
|
||||
public class Staff extends BaseEntity implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
private String name;
|
||||
|
||||
/**
|
||||
* 部门id
|
||||
*/
|
||||
private String deptId;
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
private String userId;
|
||||
|
||||
/**
|
||||
* 员工类型(0:技术人员;1:售后人员;2:管理人员)
|
||||
*/
|
||||
private Integer staffType;
|
||||
|
||||
/**
|
||||
* 角色id
|
||||
*/
|
||||
private String roleId;
|
||||
|
||||
/**
|
||||
* 逻辑删除(0否1是)
|
||||
*/
|
||||
@Column(isLogicDelete = true)
|
||||
private Boolean isDelete;
|
||||
|
||||
}
|
||||
108
Cpop-Oam/src/main/java/com/cpop/oam/business/entity/Task.java
Normal file
108
Cpop-Oam/src/main/java/com/cpop/oam/business/entity/Task.java
Normal file
@ -0,0 +1,108 @@
|
||||
package com.cpop.oam.business.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Column;
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.Table;
|
||||
import com.cpop.core.base.entity.BaseEntity;
|
||||
import com.cpop.core.base.entity.BaseInsertListener;
|
||||
import com.cpop.core.base.entity.BaseUpdateListener;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.sql.Date;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* OAM-任务表 实体类。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-15
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@Table(value = "cp_oam_task", onInsert = BaseInsertListener.class, onUpdate = BaseUpdateListener.class, mapperGenerateEnable = false)
|
||||
public class Task extends BaseEntity implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 任务名
|
||||
*/
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 任务类型(0:迭代;1:需求;2:工单)
|
||||
*/
|
||||
private Integer taskType;
|
||||
|
||||
/**
|
||||
* 主要负责员工id
|
||||
*/
|
||||
private String responsibleStaffId;
|
||||
|
||||
/**
|
||||
* 任务状态(-1:失败;0:待审核;1:待接受;2:进行中;3:已完成;4:逾期;5:暂停;6:逾期完成)
|
||||
*/
|
||||
private Integer taskStatus;
|
||||
|
||||
/**
|
||||
* 任务项(0:开发中;1:待测试:2:待部署;3:已归档)
|
||||
*/
|
||||
private Integer taskItem;
|
||||
|
||||
/**
|
||||
* 任务内容
|
||||
*/
|
||||
private String taskContent;
|
||||
|
||||
/**
|
||||
* 任务权重
|
||||
*/
|
||||
private Integer taskWeight;
|
||||
|
||||
/**
|
||||
* 任务评级(0:A;1:B;2:C;3:D;4:E)
|
||||
*/
|
||||
private Integer taskRating;
|
||||
|
||||
/**
|
||||
* 附件地址
|
||||
*/
|
||||
private String attachmentUrl;
|
||||
|
||||
/**
|
||||
* 备注
|
||||
*/
|
||||
private String remark;
|
||||
|
||||
/**
|
||||
* 预期完成日期
|
||||
*/
|
||||
private Date expectedCompletionDate;
|
||||
|
||||
/**
|
||||
* 完成日期
|
||||
*/
|
||||
private Date completionDate;
|
||||
|
||||
/**
|
||||
* 任务接收时间
|
||||
*/
|
||||
private LocalDateTime taskReceiptTime;
|
||||
|
||||
/**
|
||||
* 是否删除(0否1是)
|
||||
*/
|
||||
@Column(isLogicDelete = true)
|
||||
private Boolean isDelete;
|
||||
|
||||
}
|
||||
@ -0,0 +1,96 @@
|
||||
package com.cpop.oam.business.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Column;
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.Table;
|
||||
import com.cpop.core.base.entity.BaseEntity;
|
||||
import com.cpop.core.base.entity.BaseInsertListener;
|
||||
import com.cpop.core.base.entity.BaseUpdateListener;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* OAM-任务-需求表 实体类。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-18
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@Table(value = "cp_oam_task_demand", onInsert = BaseInsertListener.class, onUpdate = BaseUpdateListener.class, mapperGenerateEnable = false)
|
||||
public class TaskDemand extends BaseEntity implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
* 商户id
|
||||
*/
|
||||
private String mechanismId;
|
||||
|
||||
/**
|
||||
* 品牌id
|
||||
*/
|
||||
private String brandId;
|
||||
|
||||
/**
|
||||
* 校区id
|
||||
*/
|
||||
private String campusId;
|
||||
|
||||
/**
|
||||
* 需求类型(0:轻;1:缓;2:急;3:重)
|
||||
*/
|
||||
private Integer demandType;
|
||||
|
||||
/**
|
||||
* 记录员工id
|
||||
*/
|
||||
private String recordStaffId;
|
||||
|
||||
/**
|
||||
* 签约图片
|
||||
*/
|
||||
private String signPic;
|
||||
|
||||
/**
|
||||
* 签约二维码
|
||||
*/
|
||||
private String signUrl;
|
||||
|
||||
/**
|
||||
* 预付款
|
||||
*/
|
||||
private BigDecimal prepayment;
|
||||
|
||||
/**
|
||||
* 应付款
|
||||
*/
|
||||
private BigDecimal payable;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 是否删除(0否1是)
|
||||
*/
|
||||
@Column(isLogicDelete = true)
|
||||
private Boolean isDelete;
|
||||
|
||||
}
|
||||
@ -0,0 +1,49 @@
|
||||
package com.cpop.oam.business.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.Table;
|
||||
import com.cpop.core.base.entity.BaseEntity;
|
||||
import com.cpop.core.base.entity.BaseInsertListener;
|
||||
import com.cpop.core.base.entity.BaseUpdateListener;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* OAM-任务-关联员工任务组表 实体类。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-18
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@Table(value = "cp_oam_task_staff_group", onInsert = BaseInsertListener.class, onUpdate = BaseUpdateListener.class, mapperGenerateEnable = false)
|
||||
public class TaskStaffGroup extends BaseEntity implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
* 员工id
|
||||
*/
|
||||
private String staffId;
|
||||
|
||||
/**
|
||||
* 绩点
|
||||
*/
|
||||
private Integer gradePoint;
|
||||
|
||||
}
|
||||
@ -0,0 +1,81 @@
|
||||
package com.cpop.oam.business.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Column;
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.Table;
|
||||
import com.cpop.core.base.entity.BaseEntity;
|
||||
import com.cpop.core.base.entity.BaseInsertListener;
|
||||
import com.cpop.core.base.entity.BaseUpdateListener;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 任务-工单表 实体类。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-18
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@Table(value = "cp_oam_task_work_order", onInsert = BaseInsertListener.class, onUpdate = BaseUpdateListener.class, mapperGenerateEnable = false)
|
||||
public class TaskWorkOrder extends BaseEntity implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 任务id
|
||||
*/
|
||||
private String taskId;
|
||||
|
||||
/**
|
||||
* 品牌id
|
||||
*/
|
||||
private String brandId;
|
||||
|
||||
/**
|
||||
* 校区id
|
||||
*/
|
||||
private String campusId;
|
||||
|
||||
/**
|
||||
* 产品id
|
||||
*/
|
||||
private String productId;
|
||||
|
||||
/**
|
||||
* 问题手机号
|
||||
*/
|
||||
private String phoneNumber;
|
||||
|
||||
/**
|
||||
* 记录员工id
|
||||
*/
|
||||
private String recordStaffId;
|
||||
|
||||
/**
|
||||
* 办结时间
|
||||
*/
|
||||
private LocalDateTime finishTime;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 是否删除(0否1是)
|
||||
*/
|
||||
@Column(isLogicDelete = true)
|
||||
private Boolean isDelete;
|
||||
|
||||
}
|
||||
@ -0,0 +1,58 @@
|
||||
package com.cpop.oam.business.entity;
|
||||
|
||||
import com.mybatisflex.annotation.Id;
|
||||
import com.mybatisflex.annotation.Table;
|
||||
import com.cpop.core.base.entity.BaseEntity;
|
||||
import com.cpop.core.base.entity.BaseInsertListener;
|
||||
import com.cpop.core.base.entity.BaseUpdateListener;
|
||||
import lombok.*;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 任务-工单-记录表 实体类。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-18
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper=false)
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Accessors(chain = true)
|
||||
@Table(value = "cp_oam_task_work_order_record", onInsert = BaseInsertListener.class, onUpdate = BaseUpdateListener.class, mapperGenerateEnable = false)
|
||||
public class TaskWorkOrderRecord extends BaseEntity implements Serializable {
|
||||
|
||||
/**
|
||||
* 主键
|
||||
*/
|
||||
@Id
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 任务工单id
|
||||
*/
|
||||
private String taskWorkOrderId;
|
||||
|
||||
/**
|
||||
* 记录员工id
|
||||
*/
|
||||
private String recordStaffId;
|
||||
|
||||
/**
|
||||
* 记录内容
|
||||
*/
|
||||
private String recordText;
|
||||
|
||||
/**
|
||||
* 附件地址
|
||||
*/
|
||||
private String attachmentUrl;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.cpop.oam.business.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.cpop.oam.business.entity.Dept;
|
||||
|
||||
/**
|
||||
* 部门表 映射层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-08
|
||||
*/
|
||||
public interface DeptMapper extends BaseMapper<Dept> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.cpop.oam.business.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.cpop.oam.business.entity.Duty;
|
||||
|
||||
/**
|
||||
* 值班表 映射层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-14
|
||||
*/
|
||||
public interface DutyMapper extends BaseMapper<Duty> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.cpop.oam.business.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.cpop.oam.business.entity.FinanceReimburse;
|
||||
|
||||
/**
|
||||
* 报销记录表 映射层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-20
|
||||
*/
|
||||
public interface FinanceReimburseMapper extends BaseMapper<FinanceReimburse> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.cpop.oam.business.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.cpop.oam.business.entity.FinanceReimburseStage;
|
||||
|
||||
/**
|
||||
* 报销阶段表 映射层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-26
|
||||
*/
|
||||
public interface FinanceReimburseStageMapper extends BaseMapper<FinanceReimburseStage> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.cpop.oam.business.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.cpop.oam.business.entity.FinanceReimburseType;
|
||||
|
||||
/**
|
||||
* 报销类型表 映射层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-20
|
||||
*/
|
||||
public interface FinanceReimburseTypeMapper extends BaseMapper<FinanceReimburseType> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.cpop.oam.business.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.cpop.oam.business.entity.Menu;
|
||||
|
||||
/**
|
||||
* 系统菜单表 映射层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-07
|
||||
*/
|
||||
public interface MenuMapper extends BaseMapper<Menu> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.cpop.oam.business.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.cpop.oam.business.entity.Role;
|
||||
|
||||
/**
|
||||
* 系统角色表 映射层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-08
|
||||
*/
|
||||
public interface RoleMapper extends BaseMapper<Role> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.cpop.oam.business.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.cpop.oam.business.entity.RoleMenu;
|
||||
|
||||
/**
|
||||
* 系统-角色-菜单表 映射层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-10
|
||||
*/
|
||||
public interface RoleMenuMapper extends BaseMapper<RoleMenu> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.cpop.oam.business.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.cpop.oam.business.entity.Staff;
|
||||
|
||||
/**
|
||||
* 员工表 映射层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-07
|
||||
*/
|
||||
public interface StaffMapper extends BaseMapper<Staff> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.cpop.oam.business.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.cpop.oam.business.entity.TaskDemand;
|
||||
|
||||
/**
|
||||
* OAM-任务-需求表 映射层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-18
|
||||
*/
|
||||
public interface TaskDemandMapper extends BaseMapper<TaskDemand> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.cpop.oam.business.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.cpop.oam.business.entity.Task;
|
||||
|
||||
/**
|
||||
* OAM-任务表 映射层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-15
|
||||
*/
|
||||
public interface TaskMapper extends BaseMapper<Task> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.cpop.oam.business.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.cpop.oam.business.entity.TaskStaffGroup;
|
||||
|
||||
/**
|
||||
* OAM-任务-关联员工任务组表 映射层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-18
|
||||
*/
|
||||
public interface TaskStaffGroupMapper extends BaseMapper<TaskStaffGroup> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.cpop.oam.business.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.cpop.oam.business.entity.TaskWorkOrder;
|
||||
|
||||
/**
|
||||
* 任务-工单表 映射层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-18
|
||||
*/
|
||||
public interface TaskWorkOrderMapper extends BaseMapper<TaskWorkOrder> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,14 @@
|
||||
package com.cpop.oam.business.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.cpop.oam.business.entity.TaskWorkOrderRecord;
|
||||
|
||||
/**
|
||||
* 任务-工单-记录表 映射层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-18
|
||||
*/
|
||||
public interface TaskWorkOrderRecordMapper extends BaseMapper<TaskWorkOrderRecord> {
|
||||
|
||||
}
|
||||
@ -0,0 +1,46 @@
|
||||
package com.cpop.oam.business.service;
|
||||
|
||||
import com.cpop.oam.business.bo.SysConfigInfoBo;
|
||||
import com.cpop.oam.business.vo.ConfigInfoVo;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public interface CommonService {
|
||||
|
||||
/**
|
||||
* 加载参数缓存数据
|
||||
*/
|
||||
void loadingConfigCache();
|
||||
|
||||
/**
|
||||
* @Description: 重置参数缓存数据
|
||||
* @author DB
|
||||
* @Date: 2023/6/7 0007 16:29
|
||||
*/
|
||||
void resetConfigCache();
|
||||
|
||||
/**
|
||||
* @Description: 清空参数缓存数据
|
||||
* @author DB
|
||||
* @Date: 2023/6/7 0007 16:27
|
||||
*/
|
||||
void clearConfigCache();
|
||||
|
||||
/**
|
||||
* @Description: 获取系统配置信息
|
||||
* @return R<OpenPlatformConfigVo>
|
||||
* @author DB
|
||||
* @Date: 2023/7/7 0007 16:27
|
||||
*/
|
||||
ConfigInfoVo getSysConfigInfo();
|
||||
|
||||
/**
|
||||
* @param bo 请求参数
|
||||
* @Description: 设置系统配置信息
|
||||
* @return: R<Void>
|
||||
* @Author: DB
|
||||
* @Date: 2023/5/11 15:48
|
||||
**/
|
||||
void setSysConfigInfo(SysConfigInfoBo bo);
|
||||
}
|
||||
@ -0,0 +1,50 @@
|
||||
package com.cpop.oam.business.service;
|
||||
|
||||
import com.mybatisflex.core.service.IService;
|
||||
import com.cpop.oam.business.bo.DeptBo;
|
||||
import com.cpop.oam.business.bo.DeptListBo;
|
||||
import com.cpop.oam.business.entity.Dept;
|
||||
import com.cpop.oam.business.vo.DeptVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 部门表 服务层。
|
||||
*
|
||||
* @author DB
|
||||
* @since 2023-09-08
|
||||
*/
|
||||
public interface DeptService extends IService<Dept> {
|
||||
|
||||
/**
|
||||
* @descriptions 查询部门树列表
|
||||
* @author DB
|
||||
* @date 2023/09/08 18:25
|
||||
* @param bo 查询参数
|
||||
* @return java.util.List<com.jambox.system.business.vo.DeptVo>
|
||||
*/
|
||||
List<DeptVo> getDeptTreeList(DeptListBo bo);
|
||||
|
||||
/**
|
||||
* 新增部门
|
||||
*
|
||||
* @param bo 请求参数
|
||||
*/
|
||||
void insertDept(DeptBo bo);
|
||||
|
||||
/**
|
||||
* @Description: 修改部门
|
||||
* @param bo 请求参数
|
||||
* @Author DB
|
||||
* @Date: 2023/5/9 20:47
|
||||
*/
|
||||
void updateDept(DeptBo bo);
|
||||
|
||||
/**
|
||||
* @Description: 删除部门
|
||||
* @param id 主键
|
||||
* @Author DB
|
||||
* @Date: 2023/5/9 20:48
|
||||
*/
|
||||
void removeDept(String id);
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user