Răsfoiți Sursa

Merge branch 'release' into 'develop'

Release

See merge request o2oa/o2oa!2891
胡起 5 ani în urmă
părinte
comite
af66834e2a

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

@@ -47,7 +47,7 @@ public class OrganizationDefinition {
 	public final static String PortalManager = "PortalManager";
 	public final static String PortalManager_description = "门户管理员(系统角色),可以进行门户应用设计,对门户应用进行管理操作。";
 
-	public final static String BBSManager = "BSSManager";
+	public final static String BBSManager = "BBSManager";
 	public final static String BBSManager_description = "社区管理员(系统角色),可以对社区进行论坛分区,版块的创建,权限的设定,贴子的管理等操作。";
 
 	public final static String CMSManager = "CMSManager";

+ 1 - 1
o2server/x_bbs_assemble_control/src/main/java/com/x/bbs/assemble/control/ThisApplication.java

@@ -33,7 +33,7 @@ public class ThisApplication {
 	}
 
 	protected static Context context;
-	public static final String BBSMANAGER = "BBSManager@CMSManagerSystemRole@R";
+	public static final String BBSMANAGER = "BBSManager";
 	public static final QueueNewReplyNotify queueNewReplyNotify = new QueueNewReplyNotify();
 	public static final QueueNewSubjectNotify queueNewSubjectNotify = new QueueNewSubjectNotify();
 	public static String CONFIG_BBS_ANONYMOUS_PERMISSION = "YES";

+ 1 - 1
o2server/x_bbs_assemble_control/src/main/java/com/x/bbs/assemble/control/service/UserManagerService.java

@@ -209,7 +209,7 @@ public class UserManagerService {
 			roleList = business.organization().role().listWithPerson( name );
 			if ( ListTools.isNotEmpty( roleList ) ) {
 				for ( String role : roleList ) {
-					if ( role.split("@")[0].equalsIgnoreCase( roleName ) ) {
+					if ( role.split("@")[0].equalsIgnoreCase( roleName ) || role.split("@")[0].equalsIgnoreCase( "BSSManager" )) {
 						return true;
 					}
 				}

+ 8 - 3
o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/dingding/ActionLogin.java

@@ -6,10 +6,11 @@ import java.util.List;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.x.base.core.project.logger.Audit;
+import com.x.base.core.project.logger.Logger;
+import com.x.base.core.project.logger.LoggerFactory;
 import org.apache.commons.lang3.StringUtils;
 
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
 import com.x.base.core.container.EntityManagerContainer;
 import com.x.base.core.container.factory.EntityManagerContainerFactory;
 import com.x.base.core.entity.JpaObject;
@@ -25,10 +26,13 @@ import com.x.organization.core.entity.Person;
 
 class ActionLogin extends BaseAction {
 
+	private static Logger logger = LoggerFactory.getLogger(ActionLogin.class);
+
 	ActionResult<Wo> execute(HttpServletRequest request, HttpServletResponse response, EffectivePerson effectivePerson,
 			String code) throws Exception {
 		ActionResult<Wo> result = new ActionResult<>();
 		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
+			Audit audit = logger.audit(effectivePerson);
 			String url = "https://oapi.dingtalk.com/user/getuserinfo?access_token="
 					+ Config.dingding().corpAccessToken() + "&code=" + code;
 			String value = this.get(url);
@@ -66,6 +70,7 @@ class ActionLogin extends BaseAction {
 			wo.setToken(effective.getToken());
 			HttpToken httpToken = new HttpToken();
 			httpToken.setToken(request, response, effective);
+			audit.log(person.getDistinguishedName(), "登录");
 			result.setData(wo);
 		}
 		return result;
@@ -147,4 +152,4 @@ class ActionLogin extends BaseAction {
 		}
 	}
 
-}
+}

+ 4 - 1
o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/qiyeweixin/ActionGetLogin.java

@@ -6,6 +6,7 @@ import java.util.List;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
+import com.x.base.core.project.logger.Audit;
 import org.apache.commons.lang3.StringUtils;
 
 import com.google.gson.Gson;
@@ -37,6 +38,7 @@ class ActionGetLogin extends BaseAction {
 			String code) throws Exception {
 		ActionResult<Wo> result = new ActionResult<>();
 		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
+			Audit audit = logger.audit(effectivePerson);
 			if (StringUtils.isEmpty(code)) {
 				throw new ExceptionCodeEmpty();
 			}
@@ -65,6 +67,7 @@ class ActionGetLogin extends BaseAction {
 			wo.setToken(effective.getToken());
 			HttpToken httpToken = new HttpToken();
 			httpToken.setToken(request, response, effective);
+			audit.log(person.getDistinguishedName(), "登录");
 			result.setData(wo);
 		}
 		return result;
@@ -102,4 +105,4 @@ class ActionGetLogin extends BaseAction {
 		}
 	}
 
-}
+}

+ 3 - 0
o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/welink/ActionLogin.java

@@ -14,6 +14,7 @@ import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.http.HttpToken;
 import com.x.base.core.project.http.TokenType;
+import com.x.base.core.project.logger.Audit;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.organization.assemble.authentication.Business;
@@ -39,6 +40,7 @@ public class ActionLogin extends BaseAction {
                              String code) throws Exception {
         ActionResult<Wo> result = new ActionResult<>();
         try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
+            Audit audit = logger.audit(effectivePerson);
             String url = "https://open.welink.huaweicloud.com/api/auth/v2/userid?code="+code;
             logger.info(url);
             List<NameValuePair> heads = new ArrayList<>();
@@ -63,6 +65,7 @@ public class ActionLogin extends BaseAction {
             wo.setToken(effective.getToken());
             HttpToken httpToken = new HttpToken();
             httpToken.setToken(request, response, effective);
+            audit.log(person.getDistinguishedName(), "登录");
             result.setData(wo);
         }
         return result;

+ 4 - 1
o2server/x_organization_assemble_authentication/src/main/java/com/x/organization/assemble/authentication/jaxrs/zhengwudingding/ActionLogin.java

@@ -24,6 +24,7 @@ import com.x.base.core.project.http.ActionResult;
 import com.x.base.core.project.http.EffectivePerson;
 import com.x.base.core.project.http.HttpToken;
 import com.x.base.core.project.http.TokenType;
+import com.x.base.core.project.logger.Audit;
 import com.x.base.core.project.logger.Logger;
 import com.x.base.core.project.logger.LoggerFactory;
 import com.x.organization.assemble.authentication.Business;
@@ -38,6 +39,7 @@ class ActionLogin extends BaseAction {
 			String code) throws Exception {
 		ActionResult<Wo> result = new ActionResult<>();
 		try (EntityManagerContainer emc = EntityManagerContainerFactory.instance().create()) {
+			Audit audit = logger.audit(effectivePerson);
 			logger.debug("receive:{}", code);
 			String dingUserId = this.getDingUserId(code);
 			String userId = this.getUserIdByDingUserId(dingUserId);
@@ -54,6 +56,7 @@ class ActionLogin extends BaseAction {
 			wo.setToken(effective.getToken());
 			HttpToken httpToken = new HttpToken();
 			httpToken.setToken(request, response, effective);
+			audit.log(person.getDistinguishedName(), "登录");
 			result.setData(wo);
 		}
 		return result;
@@ -191,4 +194,4 @@ class ActionLogin extends BaseAction {
 		}
 	}
 
-}
+}

+ 16 - 17
o2server/x_query_assemble_designer/src/main/java/com/x/query/assemble/designer/jaxrs/table/ActionEdit.java

@@ -38,13 +38,9 @@ class ActionEdit extends BaseAction {
 			}
 			Wo wo = new Wo();
 			Wi wi = this.convertToWrapIn(jsonElement, Wi.class);
+			Wi.copier.copy(wi, table);
+
 			this.check(effectivePerson, business, table);
-			if (StringUtils.isEmpty(table.getName())) {
-				throw new ExceptionEntityFieldEmpty(Table.class, Table.name_FIELDNAME);
-			}
-			if (StringUtils.isNotEmpty(emc.conflict(Table.class, table))) {
-				throw new ExceptionDuplicateFlag(Table.class, emc.conflict(Table.class, table));
-			}
 
 			DynamicEntity dynamicEntity = XGsonBuilder.instance().fromJson(wi.getDraftData(), DynamicEntity.class);
 
@@ -62,16 +58,19 @@ class ActionEdit extends BaseAction {
 				}
 			}
 
-			if (!StringUtils.equals(gson.toJson(dynamicEntity), gson.toJson(existDynamicEntity))) {
-				emc.beginTransaction(Table.class);
-				table.setLastUpdatePerson(effectivePerson.getDistinguishedName());
-				table.setLastUpdateTime(new Date());
-				table.setDraftData(gson.toJson(dynamicEntity));
-				emc.check(table, CheckPersistType.all);
-				emc.commit();
-				CacheManager.notify(Table.class);
-				CacheManager.notify(Statement.class);
+			emc.beginTransaction(Table.class);
+			table.setLastUpdatePerson(effectivePerson.getDistinguishedName());
+			table.setLastUpdateTime(new Date());
+			if(Table.STATUS_build.equals(table.getStatus())){
+				table.setData(table.getDraftData());
+			}else{
+				table.setData("");
 			}
+			emc.check(table, CheckPersistType.all);
+			emc.commit();
+			CacheManager.notify(Table.class);
+			CacheManager.notify(Statement.class);
+
 			wo.setId(table.getId());
 			result.setData(wo);
 			return result;
@@ -89,6 +88,6 @@ class ActionEdit extends BaseAction {
 		static WrapCopier<Wi, Table> copier = WrapCopierFactory.wi(Wi.class, Table.class, null,
 				ListTools.toList(JpaObject.FieldsUnmodify, Table.creatorPerson_FIELDNAME,
 						Table.lastUpdatePerson_FIELDNAME, Table.lastUpdateTime_FIELDNAME, Table.data_FIELDNAME,
-						Table.status_FIELDNAME));
+						Table.status_FIELDNAME, Table.name_FIELDNAME, Table.alias_FIELDNAME));
 	}
-}
+}