wangwei 6 年之前
父節點
當前提交
2136bbe03b

+ 22 - 0
examcloud-core-basic-service/src/main/java/cn/com/qmth/examcloud/core/basic/service/impl/OrgServiceImpl.java

@@ -37,6 +37,8 @@ import cn.com.qmth.examcloud.core.basic.dao.entity.UserRoleRelationEntity;
 import cn.com.qmth.examcloud.core.basic.dao.enums.OrgProperty;
 import cn.com.qmth.examcloud.core.basic.service.OrgService;
 import cn.com.qmth.examcloud.core.basic.service.bean.OrgInfo;
+import cn.com.qmth.examcloud.task.api.DataSyncCloudService;
+import cn.com.qmth.examcloud.task.api.request.SyncOrgReq;
 
 @Service
 public class OrgServiceImpl implements OrgService {
@@ -62,6 +64,9 @@ public class OrgServiceImpl implements OrgService {
 	@Autowired
 	StudentRepo studentRepo;
 
+	@Autowired
+	DataSyncCloudService dataSyncCloudService;
+
 	private static final String[] EXCEL_HEADER = new String[]{"机构名称", "机构代码", "联系人", "联系电话"};
 
 	/*
@@ -195,12 +200,17 @@ public class OrgServiceImpl implements OrgService {
 			throw new StatusException("B-150007", "parentId, rootId is wrong");
 		}
 
+		long updateTime = 0L;
 		OrgEntity orgEntity = orgRepo.findByRootIdAndCode(rootId, code);
 		if (null == orgEntity) {
 			orgEntity = new OrgEntity();
 			orgEntity.setRootId(rootId);
 			orgEntity.setParentId(parentId);
 			orgEntity.setCode(code);
+		} else {
+			if (null != orgEntity.getUpdateTime()) {
+				updateTime = orgEntity.getUpdateTime().getTime();
+			}
 		}
 
 		orgEntity.setName(name);
@@ -211,6 +221,18 @@ public class OrgServiceImpl implements OrgService {
 
 		OrgEntity saved = orgRepo.save(orgEntity);
 
+		// 同步操作
+		if (updateTime != saved.getUpdateTime().getTime()) {
+			SyncOrgReq req = new SyncOrgReq();
+			req.setEnable(saved.getEnable());
+			req.setId(saved.getId());
+			req.setName(saved.getName());
+			req.setParentId(saved.getParentId());
+			req.setRootId(saved.getRootId());
+			req.setSyncType("update");
+			dataSyncCloudService.syncOrg(req);
+		}
+
 		Map<DynamicEnum, String> map = checkAndGetOrgProperties(properties);
 		for (Entry<DynamicEnum, String> entry : map.entrySet()) {
 			DynamicEnum de = entry.getKey();