From df5716965a42520e8cb5025c0d348fd3aca96064 Mon Sep 17 00:00:00 2001 From: beeajax <1105173470@qq.com> Date: Thu, 8 Jun 2023 11:18:18 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BB=E5=8A=A8ws=E5=B0=81=E8=A3=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/http/HttpTBasicCollectorImpl.java | 2 +- .../basic/ws/WsBasicCollectorImpl.java | 29 ++++++++ .../collect/dept/mq/PowerDeptConverter.java | 52 +++++++++++++++ .../collect/dept/ws/WsDeptCollectorImpl.java | 33 ++++++++++ .../user/http/HttpUserCollectorImpl.java | 3 + .../collect/user/http/HttpUserResultImpl.java | 3 + .../collect/user/mq/PowerUserConverter.java | 66 +++++++++++++++++++ .../collect/user/ws/PowerUserConverter.java | 3 + .../collect/user/ws/WsUserCollectorImpl.java | 33 ++++++++++ .../collect/user/ws/WsUserResultImpl.java | 3 + .../collect/job/AbstractCollectJob.java | 4 +- .../job/basic/TBasicHttpCollectJob.java | 21 +++--- .../job/basic/TBasicViewCollectJob.java | 15 +++-- .../collect/job/basic/TBasicWsCollectJob.java | 52 +++++++++++++++ .../collect/job/dept/DeptHttpCollectJob.java | 16 +++-- .../collect/job/dept/DeptViewCollectJob.java | 12 +++- .../collect/job/dept/DeptWsCollectJob.java | 52 +++++++++++++++ .../collect/job/user/UserHttpCollectJob.java | 20 ++++-- .../collect/job/user/UserViewCollectJob.java | 15 +++-- .../collect/job/user/UserWsCollectJob.java | 52 +++++++++++++++ .../server/collect/service/ICollector.java | 11 ++++ .../collect/service/IHttpCollector.java | 9 +-- .../server/collect/service/IWsCollector.java | 6 ++ .../docus/server/ws/impl/UserServerImpl.java | 2 +- .../service/impl/PowerDeptServiceImpl.java | 1 + .../service/impl/PowerUserServiceImpl.java | 1 + 26 files changed, 473 insertions(+), 43 deletions(-) create mode 100644 collect-sdry/src/main/java/com/docus/server/collect/basic/ws/WsBasicCollectorImpl.java create mode 100644 collect-sdry/src/main/java/com/docus/server/collect/dept/mq/PowerDeptConverter.java create mode 100644 collect-sdry/src/main/java/com/docus/server/collect/dept/ws/WsDeptCollectorImpl.java create mode 100644 collect-sdry/src/main/java/com/docus/server/collect/user/mq/PowerUserConverter.java create mode 100644 collect-sdry/src/main/java/com/docus/server/collect/user/ws/WsUserCollectorImpl.java create mode 100644 common-collect/src/main/java/com/docus/server/collect/job/basic/TBasicWsCollectJob.java create mode 100644 common-collect/src/main/java/com/docus/server/collect/job/dept/DeptWsCollectJob.java create mode 100644 common-collect/src/main/java/com/docus/server/collect/job/user/UserWsCollectJob.java create mode 100644 common-collect/src/main/java/com/docus/server/collect/service/ICollector.java create mode 100644 common-collect/src/main/java/com/docus/server/collect/service/IWsCollector.java diff --git a/collect-sdry/src/main/java/com/docus/server/collect/basic/http/HttpTBasicCollectorImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/basic/http/HttpTBasicCollectorImpl.java index 9463b4f..42cb1d9 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/basic/http/HttpTBasicCollectorImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/basic/http/HttpTBasicCollectorImpl.java @@ -12,7 +12,7 @@ import java.util.List; * 主动http收集器,返回从客户那边获取的数据 * * @see IHttpCollector - * @see com.docus.server.collect.job.basic.TBasicHttpCollectJob#getTBasics(Date, Date, long, long) + * @see com.docus.server.collect.job.basic.TBasicHttpCollectJob#execute(Date, Date, long, long) */ @Component("httpTBasicCollectorImpl") public class HttpTBasicCollectorImpl implements IHttpCollector { diff --git a/collect-sdry/src/main/java/com/docus/server/collect/basic/ws/WsBasicCollectorImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/basic/ws/WsBasicCollectorImpl.java new file mode 100644 index 0000000..98c2aa9 --- /dev/null +++ b/collect-sdry/src/main/java/com/docus/server/collect/basic/ws/WsBasicCollectorImpl.java @@ -0,0 +1,29 @@ +package com.docus.server.collect.basic.ws; + +import com.docus.server.collect.service.IWsCollector; +import com.docus.server.record.pojo.dto.TBasicDTO; +import com.google.common.collect.Lists; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +/** + * 主动ws + */ +@Component("wsBasicCollectorImpl") +public class WsBasicCollectorImpl implements IWsCollector { + @Override + public List get(Date startDate, Date endDate, long pageNum, long pageSize) { + TBasicDTO deptDTO = new TBasicDTO(); + deptDTO.setAdmissDate("1"); + deptDTO.setAdmissDays("admin"); + deptDTO.setAttendingName("1"); + + TBasicDTO deptDTO1 = new TBasicDTO(); + deptDTO1.setAdmissDate("2"); + deptDTO1.setAdmissDays("admin2"); + deptDTO1.setAttendingName("2"); + return Lists.newArrayList(deptDTO, deptDTO1); + } +} diff --git a/collect-sdry/src/main/java/com/docus/server/collect/dept/mq/PowerDeptConverter.java b/collect-sdry/src/main/java/com/docus/server/collect/dept/mq/PowerDeptConverter.java new file mode 100644 index 0000000..d9193a5 --- /dev/null +++ b/collect-sdry/src/main/java/com/docus/server/collect/dept/mq/PowerDeptConverter.java @@ -0,0 +1,52 @@ +package com.docus.server.collect.dept.mq; + +import com.docus.server.sys.common.pojo.dto.DeptDTO; +import com.docus.server.ws.convert.IConverter; +import org.springframework.stereotype.Component; + +import java.util.UUID; + +@Component("powerDeptConverter") +public class PowerDeptConverter implements IConverter { + + @Override + public DeptDTO convert(String message, String methodName) { + //TODO: 根据协议进行解析。 +// XmlUtil xmlParseUtil = XmlUtil.of(message); +// Node msgIdNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/id/@extension"); +// Node receiverNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/receiver/device/id/item/@extension"); +// Node operateTypeNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/subject1/valueSet/valueSetItems/@operateType"); +// Node deptCodeNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/subject1/valueSet/valueSetItems/DEPT_CODE/@value"); +// Node deptNameNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/subject1/valueSet/valueSetItems/DEPT_NAME/@value"); +// Node authorIdNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/author/assignedEntity/id/item/@extension"); +// Node authorNameNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/author/assignedEntity/assignedPerson/name/item/part/@value"); +// +// DeptDTO deptDto = new DeptDTO(); +// deptDto.setMessageId(msgIdNode.getNodeValue()); +// deptDto.setReceiver(receiverNode.getNodeValue()); +// deptDto.setOperateType(operateTypeNode.getNodeValue()); +// deptDto.setDeptCode(deptCodeNode.getNodeValue()); +// deptDto.setDeptName(deptNameNode.getNodeValue()); +// deptDto.setAuthorId(authorIdNode.getNodeValue()); +// deptDto.setAuthorName(authorNameNode.getNodeValue()); +// deptDto.setSource(message);//原始xml报文 +// +// deptDto.setParams(ParamsUtils.addParam("msg", "操作成功!") +// .addParam("msgId", deptDto.getMessageId()) +// .addParam("receiver", deptDto.getReceiver()) +// .param()); + + + DeptDTO deptDto = new DeptDTO(); + deptDto.setMessageId(UUID.randomUUID().toString()); + deptDto.setReceiver("1"); + deptDto.setOperateType("2"); + deptDto.setDeptCode("3"); + deptDto.setDeptName("4"); + deptDto.setAuthorId("5"); + deptDto.setAuthorName("6"); + deptDto.setSource(message);//原始xml报文 + + return deptDto; + } +} diff --git a/collect-sdry/src/main/java/com/docus/server/collect/dept/ws/WsDeptCollectorImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/dept/ws/WsDeptCollectorImpl.java new file mode 100644 index 0000000..55d0d38 --- /dev/null +++ b/collect-sdry/src/main/java/com/docus/server/collect/dept/ws/WsDeptCollectorImpl.java @@ -0,0 +1,33 @@ +package com.docus.server.collect.dept.ws; + +import com.docus.server.collect.service.IWsCollector; +import com.docus.server.sys.common.pojo.dto.DeptDTO; +import com.google.common.collect.Lists; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +/** + * 主动ws + */ +@Component("wsDeptCollectorImpl") +public class WsDeptCollectorImpl implements IWsCollector { + @Override + public List get(Date startDate, Date endDate, long pageNum, long pageSize) { + DeptDTO deptDTO = new DeptDTO(); + deptDTO.setAuthorId("1"); + deptDTO.setAuthorName("admin"); + deptDTO.setMessageId("1"); + deptDTO.setOperateType("save"); + deptDTO.setReceiver("admin"); + + DeptDTO deptDTO1 = new DeptDTO(); + deptDTO1.setAuthorId("2"); + deptDTO1.setAuthorName("admin2"); + deptDTO1.setMessageId("2"); + deptDTO1.setOperateType("save2"); + deptDTO1.setReceiver("admin2"); + return Lists.newArrayList(deptDTO, deptDTO1); + } +} diff --git a/collect-sdry/src/main/java/com/docus/server/collect/user/http/HttpUserCollectorImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/user/http/HttpUserCollectorImpl.java index a1c0f47..686e3c6 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/user/http/HttpUserCollectorImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/user/http/HttpUserCollectorImpl.java @@ -8,6 +8,9 @@ import org.springframework.stereotype.Component; import java.util.Date; import java.util.List; +/** + * 主动http + */ @Component("httpUserCollectorImpl") public class HttpUserCollectorImpl implements IHttpCollector { @Override diff --git a/collect-sdry/src/main/java/com/docus/server/collect/user/http/HttpUserResultImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/user/http/HttpUserResultImpl.java index 2ab5441..d3f09bd 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/user/http/HttpUserResultImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/user/http/HttpUserResultImpl.java @@ -6,6 +6,9 @@ import org.springframework.stereotype.Component; import java.util.Map; +/** + * 被动http结果 + */ @Component("httpUserResultImpl") public class HttpUserResultImpl implements IHttpResult { diff --git a/collect-sdry/src/main/java/com/docus/server/collect/user/mq/PowerUserConverter.java b/collect-sdry/src/main/java/com/docus/server/collect/user/mq/PowerUserConverter.java new file mode 100644 index 0000000..80ebbee --- /dev/null +++ b/collect-sdry/src/main/java/com/docus/server/collect/user/mq/PowerUserConverter.java @@ -0,0 +1,66 @@ +package com.docus.server.collect.user.mq; + +import com.docus.server.sys.common.pojo.dto.UserDTO; +import com.docus.server.ws.convert.IConverter; +import org.springframework.stereotype.Component; + +import java.util.UUID; + +/** + * 被动ws和http转化器 + */ +@Component("powerUserConverter") +public class PowerUserConverter implements IConverter { + + @Override + public UserDTO convert(String message, String methodName) { +// XmlUtil xmlParseUtil = XmlUtil.of(message); +// Node msgIdNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/id/@extension"); +// Node receiverNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/receiver/device/id/item/@extension"); +// Node operateTypeNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/subject1/valueSet/valueSetItems/@operateType"); +// Node employeeCodeNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/subject1/valueSet/valueSetItems/EMPL_CODE/@value"); +// Node employeeNameNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/subject1/valueSet/valueSetItems/EMPL_NAME/@value"); +// Node deptCodeNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/subject1/valueSet/valueSetItems/DEPT_CODE/@value"); +// Node positionNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/subject1/valueSet/valueSetItems/POSI_NAME/@value"); +// Node authorIdNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/author/assignedEntity/id/item/@extension"); +// Node authorNameNode = xmlParseUtil.getNode("/PRVS_IN000002UV01/controlActProcess/subject/registrationRequest/author/assignedEntity/assignedPerson/name/item/part/@value"); +// UserDTO userDTO = new UserDTO(); +// userDTO.setDeptId(deptCodeNode.getNodeValue()); +// userDTO.setReceiver(receiverNode.getNodeValue()); +// userDTO.setOperateType(operateTypeNode.getNodeValue()); +// userDTO.setUserName(employeeCodeNode.getNodeValue()); +// userDTO.setName(employeeNameNode.getNodeValue()); +// userDTO.setPosition(positionNode.getNodeValue()); +// userDTO.setAuthorId(authorIdNode.getNodeValue()); +// userDTO.setMessageId(msgIdNode.getNodeValue()); +// userDTO.setAuthorName(authorNameNode.getNodeValue()); +// userDTO.setRoleId(0L); +// +// userDTO.setParams(ParamsUtils.addParam("msg", "操作成功!") +// .addParam("msgId", userDTO.getMessageId()) +// .addParam("receiver", userDTO.getReceiver()) +// .param()); + + + UserDTO userDTO = new UserDTO(); + userDTO.setDeptId("1"); + userDTO.setReceiver("2"); + userDTO.setOperateType("3"); + userDTO.setUserName("4"); + userDTO.setName("5"); + userDTO.setPosition("6"); + userDTO.setAuthorId("7"); + userDTO.setMessageId(UUID.randomUUID().toString()); + userDTO.setAuthorName("9"); + userDTO.setRoleId(0L); + +// userDTO.setParams(ParamsUtils.addParam("msg", "操作成功!") +// .addParam("msgId", userDTO.getMessageId()) +// .addParam("receiver", userDTO.getReceiver()) +// .param()); + + + return userDTO; + } + +} diff --git a/collect-sdry/src/main/java/com/docus/server/collect/user/ws/PowerUserConverter.java b/collect-sdry/src/main/java/com/docus/server/collect/user/ws/PowerUserConverter.java index 83c96fb..6158fc3 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/user/ws/PowerUserConverter.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/user/ws/PowerUserConverter.java @@ -6,6 +6,9 @@ import org.springframework.stereotype.Component; import java.util.UUID; +/** + * 被动ws和http转化器 + */ @Component("powerUserConverter") public class PowerUserConverter implements IConverter { diff --git a/collect-sdry/src/main/java/com/docus/server/collect/user/ws/WsUserCollectorImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/user/ws/WsUserCollectorImpl.java new file mode 100644 index 0000000..4f538a2 --- /dev/null +++ b/collect-sdry/src/main/java/com/docus/server/collect/user/ws/WsUserCollectorImpl.java @@ -0,0 +1,33 @@ +package com.docus.server.collect.user.ws; + +import com.docus.server.collect.service.IWsCollector; +import com.docus.server.sys.common.pojo.dto.UserDTO; +import com.google.common.collect.Lists; +import org.springframework.stereotype.Component; + +import java.util.Date; +import java.util.List; + +/** + * 主动ws + */ +@Component("wsUserCollectorImpl") +public class WsUserCollectorImpl implements IWsCollector { + @Override + public List get(Date startDate, Date endDate, long pageNum, long pageSize) { + UserDTO deptDTO = new UserDTO(); + deptDTO.setAuthorId("1"); + deptDTO.setAuthorName("admin"); + deptDTO.setMessageId("1"); + deptDTO.setOperateType("save"); + deptDTO.setReceiver("admin"); + + UserDTO deptDTO1 = new UserDTO(); + deptDTO1.setAuthorId("2"); + deptDTO1.setAuthorName("admin2"); + deptDTO1.setMessageId("2"); + deptDTO1.setOperateType("save2"); + deptDTO1.setReceiver("admin2"); + return Lists.newArrayList(deptDTO, deptDTO1); + } +} diff --git a/collect-sdry/src/main/java/com/docus/server/collect/user/ws/WsUserResultImpl.java b/collect-sdry/src/main/java/com/docus/server/collect/user/ws/WsUserResultImpl.java index 0a7066e..ed36abe 100644 --- a/collect-sdry/src/main/java/com/docus/server/collect/user/ws/WsUserResultImpl.java +++ b/collect-sdry/src/main/java/com/docus/server/collect/user/ws/WsUserResultImpl.java @@ -9,6 +9,9 @@ import org.springframework.stereotype.Component; import java.util.Date; import java.util.Map; +/** + * 被动ws结果 + */ @Component("wsUserResultImpl") public class WsUserResultImpl implements IWsResult { diff --git a/common-collect/src/main/java/com/docus/server/collect/job/AbstractCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/job/AbstractCollectJob.java index 5a17724..a037601 100644 --- a/common-collect/src/main/java/com/docus/server/collect/job/AbstractCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/job/AbstractCollectJob.java @@ -71,7 +71,7 @@ public abstract class AbstractCollectJob implements IJob { return XxlJobHelper.getJobParam(); } - protected abstract void batchInsertOrUpdate(List t); + public abstract void batchInsertOrUpdate(List t); - protected abstract List execute(Date startDate, Date endDate, long pageNum, long pageSize); + public abstract List execute(Date startDate, Date endDate, long pageNum, long pageSize); } diff --git a/common-collect/src/main/java/com/docus/server/collect/job/basic/TBasicHttpCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/job/basic/TBasicHttpCollectJob.java index 932922c..71abe36 100644 --- a/common-collect/src/main/java/com/docus/server/collect/job/basic/TBasicHttpCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/job/basic/TBasicHttpCollectJob.java @@ -1,7 +1,7 @@ package com.docus.server.collect.job.basic; import com.docus.server.collect.job.AbstractCollectJob; -import com.docus.server.collect.service.IHttpCollector; +import com.docus.server.collect.service.ICollector; import com.docus.server.record.pojo.dto.TBasicDTO; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; @@ -10,18 +10,24 @@ import javax.annotation.Resource; import java.util.Date; import java.util.List; - +/** + * 主动http请求基础数据job + * + * @see com.docus.server.collect.job.AbstractCollectJob + * @see com.docus.server.collect.job.IJob + * @see com.docus.server.collect.service.IHttpCollector + */ @Component public class TBasicHttpCollectJob extends AbstractCollectJob { @Resource(name = "httpTBasicCollectorImpl") - private IHttpCollector collector; + private ICollector collector; /** * xxl jobhandler 手工执行 */ @XxlJob("startAllTBasicHttpCollect") - public void startAllDeptHttpCollect() { + public void startAllTBasicHttpCollect() { super.startCollectAll(getJobParam()); } @@ -29,21 +35,20 @@ public class TBasicHttpCollectJob extends AbstractCollectJob { * xxl jobhandler 配置定时启动,如果未完成任务跳过。 */ @XxlJob("startIncTBasicHttpCollect") - public void startIncDeptHttpCollect() { + public void startIncTBasicHttpCollect() { super.startCollectIncrement(getJobParam()); } @Override - protected void batchInsertOrUpdate(List t) { + public void batchInsertOrUpdate(List t) { basicService.batchSaveBasics(t); } @SuppressWarnings("unchecked") @Override - protected List execute(Date startDate, Date endDate, long pageNum, long pageSize) { + public List execute(Date startDate, Date endDate, long pageNum, long pageSize) { //需要根据不同医院去解析不同的内容。使用接口实现的方式。 - return collector.get(startDate, endDate, pageNum, pageSize); } } diff --git a/common-collect/src/main/java/com/docus/server/collect/job/basic/TBasicViewCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/job/basic/TBasicViewCollectJob.java index 30648eb..91f59d6 100644 --- a/common-collect/src/main/java/com/docus/server/collect/job/basic/TBasicViewCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/job/basic/TBasicViewCollectJob.java @@ -10,6 +10,13 @@ import javax.annotation.Resource; import java.util.Date; import java.util.List; +/** + * 主动view请求基础数据job + * + * @see com.docus.server.collect.job.AbstractCollectJob + * @see com.docus.server.collect.job.IJob + * @see com.docus.server.collect.service.ICollector + */ @Component public class TBasicViewCollectJob extends AbstractCollectJob { @Resource @@ -19,7 +26,7 @@ public class TBasicViewCollectJob extends AbstractCollectJob { * xxl jobhandler 手工执行,全量执行 */ @XxlJob("startAllTBasicViewCollect") - public void startAllDeptViewCollect() { + public void startAllTBasicViewCollect() { super.startCollectAll(getJobParam()); } @@ -27,18 +34,18 @@ public class TBasicViewCollectJob extends AbstractCollectJob { * xxl jobhandler 配置定时启动,如果未完成任务跳过。增量收集 */ @XxlJob("startIncTBasicViewCollect") - public void startIncDeptViewCollect() { + public void startIncTBasicViewCollect() { super.startCollectIncrement(getJobParam()); } @Override - protected void batchInsertOrUpdate(List t) { + public void batchInsertOrUpdate(List t) { basicService.batchSaveBasics(t); } @SuppressWarnings("unchecked") @Override - protected List execute(Date startDate, Date endDate, long pageNum, long pageSize) { + public List execute(Date startDate, Date endDate, long pageNum, long pageSize) { //每家医院按照固定的格式写sql,不同医院需要替换不同的sql即可。 return hisService.getTBasicListView(startDate, endDate, pageNum, pageSize); } diff --git a/common-collect/src/main/java/com/docus/server/collect/job/basic/TBasicWsCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/job/basic/TBasicWsCollectJob.java new file mode 100644 index 0000000..1790edc --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/collect/job/basic/TBasicWsCollectJob.java @@ -0,0 +1,52 @@ +package com.docus.server.collect.job.basic; + +import com.docus.server.collect.job.AbstractCollectJob; +import com.docus.server.collect.service.ICollector; +import com.docus.server.sys.common.pojo.dto.UserDTO; +import com.xxl.job.core.handler.annotation.XxlJob; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +/** + * 主动webservice请求基础数据 + * + * @see com.docus.server.collect.job.AbstractCollectJob + * @see com.docus.server.collect.job.IJob + * @see com.docus.server.collect.service.IWsCollector + */ +@Component +public class TBasicWsCollectJob extends AbstractCollectJob { + @Resource(name = "wsBasicCollectorImpl") + private ICollector collector; + + /** + * xxl jobhandler 手工执行 + */ + @XxlJob("startAllUserWsCollect") + public void startAllUserWsCollect() { + super.startCollectAll(getJobParam()); + } + + /** + * xxl jobhandler 配置定时启动,如果未完成任务跳过。 + */ + @XxlJob("startIncUserWsCollect") + public void startIncUserWsCollect() { + super.startCollectIncrement(getJobParam()); + } + + @Override + public void batchInsertOrUpdate(List t) { + userService.batchSaveOrUpdatePowerUser(t); + } + + @SuppressWarnings("unchecked") + @Override + public List execute(Date startDate, Date endDate, long pageNum, long pageSize) { + //需要根据不同医院去解析不同的内容。使用接口实现的方式。 + return collector.get(startDate, endDate, pageNum, pageSize); + } +} diff --git a/common-collect/src/main/java/com/docus/server/collect/job/dept/DeptHttpCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/job/dept/DeptHttpCollectJob.java index 03c127b..fb9dd52 100644 --- a/common-collect/src/main/java/com/docus/server/collect/job/dept/DeptHttpCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/job/dept/DeptHttpCollectJob.java @@ -1,7 +1,7 @@ package com.docus.server.collect.job.dept; import com.docus.server.collect.job.AbstractCollectJob; -import com.docus.server.collect.service.IHttpCollector; +import com.docus.server.collect.service.ICollector; import com.docus.server.sys.common.pojo.dto.DeptDTO; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; @@ -10,12 +10,18 @@ import javax.annotation.Resource; import java.util.Date; import java.util.List; - +/** + * 主动http请求科室数据job + * + * @see com.docus.server.collect.job.AbstractCollectJob + * @see com.docus.server.collect.job.IJob + * @see com.docus.server.collect.service.IHttpCollector + */ @Component public class DeptHttpCollectJob extends AbstractCollectJob { @Resource(name = "httpDeptCollectorImpl") - private IHttpCollector collector; + private ICollector collector; /** * xxl jobhandler 手工执行 @@ -34,13 +40,13 @@ public class DeptHttpCollectJob extends AbstractCollectJob { } @Override - protected void batchInsertOrUpdate(List t) { + public void batchInsertOrUpdate(List t) { deptService.batchSaveOrUpdatePowerDept(t); } @SuppressWarnings("unchecked") @Override - protected List execute(Date startDate, Date endDate, long pageNum, long pageSize) { + public List execute(Date startDate, Date endDate, long pageNum, long pageSize) { return collector.get(startDate, endDate, pageNum, pageSize); } } diff --git a/common-collect/src/main/java/com/docus/server/collect/job/dept/DeptViewCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/job/dept/DeptViewCollectJob.java index f86ae8f..ad0ea24 100644 --- a/common-collect/src/main/java/com/docus/server/collect/job/dept/DeptViewCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/job/dept/DeptViewCollectJob.java @@ -10,6 +10,13 @@ import javax.annotation.Resource; import java.util.Date; import java.util.List; +/** + * 主动view请求科室数据job + * + * @see com.docus.server.collect.job.AbstractCollectJob + * @see com.docus.server.collect.job.IJob + * @see com.docus.server.collect.service.ICollector + */ @Component public class DeptViewCollectJob extends AbstractCollectJob { @Resource @@ -23,7 +30,6 @@ public class DeptViewCollectJob extends AbstractCollectJob { super.startCollectAll(getJobParam()); } - /** * xxl jobhandler 配置定时启动,如果未完成任务跳过。增量收集 */ @@ -33,13 +39,13 @@ public class DeptViewCollectJob extends AbstractCollectJob { } @Override - protected void batchInsertOrUpdate(List t) { + public void batchInsertOrUpdate(List t) { deptService.batchSaveOrUpdatePowerDept(t); } @SuppressWarnings("unchecked") @Override - protected List execute(Date startDate, Date endDate, long pageNum, long pageSize) { + public List execute(Date startDate, Date endDate, long pageNum, long pageSize) { //每家医院按照固定的格式写sql,不同医院需要替换不同的sql即可。 return hisService.getDeptListView(startDate, endDate, pageNum, pageSize); } diff --git a/common-collect/src/main/java/com/docus/server/collect/job/dept/DeptWsCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/job/dept/DeptWsCollectJob.java new file mode 100644 index 0000000..0115929 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/collect/job/dept/DeptWsCollectJob.java @@ -0,0 +1,52 @@ +package com.docus.server.collect.job.dept; + +import com.docus.server.collect.job.AbstractCollectJob; +import com.docus.server.collect.service.ICollector; +import com.docus.server.sys.common.pojo.dto.UserDTO; +import com.xxl.job.core.handler.annotation.XxlJob; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +/** + * 主动webservice请求科室数据job + * + * @see com.docus.server.collect.job.AbstractCollectJob + * @see com.docus.server.collect.job.IJob + * @see com.docus.server.collect.service.IWsCollector + */ +@Component +public class DeptWsCollectJob extends AbstractCollectJob { + @Resource(name = "wsDeptCollectorImpl") + private ICollector collector; + + /** + * xxl jobhandler 手工执行 + */ + @XxlJob("startAllUserWsCollect") + public void startAllUserWsCollect() { + super.startCollectAll(getJobParam()); + } + + /** + * xxl jobhandler 配置定时启动,如果未完成任务跳过。 + */ + @XxlJob("startIncUserWsCollect") + public void startIncUserWsCollect() { + super.startCollectIncrement(getJobParam()); + } + + @Override + public void batchInsertOrUpdate(List t) { + userService.batchSaveOrUpdatePowerUser(t); + } + + @SuppressWarnings("unchecked") + @Override + public List execute(Date startDate, Date endDate, long pageNum, long pageSize) { + //需要根据不同医院去解析不同的内容。使用接口实现的方式。 + return collector.get(startDate, endDate, pageNum, pageSize); + } +} diff --git a/common-collect/src/main/java/com/docus/server/collect/job/user/UserHttpCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/job/user/UserHttpCollectJob.java index 52549d5..71703af 100644 --- a/common-collect/src/main/java/com/docus/server/collect/job/user/UserHttpCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/job/user/UserHttpCollectJob.java @@ -1,7 +1,7 @@ package com.docus.server.collect.job.user; import com.docus.server.collect.job.AbstractCollectJob; -import com.docus.server.collect.service.IHttpCollector; +import com.docus.server.collect.service.ICollector; import com.docus.server.sys.common.pojo.dto.UserDTO; import com.xxl.job.core.handler.annotation.XxlJob; import org.springframework.stereotype.Component; @@ -10,17 +10,23 @@ import javax.annotation.Resource; import java.util.Date; import java.util.List; - +/** + * 主动http请求用户数据job + * + * @see com.docus.server.collect.job.AbstractCollectJob + * @see com.docus.server.collect.job.IJob + * @see com.docus.server.collect.service.IHttpCollector + */ @Component public class UserHttpCollectJob extends AbstractCollectJob { @Resource(name = "httpUserCollectorImpl") - private IHttpCollector collector; + private ICollector collector; /** * xxl jobhandler 手工执行 */ @XxlJob("startAllUserHttpCollect") - public void startAllDeptHttpCollect() { + public void startAllUserHttpCollect() { super.startCollectAll(getJobParam()); } @@ -28,18 +34,18 @@ public class UserHttpCollectJob extends AbstractCollectJob { * xxl jobhandler 配置定时启动,如果未完成任务跳过。 */ @XxlJob("startIncUserHttpCollect") - public void startIncDeptHttpCollect() { + public void startIncUserHttpCollect() { super.startCollectIncrement(getJobParam()); } @Override - protected void batchInsertOrUpdate(List t) { + public void batchInsertOrUpdate(List t) { userService.batchSaveOrUpdatePowerUser(t); } @SuppressWarnings("unchecked") @Override - protected List execute(Date startDate, Date endDate, long pageNum, long pageSize) { + public List execute(Date startDate, Date endDate, long pageNum, long pageSize) { //需要根据不同医院去解析不同的内容。使用接口实现的方式。 return collector.get(startDate, endDate, pageNum, pageSize); } diff --git a/common-collect/src/main/java/com/docus/server/collect/job/user/UserViewCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/job/user/UserViewCollectJob.java index 4b6f43f..9c953a2 100644 --- a/common-collect/src/main/java/com/docus/server/collect/job/user/UserViewCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/job/user/UserViewCollectJob.java @@ -10,6 +10,13 @@ import javax.annotation.Resource; import java.util.Date; import java.util.List; +/** + * 主动view请求用户数据job + * + * @see com.docus.server.collect.job.AbstractCollectJob + * @see com.docus.server.collect.job.IJob + * @see com.docus.server.collect.service.ICollector + */ @Component public class UserViewCollectJob extends AbstractCollectJob { @Resource @@ -19,7 +26,7 @@ public class UserViewCollectJob extends AbstractCollectJob { * xxl jobhandler 手工执行,全量执行 */ @XxlJob("startAllUserViewCollect") - public void startAllDeptViewCollect() { + public void startAllUserViewCollect() { super.startCollectAll(getJobParam()); } @@ -28,17 +35,17 @@ public class UserViewCollectJob extends AbstractCollectJob { * xxl jobhandler 配置定时启动,如果未完成任务跳过。增量收集 */ @XxlJob("startIncUserViewCollect") - public void startIncDeptViewCollect() { + public void startIncUserViewCollect() { super.startCollectIncrement(getJobParam()); } @Override - protected void batchInsertOrUpdate(List t) { + public void batchInsertOrUpdate(List t) { userService.batchSaveOrUpdatePowerUser(t); } @Override - protected List execute(Date startDate, Date endDate, long pageNum, long pageSize) { + public List execute(Date startDate, Date endDate, long pageNum, long pageSize) { //每家医院按照固定的格式写sql,不同医院需要替换不同的sql即可。 return hisService.getUserListView(startDate, endDate, pageNum, pageSize); } diff --git a/common-collect/src/main/java/com/docus/server/collect/job/user/UserWsCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/job/user/UserWsCollectJob.java new file mode 100644 index 0000000..7a57c21 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/collect/job/user/UserWsCollectJob.java @@ -0,0 +1,52 @@ +package com.docus.server.collect.job.user; + +import com.docus.server.collect.job.AbstractCollectJob; +import com.docus.server.collect.service.ICollector; +import com.docus.server.sys.common.pojo.dto.UserDTO; +import com.xxl.job.core.handler.annotation.XxlJob; +import org.springframework.stereotype.Component; + +import javax.annotation.Resource; +import java.util.Date; +import java.util.List; + +/** + * 主动webservice请求用户数据job + * + * @see com.docus.server.collect.job.AbstractCollectJob + * @see com.docus.server.collect.job.IJob + * @see com.docus.server.collect.service.IWsCollector + */ +@Component +public class UserWsCollectJob extends AbstractCollectJob { + @Resource(name = "wsUserCollectorImpl") + private ICollector collector; + + /** + * xxl jobhandler 手工执行 + */ + @XxlJob("startAllUserWsCollect") + public void startAllUserWsCollect() { + super.startCollectAll(getJobParam()); + } + + /** + * xxl jobhandler 配置定时启动,如果未完成任务跳过。 + */ + @XxlJob("startIncUserWsCollect") + public void startIncUserWsCollect() { + super.startCollectIncrement(getJobParam()); + } + + @Override + public void batchInsertOrUpdate(List t) { + userService.batchSaveOrUpdatePowerUser(t); + } + + @SuppressWarnings("unchecked") + @Override + public List execute(Date startDate, Date endDate, long pageNum, long pageSize) { + //需要根据不同医院去解析不同的内容。使用接口实现的方式。 + return collector.get(startDate, endDate, pageNum, pageSize); + } +} diff --git a/common-collect/src/main/java/com/docus/server/collect/service/ICollector.java b/common-collect/src/main/java/com/docus/server/collect/service/ICollector.java new file mode 100644 index 0000000..33bfe31 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/collect/service/ICollector.java @@ -0,0 +1,11 @@ +package com.docus.server.collect.service; + +import java.util.Date; +import java.util.List; + +public interface ICollector { + /** + * 根据配置获取多态的收集器 + */ + List get(Date startDate, Date endDate, long pageNum, long pageSize); +} diff --git a/common-collect/src/main/java/com/docus/server/collect/service/IHttpCollector.java b/common-collect/src/main/java/com/docus/server/collect/service/IHttpCollector.java index 65483c0..ebfd545 100644 --- a/common-collect/src/main/java/com/docus/server/collect/service/IHttpCollector.java +++ b/common-collect/src/main/java/com/docus/server/collect/service/IHttpCollector.java @@ -1,11 +1,4 @@ package com.docus.server.collect.service; -import java.util.Date; -import java.util.List; - -public interface IHttpCollector { - /** - * 根据配置获取多态的收集器 - */ - List get(Date startDate, Date endDate, long pageNum, long pageSize); +public interface IHttpCollector extends ICollector { } diff --git a/common-collect/src/main/java/com/docus/server/collect/service/IWsCollector.java b/common-collect/src/main/java/com/docus/server/collect/service/IWsCollector.java new file mode 100644 index 0000000..6eb21a8 --- /dev/null +++ b/common-collect/src/main/java/com/docus/server/collect/service/IWsCollector.java @@ -0,0 +1,6 @@ +package com.docus.server.collect.service; + +public interface IWsCollector extends ICollector { + + +} diff --git a/common-collect/src/main/java/com/docus/server/ws/impl/UserServerImpl.java b/common-collect/src/main/java/com/docus/server/ws/impl/UserServerImpl.java index 96fe79c..7791a17 100644 --- a/common-collect/src/main/java/com/docus/server/ws/impl/UserServerImpl.java +++ b/common-collect/src/main/java/com/docus/server/ws/impl/UserServerImpl.java @@ -18,7 +18,7 @@ import javax.annotation.Resource; * @see com.docus.server.collect.infrastructure.dao.CollectTypeEnum 枚举 * @see com.docus.server.ws.convert.IConverter 通用转化器 * @see com.docus.server.ws.IWsResult 通用返回结果 - * @see VisitorProcessor 通用处理器 + * @see com.docus.server.visitor.VisitorProcessor 通用处理器 */ @Service @Slf4j diff --git a/docus-sys/src/main/java/com/docus/server/sys/service/impl/PowerDeptServiceImpl.java b/docus-sys/src/main/java/com/docus/server/sys/service/impl/PowerDeptServiceImpl.java index 462a35c..9a2b060 100644 --- a/docus-sys/src/main/java/com/docus/server/sys/service/impl/PowerDeptServiceImpl.java +++ b/docus-sys/src/main/java/com/docus/server/sys/service/impl/PowerDeptServiceImpl.java @@ -24,6 +24,7 @@ public class PowerDeptServiceImpl extends ServiceImpl deptDTOList) { deptDTOList.forEach(this::saveOrUpdatePowerDept); diff --git a/docus-sys/src/main/java/com/docus/server/sys/service/impl/PowerUserServiceImpl.java b/docus-sys/src/main/java/com/docus/server/sys/service/impl/PowerUserServiceImpl.java index 4dc9956..114fff6 100644 --- a/docus-sys/src/main/java/com/docus/server/sys/service/impl/PowerUserServiceImpl.java +++ b/docus-sys/src/main/java/com/docus/server/sys/service/impl/PowerUserServiceImpl.java @@ -50,6 +50,7 @@ public class PowerUserServiceImpl extends ServiceImpl