瀏覽代碼

终于编译通过了

zhou-hao 5 年之前
父節點
當前提交
e21b66b80b
共有 46 個文件被更改,包括 109 次插入1094 次删除
  1. 0 31
      hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/pom.xml
  2. 0 59
      hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/main/java/org/hswebframework/web/service/oauth2/AbstractOAuth2CrudService.java
  3. 0 8
      hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/main/java/org/hswebframework/web/service/oauth2/OAuth2CrudService.java
  4. 0 10
      hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/main/java/org/hswebframework/web/service/oauth2/OAuth2DeleteService.java
  5. 0 11
      hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/main/java/org/hswebframework/web/service/oauth2/OAuth2InsertService.java
  6. 0 32
      hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/main/java/org/hswebframework/web/service/oauth2/OAuth2QueryByEntityService.java
  7. 0 36
      hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/main/java/org/hswebframework/web/service/oauth2/OAuth2QueryService.java
  8. 0 33
      hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/main/java/org/hswebframework/web/service/oauth2/OAuth2ServiceSupport.java
  9. 0 24
      hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/main/java/org/hswebframework/web/service/oauth2/OAuth2UpdateService.java
  10. 0 175
      hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/test/java/org/hswebframework/web/service/oauth2/AbstractOAuth2CrudServiceTests.java
  11. 0 111
      hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/test/java/org/hswebframework/web/service/oauth2/MockOAuth2Request.java
  12. 0 66
      hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/test/java/org/hswebframework/web/service/oauth2/MockOAuth2Response.java
  13. 0 20
      hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/test/java/org/hswebframework/web/service/oauth2/TestEntity.java
  14. 0 13
      hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/test/java/org/hswebframework/web/service/oauth2/TestEntityService.java
  15. 0 1
      hsweb-commons/hsweb-commons-service/pom.xml
  16. 5 0
      hsweb-system/hsweb-system-dashboard/hsweb-system-dashboard-local/pom.xml
  17. 4 3
      hsweb-system/hsweb-system-dashboard/hsweb-system-dashboard-local/src/main/java/org/hswebframework/web/dashboard/local/strategy/ScriptExecutorStrategy.java
  18. 5 0
      hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-local/pom.xml
  19. 0 9
      hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-local/src/main/java/org/hswebframework/web/dictionary/simple/SimpleDictionaryService.java
  20. 4 0
      hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-starter/pom.xml
  21. 0 3
      hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-starter/src/main/java/org/hswebframework/web/dictionary/starter/DictionaryFactoryAutoConfiguration.java
  22. 0 29
      hsweb-system/hsweb-system-file/hsweb-system-file-oauth2/pom.xml
  23. 0 28
      hsweb-system/hsweb-system-file/hsweb-system-file-oauth2/src/main/java/org/hswebframework/web/service/file/oauth2/OAuth2FileAutoConfiguration.java
  24. 0 50
      hsweb-system/hsweb-system-file/hsweb-system-file-oauth2/src/main/java/org/hswebframework/web/service/file/oauth2/OAuth2FileInfoService.java
  25. 0 86
      hsweb-system/hsweb-system-file/hsweb-system-file-oauth2/src/main/java/org/hswebframework/web/service/file/oauth2/OAuth2FileService.java
  26. 0 3
      hsweb-system/hsweb-system-file/hsweb-system-file-oauth2/src/main/resources/META-INF/spring.factories
  27. 5 0
      hsweb-system/hsweb-system-file/hsweb-system-file-web/pom.xml
  28. 1 1
      hsweb-system/hsweb-system-file/hsweb-system-file-web/src/main/java/org/hswebframework/web/controller/file/FileInfoController.java
  29. 0 1
      hsweb-system/hsweb-system-file/pom.xml
  30. 1 1
      hsweb-system/hsweb-system-oauth2-client/hsweb-system-oauth2-client-web/src/main/java/org/hswebframework/web/authorization/oauth2/controller/OAuth2UserTokenController.java
  31. 5 0
      hsweb-system/hsweb-system-script/hsweb-system-script-local/pom.xml
  32. 1 10
      hsweb-system/hsweb-system-script/hsweb-system-script-local/src/main/java/org/hswebframework/web/service/script/simple/SimpleScriptService.java
  33. 5 0
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/pom.xml
  34. 1 1
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/dimension/parser/DepartmentCandidateDimensionParserStrategy.java
  35. 1 1
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/dimension/parser/OrgCandidateDimensionParserStrategy.java
  36. 1 1
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/dimension/parser/PositionCandidateDimensionParserStrategy.java
  37. 0 4
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/flowable/FlowableAutoConfiguration.java
  38. 7 12
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/service/imp/BpmTaskServiceImpl.java
  39. 36 55
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/service/imp/WorkFlowFormServiceImpl.java
  40. 0 42
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/terms/ClaimSqlTerm.java
  41. 0 42
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/terms/CompletedSqlTerm.java
  42. 0 45
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/terms/ProcessParticipateSqlTerm.java
  43. 20 22
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/terms/TodoSqlTerm.java
  44. 0 14
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/terms/WorkflowTermsAutoConfiguration.java
  45. 1 1
      hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/web/FlowableProcessController.java
  46. 6 0
      hsweb-thirdparty/hsweb-thirdparty-ueditor/pom.xml

+ 0 - 31
hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/pom.xml

@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>hsweb-commons-service</artifactId>
-        <groupId>org.hswebframework.web</groupId>
-        <version>3.1.0-SNAPSHOT</version>
-
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>hsweb-commons-service-oauth2</artifactId>
-
-    <description>通用增删改查-通用服务OAuth2实现模块</description>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.hswebframework.web</groupId>
-            <artifactId>hsweb-commons-service-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.hswebframework.web</groupId>
-            <artifactId>hsweb-authorization-oauth2-client</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-
-    </dependencies>
-</project>

+ 0 - 59
hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/main/java/org/hswebframework/web/service/oauth2/AbstractOAuth2CrudService.java

@@ -1,59 +0,0 @@
-package org.hswebframework.web.service.oauth2;
-
-import org.hswebframework.utils.ClassUtils;
-import org.hswebframework.web.authorization.oauth2.client.OAuth2RequestService;
-import org.hswebframework.web.commons.entity.factory.EntityFactory;
-import org.hswebframework.web.service.CreateEntityService;
-import org.springframework.beans.factory.annotation.Autowired;
-
-@SuppressWarnings("unchecked")
-public abstract class AbstractOAuth2CrudService<E, PK> implements CreateEntityService<E>, OAuth2CrudService<E, PK> {
-
-    private Class<E> entityType;
-
-    private Class<PK> primaryKeyType;
-
-    private OAuth2RequestService oAuth2RequestService;
-
-    private EntityFactory entityFactory;
-
-    public AbstractOAuth2CrudService() {
-        entityType = (Class) ClassUtils.getGenericType(this.getClass(), 0);
-        primaryKeyType = (Class) ClassUtils.getGenericType(this.getClass(), 1);
-    }
-
-    @Override
-    public E createEntity() {
-        return entityFactory.newInstance(entityType);
-    }
-
-    @Override
-    public Class<E> getEntityInstanceType() {
-        return entityType;
-    }
-
-    @Override
-    public OAuth2RequestService getRequestService() {
-        return oAuth2RequestService;
-    }
-
-    @Override
-    public Class<E> getEntityType() {
-        return entityType;
-    }
-
-    @Override
-    public Class<PK> getPrimaryKeyType() {
-        return primaryKeyType;
-    }
-
-    @Autowired
-    public void setEntityFactory(EntityFactory entityFactory) {
-        this.entityFactory = entityFactory;
-    }
-
-    @Autowired
-    public void setoAuth2RequestService(OAuth2RequestService oAuth2RequestService) {
-        this.oAuth2RequestService = oAuth2RequestService;
-    }
-}

+ 0 - 8
hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/main/java/org/hswebframework/web/service/oauth2/OAuth2CrudService.java

@@ -1,8 +0,0 @@
-package org.hswebframework.web.service.oauth2;
-
-public interface OAuth2CrudService<E, PK> extends OAuth2QueryService<E, PK>
-        , OAuth2QueryByEntityService<E>
-        , OAuth2DeleteService<E,PK>
-        , OAuth2InsertService<E, PK>
-        , OAuth2UpdateService<E, PK> {
-}

+ 0 - 10
hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/main/java/org/hswebframework/web/service/oauth2/OAuth2DeleteService.java

@@ -1,10 +0,0 @@
-package org.hswebframework.web.service.oauth2;
-
-import org.hswebframework.web.service.DeleteService;
-
-public interface OAuth2DeleteService<E, PK> extends DeleteService<E, PK>, OAuth2ServiceSupport {
-    @Override
-    default E deleteByPk(PK pk) {
-        return createRequest("/" + pk).delete().as(getEntityType());
-    }
-}

+ 0 - 11
hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/main/java/org/hswebframework/web/service/oauth2/OAuth2InsertService.java

@@ -1,11 +0,0 @@
-package org.hswebframework.web.service.oauth2;
-
-import com.alibaba.fastjson.JSON;
-import org.hswebframework.web.service.InsertService;
-
-public interface OAuth2InsertService<E, PK> extends InsertService<E, PK>, OAuth2ServiceSupport {
-    @Override
-    default PK insert(E data) {
-        return createRequest("/").requestBody(JSON.toJSONString(data)).post().as(getPrimaryKeyType());
-    }
-}

+ 0 - 32
hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/main/java/org/hswebframework/web/service/oauth2/OAuth2QueryByEntityService.java

@@ -1,32 +0,0 @@
-package org.hswebframework.web.service.oauth2;
-
-import com.alibaba.fastjson.JSONObject;
-import org.hswebframework.web.commons.entity.Entity;
-import org.hswebframework.web.commons.entity.PagerResult;
-import org.hswebframework.web.service.QueryByEntityService;
-
-import java.util.List;
-
-public interface OAuth2QueryByEntityService<E> extends QueryByEntityService<E>, OAuth2ServiceSupport {
-
-    @Override
-    default PagerResult<E> selectPager(Entity param) {
-        JSONObject result = createRequest("/", param).get().as(JSONObject.class);
-        return PagerResult.of(result.getInteger("total"), result.getJSONArray("data").toJavaList(getEntityType()));
-    }
-
-    @Override
-    default List<E> select(Entity param) {
-        return createRequest("/no-paging", param).get().asList(getEntityType());
-    }
-
-    @Override
-    default int count(Entity param) {
-        return createRequest("/count", param).get().as(Integer.class);
-    }
-
-    @Override
-    default E selectSingle(Entity param) {
-        return createRequest("/single", param).get().as(getEntityType());
-    }
-}

+ 0 - 36
hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/main/java/org/hswebframework/web/service/oauth2/OAuth2QueryService.java

@@ -1,36 +0,0 @@
-package org.hswebframework.web.service.oauth2;
-
-import org.hswebframework.web.service.QueryService;
-
-import java.util.List;
-
-public interface OAuth2QueryService<E, PK> extends OAuth2ServiceSupport, QueryService<E, PK> {
-
-    @Override
-    default E selectByPk(PK id) {
-        return createRequest("/" + id).get().as(getEntityType());
-    }
-
-    @Override
-    default List<E> select() {
-        return createRequest("/all").get().asList(getEntityType());
-    }
-
-    @Override
-    default List<E> selectByPk(List<PK> id) {
-        return createRequest("/ids")
-                .param("ids", id.stream()
-                        .map(String::valueOf)
-                        .reduce((id1, id2) -> String.join(",", id1, id2))
-                        .orElse(""))
-                .get()
-                .asList(getEntityType());
-    }
-
-    @Override
-    default int count() {
-        return createRequest("/count")
-                .get()
-                .as(Integer.class);
-    }
-}

+ 0 - 33
hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/main/java/org/hswebframework/web/service/oauth2/OAuth2ServiceSupport.java

@@ -1,33 +0,0 @@
-package org.hswebframework.web.service.oauth2;
-
-
-import org.hswebframework.web.WebUtil;
-import org.hswebframework.web.authorization.oauth2.client.OAuth2RequestService;
-import org.hswebframework.web.authorization.oauth2.client.request.OAuth2Request;
-import org.hswebframework.web.authorization.oauth2.client.request.OAuth2Session;
-
-public interface OAuth2ServiceSupport {
-
-    OAuth2RequestService getRequestService();
-
-    String getServiceId();
-
-    String getUriPrefix();
-
-    <E> Class<E> getEntityType();
-
-    <PK> Class<PK> getPrimaryKeyType();
-
-    default OAuth2Session createSession() {
-        return getRequestService().create(getServiceId()).byClientCredentials();
-    }
-
-    default OAuth2Request createRequest(String uri) {
-        return createSession().request(getUriPrefix() + uri);
-    }
-
-    default OAuth2Request createRequest(String uri, Object param) {
-        return createSession().request(getUriPrefix() + uri)
-                .params(WebUtil.objectToHttpParameters(param));
-    }
-}

+ 0 - 24
hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/main/java/org/hswebframework/web/service/oauth2/OAuth2UpdateService.java

@@ -1,24 +0,0 @@
-package org.hswebframework.web.service.oauth2;
-
-import com.alibaba.fastjson.JSON;
-import org.hswebframework.web.service.UpdateService;
-
-import java.util.List;
-
-public interface OAuth2UpdateService<E, PK> extends UpdateService<E, PK>, OAuth2ServiceSupport {
-
-    @Override
-    default int updateByPk(PK id, E data) {
-        return createRequest("/" + id).requestBody(JSON.toJSONString(data)).put().as(Integer.class);
-    }
-
-    @Override
-    default int updateByPk(List<E> data) {
-        return createRequest("/batch").requestBody(JSON.toJSONString(data)).put().as(Integer.class);
-    }
-
-    @Override
-    default PK saveOrUpdate(E e) {
-        return createRequest("/").requestBody(JSON.toJSONString(e)).patch().as(getPrimaryKeyType());
-    }
-}

+ 0 - 175
hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/test/java/org/hswebframework/web/service/oauth2/AbstractOAuth2CrudServiceTests.java

@@ -1,175 +0,0 @@
-package org.hswebframework.web.service.oauth2;
-
-import com.alibaba.fastjson.JSON;
-import org.hswebframework.web.BusinessException;
-import org.hswebframework.web.authorization.oauth2.client.OAuth2RequestService;
-import org.hswebframework.web.authorization.oauth2.client.OAuth2SessionBuilder;
-import org.hswebframework.web.authorization.oauth2.client.request.OAuth2Request;
-import org.hswebframework.web.authorization.oauth2.client.request.OAuth2Session;
-import org.hswebframework.web.commons.entity.PagerResult;
-import org.hswebframework.web.commons.entity.param.QueryParamEntity;
-import org.hswebframework.web.controller.message.ResponseMessage;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.InjectMocks;
-import org.mockito.Mock;
-import org.mockito.runners.MockitoJUnitRunner;
-
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-
-import static org.mockito.Mockito.*;
-
-@RunWith(MockitoJUnitRunner.class)
-public class AbstractOAuth2CrudServiceTests {
-
-    @Mock
-    private OAuth2RequestService requestService;
-
-    @Mock
-    private OAuth2SessionBuilder sessionBuilder;
-
-    @Mock
-    private OAuth2Session oAuth2Session;
-
-    @InjectMocks
-    private TestEntityService testEntityService;
-
-    @Before
-    public void init() {
-        TestEntity entity = TestEntity.builder().build();
-        entity.setBoy(true);
-        entity.setCreateTime(new Date());
-        entity.setName("test");
-        entity.setId("test");
-
-        when(oAuth2Session.request("/test/")).thenReturn(
-                createFixedResponseRequest(
-                        whenRequest("get", ResponseMessage.ok(PagerResult.of(1, Arrays.asList(entity)))),
-                        whenRequest("post", ResponseMessage.ok("test")),
-                        whenRequest("patch", ResponseMessage.ok("test"))
-                ));
-
-        when(oAuth2Session.request("/test/test")).thenReturn(
-                createFixedResponseRequest(
-                        whenRequest("get", ResponseMessage.ok(entity))
-                        , whenRequest("put", ResponseMessage.ok(1))
-                        , whenRequest("delete", ResponseMessage.ok())));
-
-        when(oAuth2Session.request("/test/no-paging")).thenReturn(
-                createFixedResponseRequest(
-                        whenRequest("get", ResponseMessage.ok(Arrays.asList(entity)))));
-
-        when(oAuth2Session.request("/test/all")).thenReturn(
-                createFixedResponseRequest(
-                        whenRequest("get", ResponseMessage.ok(Arrays.asList(entity)))));
-
-        when(oAuth2Session.request("/test/single")).thenReturn(
-                createFixedResponseRequest(
-                        whenRequest("get", ResponseMessage.ok(entity))));
-
-        when(oAuth2Session.request("/test/count")).thenReturn(
-                createFixedResponseRequest(
-                        whenRequest("get", ResponseMessage.ok(1))));
-
-        when(oAuth2Session.request("/test/ids")).thenReturn(
-                createFixedResponseRequest(
-                        whenRequest("get", ResponseMessage.ok(Arrays.asList(entity)))));
-
-        when(oAuth2Session.request("/test/batch")).thenReturn(
-                createFixedResponseRequest(
-                        whenRequest("put", ResponseMessage.error(400, "名称不能为空"))));
-
-        when(sessionBuilder.byClientCredentials()).thenReturn(oAuth2Session);
-
-        when(requestService.create(anyString())).thenReturn(sessionBuilder);
-
-    }
-
-    private OAuth2Request createFixedResponseRequest(OAuth2MethodRequest... requests) {
-        return new MockOAuth2Request((method) -> {
-            for (OAuth2MethodRequest request : requests) {
-                if (request.getMethod().equals(method)) {
-                    return new MockOAuth2Response(request.getResponse());
-                }
-            }
-            return new MockOAuth2Response(ResponseMessage.error(404, "not found").toString());
-        });
-    }
-
-    @Test
-    public void testCUD() {
-        String id = testEntityService.insert(TestEntity.builder().build());
-        Assert.assertNotNull(id);
-
-
-        TestEntity entity = testEntityService.selectByPk("test");
-        Assert.assertNotNull(entity);
-
-        int i = testEntityService.updateByPk("test", entity);
-        Assert.assertEquals(i, 1);
-
-         testEntityService.deleteByPk("test");
-        Assert.assertEquals(i, 1);
-
-        String saveId = testEntityService.saveOrUpdate(entity);
-        Assert.assertNotNull(saveId, id);
-        try {
-            testEntityService.updateByPk(Arrays.asList(entity));
-            Assert.assertTrue(false);
-        } catch (BusinessException e) {
-            Assert.assertEquals(e.getMessage(), "名称不能为空");
-        }
-
-    }
-
-    @Test
-    public void testQuery() {
-
-        PagerResult<TestEntity> result = testEntityService.selectPager(new QueryParamEntity().where("name", "test"));
-        System.out.println(JSON.toJSONString(result));
-
-        TestEntity entity = testEntityService.selectByPk("test");
-        Assert.assertNotNull(entity);
-        Assert.assertTrue(entity.isBoy());
-        Assert.assertEquals(entity.getName(), "test");
-
-        System.out.println(JSON.toJSONString(entity));
-
-        List<TestEntity> all = testEntityService.select();
-        Assert.assertNotNull(all);
-
-        List<TestEntity> noPaging = testEntityService.select(QueryParamEntity.empty());
-        Assert.assertNotNull(noPaging);
-
-        int total = testEntityService.count(QueryParamEntity.empty());
-        Assert.assertEquals(total, 1);
-
-        total = testEntityService.count();
-        Assert.assertEquals(total, 1);
-
-    }
-
-    interface OAuth2MethodRequest {
-        String getMethod();
-
-        String getResponse();
-    }
-
-    public OAuth2MethodRequest whenRequest(String method, Object json) {
-        return new OAuth2MethodRequest() {
-            @Override
-            public String getMethod() {
-                return method;
-            }
-
-            @Override
-            public String getResponse() {
-                return JSON.toJSONString(json);
-            }
-        };
-    }
-}

+ 0 - 111
hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/test/java/org/hswebframework/web/service/oauth2/MockOAuth2Request.java

@@ -1,111 +0,0 @@
-package org.hswebframework.web.service.oauth2;
-
-import lombok.extern.slf4j.Slf4j;
-import org.hswebframework.web.authorization.oauth2.client.request.OAuth2Request;
-import org.hswebframework.web.authorization.oauth2.client.request.TokenExpiredCallBack;
-import org.hswebframework.web.authorization.oauth2.client.response.OAuth2Response;
-
-import java.io.InputStream;
-import java.util.Map;
-import java.util.function.Consumer;
-import java.util.function.Function;
-
-@Slf4j
-public class MockOAuth2Request implements OAuth2Request {
-
-
-    private Function<String, OAuth2Response> responseGetter;
-
-
-    public MockOAuth2Request(Function<String, OAuth2Response> responseGetter) {
-        this.responseGetter = responseGetter;
-    }
-
-    @Override
-    public OAuth2Request onRefreshTokenExpired(TokenExpiredCallBack refreshTokenExpiredCallBack) {
-        return this;
-    }
-
-    @Override
-    public OAuth2Request onTokenExpired(TokenExpiredCallBack callback) {
-        return this;
-    }
-
-    @Override
-    public OAuth2Request param(String name, Object value) {
-        log.info("set param :{}={}", name, value);
-        return this;
-    }
-
-    @Override
-    public OAuth2Request params(Map<String, String> params) {
-        log.info("set params :{}", params);
-        return this;
-    }
-
-    @Override
-    public OAuth2Response upload(String name, InputStream inputStream) {
-        return responseGetter.apply("post");
-    }
-
-    @Override
-    public OAuth2Response upload(String name, InputStream inputStream, String fileName) {
-        return responseGetter.apply("post");
-    }
-
-    @Override
-    public OAuth2Request requestBody(String value) {
-        log.info("set request body :{}", value);
-        return this;
-    }
-
-    @Override
-    public OAuth2Request header(String name, String value) {
-        return this;
-    }
-
-    @Override
-    public OAuth2Request cookie(String cookie) {
-        return this;
-    }
-
-    @Override
-    public OAuth2Request contentType(String contentType) {
-        return this;
-    }
-
-    @Override
-    public OAuth2Request accept(String accept) {
-        return this;
-    }
-
-    @Override
-    public OAuth2Request timeout(long millisecond, Consumer<OAuth2Request> timeoutCallBack) {
-        return this;
-    }
-
-    @Override
-    public OAuth2Response get() {
-        return responseGetter.apply("get");
-    }
-
-    @Override
-    public OAuth2Response put() {
-        return responseGetter.apply("put");
-    }
-
-    @Override
-    public OAuth2Response post() {
-        return responseGetter.apply("post");
-    }
-
-    @Override
-    public OAuth2Response delete() {
-        return responseGetter.apply("delete");
-    }
-
-    @Override
-    public OAuth2Response patch() {
-        return responseGetter.apply("patch");
-    }
-}

+ 0 - 66
hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/test/java/org/hswebframework/web/service/oauth2/MockOAuth2Response.java

@@ -1,66 +0,0 @@
-package org.hswebframework.web.service.oauth2;
-
-import org.hswebframework.web.authorization.oauth2.client.request.ResponseConvertHandler;
-import org.hswebframework.web.authorization.oauth2.client.response.OAuth2Response;
-import org.hswebframework.web.authorization.oauth2.client.response.ResponseConvert;
-import org.hswebframework.web.authorization.oauth2.client.simple.provider.HswebResponseConvertSupport;
-import org.hswebframework.web.authorization.simple.builder.SimpleAuthenticationBuilderFactory;
-import org.hswebframework.web.authorization.simple.builder.SimpleDataAccessConfigBuilderFactory;
-import org.hswebframework.web.oauth2.core.ErrorType;
-
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-import java.util.List;
-import java.util.function.BiConsumer;
-
-public class MockOAuth2Response implements OAuth2Response {
-
-    private String result;
-
-    private ResponseConvertHandler handler = new HswebResponseConvertSupport(new SimpleAuthenticationBuilderFactory(new SimpleDataAccessConfigBuilderFactory()));
-
-
-    @Override
-    public InputStream asStream() {
-        return new ByteArrayInputStream(result.getBytes());
-    }
-
-    public MockOAuth2Response(String result) {
-        this.result = result;
-    }
-
-    @Override
-    public String asString() {
-        return result;
-    }
-
-    @Override
-    public byte[] asBytes() {
-        return result.getBytes();
-    }
-
-    @Override
-    public <T> T as(ResponseConvert<T> convert) {
-        return convert.convert(this);
-    }
-
-    @Override
-    public <T> T as(Class<T> type) {
-        return handler.convert(this, type);
-    }
-
-    @Override
-    public <T> List<T> asList(Class<T> type) {
-        return handler.convertList(this, type);
-    }
-
-    @Override
-    public int status() {
-        return 200;
-    }
-
-    @Override
-    public OAuth2Response onError(BiConsumer<OAuth2Response, ErrorType> onError) {
-        return this;
-    }
-}

+ 0 - 20
hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/test/java/org/hswebframework/web/service/oauth2/TestEntity.java

@@ -1,20 +0,0 @@
-package org.hswebframework.web.service.oauth2;
-
-import lombok.*;
-import org.hswebframework.web.commons.entity.SimpleGenericEntity;
-
-import java.util.Date;
-
-@Getter
-@Setter
-@Builder
-@NoArgsConstructor
-@AllArgsConstructor
-public class TestEntity extends SimpleGenericEntity<String> {
-    private static final long serialVersionUID = 6405200441627288263L;
-    private String name;
-
-    private boolean boy;
-
-    private Date createTime;
-}

+ 0 - 13
hsweb-commons/hsweb-commons-service/hsweb-commons-service-oauth2/src/test/java/org/hswebframework/web/service/oauth2/TestEntityService.java

@@ -1,13 +0,0 @@
-package org.hswebframework.web.service.oauth2;
-
-public class TestEntityService extends AbstractOAuth2CrudService<TestEntity,String>{
-    @Override
-    public String getServiceId() {
-        return "test";
-    }
-
-    @Override
-    public String getUriPrefix() {
-        return "/test";
-    }
-}

+ 0 - 1
hsweb-commons/hsweb-commons-service/pom.xml

@@ -36,7 +36,6 @@
     <modules>
         <module>hsweb-commons-service-simple</module>
         <module>hsweb-commons-service-api</module>
-        <module>hsweb-commons-service-oauth2</module>
     </modules>
 
     <dependencies>

+ 5 - 0
hsweb-system/hsweb-system-dashboard/hsweb-system-dashboard-local/pom.xml

@@ -23,6 +23,11 @@
             <artifactId>hsweb-commons-service-simple</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.hswebframework</groupId>
+            <artifactId>hsweb-expands-script</artifactId>
+            <version>${hsweb.expands.version}</version>
+        </dependency>
     </dependencies>
 
 </project>

+ 4 - 3
hsweb-system/hsweb-system-dashboard/hsweb-system-dashboard-local/src/main/java/org/hswebframework/web/dashboard/local/strategy/ScriptExecutorStrategy.java

@@ -3,7 +3,8 @@ package org.hswebframework.web.dashboard.local.strategy;
 import lombok.SneakyThrows;
 import org.hswebframework.expands.script.engine.DynamicScriptEngine;
 import org.hswebframework.expands.script.engine.DynamicScriptEngineFactory;
-import org.hswebframework.ezorm.rdb.executor.SqlExecutor;
+import org.hswebframework.ezorm.rdb.executor.SqlRequests;
+import org.hswebframework.ezorm.rdb.executor.SyncSqlExecutor;
 import org.hswebframework.web.authorization.Authentication;
 import org.hswebframework.web.dashboard.DashBoardConfigEntity;
 import org.hswebframework.web.dashboard.local.DashBoardExecutorStrategy;
@@ -21,7 +22,7 @@ import java.util.Map;
 public class ScriptExecutorStrategy implements DashBoardExecutorStrategy {
 
     @Autowired
-    private SqlExecutor sqlExecutor;
+    private SyncSqlExecutor sqlExecutor;
 
     static List<String> supportLang = Arrays.asList("js", "javascript", "groovy", "sql");
 
@@ -39,7 +40,7 @@ public class ScriptExecutorStrategy implements DashBoardExecutorStrategy {
         scriptContext.put("autz", authentication);
 
         if ("sql".equals(entity.getScriptLanguage())) {
-            return sqlExecutor.list(entity.getScript(), scriptContext);
+            return sqlExecutor.update(SqlRequests.template(entity.getScript(),scriptContext) );
         }
 
         DynamicScriptEngine engine = DynamicScriptEngineFactory.getEngine(entity.getScriptLanguage());

+ 5 - 0
hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-local/pom.xml

@@ -22,6 +22,11 @@
             <artifactId>hsweb-commons-service-simple</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.hswebframework</groupId>
+            <artifactId>hsweb-expands-script</artifactId>
+            <version>${hsweb.expands.version}</version>
+        </dependency>
 
     </dependencies>
 </project>

+ 0 - 9
hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-local/src/main/java/org/hswebframework/web/dictionary/simple/SimpleDictionaryService.java

@@ -19,7 +19,6 @@ package org.hswebframework.web.dictionary.simple;
 import org.hswebframework.web.dictionary.api.DictionaryService;
 import org.hswebframework.web.dictionary.api.entity.DictionaryEntity;
 import org.hswebframework.web.dictionary.api.events.ClearDictionaryCacheEvent;
-import org.hswebframework.web.dictionary.simple.dao.DictionaryDao;
 import org.hswebframework.web.id.IDGenerator;
 import org.hswebframework.web.service.GenericEntityService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,9 +36,6 @@ import org.springframework.stereotype.Service;
 public class SimpleDictionaryService extends GenericEntityService<DictionaryEntity, String>
         implements DictionaryService {
 
-    @Autowired
-    private DictionaryDao dictionaryDao;
-
     @Autowired
     private ApplicationEventPublisher eventPublisher;
 
@@ -48,11 +44,6 @@ public class SimpleDictionaryService extends GenericEntityService<DictionaryEnti
         return IDGenerator.MD5;
     }
 
-    @Override
-    public DictionaryDao getDao() {
-        return dictionaryDao;
-    }
-
     @Override
     public String insert(DictionaryEntity entity) {
         String id = super.insert(entity);

+ 4 - 0
hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-starter/pom.xml

@@ -39,6 +39,10 @@
     </build>
 
     <dependencies>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter</artifactId>
+        </dependency>
         <dependency>
             <groupId>org.hswebframework.web</groupId>
             <artifactId>hsweb-system-dictionary-local</artifactId>

+ 0 - 3
hsweb-system/hsweb-system-dictionary/hsweb-system-dictionary-starter/src/main/java/org/hswebframework/web/dictionary/starter/DictionaryFactoryAutoConfiguration.java

@@ -1,12 +1,10 @@
 package org.hswebframework.web.dictionary.starter;
 
-import org.hswebframework.web.dao.Dao;
 import org.hswebframework.web.dict.DictDefineRepository;
 import org.hswebframework.web.dict.DictSupportApi;
 import org.hswebframework.web.dict.defaults.DefaultDictSupportApi;
 import org.hswebframework.web.dictionary.api.builder.DictionaryParserBuilder;
 import org.hswebframework.web.dictionary.simple.builder.SimpleDictionaryParserBuilder;
-import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
@@ -18,7 +16,6 @@ import org.springframework.context.annotation.Configuration;
 @Configuration
 @ComponentScan({"org.hswebframework.web.dictionary.simple"
         , "org.hswebframework.web.controller.dictionary"})
-@MapperScan(value = "org.hswebframework.web.dictionary.simple.dao",markerInterface = Dao.class)
 public class DictionaryFactoryAutoConfiguration {
     @Bean
     @ConditionalOnMissingBean(DictionaryParserBuilder.class)

+ 0 - 29
hsweb-system/hsweb-system-file/hsweb-system-file-oauth2/pom.xml

@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>hsweb-system-file</artifactId>
-        <groupId>org.hswebframework.web</groupId>
-        <version>3.1.0-SNAPSHOT</version>
-        <relativePath>../pom.xml</relativePath>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>hsweb-system-file-oauth2</artifactId>
-
-    <description>基于hsweb oauth2的文件服务,通过oauth2调用远程文件服务.</description>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.hswebframework.web</groupId>
-            <artifactId>hsweb-system-file-api</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.hswebframework.web</groupId>
-            <artifactId>hsweb-commons-service-oauth2</artifactId>
-            <version>${project.version}</version>
-        </dependency>
-    </dependencies>
-</project>

+ 0 - 28
hsweb-system/hsweb-system-file/hsweb-system-file-oauth2/src/main/java/org/hswebframework/web/service/file/oauth2/OAuth2FileAutoConfiguration.java

@@ -1,28 +0,0 @@
-package org.hswebframework.web.service.file.oauth2;
-
-import org.hswebframework.web.authorization.oauth2.client.OAuth2RequestService;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-
-/**
- * @author zhouhao
- * @since 3.0
- */
-@Configuration
-@ConditionalOnBean(OAuth2RequestService.class)
-public class OAuth2FileAutoConfiguration {
-
-    @ConfigurationProperties(prefix = "hsweb.oauth2.file-server")
-    @Bean
-    public OAuth2FileInfoService oAuth2FileInfoService() {
-        return new OAuth2FileInfoService();
-    }
-
-    @ConfigurationProperties(prefix = "hsweb.oauth2.file-server")
-    @Bean
-    public OAuth2FileService oAuth2FileService() {
-        return new OAuth2FileService();
-    }
-}

+ 0 - 50
hsweb-system/hsweb-system-file/hsweb-system-file-oauth2/src/main/java/org/hswebframework/web/service/file/oauth2/OAuth2FileInfoService.java

@@ -1,50 +0,0 @@
-package org.hswebframework.web.service.file.oauth2;
-
-import org.hswebframework.web.commons.entity.param.QueryParamEntity;
-import org.hswebframework.web.entity.file.FileInfoEntity;
-import org.hswebframework.web.service.file.FileInfoService;
-import org.hswebframework.web.service.oauth2.AbstractOAuth2CrudService;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-
-/**
- * @author zhouhao
- * @since
- */
-
-public class OAuth2FileInfoService extends AbstractOAuth2CrudService<FileInfoEntity, String> implements FileInfoService {
-
-    private String serviceId = "file-server";
-
-    private String uriPrefix = "file-info";
-
-    @Override
-    public FileInfoEntity selectByMd5(String md5) {
-        return selectSingle(QueryParamEntity
-                .single(FileInfoEntity.md5, md5));
-    }
-
-    @Override
-    public FileInfoEntity selectByIdOrMd5(String idOrMd5) {
-        return selectSingle(QueryParamEntity
-                .single(FileInfoEntity.id, idOrMd5)
-                .or(FileInfoEntity.md5, idOrMd5));
-    }
-
-    @Override
-    public String getServiceId() {
-        return serviceId;
-    }
-
-    @Override
-    public String getUriPrefix() {
-        return uriPrefix;
-    }
-
-    public void setServiceId(String serviceId) {
-        this.serviceId = serviceId;
-    }
-
-    public void setUriPrefix(String uriPrefix) {
-        this.uriPrefix = uriPrefix;
-    }
-}

+ 0 - 86
hsweb-system/hsweb-system-file/hsweb-system-file-oauth2/src/main/java/org/hswebframework/web/service/file/oauth2/OAuth2FileService.java

@@ -1,86 +0,0 @@
-package org.hswebframework.web.service.file.oauth2;
-
-import org.hswebframework.web.authorization.oauth2.client.OAuth2RequestService;
-import org.hswebframework.web.authorization.oauth2.client.response.OAuth2Response;
-import org.hswebframework.web.entity.file.FileInfoEntity;
-import org.hswebframework.web.entity.file.SimpleFileInfoEntity;
-import org.hswebframework.web.service.file.FileService;
-import org.hswebframework.web.service.oauth2.OAuth2ServiceSupport;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.context.properties.ConfigurationProperties;
-import org.springframework.util.StreamUtils;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-/**
- * @author zhouhao
- * @since 3.0
- */
-@ConfigurationProperties(prefix = "hsweb.oauth2.file-server")
-public class OAuth2FileService implements FileService, OAuth2ServiceSupport {
-    private String serviceId = "file-server";
-
-    private String uriPrefix = "file";
-
-    @Autowired
-    private OAuth2RequestService requestService;
-
-    @Override
-    public InputStream readFile(String fileIdOrMd5) {
-        return createRequest("/md5/download/" + fileIdOrMd5)
-                .get()
-                .as(OAuth2Response::asStream);
-    }
-
-    @Override
-    public FileInfoEntity saveFile(InputStream fileStream, String fileName, String type, String creatorId) throws IOException {
-        return createRequest("/upload")
-                .upload("file", fileStream, fileName)
-                .as(getEntityType());
-    }
-
-    @Override
-    public String saveStaticFile(InputStream fileStream, String fileName) throws IOException {
-        return createRequest("/upload-static")
-                .upload("file", fileStream, fileName)
-                .as(String.class);
-    }
-
-    @Override
-    public void writeFile(String fileId, OutputStream out, long skip) throws IOException {
-        try (InputStream stream = createRequest("/download/" + fileId)
-                .header("Range", "bytes=" + skip)
-                .get().asStream()) {
-            StreamUtils.copy(stream, out);
-        }
-    }
-
-    @Override
-    public OAuth2RequestService getRequestService() {
-        return requestService;
-    }
-
-    @Override
-    public String getServiceId() {
-        return serviceId;
-    }
-
-    @Override
-    public String getUriPrefix() {
-        return uriPrefix;
-    }
-
-    @Override
-    @SuppressWarnings("unchecked")
-    public Class<SimpleFileInfoEntity> getEntityType() {
-        return SimpleFileInfoEntity.class;
-    }
-
-    @Override
-    @SuppressWarnings("unchecked")
-    public Class<String> getPrimaryKeyType() {
-        return String.class;
-    }
-}

+ 0 - 3
hsweb-system/hsweb-system-file/hsweb-system-file-oauth2/src/main/resources/META-INF/spring.factories

@@ -1,3 +0,0 @@
-# Auto Configure
-org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
-org.hswebframework.web.service.file.oauth2.OAuth2FileAutoConfiguration

+ 5 - 0
hsweb-system/hsweb-system-file/hsweb-system-file-web/pom.xml

@@ -34,6 +34,11 @@
             <artifactId>commons-fileupload</artifactId>
             <version>1.3.3</version>
         </dependency>
+        <dependency>
+            <groupId>commons-codec</groupId>
+            <artifactId>commons-codec</artifactId>
+            <version>1.13</version>
+        </dependency>
         <dependency>
             <groupId>org.hswebframework</groupId>
             <artifactId>hsweb-expands-compress</artifactId>

+ 1 - 1
hsweb-system/hsweb-system-file/hsweb-system-file-web/src/main/java/org/hswebframework/web/controller/file/FileInfoController.java

@@ -19,7 +19,7 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("${hsweb.web.mappings.file-info:file-info}")
 @Authorize(permission = "file-info", description = "文件信息管理")
 @Api(value = "文件信息管理",tags = "文件管理-文件信息管理")
-public class FileInfoController implements QueryController<FileInfoEntity, String, QueryParamEntity> {
+public class FileInfoController implements QueryController<FileInfoEntity, String> {
 
     private FileInfoService fileInfoService;
 

+ 0 - 1
hsweb-system/hsweb-system-file/pom.xml

@@ -16,7 +16,6 @@
         <module>hsweb-system-file-api</module>
         <module>hsweb-system-file-local</module>
         <module>hsweb-system-file-web</module>
-        <module>hsweb-system-file-oauth2</module>
     </modules>
 
 

+ 1 - 1
hsweb-system/hsweb-system-oauth2-client/hsweb-system-oauth2-client-web/src/main/java/org/hswebframework/web/authorization/oauth2/controller/OAuth2UserTokenController.java

@@ -40,7 +40,7 @@ import org.springframework.web.bind.annotation.RestController;
 @Authorize(permission = "oauth2-user-token",description = "OAuth2.0-客户端-token管理")
 @Api(tags = "OAuth2.0-客户端-token",value = "OAuth2.0-客户端-token")
 public class OAuth2UserTokenController
-        implements QueryController<OAuth2UserTokenEntity, String, QueryParamEntity> {
+        implements QueryController<OAuth2UserTokenEntity, String> {
 
     private OAuth2UserTokenService oAuth2UserTokenService;
 

+ 5 - 0
hsweb-system/hsweb-system-script/hsweb-system-script-local/pom.xml

@@ -22,5 +22,10 @@
             <artifactId>hsweb-system-script-api</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>org.hswebframework</groupId>
+            <artifactId>hsweb-expands-script</artifactId>
+            <version>${hsweb.expands.version}</version>
+        </dependency>
     </dependencies>
 </project>

+ 1 - 10
hsweb-system/hsweb-system-script/hsweb-system-script-local/src/main/java/org/hswebframework/web/service/script/simple/SimpleScriptService.java

@@ -1,12 +1,9 @@
 package org.hswebframework.web.service.script.simple;
 
-import org.hswebframework.web.dao.script.ScriptDao;
 import org.hswebframework.web.entity.script.ScriptEntity;
-import org.hswebframework.web.service.EnableCacheGenericEntityService;
-import org.hswebframework.web.service.GenericEntityService;
 import org.hswebframework.web.id.IDGenerator;
+import org.hswebframework.web.service.EnableCacheGenericEntityService;
 import org.hswebframework.web.service.script.ScriptService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.cache.annotation.CacheConfig;
 import org.springframework.stereotype.Service;
 
@@ -19,17 +16,11 @@ import org.springframework.stereotype.Service;
 @CacheConfig(cacheNames = "dynamic-script")
 public class SimpleScriptService extends EnableCacheGenericEntityService<ScriptEntity, String>
         implements ScriptService {
-    @Autowired
-    private ScriptDao scriptDao;
 
     @Override
     protected IDGenerator<String> getIDGenerator() {
         return IDGenerator.MD5;
     }
 
-    @Override
-    public ScriptDao getDao() {
-        return scriptDao;
-    }
 
 }

+ 5 - 0
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/pom.xml

@@ -179,6 +179,11 @@
             <version>1.0.26</version>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>org.hswebframework</groupId>
+            <artifactId>hsweb-expands-script</artifactId>
+            <version>${hsweb.expands.version}</version>
+        </dependency>
     </dependencies>
 
 </project>

+ 1 - 1
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/dimension/parser/DepartmentCandidateDimensionParserStrategy.java

@@ -39,7 +39,7 @@ public class DepartmentCandidateDimensionParserStrategy implements CandidateDime
         return userService.select(
                 empty().noPaging()
                         //https://github.com/hs-web/hsweb-framework/tree/master/hsweb-system/hsweb-system-organizational#sql条件
-                        .where("id", "user-in-department" + type, config.getIdList()))
+                        .and("id", "user-in-department" + type, config.getIdList()))
                 .stream()
                 .map(UserEntity::getId)
                 .collect(Collectors.toList());

+ 1 - 1
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/dimension/parser/OrgCandidateDimensionParserStrategy.java

@@ -37,7 +37,7 @@ public class OrgCandidateDimensionParserStrategy implements CandidateDimensionPa
         return userService.select(
                 empty().noPaging()
                         //https://github.com/hs-web/hsweb-framework/tree/master/hsweb-system/hsweb-system-organizational#sql条件
-                        .where("id", "user-in-org" + type, config.getIdList()))
+                        .and("id", "user-in-org" + type, config.getIdList()))
                 .stream()
                 .map(UserEntity::getId)
                 .collect(Collectors.toList());

+ 1 - 1
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/dimension/parser/PositionCandidateDimensionParserStrategy.java

@@ -37,7 +37,7 @@ public class PositionCandidateDimensionParserStrategy implements CandidateDimens
         return userService.select(
                 empty().noPaging()
                         //https://github.com/hs-web/hsweb-framework/tree/master/hsweb-system/hsweb-system-organizational#sql条件
-                        .where("id", "user-in-position"+type, config.getIdList()))
+                        .and("id", "user-in-position"+type, config.getIdList()))
                 .stream()
                 .map(UserEntity::getId)
                 .collect(Collectors.toList());

+ 0 - 4
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/flowable/FlowableAutoConfiguration.java

@@ -3,13 +3,11 @@ package org.hswebframework.web.workflow.flowable;
 import org.activiti.engine.delegate.event.ActivitiEventListener;
 import org.activiti.engine.impl.interceptor.SessionFactory;
 import org.activiti.spring.boot.ProcessEngineConfigurationConfigurer;
-import org.hswebframework.web.dao.Dao;
 import org.hswebframework.web.service.authorization.UserService;
 import org.hswebframework.web.workflow.flowable.utils.CustomGroupEntityManager;
 import org.hswebframework.web.workflow.flowable.utils.CustomGroupEntityManagerFactory;
 import org.hswebframework.web.workflow.flowable.utils.CustomUserEntityManager;
 import org.hswebframework.web.workflow.flowable.utils.CustomUserEntityManagerFactory;
-import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.autoconfigure.AutoConfigureAfter;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
@@ -20,8 +18,6 @@ import java.util.List;
 
 @Configuration
 @AutoConfigureAfter(FlowableAutoConfiguration.CustomEntityManagerAutoConfiguration.class)
-@MapperScan(value = "org.hswebframework.web.workflow.dao", markerInterface = Dao.class
-        , sqlSessionFactoryRef = "sqlSessionFactory")
 public class FlowableAutoConfiguration {
 
     @Autowired(required = false)

+ 7 - 12
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/service/imp/BpmTaskServiceImpl.java

@@ -3,35 +3,31 @@ package org.hswebframework.web.workflow.service.imp;
 import lombok.SneakyThrows;
 import org.activiti.engine.history.HistoricActivityInstance;
 import org.activiti.engine.history.HistoricProcessInstance;
-import org.activiti.engine.history.HistoricTaskInstance;
-import org.activiti.engine.history.HistoricVariableInstance;
 import org.activiti.engine.impl.RepositoryServiceImpl;
 import org.activiti.engine.impl.TaskServiceImpl;
 import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity;
 import org.activiti.engine.impl.pvm.PvmActivity;
 import org.activiti.engine.impl.pvm.PvmTransition;
-import org.activiti.engine.impl.pvm.delegate.ActivityExecution;
 import org.activiti.engine.impl.pvm.process.ActivityImpl;
-import org.activiti.engine.impl.pvm.process.TransitionImpl;
 import org.activiti.engine.runtime.Execution;
 import org.activiti.engine.runtime.ProcessInstance;
 import org.activiti.engine.task.Task;
-import org.hswebframework.ezorm.rdb.executor.SqlExecutor;
+import org.hswebframework.ezorm.rdb.executor.SqlRequests;
+import org.hswebframework.ezorm.rdb.executor.SyncSqlExecutor;
 import org.hswebframework.utils.StringUtils;
 import org.hswebframework.web.BusinessException;
-import org.hswebframework.web.Maps;
 import org.hswebframework.web.NotFoundException;
 import org.hswebframework.web.authorization.Authentication;
 import org.hswebframework.web.commons.entity.PagerResult;
 import org.hswebframework.web.commons.entity.param.QueryParamEntity;
 import org.hswebframework.web.workflow.dao.entity.ProcessHistoryEntity;
-import org.hswebframework.web.workflow.service.ProcessHistoryService;
-import org.hswebframework.web.workflow.service.config.ProcessConfigurationService;
+import org.hswebframework.web.workflow.flowable.utils.JumpTaskCmd;
 import org.hswebframework.web.workflow.service.BpmActivityService;
 import org.hswebframework.web.workflow.service.BpmTaskService;
-import org.hswebframework.web.workflow.flowable.utils.JumpTaskCmd;
+import org.hswebframework.web.workflow.service.ProcessHistoryService;
 import org.hswebframework.web.workflow.service.WorkFlowFormService;
 import org.hswebframework.web.workflow.service.config.CandidateInfo;
+import org.hswebframework.web.workflow.service.config.ProcessConfigurationService;
 import org.hswebframework.web.workflow.service.request.CompleteTaskRequest;
 import org.hswebframework.web.workflow.service.request.JumpTaskRequest;
 import org.hswebframework.web.workflow.service.request.RejectTaskRequest;
@@ -47,7 +43,6 @@ import java.util.*;
 import java.util.function.Consumer;
 import java.util.function.Function;
 import java.util.function.Predicate;
-import java.util.function.Supplier;
 import java.util.stream.Collectors;
 
 
@@ -74,7 +69,7 @@ public class BpmTaskServiceImpl extends AbstractFlowableService implements BpmTa
     private ProcessHistoryService processHistoryService;
 
     @Autowired
-    private SqlExecutor sqlExecutor;
+    private SyncSqlExecutor sqlExecutor;
 
     @Override
     public List<Task> selectNowTask(String procInstId) {
@@ -335,7 +330,7 @@ public class BpmTaskServiceImpl extends AbstractFlowableService implements BpmTa
                         .activityId(pvmTransition.getId())
                         .list();
                 for (HistoricActivityInstance historicActivityInstance : instance) {
-                    sqlExecutor.delete("delete from act_hi_actinst where id_= #{id}", historicActivityInstance);
+                    sqlExecutor.update(SqlRequests.of("delete from act_hi_actinst where id_= ?", historicActivityInstance.getId()));
                 }
             }
         }

+ 36 - 55
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/service/imp/WorkFlowFormServiceImpl.java

@@ -3,10 +3,11 @@ package org.hswebframework.web.workflow.service.imp;
 import org.activiti.engine.impl.persistence.entity.ExecutionEntity;
 import org.activiti.engine.runtime.ProcessInstance;
 import org.activiti.engine.task.Task;
-import org.hswebframework.ezorm.rdb.meta.RDBColumnMetaData;
-import org.hswebframework.ezorm.rdb.meta.RDBTableMetaData;
-import org.hswebframework.ezorm.rdb.meta.converter.DateTimeConverter;
-import org.hswebframework.ezorm.rdb.render.dialect.Dialect;
+import org.hswebframework.ezorm.core.RuntimeDefaultValue;
+import org.hswebframework.ezorm.rdb.codec.DateTimeCodec;
+import org.hswebframework.ezorm.rdb.metadata.RDBColumnMetadata;
+import org.hswebframework.ezorm.rdb.metadata.RDBTableMetadata;
+import org.hswebframework.ezorm.rdb.metadata.dialect.Dialect;
 import org.hswebframework.web.authorization.Authentication;
 import org.hswebframework.web.commons.entity.PagerResult;
 import org.hswebframework.web.commons.entity.param.QueryParamEntity;
@@ -138,153 +139,133 @@ public class WorkFlowFormServiceImpl extends AbstractFlowableService implements
 
     @Override
     public void customTableSetting(TableInitializeContext context) {
-        RDBTableMetaData table = context.getTable();
-        Dialect dialect = context.getDatabase().getMeta().getDialect();
+        RDBTableMetadata table = context.getTable();
+        Dialect dialect = table.getDialect();
 
-        if (!table.getProperty("enable-workflow", true).isTrue()) {
+        if (!table.findFeature("enableWorkFlow").isPresent()) {
             return;
         }
         //----------taskId--------------
         {
-            RDBColumnMetaData processTaskId = new RDBColumnMetaData();
-            processTaskId.setJavaType(String.class);
-            processTaskId.setJdbcType(JDBCType.VARCHAR);
+            RDBColumnMetadata processTaskId = table.newColumn();
+            processTaskId.setJdbcType(JDBCType.VARCHAR,String.class);
             processTaskId.setLength(32);
             processTaskId.setName("proc_task_id");
             processTaskId.setAlias("processTaskId");
-            processTaskId.setDataType(dialect.buildDataType(processTaskId));
             processTaskId.setComment("流程任务ID");
             table.addColumn(processTaskId);
         }
 
         //----------taskDefineKey--------------
         {
-            RDBColumnMetaData taskDefineKey = new RDBColumnMetaData();
-            taskDefineKey.setJavaType(String.class);
-            taskDefineKey.setJdbcType(JDBCType.VARCHAR);
+            RDBColumnMetadata taskDefineKey = table.newColumn();
+            taskDefineKey.setJdbcType(JDBCType.VARCHAR,String.class);
             taskDefineKey.setLength(128);
             taskDefineKey.setName("proc_task_key");
             taskDefineKey.setAlias("processTaskDefineKey");
-            taskDefineKey.setDataType(dialect.buildDataType(taskDefineKey));
             taskDefineKey.setComment("流程任务定义KEY");
             table.addColumn(taskDefineKey);
         }
 
         //----------taskName--------------
         {
-            RDBColumnMetaData processTaskName = new RDBColumnMetaData();
-            processTaskName.setJavaType(String.class);
-            processTaskName.setJdbcType(JDBCType.VARCHAR);
+            RDBColumnMetadata processTaskName = table.newColumn();
+            processTaskName.setJdbcType(JDBCType.VARCHAR,String.class);
             processTaskName.setLength(128);
             processTaskName.setName("proc_task_name");
             processTaskName.setAlias("processTaskName");
-            processTaskName.setDataType(dialect.buildDataType(processTaskName));
             processTaskName.setComment("流程任务定义名称");
             table.addColumn(processTaskName);
         }
 
         //----------processDefineId--------------
         {
-            RDBColumnMetaData processDefineId = new RDBColumnMetaData();
-            processDefineId.setJavaType(String.class);
-            processDefineId.setJdbcType(JDBCType.VARCHAR);
+            RDBColumnMetadata processDefineId = table.newColumn();
+            processDefineId.setJdbcType(JDBCType.VARCHAR,String.class);
             processDefineId.setLength(32);
             processDefineId.setName("proc_def_id");
             processDefineId.setAlias("processDefineId");
-            processDefineId.setDataType(dialect.buildDataType(processDefineId));
             processDefineId.setProperty("read-only", true);
             processDefineId.setComment("流程定义ID");
             table.addColumn(processDefineId);
         }
         //----------processDefineKey--------------
         {
-            RDBColumnMetaData processDefineKey = new RDBColumnMetaData();
-            processDefineKey.setJavaType(String.class);
-            processDefineKey.setJdbcType(JDBCType.VARCHAR);
+            RDBColumnMetadata processDefineKey = table.newColumn();
+            processDefineKey.setJdbcType(JDBCType.VARCHAR,String.class);
             processDefineKey.setLength(32);
             processDefineKey.setName("proc_def_key");
             processDefineKey.setAlias("processDefineKey");
-            processDefineKey.setDataType(dialect.buildDataType(processDefineKey));
             processDefineKey.setProperty("read-only", true);
             processDefineKey.setComment("流程定义KEY");
             table.addColumn(processDefineKey);
         } //----------processDefineName--------------
         {
-            RDBColumnMetaData processDefineName = new RDBColumnMetaData();
-            processDefineName.setJavaType(String.class);
-            processDefineName.setJdbcType(JDBCType.VARCHAR);
+            RDBColumnMetadata processDefineName =table.newColumn();
+            processDefineName.setJdbcType(JDBCType.VARCHAR,String.class);
             processDefineName.setLength(128);
             processDefineName.setName("proc_def_name");
             processDefineName.setAlias("processDefineName");
-            processDefineName.setDataType(dialect.buildDataType(processDefineName));
             processDefineName.setProperty("read-only", true);
             processDefineName.setComment("流程定义Name");
             table.addColumn(processDefineName);
         }
         //----------processDefineVersion--------------
         {
-            RDBColumnMetaData processInstanceId = new RDBColumnMetaData();
-            processInstanceId.setJavaType(String.class);
-            processInstanceId.setJdbcType(JDBCType.VARCHAR);
+            RDBColumnMetadata processInstanceId =table.newColumn();
+            processInstanceId.setJdbcType(JDBCType.VARCHAR,String.class);
             processInstanceId.setLength(32);
             processInstanceId.setName("proc_ins_id");
             processInstanceId.setAlias("processInstanceId");
-            processInstanceId.setDataType(dialect.buildDataType(processInstanceId));
             processInstanceId.setProperty("read-only", true);
             processInstanceId.setComment("流程实例ID");
             table.addColumn(processInstanceId);
         }//----------creatorUserId--------------
         {
-            RDBColumnMetaData creatorUserId = new RDBColumnMetaData();
-            creatorUserId.setJavaType(String.class);
-            creatorUserId.setJdbcType(JDBCType.VARCHAR);
+            RDBColumnMetadata creatorUserId = table.newColumn();
+            creatorUserId.setJdbcType(JDBCType.VARCHAR,String.class);
             creatorUserId.setLength(32);
             creatorUserId.setName("creator_id");
             creatorUserId.setAlias("creatorId");
-            creatorUserId.setDataType(dialect.buildDataType(creatorUserId));
             creatorUserId.setProperty("read-only", true);
             creatorUserId.setComment("创建人ID");
-            creatorUserId.setDefaultValue(() -> Authentication.current().map(autz -> autz.getUser().getId()).orElse(null));
+            creatorUserId.setDefaultValue((RuntimeDefaultValue)() -> Authentication.current().map(autz -> autz.getUser().getId()).orElse(null));
             table.addColumn(creatorUserId);
         }
         {//-----------creatorName---------
-            RDBColumnMetaData creatorName = new RDBColumnMetaData();
-            creatorName.setJavaType(String.class);
-            creatorName.setJdbcType(JDBCType.VARCHAR);
+            RDBColumnMetadata creatorName =table.newColumn();
+            creatorName.setJdbcType(JDBCType.VARCHAR,String.class);
             creatorName.setLength(32);
             creatorName.setName("creator_name");
             creatorName.setAlias("creatorName");
-            creatorName.setDataType(dialect.buildDataType(creatorName));
             creatorName.setProperty("read-only", true);
             creatorName.setComment("创建人姓名");
-            creatorName.setDefaultValue(() -> Authentication.current().map(autz -> autz.getUser().getName()).orElse(null));
+            creatorName.setDefaultValue((RuntimeDefaultValue)() -> Authentication.current().map(autz -> autz.getUser().getName()).orElse(null));
             table.addColumn(creatorName);
         }
         {//-----------creatorName---------
-            RDBColumnMetaData createTime = new RDBColumnMetaData();
+            RDBColumnMetadata createTime =table.newColumn();
             createTime.setJavaType(Date.class);
-            createTime.setJdbcType(JDBCType.TIMESTAMP);
+            createTime.setJdbcType(JDBCType.TIMESTAMP,Date.class);
             createTime.setName("create_time");
             createTime.setAlias("createTime");
-            createTime.setDataType(dialect.buildDataType(createTime));
             createTime.setProperty("read-only", true);
             createTime.setComment("创建时间");
             createTime.setNotNull(true);
-            createTime.setValueConverter(new DateTimeConverter("yyyy-MM-dd HH:mm:ss", Date.class));
-            createTime.setDefaultValue(Date::new);
+            createTime.setValueCodec(new DateTimeCodec("yyyy-MM-dd HH:mm:ss", Date.class));
+            createTime.setDefaultValue((RuntimeDefaultValue)Date::new);
             table.addColumn(createTime);
         }
         {//-----------lastUpdateTime---------
-            RDBColumnMetaData lastUpdateTime = new RDBColumnMetaData();
+            RDBColumnMetadata lastUpdateTime =table.newColumn();
             lastUpdateTime.setJavaType(Date.class);
-            lastUpdateTime.setJdbcType(JDBCType.TIMESTAMP);
+            lastUpdateTime.setJdbcType(JDBCType.TIMESTAMP,Date.class);
             lastUpdateTime.setName("last_update_time");
             lastUpdateTime.setAlias("lastUpdateTime");
-            lastUpdateTime.setDataType(dialect.buildDataType(lastUpdateTime));
             lastUpdateTime.setComment("最后一次修改时间");
             lastUpdateTime.setNotNull(true);
-            lastUpdateTime.setValueConverter(new DateTimeConverter("yyyy-MM-dd HH:mm:ss", Date.class));
-            lastUpdateTime.setDefaultValue(Date::new);
+            lastUpdateTime.setValueCodec(new DateTimeCodec("yyyy-MM-dd HH:mm:ss", Date.class));
+            lastUpdateTime.setDefaultValue((RuntimeDefaultValue)Date::new);
             table.addColumn(lastUpdateTime);
         }
     }

+ 0 - 42
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/terms/ClaimSqlTerm.java

@@ -1,42 +0,0 @@
-package org.hswebframework.web.workflow.terms;
-
-import org.hswebframework.ezorm.core.param.Term;
-import org.hswebframework.ezorm.rdb.meta.RDBColumnMetaData;
-import org.hswebframework.ezorm.rdb.render.SqlAppender;
-import org.hswebframework.ezorm.rdb.render.dialect.term.BoostTermTypeMapper;
-import org.hswebframework.web.dao.mybatis.mapper.AbstractSqlTermCustomizer;
-import org.hswebframework.web.dao.mybatis.mapper.ChangedTermValue;
-
-import java.util.List;
-
-/**
- * 用户待签收的流程条件
- *
- * @author zhouhao
- * @since 3.0.0-RC
- */
-public class ClaimSqlTerm extends AbstractSqlTermCustomizer {
-    public ClaimSqlTerm(String termType) {
-        super(termType);
-    }
-
-    @Override
-    public SqlAppender accept(String wherePrefix, Term term, RDBColumnMetaData column, String tableAlias) {
-        ChangedTermValue termValue = createChangedTermValue(term);
-        RDBColumnMetaData processInstanceId = column.getTableMetaData().findColumn("processInstanceId");
-        if (processInstanceId == null) {
-            throw new UnsupportedOperationException("未获取到属性:[processInstanceId]对应的列");
-        }
-        List<Object> val = BoostTermTypeMapper.convertList(column, termValue.getOld());
-
-        termValue.setValue(val);
-        SqlAppender appender = new SqlAppender();
-        appender.add("exists(select 1 from ACT_RU_TASK RES inner join ACT_RU_IDENTITYLINK I on I.TASK_ID_ = RES.ID_ WHERE ",
-                createColumnName(processInstanceId, tableAlias),
-                "=RES.PROC_INST_ID_ and RES.ASSIGNEE_ is null and I.TYPE_ = 'candidate' and I.USER_ID_  ");
-        appendCondition(val, wherePrefix, appender);
-        appender.add(")");
-
-        return appender;
-    }
-}

+ 0 - 42
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/terms/CompletedSqlTerm.java

@@ -1,42 +0,0 @@
-package org.hswebframework.web.workflow.terms;
-
-import org.hswebframework.ezorm.core.param.Term;
-import org.hswebframework.ezorm.rdb.meta.RDBColumnMetaData;
-import org.hswebframework.ezorm.rdb.render.SqlAppender;
-import org.hswebframework.ezorm.rdb.render.dialect.term.BoostTermTypeMapper;
-import org.hswebframework.web.dao.mybatis.mapper.AbstractSqlTermCustomizer;
-import org.hswebframework.web.dao.mybatis.mapper.ChangedTermValue;
-
-import java.util.List;
-
-/**
- * 已完成的任务查询条件
- *
- * @author zhouhao
- * @since 3.0.0-RC
- */
-public class CompletedSqlTerm extends AbstractSqlTermCustomizer {
-    public CompletedSqlTerm(String termType) {
-        super(termType);
-    }
-
-    @Override
-    public SqlAppender accept(String wherePrefix, Term term, RDBColumnMetaData column, String tableAlias) {
-        ChangedTermValue termValue = createChangedTermValue(term);
-        RDBColumnMetaData processInstanceId = column.getTableMetaData().findColumn("processInstanceId");
-        if (processInstanceId == null) {
-            throw new UnsupportedOperationException("未获取到属性:[processInstanceId]对应的列");
-        }
-        List<Object> val = BoostTermTypeMapper.convertList(column, termValue.getOld());
-
-        termValue.setValue(val);
-        SqlAppender appender = new SqlAppender();
-        appender.add("exists(select 1 from ACT_HI_TASKINST RES WHERE ",
-                createColumnName(processInstanceId, tableAlias),
-                "= RES.PROC_INST_ID_ and RES.ASSIGNEE_ ");
-        appendCondition(val, wherePrefix, appender);
-        appender.add(")");
-
-        return appender;
-    }
-}

+ 0 - 45
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/terms/ProcessParticipateSqlTerm.java

@@ -1,45 +0,0 @@
-package org.hswebframework.web.workflow.terms;
-
-import org.hswebframework.ezorm.core.param.Term;
-import org.hswebframework.ezorm.rdb.meta.RDBColumnMetaData;
-import org.hswebframework.ezorm.rdb.render.SqlAppender;
-import org.hswebframework.ezorm.rdb.render.dialect.term.BoostTermTypeMapper;
-import org.hswebframework.web.dao.mybatis.mapper.AbstractSqlTermCustomizer;
-import org.hswebframework.web.dao.mybatis.mapper.ChangedTermValue;
-
-import java.util.List;
-
-/**
- * 参与的任务查询条件
- *
- * @author zhouhao
- * @since 3.0.0-RC
- */
-public class ProcessParticipateSqlTerm extends AbstractSqlTermCustomizer {
-    public ProcessParticipateSqlTerm(String termType) {
-        super(termType);
-    }
-
-    @Override
-    public SqlAppender accept(String wherePrefix, Term term, RDBColumnMetaData column, String tableAlias) {
-        ChangedTermValue termValue = createChangedTermValue(term);
-        RDBColumnMetaData processInstanceId = column.getTableMetaData().findColumn("processInstanceId");
-        if (processInstanceId == null) {
-            throw new UnsupportedOperationException("未获取到属性:[processInstanceId]对应的列");
-        }
-        List<Object> val = BoostTermTypeMapper.convertList(column, termValue.getOld());
-
-        termValue.setValue(val);
-        SqlAppender appender = new SqlAppender();
-
-        appender.add("exists(select 1 from ACT_HI_IDENTITYLINK I  WHERE ",
-                createColumnName(processInstanceId, tableAlias),
-                "=I.PROC_INST_ID_"
-                , (!term.getOptions().isEmpty() ? " and I.TYPE_ =" + wherePrefix + ".options[0]" : "")
-                , " and I.USER_ID_ ");
-        appendCondition(val, wherePrefix, appender);
-        appender.add(")");
-
-        return appender;
-    }
-}

+ 20 - 22
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/terms/TodoSqlTerm.java

@@ -1,11 +1,10 @@
 package org.hswebframework.web.workflow.terms;
 
 import org.hswebframework.ezorm.core.param.Term;
-import org.hswebframework.ezorm.rdb.meta.RDBColumnMetaData;
-import org.hswebframework.ezorm.rdb.render.SqlAppender;
-import org.hswebframework.ezorm.rdb.render.dialect.term.BoostTermTypeMapper;
-import org.hswebframework.web.dao.mybatis.mapper.AbstractSqlTermCustomizer;
-import org.hswebframework.web.dao.mybatis.mapper.ChangedTermValue;
+import org.hswebframework.ezorm.rdb.metadata.RDBColumnMetadata;
+import org.hswebframework.ezorm.rdb.operator.builder.fragments.PrepareSqlFragments;
+import org.hswebframework.ezorm.rdb.operator.builder.fragments.SqlFragments;
+import org.hswebframework.web.service.terms.AbstractSqlTermCustomizer;
 
 import java.util.List;
 
@@ -20,23 +19,22 @@ public class TodoSqlTerm extends AbstractSqlTermCustomizer {
         super(termType);
     }
 
+
+    @Override
+    public SqlFragments createFragments(String columnFullName, RDBColumnMetadata column, Term term) {
+        PrepareSqlFragments fragments = PrepareSqlFragments.of();
+
+        List<Object> val = convertList(term.getValue());
+        fragments.addSql("exists(select 1 from ACT_RU_TASK RES WHERE ",
+                columnFullName,
+                "= RES.PROC_INST_ID_ and RES.ASSIGNEE_ and ", columnFullName);
+
+        appendCondition(fragments, column, val);
+        return fragments;
+    }
+
     @Override
-    public SqlAppender accept(String wherePrefix, Term term, RDBColumnMetaData column, String tableAlias) {
-        ChangedTermValue termValue = createChangedTermValue(term);
-        RDBColumnMetaData processInstanceId = column.getTableMetaData().findColumn("processInstanceId");
-        if (processInstanceId == null) {
-            throw new UnsupportedOperationException("未获取到属性:[processInstanceId]对应的列");
-        }
-        List<Object> val = BoostTermTypeMapper.convertList(column, termValue.getOld());
-
-        termValue.setValue(val);
-        SqlAppender appender = new SqlAppender();
-        appender.add("exists(select 1 from ACT_RU_TASK RES WHERE ",
-                createColumnName(processInstanceId, tableAlias),
-                "= RES.PROC_INST_ID_ and RES.ASSIGNEE_ ");
-        appendCondition(val, wherePrefix, appender);
-        appender.add(")");
-
-        return appender;
+    public String getName() {
+        return "查询代办数据";
     }
 }

+ 0 - 14
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/terms/WorkflowTermsAutoConfiguration.java

@@ -10,20 +10,6 @@ import org.springframework.context.annotation.Configuration;
 @Configuration
 public class WorkflowTermsAutoConfiguration {
 
-    @Bean
-    public ClaimSqlTerm claimSqlTerm() {
-        return new ClaimSqlTerm("user-wf-claim");
-    }
-
-    @Bean
-    public CompletedSqlTerm completedSqlTerm() {
-        return new CompletedSqlTerm("user-wf-completed");
-    }
-
-    @Bean
-    public ProcessParticipateSqlTerm participateSqlTerm() {
-        return new ProcessParticipateSqlTerm("user-wf-part");
-    }
 
     @Bean
     public TodoSqlTerm todoSqlTerm() {

+ 1 - 1
hsweb-system/hsweb-system-workflow/hsweb-system-workflow-local/src/main/java/org/hswebframework/web/workflow/web/FlowableProcessController.java

@@ -250,7 +250,7 @@ public class FlowableProcessController {
                                                             @PathVariable String processDefineId,
                                                             QueryParamEntity query,
                                                             Authentication authentication) {
-        Query.empty(query)
+        Query.of(query)
                 .nest()
                 .when(type != null, q -> type.applyQueryTerm(q, authentication.getUser().getId()))
                 .end();

+ 6 - 0
hsweb-thirdparty/hsweb-thirdparty-ueditor/pom.xml

@@ -27,6 +27,12 @@
             <artifactId>spring-boot-starter</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>commons-codec</groupId>
+            <artifactId>commons-codec</artifactId>
+            <version>1.13</version>
+        </dependency>
+
         <dependency>
             <groupId>org.springframework</groupId>
             <artifactId>spring-webmvc</artifactId>