diff --git a/src/main/java/com/zcloud/controller/bus/ArchivesFilesController.java b/src/main/java/com/zcloud/controller/bus/ArchivesFilesController.java index 48b71fc5..af418d7b 100644 --- a/src/main/java/com/zcloud/controller/bus/ArchivesFilesController.java +++ b/src/main/java/com/zcloud/controller/bus/ArchivesFilesController.java @@ -110,6 +110,7 @@ public class ArchivesFilesController extends BaseController { pd = this.getPageData(); archivesfilesService.edit(pd); map.put("result", errInfo); +// map.put("pd", pd); return map; } diff --git a/src/main/java/com/zcloud/controller/bus/CorpInfoController.java b/src/main/java/com/zcloud/controller/bus/CorpInfoController.java index 0a0a35e0..436b9d5b 100644 --- a/src/main/java/com/zcloud/controller/bus/CorpInfoController.java +++ b/src/main/java/com/zcloud/controller/bus/CorpInfoController.java @@ -9,6 +9,8 @@ import java.util.Map; import com.zcloud.service.bus.CorpInfoRelatedService; import com.zcloud.service.system.DictionariesService; +import com.zcloud.syncData.SyncPlatformAdvice; +import com.zcloud.syncData.SyncTypeEnum; import com.zcloud.util.*; import net.sf.json.JSONArray; import org.apache.commons.io.FileUtils; @@ -79,6 +81,7 @@ public class CorpInfoController extends BaseController { @RequiresPermissions("corpinfo:add") @ResponseBody @Transactional + @SyncPlatformAdvice(type = SyncTypeEnum.CORP, isInsert = true) public Object add() throws Exception{ Map map = new HashMap(); String errInfo = "success"; @@ -123,6 +126,8 @@ public class CorpInfoController extends BaseController { map.put("pd",pd); map.put("result", errInfo); + map.put("syncInfo", corpinfoService.findById(pd)); + map.put("code", "0"); return map; } @@ -133,13 +138,17 @@ public class CorpInfoController extends BaseController { @RequestMapping(value="/delete") @RequiresPermissions("corpinfo:del") @ResponseBody + @SyncPlatformAdvice(type = SyncTypeEnum.CORP, isUpdate = true) public Object delete() throws Exception{ - Map map = new HashMap(); + Map map = new HashMap(); String errInfo = "success"; PageData pd = new PageData(); pd = this.getPageData(); corpinfoService.delete(pd); map.put("result", errInfo); //返回结果 + pd.put("ISDELETE", "1"); + map.put("syncInfo", pd); + map.put("code", "0"); return map; } @@ -150,6 +159,7 @@ public class CorpInfoController extends BaseController { @RequestMapping(value="/edit", headers = "content-type=multipart/form-data") @ResponseBody @Transactional + @SyncPlatformAdvice(type = SyncTypeEnum.CORP, isUpdate = true) public Object edit( @RequestParam(value="imgFiles",required=false) MultipartFile[] imgFiles, @RequestParam(value="fourFiles",required=false) MultipartFile[] fourFiles) throws Exception{ @@ -188,7 +198,8 @@ public class CorpInfoController extends BaseController { corpinfoService.editCorpUserNew(pdNew); corpinfoService.editCorpdeptNew(pdNew); - + map.put("syncInfo", corpinfoService.findById(pd)); + map.put("code", "0"); return map; } @RequestMapping(value="/editIsReceive") diff --git a/src/main/java/com/zcloud/controller/system/DepartmentController.java b/src/main/java/com/zcloud/controller/system/DepartmentController.java index 9cd23a10..73de9dba 100644 --- a/src/main/java/com/zcloud/controller/system/DepartmentController.java +++ b/src/main/java/com/zcloud/controller/system/DepartmentController.java @@ -6,6 +6,8 @@ import com.alibaba.fastjson.JSONObject; import com.zcloud.entity.system.User; import com.zcloud.service.system.PostService; import com.zcloud.service.system.SupervisionDepartmentService; +import com.zcloud.syncData.SyncPlatformAdvice; +import com.zcloud.syncData.SyncTypeEnum; import com.zcloud.util.DateUtil; import com.zcloud.util.ObjectExcelView; import net.sf.json.JSONArray; @@ -58,6 +60,7 @@ public class DepartmentController extends BaseController { @RequestMapping(value = "/add") @RequiresPermissions("department:add") @ResponseBody + @SyncPlatformAdvice(type = SyncTypeEnum.DEPARTMENT, isInsert = true) public Object add(Page page) throws Exception { Map map = new HashMap(); String errInfo = "success"; @@ -100,6 +103,8 @@ public class DepartmentController extends BaseController { } } map.put("result", errInfo); //返回结果 + map.put("syncInfo", departmentService.findById(pd)); + map.put("code", "0"); return map; } @@ -157,6 +162,7 @@ public class DepartmentController extends BaseController { @RequestMapping(value = "/delete") @RequiresPermissions("department:del") @ResponseBody + @SyncPlatformAdvice(type = SyncTypeEnum.DEPARTMENT, isUpdate = true) public Object delete(@RequestParam String DEPARTMENT_ID) throws Exception { Map map = new HashMap(); String errInfo = "success"; @@ -181,6 +187,9 @@ public class DepartmentController extends BaseController { } map.put("result", errInfo); //返回结果 + pd.put("ISDELETE", "1"); + map.put("syncInfo", pd); + map.put("code", "0"); return map; } @@ -193,6 +202,7 @@ public class DepartmentController extends BaseController { @RequestMapping(value = "/edit") @RequiresPermissions("department:edit") @ResponseBody + @SyncPlatformAdvice(type = SyncTypeEnum.DEPARTMENT, isUpdate = true) public Object edit() throws Exception { Map map = new HashMap(); String errInfo = "success"; @@ -244,6 +254,8 @@ public class DepartmentController extends BaseController { } } map.put("result", errInfo); //返回结果 + map.put("syncInfo", departmentService.findById(pd)); + map.put("code", "0"); return map; } diff --git a/src/main/java/com/zcloud/controller/system/UsersController.java b/src/main/java/com/zcloud/controller/system/UsersController.java index 6dce241c..65cf57f4 100644 --- a/src/main/java/com/zcloud/controller/system/UsersController.java +++ b/src/main/java/com/zcloud/controller/system/UsersController.java @@ -798,7 +798,7 @@ public class UsersController extends BaseController { usersService.editUserFuns(pd); //执行修改 map.put("result", errInfo); map.put("code", "0"); - map.put("syncInfo", JSONUtils.toJSONString(usersService.findById(pd))); + map.put("syncInfo", JSONUtil.toJsonStr(usersService.findById(pd))); return map; } @@ -830,7 +830,7 @@ public class UsersController extends BaseController { FHLOG.save(Jurisdiction.getUsername(), "从个人资料中修改" + pd.getString("USERNAME") + "的资料"); //记录日志 map.put("result", errInfo); map.put("code", "0"); - map.put("syncInfo", JSONUtils.toJSONString(usersService.findById(pd))); + map.put("syncInfo", JSONUtil.toJsonStr(usersService.findById(pd))); return map; } @@ -1051,6 +1051,12 @@ public class UsersController extends BaseController { pd = this.getPageData(); Map returnMap = null; if (pd.getString("ISPUSH").equals("1")) { + + // ------联通人员定位删除人员用------ + // 用于获取除UID ISDELETE外的其他信息 + PageData detail = usersService.findById(pd); + pd.putAll(detail); + // ------------------------------- pd.put("ISDELETE","1"); HashMap param = new HashMap<>(); Set set = pd.keySet(); @@ -2584,4 +2590,115 @@ public class UsersController extends BaseController { } return returnMap; } + + static String CREATOR = null; + static String OPERATOR = null; + @RequestMapping(value = "/initCore") + @ResponseBody + public Object initCore() throws Exception { + + PageData p1d = new PageData(); +// pd = this.getPageData(); + if (CREATOR == null) { + CREATOR = Jurisdiction.getUSER_ID(); + OPERATOR = Jurisdiction.getUSER_ID(); + } + List pageData = usersService.listAllUser(p1d); + + for (PageData pd : pageData) { + try { + pd.put("CREATTIME", DateUtil.date2Str(new Date())); //创建时间 + pd.put("CREATOR", CREATOR); //创建人 + pd.put("OPERATTIME", DateUtil.date2Str(new Date())); //修改时间 + pd.put("OPERATOR", OPERATOR); //修改人 + PageData sexPd = new PageData(); + if (Tools.notEmpty(pd.getString("SEX"))) { + sexPd.put("DICTIONARIES_ID", pd.getString("SEX")); + PageData byId = dictionariesService.findById(sexPd); + if (Tools.notEmpty(byId)) { + pd.put("SEX", byId.getString("NAME")); + } + } + StringBuilder ORG_PATH = new StringBuilder(); + boolean hasPid = true; + PageData department = departmentService.findById(pd); + if (department != null) { + ORG_PATH.insert(0, department.getString("NAME")); + String deptId = department.getString("PARENT_ID"); + PageData deptPd = new PageData(); + deptPd.put("DEPARTMENT_ID", deptId); + if (!"0".equals(department.get("PARENT_ID"))) { + while (hasPid) { + PageData dept = departmentService.findById(deptPd); + if ("0".equals(dept.get("PARENT_ID"))) { + hasPid = false; + } else { + deptId = dept.getString("PARENT_ID"); + deptPd.put("DEPARTMENT_ID", deptId); + } + ORG_PATH.insert(0, dept.getString("NAME") + "/"); + } + } + pd.put("ORG_PATH", ORG_PATH); + } else { + ORG_PATH.insert(0, ""); + + + } + PageData CorpName = corpInfoService.findById(pd); + + + pd.put("CORPINFO_NAME", CorpName == null ? "" : CorpName.getString("CORP_NAME")); + pd.put("USER_TYPE", "1"); + + HashMap param = new HashMap<>(); + Set set = pd.keySet(); + for (Object key : set) { + param.put(key.toString(), pd.getString(key.toString())); + } + + + //要推送的照片集合 + List userPhotoDTOList = new ArrayList<>(); + //人脸照片 + PageData photoPd = new PageData(); + photoPd.put("USER_PHOTO_ID", pd.getString("IMGFILES_ID")); + photoPd.put("USER_ID", pd.getString("FOREIGN_KEY")); + photoPd.put("PHOTO_URL", pd.getString("FILEPATH")); + photoPd.put("PHOTO_TYPE", "1"); + photoPd.put("ISDELETE", "0"); + userPhotoDTOList.add(photoPd); + param.put("userPhotoDTOList", userPhotoDTOList); + String userResult = HttpClientUtilDoGet.sendHttpGet(tongBuUrl + "/docking/core/user/getUserInfoById" + "?USER_ID=" + pd.getString("USER_ID")); + Map userReturnMap = (Map) JSON.parse(userResult); + if (userReturnMap.get("USERINFO") != null) { //有用户数据获取修改信息 + PageData userInfoPd = JSON.parseObject(userReturnMap.get("USERINFO").toString(), PageData.class); + String updateDescription = UpdateEnum.getUpdateDescription(userInfoPd, pd); + param.put("REMARKS", updateDescription); + + } else { //没有数据则获取新增信息 + String insertDescription = UpdateEnum.getInsertDescription(pd); + param.put("REMARKS", insertDescription); + } + String UserDto = JSON.toJSONString(param); + String result = HttpClientUtilDoGet.sendHttpPost(tongBuUrl + "/docking/core/user/addOrUpdate", UserDto, null); + Map returnMap = (Map) JSON.parse(result); + if (returnMap.get("result").equals("success")) { + PageData pushPd = new PageData(); + pushPd.put("ISPUSH", "1"); + if (!Tools.isEmpty(pd.get("operateType")) && pd.getString("operateType").equals("delete")) { + pushPd.put("ISDELETE", "1"); + } else { + pushPd.put("ISDELETE", "0"); + } + pushPd.put("USER_ID", pd.getString("USER_ID")); + usersService.editPushStatus(pushPd); + } + }catch (Exception e){ + + } + } + + return null; + } } diff --git a/src/main/java/com/zcloud/mapper/datasource/core/CoreSyncCorpMapper.java b/src/main/java/com/zcloud/mapper/datasource/core/CoreSyncCorpMapper.java new file mode 100644 index 00000000..303aa117 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/datasource/core/CoreSyncCorpMapper.java @@ -0,0 +1,42 @@ +package com.zcloud.mapper.datasource.core; + +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 人员中台本地同步Mapper + */ +public interface CoreSyncCorpMapper { + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd); + + /**删除 + * @param pd + * @throws Exception + */ + void delete(PageData pd); + + /**新增 + * @param pd + * @throws Exception + */ + void save(PageData pd); + + /**修改 + * @param pd + * @throws Exception + */ + void edit(PageData pd); + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + PageData findById(PageData pd); + +} diff --git a/src/main/java/com/zcloud/mapper/datasource/core/CoreSyncDeptMapper.java b/src/main/java/com/zcloud/mapper/datasource/core/CoreSyncDeptMapper.java new file mode 100644 index 00000000..d59802e7 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/datasource/core/CoreSyncDeptMapper.java @@ -0,0 +1,42 @@ +package com.zcloud.mapper.datasource.core; + +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 人员中台本地同步Mapper + */ +public interface CoreSyncDeptMapper { + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd); + + /**删除 + * @param pd + * @throws Exception + */ + void delete(PageData pd); + + /**新增 + * @param pd + * @throws Exception + */ + void save(PageData pd); + + /**修改 + * @param pd + * @throws Exception + */ + void edit(PageData pd); + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + PageData findById(PageData pd); + +} diff --git a/src/main/java/com/zcloud/mapper/datasource/core/CoreSyncUserMapper.java b/src/main/java/com/zcloud/mapper/datasource/core/CoreSyncUserMapper.java new file mode 100644 index 00000000..f578a596 --- /dev/null +++ b/src/main/java/com/zcloud/mapper/datasource/core/CoreSyncUserMapper.java @@ -0,0 +1,42 @@ +package com.zcloud.mapper.datasource.core; + +import com.zcloud.entity.PageData; + +import java.util.List; + +/** + * 人员中台本地同步Mapper + */ +public interface CoreSyncUserMapper { + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd); + + /**删除 + * @param pd + * @throws Exception + */ + void delete(PageData pd); + + /**新增 + * @param pd + * @throws Exception + */ + void save(PageData pd); + + /**修改 + * @param pd + * @throws Exception + */ + void edit(PageData pd); + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + PageData findById(PageData pd); + +} diff --git a/src/main/java/com/zcloud/service/core/CoreSyncCorpService.java b/src/main/java/com/zcloud/service/core/CoreSyncCorpService.java new file mode 100644 index 00000000..b9ab4299 --- /dev/null +++ b/src/main/java/com/zcloud/service/core/CoreSyncCorpService.java @@ -0,0 +1,39 @@ +package com.zcloud.service.core; + +import com.zcloud.entity.PageData; + +import java.util.List; + +public interface CoreSyncCorpService { + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd); + + /**删除 + * @param pd + * @throws Exception + */ + void delete(PageData pd); + + /**新增 + * @param pd + * @throws Exception + */ + void save(PageData pd); + + /**修改 + * @param pd + * @throws Exception + */ + void edit(PageData pd); + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + PageData findById(PageData pd); + +} diff --git a/src/main/java/com/zcloud/service/core/CoreSyncDeptService.java b/src/main/java/com/zcloud/service/core/CoreSyncDeptService.java new file mode 100644 index 00000000..61350cfc --- /dev/null +++ b/src/main/java/com/zcloud/service/core/CoreSyncDeptService.java @@ -0,0 +1,39 @@ +package com.zcloud.service.core; + +import com.zcloud.entity.PageData; + +import java.util.List; + +public interface CoreSyncDeptService { + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd); + + /**删除 + * @param pd + * @throws Exception + */ + void delete(PageData pd); + + /**新增 + * @param pd + * @throws Exception + */ + void save(PageData pd); + + /**修改 + * @param pd + * @throws Exception + */ + void edit(PageData pd); + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + PageData findById(PageData pd); + +} diff --git a/src/main/java/com/zcloud/service/core/CoreSyncUserService.java b/src/main/java/com/zcloud/service/core/CoreSyncUserService.java new file mode 100644 index 00000000..6f27ec12 --- /dev/null +++ b/src/main/java/com/zcloud/service/core/CoreSyncUserService.java @@ -0,0 +1,39 @@ +package com.zcloud.service.core; + +import com.zcloud.entity.PageData; + +import java.util.List; + +public interface CoreSyncUserService { + + /**列表(全部) + * @param pd + * @throws Exception + */ + List listAll(PageData pd); + + /**删除 + * @param pd + * @throws Exception + */ + void delete(PageData pd); + + /**新增 + * @param pd + * @throws Exception + */ + void save(PageData pd); + + /**修改 + * @param pd + * @throws Exception + */ + void edit(PageData pd); + + /**通过id获取数据 + * @param pd + * @throws Exception + */ + PageData findById(PageData pd); + +} diff --git a/src/main/java/com/zcloud/service/core/impl/CoreSyncCorpServiceImpl.java b/src/main/java/com/zcloud/service/core/impl/CoreSyncCorpServiceImpl.java new file mode 100644 index 00000000..17c72cc5 --- /dev/null +++ b/src/main/java/com/zcloud/service/core/impl/CoreSyncCorpServiceImpl.java @@ -0,0 +1,38 @@ +package com.zcloud.service.core.impl; + +import com.zcloud.entity.PageData; +import com.zcloud.mapper.datasource.core.CoreSyncCorpMapper; +import com.zcloud.service.core.CoreSyncCorpService; + +import javax.annotation.Resource; +import java.util.List; + +public class CoreSyncCorpServiceImpl implements CoreSyncCorpService { + + @Resource + private CoreSyncCorpMapper coreSyncCorpMapper; + @Override + public List listAll(PageData pd) { + return coreSyncCorpMapper.listAll(pd); + } + + @Override + public void delete(PageData pd) { + coreSyncCorpMapper.delete(pd); + } + + @Override + public void save(PageData pd) { + coreSyncCorpMapper.save(pd); + } + + @Override + public void edit(PageData pd) { + coreSyncCorpMapper.edit(pd); + } + + @Override + public PageData findById(PageData pd) { + return coreSyncCorpMapper.findById(pd); + } +} diff --git a/src/main/java/com/zcloud/service/core/impl/CoreSyncDeptServiceImpl.java b/src/main/java/com/zcloud/service/core/impl/CoreSyncDeptServiceImpl.java new file mode 100644 index 00000000..a99667be --- /dev/null +++ b/src/main/java/com/zcloud/service/core/impl/CoreSyncDeptServiceImpl.java @@ -0,0 +1,38 @@ +package com.zcloud.service.core.impl; + +import com.zcloud.entity.PageData; +import com.zcloud.service.core.CoreSyncDeptService; + +import javax.annotation.Resource; +import java.util.List; + +public class CoreSyncDeptServiceImpl implements CoreSyncDeptService { + + @Resource + private CoreSyncDeptService coreSyncDeptService; + + @Override + public List listAll(PageData pd) { + return coreSyncDeptService.listAll(pd); + } + + @Override + public void delete(PageData pd) { + coreSyncDeptService.delete(pd); + } + + @Override + public void save(PageData pd) { + coreSyncDeptService.save(pd); + } + + @Override + public void edit(PageData pd) { + coreSyncDeptService.edit(pd); + } + + @Override + public PageData findById(PageData pd) { + return coreSyncDeptService.findById(pd); + } +} diff --git a/src/main/java/com/zcloud/service/core/impl/CoreSyncUserServiceImpl.java b/src/main/java/com/zcloud/service/core/impl/CoreSyncUserServiceImpl.java new file mode 100644 index 00000000..f2893aaf --- /dev/null +++ b/src/main/java/com/zcloud/service/core/impl/CoreSyncUserServiceImpl.java @@ -0,0 +1,39 @@ +package com.zcloud.service.core.impl; + +import com.zcloud.entity.PageData; +import com.zcloud.mapper.datasource.core.CoreSyncUserMapper; +import com.zcloud.service.core.CoreSyncUserService; + +import javax.annotation.Resource; +import java.util.List; + +public class CoreSyncUserServiceImpl implements CoreSyncUserService { + + @Resource + private CoreSyncUserMapper coreSyncUserMapper; + + @Override + public List listAll(PageData pd) { + return coreSyncUserMapper.listAll(pd); + } + + @Override + public void delete(PageData pd) { + coreSyncUserMapper.delete(pd); + } + + @Override + public void save(PageData pd) { + coreSyncUserMapper.save(pd); + } + + @Override + public void edit(PageData pd) { + coreSyncUserMapper.edit(pd); + } + + @Override + public PageData findById(PageData pd) { + return coreSyncUserMapper.findById(pd); + } +} diff --git a/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java b/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java index af636b9d..3180bb9d 100644 --- a/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java +++ b/src/main/java/com/zcloud/service/xgf/impl/XgfUserServiceImpl.java @@ -1197,7 +1197,8 @@ public class XgfUserServiceImpl implements XgfUserService { // (河港检测 jtdw004 020578a4c1f04bc692ee25145c2efbe5), // (方宇物业 jtdw005 90966974de3c4b83aca6f8fd6432d5c2), // (河北港口集团数联科技(雄安)有限公司 5cee11f6152d42e0a08ae38dc6abcfdf) - String jituandanwei = "1e6dbbe16004402f8d2c0e52afd9a676,3a854eefa7894e06aaa1a2611bca80f6,020578a4c1f04bc692ee25145c2efbe5,90966974de3c4b83aca6f8fd6432d5c2,5cee11f6152d42e0a08ae38dc6abcfdf"; + // (河港城发 f42d930a7e694123a2d6ad3e546ba695) + String jituandanwei = "1e6dbbe16004402f8d2c0e52afd9a676,3a854eefa7894e06aaa1a2611bca80f6,020578a4c1f04bc692ee25145c2efbe5,90966974de3c4b83aca6f8fd6432d5c2,5cee11f6152d42e0a08ae38dc6abcfdf,f42d930a7e694123a2d6ad3e546ba695"; if (jituandanwei.contains(corpInfoId)) { return "1"; } diff --git a/src/main/java/com/zcloud/syncData/SyncDataAdviceAspect.java b/src/main/java/com/zcloud/syncData/SyncDataAdviceAspect.java index c095afb0..d50553f2 100644 --- a/src/main/java/com/zcloud/syncData/SyncDataAdviceAspect.java +++ b/src/main/java/com/zcloud/syncData/SyncDataAdviceAspect.java @@ -27,6 +27,7 @@ import java.util.Map; */ @Aspect @Component +@SuppressWarnings("all") public class SyncDataAdviceAspect { @Pointcut(value = "@annotation(com.zcloud.syncData.SyncPlatformAdvice)") @@ -75,18 +76,38 @@ public class SyncDataAdviceAspect { message.setTopic(sliceDataChangeTopic); // 判断同步类型 + /** + * 同步隐患 + */ if (syncPlatformAdvice.type().equals(SyncTypeEnum.HIDDEN)){ - // 同步隐患 } + /** + * 同步人员 + */ if (syncPlatformAdvice.type().equals(SyncTypeEnum.PERSONNEL)){ - // 同步人员 dockSendMessageService.sendMessage(message); } - if (syncPlatformAdvice.type().equals(SyncTypeEnum.SAFETY_ENVIRONMENTAL_CHECK)){ - // 同步安全环保检查 + /** + * 同步安全环保检查 + */ + if (syncPlatformAdvice.type().equals(SyncTypeEnum.SAFETY_ENVIRONMENTAL_CHECK)){ } + /** + * 同步重点工程 + */ + if (syncPlatformAdvice.type().equals(SyncTypeEnum.KEY_PROJECT)){ } + /** + * 同步企业 + */ + if (syncPlatformAdvice.type().equals(SyncTypeEnum.CORP)){ + // 1. 发信 + dockSendMessageService.sendMessage(message); } - if (syncPlatformAdvice.type().equals(SyncTypeEnum.KEY_PROJECT)){ - // 同步重点工程 + /** + * 同步部门 + */ + if (syncPlatformAdvice.type().equals(SyncTypeEnum.DEPARTMENT)){ + // 1. 发信 + dockSendMessageService.sendMessage(message); } diff --git a/src/main/java/com/zcloud/syncData/SyncTypeEnum.java b/src/main/java/com/zcloud/syncData/SyncTypeEnum.java index 34647a2b..ba94f885 100644 --- a/src/main/java/com/zcloud/syncData/SyncTypeEnum.java +++ b/src/main/java/com/zcloud/syncData/SyncTypeEnum.java @@ -9,7 +9,9 @@ public enum SyncTypeEnum { PERSONNEL("人员"), HIDDEN("隐患"), SAFETY_ENVIRONMENTAL_CHECK("安全环保检查"), - KEY_PROJECT("重点工程"); + KEY_PROJECT("重点工程"), + DEPARTMENT("部门"), + CORP("企业"); private final String description; diff --git a/src/main/java/com/zcloud/syncData/listener/SyncDataListener.java b/src/main/java/com/zcloud/syncData/listener/SyncDataListener.java index b44c127a..a313f873 100644 --- a/src/main/java/com/zcloud/syncData/listener/SyncDataListener.java +++ b/src/main/java/com/zcloud/syncData/listener/SyncDataListener.java @@ -4,8 +4,13 @@ import cn.hutool.json.JSONUtil; import com.alibaba.fastjson.JSON; import com.zcloud.dto.TenCorpDto; import com.zcloud.entity.PageData; +import com.zcloud.mapper.datasource.bus.CorpInfoMapper; +import com.zcloud.mapper.datasource.core.CoreSyncCorpMapper; +import com.zcloud.mapper.datasource.core.CoreSyncDeptMapper; +import com.zcloud.mapper.datasource.core.CoreSyncUserMapper; import com.zcloud.mapper.datasource.mq.MqConsumptionErrorLogMapper; import com.zcloud.mapper.datasource.mq.MqConsumptionLogMapper; +import com.zcloud.mapper.datasource.system.DepartmentMapper; import com.zcloud.service.system.UsersService; import com.zcloud.service.xgf.XgfUserService; import com.zcloud.syncData.SyncTypeEnum; @@ -28,6 +33,7 @@ import java.util.Date; topic = "${mq.consumer.dataChange.tongbu-data-change.topic}", selectorType = SelectorType.TAG, messageModel = MessageModel.BROADCASTING) // 添加广播模式 +@SuppressWarnings("all") public class SyncDataListener implements RocketMQListener { @Autowired @@ -39,6 +45,22 @@ public class SyncDataListener implements RocketMQListener { @Autowired private XgfUserService xgfUserService; + @Autowired + private CorpInfoMapper corpinfoMapper; + + @Autowired + private DepartmentMapper departmentMapper; + + /* 本地中台同步 */ + @Autowired + private CoreSyncUserMapper coreSyncUserMapper; + + @Autowired + private CoreSyncCorpMapper coreSyncCorpMapper; + + @Autowired + private CoreSyncDeptMapper coreSyncDeptMapper; + @Autowired private static MqConsumptionErrorLogMapper mqConsumptionErrorLogMapper; @@ -81,11 +103,17 @@ public class SyncDataListener implements RocketMQListener { // 相关方推送 xgfUserService.edit4Mq(syncInfo); } - PageData localData = usersService.findById(syncInfo); - if (localData != null && !localData.isEmpty()){ - usersService.editUser(syncInfo); +// PageData localData = usersService.findById(syncInfo); +// if (localData != null && !localData.isEmpty()){ +// usersService.editUser(syncInfo); +// } + + // 2024.8.9 按郭跃鹏提出:后期各公司从企业端分离后,需要其他公司的用户进行SQL联查,要求新增一张core_user的同步表,用于记录中台的所有用户数据 + PageData coreLocalData = coreSyncUserMapper.findById(syncInfo); + if (coreLocalData != null && !coreLocalData.isEmpty()){ + coreSyncUserMapper.edit(syncInfo); } else { - // 2024.8.9 按郭跃鹏提出:后期各公司从企业端分离后,需要其他公司的用户进行SQL联查,要求新增一张core_user的同步表,用于记录中台的所有用户数据 + coreSyncUserMapper.save(syncInfo); } } @@ -101,6 +129,60 @@ public class SyncDataListener implements RocketMQListener { if (SyncTypeEnum.KEY_PROJECT.getDescription().equals(tenCorpDto.getMark())){ } + // 部门 + if (SyncTypeEnum.DEPARTMENT.getDescription().equals(tenCorpDto.getMark())){ + System.out.println("department"); + String str = tenCorpDto.getData().getString("syncInfo"); + PageData syncInfo = JSONUtil.toBean(str, PageData.class); + PageData localData = departmentMapper.findById(syncInfo); +// if (localData != null && !localData.isEmpty()){ +// departmentMapper.edit(syncInfo); +// } + + PageData coreLocalData = coreSyncDeptMapper.findById(syncInfo); + try { + if (!"1".equals(syncInfo.getString("ISDELETE"))) { + // 如果不是待删除的数据, 则进行排序字段的转换, 删除的数据只会传递ID和ISDELETE参数 + syncInfo.put("DEP_ORDER", Integer.parseInt(syncInfo.getString("DEP_ORDER"))); + } + }catch (Exception e){ + System.out.println("========================排序字段为空 : " + syncInfo.getString("DEP_ORDER") + " ========================"); + } + if (coreLocalData != null && !coreLocalData.isEmpty()){ + syncInfo.put("ISDELETE", syncInfo.getString("ISDELETE") == null ? "0" : syncInfo.getString("ISDELETE")); + coreSyncDeptMapper.edit(syncInfo); + } else { + syncInfo.put("ISDELETE", "0"); + coreSyncDeptMapper.save(syncInfo); + } + } + // 企业 + if (SyncTypeEnum.CORP.getDescription().equals(tenCorpDto.getMark())){ + System.out.println("corp"); + String str = tenCorpDto.getData().getString("syncInfo"); + PageData syncInfo = JSONUtil.toBean(str, PageData.class); + PageData localData = corpinfoMapper.findById(syncInfo); +// if (localData != null && !localData.isEmpty()){ +// corpinfoMapper.edit(syncInfo); +// } + + PageData coreLocalData = coreSyncCorpMapper.findById(syncInfo); + try { + if (!"1".equals(syncInfo.getString("ISDELETE"))) { + // 如果不是待删除的数据, 则进行排序字段的转换, 删除的数据只会传递ID和ISDELETE参数 + syncInfo.put("COR_ORDER", Integer.parseInt(syncInfo.getString("COR_ORDER"))); + } + }catch (Exception e){ + System.out.println("========================排序字段为空 : " + syncInfo.getString("COR_ORDER") + " ========================"); + } + if (coreLocalData != null && !coreLocalData.isEmpty()){ + syncInfo.put("ISDELETE", syncInfo.getString("ISDELETE") == null ? "0" : syncInfo.getString("ISDELETE")); + coreSyncCorpMapper.edit(syncInfo); + } else { + syncInfo.put("ISDELETE", "0"); + coreSyncCorpMapper.save(syncInfo); + } + } mqConsumptionLogMapper.save(productionPD); mqConsumptionLogMapper.save(pd); diff --git a/src/main/resources/mybatis/datasource/core/CoreSyncCorpMapper.xml b/src/main/resources/mybatis/datasource/core/CoreSyncCorpMapper.xml new file mode 100644 index 00000000..fc4938b3 --- /dev/null +++ b/src/main/resources/mybatis/datasource/core/CoreSyncCorpMapper.xml @@ -0,0 +1,106 @@ + + + + + + + CORE_SYNC_CORPINFO + + + + + f.CORPINFO_ID , + f.CORP_NAME , + f.COR_ORDER , + f.ISDELETE, + f.CORP_FLAG + + + + + CORPINFO_ID , + CORP_NAME , + COR_ORDER , + ISDELETE, + CORP_FLAG + + + + + #{CORPINFO_ID} , + #{CORP_NAME} , + #{COR_ORDER} , + #{ISDELETE}, + #{CORP_FLAG} + + + + + insert into + + ( + + ) values ( + + ) + + + + + + + update + + + + CORP_NAME = #{CORP_NAME}, + + + COR_ORDER = #{COR_ORDER}, + + + ISDELETE = #{ISDELETE}, + + + CORP_FLAG = #{CORP_FLAG} + + + where + CORPINFO_ID = #{CORPINFO_ID} + + + + update + + set ISDELETE = '1' + where + CORPINFO_ID = #{CORPINFO_ID} + + + + diff --git a/src/main/resources/mybatis/datasource/core/CoreSyncDeptMapper.xml b/src/main/resources/mybatis/datasource/core/CoreSyncDeptMapper.xml new file mode 100644 index 00000000..3ce3e90f --- /dev/null +++ b/src/main/resources/mybatis/datasource/core/CoreSyncDeptMapper.xml @@ -0,0 +1,136 @@ + + + + + + + CORE_SYNC_DEPARTMENT + + + + + f.DEPARTMENT_ID , + f.NAME , + f.PARENT_ID , + f.CORPINFO_ID , + f.CORP_NAME , + f.DEP_ORDER , + f.DEPT_FLAG , + f.ISDELETE + + + + + DEPARTMENT_ID , + NAME , + PARENT_ID , + CORPINFO_ID , + CORP_NAME , + DEP_ORDER , + DEPT_FLAG , + ISDELETE + + + + + #{DEPARTMENT_ID} , + #{NAME} , + #{PARENT_ID} , + #{CORPINFO_ID} , + #{CORP_NAME} , + #{DEP_ORDER} , + #{DEPT_FLAG} , + #{ISDELETE} + + + + + insert into + + ( + + ) values ( + + ) + + + + + + + update + + + + NAME = #{NAME}, + + + PARENT_ID = #{PARENT_ID}, + + + CORPINFO_ID = #{CORPINFO_ID}, + + + CORP_NAME = #{CORP_NAME}, + + + DEP_ORDER = #{DEP_ORDER}, + + + DEPT_FLAG = #{DEPT_FLAG}, + + + ISDELETE = #{ISDELETE} + + + where + DEPARTMENT_ID = #{DEPARTMENT_ID} + + + + update + + set ISDELETE = '1' + where + DEPARTMENT_ID = #{DEPARTMENT_ID} + + + + diff --git a/src/main/resources/mybatis/datasource/core/CoreSyncUserMapper.xml b/src/main/resources/mybatis/datasource/core/CoreSyncUserMapper.xml new file mode 100644 index 00000000..269d5d46 --- /dev/null +++ b/src/main/resources/mybatis/datasource/core/CoreSyncUserMapper.xml @@ -0,0 +1,187 @@ + + + + + + + CORE_SYNC_USER + + + + + f.USER_ID , + f.USERNAME , + f.NAME , + f.PHONE , + f.CORPINFO_ID , + f.CORPINFO_NAME , + f.DEPARTMENT_ID , + f.DEPARTMENT_NAME , + f.POST_ID , + f.POST_NAME , + f.ROLE_ID , + f.ROLE_NAME , + f.USER_TYPE , + f.ISDELETE + + + + + USER_ID , + USERNAME , + NAME , + PHONE , + CORPINFO_ID , + CORPINFO_NAME , + DEPARTMENT_ID , + DEPARTMENT_NAME , + POST_ID , + POST_NAME , + ROLE_ID , + ROLE_NAME , + USER_TYPE , + ISDELETE + + + + + #{USER_ID} , + #{USERNAME} , + #{NAME} , + #{PHONE} , + #{CORPINFO_ID} , + #{CORPINFO_NAME} , + #{DEPARTMENT_ID} , + #{DEPARTMENT_NAME} , + #{POST_ID} , + #{POST_NAME} , + #{ROLE_ID} , + #{ROLE_NAME} , + #{USER_TYPE} , + #{ISDELETE} + + + + + insert into + + ( + + ) values ( + + ) + + + + + + + update + + + + USER_ID = #{USER_ID}, + + + USERNAME = #{USERNAME}, + + + NAME = #{NAME}, + + + PHONE = #{PHONE}, + + + CORPINFO_ID = #{CORPINFO_ID}, + + + CORPINFO_NAME = #{CORPINFO_NAME}, + + + DEPARTMENT_ID = #{DEPARTMENT_ID}, + + + DEPARTMENT_NAME = #{DEPARTMENT_NAME}, + + + POST_ID = #{POST_ID}, + + + POST_NAME = #{POST_NAME}, + + + ROLE_ID = #{ROLE_ID}, + + + ROLE_NAME = #{ROLE_NAME}, + + + USER_TYPE = #{USER_TYPE}, + + + ISDELETE = #{ISDELETE} + + + where + USER_ID = #{USER_ID} + + + + update + + set ISDELETE = '1' + where + USER_ID = #{USER_ID} + + + + diff --git a/src/main/resources/mybatis/datasource/system/UsersMapper.xml b/src/main/resources/mybatis/datasource/system/UsersMapper.xml index e7625a89..1b0a68d3 100644 --- a/src/main/resources/mybatis/datasource/system/UsersMapper.xml +++ b/src/main/resources/mybatis/datasource/system/UsersMapper.xml @@ -391,19 +391,46 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update - set NAME = #{NAME}, - DEPARTMENT_ID = #{DEPARTMENT_ID}, - POST_ID =#{POST_ID}, - ROLE_ID = #{ROLE_ID}, - ROLE_IDS = #{ROLE_IDS}, - BZ = #{BZ}, - EMAIL = #{EMAIL}, - NUMBER = #{NUMBER}, - SORT = #{SORT}, - PERSON_TYPE = #{PERSON_TYPE}, - IS_HAZARDCONFIRMER = #{IS_HAZARDCONFIRMER}, - IS_ONLINELEARNING = #{IS_ONLINELEARNING}, - PHONE = #{PHONE} + set + + NAME = #{NAME} + + + ,DEPARTMENT_ID = #{DEPARTMENT_ID} + + + ,POST_ID = #{POST_ID} + + + ,ROLE_ID = #{ROLE_ID} + + + ,ROLE_IDS = #{ROLE_IDS} + + + ,BZ = #{BZ} + + + ,EMAIL = #{EMAIL} + + + ,NUMBER = #{NUMBER} + + + ,SORT = #{SORT} + + + ,PERSON_TYPE = #{PERSON_TYPE} + + + ,IS_HAZARDCONFIRMER = #{IS_HAZARDCONFIRMER} + + + ,IS_ONLINELEARNING = #{IS_ONLINELEARNING} + + + ,PHONE = #{PHONE} + ,ISPUSH = #{ISPUSH} @@ -770,17 +797,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"