From 1a331c7c2750ad1f97e2ad20655d95008027744f Mon Sep 17 00:00:00 2001 From: Parker Date: Sat, 19 Sep 2020 13:38:09 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84=E7=B3=BB=E7=BB=9F=E6=9E=B6?= =?UTF-8?q?=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../opsli-common}/README.md | 0 .../opsli-common}/pom.xml | 3 +- .../common/annotation/ApiRestController.java | 2 +- .../common/annotation/EnableHotData.java | 4 +- .../opsli/common/annotation/HotDataDel.java | 2 + .../opsli/common/annotation/HotDataPut.java | 2 + .../java/org/opsli/common/api/ResultDto.java | 0 .../org/opsli/common/base/msg/BaseMsg.java | 0 .../common/constants/CacheConstants.java | 0 .../common/constants/MyBatisConstants.java | 38 +++++ .../common/constants/OrderConstants.java | 3 + .../org/opsli/common/enums/SystemInfo.java | 0 .../common/exception/EmptyException.java | 0 .../common/exception/ServiceException.java | 0 .../java/org/opsli/common/msg/CommonMsg.java | 0 .../org/opsli/common/utils/PackageUtil.java | 0 .../org/opsli/common/utils/WrapperUtil.java | 105 +++++++++++++ opsli-base-support/pom.xml | 21 +++ .../base/service/impl/CrudServiceImpl.java | 122 --------------- .../interfaces/CrudServiceInterface.java | 136 ----------------- .../opsli/core/conf/SpringWebMvcConfig.java | 27 ---- .../modulars/test/mapper/TestMapper.java | 2 +- .../modulars/test/service/ITestService.java | 7 +- .../test/service/impl/TestServiceImpl.java | 49 ++---- .../test/web/TestRestRestController.java | 139 ++++++++++-------- opsli-modulars/pom.xml | 7 - {opsli-web => opsli-starter}/README.md | 0 {opsli-web => opsli-starter}/pom.xml | 2 +- .../main/java/org/opsli/OpsliApplication.java | 1 - .../java/org/opsli/general/StartPrint.java | 0 .../src/main/resources/application-beta.yaml | 0 .../src/main/resources/application-dev.yaml | 0 .../main/resources/application-release.yaml | 0 .../src/main/resources/application.yaml | 0 .../main/resources/config/ehcache-opsli.xml | 0 .../main/resources/config/logback-spring.xml | 0 .../src/main/resources/msg/README.md | 0 pom.xml | 46 +----- 38 files changed, 286 insertions(+), 432 deletions(-) rename {opsli-common => opsli-base-support/opsli-common}/README.md (100%) rename {opsli-common => opsli-base-support/opsli-common}/pom.xml (86%) rename {opsli-common => opsli-base-support/opsli-common}/src/main/java/org/opsli/common/annotation/ApiRestController.java (97%) rename {opsli-common => opsli-base-support/opsli-common}/src/main/java/org/opsli/common/annotation/EnableHotData.java (93%) rename {opsli-common => opsli-base-support/opsli-common}/src/main/java/org/opsli/common/annotation/HotDataDel.java (93%) rename {opsli-common => opsli-base-support/opsli-common}/src/main/java/org/opsli/common/annotation/HotDataPut.java (93%) rename {opsli-common => opsli-base-support/opsli-common}/src/main/java/org/opsli/common/api/ResultDto.java (100%) rename {opsli-common => opsli-base-support/opsli-common}/src/main/java/org/opsli/common/base/msg/BaseMsg.java (100%) rename {opsli-common => opsli-base-support/opsli-common}/src/main/java/org/opsli/common/constants/CacheConstants.java (100%) create mode 100644 opsli-base-support/opsli-common/src/main/java/org/opsli/common/constants/MyBatisConstants.java rename {opsli-common => opsli-base-support/opsli-common}/src/main/java/org/opsli/common/constants/OrderConstants.java (85%) rename {opsli-common => opsli-base-support/opsli-common}/src/main/java/org/opsli/common/enums/SystemInfo.java (100%) rename {opsli-common => opsli-base-support/opsli-common}/src/main/java/org/opsli/common/exception/EmptyException.java (100%) rename {opsli-common => opsli-base-support/opsli-common}/src/main/java/org/opsli/common/exception/ServiceException.java (100%) rename {opsli-common => opsli-base-support/opsli-common}/src/main/java/org/opsli/common/msg/CommonMsg.java (100%) rename {opsli-common => opsli-base-support/opsli-common}/src/main/java/org/opsli/common/utils/PackageUtil.java (100%) create mode 100644 opsli-base-support/opsli-common/src/main/java/org/opsli/common/utils/WrapperUtil.java create mode 100644 opsli-base-support/pom.xml delete mode 100644 opsli-core/src/main/java/org/opsli/core/base/service/impl/CrudServiceImpl.java delete mode 100644 opsli-core/src/main/java/org/opsli/core/base/service/interfaces/CrudServiceInterface.java delete mode 100644 opsli-core/src/main/java/org/opsli/core/conf/SpringWebMvcConfig.java rename {opsli-web => opsli-starter}/README.md (100%) rename {opsli-web => opsli-starter}/pom.xml (97%) rename {opsli-web => opsli-starter}/src/main/java/org/opsli/OpsliApplication.java (97%) rename {opsli-web => opsli-starter}/src/main/java/org/opsli/general/StartPrint.java (100%) rename {opsli-web => opsli-starter}/src/main/resources/application-beta.yaml (100%) rename {opsli-web => opsli-starter}/src/main/resources/application-dev.yaml (100%) rename {opsli-web => opsli-starter}/src/main/resources/application-release.yaml (100%) rename {opsli-web => opsli-starter}/src/main/resources/application.yaml (100%) rename {opsli-web => opsli-starter}/src/main/resources/config/ehcache-opsli.xml (100%) rename {opsli-web => opsli-starter}/src/main/resources/config/logback-spring.xml (100%) rename {opsli-web => opsli-starter}/src/main/resources/msg/README.md (100%) diff --git a/opsli-common/README.md b/opsli-base-support/opsli-common/README.md similarity index 100% rename from opsli-common/README.md rename to opsli-base-support/opsli-common/README.md diff --git a/opsli-common/pom.xml b/opsli-base-support/opsli-common/pom.xml similarity index 86% rename from opsli-common/pom.xml rename to opsli-base-support/opsli-common/pom.xml index 9303ac27..f4dc066f 100644 --- a/opsli-common/pom.xml +++ b/opsli-base-support/opsli-common/pom.xml @@ -3,9 +3,10 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - opsli-boot-parent + opsli-base-support org.opsliframework.boot 1.0.0 + ../pom.xml diff --git a/opsli-common/src/main/java/org/opsli/common/annotation/ApiRestController.java b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/annotation/ApiRestController.java similarity index 97% rename from opsli-common/src/main/java/org/opsli/common/annotation/ApiRestController.java rename to opsli-base-support/opsli-common/src/main/java/org/opsli/common/annotation/ApiRestController.java index b707a0c9..da06a78b 100644 --- a/opsli-common/src/main/java/org/opsli/common/annotation/ApiRestController.java +++ b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/annotation/ApiRestController.java @@ -8,7 +8,7 @@ import java.lang.annotation.*; /** * controller层统一使用该注解 - * @author C西 + * @author Parker */ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) diff --git a/opsli-common/src/main/java/org/opsli/common/annotation/EnableHotData.java b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/annotation/EnableHotData.java similarity index 93% rename from opsli-common/src/main/java/org/opsli/common/annotation/EnableHotData.java rename to opsli-base-support/opsli-common/src/main/java/org/opsli/common/annotation/EnableHotData.java index e3825f8a..b25e88a1 100644 --- a/opsli-common/src/main/java/org/opsli/common/annotation/EnableHotData.java +++ b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/annotation/EnableHotData.java @@ -1,7 +1,5 @@ package org.opsli.common.annotation; -import org.opsli.common.constants.CacheConstants; - import java.lang.annotation.*; /** @@ -22,6 +20,8 @@ import java.lang.annotation.*; * * 用于 注解类 - 直接按照类开启 增 删 经过缓存 * + * 并发更新 不建议使用 热数据 ☆☆☆☆☆ + * */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.TYPE) diff --git a/opsli-common/src/main/java/org/opsli/common/annotation/HotDataDel.java b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/annotation/HotDataDel.java similarity index 93% rename from opsli-common/src/main/java/org/opsli/common/annotation/HotDataDel.java rename to opsli-base-support/opsli-common/src/main/java/org/opsli/common/annotation/HotDataDel.java index 7f99c449..4fa5cfb5 100644 --- a/opsli-common/src/main/java/org/opsli/common/annotation/HotDataDel.java +++ b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/annotation/HotDataDel.java @@ -18,6 +18,8 @@ import java.lang.annotation.*; * * 注意:不论是什么缓存,只要是缓存 就多少会有一致性的问题,针对不是那么重要的数据 且高频访问的数据可以缓存起来 * + * 并发更新 不建议使用 热数据 ☆☆☆☆☆ + * */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) diff --git a/opsli-common/src/main/java/org/opsli/common/annotation/HotDataPut.java b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/annotation/HotDataPut.java similarity index 93% rename from opsli-common/src/main/java/org/opsli/common/annotation/HotDataPut.java rename to opsli-base-support/opsli-common/src/main/java/org/opsli/common/annotation/HotDataPut.java index 6179feda..c1521706 100644 --- a/opsli-common/src/main/java/org/opsli/common/annotation/HotDataPut.java +++ b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/annotation/HotDataPut.java @@ -18,6 +18,8 @@ import java.lang.annotation.*; * * 注意:不论是什么缓存,只要是缓存 就多少会有一致性的问题,针对不是那么重要的数据 且高频访问的数据可以缓存起来 * + * 并发更新 不建议使用 热数据 ☆☆☆☆☆ + * */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) diff --git a/opsli-common/src/main/java/org/opsli/common/api/ResultDto.java b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/api/ResultDto.java similarity index 100% rename from opsli-common/src/main/java/org/opsli/common/api/ResultDto.java rename to opsli-base-support/opsli-common/src/main/java/org/opsli/common/api/ResultDto.java diff --git a/opsli-common/src/main/java/org/opsli/common/base/msg/BaseMsg.java b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/base/msg/BaseMsg.java similarity index 100% rename from opsli-common/src/main/java/org/opsli/common/base/msg/BaseMsg.java rename to opsli-base-support/opsli-common/src/main/java/org/opsli/common/base/msg/BaseMsg.java diff --git a/opsli-common/src/main/java/org/opsli/common/constants/CacheConstants.java b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/constants/CacheConstants.java similarity index 100% rename from opsli-common/src/main/java/org/opsli/common/constants/CacheConstants.java rename to opsli-base-support/opsli-common/src/main/java/org/opsli/common/constants/CacheConstants.java diff --git a/opsli-base-support/opsli-common/src/main/java/org/opsli/common/constants/MyBatisConstants.java b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/constants/MyBatisConstants.java new file mode 100644 index 00000000..aa9455b1 --- /dev/null +++ b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/constants/MyBatisConstants.java @@ -0,0 +1,38 @@ +package org.opsli.common.constants; + +import cn.hutool.setting.dialect.Props; + +/** + * @BelongsProject: opsli-boot + * @BelongsPackage: org.opsli.common.constants + * @Author: Parker + * @CreateTime: 2020-09-18 18:46 + * @Description: MyBatis 常量 + */ +public final class MyBatisConstants { + + private static final Props prop = Props.getProp("application.yaml"); + + /** 逻辑删除值 */ + public static final char LOGIC_DELETE_VALUE = + prop.getChar("mybatis-plus.global-config.db-config.logic-delete-value",'1'); + /** 逻辑不删除值 */ + public static final char LOGIC_NOT_DELETE_VALUE = + prop.getChar("mybatis-plus.global-config.db-config.logic-not-delete-value",'0'); + + + /** 创建人 */ + public static final String FIELD_CREATE_BY = "createBy"; + /** 更新时间 */ + public static final String FIELD_CREATE_TIME = "createTime"; + /** 更新人 */ + public static final String FIELD_UPDATE_BY = "updateBy"; + /** 更新时间 */ + public static final String FIELD_UPDATE_TIME = "updateTime"; + /** 逻辑删除 */ + public static final String FIELD_DELETE_LOGIC = "deleted"; + /** 乐观锁 */ + public static final String FIELD_OPTIMISTIC_LOCK = "version"; + + private MyBatisConstants(){} +} diff --git a/opsli-common/src/main/java/org/opsli/common/constants/OrderConstants.java b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/constants/OrderConstants.java similarity index 85% rename from opsli-common/src/main/java/org/opsli/common/constants/OrderConstants.java rename to opsli-base-support/opsli-common/src/main/java/org/opsli/common/constants/OrderConstants.java index d88ec65f..f5ed382f 100644 --- a/opsli-common/src/main/java/org/opsli/common/constants/OrderConstants.java +++ b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/constants/OrderConstants.java @@ -7,6 +7,9 @@ package org.opsli.common.constants; */ public interface OrderConstants { + /** SQL 切面执行顺序 */ + int SQL_ORDER = 190; + /** 热点数据加载顺序 */ int HOT_DATA_ORDER = 180; diff --git a/opsli-common/src/main/java/org/opsli/common/enums/SystemInfo.java b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/enums/SystemInfo.java similarity index 100% rename from opsli-common/src/main/java/org/opsli/common/enums/SystemInfo.java rename to opsli-base-support/opsli-common/src/main/java/org/opsli/common/enums/SystemInfo.java diff --git a/opsli-common/src/main/java/org/opsli/common/exception/EmptyException.java b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/exception/EmptyException.java similarity index 100% rename from opsli-common/src/main/java/org/opsli/common/exception/EmptyException.java rename to opsli-base-support/opsli-common/src/main/java/org/opsli/common/exception/EmptyException.java diff --git a/opsli-common/src/main/java/org/opsli/common/exception/ServiceException.java b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/exception/ServiceException.java similarity index 100% rename from opsli-common/src/main/java/org/opsli/common/exception/ServiceException.java rename to opsli-base-support/opsli-common/src/main/java/org/opsli/common/exception/ServiceException.java diff --git a/opsli-common/src/main/java/org/opsli/common/msg/CommonMsg.java b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/msg/CommonMsg.java similarity index 100% rename from opsli-common/src/main/java/org/opsli/common/msg/CommonMsg.java rename to opsli-base-support/opsli-common/src/main/java/org/opsli/common/msg/CommonMsg.java diff --git a/opsli-common/src/main/java/org/opsli/common/utils/PackageUtil.java b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/utils/PackageUtil.java similarity index 100% rename from opsli-common/src/main/java/org/opsli/common/utils/PackageUtil.java rename to opsli-base-support/opsli-common/src/main/java/org/opsli/common/utils/PackageUtil.java diff --git a/opsli-base-support/opsli-common/src/main/java/org/opsli/common/utils/WrapperUtil.java b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/utils/WrapperUtil.java new file mode 100644 index 00000000..f3c7e796 --- /dev/null +++ b/opsli-base-support/opsli-common/src/main/java/org/opsli/common/utils/WrapperUtil.java @@ -0,0 +1,105 @@ +package org.opsli.common.utils; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.ReflectUtil; +import com.google.common.collect.Lists; +import lombok.extern.slf4j.Slf4j; + +import java.util.List; +import java.util.Map; + +/** + * @BelongsProject: opsli-boot + * @BelongsPackage: org.opsli.common.utils + * @Author: Parker + * @CreateTime: 2020-09-19 00:08 + * @Description: 转化对象工具类 + * + * 用于 Wrapper 对象 转化为本地对象,或者本地对象转化为Wrapper对象 + * + */ +@Slf4j +public final class WrapperUtil { + + /** 私有化构造函数 */ + private WrapperUtil(){} + + /** + * 转化对象 + * @param from + * @param toClass + * @param + * @return + */ + public static M transformInstance(T from, Class toClass){ + M m = null; + try { + Object toObj = ReflectUtil.newInstance(toClass); + Map stringBeanMap = BeanUtil.beanToMap(from); + if(stringBeanMap != null){ + Object toInstance = BeanUtil.fillBeanWithMapIgnoreCase(stringBeanMap, toObj, true); + if(toInstance != null){ + m = (M) toInstance; + } + } + }catch (Exception e){ + log.error(e.getMessage(),e); + } + return m; + } + + + /** + * 转化集合对象 + * @param froms + * @param toClass + * @param + * @return + */ + public static List transformInstance(List froms, Class toClass){ + List toInstanceList = Lists.newArrayListWithCapacity(froms.size()); + try { + for (Object from : froms) { + Object toObj = ReflectUtil.newInstance(toClass); + Map stringBeanMap = BeanUtil.beanToMap(from); + if(stringBeanMap != null){ + Object toInstance = BeanUtil.fillBeanWithMapIgnoreCase(stringBeanMap, toObj, true); + if(toInstance != null){ + toInstanceList.add((M) toInstance); + } + } + } + + }catch (Exception e){ + log.error(e.getMessage(),e); + } + return toInstanceList; + } + + /** + * 克隆并且转化对象 + * @param from + * @param toClass + * @param + * @return + */ + public static M cloneTransformInstance(T from, Class toClass){ + T fromByClone = ObjectUtil.cloneByStream(from); + return transformInstance(fromByClone,toClass); + } + + + /** + * 克隆并且转化集合对象 + * @param froms + * @param toClass + * @param + * @return + */ + public static List cloneTransformInstance(List froms, Class toClass){ + List ts = ObjectUtil.cloneByStream(froms); + return transformInstance(ts,toClass); + } + +} diff --git a/opsli-base-support/pom.xml b/opsli-base-support/pom.xml new file mode 100644 index 00000000..c642c589 --- /dev/null +++ b/opsli-base-support/pom.xml @@ -0,0 +1,21 @@ + + + + opsli-boot-parent + org.opsliframework.boot + 1.0.0 + + + 4.0.0 + opsli-base-support + 1.0.0 + pom + + + opsli-common + opsli-core + + + \ No newline at end of file diff --git a/opsli-core/src/main/java/org/opsli/core/base/service/impl/CrudServiceImpl.java b/opsli-core/src/main/java/org/opsli/core/base/service/impl/CrudServiceImpl.java deleted file mode 100644 index bfecbccf..00000000 --- a/opsli-core/src/main/java/org/opsli/core/base/service/impl/CrudServiceImpl.java +++ /dev/null @@ -1,122 +0,0 @@ -package org.opsli.core.base.service.impl; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.google.common.collect.Lists; -import lombok.extern.slf4j.Slf4j; -import org.opsli.core.base.entity.BaseEntity; -import org.opsli.core.base.service.base.BaseService; -import org.opsli.core.base.service.interfaces.CrudServiceInterface; - -import java.util.Arrays; -import java.util.Collection; -import java.util.List; - -/** - * @BelongsProject: opsli-boot - * @BelongsPackage: org.opsli.common.base.service.impl - * @Author: Parker - * @CreateTime: 2020-09-14 17:31 - * @Description: CurdServiceImpl 基类 - 实现类 - * - * 这里 可能觉得 增改 最次返回的也是实体对象 设计的有问题 - * - * 其实是为了 热点数据 切面用的 用来 增加或者清理数据 - * - * 没有 直接用一个save类的原因,可能是觉得 新增和修改分开一些会比较好 防止串了数据 - * - */ -@Slf4j -public abstract class CrudServiceImpl, T extends BaseEntity> - extends BaseService implements CrudServiceInterface { - - /** entity Class 类 */ - protected Class entityClazz; - - - @Override - public T get(String id) { - return baseMapper.selectById(id); - } - - @Override - public T get(T entity) { - if(entity == null) return null; - return baseMapper.selectById(entity.getId()); - } - - @Override - public List findList(T entity) { - //baseMapper.selectList() - return null; - } - - @Override - public T insert(T entity) { - if(entity == null) return null; - int count = baseMapper.insert(entity); - if(count > 0){ - return entity; - } - return null; - } - - @Override - public T update(T entity) { - if(entity == null) return null; - int count = baseMapper.updateById(entity); - if(count > 0){ - return entity; - } - return null; - } - - @Override - public int delete(String id) { - return baseMapper.deleteById(id); - } - - @Override - public int delete(T entity) { - if(entity == null) return 0; - return baseMapper.deleteById(entity.getId()); - } - - @Override - public int deleteAll(String[] ids) { - if(ids == null) return 0; - List idList = Arrays.asList(ids); - return baseMapper.deleteBatchIds(idList); - } - - @Override - public int deleteAll(Collection entitys) { - if(entitys == null || entitys.isEmpty()) return 0; - List idList = Lists.newArrayListWithCapacity(entitys.size()); - for (T entity : entitys) { - idList.add(entity.getId()); - } - return baseMapper.deleteBatchIds(idList); - } - - @Override - public int deleteByLogic(String id) { - return 0; - } - - @Override - public int deleteByLogic(T entity) { - return 0; - } - - @Override - public int deleteAllByLogic(String[] ids) { - return 0; - } - - @Override - public int deleteAllByLogic(Collection entities) { - return 0; - } - - -} diff --git a/opsli-core/src/main/java/org/opsli/core/base/service/interfaces/CrudServiceInterface.java b/opsli-core/src/main/java/org/opsli/core/base/service/interfaces/CrudServiceInterface.java deleted file mode 100644 index e645084e..00000000 --- a/opsli-core/src/main/java/org/opsli/core/base/service/interfaces/CrudServiceInterface.java +++ /dev/null @@ -1,136 +0,0 @@ -package org.opsli.core.base.service.interfaces; - - - -import java.util.Collection; -import java.util.List; - -public interface CrudServiceInterface extends BaseServiceInterface { - - - /** - * 获取单条数据 - * - * @param id - * @return - */ - T get(String id); - - /** - * 获取单条数据 - * - * @param entity - * @return - */ - T get(T entity); - - - /** - * 查询数据列表 - * - * @param entity - * @return - */ - List findList(T entity); - - - /** - * 插入数据 - * - * @param entity - * @return - */ - T insert(T entity); - - /** - * 更新数据 - * - * @param entity - * @return - */ - T update(T entity); - - - /** - * 删除数据(物理删除,从数据库中彻底删除) - * - * @param id - * @return - * @see int delete(T entity) - */ - int delete(String id); - - - /** - * 删除数据(物理删除,从数据库中彻底删除) - * - * @param entity - * @return - */ - int delete(T entity); - - - /** - * 批量物理删除 - * @param ids - * @return - */ - int deleteAll(String[] ids); - - /** - * 批量物理删除 - * @param entitys - * @return - */ - int deleteAll(Collection entitys); - - - /** - * 删除数据(逻辑删除,更新del_flag字段为1,在表包含字段del_flag时,可以调用此方法,将数据隐藏) - * - * @param id - * @return - * @see int delete(T entity) - */ - int deleteByLogic(String id); - - - /** - * 删除数据(逻辑删除,更新del_flag字段为1,在表包含字段del_flag时,可以调用此方法,将数据隐藏) - * - * @param entity - * @return - * @see int delete(T entity) - */ - int deleteByLogic(T entity); - - - /** - * 批量逻辑删除 - * @param ids - * @return - */ - int deleteAllByLogic(String[] ids); - - /** - * 批量逻辑删除 - * @param entitys - * @return - */ - int deleteAllByLogic(Collection entitys); - - /** - * 查询所有数据列表 - * - * @return - * @see List findAllList(T entity) - */ - //Page findPage(Page page, T t); - - -} - - - - - diff --git a/opsli-core/src/main/java/org/opsli/core/conf/SpringWebMvcConfig.java b/opsli-core/src/main/java/org/opsli/core/conf/SpringWebMvcConfig.java deleted file mode 100644 index f3f9b8c8..00000000 --- a/opsli-core/src/main/java/org/opsli/core/conf/SpringWebMvcConfig.java +++ /dev/null @@ -1,27 +0,0 @@ -package org.opsli.core.conf; - -import org.opsli.common.annotation.ApiRestController; -import org.opsli.core.prop.ApiPathProperties; -import org.springframework.context.annotation.Configuration; -import org.springframework.web.servlet.config.annotation.PathMatchConfigurer; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; - -import javax.annotation.Resource; - -/** - * 配置统一的后台接口访问路径的前缀 - * @author C西 - */ -@Configuration -public class SpringWebMvcConfig implements WebMvcConfigurer { - - @Resource - private ApiPathProperties apiPathProperties; - - @Override - public void configurePathMatch(PathMatchConfigurer configurer) { - configurer - .addPathPrefix(apiPathProperties.getGlobalPrefix(),c -> c.isAnnotationPresent(ApiRestController.class)); - } - -} diff --git a/opsli-modulars/opsli-modulars-test/src/main/java/org/opsli/modulars/test/mapper/TestMapper.java b/opsli-modulars/opsli-modulars-test/src/main/java/org/opsli/modulars/test/mapper/TestMapper.java index a8cba71e..d3a1dc37 100644 --- a/opsli-modulars/opsli-modulars-test/src/main/java/org/opsli/modulars/test/mapper/TestMapper.java +++ b/opsli-modulars/opsli-modulars-test/src/main/java/org/opsli/modulars/test/mapper/TestMapper.java @@ -9,7 +9,7 @@ import org.opsli.modulars.test.entity.TestEntity; * @BelongsPackage: org.opsli.modulars.test.mapper * @Author: Parker * @CreateTime: 2020-09-17 13:01 - * @Description: TODO + * @Description: 测试Mapper */ @Mapper public interface TestMapper extends BaseMapper { diff --git a/opsli-modulars/opsli-modulars-test/src/main/java/org/opsli/modulars/test/service/ITestService.java b/opsli-modulars/opsli-modulars-test/src/main/java/org/opsli/modulars/test/service/ITestService.java index 1b4e64a6..192fd5f7 100644 --- a/opsli-modulars/opsli-modulars-test/src/main/java/org/opsli/modulars/test/service/ITestService.java +++ b/opsli-modulars/opsli-modulars-test/src/main/java/org/opsli/modulars/test/service/ITestService.java @@ -1,5 +1,6 @@ package org.opsli.modulars.test.service; +import org.opsli.api.wrapper.test.TestModel; import org.opsli.core.base.service.interfaces.CrudServiceInterface; import org.opsli.modulars.test.entity.TestEntity; @@ -10,13 +11,13 @@ import org.opsli.modulars.test.entity.TestEntity; * @CreateTime: 2020-09-17 13:07 * @Description: 测试接口 */ -public interface ITestService extends CrudServiceInterface { +public interface ITestService extends CrudServiceInterface { /** * 根据名称 获得对象 - * @param testEntity + * @param model * @return */ - TestEntity getByName(TestEntity testEntity); + TestModel getByName(TestModel model); } diff --git a/opsli-modulars/opsli-modulars-test/src/main/java/org/opsli/modulars/test/service/impl/TestServiceImpl.java b/opsli-modulars/opsli-modulars-test/src/main/java/org/opsli/modulars/test/service/impl/TestServiceImpl.java index 2f3888d9..e0606353 100644 --- a/opsli-modulars/opsli-modulars-test/src/main/java/org/opsli/modulars/test/service/impl/TestServiceImpl.java +++ b/opsli-modulars/opsli-modulars-test/src/main/java/org/opsli/modulars/test/service/impl/TestServiceImpl.java @@ -1,5 +1,6 @@ package org.opsli.modulars.test.service.impl; +import org.opsli.api.wrapper.test.TestModel; import org.opsli.common.annotation.EnableHotData; import org.opsli.common.annotation.HotDataDel; import org.opsli.common.annotation.HotDataPut; @@ -25,32 +26,35 @@ import java.util.Collection; * 然后对 需要处理数据的 方法重写 并且加上 热数据处理 注解 * -- @HotDataPut 热数据更新 @HotDataDel 热数据删除 * + * */ @Service // 开启热数据标示 不加不生效 @EnableHotData -public class TestServiceImpl extends CrudServiceImpl implements ITestService { +public class TestServiceImpl extends CrudServiceImpl implements ITestService { @Autowired(required = false) private TestMapper mapper; @Override - public TestEntity getByName(TestEntity testEntity) { - return mapper.getByName(testEntity); + public TestModel getByName(TestModel model) { + TestEntity entity = super.transformM2T(model); + return super.transformT2M( + mapper.getByName(entity)); } // ============== 重写 父类方法 实现热数据操作 ============== @Override @HotDataPut - public TestEntity insert(TestEntity entity) { - return super.insert(entity); + public TestModel insert(TestModel model) { + return super.insert(model); } @Override @HotDataPut - public TestEntity update(TestEntity entity) { - return super.update(entity); + public TestModel update(TestModel model) { + return super.update(model); } @Override @@ -61,20 +65,8 @@ public class TestServiceImpl extends CrudServiceImpl impl @Override @HotDataDel - public int delete(TestEntity entity) { - return super.delete(entity); - } - - @Override - @HotDataDel - public int deleteByLogic(String id) { - return super.deleteByLogic(id); - } - - @Override - @HotDataDel - public int deleteByLogic(TestEntity entity) { - return super.deleteByLogic(entity); + public int delete(TestModel model) { + return super.delete(model); } @Override @@ -85,21 +77,10 @@ public class TestServiceImpl extends CrudServiceImpl impl @Override @HotDataDel - public int deleteAll(Collection entitys) { - return super.deleteAll(entitys); - } - - @Override - @HotDataDel - public int deleteAllByLogic(String[] ids) { - return super.deleteAllByLogic(ids); + public int deleteAll(Collection models) { + return super.deleteAll(models); } - @Override - @HotDataDel - public int deleteAllByLogic(Collection entities) { - return super.deleteAllByLogic(entities); - } } diff --git a/opsli-modulars/opsli-modulars-test/src/main/java/org/opsli/modulars/test/web/TestRestRestController.java b/opsli-modulars/opsli-modulars-test/src/main/java/org/opsli/modulars/test/web/TestRestRestController.java index 77c70f8a..c53c5507 100644 --- a/opsli-modulars/opsli-modulars-test/src/main/java/org/opsli/modulars/test/web/TestRestRestController.java +++ b/opsli-modulars/opsli-modulars-test/src/main/java/org/opsli/modulars/test/web/TestRestRestController.java @@ -1,9 +1,12 @@ package org.opsli.modulars.test.web; import cn.hutool.core.thread.ThreadUtil; +import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; +import org.opsli.api.base.result.ResultVo; +import org.opsli.api.wrapper.test.TestModel; +import org.opsli.api.web.test.ITestApi; import org.opsli.common.annotation.ApiRestController; -import org.opsli.common.api.ResultVo; import org.opsli.core.base.concroller.BaseRestController; import org.opsli.core.cache.pushsub.enums.CacheType; import org.opsli.core.cache.pushsub.msgs.DictMsgFactory; @@ -16,7 +19,6 @@ import org.opsli.plugins.redis.RedisPlugin; import org.opsli.plugins.redis.lock.RedisLock; import org.opsli.plugins.redis.pushsub.entity.BaseSubMessage; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; import java.util.ArrayList; import java.util.List; @@ -32,7 +34,8 @@ import java.util.concurrent.TimeUnit; * @Description: 测试类 */ @ApiRestController("/test") -public class TestRestRestController extends BaseRestController { +public class TestRestRestController extends BaseRestController + implements ITestApi { private Random random = new Random(); @@ -46,8 +49,8 @@ public class TestRestRestController extends BaseRestController idList = new ArrayList<>(); idList.add(testEntity1); + + //count = IService.delete(id); + + //count = IService.delete(testEntity1); + + //count = IService.deleteAll(idList); + + + IService.deleteAll(ids); + + ResultVo resultVo = new ResultVo(); + resultVo.put("data",id); + resultVo.setMsg("删除对象成功"); + return resultVo; + } + + + /** + * 删除对象 + * @return + */ + @ApiOperation(value = "删除全部对象", notes = "删除全部对象") + @Override + public ResultVo delAll(){ + + //IService. + int count = 0; - count = IService.delete(id); + //count = IService.delete(id); //count = IService.delete(testEntity1); @@ -213,18 +242,12 @@ public class TestRestRestController extends BaseRestController - - - org.opsliframework.boot - opsli-common - ${project.parent.version} - - org.opsliframework.boot diff --git a/opsli-web/README.md b/opsli-starter/README.md similarity index 100% rename from opsli-web/README.md rename to opsli-starter/README.md diff --git a/opsli-web/pom.xml b/opsli-starter/pom.xml similarity index 97% rename from opsli-web/pom.xml rename to opsli-starter/pom.xml index d6096bf1..496505ff 100644 --- a/opsli-web/pom.xml +++ b/opsli-starter/pom.xml @@ -10,7 +10,7 @@ 4.0.0 - opsli-web + opsli-starter ${project.parent.version} diff --git a/opsli-web/src/main/java/org/opsli/OpsliApplication.java b/opsli-starter/src/main/java/org/opsli/OpsliApplication.java similarity index 97% rename from opsli-web/src/main/java/org/opsli/OpsliApplication.java rename to opsli-starter/src/main/java/org/opsli/OpsliApplication.java index e3866ee2..2aba19f5 100644 --- a/opsli-web/src/main/java/org/opsli/OpsliApplication.java +++ b/opsli-starter/src/main/java/org/opsli/OpsliApplication.java @@ -7,7 +7,6 @@ import org.springframework.context.ConfigurableApplicationContext; import springfox.documentation.swagger2.annotations.EnableSwagger2; -@EnableSwagger2 @SpringBootApplication() public class OpsliApplication { diff --git a/opsli-web/src/main/java/org/opsli/general/StartPrint.java b/opsli-starter/src/main/java/org/opsli/general/StartPrint.java similarity index 100% rename from opsli-web/src/main/java/org/opsli/general/StartPrint.java rename to opsli-starter/src/main/java/org/opsli/general/StartPrint.java diff --git a/opsli-web/src/main/resources/application-beta.yaml b/opsli-starter/src/main/resources/application-beta.yaml similarity index 100% rename from opsli-web/src/main/resources/application-beta.yaml rename to opsli-starter/src/main/resources/application-beta.yaml diff --git a/opsli-web/src/main/resources/application-dev.yaml b/opsli-starter/src/main/resources/application-dev.yaml similarity index 100% rename from opsli-web/src/main/resources/application-dev.yaml rename to opsli-starter/src/main/resources/application-dev.yaml diff --git a/opsli-web/src/main/resources/application-release.yaml b/opsli-starter/src/main/resources/application-release.yaml similarity index 100% rename from opsli-web/src/main/resources/application-release.yaml rename to opsli-starter/src/main/resources/application-release.yaml diff --git a/opsli-web/src/main/resources/application.yaml b/opsli-starter/src/main/resources/application.yaml similarity index 100% rename from opsli-web/src/main/resources/application.yaml rename to opsli-starter/src/main/resources/application.yaml diff --git a/opsli-web/src/main/resources/config/ehcache-opsli.xml b/opsli-starter/src/main/resources/config/ehcache-opsli.xml similarity index 100% rename from opsli-web/src/main/resources/config/ehcache-opsli.xml rename to opsli-starter/src/main/resources/config/ehcache-opsli.xml diff --git a/opsli-web/src/main/resources/config/logback-spring.xml b/opsli-starter/src/main/resources/config/logback-spring.xml similarity index 100% rename from opsli-web/src/main/resources/config/logback-spring.xml rename to opsli-starter/src/main/resources/config/logback-spring.xml diff --git a/opsli-web/src/main/resources/msg/README.md b/opsli-starter/src/main/resources/msg/README.md similarity index 100% rename from opsli-web/src/main/resources/msg/README.md rename to opsli-starter/src/main/resources/msg/README.md diff --git a/pom.xml b/pom.xml index cec0ebbb..d1ba5781 100644 --- a/pom.xml +++ b/pom.xml @@ -47,11 +47,13 @@ - opsli-web - opsli-core - opsli-common + opsli-api + opsli-base-support + + opsli-plugins opsli-modulars + opsli-starter @@ -188,41 +190,6 @@ - - - - io.springfox - springfox-swagger2 - 2.9.2 - - - io.springfox - springfox-swagger-ui - 2.9.2 - - - com.github.xiaoymin - swagger-bootstrap-ui - 1.9.3 - - - io.springfox - springfox-bean-validators - 2.9.2 - - - - io.swagger - swagger-annotations - 1.5.22 - - - io.swagger - swagger-models - 1.5.22 - - - @@ -248,6 +215,9 @@ ${guava.version} + + + org.projectlombok