Просмотр исходного кода

Merge branch 'feature/应用市场优化' into 'develop'

【应用市场】应用市场优化

See merge request o2oa/o2oa!1384
o2null 5 лет назад
Родитель
Сommit
b59b282d4d

+ 2 - 1
o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/market/ActionGet.java

@@ -2,6 +2,7 @@ package com.x.program.center.jaxrs.market;
 
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
+import com.x.base.core.entity.enums.CommonStatus;
 import com.x.base.core.project.annotation.FieldDescribe;
 import com.x.base.core.project.bean.WrapCopier;
 import com.x.base.core.project.bean.WrapCopierFactory;
@@ -28,7 +29,7 @@ class ActionGet extends BaseAction {
 			wo.setAttList(emc.listEqual(Attachment.class, Attachment.application_FIELDNAME, wo.getId()));
 
 			InstallLog installLog = emc.find(id, InstallLog.class);
-			if(installLog!=null){
+			if(installLog!=null && CommonStatus.VALID.getValue().equals(installLog.getStatus())){
 				wo.setInstalledVersion(installLog.getVersion());
 			}else{
 				wo.setInstalledVersion("");

+ 4 - 3
o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/market/ActionGetInstalledVersion.java

@@ -2,6 +2,7 @@ package com.x.program.center.jaxrs.market;
 
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
+import com.x.base.core.entity.enums.CommonStatus;
 import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.jaxrs.WrapString;
@@ -14,10 +15,10 @@ class ActionGetInstalledVersion extends BaseAction {
 			ActionResult<Wo> result = new ActionResult<>();
 			InstallLog installLog = emc.find(id, InstallLog.class);
 			Wo wo = new Wo();
-			if(installLog==null){
-				wo.setValue("");
-			}else{
+			if(installLog!=null && CommonStatus.VALID.getValue().equals(installLog.getStatus())){
 				wo.setValue(installLog.getVersion());
+			}else{
+				wo.setValue("");
 			}
 			result.setData(wo);
 			return result;

+ 22 - 0
o2server/x_program_center/src/main/java/com/x/program/center/jaxrs/market/ActionListPaging.java

@@ -4,6 +4,7 @@ import com.google.gson.JsonElement;
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
 import com.x.base.core.entity.JpaObject;
+import com.x.base.core.entity.enums.CommonStatus;
 import com.x.base.core.project.annotation.FieldDescribe;
 import com.x.base.core.project.bean.WrapCopier;
 import com.x.base.core.project.bean.WrapCopierFactory;
@@ -15,6 +16,7 @@ import com.x.base.core.project.tools.StringTools;
 import com.x.program.center.Business;
 import com.x.program.center.core.entity.Application;
 import com.x.program.center.core.entity.Application_;
+import com.x.program.center.core.entity.InstallLog;
 import org.apache.commons.lang3.BooleanUtils;
 import org.apache.commons.lang3.StringUtils;
 
@@ -34,6 +36,7 @@ class ActionListPaging extends BaseAction {
 			throws Exception {
 		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
 			Business business = new Business(emc);
+
 			ActionResult<List<Wo>> result = new ActionResult<>();
 			Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
 			Predicate p = this.toFilterPredicate(effectivePerson, business, wi);
@@ -47,6 +50,14 @@ class ActionListPaging extends BaseAction {
 			}else {
 				wos = emc.fetchDescPaging(Application.class, Wo.copier, p, page, size, orderBy);
 			}
+			for(Wo wo : wos){
+				InstallLog installLog = emc.find(wo.getId(), InstallLog.class);
+				if(installLog!=null && CommonStatus.VALID.getValue().equals(installLog.getStatus())){
+					wo.setInstalledVersion(installLog.getVersion());
+				}else{
+					wo.setInstalledVersion("");
+				}
+			}
 			result.setData(wos);
 			result.setCount(emc.count(Application.class, p));
 			return result;
@@ -156,6 +167,17 @@ class ActionListPaging extends BaseAction {
 		static WrapCopier<Application, Wo> copier = WrapCopierFactory.wo(Application.class, Wo.class,
 				JpaObject.singularAttributeField(Application.class, true, false), Arrays.asList("abort", "installSteps"));
 
+		@FieldDescribe("已安装的版本,空表示未安装")
+		private String installedVersion;
+
+		public String getInstalledVersion() {
+			return installedVersion;
+		}
+
+		public void setInstalledVersion(String installedVersion) {
+			this.installedVersion = installedVersion;
+		}
+
 
 	}