diff --git a/orange-admin-service/.gitignore b/orange-admin-service/.gitignore deleted file mode 100644 index ac242580..00000000 --- a/orange-admin-service/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -/target/ -!.mvn/wrapper/maven-wrapper.jar -/.mvn/* - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr - -### NetBeans ### -/nbproject/private/ -/build/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ \ No newline at end of file diff --git a/orange-admin-service/README.md b/orange-admin-service/README.md deleted file mode 100644 index 6a1d5465..00000000 --- a/orange-admin-service/README.md +++ /dev/null @@ -1,5 +0,0 @@ -### 服务启动环境依赖 ---- - -在当前工程业务应用服务或Job服务启动前,需按如下顺序依次启动下列中间件。 -- XXL-Job (可选,仅当启动Job服务时使用) diff --git a/orange-admin-service/application/pom.xml b/orange-admin-service/application/pom.xml deleted file mode 100644 index 3aa12b80..00000000 --- a/orange-admin-service/application/pom.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - 4.0.0 - - - com.orange.admin - OrangeAdmin - 1.0.0 - - - application - 1.0.0 - application - jar - - - - - com.orange.admin - common-biz - 1.0.0 - - - - - - - src/main/resources - - **/*.* - - false - - - src/main/java - - **/*.xml - - false - - - - - org.springframework.boot - spring-boot-maven-plugin - ${spring-boot.version} - - - - repackage - - - - - - - org.mybatis.generator - mybatis-generator-maven-plugin - ${mybatis-generator.version} - - ${project.basedir}/src/main/resources/generator/generatorConfig.xml - true - true - - - - mysql - mysql-connector-java - 8.0.13 - - - tk.mybatis - mapper - 4.0.0 - - - - - - diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/MyApplication.java b/orange-admin-service/application/src/main/java/com/orange/admin/MyApplication.java deleted file mode 100644 index cdb6e21c..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/MyApplication.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.orange.admin; - -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; - -/** - * 应用服务启动类。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@SpringBootApplication -public class MyApplication { - - public static void main(String[] args) { - SpringApplication.run(MyApplication.class, args); - } -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/AreaCodeController.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/AreaCodeController.java deleted file mode 100644 index 8c3ef0aa..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/AreaCodeController.java +++ /dev/null @@ -1,56 +0,0 @@ -package com.orange.admin.app.controller; - -import cn.jimmyshi.beanquery.BeanQuery; -import com.orange.admin.app.model.AreaCode; -import com.orange.admin.app.service.AreaCodeService; -import com.orange.admin.common.core.object.ResponseResult; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.util.*; - -/** - * 行政区划数据访问接口类。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@RestController -@RequestMapping("/admin/app/areaCode") -public class AreaCodeController { - - @Autowired - private AreaCodeService areaCodeService; - - /** - * 按照字典的形式返回行政区划列表。 - * - * @return 字典形式的行政区划列表。 - */ - @GetMapping("/listDictAreaCode") - public ResponseResult>> listDictAreaCode() { - List resultList = areaCodeService.getAllList(); - return ResponseResult.success(BeanQuery.select( - "parentId as parentId", "areaId as id", "areaName as name").executeFrom(resultList)); - } - - /** - * 根据上级行政区划Id获取其下级行政区划列表。 - * - * @param parentId 上级行政区划Id。 - * @return 按照字典的形式返回下级行政区划列表。 - */ - @GetMapping("/listDictAreaCodeByParentId") - public ResponseResult>> listDictAreaCodeByParentId(@RequestParam(required = false) Long parentId) { - Collection resultList = areaCodeService.getListByParentId(parentId); - if (CollectionUtils.isEmpty(resultList)) { - return ResponseResult.success(new LinkedList<>()); - } - return ResponseResult.success(BeanQuery.select( - "parentId as parentId", "areaId as id", "areaName as name").executeFrom(resultList)); - } -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/TeacherController.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/TeacherController.java deleted file mode 100644 index 2ad392e7..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/TeacherController.java +++ /dev/null @@ -1,171 +0,0 @@ -package com.orange.admin.app.controller; - -import cn.jimmyshi.beanquery.BeanQuery; -import com.github.pagehelper.page.PageMethod; -import com.orange.admin.app.model.*; -import com.orange.admin.app.service.*; -import com.orange.admin.upms.model.*; -import com.orange.admin.common.core.object.*; -import com.orange.admin.common.core.util.*; -import com.orange.admin.common.core.constant.ErrorCodeEnum; -import com.orange.admin.common.core.annotation.MyRequestBody; -import com.orange.admin.common.core.validator.UpdateGroup; -import lombok.extern.slf4j.Slf4j; -import com.alibaba.fastjson.JSONObject; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.*; -import javax.validation.groups.Default; - -/** - * 老师数据源操作控制器类。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Slf4j -@RestController -@RequestMapping("/admin/app/teacher") -public class TeacherController { - - @Autowired - private TeacherService teacherService; - - /** - * 新增老师数据源数据。 - * - * @param teacher 新增对象。 - * @return 应答结果对象,包含新增对象主键Id。 - */ - @PostMapping("/add") - public ResponseResult add(@MyRequestBody Teacher teacher) { - String errorMessage = MyCommonUtil.getModelValidationError(teacher); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); - } - // 验证关联Id的数据合法性 - CallResult callResult = teacherService.verifyRelatedData(teacher, null); - if (!callResult.isSuccess()) { - errorMessage = callResult.getErrorMessage(); - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); - } - teacher = teacherService.saveNew(teacher); - JSONObject responseData = new JSONObject(); - responseData.put("teacherId", teacher.getTeacherId()); - return ResponseResult.success(responseData); - } - - /** - * 更新老师数据源数据。 - * - * @param teacher 更新对象。 - * @return 应答结果对象。 - */ - @PostMapping("/update") - public ResponseResult update(@MyRequestBody Teacher teacher) { - String errorMessage = MyCommonUtil.getModelValidationError(teacher, Default.class, UpdateGroup.class); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); - } - // 验证关联Id的数据合法性 - Teacher originalTeacher = teacherService.getById(teacher.getTeacherId()); - if (originalTeacher == null) { - //NOTE: 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [数据] 并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - // 验证关联Id的数据合法性 - CallResult callResult = teacherService.verifyRelatedData(teacher, originalTeacher); - if (!callResult.isSuccess()) { - errorMessage = callResult.getErrorMessage(); - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); - } - if (!teacherService.update(teacher, originalTeacher)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } - - /** - * 删除老师数据源数据。 - * - * @param teacherId 删除对象主键Id。 - * @return 应答结果对象。 - */ - @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long teacherId) { - String errorMessage; - if (MyCommonUtil.existBlankArgument(teacherId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - // 验证关联Id的数据合法性 - Teacher originalTeacher = teacherService.getById(teacherId); - if (originalTeacher == null) { - // NOTE: 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - if (!teacherService.remove(teacherId)) { - errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } - - /** - * 列出符合过滤条件的老师数据源列表。 - * - * @param teacherFilter 过滤对象。 - * @param sysDeptFilter 一对一从表过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含查询结果集。 - */ - @PostMapping("/list") - public ResponseResult list( - @MyRequestBody Teacher teacherFilter, - @MyRequestBody SysDept sysDeptFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - String orderBy = MyOrderParam.buildOrderBy(orderParam, Teacher.class); - List resultList = - teacherService.getTeacherListWithRelation(teacherFilter, sysDeptFilter, orderBy); - return ResponseResult.success(MyPageUtil.makeResponseData(resultList)); - } - - /** - * 查看指定老师数据源对象详情。 - * - * @param teacherId 指定对象主键Id。 - * @return 应答结果对象,包含对象详情。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long teacherId) { - if (MyCommonUtil.existBlankArgument(teacherId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - Teacher teacher = teacherService.getByIdWithRelation(teacherId, MyRelationParam.full()); - if (teacher == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(teacher); - } - - /** - * 以字典形式返回全部老师数据源数据集合。字典的键值为[teacherId, teacherName]。 - * 白名单接口,登录用户均可访问。 - * - * @param filter 过滤对象。 - * @return 应答结果对象,包含的数据为 List>,map中包含两条记录,key的值分别是id和name,value对应具体数据。 - */ - @GetMapping("/listDictTeacher") - public ResponseResult>> listDictTeacher(Teacher filter) { - List resultList = teacherService.getListByFilter(filter, null); - return ResponseResult.success(BeanQuery.select( - "teacherId as id", "teacherName as name").executeFrom(resultList)); - } -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/TeacherTransStatsController.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/TeacherTransStatsController.java deleted file mode 100644 index 0ed38b3e..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/controller/TeacherTransStatsController.java +++ /dev/null @@ -1,99 +0,0 @@ -package com.orange.admin.app.controller; - -import com.github.pagehelper.page.PageMethod; -import com.orange.admin.app.model.*; -import com.orange.admin.app.service.*; -import com.orange.admin.common.core.object.*; -import com.orange.admin.common.core.util.*; -import com.orange.admin.common.core.constant.ErrorCodeEnum; -import com.orange.admin.common.core.annotation.MyRequestBody; -import lombok.extern.slf4j.Slf4j; -import com.alibaba.fastjson.JSONObject; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.*; - -/** - * 老师流水统计操作控制器类。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Slf4j -@RestController -@RequestMapping("/admin/app/teacherTransStats") -public class TeacherTransStatsController { - - @Autowired - private TeacherTransStatsService teacherTransStatsService; - - /** - * 列出符合过滤条件的老师流水统计列表。 - * - * @param teacherTransStatsFilter 过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含查询结果集。 - */ - @PostMapping("/list") - public ResponseResult list( - @MyRequestBody TeacherTransStats teacherTransStatsFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - String orderBy = MyOrderParam.buildOrderBy(orderParam, TeacherTransStats.class); - List resultList = teacherTransStatsService.getTeacherTransStatsListWithRelation(teacherTransStatsFilter, orderBy); - return ResponseResult.success(MyPageUtil.makeResponseData(resultList)); - } - - /** - * 分组列出符合过滤条件的老师流水统计列表。 - * - * @param teacherTransStatsFilter 过滤对象。 - * @param groupParam 分组参数。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含查询结果集。 - */ - @PostMapping("/listWithGroup") - public ResponseResult listWithGroup( - @MyRequestBody TeacherTransStats teacherTransStatsFilter, - @MyRequestBody MyGroupParam groupParam, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - String orderBy = MyOrderParam.buildOrderBy(orderParam, TeacherTransStats.class); - groupParam = MyGroupParam.buildGroupBy(groupParam, TeacherTransStats.class); - if (groupParam == null) { - return ResponseResult.error( - ErrorCodeEnum.INVALID_ARGUMENT_FORMAT, "数据参数错误,分组参数不能为空!"); - } - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - MyGroupCriteria criteria = groupParam.getGroupCriteria(); - List resultList = teacherTransStatsService.getGroupedTeacherTransStatsListWithRelation( - teacherTransStatsFilter, criteria.getGroupSelect(), criteria.getGroupBy(), orderBy); - return ResponseResult.success(MyPageUtil.makeResponseData(resultList)); - } - - /** - * 查看指定老师流水统计对象详情。 - * - * @param statsId 指定对象主键Id。 - * @return 应答结果对象,包含对象详情。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long statsId) { - if (MyCommonUtil.existBlankArgument(statsId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - TeacherTransStats teacherTransStats = teacherTransStatsService.getByIdWithRelation(statsId, MyRelationParam.full()); - if (teacherTransStats == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(teacherTransStats); - } -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/AreaCodeMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/AreaCodeMapper.java deleted file mode 100644 index 64923cc0..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/AreaCodeMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.orange.admin.app.dao; - -import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.app.model.AreaCode; - -/** - * 行政区划数据操作访问接口。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -public interface AreaCodeMapper extends BaseDaoMapper { -} \ No newline at end of file diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/TeacherMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/TeacherMapper.java deleted file mode 100644 index afc12d23..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/TeacherMapper.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.orange.admin.app.dao; - -import com.orange.admin.common.core.annotation.EnableDataPerm; -import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.app.model.Teacher; -import com.orange.admin.upms.model.SysDept; -import org.apache.ibatis.annotations.Param; - -import java.util.*; - -/** - * 老师数据源数据操作访问接口。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@EnableDataPerm -public interface TeacherMapper extends BaseDaoMapper { - - /** - * 获取过滤后的对象列表。 - * - * @param teacherFilter 主表过滤对象。 - * @param orderBy 排序字符串,order by从句的参数。 - * @return 对象列表。 - */ - List getTeacherList( - @Param("teacherFilter") Teacher teacherFilter, @Param("orderBy") String orderBy); - - /** - * 获取过滤后的对象列表。同时支持基于一对一从表字段的过滤条件。 - * - * @param teacherFilter 主表过滤对象。 - * @param sysDeptFilter 一对一从表过滤对象。 - * @param orderBy 排序字符串,order by从句的参数。 - * @return 对象列表。 - */ - List getTeacherListEx( - @Param("teacherFilter") Teacher teacherFilter, - @Param("sysDeptFilter") SysDept sysDeptFilter, - @Param("orderBy") String orderBy); -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/TeacherTransStatsMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/TeacherTransStatsMapper.java deleted file mode 100644 index b0776168..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/TeacherTransStatsMapper.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.orange.admin.app.dao; - -import com.orange.admin.common.core.annotation.EnableDataPerm; -import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.app.model.TeacherTransStats; -import org.apache.ibatis.annotations.Param; - -import java.util.*; - -/** - * 老师流水统计数据操作访问接口。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@EnableDataPerm -public interface TeacherTransStatsMapper extends BaseDaoMapper { - - /** - * 获取分组计算后的数据对象列表。 - * - * @param teacherTransStatsFilter 主表过滤对象。 - * @param groupSelect 分组显示字段列表字符串,SELECT从句的参数。 - * @param groupBy 分组字段列表字符串,GROUP BY从句的参数。 - * @param orderBy 排序字符串,ORDER BY从句的参数。 - * @return 对象列表。 - */ - List getGroupedTeacherTransStatsList( - @Param("teacherTransStatsFilter") TeacherTransStats teacherTransStatsFilter, - @Param("groupSelect") String groupSelect, - @Param("groupBy") String groupBy, - @Param("orderBy") String orderBy); - - /** - * 获取过滤后的对象列表。 - * - * @param teacherTransStatsFilter 主表过滤对象。 - * @param orderBy 排序字符串,order by从句的参数。 - * @return 对象列表。 - */ - List getTeacherTransStatsList( - @Param("teacherTransStatsFilter") TeacherTransStats teacherTransStatsFilter, @Param("orderBy") String orderBy); -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/mapper/TeacherMapper.xml b/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/mapper/TeacherMapper.xml deleted file mode 100644 index a88eb664..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/mapper/TeacherMapper.xml +++ /dev/null @@ -1,80 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - AND zz_teacher.teacher_name LIKE #{safeTeacherName} - - - AND zz_teacher.birthday >= #{teacherFilter.birthdayStart} - - - AND zz_teacher.birthday <= #{teacherFilter.birthdayEnd} - - - AND zz_teacher.gender = #{teacherFilter.gender} - - - AND zz_teacher.subject_id = #{teacherFilter.subjectId} - - - AND zz_teacher.level = #{teacherFilter.level} - - - AND zz_teacher.school_id = #{teacherFilter.schoolId} - - - AND zz_teacher.register_date >= #{teacherFilter.registerDateStart} - - - AND zz_teacher.register_date <= #{teacherFilter.registerDateEnd} - - - AND zz_teacher.available = #{teacherFilter.available} - - - - - - - - - diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/mapper/TeacherTransStatsMapper.xml b/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/mapper/TeacherTransStatsMapper.xml deleted file mode 100644 index 15d47a2b..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/dao/mapper/TeacherTransStatsMapper.xml +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - AND zz_teacher_trans_stats.stats_date >= #{teacherTransStatsFilter.statsDateStart} - - - AND zz_teacher_trans_stats.stats_date <= #{teacherTransStatsFilter.statsDateEnd} - - - AND zz_teacher_trans_stats.school_id = #{teacherTransStatsFilter.schoolId} - - - AND zz_teacher_trans_stats.teacher_id = #{teacherTransStatsFilter.teacherId} - - - - - - - - diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/model/Teacher.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/model/Teacher.java deleted file mode 100644 index b4e2a953..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/model/Teacher.java +++ /dev/null @@ -1,185 +0,0 @@ -package com.orange.admin.app.model; - -import com.orange.admin.upms.model.SysDept; -import com.orange.admin.upms.model.SysUser; -import com.orange.admin.app.model.constant.Gender; -import com.orange.admin.common.biz.constant.Subject; -import com.orange.admin.app.model.constant.TeacherLevelType; -import com.orange.admin.common.biz.constant.YesNo; -import com.orange.admin.common.core.annotation.RelationDict; -import com.orange.admin.common.core.annotation.RelationConstDict; -import com.orange.admin.common.core.annotation.RelationOneToOne; -import com.orange.admin.common.core.annotation.DeptFilterColumn; -import com.orange.admin.common.core.annotation.UserFilterColumn; -import com.orange.admin.common.core.validator.UpdateGroup; -import com.orange.admin.common.core.validator.ConstDictRef; -import lombok.Data; -import javax.persistence.*; -import javax.validation.constraints.*; - -import java.util.Date; -import java.util.Map; - -/** - * Teacher实体对象。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Data -@Table(name = "zz_teacher") -public class Teacher { - - /** - * 主键Id。 - */ - @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) - @Id - @UserFilterColumn - @Column(name = "teacher_id") - private Long teacherId; - - /** - * 教师名称。 - */ - @NotBlank(message = "数据验证失败,教师名称不能为空!") - @Column(name = "teacher_name") - private String teacherName; - - /** - * 教师生日。 - */ - @NotNull(message = "数据验证失败,出生日期不能为空!") - private Date birthday; - - /** - * 教师性别(0: 女 1: 男)。 - */ - @NotNull(message = "数据验证失败,性别不能为空!") - @ConstDictRef(constDictClass = Gender.class, message = "数据验证失败,性别为无效值!") - private Integer gender; - - /** - * 所教的科目Id。 - */ - @NotNull(message = "数据验证失败,所教科目不能为空!") - @ConstDictRef(constDictClass = Subject.class, message = "数据验证失败,所教科目为无效值!") - @Column(name = "subject_id") - private Integer subjectId; - - /** - * 教师职级(0: 初级 1: 中级 2: 高级)。 - */ - @NotNull(message = "数据验证失败,职级不能为空!") - @ConstDictRef(constDictClass = TeacherLevelType.class, message = "数据验证失败,职级为无效值!") - private Integer level; - - /** - * 鲜花数量。 - */ - @Column(name = "flower_count") - private Integer flowerCount; - - /** - * 校区Id。 - */ - @NotNull(message = "数据验证失败,所属校区不能为空!") - @DeptFilterColumn - @Column(name = "school_id") - private Long schoolId; - - /** - * 用户Id。 - */ - @NotNull(message = "数据验证失败,绑定用户不能为空!") - @Column(name = "user_id") - private Long userId; - - /** - * 入职时间。 - */ - @Column(name = "register_date") - private Date registerDate; - - /** - * 是否在职。 - */ - @NotNull(message = "数据验证失败,是否在职不能为空!") - @ConstDictRef(constDictClass = YesNo.class, message = "数据验证失败,是否在职为无效值!") - private Integer available; - - /** - * birthday 范围过滤起始值(>=)。 - */ - @Transient - private String birthdayStart; - - /** - * birthday 范围过滤结束值(<=)。 - */ - @Transient - private String birthdayEnd; - - /** - * registerDate 范围过滤起始值(>=)。 - */ - @Transient - private String registerDateStart; - - /** - * registerDate 范围过滤结束值(<=)。 - */ - @Transient - private String registerDateEnd; - - @RelationOneToOne( - masterIdField = "schoolId", - slaveServiceName = "sysDeptService", - slaveModelClass = SysDept.class, - slaveIdField = "deptId") - @Transient - private SysDept sysDept; - - @RelationDict( - masterIdField = "schoolId", - slaveServiceName = "sysDeptService", - equalOneToOneRelationField = "sysDept", - slaveModelClass = SysDept.class, - slaveIdField = "deptId", - slaveNameField = "deptName") - @Transient - private Map schoolIdDictMap; - - @RelationDict( - masterIdField = "userId", - slaveServiceName = "sysUserService", - slaveModelClass = SysUser.class, - slaveIdField = "userId", - slaveNameField = "loginName") - @Transient - private Map userIdDictMap; - - @RelationConstDict( - masterIdField = "gender", - constantDictClass = Gender.class) - @Transient - private Map genderDictMap; - - @RelationConstDict( - masterIdField = "subjectId", - constantDictClass = Subject.class) - @Transient - private Map subjectIdDictMap; - - @RelationConstDict( - masterIdField = "level", - constantDictClass = TeacherLevelType.class) - @Transient - private Map levelDictMap; - - @RelationConstDict( - masterIdField = "available", - constantDictClass = YesNo.class) - @Transient - private Map availableDictMap; -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/model/TeacherTransStats.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/model/TeacherTransStats.java deleted file mode 100644 index 6540e17d..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/model/TeacherTransStats.java +++ /dev/null @@ -1,178 +0,0 @@ -package com.orange.admin.app.model; - -import com.orange.admin.upms.model.SysDept; -import com.orange.admin.common.core.annotation.RelationDict; -import com.orange.admin.common.core.annotation.RelationOneToOne; -import com.orange.admin.common.core.annotation.DeptFilterColumn; -import com.orange.admin.common.core.annotation.UserFilterColumn; -import com.orange.admin.common.core.validator.UpdateGroup; -import lombok.Data; -import javax.persistence.*; -import javax.validation.constraints.*; - -import java.util.Date; -import java.util.Map; - -/** - * TeacherTransStats实体对象。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Data -@Table(name = "zz_teacher_trans_stats") -public class TeacherTransStats { - - /** - * 主键Id。 - */ - @NotNull(message = "数据验证失败,主键Id不能为空!", groups = {UpdateGroup.class}) - @Id - @Column(name = "stats_id") - private Long statsId; - - /** - * 统计日期。 - */ - @NotNull(message = "数据验证失败,统计日期不能为空!") - @Column(name = "stats_date") - private Date statsDate; - - /** - * 统计月份。 - */ - @NotNull(message = "数据验证失败,统计月份不能为空!") - @Column(name = "stats_month") - private Date statsMonth; - - /** - * 省份Id。 - */ - @NotNull(message = "数据验证失败,省份不能为空!") - @Column(name = "province_id") - private Long provinceId; - - /** - * 城市Id。 - */ - @NotNull(message = "数据验证失败,城市不能为空!") - @Column(name = "city_id") - private Long cityId; - - /** - * 学校Id。 - */ - @NotNull(message = "数据验证失败,校区不能为空!") - @DeptFilterColumn - @Column(name = "school_id") - private Long schoolId; - - /** - * 学校名称。 - */ - @NotBlank(message = "数据验证失败,学校名称不能为空!") - @Column(name = "school_name") - private String schoolName; - - /** - * 老师Id。 - */ - @NotNull(message = "数据验证失败,老师不能为空!") - @UserFilterColumn - @Column(name = "teacher_id") - private Long teacherId; - - /** - * 老师名称。 - */ - @NotBlank(message = "数据验证失败,老师名称不能为空!") - @Column(name = "teacher_name") - private String teacherName; - - /** - * 视频观看数量。 - */ - @NotNull(message = "数据验证失败,视频观看数量不能为空!") - @Column(name = "video_watch_count") - private Integer videoWatchCount; - - /** - * 献花数量。 - */ - @NotNull(message = "数据验证失败,献花数量不能为空!") - @Column(name = "flower_count") - private Integer flowerCount; - - /** - * 新增学生数量。 - */ - @NotNull(message = "数据验证失败,新增学生数量不能为空!") - @Column(name = "new_student") - private Integer newStudent; - - /** - * statsDate 范围过滤起始值(>=)。 - */ - @Transient - private String statsDateStart; - - /** - * statsDate 范围过滤结束值(<=)。 - */ - @Transient - private String statsDateEnd; - - @RelationOneToOne( - masterIdField = "schoolId", - slaveServiceName = "sysDeptService", - slaveModelClass = SysDept.class, - slaveIdField = "deptId") - @Transient - private SysDept sysDept; - - @RelationOneToOne( - masterIdField = "teacherId", - slaveServiceName = "teacherService", - slaveModelClass = Teacher.class, - slaveIdField = "teacherId") - @Transient - private Teacher teacher; - - @RelationDict( - masterIdField = "provinceId", - slaveServiceName = "areaCodeService", - slaveModelClass = AreaCode.class, - slaveIdField = "areaId", - slaveNameField = "areaName") - @Transient - private Map provinceIdDictMap; - - @RelationDict( - masterIdField = "cityId", - slaveServiceName = "areaCodeService", - slaveModelClass = AreaCode.class, - slaveIdField = "areaId", - slaveNameField = "areaName") - @Transient - private Map cityIdDictMap; - - @RelationDict( - masterIdField = "schoolId", - slaveServiceName = "sysDeptService", - equalOneToOneRelationField = "sysDept", - slaveModelClass = SysDept.class, - slaveIdField = "deptId", - slaveNameField = "deptName") - @Transient - private Map schoolIdDictMap; - - @RelationDict( - masterIdField = "teacherId", - slaveServiceName = "teacherService", - equalOneToOneRelationField = "teacher", - slaveModelClass = Teacher.class, - slaveIdField = "teacherId", - slaveNameField = "teacherName") - @Transient - private Map teacherIdDictMap; -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/service/TeacherService.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/service/TeacherService.java deleted file mode 100644 index 2a2bbac1..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/service/TeacherService.java +++ /dev/null @@ -1,137 +0,0 @@ -package com.orange.admin.app.service; - -import com.orange.admin.app.dao.*; -import com.orange.admin.app.model.*; -import com.orange.admin.upms.model.*; -import com.orange.admin.upms.service.SysUserService; -import com.orange.admin.upms.service.SysDeptService; -import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.common.core.object.MyWhereCriteria; -import com.orange.admin.common.core.object.MyRelationParam; -import com.orange.admin.common.core.object.CallResult; -import com.orange.admin.common.biz.base.service.BaseBizService; -import com.orange.admin.common.biz.util.BasicIdGenerator; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.*; - -/** - * 老师数据源数据操作服务类。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Service -public class TeacherService extends BaseBizService { - - @Autowired - private TeacherMapper teacherMapper; - @Autowired - private SysDeptService sysDeptService; - @Autowired - private SysUserService sysUserService; - @Autowired - private BasicIdGenerator idGenerator; - - /** - * 返回当前Service的主表Mapper对象。 - * - * @return 主表Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return teacherMapper; - } - - /** - * 保存新增对象。 - * - * @param teacher 新增对象。 - * @return 返回新增对象。 - */ - @Transactional(rollbackFor = Exception.class) - public Teacher saveNew(Teacher teacher) { - teacher.setTeacherId(idGenerator.nextLongId()); - teacher.setRegisterDate(new Date()); - teacherMapper.insert(teacher); - return teacher; - } - - /** - * 更新数据对象。 - * - * @param teacher 更新的对象。 - * @param originalTeacher 原有数据对象。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - public boolean update(Teacher teacher, Teacher originalTeacher) { - teacher.setRegisterDate(originalTeacher.getRegisterDate()); - return teacherMapper.updateByPrimaryKey(teacher) == 1; - } - - /** - * 删除指定数据。 - * - * @param teacherId 主键Id。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - public boolean remove(Long teacherId) { - return teacherMapper.deleteByPrimaryKey(teacherId) != 0; - // 这里可继续删除关联数据。 - } - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getTeacherListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - public List getTeacherList(Teacher filter, String orderBy) { - return teacherMapper.getTeacherList(filter, orderBy); - } - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getTeacherList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param sysDeptFilter 一对一从表过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - public List getTeacherListWithRelation(Teacher filter, SysDept sysDeptFilter, String orderBy) { - List resultList = - teacherMapper.getTeacherListEx(filter, sysDeptFilter, orderBy); - Map> criteriaMap = buildAggregationAdditionalWhereCriteria(); - this.buildRelationForDataList(resultList, MyRelationParam.normal(), criteriaMap); - return resultList; - } - - /** - * 根据最新对象和原有对象的数据对比,判断关联的字典数据和多对一主表数据是否都是合法数据。 - * - * @param teacher 最新数据对象。 - * @param originalTeacher 原有数据对象。 - * @return 数据全部正确返回true,否则false。 - */ - public CallResult verifyRelatedData(Teacher teacher, Teacher originalTeacher) { - String errorMessageFormat = "数据验证失败,关联的%s并不存在,请刷新后重试!"; - //这里是基于字典的验证。 - if (this.needToVerify(teacher, originalTeacher, Teacher::getSchoolId) - && !sysDeptService.existId(teacher.getSchoolId())) { - return CallResult.error(String.format(errorMessageFormat, "所属校区")); - } - //这里是基于字典的验证。 - if (this.needToVerify(teacher, originalTeacher, Teacher::getUserId) - && !sysUserService.existId(teacher.getUserId())) { - return CallResult.error(String.format(errorMessageFormat, "绑定用户")); - } - return CallResult.ok(); - } -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/app/service/TeacherTransStatsService.java b/orange-admin-service/application/src/main/java/com/orange/admin/app/service/TeacherTransStatsService.java deleted file mode 100644 index bc5ad93f..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/app/service/TeacherTransStatsService.java +++ /dev/null @@ -1,88 +0,0 @@ -package com.orange.admin.app.service; - -import com.orange.admin.app.dao.*; -import com.orange.admin.app.model.*; -import com.orange.admin.upms.service.SysDeptService; -import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.common.core.object.MyWhereCriteria; -import com.orange.admin.common.core.object.MyRelationParam; -import com.orange.admin.common.biz.base.service.BaseBizService; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -import java.util.*; - -/** - * 老师流水统计数据操作服务类。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Service -public class TeacherTransStatsService extends BaseBizService { - - @Autowired - private TeacherTransStatsMapper teacherTransStatsMapper; - @Autowired - private AreaCodeService areaCodeService; - @Autowired - private SysDeptService sysDeptService; - @Autowired - private TeacherService teacherService; - - /** - * 返回当前Service的主表Mapper对象。 - * - * @return 主表Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return teacherTransStatsMapper; - } - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getTeacherTransStatsListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - public List getTeacherTransStatsList(TeacherTransStats filter, String orderBy) { - return teacherTransStatsMapper.getTeacherTransStatsList(filter, orderBy); - } - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getTeacherTransStatsList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - public List getTeacherTransStatsListWithRelation(TeacherTransStats filter, String orderBy) { - List resultList = teacherTransStatsMapper.getTeacherTransStatsList(filter, orderBy); - Map> criteriaMap = buildAggregationAdditionalWhereCriteria(); - this.buildRelationForDataList(resultList, MyRelationParam.normal(), criteriaMap); - return resultList; - } - - /** - * 获取分组过滤后的数据查询结果,以及关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * - * @param filter 过滤对象。 - * @param groupSelect 分组显示列表参数。位于SQL语句SELECT的后面。 - * @param groupBy 分组参数。位于SQL语句的GROUP BY后面。 - * @param orderBy 排序字符串,ORDER BY从句的参数。 - * @return 分组过滤结果集。 - */ - public List getGroupedTeacherTransStatsListWithRelation( - TeacherTransStats filter, String groupSelect, String groupBy, String orderBy) { - List resultList = - teacherTransStatsMapper.getGroupedTeacherTransStatsList(filter, groupSelect, groupBy, orderBy); - // NOTE: 这里只是包含了关联数据,聚合计算数据没有包含。 - // 主要原因是,由于聚合字段通常被视为普通字段使用,不会在group by的从句中出现,语义上也不会在此关联。 - this.buildRelationForDataList(resultList, MyRelationParam.normal(), null); - return resultList; - } -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/config/ApplicationConfig.java b/orange-admin-service/application/src/main/java/com/orange/admin/config/ApplicationConfig.java deleted file mode 100644 index 652fc41c..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/config/ApplicationConfig.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.orange.admin.config; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -/** - * 应用程序自定义的程序属性配置文件。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Data -@Configuration -@ConfigurationProperties(prefix = "application") -public class ApplicationConfig { - - /** - * token的Http Request Header的key - */ - private String tokenHeaderKey; - /** - * token在过期之前,但是已经需要被刷新时,response返回的header信息的key。 - */ - private String refreshedTokenHeaderKey; - /** - * token 加密用的密钥 - */ - private String tokenSigningKey; - /** - * 用户密码加密用的salt值。 - */ - private String passwordSalt; - /** - * 用户密码被重置之后的缺省密码 - */ - private String defaultUserPassword; - /** - * 上传文件的基础目录 - */ - private String uploadFileBaseDir; - /** - * 授信ip列表,没有填写表示全部信任。多个ip之间逗号分隔,如: http://10.10.10.1:8080,http://10.10.10.2:8080 - */ - private String credentialIpList; -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/config/FilterConfig.java b/orange-admin-service/application/src/main/java/com/orange/admin/config/FilterConfig.java deleted file mode 100644 index 6f06c19f..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/config/FilterConfig.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.orange.admin.config; - -import org.apache.commons.lang3.StringUtils; -import org.springframework.boot.web.servlet.FilterRegistrationBean; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.cors.CorsConfiguration; -import org.springframework.web.cors.UrlBasedCorsConfigurationSource; -import org.springframework.web.filter.CorsFilter; - -import javax.servlet.Filter; -import java.nio.charset.StandardCharsets; - -/** - * 这里主要配置Web的各种过滤器和监听器等Servlet容器组件。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Configuration -public class FilterConfig { - - /** - * 配置Ajax跨域过滤器。 - */ - @Bean - public CorsFilter corsFilterRegistration(ApplicationConfig applicationConfig) { - UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource(); - CorsConfiguration corsConfiguration = new CorsConfiguration(); - if (StringUtils.isNotBlank(applicationConfig.getCredentialIpList())) { - String[] credentialIpList = StringUtils.split(applicationConfig.getCredentialIpList(), ","); - if (credentialIpList.length > 0) { - for (String ip : credentialIpList) { - corsConfiguration.addAllowedOrigin(ip); - } - } - corsConfiguration.addAllowedHeader("*"); - corsConfiguration.addAllowedMethod("*"); - corsConfiguration.addExposedHeader(applicationConfig.getRefreshedTokenHeaderKey()); - corsConfiguration.setAllowCredentials(true); - configSource.registerCorsConfiguration("/**", corsConfiguration); - } - return new CorsFilter(configSource); - } - - @Bean - public FilterRegistrationBean characterEncodingFilterRegistration() { - FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean<>( - new org.springframework.web.filter.CharacterEncodingFilter()); - filterRegistrationBean.addUrlPatterns("/*"); - filterRegistrationBean.addInitParameter("encoding", StandardCharsets.UTF_8.name()); - // forceEncoding强制response也被编码,另外即使request中已经设置encoding,forceEncoding也会重新设置 - filterRegistrationBean.addInitParameter("forceEncoding", "true"); - filterRegistrationBean.setAsyncSupported(true); - return filterRegistrationBean; - } -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/config/InterceptorConfig.java b/orange-admin-service/application/src/main/java/com/orange/admin/config/InterceptorConfig.java deleted file mode 100644 index 12fffe33..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/config/InterceptorConfig.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.orange.admin.config; - -import com.orange.admin.interceptor.AuthenticationInterceptor; -import com.orange.admin.common.biz.interceptor.AccessInterceptor; -import com.orange.admin.common.biz.interceptor.MyRequestArgumentResolver; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.http.converter.HttpMessageConverter; -import org.springframework.http.converter.StringHttpMessageConverter; -import org.springframework.validation.beanvalidation.MethodValidationPostProcessor; -import org.springframework.web.method.support.HandlerMethodArgumentResolver; -import org.springframework.web.servlet.config.annotation.InterceptorRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -import java.nio.charset.StandardCharsets; -import java.util.List; - -/** - * 所有的项目拦截器都在这里集中配置。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Configuration -public class InterceptorConfig implements WebMvcConfigurer { - - @Override - public void addInterceptors(InterceptorRegistry registry) { - registry.addInterceptor(new AuthenticationInterceptor()).addPathPatterns("/**"); - registry.addInterceptor(new AccessInterceptor()).addPathPatterns("/**"); - } - - @Bean - public MethodValidationPostProcessor methodValidationPostProcessor() { - return new MethodValidationPostProcessor(); - } - - @Override - public void addArgumentResolvers(List argumentResolvers) { - // 添加MyRequestBody参数解析器 - argumentResolvers.add(new MyRequestArgumentResolver()); - } - - @Bean - public HttpMessageConverter responseBodyConverter() { - return new StringHttpMessageConverter(StandardCharsets.UTF_8); - } - - @Override - public void configureMessageConverters(List> converters) { - converters.add(responseBodyConverter()); - } -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/interceptor/AuthenticationInterceptor.java b/orange-admin-service/application/src/main/java/com/orange/admin/interceptor/AuthenticationInterceptor.java deleted file mode 100644 index 37abee99..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/interceptor/AuthenticationInterceptor.java +++ /dev/null @@ -1,137 +0,0 @@ -package com.orange.admin.interceptor; - -import com.orange.admin.config.CacheConfig; -import com.orange.admin.config.ApplicationConfig; -import com.orange.admin.upms.model.SysPermWhitelist; -import com.orange.admin.upms.service.SysPermWhitelistService; -import com.orange.admin.upms.service.SysPermService; -import com.orange.admin.common.core.annotation.NoAuthInterface; -import com.orange.admin.common.core.constant.ErrorCodeEnum; -import com.orange.admin.common.core.object.ResponseResult; -import com.orange.admin.common.core.object.TokenData; -import com.orange.admin.common.core.util.ApplicationContextHolder; -import com.orange.admin.common.core.util.JwtUtil; -import com.alibaba.fastjson.JSONObject; -import io.jsonwebtoken.Claims; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.lang3.StringUtils; -import org.springframework.web.method.HandlerMethod; -import org.springframework.web.servlet.HandlerInterceptor; -import org.springframework.web.servlet.ModelAndView; -import org.springframework.cache.Cache; -import org.springframework.cache.CacheManager; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import java.io.IOException; -import java.io.PrintWriter; -import java.util.Set; -import java.util.List; -import java.util.stream.Collectors; - -/** - * 登录用户Token验证、生成和权限验证的拦截器。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Slf4j -public class AuthenticationInterceptor implements HandlerInterceptor { - - private ApplicationConfig applicationConfig = - ApplicationContextHolder.getBean("applicationConfig"); - - private CacheManager cacheManager = - ApplicationContextHolder.getBean("cacheManager"); - - private SysPermService sysPermService = - ApplicationContextHolder.getBean("sysPermService"); - - private static SysPermWhitelistService sysPermWhilelistService = - ApplicationContextHolder.getBean("sysPermWhitelistService"); - - private static Set whitelistPermSet; - - static { - List sysPermWhitelistList = sysPermWhilelistService.getAllList(); - whitelistPermSet = sysPermWhitelistList.stream() - .map(SysPermWhitelist::getPermUrl).collect(Collectors.toSet()); - } - - @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) - throws Exception { - String url = request.getRequestURI(); - // 如果接口方法标记NoAuthInterface注解,可以直接跳过Token鉴权验证,这里主要为了测试接口方便 - if (handler instanceof HandlerMethod) { - HandlerMethod hm = (HandlerMethod) handler; - if (hm.getBeanType().getAnnotation(NoAuthInterface.class) != null - || hm.getMethodAnnotation(NoAuthInterface.class) != null) { - return true; - } - } - String token = request.getHeader(applicationConfig.getTokenHeaderKey()); - if (StringUtils.isBlank(token)) { - token = request.getParameter(applicationConfig.getTokenHeaderKey()); - } - Claims c = JwtUtil.parseToken(token, applicationConfig.getTokenSigningKey()); - if (JwtUtil.isNullOrExpired(c)) { - response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); - this.outputResponseMessage(response, - ResponseResult.error(ErrorCodeEnum.UNAUTHORIZED_LOGIN, "用户会话已过期,请重新登录!")); - return false; - } - String sessionId = (String) c.get("sessionId"); - Cache cache = cacheManager.getCache(CacheConfig.CacheEnum.GLOBAL_CACHE.name()); - TokenData tokenData = cache.get(sessionId, TokenData.class); - if (tokenData == null) { - response.setStatus(HttpServletResponse.SC_UNAUTHORIZED); - this.outputResponseMessage(response, - ResponseResult.error(ErrorCodeEnum.UNAUTHORIZED_LOGIN, "用户会话已失效,请重新登录!")); - return false; - } - TokenData.addToRequest(tokenData); - // 如果url在权限资源白名单中,则不需要进行鉴权操作 - if (!tokenData.getIsAdmin() && !whitelistPermSet.contains(url)) { - Set urlSet = sysPermService.getCacheableSysPermSetByUserId( - tokenData.getSessionId(), tokenData.getUserId()); - if (!urlSet.contains(url)) { - response.setStatus(HttpServletResponse.SC_FORBIDDEN); - this.outputResponseMessage(response, - ResponseResult.error(ErrorCodeEnum.NO_OPERATION_PERMISSION)); - return false; - } - } - if (JwtUtil.needToRefresh(c)) { - String refreshedToken = JwtUtil.generateToken(c, applicationConfig.getTokenSigningKey()); - response.addHeader(applicationConfig.getRefreshedTokenHeaderKey(), refreshedToken); - } - return true; - } - - @Override - public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, - ModelAndView modelAndView) throws Exception { - // 这里需要空注解,否则sonar会不happy。 - } - - @Override - public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) - throws Exception { - // 这里需要空注解,否则sonar会不happy。 - } - - private void outputResponseMessage(HttpServletResponse response, ResponseResult respObj) { - PrintWriter out; - try { - out = response.getWriter(); - } catch (IOException e) { - log.error("Failed to call OutputResponseMessage.", e); - return; - } - response.setContentType("application/json; charset=utf-8"); - out.print(JSONObject.toJSONString(respObj)); - out.flush(); - out.close(); - } -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/interceptor/MybatisDataPermInterceptor.java b/orange-admin-service/application/src/main/java/com/orange/admin/interceptor/MybatisDataPermInterceptor.java deleted file mode 100644 index f83aa69f..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/interceptor/MybatisDataPermInterceptor.java +++ /dev/null @@ -1,292 +0,0 @@ -package com.orange.admin.interceptor; - -import cn.hutool.core.collection.CollUtil; -import cn.hutool.core.util.ReflectUtil; -import com.orange.admin.common.core.constant.DataPermRuleType; -import com.orange.admin.common.core.annotation.DeptFilterColumn; -import com.orange.admin.common.core.annotation.UserFilterColumn; -import com.orange.admin.common.core.annotation.EnableDataPerm; -import com.orange.admin.common.core.exception.NoDataPermException; -import com.orange.admin.common.core.object.GlobalThreadLocal; -import com.orange.admin.common.core.object.TokenData; -import com.orange.admin.common.core.util.ApplicationContextHolder; -import com.orange.admin.common.core.util.ContextUtil; -import com.orange.admin.common.core.util.MyModelUtil; -import com.orange.admin.config.CacheConfig; -import com.orange.admin.upms.dao.SysDataPermMapper; -import lombok.Data; -import lombok.extern.slf4j.Slf4j; -import net.sf.jsqlparser.JSQLParserException; -import net.sf.jsqlparser.expression.operators.conditional.AndExpression; -import net.sf.jsqlparser.parser.CCJSqlParserUtil; -import net.sf.jsqlparser.statement.select.FromItem; -import net.sf.jsqlparser.statement.select.PlainSelect; -import net.sf.jsqlparser.statement.select.Select; -import net.sf.jsqlparser.statement.select.SubSelect; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.collections4.MapUtils; -import org.apache.commons.lang3.StringUtils; -import org.apache.ibatis.executor.statement.RoutingStatementHandler; -import org.apache.ibatis.executor.statement.StatementHandler; -import org.apache.ibatis.mapping.BoundSql; -import org.apache.ibatis.mapping.MappedStatement; -import org.apache.ibatis.mapping.SqlCommandType; -import org.apache.ibatis.plugin.*; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cache.Cache; -import org.springframework.cache.CacheManager; -import org.springframework.stereotype.Component; -import tk.mybatis.mapper.common.Mapper; - -import java.lang.reflect.Field; -import java.lang.reflect.ParameterizedType; -import java.sql.Connection; -import java.util.*; - -/** - * Mybatis拦截器。目前用于数据权限的统一拦截和注入处理。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Intercepts({@Signature(type = StatementHandler.class, method = "prepare", args = {Connection.class, Integer.class})}) -@Slf4j -@Component -public class MybatisDataPermInterceptor implements Interceptor { - - @Autowired - private CacheManager cacheManager; - - /** - * HTTP Head或HTTP Request Parameter中菜单Id数据的KEY名称。 - */ - private static final String MENU_ID_HEADER_KEY = "MenuId"; - /** - * 对象缓存。由于Set是排序后的,因为在查找排除方法名称时效率更高。 - * 在应用服务启动的监听器中(LoadDataPermMapperListener),会调用当前对象的(loadMappersWithDataPerm)方法,加载缓存。 - */ - private Map cacheMap = new HashMap<>(); - - /** - * 预先加载需要数据权限过滤的Mapper到缓存,该函数会在(LoadDataPermMapperListener)监听器中调用。 - */ - public void loadMappersWithDataPerm() { - @SuppressWarnings("all") - Map mapperMap = - ApplicationContextHolder.getApplicationContext().getBeansOfType(Mapper.class); - for (Mapper mapperProxy : mapperMap.values()) { - // 优先处理jdk的代理 - Object proxy = ReflectUtil.getFieldValue(mapperProxy, "h"); - // 如果不是jdk的代理,再看看cjlib的代理。 - if (proxy == null) { - proxy = ReflectUtil.getFieldValue(mapperProxy, "CGLIB$CALLBACK_0"); - } - Class mapperClass = - (Class) ReflectUtil.getFieldValue(proxy, "mapperInterface"); - EnableDataPerm rule = mapperClass.getAnnotation(EnableDataPerm.class); - if (rule != null) { - loadRules(mapperClass, rule); - } - } - } - - private void loadRules(Class mapperClass, EnableDataPerm rule) { - // 由于给数据权限Mapper添加@EnableDataPerm,将会导致无限递归,因此这里检测到之后, - // 会在系统启动加载监听器的时候,及时抛出异常。 - if (mapperClass.equals(SysDataPermMapper.class)) { - throw new IllegalStateException("Add @EnableDataPerm annotation to SysDataPermMapper is ILLEGAL!"); - } - // 这里开始获取当前Mapper已经声明的的SqlId中,有哪些是需要排除在外的。 - // 排除在外的将不进行数据过滤。 - Set excludeMethodNameSet = null; - String[] excludes = rule.excluseMethodName(); - if (excludes.length > 0) { - excludeMethodNameSet = new HashSet<>(); - for (String excludeName : excludes) { - excludeMethodNameSet.add(excludeName); - // 这里是给tk.mapper和pagehelper中,分页查询先获取数据总量的查询。 - excludeMethodNameSet.add(excludeName + "_COUNT"); - } - } - // 获取Mapper关联的主表信息,包括表名,user过滤字段名和dept过滤字段名。 - Class modelClazz = (Class) - ((ParameterizedType) mapperClass.getGenericInterfaces()[0]).getActualTypeArguments()[0]; - Field[] fields = ReflectUtil.getFields(modelClazz); - Field userFilterField = null; - Field deptFilterField = null; - for (Field field : fields) { - if (null != field.getAnnotation(UserFilterColumn.class)) { - userFilterField = field; - } - if (null != field.getAnnotation(DeptFilterColumn.class)) { - deptFilterField = field; - } - if (userFilterField != null && deptFilterField != null) { - break; - } - } - // 通过注解解析与Mapper关联的Model,并获取与数据权限关联的信息,并将结果缓存。 - ModelDataPermInfo info = new ModelDataPermInfo(); - info.setMainTableName(MyModelUtil.mapToTableName(modelClazz)); - info.setExcludeMethodNameSet(excludeMethodNameSet); - if (userFilterField != null) { - info.setUserFilterColumn(MyModelUtil.mapToColumnName(userFilterField, modelClazz)); - } - if (deptFilterField != null) { - info.setDeptFilterColumn(MyModelUtil.mapToColumnName(deptFilterField, modelClazz)); - } - cacheMap.put(mapperClass.getName(), info); - } - - @SuppressWarnings("unchecked") - @Override - public Object intercept(Invocation invocation) throws Throwable { - // 只有在HttpServletRequest场景下,该拦截器才起作用,对于系统级别的预加载数据不会应用数据权限。 - if (!ContextUtil.hasRequestContext()) { - return invocation.proceed(); - } - // 判断当前线程本地存储中,业务操作是否禁用了数据权限过滤,如果禁用,则不进行后续的数据过滤处理了。 - if (!GlobalThreadLocal.enabledDataPerm()) { - return invocation.proceed(); - } - RoutingStatementHandler handler = (RoutingStatementHandler) invocation.getTarget(); - StatementHandler delegate = - (StatementHandler) ReflectUtil.getFieldValue(handler, "delegate"); - //通过反射获取delegate父类BaseStatementHandler的mappedStatement属性 - MappedStatement mappedStatement = - (MappedStatement) ReflectUtil.getFieldValue(delegate, "mappedStatement"); - SqlCommandType commandType = mappedStatement.getSqlCommandType(); - TokenData tokenData = TokenData.takeFromRequest(); - // 数据过滤权限中,只是过滤SELECT语句。如果是管理员则不参与数据权限的数据过滤,显示全部数据。 - if (commandType != SqlCommandType.SELECT || tokenData == null || Boolean.TRUE.equals(tokenData.getIsAdmin())) { - return invocation.proceed(); - } - String sqlId = mappedStatement.getId(); - int pos = StringUtils.lastIndexOf(sqlId, "."); - String className = StringUtils.substring(sqlId, 0, pos); - String methodName = StringUtils.substring(sqlId, pos + 1); - // 先从缓存中查找当前Mapper是否存在。 - ModelDataPermInfo info = cacheMap.get(className); - // 再次查找当前方法是否为排除方法,如果不是,就参与数据权限注入过滤。 - if (info != null && !CollUtil.contains(info.getExcludeMethodNameSet(), methodName)) { - String menuId = ContextUtil.getHttpRequest().getHeader(MENU_ID_HEADER_KEY); - if (StringUtils.isBlank(menuId)) { - menuId = ContextUtil.getHttpRequest().getParameter(MENU_ID_HEADER_KEY); - if (StringUtils.isBlank(menuId)) { - throw new IllegalStateException( - "No [ MENU_ID ] key found in Http Header for SQL_ID [ " + sqlId + " ]."); - } - } - Cache cache = cacheManager.getCache(CacheConfig.CacheEnum.DATA_PERMISSION_CACHE.name()); - Map> menuIdAndDataPermMap = - (Map>) cache.get(tokenData.getSessionId(), Map.class); - if (menuIdAndDataPermMap == null) { - throw new NoDataPermException( - "No Related DataPerm found with SESSION_ID [ " + tokenData.getSessionId() + " ]."); - } - Map dataPermMap = menuIdAndDataPermMap.get(Long.valueOf(menuId)); - if (MapUtils.isEmpty(dataPermMap)) { - throw new NoDataPermException( - "No Related DataPerm found with MENU_ID [ " + menuId + " ] for SQL_ID [ " + sqlId + " ]."); - } - processDataPerm(info, dataPermMap, delegate.getBoundSql()); - } - return invocation.proceed(); - } - - private void processDataPerm(ModelDataPermInfo info, Map dataPermMap, BoundSql boundSql) - throws JSQLParserException { - if (dataPermMap.containsKey(DataPermRuleType.TYPE_ALL)) { - return; - } - String sql = boundSql.getSql(); - Select select = (Select) CCJSqlParserUtil.parse(sql); - PlainSelect selectBody = (PlainSelect) select.getSelectBody(); - FromItem fromItem = selectBody.getFromItem(); - PlainSelect subSelect = null; - if (fromItem instanceof SubSelect) { - subSelect = (PlainSelect) ((SubSelect) fromItem).getSelectBody(); - } - List criteriaList = new LinkedList<>(); - for (Map.Entry entry : dataPermMap.entrySet()) { - String filterClause = processDataPermRule(info, entry.getKey(), entry.getValue()); - if (StringUtils.isNotBlank(filterClause)) { - criteriaList.add(filterClause); - } - } - if (CollectionUtils.isNotEmpty(criteriaList)) { - StringBuilder filterBuilder = new StringBuilder(128); - filterBuilder.append("("); - filterBuilder.append(StringUtils.join(criteriaList, " OR ")); - filterBuilder.append(")"); - String dataFilter = filterBuilder.toString(); - if (subSelect != null) { - buildWhereClause(subSelect, dataFilter); - } else { - buildWhereClause(selectBody, dataFilter); - } - } - sql = select.toString(); - ReflectUtil.setFieldValue(boundSql, "sql", sql); - } - - private String processDataPermRule(ModelDataPermInfo info, Integer ruleType, String deptIds) { - TokenData tokenData = TokenData.takeFromRequest(); - StringBuilder filter = new StringBuilder(128); - if (ruleType == DataPermRuleType.TYPE_USER_ONLY) { - if (StringUtils.isNotBlank(info.getUserFilterColumn())) { - filter.append(info.getMainTableName()) - .append(".") - .append(info.getUserFilterColumn()) - .append(" = ") - .append(tokenData.getUserId()); - } - } else { - if (StringUtils.isNotBlank(info.getDeptFilterColumn())) { - if (ruleType == DataPermRuleType.TYPE_DEPT_ONLY) { - filter.append(info.getMainTableName()) - .append(".") - .append(info.getDeptFilterColumn()) - .append(" = ") - .append(tokenData.getDeptId()); - } else if (ruleType == DataPermRuleType.TYPE_CUSTOM_DETP_LIST) { - filter.append(info.getMainTableName()) - .append(".") - .append(info.getDeptFilterColumn()) - .append(" IN (") - .append(deptIds) - .append(") "); - } - } - } - return filter.toString(); - } - - private void buildWhereClause(PlainSelect select, String dataFilter) throws JSQLParserException { - if (select.getWhere() == null) { - select.setWhere(CCJSqlParserUtil.parseCondExpression(dataFilter)); - } else { - AndExpression and = new AndExpression( - CCJSqlParserUtil.parseCondExpression(dataFilter), select.getWhere()); - select.setWhere(and); - } - } - - @Override - public Object plugin(Object target) { - return Plugin.wrap(target, this); - } - - @Override - public void setProperties(Properties properties) { - // 这里需要空注解,否则sonar会不happy。 - } - - @Data - private static final class ModelDataPermInfo { - private Set excludeMethodNameSet; - private String userFilterColumn; - private String deptFilterColumn; - private String mainTableName; - } -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/listener/LoadDataPermMapperListener.java b/orange-admin-service/application/src/main/java/com/orange/admin/listener/LoadDataPermMapperListener.java deleted file mode 100644 index 6fe1811f..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/listener/LoadDataPermMapperListener.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.orange.admin.listener; - -import com.orange.admin.interceptor.MybatisDataPermInterceptor; -import org.springframework.boot.context.event.ApplicationReadyEvent; -import org.springframework.context.ApplicationListener; -import org.springframework.stereotype.Component; - -/** - * 应用服务启动监听器。 - * 目前主要功能是调用DataPermInterceptor中的loadMappersWithEnableDataPerm方法, - * 将标记有数据权限规则注解的Mapper对象,加载到缓存,以提升系统运行时效率。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Component -public class LoadDataPermMapperListener implements ApplicationListener { - - @Override - public void onApplicationEvent(ApplicationReadyEvent applicationReadyEvent) { - MybatisDataPermInterceptor interceptor = - applicationReadyEvent.getApplicationContext().getBean(MybatisDataPermInterceptor.class); - interceptor.loadMappersWithDataPerm(); - } -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/LoginController.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/LoginController.java deleted file mode 100644 index fbfb82e6..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/LoginController.java +++ /dev/null @@ -1,129 +0,0 @@ -package com.orange.admin.upms.controller; - -import com.alibaba.fastjson.JSONObject; -import lombok.extern.slf4j.Slf4j; -import com.orange.admin.config.ApplicationConfig; -import com.orange.admin.config.CacheConfig; -import com.orange.admin.upms.service.*; -import com.orange.admin.upms.model.SysMenu; -import com.orange.admin.upms.model.SysUser; -import com.orange.admin.upms.model.constant.SysUserStatus; -import com.orange.admin.upms.model.constant.SysUserType; -import com.orange.admin.common.core.annotation.NoAuthInterface; -import com.orange.admin.common.core.constant.ErrorCodeEnum; -import com.orange.admin.common.core.object.ResponseResult; -import com.orange.admin.common.core.object.TokenData; -import com.orange.admin.common.core.util.JwtUtil; -import com.orange.admin.common.core.util.MyCommonUtil; -import com.orange.admin.common.core.util.RsaUtil; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; -import org.springframework.cache.Cache; -import org.springframework.cache.CacheManager; - -import java.net.URLDecoder; -import java.nio.charset.StandardCharsets; -import java.util.*; - -/** - * 登录接口控制器类。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Slf4j -@RestController -@RequestMapping("/admin/login") -public class LoginController { - - @Autowired - private SysUserService sysUserService; - @Autowired - private SysMenuService sysMenuService; - @Autowired - private SysPermCodeService sysPermCodeService; - @Autowired - private SysPermService sysPermService; - @Autowired - private SysDataPermService sysDataPermService; - @Autowired - private ApplicationConfig appConfig; - @Autowired - private CacheManager cacheManager; - - /** - * 登录接口。 - * - * @param loginName 登录名。 - * @param password 密码。 - * @return 应答结果对象,其中包括JWT的Token数据,以及菜单列表。 - */ - @NoAuthInterface - @GetMapping("/doLogin") - public ResponseResult doLogin( - @RequestParam String loginName, @RequestParam String password) throws Exception { - if (MyCommonUtil.existBlankArgument(loginName, password)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - //NOTE: 执行RsaUtil工具类中的main函数,可以生成新的公钥和私钥。 - String privateKey = - "MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKkLhAydtOtA4WuIkkIIUVaGWu4ElOEAQF9GTulHHWOwCHI1UvcKolvS1G+mdsKcmGtEAQ92AUde/kDRGu8Wn7kLDtCgUfo72soHz7Qfv5pVB4ohMxQd/9cxeKjKbDoirhB9Z3xGF20zUozp4ZPLxpTtI7azr0xzUtd5+D/HfLDrAgMBAAECgYEApESZhDz4YyeAJiPnpJ06lS8oS2VOWzsIUs0av5uoloeoHXtt7Lx7u2kroHeNrl3Hy2yg7ypH4dgQkGHin3VHrVAgjG3TxhgBXIqqntzzk2AGJKBeIIkRX86uTvtKZyp3flUgcwcGmpepAHS1V1DPY3aVYvbcqAmoL6DX6VYN0NECQQDQUitMdC76lEtAr5/ywS0nrZJDo6U7eQ7ywx/eiJ+YmrSye8oorlAj1VBWG+Cl6jdHOHtTQyYv/tu71fjzQiJTAkEAz7wb47/vcSUpNWQxItFpXz0o6rbJh71xmShn1AKP7XptOVZGlW9QRYEzHabV9m/DHqI00cMGhHrWZAhCiTkUCQJAFsJjaJ7o4weAkTieyO7B+CvGZw1h5/V55Jvcx3s1tH5yb22G0Jr6tm9/r2isSnQkReutzZLwgR3e886UvD7lcQJAAUcD2OOuQkDbPwPNtYwaHMbQgJj9JkOI9kskUE5vuiMdltOr/XFAyhygRtdmy2wmhAK1VnDfkmL6/IR8fEGImQJABOB0KCalb0M8CPnqqHzozrD8gPObnIIr4aVvLIPATN2g7MM2N6F7JbI4RZFiKa92LV6bhQCY8OvHi5K2cgFpbw=="; - SysUser user = sysUserService.getSysUserByLoginName(loginName); - password = URLDecoder.decode(password, StandardCharsets.UTF_8.name()); - password = RsaUtil.decrypt(password, privateKey); - if (user == null - || !user.getPassword().equals(MyCommonUtil.encrptedPassword(password, appConfig.getPasswordSalt()))) { - return ResponseResult.error(ErrorCodeEnum.INVALID_USERNAME_PASSWORD); - } - String errorMessage; - if (user.getUserStatus() == SysUserStatus.STATUS_LOCKED) { - errorMessage = "登录失败,用户账号被锁定!"; - return ResponseResult.error(ErrorCodeEnum.INVALID_USER_STATUS, errorMessage); - } - boolean isAdmin = user.getUserType() == SysUserType.TYPE_ADMIN; - Map claims = new HashMap<>(3); - String sessionId = MyCommonUtil.generateUuid(); - claims.put("sessionId", sessionId); - String token = JwtUtil.generateToken(claims, appConfig.getTokenSigningKey()); - JSONObject jsonData = new JSONObject(); - jsonData.put(TokenData.REQUEST_ATTRIBUTE_NAME, token); - jsonData.put("showName", user.getShowName()); - jsonData.put("isAdmin", isAdmin); - TokenData tokenData = new TokenData(); - tokenData.setSessionId(sessionId); - tokenData.setUserId(user.getUserId()); - tokenData.setDeptId(user.getDeptId()); - tokenData.setShowName(user.getShowName()); - tokenData.setIsAdmin(isAdmin); - Cache sessionCache = cacheManager.getCache(CacheConfig.CacheEnum.GLOBAL_CACHE.name()); - sessionCache.put(sessionId, tokenData); - List menuList; - if (isAdmin) { - menuList = sysMenuService.getAllMenuList(); - } else { - menuList = sysMenuService.getMenuListByUserId(user.getUserId()); - List permCodeList = sysPermCodeService.getPermCodeListByUserId(user.getUserId()); - jsonData.put("permCodeList", permCodeList); - } - jsonData.put("menuList", menuList); - if (user.getUserType() != SysUserType.TYPE_ADMIN) { - // 缓存用户的权限资源 - sysPermService.putUserSysPermCache(sessionId, user.getUserId(), isAdmin); - sysDataPermService.putDataPermCache(sessionId, user.getUserId(), user.getDeptId(), isAdmin); - } - return ResponseResult.success(jsonData); - } - - /** - * 登出操作。同时将Session相关的信息从缓存中删除。 - * - * @return 应答结果对象。 - */ - @PostMapping("/doLogout") - public ResponseResult doLogout() { - TokenData tokenData = TokenData.takeFromRequest(); - sysPermService.removeUserSysPermCache(tokenData.getSessionId()); - sysDataPermService.removeDataPermCache(tokenData.getSessionId()); - return ResponseResult.success(); - } -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysDataPermController.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysDataPermController.java deleted file mode 100644 index 4ae52a0d..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysDataPermController.java +++ /dev/null @@ -1,291 +0,0 @@ -package com.orange.admin.upms.controller; - -import com.alibaba.fastjson.JSONObject; -import com.github.pagehelper.page.PageMethod; -import lombok.extern.slf4j.Slf4j; -import com.orange.admin.upms.model.SysDataPermMenu; -import com.orange.admin.upms.model.SysDataPerm; -import com.orange.admin.upms.model.SysUser; -import com.orange.admin.upms.service.SysDataPermService; -import com.orange.admin.upms.service.SysUserService; -import com.orange.admin.common.core.validator.UpdateGroup; -import com.orange.admin.common.core.constant.ErrorCodeEnum; -import com.orange.admin.common.core.object.CallResult; -import com.orange.admin.common.core.object.MyOrderParam; -import com.orange.admin.common.core.object.MyPageParam; -import com.orange.admin.common.core.object.ResponseResult; -import com.orange.admin.common.core.object.MyRelationParam; -import com.orange.admin.common.core.util.MyCommonUtil; -import com.orange.admin.common.core.util.MyPageUtil; -import com.orange.admin.common.core.annotation.MyRequestBody; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import javax.validation.groups.Default; -import java.util.*; -import java.util.stream.Collectors; - -/** - * 数据权限接口控制器对象。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Slf4j -@RestController -@RequestMapping("/admin/upms/sysDataPerm") -public class SysDataPermController { - - @Autowired - private SysDataPermService sysDataPermService; - @Autowired - private SysUserService sysUserService; - - /** - * 添加新数据权限操作。 - * - * @param sysDataPerm 新增对象。 - * @param deptIdListString 数据权限关联的部门Id列表,多个之间逗号分隔。 - * @param menuIdListString 数据权限关联的菜单Id列表,多个之间逗号分隔。 - * @return 应答结果对象。包含新增数据权限对象的主键Id。 - */ - @SuppressWarnings("unchecked") - @PostMapping("/add") - public ResponseResult add( - @MyRequestBody SysDataPerm sysDataPerm, - @MyRequestBody String deptIdListString, - @MyRequestBody String menuIdListString) { - if (MyCommonUtil.existBlankArgument(menuIdListString)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - String errorMessage = MyCommonUtil.getModelValidationError(sysDataPerm); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); - } - CallResult result = sysDataPermService.verifyRelatedData(sysDataPerm, deptIdListString, menuIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); - } - List dataPermMenuList = null; - Set deptIdSet = null; - if (result.getData() != null) { - dataPermMenuList = (List) result.getData().get("dataPermMenuList"); - deptIdSet = (Set) result.getData().get("deptIdSet"); - } - sysDataPermService.saveNew(sysDataPerm, deptIdSet, dataPermMenuList); - JSONObject responseData = new JSONObject(); - responseData.put("dataPermId", sysDataPerm.getDataPermId()); - return ResponseResult.success(responseData); - } - - /** - * 更新数据权限操作。 - * - * @param sysDataPerm 更新的数据权限对象。 - * @param deptIdListString 数据权限关联的部门Id列表,多个之间逗号分隔。 - * @param menuIdListString 数据权限关联的菜单Id列表,多个之间逗号分隔 - * @return 应答结果对象。 - */ - @SuppressWarnings("unchecked") - @PostMapping("/update") - public ResponseResult update( - @MyRequestBody SysDataPerm sysDataPerm, - @MyRequestBody String deptIdListString, - @MyRequestBody String menuIdListString) { - if (MyCommonUtil.existBlankArgument(menuIdListString)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - String errorMessage = MyCommonUtil.getModelValidationError(sysDataPerm, Default.class, UpdateGroup.class); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); - } - SysDataPerm originalSysDataPerm = sysDataPermService.getById(sysDataPerm.getDataPermId()); - if (originalSysDataPerm == null) { - errorMessage = "数据验证失败,当前数据权限并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - CallResult result = sysDataPermService.verifyRelatedData(sysDataPerm, deptIdListString, menuIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); - } - List dataPermMenuList = null; - Set deptIdSet = null; - if (result.getData() != null) { - dataPermMenuList = (List) result.getData().get("dataPermMenuList"); - deptIdSet = (Set) result.getData().get("deptIdSet"); - } - if (!sysDataPermService.update(sysDataPerm, originalSysDataPerm, deptIdSet, dataPermMenuList)) { - errorMessage = "更新失败,数据不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } - - /** - * 删除数据权限操作。 - * - * @param dataPermId 待删除数据权限主键Id。 - * @return 应答数据结果。 - */ - @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long dataPermId) { - if (MyCommonUtil.existBlankArgument(dataPermId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - if (!sysDataPermService.remove(dataPermId)) { - String errorMessage = "数据操作失败,数据权限不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } - - /** - * 查看数据权限列表。 - * - * @param sysDataPermFilter 数据权限查询过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象。包含数据权限列表。 - */ - @PostMapping("/list") - public ResponseResult list( - @MyRequestBody SysDataPerm sysDataPermFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - String orderBy = MyOrderParam.buildOrderBy(orderParam, SysDataPerm.class); - List resultList = sysDataPermService.getSysDataPermList(sysDataPermFilter, orderBy); - return ResponseResult.success(MyPageUtil.makeResponseData(resultList)); - } - - /** - * 查看单条数据权限详情。 - * - * @param dataPermId 数据权限的主键Id。 - * @return 应答结果对象,包含数据权限的详情。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long dataPermId) { - if (MyCommonUtil.existBlankArgument(dataPermId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - SysDataPerm dataPerm = sysDataPermService.getByIdWithRelation(dataPermId, MyRelationParam.full()); - if (dataPerm == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(dataPerm); - } - - /** - * 获取不包含指定数据权限Id的用户列表。 - * 用户和数据权限是多对多关系,当前接口将返回没有赋值指定DataPermId的用户列表。可用于给数据权限添加新用户。 - * - * @param dataPermId 数据权限主键Id。 - * @param sysUserFilter 用户数据的过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含用户列表数据。 - */ - @PostMapping("/listNotInDataPermUser") - public ResponseResult listNotInDataPermUser( - @MyRequestBody Long dataPermId, - @MyRequestBody SysUser sysUserFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - ResponseResult verifyResult = this.doDataPermUserVerify(dataPermId); - if (!verifyResult.isSuccess()) { - return ResponseResult.errorFrom(verifyResult); - } - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); - List resultList = - sysUserService.getNotInSysUserListByDataPermId(dataPermId, sysUserFilter, orderBy); - JSONObject responseData = MyPageUtil.makeResponseData(resultList); - return ResponseResult.success(responseData); - } - - /** - * 拥有指定数据权限的用户列表。 - * - * @param dataPermId 数据权限主键Id。 - * @param sysUserFilter 用户过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含用户列表数据。 - */ - @PostMapping("/listDataPermUser") - public ResponseResult listDataPermUser( - @MyRequestBody Long dataPermId, - @MyRequestBody SysUser sysUserFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - ResponseResult verifyResult = this.doDataPermUserVerify(dataPermId); - if (!verifyResult.isSuccess()) { - return ResponseResult.errorFrom(verifyResult); - } - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); - List resultList = - sysUserService.getSysUserListByDataPermId(dataPermId, sysUserFilter, orderBy); - JSONObject responseData = MyPageUtil.makeResponseData(resultList); - return ResponseResult.success(responseData); - } - - private ResponseResult doDataPermUserVerify(Long dataPermId) { - if (MyCommonUtil.existBlankArgument(dataPermId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - if (!sysDataPermService.existId(dataPermId)) { - return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); - } - return ResponseResult.success(); - } - - /** - * 为指定数据权限添加用户列表。该操作可同时给一批用户赋值数据权限,并在同一事务内完成。 - * - * @param dataPermId 数据权限主键Id。 - * @param userIdListString 逗号分隔的用户Id列表。 - * @return 应答结果对象。 - */ - @PostMapping("/addDataPermUser") - public ResponseResult addDataPermUser( - @MyRequestBody Long dataPermId, @MyRequestBody String userIdListString) { - if (MyCommonUtil.existBlankArgument(dataPermId, userIdListString)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - Set userIdSet = - Arrays.stream(userIdListString.split(",")).map(Long::valueOf).collect(Collectors.toSet()); - if (!sysDataPermService.existId(dataPermId) - || !sysUserService.existUniqueKeyList("userId", userIdSet)) { - return ResponseResult.error(ErrorCodeEnum.INVALID_RELATED_RECORD_ID); - } - sysDataPermService.addDataPermUserList(dataPermId, userIdSet); - return ResponseResult.success(); - } - - /** - * 为指定用户移除指定数据权限。 - * - * @param dataPermId 指定数据权限主键Id。 - * @param userId 指定用户主键Id。 - * @return 应答数据结果。 - */ - @PostMapping("/deleteDataPermUser") - public ResponseResult deleteDataPermUser( - @MyRequestBody Long dataPermId, @MyRequestBody Long userId) { - if (MyCommonUtil.existBlankArgument(dataPermId, userId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - if (!sysDataPermService.removeDataPermUser(dataPermId, userId)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysDeptController.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysDeptController.java deleted file mode 100644 index 0fdc9b38..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysDeptController.java +++ /dev/null @@ -1,155 +0,0 @@ -package com.orange.admin.upms.controller; - -import cn.jimmyshi.beanquery.BeanQuery; -import com.github.pagehelper.page.PageMethod; -import com.orange.admin.upms.model.*; -import com.orange.admin.upms.service.*; -import com.orange.admin.common.core.object.*; -import com.orange.admin.common.core.util.*; -import com.orange.admin.common.core.constant.ErrorCodeEnum; -import com.orange.admin.common.core.annotation.MyRequestBody; -import com.orange.admin.common.core.validator.UpdateGroup; -import lombok.extern.slf4j.Slf4j; -import com.alibaba.fastjson.JSONObject; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.*; -import javax.validation.groups.Default; - -/** - * 部门管理操作控制器类。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Slf4j -@RestController -@RequestMapping("/admin/upms/sysDept") -public class SysDeptController { - - @Autowired - private SysDeptService sysDeptService; - - /** - * 新增部门管理数据。 - * - * @param sysDept 新增对象。 - * @return 应答结果对象,包含新增对象主键Id。 - */ - @PostMapping("/add") - public ResponseResult add(@MyRequestBody SysDept sysDept) { - String errorMessage = MyCommonUtil.getModelValidationError(sysDept); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); - } - sysDept = sysDeptService.saveNew(sysDept); - JSONObject responseData = new JSONObject(); - responseData.put("deptId", sysDept.getDeptId()); - return ResponseResult.success(responseData); - } - - /** - * 更新部门管理数据。 - * - * @param sysDept 更新对象。 - * @return 应答结果对象。 - */ - @PostMapping("/update") - public ResponseResult update(@MyRequestBody SysDept sysDept) { - String errorMessage = MyCommonUtil.getModelValidationError(sysDept, Default.class, UpdateGroup.class); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); - } - // 验证关联Id的数据合法性 - SysDept originalSysDept = sysDeptService.getById(sysDept.getDeptId()); - if (originalSysDept == null) { - //NOTE: 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [数据] 并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - if (!sysDeptService.update(sysDept, originalSysDept)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } - - /** - * 删除部门管理数据。 - * - * @param deptId 删除对象主键Id。 - * @return 应答结果对象。 - */ - @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long deptId) { - String errorMessage; - if (MyCommonUtil.existBlankArgument(deptId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - // 验证关联Id的数据合法性 - SysDept originalSysDept = sysDeptService.getById(deptId); - if (originalSysDept == null) { - // NOTE: 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - if (!sysDeptService.remove(deptId)) { - errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } - - /** - * 列出符合过滤条件的部门管理列表。 - * - * @param sysDeptFilter 过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含查询结果集。 - */ - @PostMapping("/list") - public ResponseResult list( - @MyRequestBody SysDept sysDeptFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - String orderBy = MyOrderParam.buildOrderBy(orderParam, SysDept.class); - List resultList = sysDeptService.getSysDeptListWithRelation(sysDeptFilter, orderBy); - return ResponseResult.success(MyPageUtil.makeResponseData(resultList)); - } - - /** - * 查看指定部门管理对象详情。 - * - * @param deptId 指定对象主键Id。 - * @return 应答结果对象,包含对象详情。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long deptId) { - if (MyCommonUtil.existBlankArgument(deptId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - SysDept sysDept = sysDeptService.getByIdWithRelation(deptId, MyRelationParam.full()); - if (sysDept == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(sysDept); - } - - /** - * 以字典形式返回全部部门管理数据集合。字典的键值为[deptId, deptName]。 - * 白名单接口,登录用户均可访问。 - * - * @param filter 过滤对象。 - * @return 应答结果对象,包含的数据为 List>,map中包含两条记录,key的值分别是id和name,value对应具体数据。 - */ - @GetMapping("/listDictSysDept") - public ResponseResult>> listDictSysDept(SysDept filter) { - List resultList = sysDeptService.getListByFilter(filter, null); - return ResponseResult.success(BeanQuery.select( - "deptId as id", "deptName as name").executeFrom(resultList)); - } -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysUserController.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysUserController.java deleted file mode 100644 index 1f02415e..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/controller/SysUserController.java +++ /dev/null @@ -1,200 +0,0 @@ -package com.orange.admin.upms.controller; - -import cn.jimmyshi.beanquery.BeanQuery; -import com.github.pagehelper.page.PageMethod; -import com.orange.admin.upms.model.*; -import com.orange.admin.upms.service.*; -import com.orange.admin.common.core.object.*; -import com.orange.admin.common.core.util.*; -import com.orange.admin.common.core.constant.ErrorCodeEnum; -import com.orange.admin.common.core.annotation.MyRequestBody; -import com.orange.admin.common.core.validator.UpdateGroup; -import com.orange.admin.config.ApplicationConfig; -import lombok.extern.slf4j.Slf4j; -import com.alibaba.fastjson.JSONObject; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.*; -import javax.validation.groups.Default; - -/** - * 用户管理操作控制器类。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Slf4j -@RestController -@RequestMapping("/admin/upms/sysUser") -public class SysUserController { - - @Autowired - private SysUserService sysUserService; - @Autowired - private ApplicationConfig applicationConfig; - - /** - * 新增用户操作。 - * - * @param sysUser 新增用户对象。 - * @param roleIdListString 逗号分隔的角色Id列表。 - * @param dataPermIdListString 逗号分隔的数据权限Id列表。 - * @return 应答结果对象,包含新增用户的主键Id。 - */ - @SuppressWarnings("unchecked") - @PostMapping("/add") - public ResponseResult add( - @MyRequestBody SysUser sysUser, - @MyRequestBody String roleIdListString, - @MyRequestBody String dataPermIdListString) { - String errorMessage = MyCommonUtil.getModelValidationError(sysUser); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); - } - CallResult result = sysUserService.verifyRelatedData( - sysUser, null, roleIdListString, dataPermIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); - } - Set roleIdSet = (Set) result.getData().get("roleIdSet"); - Set dataPermIdSet = (Set) result.getData().get("dataPermIdSet"); - sysUserService.saveNew(sysUser, roleIdSet, dataPermIdSet, applicationConfig.getPasswordSalt()); - JSONObject responseData = new JSONObject(); - responseData.put("userId", sysUser.getUserId()); - return ResponseResult.success(responseData); - } - - /** - * 更新用户操作。 - * - * @param sysUser 更新用户对象。 - * @param roleIdListString 逗号分隔的角色Id列表。 - * @param dataPermIdListString 逗号分隔的数据权限Id列表。 - * @return 应答结果对象。 - */ - @SuppressWarnings("unchecked") - @PostMapping("/update") - public ResponseResult update( - @MyRequestBody SysUser sysUser, - @MyRequestBody String roleIdListString, - @MyRequestBody String dataPermIdListString) { - String errorMessage = MyCommonUtil.getModelValidationError(sysUser, Default.class, UpdateGroup.class); - if (errorMessage != null) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, errorMessage); - } - SysUser originalUser = sysUserService.getById(sysUser.getUserId()); - if (originalUser == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - CallResult result = sysUserService.verifyRelatedData( - sysUser, originalUser, roleIdListString, dataPermIdListString); - if (!result.isSuccess()) { - return ResponseResult.error(ErrorCodeEnum.DATA_VALIDATAED_FAILED, result.getErrorMessage()); - } - Set roleIdSet = (Set) result.getData().get("roleIdSet"); - Set dataPermIdSet = (Set) result.getData().get("dataPermIdSet"); - if (!sysUserService.update(sysUser, originalUser, roleIdSet, dataPermIdSet)) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } - - /** - * 重置密码操作。 - * - * @param userId 指定用户主键Id。 - * @return 应答结果对象。 - */ - @PostMapping("/resetPassword") - public ResponseResult resetPassword(@MyRequestBody Long userId) { - if (MyCommonUtil.existBlankArgument(userId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - if (!sysUserService.resetPassword( - userId, applicationConfig.getDefaultUserPassword(), applicationConfig.getPasswordSalt())) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(); - } - - /** - * 删除用户管理数据。 - * - * @param userId 删除对象主键Id。 - * @return 应答结果对象。 - */ - @PostMapping("/delete") - public ResponseResult delete(@MyRequestBody Long userId) { - String errorMessage; - if (MyCommonUtil.existBlankArgument(userId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - // 验证关联Id的数据合法性 - SysUser originalSysUser = sysUserService.getById(userId); - if (originalSysUser == null) { - // NOTE: 修改下面方括号中的话述 - errorMessage = "数据验证失败,当前 [对象] 并不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - if (!sysUserService.remove(userId)) { - errorMessage = "数据操作失败,删除的对象不存在,请刷新后重试!"; - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST, errorMessage); - } - return ResponseResult.success(); - } - - /** - * 列出符合过滤条件的用户管理列表。 - * - * @param sysUserFilter 过滤对象。 - * @param orderParam 排序参数。 - * @param pageParam 分页参数。 - * @return 应答结果对象,包含查询结果集。 - */ - @PostMapping("/list") - public ResponseResult list( - @MyRequestBody SysUser sysUserFilter, - @MyRequestBody MyOrderParam orderParam, - @MyRequestBody MyPageParam pageParam) { - if (pageParam != null) { - PageMethod.startPage(pageParam.getPageNum(), pageParam.getPageSize()); - } - String orderBy = MyOrderParam.buildOrderBy(orderParam, SysUser.class); - List resultList = sysUserService.getSysUserListWithRelation(sysUserFilter, orderBy); - return ResponseResult.success(MyPageUtil.makeResponseData(resultList)); - } - - /** - * 查看指定用户管理对象详情。 - * - * @param userId 指定对象主键Id。 - * @return 应答结果对象,包含对象详情。 - */ - @GetMapping("/view") - public ResponseResult view(@RequestParam Long userId) { - if (MyCommonUtil.existBlankArgument(userId)) { - return ResponseResult.error(ErrorCodeEnum.ARGUMENT_NULL_EXIST); - } - // 这里查看用户数据时候,需要把用户多对多关联的角色和数据权限Id一并查出。 - SysUser sysUser = sysUserService.getByIdWithRelation(userId, MyRelationParam.full()); - if (sysUser == null) { - return ResponseResult.error(ErrorCodeEnum.DATA_NOT_EXIST); - } - return ResponseResult.success(sysUser); - } - - /** - * 以字典形式返回全部用户管理数据集合。字典的键值为[userId, loginName]。 - * 白名单接口,登录用户均可访问。 - * - * @param filter 过滤对象。 - * @return 应答结果对象,包含的数据为 List>,map中包含两条记录,key的值分别是id和name,value对应具体数据。 - */ - @GetMapping("/listDictSysUser") - public ResponseResult>> listDictSysUser(SysUser filter) { - List resultList = sysUserService.getListByFilter(filter, null); - return ResponseResult.success(BeanQuery.select( - "userId as id", "loginName as name").executeFrom(resultList)); - } -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermDeptMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermDeptMapper.java deleted file mode 100644 index b61cac7c..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermDeptMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.orange.admin.upms.dao; - -import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.upms.model.SysDataPermDept; - -/** - * 数据权限与部门关系数据访问操作接口。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -public interface SysDataPermDeptMapper extends BaseDaoMapper { -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermMapper.java deleted file mode 100644 index 857b3ca4..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermMapper.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.orange.admin.upms.dao; - -import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.upms.model.SysDataPerm; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 数据权限数据访问操作接口。 - * NOTE: 该对象一定不能被 @EnableDataPerm 注解标注,否则会导致无限递归。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -public interface SysDataPermMapper extends BaseDaoMapper { - - /** - * 获取数据权限列表。 - * - * @param sysDataPermFilter 过滤对象。 - * @param orderBy 排序字符串。 - * @return 过滤后的数据权限列表。 - */ - List getSysDataPermList( - @Param("sysDataPermFilter") SysDataPerm sysDataPermFilter, @Param("orderBy") String orderBy); -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermMenuMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermMenuMapper.java deleted file mode 100644 index 72770355..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermMenuMapper.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.orange.admin.upms.dao; - -import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.upms.model.SysDataPermMenu; -import org.apache.ibatis.annotations.Param; - -import java.util.List; - -/** - * 数据权限与菜单关系数据访问操作接口。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -public interface SysDataPermMenuMapper extends BaseDaoMapper { - - /** - * 获取指定用户Id的数据权限列表。 - * - * @param userId 指定的用户Id。 - * @return 数据权限列表。 - */ - List getSysDataPermMenuListByUserId(@Param("userId") Long userId); -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermUserMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermUserMapper.java deleted file mode 100644 index e7f03440..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDataPermUserMapper.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.orange.admin.upms.dao; - -import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.upms.model.SysDataPermUser; - -import java.util.List; - -/** - * 数据权限与用户关系数据访问操作接口。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -public interface SysDataPermUserMapper extends BaseDaoMapper { - - /** - * 批量添加数据权限和用户关系的列表。 - * - * @param dataPermUserList 数据权限用户关系列表。 - */ - void addDataPermUserList(List dataPermUserList); -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDeptMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDeptMapper.java deleted file mode 100644 index 5f067ac2..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysDeptMapper.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.orange.admin.upms.dao; - -import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.upms.model.SysDept; -import org.apache.ibatis.annotations.Param; - -import java.util.*; - -/** - * 部门管理数据操作访问接口。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -public interface SysDeptMapper extends BaseDaoMapper { - - /** - * 获取过滤后的对象列表。 - * - * @param sysDeptFilter 主表过滤对象。 - * @param orderBy 排序字符串,order by从句的参数。 - * @return 对象列表。 - */ - List getSysDeptList( - @Param("sysDeptFilter") SysDept sysDeptFilter, @Param("orderBy") String orderBy); -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysMenuPermCodeMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysMenuPermCodeMapper.java deleted file mode 100644 index 38831112..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysMenuPermCodeMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.orange.admin.upms.dao; - -import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.upms.model.SysMenuPermCode; - -/** - * 菜单与权限字关系数据访问操作接口。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -public interface SysMenuPermCodeMapper extends BaseDaoMapper { -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermCodePermMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermCodePermMapper.java deleted file mode 100644 index 7d2aef00..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermCodePermMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.orange.admin.upms.dao; - -import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.upms.model.SysPermCodePerm; - -/** - * 权限字与权限资源关系数据访问操作接口。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -public interface SysPermCodePermMapper extends BaseDaoMapper { -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermWhitelistMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermWhitelistMapper.java deleted file mode 100644 index 9a9b4aa9..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysPermWhitelistMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.orange.admin.upms.dao; - -import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.upms.model.SysPermWhitelist; - -/** - * 权限资源白名单数据访问操作接口。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -public interface SysPermWhitelistMapper extends BaseDaoMapper { -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysRoleMenuMapper.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysRoleMenuMapper.java deleted file mode 100644 index 2d27e413..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/SysRoleMenuMapper.java +++ /dev/null @@ -1,13 +0,0 @@ -package com.orange.admin.upms.dao; - -import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.upms.model.SysRoleMenu; - -/** - * 角色与菜单操作关联关系数据访问操作接口。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -public interface SysRoleMenuMapper extends BaseDaoMapper { -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysDataPermDeptMapper.xml b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysDataPermDeptMapper.xml deleted file mode 100644 index d082ccaf..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysDataPermDeptMapper.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysDataPermMapper.xml b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysDataPermMapper.xml deleted file mode 100644 index 54414194..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysDataPermMapper.xml +++ /dev/null @@ -1,47 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - AND zz_sys_data_perm.rule_type = #{sysDataPermFilter.ruleType} - - - - AND IFNULL(zz_sys_data_perm.data_perm_name, '') LIKE #{safeSearchString} - - - AND zz_sys_data_perm.deleted_flag = ${@com.orange.admin.common.core.constant.GlobalDeletedFlag@NORMAL} - - - - \ No newline at end of file diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysDataPermMenuMapper.xml b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysDataPermMenuMapper.xml deleted file mode 100644 index b3b65649..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysDataPermMenuMapper.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysDataPermUserMapper.xml b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysDataPermUserMapper.xml deleted file mode 100644 index 18425586..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysDataPermUserMapper.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - - - - - - - REPLACE INTO zz_sys_data_perm_user(data_perm_id, user_id) VALUES - - (#{item.dataPermId}, #{item.userId}) - - - \ No newline at end of file diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysDeptMapper.xml b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysDeptMapper.xml deleted file mode 100644 index 5d32151c..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysDeptMapper.xml +++ /dev/null @@ -1,34 +0,0 @@ - - - - - - - - - - - - - - - - - - - AND zz_sys_dept.dept_name LIKE #{safeDeptName} - - - AND zz_sys_dept.deleted_flag = ${@com.orange.admin.common.core.constant.GlobalDeletedFlag@NORMAL} - - - - diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysMenuPermCodeMapper.xml b/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysMenuPermCodeMapper.xml deleted file mode 100644 index 52b26fc0..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/dao/mapper/SysMenuPermCodeMapper.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPerm.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPerm.java deleted file mode 100644 index 3f85584a..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPerm.java +++ /dev/null @@ -1,104 +0,0 @@ -package com.orange.admin.upms.model; - -import com.alibaba.fastjson.annotation.JSONField; -import com.orange.admin.common.core.annotation.DeletedFlagColumn; -import com.orange.admin.common.core.annotation.JobUpdateTimeColumn; -import com.orange.admin.common.core.annotation.RelationManyToMany; -import com.orange.admin.common.core.validator.ConstDictRef; -import com.orange.admin.common.core.validator.UpdateGroup; -import com.orange.admin.common.core.constant.DataPermRuleType; -import lombok.Data; - -import javax.persistence.*; -import javax.validation.constraints.*; -import java.util.*; - -/** - * 数据权限实体对象。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Data -@Table(name = "zz_sys_data_perm") -public class SysDataPerm { - - /** - * 主键Id。 - */ - @NotNull(message = "数据权限Id不能为空!", groups = {UpdateGroup.class}) - @Id - @Column(name = "data_perm_id") - private Long dataPermId; - - /** - * 显示名称。 - */ - @NotBlank(message = "数据权限名称不能为空!") - @Column(name = "data_perm_name") - private String dataPermName; - - /** - * 数据权限规则类型(0: 全部可见 1: 只看自己 2: 只看本部门 3: 本部门及子部门 4: 多部门及子部门 5: 自定义部门列表)。 - */ - @NotNull(message = "数据权限规则类型不能为空!") - @ConstDictRef(constDictClass = DataPermRuleType.class) - @Column(name = "rule_type") - private Integer ruleType; - - /** - * 创建者。 - */ - @Column(name = "create_user_id") - private Long createUserId; - - /** - * 创建者显示名称。 - */ - @Column(name = "create_username") - private String createUsername; - - /** - * 创建时间。 - */ - @Column(name = "create_time") - private Date createTime; - - /** - * 更新时间。 - */ - @JobUpdateTimeColumn - @Column(name = "update_time") - private Date updateTime; - - /** - * 逻辑删除标记字段(1: 正常 -1: 已删除)。 - */ - @JSONField(serialize = false) - @DeletedFlagColumn - @Column(name = "deleted_flag") - private Integer deletedFlag; - - @RelationManyToMany( - relationMapperName = "sysDataPermDeptMapper", - relationMasterIdField = "dataPermId", - relationModelClass = SysDataPermDept.class) - @Transient - private List dataPermDeptList; - - @RelationManyToMany( - relationMapperName = "sysDataPermMenuMapper", - relationMasterIdField = "dataPermId", - relationModelClass = SysDataPermMenu.class) - @Transient - private List dataPermMenuList; - - @Transient - private String createTimeStart; - - @Transient - private String createTimeEnd; - - @Transient - private String searchString; -} \ No newline at end of file diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermDept.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermDept.java deleted file mode 100644 index 2b8d3dfa..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermDept.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.orange.admin.upms.model; - -import lombok.Data; -import lombok.ToString; - -import javax.persistence.Column; -import javax.persistence.Id; -import javax.persistence.Table; - -/** - * 数据权限与部门关联实体对象。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Data -@ToString(of = {"deptId"}) -@Table(name = "zz_sys_data_perm_dept") -public class SysDataPermDept { - - /** - * 数据权限Id。 - */ - @Id - @Column(name = "data_perm_id") - private Long dataPermId; - - /** - * 关联部门Id。 - */ - @Id - @Column(name = "dept_id") - private Long deptId; -} \ No newline at end of file diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermMenu.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermMenu.java deleted file mode 100644 index 7bfadfab..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermMenu.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.orange.admin.upms.model; - -import lombok.Data; - -import javax.persistence.*; - -/** - * 数据权限与菜单关联实体对象。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Data -@Table(name = "zz_sys_data_perm_menu") -public class SysDataPermMenu { - - /** - * 数据权限Id。 - */ - @Id - @Column(name = "data_perm_id") - private Long dataPermId; - - /** - * 关联菜单Id。 - */ - @Id - @Column(name = "menu_id") - private Long menuId; - - @Transient - private Integer ruleType; - - @Transient - private String deptIdListString; -} \ No newline at end of file diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermUser.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermUser.java deleted file mode 100644 index 4781c2ec..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDataPermUser.java +++ /dev/null @@ -1,30 +0,0 @@ -package com.orange.admin.upms.model; - -import lombok.Data; - -import javax.persistence.*; - -/** - * 数据权限与用户关联实体对象。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Data -@Table(name = "zz_sys_data_perm_user") -public class SysDataPermUser { - - /** - * 数据权限Id。 - */ - @Id - @Column(name = "data_perm_id") - private Long dataPermId; - - /** - * 用户Id。 - */ - @Id - @Column(name = "user_id") - private Long userId; -} \ No newline at end of file diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDept.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDept.java deleted file mode 100644 index 8397a88e..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/model/SysDept.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.orange.admin.upms.model; - -import com.alibaba.fastjson.annotation.JSONField; -import com.orange.admin.common.core.annotation.DeletedFlagColumn; -import com.orange.admin.common.core.annotation.JobUpdateTimeColumn; -import com.orange.admin.common.core.validator.UpdateGroup; -import lombok.Data; -import javax.persistence.*; -import javax.validation.constraints.*; - -import java.util.Date; - -/** - * SysDept实体对象。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Data -@Table(name = "zz_sys_dept") -public class SysDept { - - /** - * 部门Id。 - */ - @NotNull(message = "数据验证失败,部门Id不能为空!", groups = {UpdateGroup.class}) - @Id - @Column(name = "dept_id") - private Long deptId; - - /** - * 部门名称。 - */ - @NotBlank(message = "数据验证失败,部门名称不能为空!") - @Column(name = "dept_name") - private String deptName; - - /** - * 显示顺序。 - */ - @NotNull(message = "数据验证失败,显示顺序不能为空!") - @Column(name = "show_order") - private Integer showOrder; - - /** - * 逻辑删除标记字段(1: 正常 -1: 已删除)。 - */ - @JSONField(serialize = false) - @DeletedFlagColumn - @Column(name = "deleted_flag") - private Integer deletedFlag; - - /** - * 创建用户Id。 - */ - @Column(name = "create_user_id") - private Long createUserId; - - /** - * 创建用户名。 - */ - @Column(name = "create_username") - private String createUsername; - - /** - * 创建时间。 - */ - @Column(name = "create_time") - private Date createTime; - - /** - * 更新时间。 - */ - @JobUpdateTimeColumn - @Column(name = "update_time") - private Date updateTime; -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysDataPermService.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysDataPermService.java deleted file mode 100644 index 2f415158..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysDataPermService.java +++ /dev/null @@ -1,352 +0,0 @@ -package com.orange.admin.upms.service; - -import com.alibaba.fastjson.JSONObject; -import com.orange.admin.common.biz.base.service.BaseBizService; -import com.orange.admin.common.biz.util.BasicIdGenerator; -import com.orange.admin.common.core.constant.DataPermRuleType; -import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.common.core.constant.GlobalDeletedFlag; -import com.orange.admin.common.core.object.TokenData; -import com.orange.admin.common.core.object.CallResult; -import com.orange.admin.upms.dao.SysDataPermDeptMapper; -import com.orange.admin.upms.dao.SysDataPermMapper; -import com.orange.admin.upms.dao.SysDataPermUserMapper; -import com.orange.admin.upms.dao.SysDataPermMenuMapper; -import com.orange.admin.upms.model.*; -import org.apache.commons.lang3.StringUtils; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.cache.annotation.CacheEvict; -import org.springframework.cache.annotation.CachePut; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import tk.mybatis.mapper.entity.Example; - -import java.util.*; -import java.util.stream.Collectors; - -/** - * 数据权限数据服务类。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Service -public class SysDataPermService extends BaseBizService { - - @Autowired - private SysDataPermMapper sysDataPermMapper; - @Autowired - private SysDataPermDeptMapper sysDataPermDeptMapper; - @Autowired - private SysDataPermMenuMapper sysDataPermMenuMapper; - @Autowired - private SysMenuService sysMenuService; - @Autowired - private SysDataPermUserMapper sysDataPermUserMapper; - @Autowired - private SysDeptService sysDeptService; - @Autowired - private BasicIdGenerator idGenerator; - -/** - * 返回主对象的Mapper对象。 - * - * @return 主对象的Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return sysDataPermMapper; - } - - /** - * 保存新增的数据权限对象。 - * - * @param dataPerm 新增的数据权限对象。 - * @param deptIdSet 关联的部门Id列表。 - * @param dataPermMenuList 关联的菜单对象列表。 - * @return 新增后的数据权限对象。 - */ - @Transactional(rollbackFor = Exception.class) - public SysDataPerm saveNew(SysDataPerm dataPerm, Set deptIdSet, List dataPermMenuList) { - dataPerm.setDataPermId(idGenerator.nextLongId()); - TokenData tokenData = TokenData.takeFromRequest(); - dataPerm.setCreateUserId(tokenData.getUserId()); - dataPerm.setCreateUsername(tokenData.getShowName()); - dataPerm.setDeletedFlag(GlobalDeletedFlag.NORMAL); - Date now = new Date(); - dataPerm.setCreateTime(now); - dataPerm.setUpdateTime(now); - sysDataPermMapper.insert(dataPerm); - this.insertRelationData(dataPerm, deptIdSet, dataPermMenuList); - return dataPerm; - } - - /** - * 更新数据权限对象。 - * - * @param dataPerm 更新的数据权限对象。 - * @param originalDataPerm 原有的数据权限对象。 - * @param deptIdSet 关联的部门Id列表。 - * @param dataPermMenuList 关联的菜单对象列表。 - * @return 更新成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - public boolean update( - SysDataPerm dataPerm, - SysDataPerm originalDataPerm, - Set deptIdSet, - List dataPermMenuList) { - dataPerm.setUpdateTime(new Date()); - dataPerm.setCreateTime(originalDataPerm.getCreateTime()); - dataPerm.setCreateUserId(originalDataPerm.getCreateUserId()); - dataPerm.setCreateUsername(originalDataPerm.getCreateUsername()); - dataPerm.setDeletedFlag(GlobalDeletedFlag.NORMAL); - if (sysDataPermMapper.updateByPrimaryKey(dataPerm) != 1) { - return false; - } - SysDataPermMenu dataPermMenu = new SysDataPermMenu(); - dataPermMenu.setDataPermId(dataPerm.getDataPermId()); - sysDataPermMenuMapper.delete(dataPermMenu); - SysDataPermDept dataPermDept = new SysDataPermDept(); - dataPermDept.setDataPermId(dataPerm.getDataPermId()); - sysDataPermDeptMapper.delete(dataPermDept); - this.insertRelationData(dataPerm, deptIdSet, dataPermMenuList); - return true; - } - - /** - * 删除指定数据权限。 - * - * @param dataPermId 数据权限主键Id。 - * @return 删除成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - public boolean remove(Long dataPermId) { - SysDataPerm dataPerm = new SysDataPerm(); - dataPerm.setDataPermId(dataPermId); - dataPerm.setDeletedFlag(GlobalDeletedFlag.DELETED); - if (sysDataPermMapper.updateByPrimaryKeySelective(dataPerm) != 1) { - return false; - } - SysDataPermMenu dataPermMenu = new SysDataPermMenu(); - dataPermMenu.setDataPermId(dataPermId); - sysDataPermMenuMapper.delete(dataPermMenu); - SysDataPermDept dataPermDept = new SysDataPermDept(); - dataPermDept.setDataPermId(dataPermId); - sysDataPermDeptMapper.delete(dataPermDept); - SysDataPermUser dataPermUser = new SysDataPermUser(); - dataPermUser.setDataPermId(dataPermId); - sysDataPermUserMapper.delete(dataPermUser); - return true; - } - - /** - * 获取数据权限列表。 - * - * @param filter 数据权限过滤对象。 - * @param orderBy 排序参数。 - * @return 数据权限查询列表。 - */ - public List getSysDataPermList(SysDataPerm filter, String orderBy) { - return sysDataPermMapper.getSysDataPermList(filter, orderBy); - } - - /** - * 将指定用户的指定会话的数据权限集合存入缓存。 - * - * @param sessionId 会话Id。 - * @param userId 用户主键Id。 - * @param deptId 用户所属部门主键Id。 - * @param isAdmin 是否是管理员。 - * @return 查询并缓存后的数据权限集合。返回格式为,Map>。 - */ - @CachePut(value = "DATA_PERMISSION_CACHE", key = "#sessionId") - public Map> putDataPermCache( - String sessionId, Long userId, Long deptId, boolean isAdmin) { - // 管理员账户返回空对象,便于缓存的统一处理。 - return isAdmin ? new HashMap<>(1) : this.getSysDataPermMenuListByUserId(userId, deptId); - } - - /** - * 将指定会话的数据权限集合从缓存中移除。 - * - * @param sessionId 会话Id。 - */ - @CacheEvict(value = "DATA_PERMISSION_CACHE", key = "#sessionId") - public void removeDataPermCache(String sessionId) { - // 空实现即可,只是通过注解将当前sessionId从cache中删除。 - } - - /** - * 获取指定用户Id的数据权限列表。并基于菜单Id和权限规则类型进行了一级和二级的分组。 - * - * @param userId 指定的用户Id。 - * @param deptId 用户所属部门主键Id。 - * @return 合并优化后的数据权限列表。返回格式为,Map>。 - */ - public Map> getSysDataPermMenuListByUserId(Long userId, Long deptId) { - List dataPermMenuList = sysDataPermMenuMapper.getSysDataPermMenuListByUserId(userId); - if (dataPermMenuList.isEmpty()) { - return new HashMap<>(1); - } - // 这里用代码的方式把deptId组装到SysDataPermMenu中。 - Set dataPermIdSet = dataPermMenuList.stream() - .map(SysDataPermMenu::getDataPermId).collect(Collectors.toSet()); - Example e = new Example(SysDataPermDept.class); - e.createCriteria().andIn("dataPermId", dataPermIdSet); - List dataPermDeptList = sysDataPermDeptMapper.selectByExample(e); - Map> deptMap = - dataPermDeptList.stream().collect(Collectors.groupingBy(SysDataPermDept::getDataPermId)); - for (SysDataPermMenu dataPermMenu : dataPermMenuList) { - List deptList = deptMap.get(dataPermMenu.getDataPermId()); - if (CollectionUtils.isNotEmpty(deptList)) { - Set deptIdSet = deptList.stream().map(SysDataPermDept::getDeptId).collect(Collectors.toSet()); - dataPermMenu.setDeptIdListString(StringUtils.join(deptIdSet, ",")); - } - } - // 由于同一用户可能属于多个数据权限,所以需要进行基于menuId的权限合并。 - return mergeDataPermMenuList(dataPermMenuList, deptId); - } - - private Map> mergeDataPermMenuList( - List dataPermMenuList, Long deptId) { - Map> menuMap = - dataPermMenuList.stream().collect(Collectors.groupingBy(SysDataPermMenu::getMenuId)); - Map> resultMap = new HashMap<>(menuMap.size()); - // 这里menuMap的key是menuId - for (Map.Entry> entry : menuMap.entrySet()) { - Object menuId = entry.getKey(); - // 为了更方便进行后续的合并优化处理,这里再基于规则类型进行分组。ruleMap的key是规则类型。 - Map> ruleMap = - entry.getValue().stream().collect(Collectors.groupingBy(SysDataPermMenu::getRuleType)); - Map m = new HashMap<>(1); - // 如有有ALL存在,就可以直接退出了,没有必要在处理后续的规则了。 - if (ruleMap.containsKey(DataPermRuleType.TYPE_ALL)) { - m.put(DataPermRuleType.TYPE_ALL, "null"); - resultMap.put(menuId, m); - continue; - } - // 合并自定义部门了。 - String deptIds = processMultiDept(ruleMap, deptId); - if (deptIds != null) { - m.put(DataPermRuleType.TYPE_CUSTOM_DETP_LIST, deptIds); - } - // 最后处理当前部门和当前用户。 - if (ruleMap.get(DataPermRuleType.TYPE_DEPT_ONLY) != null) { - m.put(DataPermRuleType.TYPE_DEPT_ONLY, "null"); - } - if (ruleMap.get(DataPermRuleType.TYPE_USER_ONLY) != null) { - m.put(DataPermRuleType.TYPE_USER_ONLY, "null"); - } - resultMap.put(menuId, m); - } - return resultMap; - } - - private String processMultiDept(Map> ruleMap, Long deptId) { - List customDeptList = ruleMap.get(DataPermRuleType.TYPE_CUSTOM_DETP_LIST); - if (customDeptList == null) { - return null; - } - Set deptIdSet = new HashSet<>(); - for (SysDataPermMenu customDept : customDeptList) { - deptIdSet.addAll(Arrays.stream(StringUtils.split( - customDept.getDeptIdListString(), ",")).map(Long::valueOf).collect(Collectors.toSet())); - } - if (ruleMap.containsKey(DataPermRuleType.TYPE_DEPT_ONLY)) { - deptIdSet.add(deptId); - ruleMap.remove(DataPermRuleType.TYPE_DEPT_ONLY); - } - return StringUtils.join(deptIdSet, ','); - } - - /** - * 添加用户和数据权限之间的多对多关联关系。 - * - * @param dataPermId 数据权限Id。 - * @param userIdSet 关联的用户Id列表。 - */ - @Transactional(rollbackFor = Exception.class) - public void addDataPermUserList(Long dataPermId, Set userIdSet) { - List dataPermUserList = new LinkedList<>(); - for (Long userId : userIdSet) { - SysDataPermUser dataPermUser = new SysDataPermUser(); - dataPermUser.setDataPermId(dataPermId); - dataPermUser.setUserId(userId); - dataPermUserList.add(dataPermUser); - } - sysDataPermUserMapper.addDataPermUserList(dataPermUserList); - } - - /** - * 移除用户和数据权限之间的多对多关联关系。 - * - * @param dataPermId 数据权限主键Id。 - * @param userId 用户主键Id。 - */ - @Transactional(rollbackFor = Exception.class) - public boolean removeDataPermUser(Long dataPermId, Long userId) { - SysDataPermUser dataPermUser = new SysDataPermUser(); - dataPermUser.setDataPermId(dataPermId); - dataPermUser.setUserId(userId); - return sysDataPermUserMapper.delete(dataPermUser) == 1; - } - - /** - * 验证数据权限对象关联菜单数据是否都合法。 - * - * @param dataPerm 数据权限关对象。 - * @param deptIdListString 与数据权限关联的部门Id列表。 - * @param menuIdListString 与数据权限关联的菜单Id列表。 - * @return 验证结果。 - */ - public CallResult verifyRelatedData(SysDataPerm dataPerm, String deptIdListString, String menuIdListString) { - JSONObject jsonObject = new JSONObject(); - if (dataPerm.getRuleType() == DataPermRuleType.TYPE_CUSTOM_DETP_LIST) { - if (StringUtils.isBlank(deptIdListString)) { - return CallResult.error("数据验证失败,部门列表不能为空!"); - } - Set deptIdSet = Arrays.stream(StringUtils.split( - deptIdListString, ",")).map(Long::valueOf).collect(Collectors.toSet()); - if (!sysDeptService.existAllPrimaryKeys(deptIdSet)) { - return CallResult.error("数据验证失败,存在不合法的部门数据,请刷新后重试!"); - } - jsonObject.put("deptIdSet", deptIdSet); - } - String[] menuIdArray = StringUtils.split(menuIdListString, ","); - Set menuIdSet = Arrays.stream(menuIdArray).map(Long::valueOf).collect(Collectors.toSet()); - // 验证菜单Id的合法性 - if (!sysMenuService.existAllPrimaryKeys(menuIdSet)) { - return CallResult.error("数据验证失败,存在不合法的菜单,请刷新后重试!"); - } - List dataPermMenuList = new LinkedList<>(); - for (Long menuId : menuIdSet) { - SysDataPermMenu dataPermMenu = new SysDataPermMenu(); - dataPermMenu.setMenuId(menuId); - dataPermMenuList.add(dataPermMenu); - } - jsonObject.put("dataPermMenuList", dataPermMenuList); - return CallResult.ok(jsonObject); - } - - private void insertRelationData( - SysDataPerm dataPerm, Set deptIdSet, List dataPermMenuList) { - if (CollectionUtils.isNotEmpty(deptIdSet)) { - List dataPermDeptList = new LinkedList<>(); - for (Long deptId : deptIdSet) { - SysDataPermDept dataPermDept = new SysDataPermDept(); - dataPermDept.setDataPermId(dataPerm.getDataPermId()); - dataPermDept.setDeptId(deptId); - dataPermDeptList.add(dataPermDept); - } - sysDataPermDeptMapper.insertList(dataPermDeptList); - } - if (CollectionUtils.isNotEmpty(dataPermMenuList)) { - for (SysDataPermMenu dataPermMenu : dataPermMenuList) { - dataPermMenu.setDataPermId(dataPerm.getDataPermId()); - } - sysDataPermMenuMapper.insertList(dataPermMenuList); - } - } -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysDeptService.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysDeptService.java deleted file mode 100644 index ebea4ab3..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysDeptService.java +++ /dev/null @@ -1,133 +0,0 @@ -package com.orange.admin.upms.service; - -import com.orange.admin.upms.dao.*; -import com.orange.admin.upms.model.*; -import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.common.core.constant.GlobalDeletedFlag; -import com.orange.admin.common.core.object.TokenData; -import com.orange.admin.common.core.object.MyWhereCriteria; -import com.orange.admin.common.core.object.MyRelationParam; -import com.orange.admin.common.biz.base.service.BaseBizService; -import com.orange.admin.common.biz.util.BasicIdGenerator; -import org.springframework.transaction.annotation.Transactional; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; -import tk.mybatis.mapper.entity.Example; - -import java.util.*; - -/** - * 部门管理数据操作服务类。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Service -public class SysDeptService extends BaseBizService { - - @Autowired - private SysDeptMapper sysDeptMapper; - @Autowired - private SysDataPermDeptMapper sysDataPermDeptMapper; - @Autowired - private BasicIdGenerator idGenerator; - - /** - * 返回当前Service的主表Mapper对象。 - * - * @return 主表Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return sysDeptMapper; - } - - /** - * 保存新增的部门对象。 - * - * @param sysDept 新增的部门对象。 - * @return 新增后的部门对象。 - */ - @Transactional(rollbackFor = Exception.class) - public SysDept saveNew(SysDept sysDept) { - sysDept.setDeptId(idGenerator.nextLongId()); - sysDept.setDeletedFlag(GlobalDeletedFlag.NORMAL); - TokenData tokenData = TokenData.takeFromRequest(); - sysDept.setCreateUserId(tokenData.getUserId()); - sysDept.setCreateUsername(tokenData.getShowName()); - Date now = new Date(); - sysDept.setCreateTime(now); - sysDept.setUpdateTime(now); - sysDeptMapper.insert(sysDept); - return sysDept; - } - - /** - * 更新部门对象。 - * - * @param sysDept 更新的部门对象。 - * @param originalSysDept 原有的部门对象。 - * @return 更新成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - public boolean update(SysDept sysDept, SysDept originalSysDept) { - sysDept.setCreateUserId(originalSysDept.getCreateUserId()); - sysDept.setCreateUsername(originalSysDept.getCreateUsername()); - sysDept.setCreateTime(originalSysDept.getCreateTime()); - sysDept.setUpdateTime(new Date()); - sysDept.setDeletedFlag(GlobalDeletedFlag.NORMAL); - return sysDeptMapper.updateByPrimaryKey(sysDept) != 0; - } - - /** - * 删除指定数据。 - * - * @param deptId 主键Id。 - * @return 成功返回true,否则false。 - */ - @Transactional(rollbackFor = Exception.class) - public boolean remove(Long deptId) { - Example sysDeptExample = new Example(SysDept.class); - Example.Criteria c = sysDeptExample.createCriteria(); - c.andEqualTo(super.idFieldName, deptId); - c.andEqualTo(super.deletedFlagFieldName, GlobalDeletedFlag.NORMAL); - // 这里先删除主数据 - SysDept deletedObject = new SysDept(); - deletedObject.setDeletedFlag(GlobalDeletedFlag.DELETED); - if (sysDeptMapper.updateByExampleSelective(deletedObject, sysDeptExample) == 0) { - return false; - } - // 这里可继续删除关联数据。 - SysDataPermDept dataPermDept = new SysDataPermDept(); - dataPermDept.setDeptId(deptId); - sysDataPermDeptMapper.delete(dataPermDept); - return true; - } - - /** - * 获取单表查询结果。由于没有关联数据查询,因此在仅仅获取单表数据的场景下,效率更高。 - * 如果需要同时获取关联数据,请移步(getSysDeptListWithRelation)方法。 - * - * @param filter 过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - public List getSysDeptList(SysDept filter, String orderBy) { - return sysDeptMapper.getSysDeptList(filter, orderBy); - } - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * 如果仅仅需要获取主表数据,请移步(getSysDeptList),以便获取更好的查询性能。 - * - * @param filter 主表过滤对象。 - * @param orderBy 排序参数。 - * @return 查询结果集。 - */ - public List getSysDeptListWithRelation(SysDept filter, String orderBy) { - List resultList = sysDeptMapper.getSysDeptList(filter, orderBy); - Map> criteriaMap = buildAggregationAdditionalWhereCriteria(); - this.buildRelationForDataList(resultList, MyRelationParam.normal(), criteriaMap); - return resultList; - } -} diff --git a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysPermWhitelistService.java b/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysPermWhitelistService.java deleted file mode 100644 index 3197e539..00000000 --- a/orange-admin-service/application/src/main/java/com/orange/admin/upms/service/SysPermWhitelistService.java +++ /dev/null @@ -1,32 +0,0 @@ -package com.orange.admin.upms.service; - -import com.orange.admin.common.biz.base.service.BaseBizService; -import com.orange.admin.common.core.base.dao.BaseDaoMapper; -import com.orange.admin.upms.dao.SysPermWhitelistMapper; -import com.orange.admin.upms.model.SysPermWhitelist; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Service; - -/** - * 权限资源白名单数据服务类。 - * 白名单中的权限资源,可以不受权限控制,任何用户皆可访问,一般用于常用的字典数据列表接口。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Service -public class SysPermWhitelistService extends BaseBizService { - - @Autowired - private SysPermWhitelistMapper sysPermWhitelistMapper; - - /** - * 返回主对象的Mapper对象。 - * - * @return 主对象的Mapper对象。 - */ - @Override - protected BaseDaoMapper mapper() { - return sysPermWhitelistMapper; - } -} diff --git a/orange-admin-service/application/src/main/resources/application.yml b/orange-admin-service/application/src/main/resources/application.yml deleted file mode 100644 index 4a6b612b..00000000 --- a/orange-admin-service/application/src/main/resources/application.yml +++ /dev/null @@ -1,193 +0,0 @@ -logging: - level: - # 这里设置的日志级别优先于log4j2.xml文件Loggers中的日志级别。 - com.orange.admin: info - -server: - tomcat: - uri-encoding: UTF-8 - max-threads: 100 - min-spare-threads: 10 - port: 8082 - -# spring相关配置 -spring: - application: - name: app - profiles: - active: dev - servlet: - multipart: - max-file-size: 50MB - max-request-size: 50MB - http: - converters: - preferred-json-mapper: fastjson - encoding: - force: true - charset: UTF-8 - enabled: true - freemarker: - template-loader-path: classpath:/template/ - cache: false - charset: UTF-8 - check-template-location: true - content-type: text/html - expose-request-attributes: false - expose-session-attributes: false - request-context-attribute: request - suffix: .ftl - -# mybatis的基本配置 -mybatis: - mapperLocations: classpath:com/orange/admin/*/dao/mapper/*Mapper.xml - typeAliasesPackage: com.orange.admin.*.model - -# mybatis的通用mapper的配置 -mapper: - mappers: tk.mybatis.mapper.common.Mapper,tk.mybatis.mapper.additional.insert.InsertListMapper - not-empty: false - identity: MYSQL - -# 自动分页的配置 -pagehelper: - helperDialect: mysql - reasonable: true - supportMethodsArguments: false - params: count=countSql - -# 暴露监控端点 -management: - endpoints: - web: - exposure: - include: '*' - jmx: - exposure: - include: '*' - endpoint: - # 与中间件相关的健康详情也会被展示 - health: - show-details: always - configprops: - # 在/actuator/configprops中,所有包含password的配置,将用 * 隐藏。 - # 如果不想隐藏任何配置项的值,可以直接使用如下被注释的空值。 - # keys-to-sanitize: - keys-to-sanitize: password - server: - servlet: - context-path: "/" - -# 开发数据库相关配置 ---- -spring: - profiles: dev - datasource: - type: com.alibaba.druid.pool.DruidDataSource - druid: - url: jdbc:mysql://localhost:3306/zz-orange-admin?characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai - username: root - password: 123456 - driver-class-name: com.mysql.cj.jdbc.Driver - name: app - initialSize: 10 - minIdle: 10 - maxActive: 50 - maxWait: 60000 - timeBetweenEvictionRunsMillis: 60000 - minEvictableIdleTimeMillis: 300000 - poolPreparedStatements: true - maxPoolPreparedStatementPerConnectionSize: 20 - maxOpenPreparedStatements: 20 - validationQuery: SELECT 'x' - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 - filters: stat,wall - useGlobalDataSourceStat: true - web-stat-filter: - enabled: true - url-pattern: /* - exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*,/actuator/*" - stat-view-servlet: - enabled: true - urlPattern: /druid/* - resetEnable: true - -application: - # common-biz 主要包含通用配置项,由common-biz包的CommonBizConfig读取。 - common-biz: - # Snowflake 分布式Id生成算法所需的WorkNode参数值。 - snowflakeWorkNode: 1 - # Jwt令牌加密的签名值。 - tokenSigningKey: OrangeAdmin - # Jwt令牌在Http Header中的键名称。 - tokenHeaderKey: Authorization - # Jwt令牌刷新后在Http Header中的键名称。 - refreshedTokenHeaderKey: RefreshedToken - # 密码加密的盐值。 - passwordSalt: OrangeAdmin-passwd-salt - # 初始化密码。 - defaultUserPassword: 123456 - # 缺省的文件上传根目录。 - uploadFileBaseDir: ./upload-files/app - # 跨域的IP白名单列表,多个IP之间逗号分隔(* 表示全部信任,空白表示禁用跨域信任)。 - credentialIpList: "*" - -# 发布数据库相关配置 ---- -spring: - profiles: product - datasource: - type: com.alibaba.druid.pool.DruidDataSource - druid: - url: jdbc:mysql://localhost:3306/zz-orange-admin?characterEncoding=utf8&useSSL=true&serverTimezone=Asia/Shanghai - username: root - password: 123456 - driver-class-name: com.mysql.cj.jdbc.Driver - name: app - initialSize: 10 - minIdle: 10 - maxActive: 50 - maxWait: 60000 - timeBetweenEvictionRunsMillis: 60000 - minEvictableIdleTimeMillis: 300000 - poolPreparedStatements: true - maxPoolPreparedStatementPerConnectionSize: 20 - maxOpenPreparedStatements: 20 - validationQuery: SELECT 'x' - testWhileIdle: true - testOnBorrow: false - testOnReturn: false - connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000 - filters: stat,wall - useGlobalDataSourceStat: true - web-stat-filter: - enabled: true - url-pattern: /* - exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*,/actuator/*" - stat-view-servlet: - enabled: true - urlPattern: /druid/* - resetEnable: true - -application: - # common-biz 主要包含通用配置项,由common-biz包的CommonBizConfig读取。 - common-biz: - # Snowflake 分布式Id生成算法所需的WorkNode参数值。 - snowflakeWorkNode: 1 - # Jwt令牌加密的签名值。 - tokenSigningKey: OrangeAdmin - # Jwt令牌在Http Header中的键名称。 - tokenHeaderKey: Authorization - # Jwt令牌刷新后在Http Header中的键名称。 - refreshedTokenHeaderKey: RefreshedToken - # 密码加密的盐值。 - passwordSalt: OrangeAdmin-passwd-salt - # 初始化密码。 - defaultUserPassword: 123456 - # 缺省的文件上传根目录。 - uploadFileBaseDir: ./upload-files/app - # 跨域的IP白名单列表,多个IP之间逗号分隔(* 表示全部信任,空白表示禁用跨域信任)。 - credentialIpList: "*" diff --git a/orange-admin-service/application/src/main/resources/generator/generatorConfig.xml b/orange-admin-service/application/src/main/resources/generator/generatorConfig.xml deleted file mode 100644 index c34aba16..00000000 --- a/orange-admin-service/application/src/main/resources/generator/generatorConfig.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/aop/DisableDataPermAspect.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/aop/DisableDataPermAspect.java deleted file mode 100644 index 730dce63..00000000 --- a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/aop/DisableDataPermAspect.java +++ /dev/null @@ -1,41 +0,0 @@ -package com.orange.admin.common.biz.aop; - -import com.orange.admin.common.core.object.GlobalThreadLocal; -import lombok.extern.slf4j.Slf4j; -import org.aspectj.lang.ProceedingJoinPoint; -import org.aspectj.lang.annotation.Around; -import org.aspectj.lang.annotation.Aspect; -import org.aspectj.lang.annotation.Pointcut; -import org.springframework.core.annotation.Order; -import org.springframework.stereotype.Component; - -/** - * 禁用数据权限过滤的AOP处理类。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Aspect -@Component -@Order(1) -@Slf4j -public class DisableDataPermAspect { - - /** - * 所有标记了DisableDataPerm注解的方法。 - */ - @Pointcut("@annotation(com.orange.admin.common.core.annotation.DisableDataPerm)") - public void disableDataPermPointCut() { - // 空注释,避免sonar警告 - } - - @Around("disableDataPermPointCut()") - public Object around(ProceedingJoinPoint point) throws Throwable { - boolean dataPermEnabled = GlobalThreadLocal.setDataPerm(false); - try { - return point.proceed(); - } finally { - GlobalThreadLocal.setDataPerm(dataPermEnabled); - } - } -} diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/base/service/BaseBizService.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/base/service/BaseBizService.java deleted file mode 100644 index 987b74b1..00000000 --- a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/base/service/BaseBizService.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.orange.admin.common.biz.base.service; - -import com.orange.admin.common.core.base.service.BaseService; -import lombok.extern.slf4j.Slf4j; - -/** - * 所有业务Service的共同基类。由于BaseService位于common-core模块内,该模块很少涉及spring bean的集成, - * 因此该类位于业务服务类和BaseService之间,主要提供一些通用方法,特别是与spring bean相关的业务代码。 - * NOTE: 目前该类实现为空,主要是为了便于用户自行扩展,同时也能方便今后向微服务的升级, - * - * @param Model对象的类型。 - * @param Model对象主键的类型。 - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Slf4j -public abstract class BaseBizService extends BaseService { - -} diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/config/CommonBizConfig.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/config/CommonBizConfig.java deleted file mode 100644 index ab317cfd..00000000 --- a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/config/CommonBizConfig.java +++ /dev/null @@ -1,22 +0,0 @@ -package com.orange.admin.common.biz.config; - -import lombok.Data; -import org.springframework.boot.context.properties.ConfigurationProperties; -import org.springframework.context.annotation.Configuration; - -/** - * 应用程序自定义的通用属性配置文件。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Data -@Configuration -@ConfigurationProperties(prefix = "application.common-biz") -public class CommonBizConfig { - - /** - * Snowflake计算主键Id时所需的WorkNode参数值。 - */ - private Integer snowflakeWorkNode; -} diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/config/FastjsonConfig.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/config/FastjsonConfig.java deleted file mode 100644 index 8760b43f..00000000 --- a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/config/FastjsonConfig.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.orange.admin.common.biz.config; - -import com.alibaba.fastjson.serializer.SerializerFeature; -import com.alibaba.fastjson.support.config.FastJsonConfig; -import com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter; -import org.springframework.boot.autoconfigure.http.HttpMessageConverters; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.http.MediaType; - -import java.util.ArrayList; -import java.util.List; - -/** - * 对象数据格式转换器,这里集成了alibaba的fastjson,作为消息格式转换工具 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Configuration -public class FastjsonConfig { - - @Bean - public HttpMessageConverters fastJsonHttpMessageConverters() { - FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); - List supportedMediaTypes = new ArrayList<>(); - supportedMediaTypes.add(MediaType.APPLICATION_JSON); - supportedMediaTypes.add(MediaType.APPLICATION_FORM_URLENCODED); - fastConverter.setSupportedMediaTypes(supportedMediaTypes); - FastJsonConfig fastJsonConfig = new FastJsonConfig(); - fastJsonConfig.setSerializerFeatures( - SerializerFeature.PrettyFormat, - SerializerFeature.DisableCircularReferenceDetect, - SerializerFeature.IgnoreNonFieldGetter); - fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss"); - fastConverter.setFastJsonConfig(fastJsonConfig); - return new HttpMessageConverters(fastConverter); - } -} diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/interceptor/AccessInterceptor.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/interceptor/AccessInterceptor.java deleted file mode 100644 index 8cc7a470..00000000 --- a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/interceptor/AccessInterceptor.java +++ /dev/null @@ -1,60 +0,0 @@ -package com.orange.admin.common.biz.interceptor; - -import com.orange.admin.common.core.object.GlobalThreadLocal; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.method.HandlerMethod; -import org.springframework.web.servlet.HandlerInterceptor; -import org.springframework.web.servlet.ModelAndView; - -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -/** - * 服务访问日志的拦截器,主要完成记录接口调用时长。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Slf4j -public class AccessInterceptor implements HandlerInterceptor { - - private static final ThreadLocal STARTTIME_THREADLOCAL = new ThreadLocal<>(); - - @Override - public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) - throws Exception { - STARTTIME_THREADLOCAL.set(System.currentTimeMillis()); - // 每次进入Controller接口之前,均主动打开数据权限验证。 - // 可以避免该Servlet线程在处理之前的请求时异常退出,从而导致该状态数据没有被正常清除。 - GlobalThreadLocal.setDataPerm(true); - return true; - } - - @Override - public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, - ModelAndView modelAndView) throws Exception { - // 这里需要加注释,否则sonar不happy。 - } - - @Override - public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) - throws Exception { - long startTime = STARTTIME_THREADLOCAL.get(); - long elapse = System.currentTimeMillis() - startTime; - String urlPath = request.getRequestURI(); - String controllerMethod = "Unknown"; - if (handler instanceof HandlerMethod) { - HandlerMethod hm = (HandlerMethod) handler; - String controllerName = hm.getBean().getClass().getName(); - // 这里将cglib织入的部分去掉,提升日志的可读性 - int index = controllerName.indexOf("$$"); - if (index > 0) { - controllerName = controllerName.substring(0, index); - } - controllerMethod = controllerName + "." + hm.getMethod().getName(); - } - log.info("access: {} -- elapse {} ms -- {}.", controllerMethod, elapse, urlPath); - STARTTIME_THREADLOCAL.remove(); - GlobalThreadLocal.clearDataPerm(); - } -} diff --git a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/util/BasicIdGenerator.java b/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/util/BasicIdGenerator.java deleted file mode 100644 index 0690127f..00000000 --- a/orange-admin-service/common/common-biz/src/main/java/com/orange/admin/common/biz/util/BasicIdGenerator.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.orange.admin.common.biz.util; - -import cn.hutool.core.lang.Snowflake; -import cn.hutool.core.util.IdUtil; -import com.orange.admin.common.biz.config.CommonBizConfig; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; - -import javax.annotation.PostConstruct; - -/** - * 全局共享的snowflake计算工具类。 - * 基于Hutool中的对应工具类实现,同时读取系统的配置参数并初始化该对象。如果今后 - * 升级为基于分布式Id生成服务的实现时,仅需修改内部实现,外部业务方法不会受到任何影响。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Component -public class BasicIdGenerator { - - @Autowired - private CommonBizConfig config; - - private Snowflake snowflake; - - @PostConstruct - private void init() { - snowflake = IdUtil.createSnowflake(config.getSnowflakeWorkNode(), 0); - } - - /** - * 获取基于Snowflake算法的数值型Id。 - * 由于底层实现为synchronized方法,因此计算过程串行化,且线程安全。 - * - * @return 计算后的全局唯一Id。 - */ - public long nextLongId() { - return this.snowflake.nextId(); - } - - /** - * 获取基于Snowflake算法的字符串Id。 - * 由于底层实现为synchronized方法,因此计算过程串行化,且线程安全。 - * - * @return 计算后的全局唯一Id。 - */ - public String nextStringId() { - return this.snowflake.nextIdStr(); - } -} diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/DeptFilterColumn.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/DeptFilterColumn.java deleted file mode 100644 index 1b6b1425..00000000 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/DeptFilterColumn.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.orange.admin.common.core.annotation; - -import java.lang.annotation.*; - -/** - * 主要用于标记数据权限中基于DeptId进行过滤的字段。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface DeptFilterColumn { - -} diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/DisableDataPerm.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/DisableDataPerm.java deleted file mode 100644 index 853b2c2b..00000000 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/DisableDataPerm.java +++ /dev/null @@ -1,17 +0,0 @@ -package com.orange.admin.common.core.annotation; - -import java.lang.annotation.*; - -/** - * 作为DisableDataPermAspect的切点。 - * 该注解仅能标记在方法上,方法内所有的查询语句,均不会被数据权限过滤。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Target({ElementType.METHOD}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface DisableDataPerm { - -} diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/EnableDataPerm.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/EnableDataPerm.java deleted file mode 100644 index fb3a5d61..00000000 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/EnableDataPerm.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.orange.admin.common.core.annotation; - -import java.lang.annotation.*; - -/** - * 用于注解DAO层Mapper对象的数据权限规则。 - * 由于框架使用了tk.mapper,所以并非所有的Mapper接口均在当前Mapper对象中定义,有一部分被tk.mapper封装,如selectAll等。 - * 如果需要排除tk.mapper中的方法,可以直接使用tk.mapper基类所声明的方法名称即可。 - * 另外,比较特殊的场景是,因为tk.mapper是通用框架,所以同样的selectAll方法,可以获取不同的数据集合,因此在service中如果 - * 出现两个不同的方法调用Mapper的selectAll方法,但是一个需要参与过滤,另外一个不需要参与,那么就需要修改当前类的Mapper方法, - * 将其中一个方法重新定义一个具体的接口方法,并重新设定其是否参与数据过滤。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Target({ElementType.TYPE}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface EnableDataPerm { - - /** - * 排除的方法名称数组。如果为空,所有的方法均会被Mybaits拦截注入权限过滤条件。 - * - * @return 被排序的方法名称数据。 - */ - String[] excluseMethodName() default {}; -} diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/UserFilterColumn.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/UserFilterColumn.java deleted file mode 100644 index 8d8a0bfa..00000000 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/annotation/UserFilterColumn.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.orange.admin.common.core.annotation; - -import java.lang.annotation.*; - -/** - * 主要用于标记数据权限中基于UserId进行过滤的字段。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Target({ElementType.FIELD}) -@Retention(RetentionPolicy.RUNTIME) -@Documented -public @interface UserFilterColumn { - -} diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/service/BaseService.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/service/BaseService.java deleted file mode 100644 index 278275d4..00000000 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/base/service/BaseService.java +++ /dev/null @@ -1,1392 +0,0 @@ -package com.demo.single.common.core.base.service; - -import com.demo.single.common.core.annotation.*; -import com.demo.single.common.core.base.dao.BaseDaoMapper; -import com.demo.single.common.core.constant.AggregationType; -import com.demo.single.common.core.constant.GlobalDeletedFlag; -import com.demo.single.common.core.exception.MyRuntimeException; -import com.demo.single.common.core.object.*; -import com.demo.single.common.core.util.AopTargetUtil; -import com.demo.single.common.core.util.ApplicationContextHolder; -import com.demo.single.common.core.util.MyModelUtil; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.apache.commons.collections4.MapUtils; -import org.apache.commons.lang3.StringUtils; -import tk.mybatis.mapper.entity.Example; -import cn.hutool.core.util.ReflectUtil; - -import javax.persistence.Column; -import javax.persistence.Id; -import javax.persistence.Table; -import javax.persistence.Transient; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.lang.reflect.ParameterizedType; -import java.util.*; -import java.util.function.Function; - -import static java.util.stream.Collectors.*; - -/** - * 所有Service的基类。 - * - * @param Model对象的类型。 - * @param Model对象主键的类型。 - * @author Stephen.Liu - * @date 2020-05-22 - */ -@Slf4j -public abstract class BaseService { - - /** - * 当前Service关联的主Model实体对象的Class。 - */ - protected Class modelClass; - /** - * 当前Service关联的主Model实体对象的实际表名称。 - */ - protected String tableName; - /** - * 当前Service关联的主Model对象主键字段名称。 - */ - protected String idFieldName; - /** - * 当前Service关联的主数据表中数据字段名称。 - */ - protected String idColumnName; - /** - * 当前Service关联的主Model对象逻辑删除字段名称。 - */ - protected String deletedFlagFieldName; - /** - * 当前Service关联的主数据表中逻辑删除字段名称。 - */ - protected String deletedFlagColumnName; - /** - * 当前Job服务源主表Model对象最后更新时间字段名称。 - */ - protected String updateTimeFieldName; - /** - * 当前Job服务源主表Model对象最后更新时间列名称。 - */ - protected String updateTimeColumnName; - /** - * 当前Service关联的主Model对象主键字段反射对象。 - */ - protected Field idField; - /** - * 当前Service关联的主Model对象逻辑删除字段反射对象。 - */ - protected Field deletedFlagField; - /** - * 当前Service关联的主Model对象逻辑字段赋值方法的反射对象。 - */ - private Method setDeletedFlagMethod; - /** - * 当前Service关联的主Model对象的所有字典关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 - */ - private List relationDictStructList = new LinkedList<>(); - /** - * 当前Service关联的主Model对象的所有常量字典关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 - */ - private List relationConstDictStructList = new LinkedList<>(); - /** - * 当前Service关联的主Model对象的所有一对一关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 - */ - private List relationOneToOneStructList = new LinkedList<>(); - /** - * 当前Service关联的主Model对象的所有多对多关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 - */ - private List relationManyToManyStructList = new LinkedList<>(); - /** - * 当前Service关联的主Model对象的所有一对多聚合关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 - */ - private List relationOneToManyAggrStructList = new LinkedList<>(); - /** - * 当前Service关联的主Model对象的所有多对多聚合关联的结构列表,该字段在系统启动阶段一次性预加载,提升运行时效率。 - */ - private List relationManyToManyAggrStructList = new LinkedList<>(); - - private static final String GROUPED_KEY = "groupedKey"; - private static final String AGGREGATED_VALUE = "aggregatedValue"; - private static final String AND_OP = " AND "; - - /** - * 构造函数,在实例化的时候,一次性完成所有有关主Model对象信息的加载。 - */ - @SuppressWarnings("unchecked") - public BaseService() { - modelClass = (Class) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0]; - this.tableName = modelClass.getAnnotation(Table.class).name(); - Field[] fields = ReflectUtil.getFields(modelClass); - for (Field field : fields) { - initializeField(field); - } - } - - private void initializeField(Field field) { - if (idFieldName == null && null != field.getAnnotation(Id.class)) { - idFieldName = field.getName(); - idField = field; - Column c = field.getAnnotation(Column.class); - idColumnName = c == null ? idFieldName : c.name(); - } - if (updateTimeFieldName == null && null != field.getAnnotation(JobUpdateTimeColumn.class)) { - updateTimeFieldName = field.getName(); - Column c = field.getAnnotation(Column.class); - updateTimeColumnName = c == null ? updateTimeFieldName : c.name(); - } - if (deletedFlagFieldName == null && null != field.getAnnotation(DeletedFlagColumn.class)) { - deletedFlagFieldName = field.getName(); - Column c = field.getAnnotation(Column.class); - deletedFlagColumnName = c == null ? deletedFlagFieldName : c.name(); - deletedFlagField = field; - setDeletedFlagMethod = ReflectUtil.getMethod( - modelClass, "set" + StringUtils.capitalize(deletedFlagFieldName), Integer.class); - } - } - - /** - * 获取子类中注入的Mapper类。 - * - * @return 子类中注入的Mapper类。 - */ - protected abstract BaseDaoMapper mapper(); - - /** - * 判断指定字段的数据是否存在,且仅仅存在一条记录。 - * 如果是基于主键的过滤,会直接调用existId过滤函数,提升性能。在有缓存的场景下,也可以利用缓存。 - * - * @param fieldName 待过滤的字段名(Java 字段)。 - * @param fieldValue 字段值。 - * @return 存在且仅存在一条返回true,否则false。 - */ - @SuppressWarnings("unchecked") - public boolean existOne(String fieldName, Object fieldValue) { - if (fieldName.equals(this.idFieldName)) { - return this.existId((K) fieldValue); - } - Example e = new Example(modelClass); - e.createCriteria().andEqualTo(fieldName, fieldValue); - return mapper().selectByExample(e).size() == 1; - } - - /** - * 判断主键Id关联的数据是否存在。 - * - * @param id 主键Id。 - * @return 存在返回true,否则false。 - */ - public boolean existId(K id) { - return getById(id) != null; - } - - /** - * 获取主键Id关联的数据。 - * - * @param id 主键Id。 - * @return 主键关联的数据,不存在返回null。 - */ - public M getById(K id) { - if (deletedFlagFieldName == null) { - return mapper().selectByPrimaryKey(id); - } - Example e = new Example(modelClass); - e.createCriteria() - .andEqualTo(this.idFieldName, id) - .andEqualTo(deletedFlagFieldName, GlobalDeletedFlag.NORMAL); - return mapper().selectOneByExample(e); - } - - /** - * 获取主表的查询结果,以及主表关联的字典数据和一对一从表数据,以及一对一从表的字典数据。 - * - * @param id 主表主键Id。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @return 查询结果对象。 - */ - public M getByIdWithRelation(K id, MyRelationParam relationParam) { - M dataObject = this.getById(id); - this.buildRelationForData(dataObject, relationParam, buildAggregationAdditionalWhereCriteria()); - return dataObject; - } - - /** - * 获取所有数据。 - * - * @return 返回所有数据。 - */ - public List getAllList() { - if (deletedFlagFieldName == null) { - return mapper().selectAll(); - } - Example e = new Example(modelClass); - e.createCriteria().andEqualTo(deletedFlagFieldName, GlobalDeletedFlag.NORMAL); - return mapper().selectByExample(e); - } - - /** - * 获取所有主数据,及其关联数据。 - * - * @param relationParam 实体对象数据组装的参数构建器。 - * @return 返回所有主数据,及其关联数据。 - */ - public List getAllListWithRelation(MyRelationParam relationParam) { - List resultList = getAllList(); - this.buildRelationForDataList(resultList, relationParam, null); - return resultList; - } - - /** - * 获取排序后所有数据。 - * - * @param orderByProperties 需要排序的字段属性,这里使用Java对象中的属性名,而不是数据库字段名。 - * @return 返回排序后所有数据。 - */ - public List getAllListByOrder(String... orderByProperties) { - Example e = new Example(modelClass); - for (String orderByProperty : orderByProperties) { - e.orderBy(orderByProperty); - } - if (deletedFlagFieldName != null) { - e.and().andEqualTo(deletedFlagFieldName, GlobalDeletedFlag.NORMAL); - } - return mapper().selectByExample(e); - } - - /** - * 判断参数值主键集合中的所有数据,是否全部存在 - * - * @param idSet 待校验的主键集合。 - * @return 全部存在返回true,否则false。 - */ - public boolean existAllPrimaryKeys(Set idSet) { - if (CollectionUtils.isEmpty(idSet)) { - return false; - } - return this.existUniqueKeyList(idFieldName, idSet); - } - - /** - * 判断参数值列表中的所有数据,是否全部存在。另外,keyName字段在数据表中必须是唯一键值,否则返回结果会出现误判。 - * - * @param inFilterField 待校验的数据字段,这里使用Java对象中的属性,如courseId,而不是数据字段名course_id - * @param inFilterValues 数据值列表。 - * @return 全部存在返回true,否则false。 - */ - public boolean existUniqueKeyList(String inFilterField, Set inFilterValues) { - if (CollectionUtils.isEmpty(inFilterValues)) { - return false; - } - Example e = this.makeDefaultInListExample(inFilterField, inFilterValues, null); - if (deletedFlagFieldName != null) { - e.and().andEqualTo(deletedFlagFieldName, GlobalDeletedFlag.NORMAL); - } - return mapper().selectCountByExample(e) == inFilterValues.size(); - } - - /** - * 获取所有数据的指定字段的数据列表。 - * - * @param getterFunc 指定字段的getter方法。 - * @param 指定字段的类型。 - * @return 指定字段的列表。 - */ - public List getAllListWithField(Function getterFunc) { - List allList = this.getAllList(); - // 即使没有符合filter条件的item存在,也会返回空列表对象,而不是null。 - return allList.stream().filter(x -> getterFunc.apply(x) != null).map(getterFunc).collect(toList()); - } - - /** - * 返回符合主键 in (idValues) 条件的所有数据。 - * - * @param idValues 主键值集合。 - * @return 检索后的数据列表。 - */ - public List getInList(Set idValues) { - return this.getInList(idFieldName, idValues, (String) null); - } - - /** - * 通过getIdFunc函数,获取主对象列表masterList中的主键列表。在基于该Id列表作为主键查询的in list条件,获取数据。 - * - * @param masterList 主对象列表,通过应用getIdFunc函数,获取查询条件中的主键in list条件。 - * @param getIdFunc 获取主对象中符合查询条件主键的id值。 - * @return 检索后的数据列表。 - */ - public List getInList(List masterList, Function getIdFunc) { - // 即使没有符合filter条件的item存在,也会返回空列表对象,而不是null。 - return this.getInList(masterList.stream() - .filter(x -> getIdFunc.apply(x) != null).map(getIdFunc).collect(toSet())); - } - - /** - * 返回符合 inFilterField in (inFilterValues) 条件的所有数据。 - * - * @param inFilterField 参与(In-list)过滤的Java字段。 - * @param inFilterValues 参与(In-list)过滤的Java字段值集合。 - * @return 检索后的数据列表。 - */ - public List getInList(String inFilterField, Set inFilterValues) { - return this.getInList(inFilterField, inFilterValues, (String) null); - } - - /** - * 返回符合 inFilterField in (inFilterValues) 条件的所有数据,并根据orderBy字段排序。 - * - * @param inFilterField 参与(In-list)过滤的Java字段。 - * @param inFilterValues 参与(In-list)过滤的Java字段值集合。 - * @param orderBy 排序字段。 - * @return 检索后的数据列表。 - */ - public List getInList(String inFilterField, Set inFilterValues, String orderBy) { - if (CollectionUtils.isEmpty(inFilterValues)) { - return new LinkedList<>(); - } - Example e = this.makeDefaultInListExample(inFilterField, inFilterValues, orderBy); - if (deletedFlagFieldName != null) { - e.and().andEqualTo(deletedFlagFieldName, GlobalDeletedFlag.NORMAL); - } - return mapper().selectByExample(e); - } - - /** - * 基于对象集合(masterList),并通过masterIdFunction函数对象获取property字段的数据列表, - * inFilterField in (inFilterValues)的所有数据。 - * - * @param inFilterField 参与(In-list)过滤的Java字段。 - * @param masterList 主对象数据集合。 - * @param masterIdFunction 获取主对象中,property字段数值的函数对象。 - * @param 主对象类型。 - * @return 检索后的数据列表。 - */ - public List getInList(String inFilterField, Collection masterList, Function masterIdFunction) { - // 即使没有符合filter条件的item存在,也会返回空列表对象,而不是null。 - return this.getInList(inFilterField, masterList.stream() - .filter(x -> masterIdFunction.apply(x) != null).map(masterIdFunction).collect(toSet())); - } - - /** - * 用参数对象作为过滤条件,获取数据数量。 - * - * @param filter 该方法基于mybatis 通用mapper,过滤对象中,只有被赋值的字段,才会成为where中的条件。 - * @return 返回过滤后的数据数量。 - */ - public int getCountByFilter(M filter) { - if (deletedFlagFieldName == null) { - return mapper().selectCount(filter); - } - try { - setDeletedFlagMethod.invoke(filter, GlobalDeletedFlag.NORMAL); - return mapper().selectCount(filter); - } catch (Exception e) { - log.error("Failed to call reflection code of BaseService.getCountByFilter.", e); - throw new MyRuntimeException(e); - } - } - - /** - * 用参数对象作为过滤条件,判断是否存在过滤数据。 - * - * @param filter 该方法基于mybatis 通用mapper,过滤对象中,只有被赋值的字段,才会成为where中的条件。 - * @return 存在返回true,否则false。 - */ - public boolean existByFilter(M filter) { - return this.getCountByFilter(filter) > 0; - } - - /** - * 用参数对象作为过滤条件,获取查询结果。 - * - * @param filter 该方法基于mybatis的通用mapper。如果参数为null,则返回全部数据。 - * @return 返回过滤后的数据。 - */ - private List getListByFilter(M filter) { - if (filter == null) { - return this.getAllList(); - } - if (deletedFlagFieldName == null) { - return mapper().select(filter); - } - try { - setDeletedFlagMethod.invoke(filter, GlobalDeletedFlag.NORMAL); - return mapper().select(filter); - } catch (Exception ex) { - log.error("Failed to call reflection code of BaseService.getListByFilter.", ex); - throw new MyRuntimeException(ex); - } - } - - /** - * 用参数对象作为过滤条件,获取查询结果。 - * - * @param filter 该方法基于mybatis的通用mapper。如果参数为null,则返回全部数据。 - * @param orderBy SQL中ORDER BY从句。 - * @return 返回过滤后的数据。 - */ - public List getListByFilter(M filter, String orderBy) { - if (StringUtils.isBlank(orderBy)) { - return this.getListByFilter(filter); - } - Example e = new Example(modelClass); - if (StringUtils.isNotBlank(orderBy)) { - e.setOrderByClause(orderBy); - } - if (filter != null) { - Example.Criteria c = e.createCriteria(); - Field[] fields = ReflectUtil.getFields(modelClass); - for (Field field : fields) { - if (field.getAnnotation(Transient.class) == null) { - assembleCriteriaByFilter(filter, field, c); - } - } - } - return mapper().selectByExample(e); - } - - private void assembleCriteriaByFilter(M filter, Field field, Example.Criteria c) { - int modifiers = field.getModifiers(); - // transient类型的字段不能作为查询条件 - int transientMask = 128; - if ((modifiers & transientMask) == 0) { - if (field.getName().equals(deletedFlagFieldName)) { - c.andEqualTo(deletedFlagFieldName, GlobalDeletedFlag.NORMAL); - } else { - ReflectUtil.setAccessible(field); - try { - Object o = field.get(filter); - if (o != null) { - c.andEqualTo(field.getName(), field.get(filter)); - } - } catch (IllegalAccessException ex) { - log.error("Failed to call reflection code of BaseService.getListByFilter.", ex); - throw new MyRuntimeException(ex); - } - } - } - } - - /** - * 用参数对象作为过滤条件,获取查询结果。同时组装实体对象中基于RelationXXXX注解关联的数据。 - * - * @param filter 该方法基于mybatis的通用mapper。如果参数为null,则返回全部数据。 - * @param orderBy SQL中ORDER BY从句。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @return 返回过滤后的数据。 - */ - public List getListWithRelationByFilter(M filter, String orderBy, MyRelationParam relationParam) { - List resultList = this.getListByFilter(filter, orderBy); - Map> criteriaMap = buildAggregationAdditionalWhereCriteria(); - this.buildRelationForDataList(resultList, relationParam, criteriaMap); - return resultList; - } - - /** - * 获取父主键Id下的所有子数据列表。 - * - * @param parentIdFieldName 父主键字段名字,如"courseId"。 - * @param parentId 父主键的值。 - * @return 父主键Id下的所有子数据列表。 - */ - public List getListByParentId(String parentIdFieldName, K parentId) { - Example e = new Example(modelClass); - if (parentId != null) { - e.createCriteria().andEqualTo(parentIdFieldName, parentId); - } else { - e.createCriteria().andIsNull(parentIdFieldName); - } - return mapper().selectByExample(e); - } - - /** - * 根据指定的显示字段列表、过滤条件字符串和分组字符串,返回聚合计算后的查询结果。(基本是内部框架使用,不建议外部接口直接使用)。 - * - * @param selectFields 选择的字段列表,多个字段逗号分隔。 - * NOTE: 如果数据表字段和Java对象字段名字不同,Java对象字段应该以别名的形式出现。 - * 如: table_column_name modelFieldName。否则无法被反射回Bean对象。 - * @param whereClause SQL常量形式的条件从句。 - * @param groupBy SQL常量形式分组字段列表,逗号分隔。 - * @return 聚合计算后的数据结果集。 - */ - public List> getGroupedListByCondition( - String selectFields, String whereClause, String groupBy) { - return mapper().getGroupedListByCondition(tableName, selectFields, whereClause, groupBy); - } - - /** - * 根据指定的显示字段列表、过滤条件字符串和排序字符串,返回查询结果。(基本是内部框架使用,不建议外部接口直接使用)。 - * - * @param selectList 选择的Java字段列表。如果为空表示返回全部字段。 - * @param whereClause SQL常量形式的条件从句。 - * @param orderBy SQL常量形式排序字段列表,逗号分隔。 - * @return 查询结果。 - */ - public List getListByCondition(List selectList, String whereClause, String orderBy) { - Example e = new Example(modelClass); - if (CollectionUtils.isNotEmpty(selectList)) { - String[] selectFields = new String[selectList.size()]; - selectList.toArray(selectFields); - e.selectProperties(selectFields); - } - if (StringUtils.isNotBlank(orderBy)) { - e.setOrderByClause(orderBy); - } - if (StringUtils.isNotBlank(whereClause)) { - e.createCriteria().andCondition(whereClause); - } - return mapper().selectByExample(e); - } - - /** - * 用指定过滤条件,计算记录数量。(基本是内部框架使用,不建议外部接口直接使用)。 - * - * @param whereClause SQL常量形式的条件从句。 - * @return 返回过滤后的数据数量。 - */ - public Integer getCountByCondition(String whereClause) { - return mapper().getCountByCondition(this.tableName, whereClause); - } - - /** - * 集成所有与主表实体对象相关的关联数据列表。包括一对一、字典、一对多和多对多聚合运算等。 - * 也可以根据实际需求,单独调用该函数所包含的各个数据集成函数。 - * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 - * - * @param resultList 主表实体对象列表。数据集成将直接作用于该对象列表。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @param criteriaListMap 仅仅用于一对多和多对多聚合计算的附加过滤条件。如果没有可以为NULL。 - */ - public void buildRelationForDataList( - List resultList, MyRelationParam relationParam, Map> criteriaListMap) { - if (relationParam == null || CollectionUtils.isEmpty(resultList)) { - return; - } - boolean dataPermValue = GlobalThreadLocal.setDataPerm(false); - try { - // 集成本地一对一和字段级别的数据关联。 - boolean buildOneToOne = relationParam.isBuildOneToOne() || relationParam.isBuildOneToOneWithDict(); - // 这里集成一对一关联。 - if (buildOneToOne) { - this.buildOneToOneForDataList(resultList, relationParam.isBuildOneToOneWithDict()); - } - // 这里集成字典关联 - if (relationParam.isBuildDict()) { - // 构建常量字典关联关系 - this.buildConstDictForDataList(resultList); - this.buildDictForDataList(resultList, buildOneToOne); - } - // 组装本地聚合计算关联数据 - if (relationParam.isBuildRelationAggregation()) { - // 处理多对多场景下,根据主表的结果,进行从表聚合数据的计算。 - this.buildManyToManyAggregationForDataList(resultList, criteriaListMap); - // 处理多一多场景下,根据主表的结果,进行从表聚合数据的计算。 - this.buildOneToManyAggregationForDataList(resultList, criteriaListMap); - } - } finally { - GlobalThreadLocal.setDataPerm(dataPermValue); - } - } - - /** - * 集成所有与主表实体对象相关的关联数据对象。包括一对一、字典、一对多和多对多聚合运算等。 - * 也可以根据实际需求,单独调用该函数所包含的各个数据集成函数。 - * NOTE: 该方法内执行的SQL将禁用数据权限过滤。 - * - * @param dataObject 主表实体对象。数据集成将直接作用于该对象。 - * @param relationParam 实体对象数据组装的参数构建器。 - * @param criteriaListMap 仅仅用于一对多和多对多聚合计算的附加过滤条件。如果没有可以为NULL。 - * @param 实体对象类型。 - */ - public void buildRelationForData( - T dataObject, MyRelationParam relationParam, Map> criteriaListMap) { - if (dataObject == null || relationParam == null) { - return; - } - boolean dataPermValue = GlobalThreadLocal.setDataPerm(false); - try { - // 集成本地一对一和字段级别的数据关联。 - boolean buildOneToOne = relationParam.isBuildOneToOne() || relationParam.isBuildOneToOneWithDict(); - if (buildOneToOne) { - this.buildOneToOneForData(dataObject, relationParam.isBuildOneToOneWithDict()); - } - if (relationParam.isBuildDict()) { - // 构建常量字典关联关系 - this.buildConstDictForData(dataObject); - // 构建本地数据字典关联关系。 - this.buildDictForData(dataObject, buildOneToOne); - } - // 组装本地聚合计算关联数据 - if (relationParam.isBuildRelationAggregation()) { - // 开始处理多对多场景。 - buildManyToManyAggregationForData(dataObject, criteriaListMap); - // 构建一对多场景 - buildOneToManyAggregationForData(dataObject, criteriaListMap); - } - if (relationParam.isBuildRelationManyToMany()) { - this.buildManyToManyRelation(dataObject); - } - } finally { - GlobalThreadLocal.setDataPerm(dataPermValue); - } - } - - /** - * 集成主表和多对多中间表之间的关联关系。 - * - * @param dataObject 关联后的主表数据对象。 - */ - private void buildManyToManyRelation(T dataObject) { - if (dataObject == null || CollectionUtils.isEmpty(this.relationManyToManyStructList)) { - return; - } - for (RelationStruct relationStruct : this.relationManyToManyStructList) { - Object masterIdValue = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - Example e = new Example(relationStruct.relationManyToMany.relationModelClass()); - e.createCriteria().andEqualTo(relationStruct.masterIdField.getName(), masterIdValue); - List manyToManyList = relationStruct.manyToManyMapper.selectByExample(e); - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, manyToManyList); - } - } - - /** - * 为实体对象参数列表数据集成本地静态字典关联数据。 - * - * @param resultList 主表数据列表。 - */ - private void buildConstDictForDataList(List resultList) { - if (CollectionUtils.isEmpty(this.relationConstDictStructList) - || CollectionUtils.isEmpty(resultList)) { - return; - } - for (RelationStruct relationStruct : this.relationConstDictStructList) { - for (M dataObject : resultList) { - Object id = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (id != null) { - String name = relationStruct.dictMap.get(id); - if (name != null) { - Map dictMap = new HashMap<>(2); - dictMap.put("id", id); - dictMap.put("name", name); - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, dictMap); - } - } - } - } - } - - /** - * 为参数实体对象数据集成本地静态字典关联数据。 - * - * @param dataObject 实体对象。 - */ - private void buildConstDictForData(T dataObject) { - if (dataObject == null || CollectionUtils.isEmpty(this.relationConstDictStructList)) { - return; - } - for (RelationStruct relationStruct : this.relationConstDictStructList) { - Object id = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (id != null) { - String name = relationStruct.dictMap.get(id); - if (name != null) { - Map dictMap = new HashMap<>(2); - dictMap.put("id", id); - dictMap.put("name", name); - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, dictMap); - } - } - } - } - - /** - * 为实体对象参数列表数据集成本地字典关联数据。 - * - * @param resultList 实体对象数据列表。 - * @param hasBuiltOneToOne 性能优化参数。如果该值为true,同时注解参数RelationDict.equalOneToOneRelationField - * 不为空,则直接从已经完成一对一数据关联的从表对象中获取数据,减少一次数据库交互。 - */ - private void buildDictForDataList(List resultList, boolean hasBuiltOneToOne) { - if (CollectionUtils.isEmpty(this.relationDictStructList) - || CollectionUtils.isEmpty(resultList)) { - return; - } - for (RelationStruct relationStruct : this.relationDictStructList) { - List relationList = null; - if (hasBuiltOneToOne && relationStruct.equalOneToOneRelationField != null) { - relationList = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.equalOneToOneRelationField)) - .filter(Objects::nonNull) - .collect(toList()); - } else { - String slaveId = relationStruct.relationDict.slaveIdField(); - Set masterIdSet = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) - .filter(Objects::nonNull) - .collect(toSet()); - if (CollectionUtils.isNotEmpty(masterIdSet)) { - relationList = relationStruct.service.getInList(slaveId, masterIdSet); - } - } - MyModelUtil.makeDictRelation( - modelClass, resultList, relationList, relationStruct.relationField.getName()); - } - } - - /** - * 为实体对象数据集成本地数据字典关联数据。 - * - * @param dataObject 实体对象。 - * @param hasBuiltOneToOne 性能优化参数。如果该值为true,同时注解参数RelationDict.equalOneToOneRelationField - * 不为空,则直接从已经完成一对一数据关联的从表对象中获取数据,减少一次数据库交互。 - */ - private void buildDictForData(T dataObject, boolean hasBuiltOneToOne) { - if (dataObject == null || CollectionUtils.isEmpty(this.relationDictStructList)) { - return; - } - for (RelationStruct relationStruct : this.relationDictStructList) { - Object relationObject = null; - if (hasBuiltOneToOne && relationStruct.equalOneToOneRelationField != null) { - relationObject = ReflectUtil.getFieldValue(dataObject, relationStruct.equalOneToOneRelationField); - } else { - Object id = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (id != null) { - relationObject = relationStruct.service.getById(id); - } - } - MyModelUtil.makeDictRelation( - modelClass, dataObject, relationObject, relationStruct.relationField.getName()); - } - } - - /** - * 为实体对象参数列表数据集成本地一对一关联数据。 - * - * @param resultList 实体对象数据列表。 - * @param withDict 关联从表数据后,是否把从表的字典数据也一起关联了。。 - */ - private void buildOneToOneForDataList(List resultList, boolean withDict) { - if (CollectionUtils.isEmpty(this.relationOneToOneStructList) - || CollectionUtils.isEmpty(resultList)) { - return; - } - for (RelationStruct relationStruct : this.relationOneToOneStructList) { - Set masterIdSet = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) - .filter(Objects::nonNull) - .collect(toSet()); - // 从主表集合中,抽取主表关联字段的集合,再以in list形式去从表中查询。 - if (CollectionUtils.isNotEmpty(masterIdSet)) { - BaseService relationService = relationStruct.service; - List relationList = - relationService.getInList(relationStruct.relationOneToOne.slaveIdField(), masterIdSet); - MyModelUtil.makeOneToOneRelation( - modelClass, resultList, relationList, relationStruct.relationField.getName()); - // 仅仅当需要加载从表字典关联时,才去加载。 - if (withDict && relationStruct.relationOneToOne.loadSlaveDict() - && CollectionUtils.isNotEmpty(relationList)) { - @SuppressWarnings("unchecked") - BaseService proxyTarget = - (BaseService) AopTargetUtil.getTarget(relationService); - // 关联本地字典。 - proxyTarget.buildDictForDataList(relationList, false); - // 关联常量字典 - proxyTarget.buildConstDictForDataList(relationList); - } - } - } - } - - /** - * 为实体对象数据集成本地一对一关联数据。 - * - * @param dataObject 实体对象。 - * @param withDict 关联从表数据后,是否把从表的字典数据也一起关联了。。 - */ - private void buildOneToOneForData(M dataObject, boolean withDict) { - if (dataObject == null || CollectionUtils.isEmpty(this.relationOneToOneStructList)) { - return; - } - for (RelationStruct relationStruct : this.relationOneToOneStructList) { - Object id = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (id != null) { - BaseService relationService = relationStruct.service; - Object relationObject = relationService.getById(id); - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, relationObject); - // 仅仅当需要加载从表字典关联时,才去加载。 - if (withDict && relationStruct.relationOneToOne.loadSlaveDict() && relationObject != null) { - @SuppressWarnings("unchecked") - BaseService proxyTarget = - (BaseService) AopTargetUtil.getTarget(relationService); - // 关联本地字典 - proxyTarget.buildDictForData(relationObject, false); - // 关联常量字典 - proxyTarget.buildConstDictForData(relationObject); - } - } - } - } - - /** - * 根据实体对象参数列表和过滤条件,集成本地多对多关联聚合计算数据。 - * - * @param resultList 实体对象数据列表。 - * @param criteriaListMap 过滤参数。key为主表字段名称,value是过滤条件列表。 - */ - private void buildManyToManyAggregationForDataList( - List resultList, Map> criteriaListMap) { - if (CollectionUtils.isEmpty(this.relationManyToManyAggrStructList) - || CollectionUtils.isEmpty(resultList)) { - return; - } - if (criteriaListMap == null) { - criteriaListMap = new HashMap<>(this.relationManyToManyAggrStructList.size()); - } - for (RelationStruct relationStruct : this.relationManyToManyAggrStructList) { - Set masterIdSet = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) - .filter(Objects::nonNull) - .collect(toSet()); - if (CollectionUtils.isEmpty(masterIdSet)) { - continue; - } - RelationManyToManyAggregation relation = relationStruct.relationManyToManyAggregation; - // 提取关联中用到的各种字段和表数据。 - BasicAggregationRelationInfo basicRelationInfo = - this.parseBasicAggregationRelationInfo(relationStruct, criteriaListMap); - // 构建多表关联的where语句 - StringBuilder whereClause = new StringBuilder(256); - // 如果需要从表聚合计算或参与过滤,则需要把中间表和从表之间的关联条件加上。 - if (!basicRelationInfo.onlySelectRelationTable) { - whereClause.append(basicRelationInfo.relationTable) - .append(".") - .append(basicRelationInfo.relationSlaveColumn) - .append(" = ") - .append(basicRelationInfo.slaveTable) - .append(".") - .append(basicRelationInfo.slaveColumn); - } else { - whereClause.append("1 = 1"); - } - List criteriaList = criteriaListMap.get(relationStruct.relationField.getName()); - if (criteriaList == null) { - criteriaList = new LinkedList<>(); - } - MyWhereCriteria inlistFilter = new MyWhereCriteria(); - inlistFilter.setCriteria(relation.relationModelClass(), - relation.relationMasterIdField(), MyWhereCriteria.OPERATOR_IN, masterIdSet); - criteriaList.add(inlistFilter); - if (StringUtils.isNotBlank(relationStruct.service.deletedFlagFieldName)) { - MyWhereCriteria deleteFilter = new MyWhereCriteria(); - deleteFilter.setCriteria( - relation.slaveModelClass(), - relationStruct.service.deletedFlagFieldName, - MyWhereCriteria.OPERATOR_EQUAL, - GlobalDeletedFlag.NORMAL); - criteriaList.add(deleteFilter); - } - String criteriaString = MyWhereCriteria.getCriteriaString(criteriaList); - whereClause.append(AND_OP).append(criteriaString); - StringBuilder tableNames = new StringBuilder(64); - tableNames.append(basicRelationInfo.relationTable); - if (!basicRelationInfo.onlySelectRelationTable) { - tableNames.append(", ").append(basicRelationInfo.slaveTable); - } - List> aggregationMapList = - mapper().getGroupedListByCondition(tableNames.toString(), - basicRelationInfo.selectList, whereClause.toString(), basicRelationInfo.groupBy); - doMakeLocalAggregationData(aggregationMapList, resultList, relationStruct); - } - } - - /** - * 根据实体对象和过滤条件,集成本地多对多关联聚合计算数据。 - * - * @param dataObject 实体对象。 - * @param criteriaListMap 过滤参数。key为主表字段名称,value是过滤条件列表。 - */ - private void buildManyToManyAggregationForData( - T dataObject, Map> criteriaListMap) { - if (dataObject == null || CollectionUtils.isEmpty(this.relationManyToManyAggrStructList)) { - return; - } - if (criteriaListMap == null) { - criteriaListMap = new HashMap<>(relationManyToManyAggrStructList.size()); - } - for (RelationStruct relationStruct : this.relationManyToManyAggrStructList) { - Object masterIdValue = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (masterIdValue == null) { - continue; - } - BasicAggregationRelationInfo basicRelationInfo = - this.parseBasicAggregationRelationInfo(relationStruct, criteriaListMap); - // 组装过滤条件 - String whereClause = this.makeManyToManyWhereClause( - relationStruct, masterIdValue, basicRelationInfo, criteriaListMap); - StringBuilder tableNames = new StringBuilder(64); - tableNames.append(basicRelationInfo.relationTable); - if (!basicRelationInfo.onlySelectRelationTable) { - tableNames.append(", ").append(basicRelationInfo.slaveTable); - } - List> aggregationMapList = - mapper().getGroupedListByCondition(tableNames.toString(), - basicRelationInfo.selectList, whereClause, basicRelationInfo.groupBy); - // 将查询后的结果回填到主表数据中。 - if (CollectionUtils.isNotEmpty(aggregationMapList)) { - Object value = aggregationMapList.get(0).get(AGGREGATED_VALUE); - if (value != null) { - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, value); - } - } - } - } - - /** - * 根据实体对象参数列表和过滤条件,集成本地一对多关联聚合计算数据。 - * - * @param resultList 实体对象数据列表。 - * @param criteriaListMap 过滤参数。key为主表字段名称,value是过滤条件列表。 - */ - private void buildOneToManyAggregationForDataList( - List resultList, Map> criteriaListMap) { - // 处理多一多场景下,根据主表的结果,进行从表聚合数据的计算。 - if (CollectionUtils.isEmpty(this.relationOneToManyAggrStructList) - || CollectionUtils.isEmpty(resultList)) { - return; - } - if (criteriaListMap == null) { - criteriaListMap = new HashMap<>(relationOneToManyAggrStructList.size()); - } - for (RelationStruct relationStruct : this.relationOneToManyAggrStructList) { - Set masterIdSet = resultList.stream() - .map(obj -> ReflectUtil.getFieldValue(obj, relationStruct.masterIdField)) - .filter(Objects::nonNull) - .collect(toSet()); - if (CollectionUtils.isEmpty(masterIdSet)) { - continue; - } - RelationOneToManyAggregation relation = relationStruct.relationOneToManyAggregation; - // 开始获取后面所需的各种关联数据。此部分今后可以移植到缓存中,无需每次计算。 - String slaveTable = MyModelUtil.mapToTableName(relation.slaveModelClass()); - String slaveColumnName = MyModelUtil.mapToColumnName(relation.slaveIdField(), relation.slaveModelClass()); - Tuple2 selectAndGroupByTuple = makeSelectListAndGroupByClause( - slaveTable, slaveColumnName, relation.slaveModelClass(), - slaveTable, relation.aggregationField(), relation.aggregationType()); - String selectList = selectAndGroupByTuple.getFirst(); - String groupBy = selectAndGroupByTuple.getSecond(); - List criteriaList = criteriaListMap.get(relationStruct.relationField.getName()); - if (criteriaList == null) { - criteriaList = new LinkedList<>(); - } - MyWhereCriteria inlistFilter = new MyWhereCriteria(); - inlistFilter.setCriteria(relation.slaveModelClass(), - relation.slaveIdField(), MyWhereCriteria.OPERATOR_IN, masterIdSet); - criteriaList.add(inlistFilter); - if (StringUtils.isNotBlank(relationStruct.service.deletedFlagFieldName)) { - MyWhereCriteria deleteFilter = new MyWhereCriteria(); - deleteFilter.setCriteria( - relation.slaveModelClass(), - relationStruct.service.deletedFlagFieldName, - MyWhereCriteria.OPERATOR_EQUAL, - GlobalDeletedFlag.NORMAL); - criteriaList.add(deleteFilter); - } - String criteriaString = MyWhereCriteria.getCriteriaString(criteriaList); - List> aggregationMapList = - mapper().getGroupedListByCondition(slaveTable, selectList, criteriaString, groupBy); - doMakeLocalAggregationData(aggregationMapList, resultList, relationStruct); - } - } - - /** - * 根据实体对象和过滤条件,集成本地一对多关联聚合计算数据。 - * - * @param dataObject 实体对象。 - * @param criteriaListMap 过滤参数。key为主表字段名称,value是过滤条件列表。 - */ - private void buildOneToManyAggregationForData( - T dataObject, Map> criteriaListMap) { - if (dataObject == null || CollectionUtils.isEmpty(this.relationOneToManyAggrStructList)) { - return; - } - if (criteriaListMap == null) { - criteriaListMap = new HashMap<>(relationOneToManyAggrStructList.size()); - } - for (RelationStruct relationStruct : this.relationOneToManyAggrStructList) { - Object masterIdValue = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (masterIdValue == null) { - continue; - } - RelationOneToManyAggregation relation = relationStruct.relationOneToManyAggregation; - String slaveTable = MyModelUtil.mapToTableName(relation.slaveModelClass()); - String slaveColumnName = - MyModelUtil.mapToColumnName(relation.slaveIdField(), relation.slaveModelClass()); - Tuple2 selectAndGroupByTuple = makeSelectListAndGroupByClause( - slaveTable, slaveColumnName, relation.slaveModelClass(), - slaveTable, relation.aggregationField(), relation.aggregationType()); - String selectList = selectAndGroupByTuple.getFirst(); - String groupBy = selectAndGroupByTuple.getSecond(); - String whereClause = this.makeOneToManyWhereClause( - relationStruct, masterIdValue, slaveColumnName, criteriaListMap); - // 获取分组聚合计算结果 - List> aggregationMapList = - mapper().getGroupedListByCondition(slaveTable, selectList, whereClause, groupBy); - // 将计算结果回填到主表关联字段 - if (CollectionUtils.isNotEmpty(aggregationMapList)) { - Object value = aggregationMapList.get(0).get(AGGREGATED_VALUE); - if (value != null) { - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, value); - } - } - } - } - - /** - * 仅仅在spring boot 启动后的监听器事件中调用,缓存所有service的关联关系,加速后续的数据绑定效率。 - */ - public void loadRelationStruct() { - Field[] fields = ReflectUtil.getFields(modelClass); - for (Field f : fields) { - initializeRelationDictStruct(f); - initializeRelationStruct(f); - initializeRelationAggregationStruct(f); - } - } - - /** - * 缺省实现返回null,在进行一对多和多对多聚合计算时,没有额外的自定义过滤条件。如有需要,需子类自行实现。 - * - * @return 自定义过滤条件列表。 - */ - protected Map> buildAggregationAdditionalWhereCriteria() { - return null; - } - - /** - * 判断当前对象的关联字段数据是否需要被验证,如果原有对象为null,表示新对象第一次插入,则必须验证。 - * - * @param object 新对象。 - * @param originalObject 原有对象。 - * @param fieldGetter 获取需要验证字段的函数对象。 - * @param 需要验证字段的类型。 - * @return 需要关联验证返回true,否则false。 - */ - protected boolean needToVerify(M object, M originalObject, Function fieldGetter) { - T data = fieldGetter.apply(object); - if (data == null) { - return false; - } - if (data instanceof String) { - String stringData = (String) data; - if (stringData.length() == 0) { - return false; - } - } - if (originalObject == null) { - return true; - } - T originalData = fieldGetter.apply(originalObject); - return !data.equals(originalData); - } - - /** - * 通过(In-list)条件和orderBy条件,构建Example对象,以供后续的查询操作使用。 - * - * @param inFilterField 参与(In-list)过滤的Java字段。 - * @param inFilterValues 参与(In-list)过滤的Java字段值集合。 - * @param orderBy 排序字段。 - * @param in 属性字段的类型。 - * @return 构建后的Example对象。 - */ - protected Example makeDefaultInListExample(String inFilterField, Collection inFilterValues, String orderBy) { - Set inFilterValueSet; - Example e = new Example(modelClass); - if (StringUtils.isNotBlank(orderBy)) { - e.setOrderByClause(orderBy); - } - if (inFilterValues instanceof Set) { - inFilterValueSet = (Set) inFilterValues; - } else { - inFilterValueSet = new HashSet<>(inFilterValues.size()); - inFilterValueSet.addAll(inFilterValues); - } - e.createCriteria().andIn(inFilterField, inFilterValueSet); - return e; - } - - private void initializeRelationStruct(Field f) { - RelationOneToOne relationOneToOne = f.getAnnotation(RelationOneToOne.class); - if (relationOneToOne != null) { - RelationStruct relationStruct = new RelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationOneToOne.masterIdField()); - relationStruct.relationOneToOne = relationOneToOne; - relationStruct.service = ApplicationContextHolder.getBean( - StringUtils.uncapitalize(relationOneToOne.slaveServiceName())); - relationOneToOneStructList.add(relationStruct); - return; - } - RelationManyToMany relationManyToMany = f.getAnnotation(RelationManyToMany.class); - if (relationManyToMany != null) { - RelationStruct relationStruct = new RelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationManyToMany.relationMasterIdField()); - relationStruct.relationManyToMany = relationManyToMany; - relationStruct.manyToManyMapper = ApplicationContextHolder.getBean( - StringUtils.uncapitalize(relationManyToMany.relationMapperName())); - relationManyToManyStructList.add(relationStruct); - } - } - - private void initializeRelationAggregationStruct(Field f) { - RelationOneToManyAggregation relationOneToManyAggregation = f.getAnnotation(RelationOneToManyAggregation.class); - if (relationOneToManyAggregation != null) { - RelationStruct relationStruct = new RelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationOneToManyAggregation.masterIdField()); - relationStruct.relationOneToManyAggregation = relationOneToManyAggregation; - relationStruct.service = ApplicationContextHolder.getBean( - StringUtils.uncapitalize(relationOneToManyAggregation.slaveServiceName())); - relationOneToManyAggrStructList.add(relationStruct); - return; - } - RelationManyToManyAggregation relationManyToManyAggregation = f.getAnnotation(RelationManyToManyAggregation.class); - if (relationManyToManyAggregation != null) { - RelationStruct relationStruct = new RelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationManyToManyAggregation.masterIdField()); - relationStruct.relationManyToManyAggregation = relationManyToManyAggregation; - relationStruct.service = ApplicationContextHolder.getBean( - StringUtils.uncapitalize(relationManyToManyAggregation.slaveServiceName())); - relationManyToManyAggrStructList.add(relationStruct); - } - } - - @SuppressWarnings("unchecked") - private void initializeRelationDictStruct(Field f) { - RelationConstDict relationConstDict = f.getAnnotation(RelationConstDict.class); - if (relationConstDict != null) { - RelationStruct relationStruct = new RelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationConstDict.masterIdField()); - Field dictMapField = ReflectUtil.getField(relationConstDict.constantDictClass(), "DICT_MAP"); - relationStruct.dictMap = (Map) ReflectUtil.getFieldValue(modelClass, dictMapField); - relationConstDictStructList.add(relationStruct); - return; - } - RelationDict relationDict = f.getAnnotation(RelationDict.class); - if (relationDict != null) { - RelationStruct relationStruct = new RelationStruct(); - relationStruct.relationField = f; - relationStruct.masterIdField = ReflectUtil.getField(modelClass, relationDict.masterIdField()); - relationStruct.relationDict = relationDict; - if (StringUtils.isNotBlank(relationDict.equalOneToOneRelationField())) { - relationStruct.equalOneToOneRelationField = - ReflectUtil.getField(modelClass, relationDict.equalOneToOneRelationField()); - } - relationStruct.service = ApplicationContextHolder.getBean( - StringUtils.uncapitalize(relationDict.slaveServiceName())); - relationDictStructList.add(relationStruct); - } - } - - private BasicAggregationRelationInfo parseBasicAggregationRelationInfo( - RelationStruct relationStruct, Map> criteriaListMap) { - RelationManyToManyAggregation relation = relationStruct.relationManyToManyAggregation; - BasicAggregationRelationInfo relationInfo = new BasicAggregationRelationInfo(); - // 提取关联中用到的各种字段和表数据。 - relationInfo.slaveTable = MyModelUtil.mapToTableName(relation.slaveModelClass()); - relationInfo.relationTable = MyModelUtil.mapToTableName(relation.relationModelClass()); - relationInfo.relationMasterColumn = - MyModelUtil.mapToColumnName(relation.relationMasterIdField(), relation.relationModelClass()); - relationInfo.relationSlaveColumn = - MyModelUtil.mapToColumnName(relation.relationSlaveIdField(), relation.relationModelClass()); - relationInfo.slaveColumn = MyModelUtil.mapToColumnName(relation.slaveIdField(), relation.slaveModelClass()); - // 判断是否只需要关联中间表即可,从而提升查询统计的效率。 - // 1. 统计字段为中间表字段。2. 自定义过滤条件中没有基于从表字段的过滤条件。 - relationInfo.onlySelectRelationTable = - relation.aggregationModelClass().equals(relation.relationModelClass()); - if (relationInfo.onlySelectRelationTable && MapUtils.isNotEmpty(criteriaListMap)) { - List criteriaList = - criteriaListMap.get(relationStruct.relationField.getName()); - if (CollectionUtils.isNotEmpty(criteriaList)) { - for (MyWhereCriteria whereCriteria : criteriaList) { - if (whereCriteria.getModelClazz().equals(relation.slaveModelClass())) { - relationInfo.onlySelectRelationTable = false; - break; - } - } - } - } - String aggregationTable = relation.aggregationModelClass().equals(relation.relationModelClass()) - ? relationInfo.relationTable : relationInfo.slaveTable; - Tuple2 selectAndGroupByTuple = makeSelectListAndGroupByClause( - relationInfo.relationTable, relationInfo.relationMasterColumn, relation.aggregationModelClass(), - aggregationTable, relation.aggregationField(), relation.aggregationType()); - relationInfo.selectList = selectAndGroupByTuple.getFirst(); - relationInfo.groupBy = selectAndGroupByTuple.getSecond(); - return relationInfo; - } - - private String makeManyToManyWhereClause( - RelationStruct relationStruct, - Object masterIdValue, - BasicAggregationRelationInfo basicRelationInfo, - Map> criteriaListMap) { - StringBuilder whereClause = new StringBuilder(256); - whereClause.append(basicRelationInfo.relationTable) - .append(".").append(basicRelationInfo.relationMasterColumn); - if (masterIdValue instanceof Number) { - whereClause.append(" = ").append(masterIdValue); - } else { - whereClause.append(" = '").append(masterIdValue).append("'"); - } - // 如果需要从表聚合计算或参与过滤,则需要把中间表和从表之间的关联条件加上。 - if (!basicRelationInfo.onlySelectRelationTable) { - whereClause.append(AND_OP) - .append(basicRelationInfo.relationTable) - .append(".") - .append(basicRelationInfo.relationSlaveColumn) - .append(" = ") - .append(basicRelationInfo.slaveTable) - .append(".") - .append(basicRelationInfo.slaveColumn); - } - List criteriaList = criteriaListMap.get(relationStruct.relationField.getName()); - if (criteriaList == null) { - criteriaList = new LinkedList<>(); - } - if (StringUtils.isNotBlank(relationStruct.service.deletedFlagFieldName)) { - MyWhereCriteria deleteFilter = new MyWhereCriteria(); - deleteFilter.setCriteria( - relationStruct.relationManyToManyAggregation.slaveModelClass(), - relationStruct.service.deletedFlagFieldName, - MyWhereCriteria.OPERATOR_EQUAL, - GlobalDeletedFlag.NORMAL); - criteriaList.add(deleteFilter); - } - if (CollectionUtils.isNotEmpty(criteriaList)) { - String criteriaString = MyWhereCriteria.getCriteriaString(criteriaList); - whereClause.append(AND_OP).append(criteriaString); - } - return whereClause.toString(); - } - - private String makeOneToManyWhereClause( - RelationStruct relationStruct, - Object masterIdValue, - String slaveColumnName, - Map> criteriaListMap) { - StringBuilder whereClause = new StringBuilder(64); - if (masterIdValue instanceof Number) { - whereClause.append(slaveColumnName).append(" = ").append(masterIdValue); - } else { - whereClause.append(slaveColumnName).append(" = '").append(masterIdValue).append("'"); - } - List criteriaList = criteriaListMap.get(relationStruct.relationField.getName()); - if (criteriaList == null) { - criteriaList = new LinkedList<>(); - } - if (StringUtils.isNotBlank(relationStruct.service.deletedFlagFieldName)) { - MyWhereCriteria deleteFilter = new MyWhereCriteria(); - deleteFilter.setCriteria( - relationStruct.relationOneToManyAggregation.slaveModelClass(), - relationStruct.service.deletedFlagFieldName, - MyWhereCriteria.OPERATOR_EQUAL, - GlobalDeletedFlag.NORMAL); - criteriaList.add(deleteFilter); - } - if (CollectionUtils.isNotEmpty(criteriaList)) { - String criteriaString = MyWhereCriteria.getCriteriaString(criteriaList); - whereClause.append(AND_OP).append(criteriaString); - } - return whereClause.toString(); - } - - private static class BasicAggregationRelationInfo { - private String slaveTable; - private String slaveColumn; - private String relationTable; - private String relationMasterColumn; - private String relationSlaveColumn; - private String selectList; - private String groupBy; - private boolean onlySelectRelationTable; - } - - private void doMakeLocalAggregationData( - List> aggregationMapList, List resultList, RelationStruct relationStruct) { - if (CollectionUtils.isEmpty(resultList)) { - return; - } - // 根据获取的分组聚合结果集,绑定到主表总的关联字段。 - if (CollectionUtils.isNotEmpty(aggregationMapList)) { - Map relatedMap = new HashMap<>(aggregationMapList.size()); - for (Map map : aggregationMapList) { - relatedMap.put(map.get(GROUPED_KEY), map.get(AGGREGATED_VALUE)); - } - for (M dataObject : resultList) { - Object masterIdValue = ReflectUtil.getFieldValue(dataObject, relationStruct.masterIdField); - if (masterIdValue != null) { - Object value = relatedMap.get(masterIdValue); - if (value != null) { - ReflectUtil.setFieldValue(dataObject, relationStruct.relationField, value); - } - } - } - } - } - - private Tuple2 makeSelectListAndGroupByClause( - String groupTableName, - String groupColumnName, - Class aggregationModel, - String aggregationTableName, - String aggregationField, - Integer aggregationType) { - if (!AggregationType.isValid(aggregationType)) { - throw new IllegalArgumentException("Invalid AggregationType Value [" - + aggregationType + "] in Model [" + aggregationModel.getName() + "]."); - } - String aggregationFunc = AggregationType.getAggregationFunction(aggregationType); - String aggregationColumn = MyModelUtil.mapToColumnName(aggregationField, aggregationModel); - if (StringUtils.isBlank(aggregationColumn)) { - throw new IllegalArgumentException("Invalid AggregationField [" - + aggregationField + "] in Model [" + aggregationModel.getName() + "]."); - } - // 构建Select List - // 如:r_table.master_id groupedKey, SUM(r_table.aggr_column) aggregated_value - StringBuilder groupedSelectList = new StringBuilder(128); - groupedSelectList.append(groupTableName) - .append(".") - .append(groupColumnName) - .append(" ") - .append(GROUPED_KEY) - .append(", ") - .append(aggregationFunc) - .append("(") - .append(aggregationTableName) - .append(".") - .append(aggregationColumn) - .append(") ") - .append(AGGREGATED_VALUE) - .append(" "); - StringBuilder groupBy = new StringBuilder(64); - groupBy.append(groupTableName).append(".").append(groupColumnName); - return new Tuple2<>(groupedSelectList.toString(), groupBy.toString()); - } - - static class RelationStruct { - private Field relationField; - private Field masterIdField; - private Field equalOneToOneRelationField; - private BaseService service; - private BaseDaoMapper manyToManyMapper; - private Map dictMap; - private RelationDict relationDict; - private RelationOneToOne relationOneToOne; - private RelationManyToMany relationManyToMany; - private RelationOneToManyAggregation relationOneToManyAggregation; - private RelationManyToManyAggregation relationManyToManyAggregation; - } -} diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/ApplicationConstant.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/ApplicationConstant.java deleted file mode 100644 index eda91fce..00000000 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/ApplicationConstant.java +++ /dev/null @@ -1,44 +0,0 @@ -package com.orange.admin.common.core.constant; - -/** - * 应用程序的常量声明对象。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -public final class ApplicationConstant { - - /** - * 图片文件上传的父目录。 - */ - public static final String UPLOAD_IMAGE_PARENT_PATH = "image"; - /** - * 附件文件上传的父目录。 - */ - public static final String UPLOAD_ATTACHMENT_PARENT_PATH = "attachment"; - /** - * CSV文件扩展名。 - */ - public static final String CSV_EXT = "csv"; - /** - * XLSX文件扩展名。 - */ - public static final String XLSX_EXT = "xlsx"; - /** - * 统计分类计算时,按天聚合计算的常量值。(前端在MyOrderParam和MyGroupParam中传给后台) - */ - public static final String DAY_AGGREGATION = "day"; - /** - * 统计分类计算时,按月聚合计算的常量值。(前端在MyOrderParam和MyGroupParam中传给后台) - */ - public static final String MONTH_AGGREGATION = "month"; - /** - * 统计分类计算时,按年聚合计算的常量值。(前端在MyOrderParam和MyGroupParam中传给后台) - */ - public static final String YEAR_AGGREGATION = "year"; - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private ApplicationConstant() { - } -} diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/DataPermRuleType.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/DataPermRuleType.java deleted file mode 100644 index 820ca35b..00000000 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/constant/DataPermRuleType.java +++ /dev/null @@ -1,57 +0,0 @@ -package com.orange.admin.common.core.constant; - -import java.util.HashMap; -import java.util.Map; - -/** - * 数据权限规则类型常量类。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -public final class DataPermRuleType { - - /** - * 查看全部。 - */ - public static final int TYPE_ALL = 0; - - /** - * 仅查看当前用户 - */ - public static final int TYPE_USER_ONLY = 1; - - /** - * 仅查看当前部门 - */ - public static final int TYPE_DEPT_ONLY = 2; - - /** - * 自定义部门列表 - */ - public static final int TYPE_CUSTOM_DETP_LIST = 5; - - private static final Map DICT_MAP = new HashMap<>(4); - static { - DICT_MAP.put(0, "查看全部"); - DICT_MAP.put(1, "仅查看当前用户"); - DICT_MAP.put(2, "仅查看所在部门"); - DICT_MAP.put(5, "自定义部门列表"); - } - - /** - * 判断参数是否为当前常量字典的合法取值范围。 - * - * @param value 待验证的参数值。 - * @return 合法返回true,否则false。 - */ - public static boolean isValid(Integer value) { - return value != null && DICT_MAP.containsKey(value); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private DataPermRuleType() { - } -} diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/GlobalThreadLocal.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/GlobalThreadLocal.java deleted file mode 100644 index 98b2850c..00000000 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/GlobalThreadLocal.java +++ /dev/null @@ -1,51 +0,0 @@ -package com.orange.admin.common.core.object; - -import cn.hutool.core.util.BooleanUtil; - -/** - * 线程本地化数据管理的工具类。可根据需求自行添加更多的线程本地化变量及其操作方法。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -public class GlobalThreadLocal { - - /** - * 存储数据权限过滤是否启用的线程本地化对象。 - */ - private static final ThreadLocal DATA_PERM_ENABLE = ThreadLocal.withInitial(() -> Boolean.TRUE); - - /** - * 设置数据权限过滤是否打开。如果打开,当前Servlet线程所执行的SQL操作,均会进行数据权限过滤。 - * - * @param enable 打开为true,否则false。 - * @return 返回之前的状态,便于恢复。 - */ - public static boolean setDataPerm(boolean enable) { - boolean oldValue = DATA_PERM_ENABLE.get(); - DATA_PERM_ENABLE.set(enable); - return oldValue; - } - - /** - * 判断当前Servlet线程所执行的SQL操作,是否进行数据权限过滤。 - * - * @return true 进行数据权限过滤,否则false。 - */ - public static boolean enabledDataPerm() { - return BooleanUtil.isTrue(DATA_PERM_ENABLE.get()); - } - - /** - * 清空该存储数据,主动释放线程本地化存储资源。 - */ - public static void clearDataPerm() { - DATA_PERM_ENABLE.remove(); - } - - /** - * 私有构造函数,明确标识该常量类的作用。 - */ - private GlobalThreadLocal() { - } -} diff --git a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/TokenData.java b/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/TokenData.java deleted file mode 100644 index fd20e5f6..00000000 --- a/orange-admin-service/common/common-core/src/main/java/com/orange/admin/common/core/object/TokenData.java +++ /dev/null @@ -1,63 +0,0 @@ -package com.orange.admin.common.core.object; - -import com.orange.admin.common.core.util.ContextUtil; -import lombok.Data; -import lombok.ToString; - -import javax.servlet.http.HttpServletRequest; - -/** - * 基于Jwt,用于前后端传递的令牌对象。 - * - * @author Stephen.Liu - * @date 2020-05-24 - */ -@Data -@ToString -public class TokenData { - - /** - * 在HTTP Request对象中的属性键。 - */ - public static final String REQUEST_ATTRIBUTE_NAME = "tokenData"; - /** - * 用户Id。 - */ - private Long userId; - /** - * 用户所在部门Id。 - */ - private Long deptId; - /** - * 是否为超级管理员。 - */ - private Boolean isAdmin; - /** - * 用户显示名称。 - */ - private String showName; - /** - * 标识不同登录的会话Id。 - */ - private String sessionId; - - /** - * 将令牌对象添加到Http请求对象。 - * - * @param tokenData 令牌对象。 - */ - public static void addToRequest(TokenData tokenData) { - HttpServletRequest request = ContextUtil.getHttpRequest(); - request.setAttribute(TokenData.REQUEST_ATTRIBUTE_NAME, tokenData); - } - - /** - * 从Http Request对象中获取令牌对象。 - * - * @return 令牌对象。 - */ - public static TokenData takeFromRequest() { - HttpServletRequest request = ContextUtil.getHttpRequest(); - return (TokenData) request.getAttribute(REQUEST_ATTRIBUTE_NAME); - } -} diff --git a/orange-admin-service/pom.xml b/orange-admin-service/pom.xml deleted file mode 100644 index 686a7527..00000000 --- a/orange-admin-service/pom.xml +++ /dev/null @@ -1,143 +0,0 @@ - - - 4.0.0 - - com.orange.admin - OrangeAdmin - 1.0.0 - OrangeAdmin - pom - - - 2.2.5.RELEASE - Cairo-SR8 - 2.2.2 - UTF-8 - 1.8 - 1.8 - 1.8 - OrangeAdmin - - - 4.4 - 1.8 - 4.1.2 - 5.1.5 - 0.9.1 - 1.2.66 - 1.1.5 - 2.8.1 - 1.3.1.Final - - - 1.1.21 - 2.1.5 - 1.4.0 - 1.2.13 - - - - common - application - - - - - - org.springframework.boot - spring-boot-starter-web - - - spring-boot-starter-logging - org.springframework.boot - - - - - - org.springframework.boot - spring-boot-starter-freemarker - - - - javax.servlet - javax.servlet-api - - - - org.springframework.boot - spring-boot-starter-log4j2 - - - - org.springframework.boot - spring-boot-starter-aop - - - - org.springframework.boot - spring-boot-starter-cache - - - - org.springframework.boot - spring-boot-configuration-processor - true - - - - org.springframework.boot - spring-boot-starter-actuator - - - - de.codecentric - spring-boot-admin-starter-client - ${spring-boot-admin.version} - - - - org.mapstruct - mapstruct - ${mapstruct.version} - - - org.mapstruct - mapstruct-processor - ${mapstruct.version} - provided - - - - org.projectlombok - lombok - provided - - - - org.springframework.boot - spring-boot-starter-test - test - - - - - - - org.springframework.boot - spring-boot-dependencies - ${spring-boot.version} - pom - import - - - io.spring.platform - platform-bom - ${spring-platform.version} - pom - import - - - - diff --git a/orange-admin-service/zzlogs/server/server.log b/orange-admin-service/zzlogs/server/server.log deleted file mode 100644 index 498bff66..00000000 --- a/orange-admin-service/zzlogs/server/server.log +++ /dev/null @@ -1,10 +0,0 @@ -[INFO ] 时间[2020-05-24 22:35:48] 线程[main] ==> Starting MyApplication on stephendembp with PID 2363 (/Users/stephen-liu/Desktop/OrangeAdmin/application/target/classes started by stephen-liu in /Users/stephen-liu/Desktop/OrangeAdmin) -[INFO ] 时间[2020-05-24 22:35:48] 线程[main] ==> The following profiles are active: dev -[INFO ] 时间[2020-05-24 22:36:53] 线程[main] ==> Starting MyApplication on stephendembp with PID 2366 (/Users/stephen-liu/Desktop/OrangeAdmin/application/target/classes started by stephen-liu in /Users/stephen-liu/Desktop/OrangeAdmin) -[INFO ] 时间[2020-05-24 22:36:53] 线程[main] ==> The following profiles are active: dev -[INFO ] 时间[2020-05-24 22:37:00] 线程[main] ==> Started MyApplication in 7.554 seconds (JVM running for 8.747) -[INFO ] 时间[2020-05-24 22:37:39] 线程[http-nio-8082-exec-1] ==> access: com.orange.admin.upms.controller.LoginController.doLogin -- elapse 173 ms -- /admin/login/doLogin. -[INFO ] 时间[2020-05-24 22:38:34] 线程[main] ==> Starting MyApplication on stephendembp with PID 2385 (/Users/stephen-liu/Desktop/OrangeAdmin/application/target/classes started by stephen-liu in /Users/stephen-liu/Desktop/OrangeAdmin) -[INFO ] 时间[2020-05-24 22:38:34] 线程[main] ==> The following profiles are active: dev -[INFO ] 时间[2020-05-24 22:38:41] 线程[main] ==> Started MyApplication in 7.343 seconds (JVM running for 8.439) -[INFO ] 时间[2020-05-24 22:39:22] 线程[http-nio-8082-exec-2] ==> access: com.orange.admin.upms.controller.LoginController.doLogin -- elapse 126 ms -- /admin/login/doLogin. diff --git a/orange-admin-web/src/api/Controller/DictionaryController.js b/orange-admin-web/src/api/Controller/DictionaryController.js deleted file mode 100644 index 938186f4..00000000 --- a/orange-admin-web/src/api/Controller/DictionaryController.js +++ /dev/null @@ -1,109 +0,0 @@ -import * as staticDict from '@/staticDict' - -export default class DictionaryController { - static dictAreaCode (sender, params, axiosOption, httpOption) { - return new Promise((resolve, reject) => { - sender.doUrl('/admin/app/areaCode/listDictAreaCode', 'get', params, axiosOption, httpOption).then(res => { - let dictData = new staticDict.DictionaryBase(); - dictData.setList(res.data); - resolve(dictData); - }).catch(err => { - reject(err); - }); - }); - } - static dictAreaCodeByParentId (sender, params, axiosOption, httpOption) { - return new Promise((resolve, reject) => { - sender.doUrl('/admin/app/areaCode/listDictAreaCodeByParentId', 'get', params, axiosOption, httpOption).then(res => { - let dictData = new staticDict.DictionaryBase(); - dictData.setList(res.data); - resolve(dictData); - }).catch(err => { - reject(err); - }); - }); - } - static dictAddAreaCode (sender, params, axiosOption, httpOption) { - return sender.doUrl('', 'post', params, axiosOption, httpOption); - } - static dictDeleteAreaCode (sender, params, axiosOption, httpOption) { - return sender.doUrl('', 'post', params, axiosOption, httpOption); - } - static dictBatchDeleteAreaCode (sender, params, axiosOption, httpOption) { - return sender.doUrl('', 'post', params, axiosOption, httpOption); - } - static dictUpdateAreaCode (sender, params, axiosOption, httpOption) { - return sender.doUrl('', 'post', params, axiosOption, httpOption); - } - static dictReloadAreaCodeCachedData (sender, params, axiosOption, httpOption) { - return sender.doUrl('', 'get', params, axiosOption, httpOption); - } - static dictGender () { - return new Promise((resolve) => { - resolve(staticDict.Gender); - }); - } - static dictSubject () { - return new Promise((resolve) => { - resolve(staticDict.Subject); - }); - } - static dictSysDept (sender, params, axiosOption, httpOption) { - return new Promise((resolve, reject) => { - sender.doUrl('/admin/upms/sysDept/listDictSysDept', 'get', params, axiosOption, httpOption).then(res => { - let dictData = new staticDict.DictionaryBase(); - dictData.setList(res.data); - resolve(dictData); - }).catch(err => { - reject(err); - }); - }); - } - static dictSysUser (sender, params, axiosOption, httpOption) { - return new Promise((resolve, reject) => { - sender.doUrl('/admin/upms/sysUser/listDictSysUser', 'get', params, axiosOption, httpOption).then(res => { - let dictData = new staticDict.DictionaryBase(); - dictData.setList(res.data); - resolve(dictData); - }).catch(err => { - reject(err); - }); - }); - } - static dictSysUserStatus () { - return new Promise((resolve) => { - resolve(staticDict.SysUserStatus); - }); - } - static dictSysUserType () { - return new Promise((resolve) => { - resolve(staticDict.SysUserType); - }); - } - static dictTeacher (sender, params, axiosOption, httpOption) { - return new Promise((resolve, reject) => { - sender.doUrl('/admin/app/teacher/listDictTeacher', 'get', params, axiosOption, httpOption).then(res => { - let dictData = new staticDict.DictionaryBase(); - dictData.setList(res.data); - resolve(dictData); - }).catch(err => { - reject(err); - }); - }); - } - static dictTeacherLevelType () { - return new Promise((resolve) => { - resolve(staticDict.TeacherLevelType); - }); - } - static dictYesNo () { - return new Promise((resolve) => { - resolve(staticDict.YesNo); - }); - } - static dictSysDataPermType () { - return new Promise((resolve) => { - resolve(staticDict.SysDataPermType); - }); - } -} diff --git a/orange-admin-web/src/api/Controller/TeacherController.js b/orange-admin-web/src/api/Controller/TeacherController.js deleted file mode 100644 index 9d630fda..00000000 --- a/orange-admin-web/src/api/Controller/TeacherController.js +++ /dev/null @@ -1,25 +0,0 @@ -export default class TeacherController { - static list (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/app/teacher/list', 'post', params, axiosOption, httpOption); - } - - static view (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/app/teacher/view', 'get', params, axiosOption, httpOption); - } - - static export (sender, params, fileName) { - return sender.download('/admin/app/teacher/export', params, fileName); - } - - static add (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/app/teacher/add', 'post', params, axiosOption, httpOption); - } - - static update (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/app/teacher/update', 'post', params, axiosOption, httpOption); - } - - static delete (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/app/teacher/delete', 'post', params, axiosOption, httpOption); - } -} diff --git a/orange-admin-web/src/api/Controller/TeacherTransStatsController.js b/orange-admin-web/src/api/Controller/TeacherTransStatsController.js deleted file mode 100644 index 9ade8577..00000000 --- a/orange-admin-web/src/api/Controller/TeacherTransStatsController.js +++ /dev/null @@ -1,17 +0,0 @@ -export default class TeacherTransStatsController { - static list (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/app/teacherTransStats/list', 'post', params, axiosOption, httpOption); - } - - static view (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/app/teacherTransStats/view', 'get', params, axiosOption, httpOption); - } - - static export (sender, params, fileName) { - return sender.download('/admin/app/teacherTransStats/export', params, fileName); - } - - static listWithGroup (sender, params, axiosOption, httpOption) { - return sender.doUrl('/admin/app/teacherTransStats/listWithGroup', 'post', params, axiosOption, httpOption); - } -} diff --git a/orange-admin-web/src/api/index.js b/orange-admin-web/src/api/index.js deleted file mode 100644 index 1a2f5509..00000000 --- a/orange-admin-web/src/api/index.js +++ /dev/null @@ -1,17 +0,0 @@ -import SystemController from './Controller/SystemController' -import SysDataPermController from './Controller/SysDataPermController' -import DictionaryController from './Controller/DictionaryController' -import SysDeptController from './Controller/SysDeptController.js' -import SysUserController from './Controller/SysUserController.js' -import TeacherController from './Controller/TeacherController.js' -import TeacherTransStatsController from './Controller/TeacherTransStatsController.js' - -export { - SystemController, - SysDataPermController, - DictionaryController, - SysDeptController, - SysUserController, - TeacherController, - TeacherTransStatsController -} diff --git a/orange-admin-web/src/router/systemRouters.js b/orange-admin-web/src/router/systemRouters.js deleted file mode 100644 index 1bc80fa7..00000000 --- a/orange-admin-web/src/router/systemRouters.js +++ /dev/null @@ -1,41 +0,0 @@ -// 开发环境不使用懒加载, 因为懒加载页面太多的话会造成webpack热更新太慢, 所以只有开发环境使用懒加载 -const _import = require('./import-' + process.env.NODE_ENV) - -function getProps (route) { - return route.query; -} - -// 系统生成路由 -const routers = [ - { path: '/login', component: _import('login/index'), name: 'login', props: getProps, desc: '登录' }, - { - path: '/', - component: _import('layout/index'), - name: 'main', - props: getProps, - redirect: { - name: 'welcome' - }, - meta: { - title: '主页', - showOnly: true - }, - children: [ - {path: 'welcome', component: _import('welcome/index'), name: 'welcome', meta: {title: '欢迎'}}, - {path: 'formSysUser', component: _import('upms/formSysUser/index'), name: 'formSysUser', meta: {title: '用户管理'}}, - {path: 'formSysDept', component: _import('upms/formSysDept/index'), name: 'formSysDept', meta: {title: '部门管理'}}, - {path: 'formSysRole', component: _import('upms/formSysRole/index'), name: 'formSysRole', meta: {title: '角色管理'}}, - {path: 'formSysDataPerm', component: _import('upms/formSysDataPerm/index'), name: 'formSysDataPerm', meta: {title: '数据权限管理'}}, - {path: 'formSysMenu', component: _import('upms/formSysMenu/index'), name: 'formSysMenu', meta: {title: '菜单列表'}}, - {path: 'formSysDict', component: _import('upms/formDictManagement/index'), name: 'formSysDict', meta: {title: '字典管理'}}, - {path: 'formSysPermCode', component: _import('upms/formSysPermCode/index'), name: 'formSysPermCode', meta: {title: '权限字管理'}}, - {path: 'formSysPerm', component: _import('upms/formSysPerm/index'), name: 'formSysPerm', meta: {title: '权限资源管理'}}, - {path: 'formTeacher', component: _import('generated/formTeacher/index'), name: 'formTeacher', props: getProps, meta: {title: '老师管理'}}, - {path: 'formCreateTeacher', component: _import('generated/formCreateTeacher/index'), name: 'formCreateTeacher', props: getProps, meta: {title: '新建老师'}}, - {path: 'formEditTeacher', component: _import('generated/formEditTeacher/index'), name: 'formEditTeacher', props: getProps, meta: {title: '编辑老师'}}, - {path: 'formTeacherTransStats', component: _import('generated/formTeacherTransStats/index'), name: 'formTeacherTransStats', props: getProps, meta: {title: '老师个人统计'}} - ] - } -]; - -export default routers; diff --git a/orange-admin-web/src/views/generated/formCreateTeacher/index.vue b/orange-admin-web/src/views/generated/formCreateTeacher/index.vue deleted file mode 100644 index 685746ec..00000000 --- a/orange-admin-web/src/views/generated/formCreateTeacher/index.vue +++ /dev/null @@ -1,370 +0,0 @@ - - - diff --git a/orange-admin-web/src/views/generated/formEditTeacher/index.vue b/orange-admin-web/src/views/generated/formEditTeacher/index.vue deleted file mode 100644 index 2a1cdeda..00000000 --- a/orange-admin-web/src/views/generated/formEditTeacher/index.vue +++ /dev/null @@ -1,402 +0,0 @@ - - - diff --git a/orange-admin-web/src/views/generated/formTeacher/index.vue b/orange-admin-web/src/views/generated/formTeacher/index.vue deleted file mode 100644 index 2a35a88f..00000000 --- a/orange-admin-web/src/views/generated/formTeacher/index.vue +++ /dev/null @@ -1,304 +0,0 @@ - - - diff --git a/orange-admin-web/src/views/generated/formTeacherTransStats/index.vue b/orange-admin-web/src/views/generated/formTeacherTransStats/index.vue deleted file mode 100644 index 64855a73..00000000 --- a/orange-admin-web/src/views/generated/formTeacherTransStats/index.vue +++ /dev/null @@ -1,186 +0,0 @@ - - - diff --git a/orange-admin-web/src/views/upms/formEditSysDataPerm/index.vue b/orange-admin-web/src/views/upms/formEditSysDataPerm/index.vue deleted file mode 100644 index af3fa389..00000000 --- a/orange-admin-web/src/views/upms/formEditSysDataPerm/index.vue +++ /dev/null @@ -1,308 +0,0 @@ - - - - - diff --git a/orange-admin-web/src/views/upms/formEditSysDept/index.vue b/orange-admin-web/src/views/upms/formEditSysDept/index.vue deleted file mode 100644 index 37b1e392..00000000 --- a/orange-admin-web/src/views/upms/formEditSysDept/index.vue +++ /dev/null @@ -1,205 +0,0 @@ - - - diff --git a/orange-admin-web/src/views/upms/formSetSysDataPermUser/index.vue b/orange-admin-web/src/views/upms/formSetSysDataPermUser/index.vue deleted file mode 100644 index 14c0bca2..00000000 --- a/orange-admin-web/src/views/upms/formSetSysDataPermUser/index.vue +++ /dev/null @@ -1,216 +0,0 @@ - - - - - diff --git a/orange-admin-web/src/views/upms/formSysDataPerm/index.vue b/orange-admin-web/src/views/upms/formSysDataPerm/index.vue deleted file mode 100644 index 8d8be4a1..00000000 --- a/orange-admin-web/src/views/upms/formSysDataPerm/index.vue +++ /dev/null @@ -1,483 +0,0 @@ - - - diff --git a/orange-admin-web/src/views/upms/formSysDataPermUser/index.vue b/orange-admin-web/src/views/upms/formSysDataPermUser/index.vue deleted file mode 100644 index 4e88b406..00000000 --- a/orange-admin-web/src/views/upms/formSysDataPermUser/index.vue +++ /dev/null @@ -1,218 +0,0 @@ - - - diff --git a/orange-admin-web/src/views/upms/formSysDept/index.vue b/orange-admin-web/src/views/upms/formSysDept/index.vue deleted file mode 100644 index eda3b9b8..00000000 --- a/orange-admin-web/src/views/upms/formSysDept/index.vue +++ /dev/null @@ -1,189 +0,0 @@ - - - diff --git a/orange-admin-service/application/.DS_Store b/orange-demo-service/.DS_Store similarity index 82% rename from orange-admin-service/application/.DS_Store rename to orange-demo-service/.DS_Store index b62a48f6..5008ddfc 100644 Binary files a/orange-admin-service/application/.DS_Store and b/orange-demo-service/.DS_Store differ diff --git a/orange-demo-service/.idea/$CACHE_FILE$ b/orange-demo-service/.idea/$CACHE_FILE$ new file mode 100644 index 00000000..5d162b32 --- /dev/null +++ b/orange-demo-service/.idea/$CACHE_FILE$ @@ -0,0 +1,19 @@ + + + + + + + + + + + + + Ali-Check + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/codeStyles/Project.xml b/orange-demo-service/.idea/codeStyles/Project.xml new file mode 100644 index 00000000..816f4858 --- /dev/null +++ b/orange-demo-service/.idea/codeStyles/Project.xml @@ -0,0 +1,11 @@ + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/codeStyles/codeStyleConfig.xml b/orange-demo-service/.idea/codeStyles/codeStyleConfig.xml new file mode 100644 index 00000000..a55e7a17 --- /dev/null +++ b/orange-demo-service/.idea/codeStyles/codeStyleConfig.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/compiler.xml b/orange-demo-service/.idea/compiler.xml new file mode 100644 index 00000000..07cec49f --- /dev/null +++ b/orange-demo-service/.idea/compiler.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/encodings.xml b/orange-demo-service/.idea/encodings.xml new file mode 100644 index 00000000..73bd1060 --- /dev/null +++ b/orange-demo-service/.idea/encodings.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/inspectionProfiles/Project_Default.xml b/orange-demo-service/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 00000000..fc8488e1 --- /dev/null +++ b/orange-demo-service/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,176 @@ + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/inspectionProfiles/profiles_settings.xml b/orange-demo-service/.idea/inspectionProfiles/profiles_settings.xml new file mode 100644 index 00000000..0eefe328 --- /dev/null +++ b/orange-demo-service/.idea/inspectionProfiles/profiles_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml b/orange-demo-service/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml new file mode 100644 index 00000000..6fec8f43 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__ch_qos_logback_logback_classic_1_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml b/orange-demo-service/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml new file mode 100644 index 00000000..9eb8596a --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__ch_qos_logback_logback_core_1_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__cn_hutool_hutool_all_5_1_5.xml b/orange-demo-service/.idea/libraries/Maven__cn_hutool_hutool_all_5_1_5.xml new file mode 100644 index 00000000..c46cf03f --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__cn_hutool_hutool_all_5_1_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__cn_jimmyshi_bean_query_1_1_5.xml b/orange-demo-service/.idea/libraries/Maven__cn_jimmyshi_bean_query_1_1_5.xml new file mode 100644 index 00000000..a5f293ec --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__cn_jimmyshi_bean_query_1_1_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_cloud_spring_cloud_alibaba_sentinel_datasource_2_2_1_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_cloud_spring_cloud_alibaba_sentinel_datasource_2_2_1_RELEASE.xml new file mode 100644 index 00000000..6163fe65 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_cloud_spring_cloud_alibaba_sentinel_datasource_2_2_1_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_cloud_spring_cloud_circuitbreaker_sentinel_2_2_1_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_cloud_spring_cloud_circuitbreaker_sentinel_2_2_1_RELEASE.xml new file mode 100644 index 00000000..85a55cbe --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_cloud_spring_cloud_circuitbreaker_sentinel_2_2_1_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_cloud_spring_cloud_starter_alibaba_nacos_config_2_2_1_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_cloud_spring_cloud_starter_alibaba_nacos_config_2_2_1_RELEASE.xml new file mode 100644 index 00000000..d9794ea1 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_cloud_spring_cloud_starter_alibaba_nacos_config_2_2_1_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_cloud_spring_cloud_starter_alibaba_nacos_discovery_2_2_1_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_cloud_spring_cloud_starter_alibaba_nacos_discovery_2_2_1_RELEASE.xml new file mode 100644 index 00000000..8ba6ce8d --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_cloud_spring_cloud_starter_alibaba_nacos_discovery_2_2_1_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_cloud_spring_cloud_starter_alibaba_sentinel_2_2_1_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_cloud_spring_cloud_starter_alibaba_sentinel_2_2_1_RELEASE.xml new file mode 100644 index 00000000..f2d70768 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_cloud_spring_cloud_starter_alibaba_sentinel_2_2_1_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_annotation_aspectj_1_7_1.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_annotation_aspectj_1_7_1.xml new file mode 100644 index 00000000..4a8c1e18 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_annotation_aspectj_1_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_api_gateway_adapter_common_1_7_1.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_api_gateway_adapter_common_1_7_1.xml new file mode 100644 index 00000000..19765a1a --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_api_gateway_adapter_common_1_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_cluster_client_default_1_7_1.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_cluster_client_default_1_7_1.xml new file mode 100644 index 00000000..5bc5a39a --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_cluster_client_default_1_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_cluster_common_default_1_7_1.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_cluster_common_default_1_7_1.xml new file mode 100644 index 00000000..76b74acb --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_cluster_common_default_1_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_cluster_server_default_1_7_1.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_cluster_server_default_1_7_1.xml new file mode 100644 index 00000000..903c3930 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_cluster_server_default_1_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_core_1_7_1.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_core_1_7_1.xml new file mode 100644 index 00000000..89bde4af --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_core_1_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_datasource_extension_1_7_1.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_datasource_extension_1_7_1.xml new file mode 100644 index 00000000..c4bf8821 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_datasource_extension_1_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_datasource_nacos_1_7_1.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_datasource_nacos_1_7_1.xml new file mode 100644 index 00000000..53c4a427 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_datasource_nacos_1_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_parameter_flow_control_1_7_1.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_parameter_flow_control_1_7_1.xml new file mode 100644 index 00000000..8391d83d --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_parameter_flow_control_1_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_reactor_adapter_1_7_1.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_reactor_adapter_1_7_1.xml new file mode 100644 index 00000000..c0344810 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_reactor_adapter_1_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_spring_cloud_gateway_adapter_1_7_1.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_spring_cloud_gateway_adapter_1_7_1.xml new file mode 100644 index 00000000..8bc876cb --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_spring_cloud_gateway_adapter_1_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_spring_webflux_adapter_1_7_1.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_spring_webflux_adapter_1_7_1.xml new file mode 100644 index 00000000..f7b4d088 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_spring_webflux_adapter_1_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_spring_webmvc_adapter_1_7_1.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_spring_webmvc_adapter_1_7_1.xml new file mode 100644 index 00000000..88ee2e3a --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_spring_webmvc_adapter_1_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_transport_common_1_7_1.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_transport_common_1_7_1.xml new file mode 100644 index 00000000..71da612c --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_transport_common_1_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_transport_simple_http_1_7_1.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_transport_simple_http_1_7_1.xml new file mode 100644 index 00000000..c74b39fc --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_csp_sentinel_transport_simple_http_1_7_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_druid_1_1_22.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_druid_1_1_22.xml new file mode 100644 index 00000000..c3070550 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_druid_1_1_22.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_druid_spring_boot_starter_1_1_22.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_druid_spring_boot_starter_1_1_22.xml new file mode 100644 index 00000000..cdd7ae46 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_druid_spring_boot_starter_1_1_22.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_fastjson_1_2_58.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_fastjson_1_2_58.xml new file mode 100644 index 00000000..f838f59f --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_fastjson_1_2_58.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_fastjson_1_2_70.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_fastjson_1_2_70.xml new file mode 100644 index 00000000..1ea7cbaf --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_fastjson_1_2_70.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_nacos_nacos_api_1_2_1.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_nacos_nacos_api_1_2_1.xml new file mode 100644 index 00000000..bf713aae --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_nacos_nacos_api_1_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_nacos_nacos_client_1_2_1.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_nacos_nacos_client_1_2_1.xml new file mode 100644 index 00000000..417e4f10 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_nacos_nacos_client_1_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_nacos_nacos_common_1_2_1.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_nacos_nacos_common_1_2_1.xml new file mode 100644 index 00000000..7de4a092 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_nacos_nacos_common_1_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_alibaba_spring_spring_context_support_1_0_6.xml b/orange-demo-service/.idea/libraries/Maven__com_alibaba_spring_spring_context_support_1_0_6.xml new file mode 100644 index 00000000..94a29816 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_alibaba_spring_spring_context_support_1_0_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_fasterxml_classmate_1_5_1.xml b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_classmate_1_5_1.xml new file mode 100644 index 00000000..bc7d7fd8 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_classmate_1_5_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_10_2.xml b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_10_2.xml new file mode 100644 index 00000000..daae90f8 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_annotations_2_10_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_10_2.xml b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_10_2.xml new file mode 100644 index 00000000..9f2635bb --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_core_2_10_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_10_2.xml b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_10_2.xml new file mode 100644 index 00000000..0c4f6538 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_core_jackson_databind_2_10_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_10_2.xml b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_10_2.xml new file mode 100644 index 00000000..2299055a --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_xml_2_10_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_yaml_2_10_2.xml b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_yaml_2_10_2.xml new file mode 100644 index 00000000..697b9ce7 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_dataformat_jackson_dataformat_yaml_2_10_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_10_2.xml b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_10_2.xml new file mode 100644 index 00000000..e32ec618 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jdk8_2_10_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_10_2.xml b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_10_2.xml new file mode 100644 index 00000000..5b47b674 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_datatype_jackson_datatype_jsr310_2_10_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_afterburner_2_10_2.xml b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_afterburner_2_10_2.xml new file mode 100644 index 00000000..48f0ed72 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_afterburner_2_10_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_10_2.xml b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_10_2.xml new file mode 100644 index 00000000..d742bf6c --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_jaxb_annotations_2_10_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_10_2.xml b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_10_2.xml new file mode 100644 index 00000000..08dbf39f --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_jackson_module_jackson_module_parameter_names_2_10_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml new file mode 100644 index 00000000..c08dcae2 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_fasterxml_woodstox_woodstox_core_5_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_github_ben_manes_caffeine_caffeine_2_8_1.xml b/orange-demo-service/.idea/libraries/Maven__com_github_ben_manes_caffeine_caffeine_2_8_1.xml new file mode 100644 index 00000000..50350bdb --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_github_ben_manes_caffeine_caffeine_2_8_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_2_0.xml b/orange-demo-service/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_2_0.xml new file mode 100644 index 00000000..93b26b4d --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_github_jsqlparser_jsqlparser_2_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_github_luben_zstd_jni_1_4_3_1.xml b/orange-demo-service/.idea/libraries/Maven__com_github_luben_zstd_jni_1_4_3_1.xml new file mode 100644 index 00000000..dfa7e537 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_github_luben_zstd_jni_1_4_3_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_github_pagehelper_pagehelper_5_1_11.xml b/orange-demo-service/.idea/libraries/Maven__com_github_pagehelper_pagehelper_5_1_11.xml new file mode 100644 index 00000000..9760f7bd --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_github_pagehelper_pagehelper_5_1_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_autoconfigure_1_2_13.xml b/orange-demo-service/.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_autoconfigure_1_2_13.xml new file mode 100644 index 00000000..c66c0cbd --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_autoconfigure_1_2_13.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_starter_1_2_13.xml b/orange-demo-service/.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_starter_1_2_13.xml new file mode 100644 index 00000000..f482d3cb --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_github_pagehelper_pagehelper_spring_boot_starter_1_2_13.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_github_virtuald_curvesapi_1_04.xml b/orange-demo-service/.idea/libraries/Maven__com_github_virtuald_curvesapi_1_04.xml new file mode 100644 index 00000000..2db74311 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_github_virtuald_curvesapi_1_04.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_github_virtuald_curvesapi_1_06.xml b/orange-demo-service/.idea/libraries/Maven__com_github_virtuald_curvesapi_1_06.xml new file mode 100644 index 00000000..d156c187 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_github_virtuald_curvesapi_1_06.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml b/orange-demo-service/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml new file mode 100644 index 00000000..1c380d0b --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_google_code_findbugs_jsr305_3_0_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_3_4.xml b/orange-demo-service/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_3_4.xml new file mode 100644 index 00000000..848cecd7 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_google_errorprone_error_prone_annotations_2_3_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml b/orange-demo-service/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml new file mode 100644 index 00000000..36e948e2 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_google_guava_failureaccess_1_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_google_guava_guava_28_2_android.xml b/orange-demo-service/.idea/libraries/Maven__com_google_guava_guava_28_2_android.xml new file mode 100644 index 00000000..7c93ed74 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_google_guava_guava_28_2_android.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml b/orange-demo-service/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml new file mode 100644 index 00000000..4e15702e --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_google_guava_listenablefuture_9999_0_empty_to_avoid_conflict_with_guava.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml b/orange-demo-service/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml new file mode 100644 index 00000000..bacaa456 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_google_j2objc_j2objc_annotations_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_googlecode_concurrentlinkedhashmap_concurrentlinkedhashmap_lru_1_4_2.xml b/orange-demo-service/.idea/libraries/Maven__com_googlecode_concurrentlinkedhashmap_concurrentlinkedhashmap_lru_1_4_2.xml new file mode 100644 index 00000000..e497bcba --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_googlecode_concurrentlinkedhashmap_concurrentlinkedhashmap_lru_1_4_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_4_0.xml b/orange-demo-service/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_4_0.xml new file mode 100644 index 00000000..f19f6eb3 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_jayway_jsonpath_json_path_2_4_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_lmax_disruptor_3_4_2.xml b/orange-demo-service/.idea/libraries/Maven__com_lmax_disruptor_3_4_2.xml new file mode 100644 index 00000000..71877938 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_lmax_disruptor_3_4_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_netflix_archaius_archaius_core_0_7_6.xml b/orange-demo-service/.idea/libraries/Maven__com_netflix_archaius_archaius_core_0_7_6.xml new file mode 100644 index 00000000..bd9061c2 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_netflix_archaius_archaius_core_0_7_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_netflix_hystrix_hystrix_core_1_5_18.xml b/orange-demo-service/.idea/libraries/Maven__com_netflix_hystrix_hystrix_core_1_5_18.xml new file mode 100644 index 00000000..588dca0f --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_netflix_hystrix_hystrix_core_1_5_18.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_netflix_hystrix_hystrix_javanica_1_5_18.xml b/orange-demo-service/.idea/libraries/Maven__com_netflix_hystrix_hystrix_javanica_1_5_18.xml new file mode 100644 index 00000000..4abf5770 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_netflix_hystrix_hystrix_javanica_1_5_18.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_netflix_hystrix_hystrix_metrics_event_stream_1_5_18.xml b/orange-demo-service/.idea/libraries/Maven__com_netflix_hystrix_hystrix_metrics_event_stream_1_5_18.xml new file mode 100644 index 00000000..eb0c81dd --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_netflix_hystrix_hystrix_metrics_event_stream_1_5_18.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_netflix_hystrix_hystrix_serialization_1_5_18.xml b/orange-demo-service/.idea/libraries/Maven__com_netflix_hystrix_hystrix_serialization_1_5_18.xml new file mode 100644 index 00000000..0c801493 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_netflix_hystrix_hystrix_serialization_1_5_18.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_commons_util_0_3_0.xml b/orange-demo-service/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_commons_util_0_3_0.xml new file mode 100644 index 00000000..a1a320cd --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_commons_util_0_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml b/orange-demo-service/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml new file mode 100644 index 00000000..09c6f6e0 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_netflix_netflix_commons_netflix_statistics_0_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_netflix_ribbon_ribbon_2_3_0.xml b/orange-demo-service/.idea/libraries/Maven__com_netflix_ribbon_ribbon_2_3_0.xml new file mode 100644 index 00000000..28cf8800 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_netflix_ribbon_ribbon_2_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_netflix_ribbon_ribbon_core_2_3_0.xml b/orange-demo-service/.idea/libraries/Maven__com_netflix_ribbon_ribbon_core_2_3_0.xml new file mode 100644 index 00000000..eff738de --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_netflix_ribbon_ribbon_core_2_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_netflix_ribbon_ribbon_httpclient_2_3_0.xml b/orange-demo-service/.idea/libraries/Maven__com_netflix_ribbon_ribbon_httpclient_2_3_0.xml new file mode 100644 index 00000000..13122699 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_netflix_ribbon_ribbon_httpclient_2_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_netflix_ribbon_ribbon_loadbalancer_2_3_0.xml b/orange-demo-service/.idea/libraries/Maven__com_netflix_ribbon_ribbon_loadbalancer_2_3_0.xml new file mode 100644 index 00000000..a1ff3f02 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_netflix_ribbon_ribbon_loadbalancer_2_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_netflix_ribbon_ribbon_transport_2_3_0.xml b/orange-demo-service/.idea/libraries/Maven__com_netflix_ribbon_ribbon_transport_2_3_0.xml new file mode 100644 index 00000000..658fe0c2 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_netflix_ribbon_ribbon_transport_2_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_netflix_servo_servo_core_0_12_21.xml b/orange-demo-service/.idea/libraries/Maven__com_netflix_servo_servo_core_0_12_21.xml new file mode 100644 index 00000000..837985aa --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_netflix_servo_servo_core_0_12_21.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml b/orange-demo-service/.idea/libraries/Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml new file mode 100644 index 00000000..2061d8cf --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_sun_jersey_contribs_jersey_apache_client4_1_19_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_sun_jersey_jersey_client_1_19_1.xml b/orange-demo-service/.idea/libraries/Maven__com_sun_jersey_jersey_client_1_19_1.xml new file mode 100644 index 00000000..2b077bc2 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_sun_jersey_jersey_client_1_19_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_sun_jersey_jersey_core_1_19_1.xml b/orange-demo-service/.idea/libraries/Maven__com_sun_jersey_jersey_core_1_19_1.xml new file mode 100644 index 00000000..91d65b20 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_sun_jersey_jersey_core_1_19_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml b/orange-demo-service/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml new file mode 100644 index 00000000..b8581a6f --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_vaadin_external_google_android_json_0_0_20131108_vaadin1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__com_zaxxer_HikariCP_3_4_2.xml b/orange-demo-service/.idea/libraries/Maven__com_zaxxer_HikariCP_3_4_2.xml new file mode 100644 index 00000000..eeba7092 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__com_zaxxer_HikariCP_3_4_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_9_3.xml b/orange-demo-service/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_9_3.xml new file mode 100644 index 00000000..687a60e2 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__commons_beanutils_commons_beanutils_1_9_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__commons_cli_commons_cli_1_4.xml b/orange-demo-service/.idea/libraries/Maven__commons_cli_commons_cli_1_4.xml new file mode 100644 index 00000000..55a1fa86 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__commons_cli_commons_cli_1_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__commons_codec_commons_codec_1_13.xml b/orange-demo-service/.idea/libraries/Maven__commons_codec_commons_codec_1_13.xml new file mode 100644 index 00000000..5384f7ab --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__commons_codec_commons_codec_1_13.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml b/orange-demo-service/.idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml new file mode 100644 index 00000000..13afda29 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__commons_collections_commons_collections_3_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__commons_configuration_commons_configuration_1_8.xml b/orange-demo-service/.idea/libraries/Maven__commons_configuration_commons_configuration_1_8.xml new file mode 100644 index 00000000..772d6fed --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__commons_configuration_commons_configuration_1_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_3.xml b/orange-demo-service/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_3.xml new file mode 100644 index 00000000..f46aa80a --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__commons_fileupload_commons_fileupload_1_3_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__commons_io_commons_io_2_6.xml b/orange-demo-service/.idea/libraries/Maven__commons_io_commons_io_2_6.xml new file mode 100644 index 00000000..d722698a --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__commons_io_commons_io_2_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__commons_lang_commons_lang_2_6.xml b/orange-demo-service/.idea/libraries/Maven__commons_lang_commons_lang_2_6.xml new file mode 100644 index 00000000..2ec83767 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__commons_lang_commons_lang_2_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__de_codecentric_spring_boot_admin_client_2_2_3.xml b/orange-demo-service/.idea/libraries/Maven__de_codecentric_spring_boot_admin_client_2_2_3.xml new file mode 100644 index 00000000..ea2f4585 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__de_codecentric_spring_boot_admin_client_2_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__de_codecentric_spring_boot_admin_server_2_2_3.xml b/orange-demo-service/.idea/libraries/Maven__de_codecentric_spring_boot_admin_server_2_2_3.xml new file mode 100644 index 00000000..e0f3047f --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__de_codecentric_spring_boot_admin_server_2_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__de_codecentric_spring_boot_admin_server_cloud_2_2_3.xml b/orange-demo-service/.idea/libraries/Maven__de_codecentric_spring_boot_admin_server_cloud_2_2_3.xml new file mode 100644 index 00000000..bab5829d --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__de_codecentric_spring_boot_admin_server_cloud_2_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__de_codecentric_spring_boot_admin_server_ui_2_2_3.xml b/orange-demo-service/.idea/libraries/Maven__de_codecentric_spring_boot_admin_server_ui_2_2_3.xml new file mode 100644 index 00000000..d2ef60b0 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__de_codecentric_spring_boot_admin_server_ui_2_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__de_codecentric_spring_boot_admin_starter_client_2_2_3.xml b/orange-demo-service/.idea/libraries/Maven__de_codecentric_spring_boot_admin_starter_client_2_2_3.xml new file mode 100644 index 00000000..88affb09 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__de_codecentric_spring_boot_admin_starter_client_2_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__de_codecentric_spring_boot_admin_starter_server_2_2_3.xml b/orange-demo-service/.idea/libraries/Maven__de_codecentric_spring_boot_admin_starter_server_2_2_3.xml new file mode 100644 index 00000000..067e971d --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__de_codecentric_spring_boot_admin_starter_server_2_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__de_ruedigermoeller_fst_2_57.xml b/orange-demo-service/.idea/libraries/Maven__de_ruedigermoeller_fst_2_57.xml new file mode 100644 index 00000000..274eefd6 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__de_ruedigermoeller_fst_2_57.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_github_openfeign_feign_core_10_7_4.xml b/orange-demo-service/.idea/libraries/Maven__io_github_openfeign_feign_core_10_7_4.xml new file mode 100644 index 00000000..12ac32ca --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_github_openfeign_feign_core_10_7_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_github_openfeign_feign_httpclient_10_7_4.xml b/orange-demo-service/.idea/libraries/Maven__io_github_openfeign_feign_httpclient_10_7_4.xml new file mode 100644 index 00000000..bc95c8e8 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_github_openfeign_feign_httpclient_10_7_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_github_openfeign_feign_hystrix_10_7_4.xml b/orange-demo-service/.idea/libraries/Maven__io_github_openfeign_feign_hystrix_10_7_4.xml new file mode 100644 index 00000000..ec26a6ee --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_github_openfeign_feign_hystrix_10_7_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_github_openfeign_feign_slf4j_10_7_4.xml b/orange-demo-service/.idea/libraries/Maven__io_github_openfeign_feign_slf4j_10_7_4.xml new file mode 100644 index 00000000..4af50fb3 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_github_openfeign_feign_slf4j_10_7_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_github_openfeign_form_feign_form_3_8_0.xml b/orange-demo-service/.idea/libraries/Maven__io_github_openfeign_form_feign_form_3_8_0.xml new file mode 100644 index 00000000..05344763 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_github_openfeign_form_feign_form_3_8_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_github_openfeign_form_feign_form_spring_3_8_0.xml b/orange-demo-service/.idea/libraries/Maven__io_github_openfeign_form_feign_form_spring_3_8_0.xml new file mode 100644 index 00000000..47e101ee --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_github_openfeign_form_feign_form_spring_3_8_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_jsonwebtoken_jjwt_0_9_1.xml b/orange-demo-service/.idea/libraries/Maven__io_jsonwebtoken_jjwt_0_9_1.xml new file mode 100644 index 00000000..f25b99b8 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_jsonwebtoken_jjwt_0_9_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_micrometer_micrometer_core_1_3_5.xml b/orange-demo-service/.idea/libraries/Maven__io_micrometer_micrometer_core_1_3_5.xml new file mode 100644 index 00000000..a802829a --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_micrometer_micrometer_core_1_3_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_netty_netty_buffer_4_1_45_Final.xml b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_buffer_4_1_45_Final.xml new file mode 100644 index 00000000..86e716ba --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_buffer_4_1_45_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_netty_netty_codec_4_1_45_Final.xml b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_codec_4_1_45_Final.xml new file mode 100644 index 00000000..20585b5d --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_codec_4_1_45_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_netty_netty_codec_dns_4_1_45_Final.xml b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_codec_dns_4_1_45_Final.xml new file mode 100644 index 00000000..c47b82d4 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_codec_dns_4_1_45_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_netty_netty_codec_http2_4_1_45_Final.xml b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_codec_http2_4_1_45_Final.xml new file mode 100644 index 00000000..a80580ac --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_codec_http2_4_1_45_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_netty_netty_codec_http_4_1_45_Final.xml b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_codec_http_4_1_45_Final.xml new file mode 100644 index 00000000..f6d6e45e --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_codec_http_4_1_45_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_netty_netty_codec_socks_4_1_45_Final.xml b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_codec_socks_4_1_45_Final.xml new file mode 100644 index 00000000..18ab7b12 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_codec_socks_4_1_45_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_netty_netty_common_4_1_45_Final.xml b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_common_4_1_45_Final.xml new file mode 100644 index 00000000..36e6da4c --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_common_4_1_45_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_netty_netty_handler_4_1_45_Final.xml b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_handler_4_1_45_Final.xml new file mode 100644 index 00000000..44a05a9b --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_handler_4_1_45_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_netty_netty_handler_proxy_4_1_45_Final.xml b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_handler_proxy_4_1_45_Final.xml new file mode 100644 index 00000000..d7e80658 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_handler_proxy_4_1_45_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_netty_netty_resolver_4_1_45_Final.xml b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_resolver_4_1_45_Final.xml new file mode 100644 index 00000000..e1aed92f --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_resolver_4_1_45_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_netty_netty_resolver_dns_4_1_45_Final.xml b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_resolver_dns_4_1_45_Final.xml new file mode 100644 index 00000000..4076eea6 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_resolver_dns_4_1_45_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_netty_netty_transport_4_1_45_Final.xml b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_transport_4_1_45_Final.xml new file mode 100644 index 00000000..0d498f91 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_transport_4_1_45_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_netty_netty_transport_native_epoll_linux_x86_64_4_1_45_Final.xml b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_transport_native_epoll_linux_x86_64_4_1_45_Final.xml new file mode 100644 index 00000000..eb9d94d2 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_transport_native_epoll_linux_x86_64_4_1_45_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_netty_netty_transport_native_unix_common_4_1_45_Final.xml b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_transport_native_unix_common_4_1_45_Final.xml new file mode 100644 index 00000000..46db9dab --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_netty_netty_transport_native_unix_common_4_1_45_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_projectreactor_addons_reactor_extra_3_3_2_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__io_projectreactor_addons_reactor_extra_3_3_2_RELEASE.xml new file mode 100644 index 00000000..1010488e --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_projectreactor_addons_reactor_extra_3_3_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_projectreactor_netty_reactor_netty_0_9_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__io_projectreactor_netty_reactor_netty_0_9_5_RELEASE.xml new file mode 100644 index 00000000..0421f17c --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_projectreactor_netty_reactor_netty_0_9_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_projectreactor_reactor_core_3_3_3_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__io_projectreactor_reactor_core_3_3_3_RELEASE.xml new file mode 100644 index 00000000..48c87d9c --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_projectreactor_reactor_core_3_3_3_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_prometheus_simpleclient_0_5_0.xml b/orange-demo-service/.idea/libraries/Maven__io_prometheus_simpleclient_0_5_0.xml new file mode 100644 index 00000000..555759b4 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_prometheus_simpleclient_0_5_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_reactivex_rxjava2_rxjava_2_2_18.xml b/orange-demo-service/.idea/libraries/Maven__io_reactivex_rxjava2_rxjava_2_2_18.xml new file mode 100644 index 00000000..89b767de --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_reactivex_rxjava2_rxjava_2_2_18.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_reactivex_rxjava_1_3_8.xml b/orange-demo-service/.idea/libraries/Maven__io_reactivex_rxjava_1_3_8.xml new file mode 100644 index 00000000..cda742ba --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_reactivex_rxjava_1_3_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_reactivex_rxjava_reactive_streams_1_2_1.xml b/orange-demo-service/.idea/libraries/Maven__io_reactivex_rxjava_reactive_streams_1_2_1.xml new file mode 100644 index 00000000..c77c4af8 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_reactivex_rxjava_reactive_streams_1_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_reactivex_rxnetty_0_4_9.xml b/orange-demo-service/.idea/libraries/Maven__io_reactivex_rxnetty_0_4_9.xml new file mode 100644 index 00000000..82613f4c --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_reactivex_rxnetty_0_4_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_reactivex_rxnetty_contexts_0_4_9.xml b/orange-demo-service/.idea/libraries/Maven__io_reactivex_rxnetty_contexts_0_4_9.xml new file mode 100644 index 00000000..1ce62ff2 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_reactivex_rxnetty_contexts_0_4_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__io_reactivex_rxnetty_servo_0_4_9.xml b/orange-demo-service/.idea/libraries/Maven__io_reactivex_rxnetty_servo_0_4_9.xml new file mode 100644 index 00000000..f9da5f75 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__io_reactivex_rxnetty_servo_0_4_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml b/orange-demo-service/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml new file mode 100644 index 00000000..be90656e --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__jakarta_activation_jakarta_activation_api_1_2_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml b/orange-demo-service/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml new file mode 100644 index 00000000..cba9dd24 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__jakarta_annotation_jakarta_annotation_api_1_3_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__jakarta_validation_jakarta_validation_api_2_0_2.xml b/orange-demo-service/.idea/libraries/Maven__jakarta_validation_jakarta_validation_api_2_0_2.xml new file mode 100644 index 00000000..e66afb95 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__jakarta_validation_jakarta_validation_api_2_0_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_2.xml b/orange-demo-service/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_2.xml new file mode 100644 index 00000000..bdf217a0 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__jakarta_xml_bind_jakarta_xml_bind_api_2_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__javax_cache_cache_api_1_1_1.xml b/orange-demo-service/.idea/libraries/Maven__javax_cache_cache_api_1_1_1.xml new file mode 100644 index 00000000..bb51cd8a --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__javax_cache_cache_api_1_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__javax_inject_javax_inject_1.xml b/orange-demo-service/.idea/libraries/Maven__javax_inject_javax_inject_1.xml new file mode 100644 index 00000000..93cf65ab --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__javax_inject_javax_inject_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__javax_persistence_persistence_api_1_0.xml b/orange-demo-service/.idea/libraries/Maven__javax_persistence_persistence_api_1_0.xml new file mode 100644 index 00000000..e60370e5 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__javax_persistence_persistence_api_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__javax_servlet_javax_servlet_api_4_0_1.xml b/orange-demo-service/.idea/libraries/Maven__javax_servlet_javax_servlet_api_4_0_1.xml new file mode 100644 index 00000000..d05c196b --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__javax_servlet_javax_servlet_api_4_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__javax_ws_rs_jsr311_api_1_1_1.xml b/orange-demo-service/.idea/libraries/Maven__javax_ws_rs_jsr311_api_1_1_1.xml new file mode 100644 index 00000000..a0c4d766 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__javax_ws_rs_jsr311_api_1_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__joda_time_joda_time_2_10_5.xml b/orange-demo-service/.idea/libraries/Maven__joda_time_joda_time_2_10_5.xml new file mode 100644 index 00000000..cbed35c2 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__joda_time_joda_time_2_10_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__junit_junit_4_12.xml b/orange-demo-service/.idea/libraries/Maven__junit_junit_4_12.xml new file mode 100644 index 00000000..d4110417 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__junit_junit_4_12.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_19.xml b/orange-demo-service/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_19.xml new file mode 100644 index 00000000..41908d90 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__mysql_mysql_connector_java_8_0_19.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_10_8.xml b/orange-demo-service/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_10_8.xml new file mode 100644 index 00000000..73e43180 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__net_bytebuddy_byte_buddy_1_10_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_10_8.xml b/orange-demo-service/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_10_8.xml new file mode 100644 index 00000000..4d6fd9a2 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__net_bytebuddy_byte_buddy_agent_1_10_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__net_minidev_accessors_smart_1_2.xml b/orange-demo-service/.idea/libraries/Maven__net_minidev_accessors_smart_1_2.xml new file mode 100644 index 00000000..b3d38583 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__net_minidev_accessors_smart_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__net_minidev_json_smart_2_3.xml b/orange-demo-service/.idea/libraries/Maven__net_minidev_json_smart_2_3.xml new file mode 100644 index 00000000..10830235 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__net_minidev_json_smart_2_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_commons_commons_collections4_4_4.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_commons_commons_collections4_4_4.xml new file mode 100644 index 00000000..5871c958 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_commons_commons_collections4_4_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_commons_commons_compress_1_19.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_commons_commons_compress_1_19.xml new file mode 100644 index 00000000..7c25fef2 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_commons_commons_compress_1_19.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_commons_commons_csv_1_8.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_commons_commons_csv_1_8.xml new file mode 100644 index 00000000..c88f83f8 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_commons_commons_csv_1_8.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_9.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_9.xml new file mode 100644 index 00000000..9050e004 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_commons_commons_lang3_3_9.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_commons_commons_pool2_2_7_0.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_commons_commons_pool2_2_7_0.xml new file mode 100644 index 00000000..dbf3aa43 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_commons_commons_pool2_2_7_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_curator_curator_client_4_0_1.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_curator_curator_client_4_0_1.xml new file mode 100644 index 00000000..dd8b5dfb --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_curator_curator_client_4_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_curator_curator_framework_4_0_1.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_curator_curator_framework_4_0_1.xml new file mode 100644 index 00000000..6c7a2111 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_curator_curator_framework_4_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_curator_curator_recipes_4_3_0.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_curator_curator_recipes_4_3_0.xml new file mode 100644 index 00000000..ed514769 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_curator_curator_recipes_4_3_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_11.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_11.xml new file mode 100644 index 00000000..5cc9e571 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_httpcomponents_httpclient_4_5_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_13.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_13.xml new file mode 100644 index 00000000..b475675a --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_httpcomponents_httpcore_4_4_13.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_kafka_kafka_clients_2_4_0.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_kafka_kafka_clients_2_4_0.xml new file mode 100644 index 00000000..8ed333a4 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_kafka_kafka_clients_2_4_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_12_1.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_12_1.xml new file mode 100644 index 00000000..ad038546 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_logging_log4j_log4j_api_2_12_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_logging_log4j_log4j_core_2_12_1.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_logging_log4j_log4j_core_2_12_1.xml new file mode 100644 index 00000000..c1d6a137 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_logging_log4j_log4j_core_2_12_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_logging_log4j_log4j_jul_2_12_1.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_logging_log4j_log4j_jul_2_12_1.xml new file mode 100644 index 00000000..bfdbb1cb --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_logging_log4j_log4j_jul_2_12_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_logging_log4j_log4j_slf4j_impl_2_12_1.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_logging_log4j_log4j_slf4j_impl_2_12_1.xml new file mode 100644 index 00000000..c4b95063 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_logging_log4j_log4j_slf4j_impl_2_12_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_12_1.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_12_1.xml new file mode 100644 index 00000000..b4b1b1b6 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_logging_log4j_log4j_to_slf4j_2_12_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_poi_poi_3_17.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_poi_poi_3_17.xml new file mode 100644 index 00000000..1a446fbf --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_poi_poi_3_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_poi_poi_ooxml_3_17.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_poi_poi_ooxml_3_17.xml new file mode 100644 index 00000000..d50f385e --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_poi_poi_ooxml_3_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_poi_poi_ooxml_4_1_2.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_poi_poi_ooxml_4_1_2.xml new file mode 100644 index 00000000..905ca0c9 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_poi_poi_ooxml_4_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_poi_poi_ooxml_schemas_3_17.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_poi_poi_ooxml_schemas_3_17.xml new file mode 100644 index 00000000..d214d8b8 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_poi_poi_ooxml_schemas_3_17.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_poi_poi_ooxml_schemas_4_1_2.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_poi_poi_ooxml_schemas_4_1_2.xml new file mode 100644 index 00000000..93d965d9 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_poi_poi_ooxml_schemas_4_1_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_31.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_31.xml new file mode 100644 index 00000000..f7f75ff2 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_core_9_0_31.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_31.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_31.xml new file mode 100644 index 00000000..2b31bf66 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_el_9_0_31.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_31.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_31.xml new file mode 100644 index 00000000..d3d4f18b --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_tomcat_embed_tomcat_embed_websocket_9_0_31.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml new file mode 100644 index 00000000..cb0f76d6 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_2_6_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_3_1_0.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_3_1_0.xml new file mode 100644 index 00000000..0695d4bf --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_xmlbeans_xmlbeans_3_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apache_zookeeper_zookeeper_3_5_3_beta.xml b/orange-demo-service/.idea/libraries/Maven__org_apache_zookeeper_zookeeper_3_5_3_beta.xml new file mode 100644 index 00000000..e67a9e1c --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apache_zookeeper_zookeeper_3_5_3_beta.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml b/orange-demo-service/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml new file mode 100644 index 00000000..f854ab00 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_apiguardian_apiguardian_api_1_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_aspectj_aspectjrt_1_9_5.xml b/orange-demo-service/.idea/libraries/Maven__org_aspectj_aspectjrt_1_9_5.xml new file mode 100644 index 00000000..649cc0ee --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_aspectj_aspectjrt_1_9_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_5.xml b/orange-demo-service/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_5.xml new file mode 100644 index 00000000..1a387a4d --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_aspectj_aspectjweaver_1_9_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_assertj_assertj_core_3_13_2.xml b/orange-demo-service/.idea/libraries/Maven__org_assertj_assertj_core_3_13_2.xml new file mode 100644 index 00000000..6222cc89 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_assertj_assertj_core_3_13_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_attoparser_attoparser_2_0_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_attoparser_attoparser_2_0_5_RELEASE.xml new file mode 100644 index 00000000..5bad7db8 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_attoparser_attoparser_2_0_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk15on_1_59.xml b/orange-demo-service/.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk15on_1_59.xml new file mode 100644 index 00000000..74957760 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_bouncycastle_bcpkix_jdk15on_1_59.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_59.xml b/orange-demo-service/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_59.xml new file mode 100644 index 00000000..ad03790f --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_bouncycastle_bcprov_jdk15on_1_59.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_checkerframework_checker_compat_qual_2_5_5.xml b/orange-demo-service/.idea/libraries/Maven__org_checkerframework_checker_compat_qual_2_5_5.xml new file mode 100644 index 00000000..a4c92eea --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_checkerframework_checker_compat_qual_2_5_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_checkerframework_checker_qual_3_1_0.xml b/orange-demo-service/.idea/libraries/Maven__org_checkerframework_checker_qual_3_1_0.xml new file mode 100644 index 00000000..8c6ddd28 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_checkerframework_checker_qual_3_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_4_2.xml b/orange-demo-service/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_4_2.xml new file mode 100644 index 00000000..30ed863c --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_codehaus_woodstox_stax2_api_4_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_freemarker_freemarker_2_3_29.xml b/orange-demo-service/.idea/libraries/Maven__org_freemarker_freemarker_2_3_29.xml new file mode 100644 index 00000000..a2d193b7 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_freemarker_freemarker_2_3_29.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_glassfish_jakarta_el_3_0_3.xml b/orange-demo-service/.idea/libraries/Maven__org_glassfish_jakarta_el_3_0_3.xml new file mode 100644 index 00000000..ae5020d6 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_glassfish_jakarta_el_3_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_hamcrest_hamcrest_2_1.xml b/orange-demo-service/.idea/libraries/Maven__org_hamcrest_hamcrest_2_1.xml new file mode 100644 index 00000000..b1702934 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_hamcrest_hamcrest_2_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_hamcrest_hamcrest_all_1_3.xml b/orange-demo-service/.idea/libraries/Maven__org_hamcrest_hamcrest_all_1_3.xml new file mode 100644 index 00000000..56193163 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_hamcrest_hamcrest_all_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_11.xml b/orange-demo-service/.idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_11.xml new file mode 100644 index 00000000..a1be1377 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_hdrhistogram_HdrHistogram_2_1_11.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_hibernate_validator_hibernate_validator_6_0_18_Final.xml b/orange-demo-service/.idea/libraries/Maven__org_hibernate_validator_hibernate_validator_6_0_18_Final.xml new file mode 100644 index 00000000..d035d9cd --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_hibernate_validator_hibernate_validator_6_0_18_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_javassist_javassist_3_21_0_GA.xml b/orange-demo-service/.idea/libraries/Maven__org_javassist_javassist_3_21_0_GA.xml new file mode 100644 index 00000000..09c4cf0b --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_javassist_javassist_3_21_0_GA.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_4_1_Final.xml b/orange-demo-service/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_4_1_Final.xml new file mode 100644 index 00000000..0b76247c --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_jboss_logging_jboss_logging_3_4_1_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_jodd_jodd_bean_5_0_13.xml b/orange-demo-service/.idea/libraries/Maven__org_jodd_jodd_bean_5_0_13.xml new file mode 100644 index 00000000..33b8f603 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_jodd_jodd_bean_5_0_13.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_jodd_jodd_core_5_0_13.xml b/orange-demo-service/.idea/libraries/Maven__org_jodd_jodd_core_5_0_13.xml new file mode 100644 index 00000000..735d215b --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_jodd_jodd_core_5_0_13.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_5_2.xml b/orange-demo-service/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_5_2.xml new file mode 100644 index 00000000..5db07403 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_5_5_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_5_2.xml b/orange-demo-service/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_5_2.xml new file mode 100644 index 00000000..8fbc8ce2 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_api_5_5_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_5_2.xml b/orange-demo-service/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_5_2.xml new file mode 100644 index 00000000..cca5485d --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_engine_5_5_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_5_2.xml b/orange-demo-service/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_5_2.xml new file mode 100644 index 00000000..e2713d08 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_junit_jupiter_junit_jupiter_params_5_5_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_5_2.xml b/orange-demo-service/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_5_2.xml new file mode 100644 index 00000000..4192cdcd --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_junit_platform_junit_platform_commons_1_5_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_5_2.xml b/orange-demo-service/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_5_2.xml new file mode 100644 index 00000000..cbbd9b77 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_junit_platform_junit_platform_engine_1_5_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_junit_vintage_junit_vintage_engine_5_5_2.xml b/orange-demo-service/.idea/libraries/Maven__org_junit_vintage_junit_vintage_engine_5_5_2.xml new file mode 100644 index 00000000..824481fa --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_junit_vintage_junit_vintage_engine_5_5_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_latencyutils_LatencyUtils_2_0_3.xml b/orange-demo-service/.idea/libraries/Maven__org_latencyutils_LatencyUtils_2_0_3.xml new file mode 100644 index 00000000..bf681698 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_latencyutils_LatencyUtils_2_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_lz4_lz4_java_1_6_0.xml b/orange-demo-service/.idea/libraries/Maven__org_lz4_lz4_java_1_6_0.xml new file mode 100644 index 00000000..f73a838f --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_lz4_lz4_java_1_6_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_mapstruct_mapstruct_1_3_1_Final.xml b/orange-demo-service/.idea/libraries/Maven__org_mapstruct_mapstruct_1_3_1_Final.xml new file mode 100644 index 00000000..7ee5fee3 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_mapstruct_mapstruct_1_3_1_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_mapstruct_mapstruct_processor_1_3_1_Final.xml b/orange-demo-service/.idea/libraries/Maven__org_mapstruct_mapstruct_processor_1_3_1_Final.xml new file mode 100644 index 00000000..43959cf6 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_mapstruct_mapstruct_processor_1_3_1_Final.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_mockito_mockito_core_3_1_0.xml b/orange-demo-service/.idea/libraries/Maven__org_mockito_mockito_core_3_1_0.xml new file mode 100644 index 00000000..c18526d0 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_mockito_mockito_core_3_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_3_1_0.xml b/orange-demo-service/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_3_1_0.xml new file mode 100644 index 00000000..d4e66431 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_mockito_mockito_junit_jupiter_3_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_mybatis_mybatis_3_4_6.xml b/orange-demo-service/.idea/libraries/Maven__org_mybatis_mybatis_3_4_6.xml new file mode 100644 index 00000000..377b7a72 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_mybatis_mybatis_3_4_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_2.xml b/orange-demo-service/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_2.xml new file mode 100644 index 00000000..713f6040 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_mybatis_mybatis_spring_1_3_2.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_2_1_1.xml b/orange-demo-service/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_2_1_1.xml new file mode 100644 index 00000000..cbb713ac --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_autoconfigure_2_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_2_1_1.xml b/orange-demo-service/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_2_1_1.xml new file mode 100644 index 00000000..eb12c3f8 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_mybatis_spring_boot_mybatis_spring_boot_starter_2_1_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_objenesis_objenesis_2_6.xml b/orange-demo-service/.idea/libraries/Maven__org_objenesis_objenesis_2_6.xml new file mode 100644 index 00000000..af41e3b6 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_objenesis_objenesis_2_6.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml b/orange-demo-service/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml new file mode 100644 index 00000000..fbc1b163 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_opentest4j_opentest4j_1_2_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml b/orange-demo-service/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml new file mode 100644 index 00000000..0bf8cf2b --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_ow2_asm_asm_5_0_4.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_projectlombok_lombok_1_18_12.xml b/orange-demo-service/.idea/libraries/Maven__org_projectlombok_lombok_1_18_12.xml new file mode 100644 index 00000000..46cf8a8e --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_projectlombok_lombok_1_18_12.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_reactivestreams_reactive_streams_1_0_3.xml b/orange-demo-service/.idea/libraries/Maven__org_reactivestreams_reactive_streams_1_0_3.xml new file mode 100644 index 00000000..f17253bf --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_reactivestreams_reactive_streams_1_0_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_redisson_redisson_3_12_3.xml b/orange-demo-service/.idea/libraries/Maven__org_redisson_redisson_3_12_3.xml new file mode 100644 index 00000000..c22594b1 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_redisson_redisson_3_12_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_scala_lang_scala_library_2_12_10.xml b/orange-demo-service/.idea/libraries/Maven__org_scala_lang_scala_library_2_12_10.xml new file mode 100644 index 00000000..80b67f7a --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_scala_lang_scala_library_2_12_10.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml b/orange-demo-service/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml new file mode 100644 index 00000000..c4c54d6d --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_skyscreamer_jsonassert_1_5_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_30.xml b/orange-demo-service/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_30.xml new file mode 100644 index 00000000..f92b9599 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_slf4j_jcl_over_slf4j_1_7_30.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_30.xml b/orange-demo-service/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_30.xml new file mode 100644 index 00000000..27229ce3 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_slf4j_jul_to_slf4j_1_7_30.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_30.xml b/orange-demo-service/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_30.xml new file mode 100644 index 00000000..02b6812c --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_slf4j_slf4j_api_1_7_30.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_2_5_RELEASE.xml new file mode 100644 index 00000000..b5f5e4e9 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_2_2_5_RELEASE.xml new file mode 100644 index 00000000..b93787a7 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_2_5_RELEASE.xml new file mode 100644 index 00000000..4fe87379 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_actuator_autoconfigure_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_2_5_RELEASE.xml new file mode 100644 index 00000000..0aec925f --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_autoconfigure_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_configuration_processor_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_configuration_processor_2_2_5_RELEASE.xml new file mode 100644 index 00000000..e4800238 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_configuration_processor_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_2_5_RELEASE.xml new file mode 100644 index 00000000..6d9343d1 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_actuator_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_actuator_2_2_5_RELEASE.xml new file mode 100644 index 00000000..2abf35e1 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_actuator_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_2_5_RELEASE.xml new file mode 100644 index 00000000..004ddac3 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_aop_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_cache_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_cache_2_2_5_RELEASE.xml new file mode 100644 index 00000000..3bdf1fa6 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_cache_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_freemarker_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_freemarker_2_2_5_RELEASE.xml new file mode 100644 index 00000000..9a18ea55 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_freemarker_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_2_5_RELEASE.xml new file mode 100644 index 00000000..df2acd85 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_jdbc_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_2_5_RELEASE.xml new file mode 100644 index 00000000..2a330abe --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_json_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_log4j2_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_log4j2_2_2_5_RELEASE.xml new file mode 100644 index 00000000..19ef45c9 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_log4j2_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_2_5_RELEASE.xml new file mode 100644 index 00000000..06082690 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_logging_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_reactor_netty_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_reactor_netty_2_2_5_RELEASE.xml new file mode 100644 index 00000000..c3ded583 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_reactor_netty_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_2_5_RELEASE.xml new file mode 100644 index 00000000..7f3e9f5a --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_test_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_thymeleaf_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_thymeleaf_2_2_5_RELEASE.xml new file mode 100644 index 00000000..25fcc331 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_thymeleaf_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_2_5_RELEASE.xml new file mode 100644 index 00000000..971d9a9d --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_tomcat_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_validation_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_validation_2_2_5_RELEASE.xml new file mode 100644 index 00000000..5b881442 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_validation_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_2_5_RELEASE.xml new file mode 100644 index 00000000..1c85bdbd --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_web_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_webflux_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_webflux_2_2_5_RELEASE.xml new file mode 100644 index 00000000..39c2df74 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_starter_webflux_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_2_5_RELEASE.xml new file mode 100644 index 00000000..301e1a69 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_2_5_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_2_5_RELEASE.xml new file mode 100644 index 00000000..6a2d0583 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_boot_spring_boot_test_autoconfigure_2_2_5_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_commons_2_2_2_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_commons_2_2_2_RELEASE.xml new file mode 100644 index 00000000..6a0f124d --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_commons_2_2_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_2_2_2_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_2_2_2_RELEASE.xml new file mode 100644 index 00000000..d9317d51 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_context_2_2_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_gateway_core_2_2_2_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_gateway_core_2_2_2_RELEASE.xml new file mode 100644 index 00000000..272aabf9 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_gateway_core_2_2_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_archaius_2_2_2_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_archaius_2_2_2_RELEASE.xml new file mode 100644 index 00000000..528e750b --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_archaius_2_2_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_hystrix_2_2_2_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_hystrix_2_2_2_RELEASE.xml new file mode 100644 index 00000000..ab61c86c --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_hystrix_2_2_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_ribbon_2_2_2_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_ribbon_2_2_2_RELEASE.xml new file mode 100644 index 00000000..d3ae6517 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_netflix_ribbon_2_2_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_openfeign_core_2_2_2_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_openfeign_core_2_2_2_RELEASE.xml new file mode 100644 index 00000000..47372a5a --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_openfeign_core_2_2_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_2_2_2_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_2_2_2_RELEASE.xml new file mode 100644 index 00000000..6e502a95 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_2_2_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_gateway_2_2_2_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_gateway_2_2_2_RELEASE.xml new file mode 100644 index 00000000..b249c010 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_gateway_2_2_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_archaius_2_2_2_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_archaius_2_2_2_RELEASE.xml new file mode 100644 index 00000000..26ca6b2c --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_archaius_2_2_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_hystrix_2_2_2_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_hystrix_2_2_2_RELEASE.xml new file mode 100644 index 00000000..61019ef0 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_hystrix_2_2_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_ribbon_2_2_2_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_ribbon_2_2_2_RELEASE.xml new file mode 100644 index 00000000..eb59a440 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_netflix_ribbon_2_2_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_openfeign_2_2_2_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_openfeign_2_2_2_RELEASE.xml new file mode 100644 index 00000000..1c9bc383 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_cloud_spring_cloud_starter_openfeign_2_2_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_2_2_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_2_2_RELEASE.xml new file mode 100644 index 00000000..41fe80a2 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_security_spring_security_crypto_5_2_2_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_security_spring_security_rsa_1_0_9_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_security_spring_security_rsa_1_0_9_RELEASE.xml new file mode 100644 index 00000000..60972566 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_security_spring_security_rsa_1_0_9_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_aop_5_2_4_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_aop_5_2_4_RELEASE.xml new file mode 100644 index 00000000..0d018ac8 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_aop_5_2_4_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_beans_5_2_4_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_beans_5_2_4_RELEASE.xml new file mode 100644 index 00000000..2681d45b --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_beans_5_2_4_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_context_5_2_4_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_context_5_2_4_RELEASE.xml new file mode 100644 index 00000000..80aa936f --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_context_5_2_4_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_context_support_5_2_4_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_context_support_5_2_4_RELEASE.xml new file mode 100644 index 00000000..a11c5269 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_context_support_5_2_4_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_core_5_2_4_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_core_5_2_4_RELEASE.xml new file mode 100644 index 00000000..54b3b866 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_core_5_2_4_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_expression_5_2_4_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_expression_5_2_4_RELEASE.xml new file mode 100644 index 00000000..bb766abf --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_expression_5_2_4_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_jcl_5_2_4_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_jcl_5_2_4_RELEASE.xml new file mode 100644 index 00000000..ebb981d6 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_jcl_5_2_4_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_jdbc_5_2_4_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_jdbc_5_2_4_RELEASE.xml new file mode 100644 index 00000000..e2841d8b --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_jdbc_5_2_4_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_test_5_2_4_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_test_5_2_4_RELEASE.xml new file mode 100644 index 00000000..e9a61201 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_test_5_2_4_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_tx_5_2_4_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_tx_5_2_4_RELEASE.xml new file mode 100644 index 00000000..7bee5db7 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_tx_5_2_4_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_web_5_2_4_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_web_5_2_4_RELEASE.xml new file mode 100644 index 00000000..7482ae04 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_web_5_2_4_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_webflux_5_2_4_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_webflux_5_2_4_RELEASE.xml new file mode 100644 index 00000000..469a5644 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_webflux_5_2_4_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_webmvc_5_2_4_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_webmvc_5_2_4_RELEASE.xml new file mode 100644 index 00000000..0fa20ce3 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_springframework_spring_webmvc_5_2_4_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_synchronoss_cloud_nio_multipart_parser_1_1_0.xml b/orange-demo-service/.idea/libraries/Maven__org_synchronoss_cloud_nio_multipart_parser_1_1_0.xml new file mode 100644 index 00000000..1a8ebe7d --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_synchronoss_cloud_nio_multipart_parser_1_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_synchronoss_cloud_nio_stream_storage_1_1_3.xml b/orange-demo-service/.idea/libraries/Maven__org_synchronoss_cloud_nio_stream_storage_1_1_3.xml new file mode 100644 index 00000000..3897687e --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_synchronoss_cloud_nio_stream_storage_1_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_thymeleaf_extras_thymeleaf_extras_java8time_3_0_4_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_thymeleaf_extras_thymeleaf_extras_java8time_3_0_4_RELEASE.xml new file mode 100644 index 00000000..7b246ae1 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_thymeleaf_extras_thymeleaf_extras_java8time_3_0_4_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_thymeleaf_thymeleaf_3_0_11_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_thymeleaf_thymeleaf_3_0_11_RELEASE.xml new file mode 100644 index 00000000..7b72babd --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_thymeleaf_thymeleaf_3_0_11_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring5_3_0_11_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring5_3_0_11_RELEASE.xml new file mode 100644 index 00000000..3370587a --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_thymeleaf_thymeleaf_spring5_3_0_11_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_unbescape_unbescape_1_1_6_RELEASE.xml b/orange-demo-service/.idea/libraries/Maven__org_unbescape_unbescape_1_1_6_RELEASE.xml new file mode 100644 index 00000000..2334aa05 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_unbescape_unbescape_1_1_6_RELEASE.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_7_3.xml b/orange-demo-service/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_7_3.xml new file mode 100644 index 00000000..8da5da89 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_xerial_snappy_snappy_java_1_1_7_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_6_3.xml b/orange-demo-service/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_6_3.xml new file mode 100644 index 00000000..aed7fe22 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_xmlunit_xmlunit_core_2_6_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__org_yaml_snakeyaml_1_25.xml b/orange-demo-service/.idea/libraries/Maven__org_yaml_snakeyaml_1_25.xml new file mode 100644 index 00000000..495fc06f --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__org_yaml_snakeyaml_1_25.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__redis_clients_jedis_3_1_0.xml b/orange-demo-service/.idea/libraries/Maven__redis_clients_jedis_3_1_0.xml new file mode 100644 index 00000000..9b8dd938 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__redis_clients_jedis_3_1_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__redis_clients_jedis_3_2_0.xml b/orange-demo-service/.idea/libraries/Maven__redis_clients_jedis_3_2_0.xml new file mode 100644 index 00000000..488bdb6e --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__redis_clients_jedis_3_2_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__stax_stax_api_1_0_1.xml b/orange-demo-service/.idea/libraries/Maven__stax_stax_api_1_0_1.xml new file mode 100644 index 00000000..0b13335e --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__stax_stax_api_1_0_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_base_1_1_5.xml b/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_base_1_1_5.xml new file mode 100644 index 00000000..14970473 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_base_1_1_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_core_1_1_5.xml b/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_core_1_1_5.xml new file mode 100644 index 00000000..00217b67 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_core_1_1_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_extra_1_1_5.xml b/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_extra_1_1_5.xml new file mode 100644 index 00000000..9fa6cf7e --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_extra_1_1_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_spring_1_1_5.xml b/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_spring_1_1_5.xml new file mode 100644 index 00000000..488a0827 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_spring_1_1_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_spring_boot_autoconfigure_2_1_5.xml b/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_spring_boot_autoconfigure_2_1_5.xml new file mode 100644 index 00000000..5a76248b --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_spring_boot_autoconfigure_2_1_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_spring_boot_starter_2_1_5.xml b/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_spring_boot_starter_2_1_5.xml new file mode 100644 index 00000000..69ca4ac2 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_spring_boot_starter_2_1_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_weekend_1_1_5.xml b/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_weekend_1_1_5.xml new file mode 100644 index 00000000..2cc0e828 --- /dev/null +++ b/orange-demo-service/.idea/libraries/Maven__tk_mybatis_mapper_weekend_1_1_5.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/misc.xml b/orange-demo-service/.idea/misc.xml new file mode 100644 index 00000000..0a80760b --- /dev/null +++ b/orange-demo-service/.idea/misc.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/modules.xml b/orange-demo-service/.idea/modules.xml new file mode 100644 index 00000000..c1937a4d --- /dev/null +++ b/orange-demo-service/.idea/modules.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/sqldialects.xml b/orange-demo-service/.idea/sqldialects.xml new file mode 100644 index 00000000..e3b71a34 --- /dev/null +++ b/orange-demo-service/.idea/sqldialects.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/orange-demo-service/.idea/workspace.xml b/orange-demo-service/.idea/workspace.xml new file mode 100644 index 00000000..57a1c0a9 --- /dev/null +++ b/orange-demo-service/.idea/workspace.xml @@ -0,0 +1,188 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +