diff --git a/.eslintrc.js b/.eslintrc.js
index 4f247dbe2..8455e637a 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -129,5 +129,7 @@ module.exports = {
$escapeHtml: true,
$isLight: true,
RbGritter: true,
+ $formattedCode: true,
+ CodeViewport: true,
},
}
diff --git a/@rbv b/@rbv
index b7e5e1659..cb938a242 160000
--- a/@rbv
+++ b/@rbv
@@ -1 +1 @@
-Subproject commit b7e5e165931230ab89ca6ac0ab61bc6c72d21e4a
+Subproject commit cb938a242952b8f84cbf4a2b3387166b503f42fd
diff --git a/pom.xml b/pom.xml
index 28a94f966..199438505 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,12 +5,12 @@
org.springframework.boot
spring-boot-starter-parent
- 2.7.17
+ 2.7.18
com.rebuild
rebuild
- 3.5.0-beta3
+ 3.6.0-dev
rebuild
Building your business-systems freely!
@@ -335,7 +335,7 @@
redis.clients
jedis
- 4.4.3
+ 4.4.6
com.qiniu
@@ -497,6 +497,11 @@
mammoth
1.5.0
+
+ com.getui.push
+ restful-sdk
+ 1.0.0.15
+
diff --git a/src/main/java/com/rebuild/core/Application.java b/src/main/java/com/rebuild/core/Application.java
index 7ad79e678..45c4241d2 100644
--- a/src/main/java/com/rebuild/core/Application.java
+++ b/src/main/java/com/rebuild/core/Application.java
@@ -74,11 +74,11 @@ public class Application implements ApplicationListener
/**
* Rebuild Version
*/
- public static final String VER = "3.5.0-beta3";
+ public static final String VER = "3.6.0-dev";
/**
* Rebuild Build [MAJOR]{1}[MINOR]{2}[PATCH]{2}[BUILD]{2}
*/
- public static final int BUILD = 3050003;
+ public static final int BUILD = 3060000;
static {
// Driver for DB
diff --git a/src/main/java/com/rebuild/core/service/notification/Message.java b/src/main/java/com/rebuild/core/service/notification/Message.java
index 670ab56f8..e9227df2f 100644
--- a/src/main/java/com/rebuild/core/service/notification/Message.java
+++ b/src/main/java/com/rebuild/core/service/notification/Message.java
@@ -9,6 +9,7 @@
import cn.devezhao.persist4j.engine.ID;
import com.rebuild.core.privileges.UserService;
+import com.rebuild.core.support.i18n.Language;
import lombok.AccessLevel;
import lombok.Data;
import lombok.Setter;
@@ -57,4 +58,17 @@ public Message(ID fromUser, ID toUser, String message, int type, ID relatedRecor
this.type = type;
this.relatedRecord = relatedRecord;
}
+
+ /**
+ * 获取通知标题
+ * @return
+ */
+ public String getTitle4Type() {
+ if (this.type == TYPE_ASSIGN) return Language.L("记录分配通知");
+ else if (this.type == TYPE_SAHRE) return Language.L("记录共享通知");
+ else if (this.type == TYPE_APPROVAL) return Language.L("记录审核通知");
+ else if (this.type == TYPE_FEEDS) return Language.L("动态通知");
+ else if (this.type == TYPE_PROJECT) return Language.L("项目任务通知");
+ else return Language.L("新通知");
+ }
}
diff --git a/src/main/java/com/rebuild/utils/MarkdownUtils.java b/src/main/java/com/rebuild/utils/MarkdownUtils.java
index c17edffd5..415f92cbd 100644
--- a/src/main/java/com/rebuild/utils/MarkdownUtils.java
+++ b/src/main/java/com/rebuild/utils/MarkdownUtils.java
@@ -82,7 +82,7 @@ public static String render(String md, boolean targetBlank) {
* @param md
* @return
*/
- public static String cleanMd(String md) {
+ public static String cleanMarks(String md) {
String html = render(md);
return Jsoup.parse(html).body().text();
}
diff --git a/src/main/java/com/rebuild/web/admin/audit/RecycleBinController.java b/src/main/java/com/rebuild/web/admin/audit/RecycleBinController.java
index 4a66a86c1..9258c04fb 100644
--- a/src/main/java/com/rebuild/web/admin/audit/RecycleBinController.java
+++ b/src/main/java/com/rebuild/web/admin/audit/RecycleBinController.java
@@ -8,13 +8,16 @@
package com.rebuild.web.admin.audit;
import cn.devezhao.persist4j.engine.ID;
+import com.rebuild.api.RespBody;
+import com.rebuild.core.Application;
import com.rebuild.core.service.general.recyclebin.RecycleRestore;
import com.rebuild.utils.JSONUtils;
import com.rebuild.web.BaseController;
+import com.rebuild.web.IdParam;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
@@ -27,7 +30,7 @@
* @since 2019-08-20
*/
@Slf4j
-@Controller
+@RestController
@RequestMapping("/admin/audit/")
public class RecycleBinController extends BaseController {
@@ -37,7 +40,7 @@ public ModelAndView page() {
}
@RequestMapping("recycle-bin/restore")
- public void dataList(HttpServletRequest request, HttpServletResponse response) {
+ public RespBody dataList(HttpServletRequest request) {
boolean cascade = getBoolParameter(request, "cascade");
String ids = getParameterNotNull(request, "ids");
@@ -60,9 +63,14 @@ public void dataList(HttpServletRequest request, HttpServletResponse response) {
}
if (lastError != null && restored == 0) {
- writeFailure(response, lastError);
- } else {
- writeSuccess(response, JSONUtils.toJSONObject("restored", restored));
+ return RespBody.error(lastError);
}
+ return RespBody.ok(JSONUtils.toJSONObject("restored", restored));
+ }
+
+ @GetMapping("recycle-bin/details")
+ public RespBody details(@IdParam ID id) {
+ Object[] o = Application.getQueryFactory().uniqueNoFilter(id, "recordContent");
+ return RespBody.ok(o[0]);
}
}
diff --git a/src/main/java/com/rebuild/web/admin/audit/RevisionHistoryController.java b/src/main/java/com/rebuild/web/admin/audit/RevisionHistoryController.java
index 552ffb7c4..0c56a264c 100644
--- a/src/main/java/com/rebuild/web/admin/audit/RevisionHistoryController.java
+++ b/src/main/java/com/rebuild/web/admin/audit/RevisionHistoryController.java
@@ -16,7 +16,9 @@
import com.rebuild.core.metadata.MetadataHelper;
import com.rebuild.core.metadata.easymeta.EasyField;
import com.rebuild.core.metadata.easymeta.EasyMetaFactory;
+import com.rebuild.core.support.i18n.I18nUtils;
import com.rebuild.core.support.i18n.Language;
+import com.rebuild.utils.JSONUtils;
import com.rebuild.web.EntityController;
import com.rebuild.web.IdParam;
import org.springframework.web.bind.annotation.GetMapping;
@@ -24,7 +26,10 @@
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
+import java.util.ArrayList;
+import java.util.Date;
import java.util.Iterator;
+import java.util.List;
/**
* @author devezhao
@@ -39,42 +44,70 @@ public ModelAndView page() {
return createModelAndView("/admin/audit/revision-history");
}
- @RequestMapping("revision-history/details")
+ @GetMapping("revision-history/details")
public JSON details(@IdParam ID revisionId) {
Object[] rev = Application.createQueryNoFilter(
"select revisionContent,belongEntity from RevisionHistory where revisionId = ?")
.setParameter(1, revisionId)
.unique();
- JSONArray contents = JSON.parseArray((String) rev[0]);
- // 补充字段名称
+ JSONArray contents = JSON.parseArray((String) rev[0]);
if (MetadataHelper.containsEntity((String) rev[1])) {
- Entity entity = MetadataHelper.getEntity((String) rev[1]);
+ paddingFieldsName(contents, MetadataHelper.getEntity((String) rev[1]));
+ }
- for (Iterator