roo00 6 лет назад
Родитель
Сommit
8637873ef2
33 измененных файлов с 439 добавлено и 150 удалено
  1. 1 1
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/Applications.java
  2. 5 4
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Config.java
  3. 0 14
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/LogLevel.java
  4. 66 10
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Messages.java
  5. 0 26
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/connection/HttpConnection.java
  6. 12 0
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/gson/XGsonBuilder.java
  7. 7 0
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/http/CacheControlFactory.java
  8. 26 0
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/ResponseFactory.java
  9. 1 1
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/message/MessageConnector.java
  10. 2 2
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/message/WsMessage.java
  11. 30 0
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/organization/Trust.java
  12. 190 0
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/organization/TrustLog.java
  13. 5 5
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/tools/ExtractTextTools.java
  14. 1 1
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_attendance_assemble_control.java
  15. 1 1
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_bbs_assemble_control.java
  16. 21 21
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_collaboration_assemble_websocket.java
  17. 10 10
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_collaboration_core_entity.java
  18. 10 10
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_collaboration_core_message.java
  19. 16 16
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_collaboration_service_message.java
  20. 2 2
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_file_assemble_control.java
  21. 2 2
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_general_assemble_control.java
  22. 1 1
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_hotpic_assemble_control.java
  23. 1 1
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_meeting_assemble_control.java
  24. 1 0
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_message_assemble_communicate.java
  25. 1 1
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_mind_assemble_control.java
  26. 1 1
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_okr_assemble_control.java
  27. 2 0
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_organization_assemble_express.java
  28. 2 0
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_organization_assemble_personal.java
  29. 1 1
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_organization_core_entity.java
  30. 2 2
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_processplatform_service_processing.java
  31. 2 1
      o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_program_center.java
  32. 0 11
      o2server/x_base_core_project/src/main/main.iml
  33. 17 5
      o2server/x_bbs_assemble_control/src/main/webapp/jest/describe.js

+ 1 - 1
o2server/x_base_core_project/src/main/java/com/x/base/core/project/Applications.java

@@ -138,7 +138,7 @@ public class Applications extends ConcurrentHashMap<String, CopyOnWriteArrayList
 				body);
 	}
 
-	public ActionResponse postQuery(String applicationName, String uri, String body) throws Exception {
+	public ActionResponse postQuery(String applicationName, String uri, Object body) throws Exception {
 		return this.postQuery(false, applicationName, uri, body);
 	}
 

+ 5 - 4
o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Config.java

@@ -921,10 +921,11 @@ public class Config {
 					Messages custom = BaseTools.readObject(PATH_CONFIG_MESSAGES, Messages.class);
 					if (null != custom) {
 						custom.entrySet().stream().forEach(o -> {
-							List<String> consumers = obj.getConsumers(o.getKey());
-							consumers = ListUtils.union(consumers,
-									ListTools.trim(o.getValue().getConsumers(), true, true));
-							obj.put(o.getKey(), new Message(consumers));
+//							List<String> consumers = obj.getConsumers(o.getKey());
+//							consumers = ListUtils.union(consumers,
+//									ListTools.trim(o.getValue().getConsumers(), true, true));
+//							obj.put(o.getKey(), new Message(consumers));
+							obj.put(o.getKey(), new Message(o.getValue().getConsumers()));
 						});
 					}
 					instance().messages = obj;

+ 0 - 14
o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/LogLevel.java

@@ -31,12 +31,6 @@ public class LogLevel extends ConfigObject {
 	@FieldDescribe("是否启用调试")
 	private String x_meeting_assemble_control = "";
 
-	@FieldDescribe("是否启用调试")
-	private String x_collaboration_service_message = "";
-
-	@FieldDescribe("是否启用调试")
-	private String x_collaboration_assemble_websocket = "";
-
 	@FieldDescribe("是否启用调试")
 	private String x_organization_assemble_authentication = "";
 
@@ -204,14 +198,6 @@ public class LogLevel extends ConfigObject {
 		return this.get(this.x_meeting_assemble_control);
 	}
 
-	public String x_collaboration_service_message() {
-		return this.get(this.x_collaboration_service_message);
-	}
-
-	public String x_collaboration_assemble_websocket() {
-		return this.get(this.x_collaboration_assemble_websocket);
-	}
-
 	public String x_organization_assemble_authentication() {
 		return this.get(this.x_organization_assemble_authentication);
 	}

+ 66 - 10
o2server/x_base_core_project/src/main/java/com/x/base/core/project/config/Messages.java

@@ -4,6 +4,12 @@ import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.ConcurrentSkipListMap;
 
+import org.apache.commons.lang3.BooleanUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.quartz.CronExpression;
+
+import com.x.base.core.project.annotation.FieldDescribe;
+import com.x.base.core.project.config.ProcessPlatform.Press;
 import com.x.base.core.project.message.MessageConnector;
 
 public class Messages extends ConcurrentSkipListMap<String, Message> {
@@ -19,51 +25,51 @@ public class Messages extends ConcurrentSkipListMap<String, Message> {
 
 		/* 文件通知 */
 		o.put(MessageConnector.TYPE_ATTACHMENT_SHARE,
-				new Message(MessageConnector.CONSUME_IM, MessageConnector.CONSUME_PMS,
+				new Message(MessageConnector.CONSUME_WS, MessageConnector.CONSUME_PMS,
 						MessageConnector.CONSUME_DINGDING, MessageConnector.CONSUME_ZHENGWUDINGDING,
 						MessageConnector.CONSUME_QIYEWEIXIN));
 
 		o.put(MessageConnector.TYPE_ATTACHMENT_EDITOR,
-				new Message(MessageConnector.CONSUME_IM, MessageConnector.CONSUME_PMS,
+				new Message(MessageConnector.CONSUME_WS, MessageConnector.CONSUME_PMS,
 						MessageConnector.CONSUME_DINGDING, MessageConnector.CONSUME_ZHENGWUDINGDING,
 						MessageConnector.CONSUME_QIYEWEIXIN));
 
 		o.put(MessageConnector.TYPE_ATTACHMENT_SHARECANCEL,
-				new Message(MessageConnector.CONSUME_IM, MessageConnector.CONSUME_PMS,
+				new Message(MessageConnector.CONSUME_WS, MessageConnector.CONSUME_PMS,
 						MessageConnector.CONSUME_DINGDING, MessageConnector.CONSUME_ZHENGWUDINGDING,
 						MessageConnector.CONSUME_QIYEWEIXIN));
 
 		o.put(MessageConnector.TYPE_ATTACHMENT_EDITORCANCEL,
-				new Message(MessageConnector.CONSUME_IM, MessageConnector.CONSUME_PMS,
+				new Message(MessageConnector.CONSUME_WS, MessageConnector.CONSUME_PMS,
 						MessageConnector.CONSUME_DINGDING, MessageConnector.CONSUME_ZHENGWUDINGDING,
 						MessageConnector.CONSUME_QIYEWEIXIN));
 
 		o.put(MessageConnector.TYPE_ATTACHMENT_EDITORMODIFY,
-				new Message(MessageConnector.CONSUME_IM, MessageConnector.CONSUME_PMS,
+				new Message(MessageConnector.CONSUME_WS, MessageConnector.CONSUME_PMS,
 						MessageConnector.CONSUME_DINGDING, MessageConnector.CONSUME_ZHENGWUDINGDING,
 						MessageConnector.CONSUME_QIYEWEIXIN));
 		/* 文件通知结束 */
 
 		/* 会议通知 */
 		o.put(MessageConnector.TYPE_MEETING_INVITE,
-				new Message(MessageConnector.CONSUME_IM, MessageConnector.CONSUME_PMS,
+				new Message(MessageConnector.CONSUME_WS, MessageConnector.CONSUME_PMS,
 						MessageConnector.CONSUME_DINGDING, MessageConnector.CONSUME_ZHENGWUDINGDING,
 						MessageConnector.CONSUME_QIYEWEIXIN));
 
 		o.put(MessageConnector.TYPE_MEETING_DELETE,
-				new Message(MessageConnector.CONSUME_IM, MessageConnector.CONSUME_PMS,
+				new Message(MessageConnector.CONSUME_WS, MessageConnector.CONSUME_PMS,
 						MessageConnector.CONSUME_DINGDING, MessageConnector.CONSUME_ZHENGWUDINGDING,
 						MessageConnector.CONSUME_QIYEWEIXIN));
 		/* 会议通知结束 */
 
 		/* 待办已办通知 */
 		o.put(MessageConnector.TYPE_TASK_CREATE,
-				new Message(MessageConnector.CONSUME_IM, MessageConnector.CONSUME_PMS,
+				new Message(MessageConnector.CONSUME_WS, MessageConnector.CONSUME_PMS,
 						MessageConnector.CONSUME_DINGDING, MessageConnector.CONSUME_ZHENGWUDINGDING,
 						MessageConnector.CONSUME_QIYEWEIXIN));
 		/* 待办提醒通知 */
 		o.put(MessageConnector.TYPE_TASK_PRESS,
-				new Message(MessageConnector.CONSUME_IM, MessageConnector.CONSUME_PMS,
+				new Message(MessageConnector.CONSUME_WS, MessageConnector.CONSUME_PMS,
 						MessageConnector.CONSUME_DINGDING, MessageConnector.CONSUME_ZHENGWUDINGDING,
 						MessageConnector.CONSUME_QIYEWEIXIN));
 
@@ -76,7 +82,7 @@ public class Messages extends ConcurrentSkipListMap<String, Message> {
 
 		/* 待阅已阅通知 */
 		o.put(MessageConnector.TYPE_READ_CREATE,
-				new Message(MessageConnector.CONSUME_IM, MessageConnector.CONSUME_PMS,
+				new Message(MessageConnector.CONSUME_WS, MessageConnector.CONSUME_PMS,
 						MessageConnector.CONSUME_DINGDING, MessageConnector.CONSUME_ZHENGWUDINGDING,
 						MessageConnector.CONSUME_QIYEWEIXIN));
 
@@ -100,4 +106,54 @@ public class Messages extends ConcurrentSkipListMap<String, Message> {
 		}
 		return new ArrayList<String>();
 	}
+
+	@FieldDescribe("清理设置.")
+	private Clean clean;
+
+	public Clean clean() {
+		return this.clean == null ? new Clean() : this.clean;
+	}
+
+	public static class Clean extends ConfigObject {
+
+		public static Clean defaultInstance() {
+			Clean o = new Clean();
+			return o;
+		}
+
+		public final static Boolean DEFAULT_ENABLE = true;
+
+		public final static Integer DEFAULT_KEEP = 7;
+
+		public final static String DEFAULT_CRON = "30 30 6 * * ?";
+
+		@FieldDescribe("是否启用")
+		private Boolean enable = DEFAULT_ENABLE;
+
+		@FieldDescribe("定时cron表达式")
+		private String cron = DEFAULT_CRON;
+
+		@FieldDescribe("消息保留天数")
+		private Integer keep = DEFAULT_KEEP;
+
+		public String getCron() {
+			if (StringUtils.isNotEmpty(this.cron) && CronExpression.isValidExpression(this.cron)) {
+				return this.cron;
+			} else {
+				return DEFAULT_CRON;
+			}
+		}
+
+		public Boolean getEnable() {
+			return BooleanUtils.isTrue(this.enable);
+		}
+
+		public void setCron(String cron) {
+			this.cron = cron;
+		}
+
+		public void setEnable(Boolean enable) {
+			this.enable = enable;
+		}
+	}
 }

+ 0 - 26
o2server/x_base_core_project/src/main/java/com/x/base/core/project/connection/HttpConnection.java

@@ -82,32 +82,6 @@ public class HttpConnection {
 		return XGsonBuilder.instance().fromJson(result, collectionType);
 	}
 
-//	public static String postAsString(String address, List<NameValuePair> heads, byte[] bytes) throws Exception {
-//		HttpURLConnection connection = prepare(address, heads);
-//		connection.setRequestMethod("POST");
-//		connection.setDoOutput(true);
-//		connection.setDoInput(true);
-//		connection.connect();
-//		doOutput(connection, bytes);
-//		String str = readResultString(connection);
-//		connection.disconnect();
-//		return str;
-//	}
-//
-//	public static <T> T postAsObject(String address, List<NameValuePair> heads, byte[] bytes, Class<T> cls)
-//			throws Exception {
-//		String result = postAsString(address, heads, bytes);
-//		return XGsonBuilder.instance().fromJson(result, cls);
-//	}
-//
-//	public static <T> List<T> postAsObjects(String address, List<NameValuePair> heads, byte[] bytes, Class<T> cls)
-//			throws Exception {
-//		Type collectionType = new TypeToken<ArrayList<T>>() {
-//		}.getType();
-//		String result = postAsString(address, heads, bytes);
-//		return XGsonBuilder.instance().fromJson(result, collectionType);
-//	}
-
 	public static String putAsString(String address, List<NameValuePair> heads, String body) throws Exception {
 		HttpURLConnection connection = prepare(address, heads);
 		connection.setRequestMethod("PUT");

+ 12 - 0
o2server/x_base_core_project/src/main/java/com/x/base/core/project/gson/XGsonBuilder.java

@@ -86,6 +86,18 @@ public class XGsonBuilder {
 		return null;
 	}
 
+	public static Boolean extractBoolean(JsonElement jsonElement, String name) {
+		if ((null != jsonElement) && jsonElement.isJsonObject() && StringUtils.isNotEmpty(name)) {
+			JsonElement element = extract(jsonElement, name);
+			if (null != element && element.isJsonPrimitive()) {
+				JsonPrimitive jsonPrimitive = element.getAsJsonPrimitive();
+				if (jsonPrimitive.isBoolean())
+					return jsonPrimitive.getAsBoolean();
+			}
+		}
+		return null;
+	}
+
 	public static List<String> extractStringList(JsonElement jsonElement, String name) {
 		List<String> list = new ArrayList<>();
 		if ((null != jsonElement) && jsonElement.isJsonObject() && StringUtils.isNotEmpty(name)) {

+ 7 - 0
o2server/x_base_core_project/src/main/java/com/x/base/core/project/http/CacheControlFactory.java

@@ -8,4 +8,11 @@ public class CacheControlFactory {
 		cc.setNoCache(true);
 		return cc;
 	}
+
+	public static CacheControl getMaxAge(Integer max) {
+		CacheControl cc = new CacheControl();
+		cc.setMaxAge(max);
+		return cc;
+	}
+
 }

+ 26 - 0
o2server/x_base_core_project/src/main/java/com/x/base/core/project/jaxrs/ResponseFactory.java

@@ -43,6 +43,32 @@ public class ResponseFactory {
 		}
 	}
 
+	private static CacheControl maxAgeCacheControl = CacheControlFactory.getMaxAge(259200);
+
+	public static <T> Response getMaxAgeActionResultResponse(ActionResult<T> result) {
+		if (result.getType().equals(ActionResult.Type.error)) {
+			if ((result.throwable instanceof CallbackPromptException)) {
+				return Response.ok(callbackError(result)).cacheControl(maxAgeCacheControl).build();
+			} else {
+				return Response.serverError().entity(result.toJson()).cacheControl(maxAgeCacheControl).build();
+			}
+		} else {
+			if ((null != result.getData()) && (result.getData() instanceof WoFile)) {
+				WoFile wo = (WoFile) result.getData();
+				return Response.ok(wo.getBytes()).header(Content_Disposition, wo.getContentDisposition())
+						.header(Content_Type, wo.getContentType()).header(Accept_Ranges, "bytes").build();
+			} else if ((null != result.getData()) && (result.getData() instanceof WoText)) {
+				WoText wo = (WoText) result.getData();
+				return Response.ok(wo.getText()).cacheControl(maxAgeCacheControl).type(HttpMediaType.TEXT_PLAIN_UTF_8)
+						.build();
+			} else if ((null != result.getData()) && (result.getData() instanceof WoCallback)) {
+				return Response.ok(callback((WoCallback) result.getData())).cacheControl(maxAgeCacheControl).build();
+			} else {
+				return Response.ok(result.toJson()).cacheControl(maxAgeCacheControl).build();
+			}
+		}
+	}
+
 	private static String callback(WoCallback woCallback) {
 		ActionResult<Object> result = new ActionResult<>();
 		result.setData(woCallback.getObject());

+ 1 - 1
o2server/x_base_core_project/src/main/java/com/x/base/core/project/message/MessageConnector.java

@@ -65,7 +65,7 @@ public class MessageConnector {
 
 	public static final String TYPE_CUSTOM_CREATE = "custom_create";
 
-	public static final String CONSUME_IM = "im";
+	public static final String CONSUME_WS = "ws";
 
 	public static final String CONSUME_PMS = "pms";
 

+ 2 - 2
o2server/x_base_core_project/src/main/java/com/x/base/core/project/message/ImMessage.java → o2server/x_base_core_project/src/main/java/com/x/base/core/project/message/WsMessage.java

@@ -2,9 +2,9 @@ package com.x.base.core.project.message;
 
 import com.google.gson.JsonElement;
 
-public class ImMessage extends Message {
+public class WsMessage extends Message {
 
-	public ImMessage() {
+	public WsMessage() {
 
 	}
 

+ 30 - 0
o2server/x_base_core_project/src/main/java/com/x/base/core/project/organization/Trust.java

@@ -0,0 +1,30 @@
+package com.x.base.core.project.organization;
+
+import com.x.base.core.project.annotation.FieldDescribe;
+import com.x.base.core.project.gson.GsonPropertyObject;
+
+public class Trust extends GsonPropertyObject {
+
+	@FieldDescribe("身份")
+	private String fromIdentity;
+
+	@FieldDescribe("委托身份")
+	private String toIdentity;
+
+	public String getFromIdentity() {
+		return fromIdentity;
+	}
+
+	public void setFromIdentity(String fromIdentity) {
+		this.fromIdentity = fromIdentity;
+	}
+
+	public String getToIdentity() {
+		return toIdentity;
+	}
+
+	public void setToIdentity(String toIdentity) {
+		this.toIdentity = toIdentity;
+	}
+
+}

+ 190 - 0
o2server/x_base_core_project/src/main/java/com/x/base/core/project/organization/TrustLog.java

@@ -0,0 +1,190 @@
+package com.x.base.core.project.organization;
+
+import java.util.Date;
+
+import com.x.base.core.project.annotation.FieldDescribe;
+import com.x.base.core.project.gson.GsonPropertyObject;
+
+public class TrustLog extends GsonPropertyObject {
+
+	@FieldDescribe("身份.")
+	private String fromIdentity;
+
+	@FieldDescribe("委托身份.")
+	private String toIdentity;
+
+	@FieldDescribe("应用.")
+	private String application;
+
+	@FieldDescribe("应用名称.")
+	private String applicationName;
+
+	@FieldDescribe("应用别名.")
+	private String applicationAlias;
+
+	@FieldDescribe("流程ID.")
+	private String process;
+
+	@FieldDescribe("流程名称.")
+	private String processName;
+
+	@FieldDescribe("流程别名.")
+	private String processAlias;
+
+	@FieldDescribe("当前活动ID")
+	private String activity;
+
+	@FieldDescribe("活动名称")
+	private String activityName;
+
+	@FieldDescribe("活动别名")
+	private String activityAlias;
+
+	@FieldDescribe("任务标识.")
+	private String job;
+
+	@FieldDescribe("work标识.")
+	private String work;
+
+	@FieldDescribe("委托时间.")
+	private Date trustTime;
+
+	@FieldDescribe("标题.")
+	private String title;
+
+	public TrustLog setFromIdentity(String fromIdentity) {
+		this.fromIdentity = fromIdentity;
+		return this;
+	}
+
+	public TrustLog setToIdentity(String toIdentity) {
+		this.toIdentity = toIdentity;
+		return this;
+	}
+
+	public TrustLog setApplication(String application) {
+		this.application = application;
+		return this;
+	}
+
+	public TrustLog setApplicationName(String applicationName) {
+		this.applicationName = applicationName;
+		return this;
+	}
+
+	public TrustLog setApplicationAlias(String applicationAlias) {
+		this.applicationAlias = applicationAlias;
+		return this;
+	}
+
+	public TrustLog setProcessName(String processName) {
+		this.processName = processName;
+		return this;
+	}
+
+	public TrustLog setProcessAlias(String processAlias) {
+		this.processAlias = processAlias;
+		return this;
+	}
+
+	public TrustLog setProcess(String process) {
+		this.process = process;
+		return this;
+	}
+
+	public TrustLog setTitle(String title) {
+		this.title = title;
+		return this;
+	}
+
+	public TrustLog setJob(String job) {
+		this.job = job;
+		return this;
+	}
+
+	public TrustLog setWork(String work) {
+		this.work = work;
+		return this;
+	}
+
+	public TrustLog setTrustTime(Date trustTime) {
+		this.trustTime = trustTime;
+		return this;
+	}
+
+	public TrustLog setActivity(String activity) {
+		this.activity = activity;
+		return this;
+	}
+
+	public TrustLog setActivityName(String activityName) {
+		this.activityName = activityName;
+		return this;
+	}
+
+	public TrustLog setActivityAlias(String activityAlias) {
+		this.activityAlias = activityAlias;
+		return this;
+	}
+
+	public String getFromIdentity() {
+		return fromIdentity;
+	}
+
+	public String getToIdentity() {
+		return toIdentity;
+	}
+
+	public String getApplication() {
+		return application;
+	}
+
+	public String getApplicationName() {
+		return applicationName;
+	}
+
+	public String getApplicationAlias() {
+		return applicationAlias;
+	}
+
+	public String getProcess() {
+		return process;
+	}
+
+	public String getProcessName() {
+		return processName;
+	}
+
+	public String getProcessAlias() {
+		return processAlias;
+	}
+
+	public String getJob() {
+		return job;
+	}
+
+	public String getWork() {
+		return work;
+	}
+
+	public Date getTrustTime() {
+		return trustTime;
+	}
+
+	public String getTitle() {
+		return title;
+	}
+
+	public String getActivity() {
+		return activity;
+	}
+
+	public String getActivityName() {
+		return activityName;
+	}
+
+	public String getActivityAlias() {
+		return activityAlias;
+	}
+
+}

+ 5 - 5
o2server/x_base_core_project/src/main/java/com/x/base/core/project/tools/ExtractTextTools.java

@@ -21,16 +21,15 @@ import org.junit.Test;
 import com.x.base.core.project.config.Config;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
-import com.x.base.core.project.tools.DefaultCharset;
-import com.x.base.core.project.tools.ListTools;
 
+import net.sourceforge.tess4j.ITesseract;
 import net.sourceforge.tess4j.Tesseract;
 
 public class ExtractTextTools {
 
 	private static Logger logger = LoggerFactory.getLogger(ExtractTextTools.class);
 
-	private static Tesseract tesseract = null;
+	private static ITesseract tesseract = null;
 
 	private static Tika tika = null;
 
@@ -147,11 +146,12 @@ public class ExtractTextTools {
 		return null;
 	}
 
-	private static Tesseract tesseractInstance() throws Exception {
+	private static ITesseract tesseractInstance() throws Exception {
 		if (null == tesseract) {
 			synchronized (ExtractTextTools.class) {
 				if (null == tesseract) {
-					tesseract = new Tesseract();
+//					tesseract = new Tesseract();
+					ITesseract tesseract = new Tesseract();
 					tesseract.setDatapath(Config.dir_commons_tess4j_tessdata().getAbsolutePath());// 设置训练库的位置
 					tesseract.setLanguage(Config.query().getTessLanguage());// 中文识别
 				}

+ 1 - 1
o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_attendance_assemble_control.java

@@ -30,6 +30,6 @@ public class x_attendance_assemble_control extends AssembleA {
 		dependency.storeJars.add(x_attendance_core_entity.class.getSimpleName());
 		dependency.storeJars.add(x_organization_core_express.class.getSimpleName());
 		dependency.storeJars.add(x_organization_core_entity.class.getSimpleName());
-		dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
+		// dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
 	}
 }

+ 1 - 1
o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_bbs_assemble_control.java

@@ -31,6 +31,6 @@ public class x_bbs_assemble_control extends AssembleA {
 		dependency.storeJars.add(x_bbs_core_entity.class.getSimpleName());
 		dependency.storeJars.add(x_organization_core_express.class.getSimpleName());
 		dependency.storeJars.add(x_organization_core_entity.class.getSimpleName());
-		dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
+		// dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
 	}
 }

+ 21 - 21
o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_collaboration_assemble_websocket.java

@@ -1,21 +1,21 @@
-package com.x.base.core.project;
-
-import com.x.base.core.project.annotation.Module;
-import com.x.base.core.project.annotation.ModuleCategory;
-import com.x.base.core.project.annotation.ModuleType;
-
-@Module(type = ModuleType.ASSEMBLE, category = ModuleCategory.OFFICIAL, name = "协作")
-public class x_collaboration_assemble_websocket extends AssembleA {
-
-	public x_collaboration_assemble_websocket() {
-		super();
-		dependency.containerEntities.add("com.x.collaboration.core.entity.SMSMessage");
-		dependency.containerEntities.add("com.x.collaboration.core.entity.Notification");
-		dependency.containerEntities.add("com.x.collaboration.core.entity.Dialog");
-		dependency.containerEntities.add("com.x.collaboration.core.entity.Talk");
-		dependency.storeJars.add(x_collaboration_core_entity.class.getSimpleName());
-		dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
-		dependency.storeJars.add(x_collaboration_service_message.class.getSimpleName());
-		dependency.storeJars.add(x_organization_core_express.class.getSimpleName());
-	}
-}
+//package com.x.base.core.project;
+//
+//import com.x.base.core.project.annotation.Module;
+//import com.x.base.core.project.annotation.ModuleCategory;
+//import com.x.base.core.project.annotation.ModuleType;
+//
+//@Module(type = ModuleType.ASSEMBLE, category = ModuleCategory.OFFICIAL, name = "协作")
+//public class x_collaboration_assemble_websocket extends AssembleA {
+//
+//	public x_collaboration_assemble_websocket() {
+//		super();
+//		dependency.containerEntities.add("com.x.collaboration.core.entity.SMSMessage");
+//		dependency.containerEntities.add("com.x.collaboration.core.entity.Notification");
+//		dependency.containerEntities.add("com.x.collaboration.core.entity.Dialog");
+//		dependency.containerEntities.add("com.x.collaboration.core.entity.Talk");
+//		dependency.storeJars.add(x_collaboration_core_entity.class.getSimpleName());
+//		dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
+//		dependency.storeJars.add(x_collaboration_service_message.class.getSimpleName());
+//		dependency.storeJars.add(x_organization_core_express.class.getSimpleName());
+//	}
+//}

+ 10 - 10
o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_collaboration_core_entity.java

@@ -1,10 +1,10 @@
-package com.x.base.core.project;
-
-import com.x.base.core.project.annotation.Module;
-import com.x.base.core.project.annotation.ModuleCategory;
-import com.x.base.core.project.annotation.ModuleType;
-
-@Module(type = ModuleType.ENTITY, category = ModuleCategory.OFFICIAL, name = "协作实体类")
-public class x_collaboration_core_entity extends CoreA {
-
-}
+//package com.x.base.core.project;
+//
+//import com.x.base.core.project.annotation.Module;
+//import com.x.base.core.project.annotation.ModuleCategory;
+//import com.x.base.core.project.annotation.ModuleType;
+//
+//@Module(type = ModuleType.ENTITY, category = ModuleCategory.OFFICIAL, name = "协作实体类")
+//public class x_collaboration_core_entity extends CoreA {
+//
+//}

+ 10 - 10
o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_collaboration_core_message.java

@@ -1,10 +1,10 @@
-package com.x.base.core.project;
-
-import com.x.base.core.project.annotation.Module;
-import com.x.base.core.project.annotation.ModuleCategory;
-import com.x.base.core.project.annotation.ModuleType;
-
-@Module(type = ModuleType.EXPRESS, category = ModuleCategory.OFFICIAL, name = "协作接口")
-public class x_collaboration_core_message extends CoreA {
-
-}
+//package com.x.base.core.project;
+//
+//import com.x.base.core.project.annotation.Module;
+//import com.x.base.core.project.annotation.ModuleCategory;
+//import com.x.base.core.project.annotation.ModuleType;
+//
+//@Module(type = ModuleType.EXPRESS, category = ModuleCategory.OFFICIAL, name = "协作接口")
+//public class x_collaboration_core_message extends CoreA {
+//
+//}

+ 16 - 16
o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_collaboration_service_message.java

@@ -1,16 +1,16 @@
-package com.x.base.core.project;
-
-import com.x.base.core.project.annotation.Module;
-import com.x.base.core.project.annotation.ModuleCategory;
-import com.x.base.core.project.annotation.ModuleType;
-
-@Module(type = ModuleType.SERVICE, category = ModuleCategory.OFFICIAL, name = "协作服务")
-public class x_collaboration_service_message extends ServiceA {
-
-	public x_collaboration_service_message() {
-		super();
-		dependency.storeJars.add(x_organization_core_express.class.getSimpleName());
-		dependency.storeJars.add(x_organization_core_entity.class.getSimpleName());
-		dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
-	}
-}
+//package com.x.base.core.project;
+//
+//import com.x.base.core.project.annotation.Module;
+//import com.x.base.core.project.annotation.ModuleCategory;
+//import com.x.base.core.project.annotation.ModuleType;
+//
+//@Module(type = ModuleType.SERVICE, category = ModuleCategory.OFFICIAL, name = "协作服务")
+//public class x_collaboration_service_message extends ServiceA {
+//
+//	public x_collaboration_service_message() {
+//		super();
+//		dependency.storeJars.add(x_organization_core_express.class.getSimpleName());
+//		dependency.storeJars.add(x_organization_core_entity.class.getSimpleName());
+//		dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
+//	}
+//}

+ 2 - 2
o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_file_assemble_control.java

@@ -14,8 +14,8 @@ public class x_file_assemble_control extends AssembleA {
 		dependency.containerEntities.add("com.x.file.core.entity.personal.Attachment");
 		dependency.containerEntities.add("com.x.file.core.entity.open.File");
 		dependency.storageTypes.add(StorageType.file.toString());
-		dependency.storeJars.add(x_collaboration_core_entity.class.getSimpleName());
-		dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
+//		dependency.storeJars.add(x_collaboration_core_entity.class.getSimpleName());
+//		dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
 		dependency.storeJars.add(x_file_core_entity.class.getSimpleName());
 		dependency.storeJars.add(x_organization_core_entity.class.getSimpleName());
 		dependency.storeJars.add(x_organization_core_express.class.getSimpleName());

+ 2 - 2
o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_general_assemble_control.java

@@ -12,8 +12,8 @@ public class x_general_assemble_control extends AssembleA {
 		super();
 		dependency.containerEntities.add("com.x.general.core.entity.area.District");
 		dependency.storageTypes.add(StorageType.file.toString());
-		dependency.storeJars.add(x_collaboration_core_entity.class.getSimpleName());
-		dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
+//		dependency.storeJars.add(x_collaboration_core_entity.class.getSimpleName());
+//		dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
 		dependency.storeJars.add(x_general_core_entity.class.getSimpleName());
 	}
 }

+ 1 - 1
o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_hotpic_assemble_control.java

@@ -17,7 +17,7 @@ public class x_hotpic_assemble_control extends AssembleA {
 		dependency.storeJars.add(x_organization_core_entity.class.getSimpleName());
 		dependency.storeJars.add(x_organization_core_express.class.getSimpleName());
 		dependency.storeJars.add(x_hotpic_core_entity.class.getSimpleName());
-		dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
+//		dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
 		dependency.storeJars.add(x_cms_core_entity.class.getSimpleName());
 		dependency.storeJars.add(x_bbs_core_entity.class.getSimpleName());
 	}

+ 1 - 1
o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_meeting_assemble_control.java

@@ -18,6 +18,6 @@ public class x_meeting_assemble_control extends AssembleA {
 		dependency.storeJars.add(x_organization_core_entity.class.getSimpleName());
 		dependency.storeJars.add(x_organization_core_express.class.getSimpleName());
 		dependency.storeJars.add(x_meeting_core_entity.class.getSimpleName());
-		dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
+		// dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
 	}
 }

+ 1 - 0
o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_message_assemble_communicate.java

@@ -9,6 +9,7 @@ public class x_message_assemble_communicate extends AssembleA {
 
 	public x_message_assemble_communicate() {
 		super();
+		dependency.containerEntities.add("com.x.message.core.entity.Instant");
 		dependency.containerEntities.add("com.x.message.core.entity.Message");
 		dependency.containerEntities.add("com.x.message.core.entity.Mass");
 		dependency.storeJars.add(x_message_core_entity.class.getSimpleName());

+ 1 - 1
o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_mind_assemble_control.java

@@ -20,6 +20,6 @@ public class x_mind_assemble_control extends AssembleA {
 		dependency.storeJars.add(x_organization_core_entity.class.getSimpleName());
 		dependency.storeJars.add(x_organization_core_express.class.getSimpleName());
 		dependency.storeJars.add(x_mind_core_entity.class.getSimpleName());
-		dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
+		// dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
 	}
 }

+ 1 - 1
o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_okr_assemble_control.java

@@ -38,6 +38,6 @@ public class x_okr_assemble_control extends AssembleA {
 		dependency.storeJars.add(x_organization_core_entity.class.getSimpleName());
 		dependency.storeJars.add(x_organization_core_express.class.getSimpleName());
 		dependency.storeJars.add(x_okr_core_entity.class.getSimpleName());
-		dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
+		// dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
 	}
 }

+ 2 - 0
o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_organization_assemble_express.java

@@ -17,6 +17,8 @@ public class x_organization_assemble_express extends AssembleA {
 		dependency.containerEntities.add("com.x.organization.core.entity.Unit");
 		dependency.containerEntities.add("com.x.organization.core.entity.UnitAttribute");
 		dependency.containerEntities.add("com.x.organization.core.entity.UnitDuty");
+		dependency.containerEntities.add("com.x.organization.core.entity.accredit.Trust");
+		dependency.containerEntities.add("com.x.organization.core.entity.accredit.TrustLog");
 		dependency.storeJars.add(x_organization_core_entity.class.getSimpleName());
 	}
 }

+ 2 - 0
o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_organization_assemble_personal.java

@@ -19,6 +19,8 @@ public class x_organization_assemble_personal extends AssembleA {
 		dependency.containerEntities.add("com.x.organization.core.entity.UnitDuty");
 		dependency.containerEntities.add("com.x.organization.core.entity.Custom");
 		dependency.containerEntities.add("com.x.organization.core.entity.Definition");
+		dependency.containerEntities.add("com.x.organization.core.entity.accredit.Trust");
+		dependency.containerEntities.add("com.x.organization.core.entity.accredit.TrustLog");
 		dependency.storeJars.add(x_organization_core_entity.class.getSimpleName());
 		dependency.storeJars.add(x_organization_core_express.class.getSimpleName());
 	}

+ 1 - 1
o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_organization_core_entity.java

@@ -4,7 +4,7 @@ import com.x.base.core.project.annotation.Module;
 import com.x.base.core.project.annotation.ModuleCategory;
 import com.x.base.core.project.annotation.ModuleType;
 
-@Module(type = ModuleType.ENTITY, category = ModuleCategory.OFFICIAL,name="组织管理实体类")
+@Module(type = ModuleType.ENTITY, category = ModuleCategory.OFFICIAL, name = "组织管理实体类")
 public class x_organization_core_entity extends CoreA {
 
 }

+ 2 - 2
o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_processplatform_service_processing.java

@@ -50,8 +50,8 @@ public class x_processplatform_service_processing extends ServiceA {
 		dependency.storeJars.add(x_organization_core_entity.class.getSimpleName());
 		dependency.storeJars.add(x_organization_core_express.class.getSimpleName());
 		dependency.storeJars.add(x_processplatform_core_entity.class.getSimpleName());
-		dependency.storeJars.add(x_collaboration_core_entity.class.getSimpleName());
-		dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
+//		dependency.storeJars.add(x_collaboration_core_entity.class.getSimpleName());
+//		dependency.storeJars.add(x_collaboration_core_message.class.getSimpleName());
 		dependency.storeJars.add(x_query_core_entity.class.getSimpleName());
 	}
 }

+ 2 - 1
o2server/x_base_core_project/src/main/java/com/x/base/core/project/x_program_center.java

@@ -37,7 +37,8 @@ public class x_program_center extends AssembleC {
 		dependency.storeJars.add(x_program_center_core_entity.class.getSimpleName());
 		dependency.storeJars.add(x_attendance_core_entity.class.getSimpleName());
 		dependency.storeJars.add(x_cms_core_entity.class.getSimpleName());
-		dependency.storeJars.add(x_collaboration_core_entity.class.getSimpleName());
+//		dependency.storeJars.add(x_collaboration_core_entity.class.getSimpleName());
+		dependency.storeJars.add(x_message_core_entity.class.getSimpleName());
 		dependency.storeJars.add(x_component_core_entity.class.getSimpleName());
 		dependency.storeJars.add(x_file_core_entity.class.getSimpleName());
 		dependency.storeJars.add(x_meeting_core_entity.class.getSimpleName());

+ 0 - 11
o2server/x_base_core_project/src/main/main.iml

@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" inherit-compiler-output="true">
-    <exclude-output />
-    <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/java" isTestSource="false" />
-    </content>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="sourceFolder" forTests="false" />
-  </component>
-</module>

+ 17 - 5
o2server/x_bbs_assemble_control/src/main/webapp/jest/describe.js

@@ -1,5 +1,5 @@
 var Describe = function() {
-//20180730
+	// 20180730
 }
 
 Describe.splitValue = function(str) {
@@ -38,7 +38,7 @@ Describe.doPost = function(address, m, data) {
 			xhrFields : {
 				'withCredentials' : true
 			},
-			data : ((m.contentType.indexOf('application/json') > -1) ? JSON.stringify(data) : data)
+			data : ((m.contentType.indexOf('application/json') > -1) && (!m.useStringParameter) ? JSON.stringify(data) : data)
 		}).always(function(resultJson) {
 			$('#result').html(JSON.stringify(resultJson, null, 4));
 			Describe.writeOut(m.outs, resultJson);
@@ -55,7 +55,7 @@ Describe.doPost = function(address, m, data) {
 			xhrFields : {
 				'withCredentials' : true
 			},
-			data : ((m.contentType.indexOf('application/json') > -1) ? JSON.stringify(data) : data)
+			data : ((m.contentType.indexOf('application/json') > -1) && (!m.useStringParameter) ? JSON.stringify(data) : data)
 		});
 	}
 }
@@ -74,7 +74,7 @@ Describe.doPut = function(address, m, data) {
 			xhrFields : {
 				'withCredentials' : true
 			},
-			data : ((m.contentType.indexOf('application/json') > -1) ? JSON.stringify(data) : data)
+			data : ((m.contentType.indexOf('application/json') > -1) && (!m.useStringParameter) ? JSON.stringify(data) : data)
 		}).always(function(resultJson) {
 			$('#result').html(JSON.stringify(resultJson, null, 4));
 			Describe.writeOut(m.outs, resultJson);
@@ -91,7 +91,7 @@ Describe.doPut = function(address, m, data) {
 			xhrFields : {
 				'withCredentials' : true
 			},
-			data : ((m.contentType.indexOf('application/json') > -1) ? JSON.stringify(data) : data)
+			data : ((m.contentType.indexOf('application/json') > -1) && (!m.useStringParameter) ? JSON.stringify(data) : data)
 		});
 	}
 }
@@ -269,6 +269,14 @@ Describe.prototype = {
 									txt += '</table>';
 									txt += '</fieldset>';
 								}
+								if (m.useStringParameter) {
+									txt += '<fieldset><legend>String</legend>';
+									txt += '<table><tr><td>';
+									txt += '<textarea id="string" style="height:300px; width:600px; padding:1px; border:1px #000000 solid"/>';
+									txt += '</td><td>string</td></tr>';
+									txt += '</table>';
+									txt += '</fieldset>';
+								}
 								if (m.outs && m.outs.length > 0) {
 									txt += '<fieldset id="outs"><legend>Out</legend>';
 									txt += '<table>';
@@ -318,6 +326,8 @@ Describe.prototype = {
 												});
 											} else if (m.useJsonElementParameter) {
 												data = $.parseJSON($('#jsonElement').val());
+											} else if (m.useStringParameter) {
+												data = $('#string').val();
 											}
 											Describe.doPost(address, m, data);
 											break;
@@ -340,6 +350,8 @@ Describe.prototype = {
 												});
 											} else if (m.useJsonElementParameter) {
 												data = $.parseJSON($('#jsonElement').val());
+											} else if (m.useStringParameter) {
+												data = $('#string').val();
 											}
 											Describe.doPut(address, m, data);
 											break;