|
@@ -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();
|