From 0347e222a5df28e308e6265a7eac3033c38382bb Mon Sep 17 00:00:00 2001 From: linrf Date: Mon, 12 Jun 2023 14:03:30 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9userviewjob=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E5=92=8Cbasicdatareveive.jar=E4=BF=9D?= =?UTF-8?q?=E6=8C=81=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- collect-sdry/src/main/resources/bootstrap.yml | 37 ++++++++----------- .../collect/user/view/UserViewCollectJob.java | 3 +- .../server/collect/web/domain/TaskConfig.java | 4 +- .../collect/web/job/AbstractCollectJob.java | 33 +++++++++++++---- .../web/service/ITaskConfigService.java | 5 +-- .../service/impl/TaskConfigServiceImpl.java | 12 ------ .../server/record/service/ITBasicService.java | 4 +- .../server/sys/common/pojo/dto/UserDTO.java | 2 +- .../server/sys/service/IPowerDeptService.java | 4 +- .../server/sys/service/IPowerUserService.java | 4 +- .../{HisService.java => HisServiceImpl.java} | 2 +- .../main/resources/mapper/HisDeptMapper.xml | 6 +-- 12 files changed, 61 insertions(+), 55 deletions(-) rename his-sysem/src/main/java/com/docus/server/his/service/impl/{HisService.java => HisServiceImpl.java} (96%) diff --git a/collect-sdry/src/main/resources/bootstrap.yml b/collect-sdry/src/main/resources/bootstrap.yml index b74c0b3..6fc1285 100644 --- a/collect-sdry/src/main/resources/bootstrap.yml +++ b/collect-sdry/src/main/resources/bootstrap.yml @@ -13,78 +13,78 @@ spring: #公司病案的数据库 master: url: jdbc:log4jdbc:mysql://db.docus.cn:3306/docus_archivefile?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai - username: root - password: root + username: docus + password: docus702 driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #医院的用户/科室/基础数据的数据库 his: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root + password: root@123456 driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #病理数据 bl: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root + password: root@123456 driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #电生理系统数据 ecg: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root + password: root@123456 driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #电子病历系统数据 emr: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root + password: root@123456 driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #护理文书系统数据 hl: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root + password: root@123456 driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #手麻系统数据 issubmit: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root + password: root@123456 driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #lis系统数据 lis: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root + password: root@123456 driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #Pacs系统数据视图 pacs: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root + password: root@123456 driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #vte静脉血栓栓塞症 vte: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root + password: root@123456 driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource #重症系统数据 zz: url: jdbc:log4jdbc:mysql://127.0.0.1:3306/his?autoReconnect=true&allowMultiQueries=true&useSSL=false&useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai username: root - password: root + password: root@123456 driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy type: com.alibaba.druid.pool.DruidDataSource # rabbitmq: @@ -94,7 +94,7 @@ spring: # password: guest redis: host: redis.docus.cn - # password: JSdocus@702 + password: JSdocus@702 cloud: nacos: discovery: @@ -109,6 +109,9 @@ spring: docus: dbtype: mysql + user: + # 用户默认密码 + defpwd: fd29cd53ec12616e5f36b77d4afffbff mybatis-plus: configuration: @@ -137,14 +140,6 @@ xxl: logretentiondays: 30 logpath: D:/xxl-job/inspection -api: - soft-delete-column-name=state - soft-delete-column-value=1 -logging: - level: - com: - baomidou: - mybatisplus: DEBUG # #ibm: # mq: diff --git a/common-collect/src/main/java/com/docus/server/collect/user/view/UserViewCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/user/view/UserViewCollectJob.java index 370e49b..de3a2fd 100644 --- a/common-collect/src/main/java/com/docus/server/collect/user/view/UserViewCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/user/view/UserViewCollectJob.java @@ -1,5 +1,6 @@ package com.docus.server.collect.user.view; +import com.docus.core.util.ListUtils; import com.docus.server.collect.ICollector; import com.docus.server.collect.web.job.AbstractCollectJob; import com.docus.server.his.service.IHisService; @@ -31,7 +32,6 @@ public class UserViewCollectJob extends AbstractCollectJob { super.startCollectAll(getJobParam()); } - /** * xxl jobhandler 配置定时启动,如果未完成任务跳过。增量收集 */ @@ -42,6 +42,7 @@ public class UserViewCollectJob extends AbstractCollectJob { @Override public void batchInsertOrUpdate(List t) { + List userNames = ListUtils.distinctSelect(t, UserDTO::getUserName); userService.batchInsertOrUpdatePowerUser(t); } diff --git a/common-collect/src/main/java/com/docus/server/collect/web/domain/TaskConfig.java b/common-collect/src/main/java/com/docus/server/collect/web/domain/TaskConfig.java index 61e23a5..a30c0f7 100644 --- a/common-collect/src/main/java/com/docus/server/collect/web/domain/TaskConfig.java +++ b/common-collect/src/main/java/com/docus/server/collect/web/domain/TaskConfig.java @@ -65,9 +65,9 @@ public class TaskConfig { private StateEnum state = StateEnum.OK; /** - * 失败信息 + * 上回失败信息 */ - private String errorMsg; + private String lastErrorMsg; public List getAllPeriodTimes() { List periodTimes = DateSpiltUtil.spiltDate(this.getStartTime(), this.endTime, 1000 * spiltPeriod); diff --git a/common-collect/src/main/java/com/docus/server/collect/web/job/AbstractCollectJob.java b/common-collect/src/main/java/com/docus/server/collect/web/job/AbstractCollectJob.java index f82c179..a920395 100644 --- a/common-collect/src/main/java/com/docus/server/collect/web/job/AbstractCollectJob.java +++ b/common-collect/src/main/java/com/docus/server/collect/web/job/AbstractCollectJob.java @@ -10,12 +10,14 @@ import com.docus.server.record.service.ITBasicService; import com.docus.server.sys.service.IPowerDeptService; import com.docus.server.sys.service.IPowerUserService; import com.xxl.job.core.context.XxlJobHelper; +import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import javax.annotation.Resource; import java.util.Date; import java.util.List; +@Slf4j public abstract class AbstractCollectJob implements IJob { @Resource protected IPowerUserService userService; @@ -37,14 +39,19 @@ public abstract class AbstractCollectJob implements IJob { taskConfigService.updateAllPointerDate(taskConfigId, periodTime.getPeriodEndDate()); } } catch (Exception ex) { - updateTaskState(ex, taskConfig); + log.error(ex.getMessage(), ex); + updateTaskState(ex.getMessage(), taskConfig); + } + + if (StateEnum.FAIL.equals(taskConfig.getState())) { + updateTaskState(taskConfig); } } @Override public void startCollectIncrement(String taskConfigId) { - TaskConfig taskConfig = taskConfigService.getTaskConfig(taskConfigId); + TaskConfig taskConfig = getTaskConfig(taskConfigId); try { List periodTimes = taskConfig.getIncPeriodTimes(); @@ -54,10 +61,16 @@ public abstract class AbstractCollectJob implements IJob { }); } catch (Exception ex) { - updateTaskState(ex, taskConfig); + log.error(ex.getMessage(), ex); + updateTaskState(ex.getMessage(), taskConfig); + } + + if (StateEnum.FAIL.equals(taskConfig.getState())) { + updateTaskState(taskConfig); } } + @Override public void get(PeriodTime periodTime, TaskConfig taskConfig) { //考虑到性能,应该把起始时间和结束时间进行切割拆分到每天。按段查询。 @@ -78,15 +91,19 @@ public abstract class AbstractCollectJob implements IJob { } } - private void updateTaskState(Exception ex, TaskConfig taskConfig) { + private void updateTaskState(TaskConfig taskConfig) { + taskConfig.setState(StateEnum.OK); + taskConfigService.updateById(taskConfig); + } + + private void updateTaskState(String message, TaskConfig taskConfig) { taskConfig.setState(StateEnum.FAIL); - String message = ex.getMessage(); - taskConfig.setErrorMsg(message.length() > 500 ? message.substring(0, 500) : message); - taskConfigService.updateByTaskId(taskConfig); + taskConfig.setLastErrorMsg(message.length() > 1000 ? message.substring(0, 1000) : message); + taskConfigService.updateById(taskConfig); } private TaskConfig getTaskConfig(String taskConfigId) { - return taskConfigService.getTaskConfig(taskConfigId); + return taskConfigService.getById(taskConfigId); } protected String getJobParam() { diff --git a/common-collect/src/main/java/com/docus/server/collect/web/service/ITaskConfigService.java b/common-collect/src/main/java/com/docus/server/collect/web/service/ITaskConfigService.java index 9db4355..fc7460d 100644 --- a/common-collect/src/main/java/com/docus/server/collect/web/service/ITaskConfigService.java +++ b/common-collect/src/main/java/com/docus/server/collect/web/service/ITaskConfigService.java @@ -1,15 +1,14 @@ package com.docus.server.collect.web.service; +import com.baomidou.mybatisplus.extension.service.IService; import com.docus.server.collect.web.domain.TaskConfig; import java.util.Date; -public interface ITaskConfigService { +public interface ITaskConfigService extends IService { void updateAllPointerDate(String id, Date date); void updateIncPointerDate(String id, Date date); - TaskConfig getTaskConfig(String id); - void updateByTaskId(TaskConfig taskConfig); } diff --git a/common-collect/src/main/java/com/docus/server/collect/web/service/impl/TaskConfigServiceImpl.java b/common-collect/src/main/java/com/docus/server/collect/web/service/impl/TaskConfigServiceImpl.java index 69875d4..2b65b31 100644 --- a/common-collect/src/main/java/com/docus/server/collect/web/service/impl/TaskConfigServiceImpl.java +++ b/common-collect/src/main/java/com/docus/server/collect/web/service/impl/TaskConfigServiceImpl.java @@ -27,16 +27,4 @@ public class TaskConfigServiceImpl extends ServiceImpl { /** * 新增 diff --git a/docus-sys/src/main/java/com/docus/server/sys/common/pojo/dto/UserDTO.java b/docus-sys/src/main/java/com/docus/server/sys/common/pojo/dto/UserDTO.java index 51f554d..6f2c9ce 100644 --- a/docus-sys/src/main/java/com/docus/server/sys/common/pojo/dto/UserDTO.java +++ b/docus-sys/src/main/java/com/docus/server/sys/common/pojo/dto/UserDTO.java @@ -40,7 +40,7 @@ public class UserDTO { */ private String authorId; - // ---------------------- base info ---------------------- + // ---------------------- xml info ---------------------- /** * id-消息流水号 返回消息体需要 */ diff --git a/docus-sys/src/main/java/com/docus/server/sys/service/IPowerDeptService.java b/docus-sys/src/main/java/com/docus/server/sys/service/IPowerDeptService.java index 9f4298e..df5d5e5 100644 --- a/docus-sys/src/main/java/com/docus/server/sys/service/IPowerDeptService.java +++ b/docus-sys/src/main/java/com/docus/server/sys/service/IPowerDeptService.java @@ -1,10 +1,12 @@ package com.docus.server.sys.service; +import com.baomidou.mybatisplus.extension.service.IService; import com.docus.server.sys.common.pojo.dto.DeptDTO; +import com.docus.server.sys.common.pojo.entity.PowerDept; import java.util.List; -public interface IPowerDeptService { +public interface IPowerDeptService extends IService { /** * 科室注册 diff --git a/docus-sys/src/main/java/com/docus/server/sys/service/IPowerUserService.java b/docus-sys/src/main/java/com/docus/server/sys/service/IPowerUserService.java index bd5797e..a1d5518 100644 --- a/docus-sys/src/main/java/com/docus/server/sys/service/IPowerUserService.java +++ b/docus-sys/src/main/java/com/docus/server/sys/service/IPowerUserService.java @@ -1,13 +1,15 @@ package com.docus.server.sys.service; +import com.baomidou.mybatisplus.extension.service.IService; import com.docus.server.sys.common.pojo.dto.UserDTO; +import com.docus.server.sys.common.pojo.entity.PowerUser; import java.util.List; /** * 用户服务 */ -public interface IPowerUserService { +public interface IPowerUserService extends IService { /** * 用户注册 * diff --git a/his-sysem/src/main/java/com/docus/server/his/service/impl/HisService.java b/his-sysem/src/main/java/com/docus/server/his/service/impl/HisServiceImpl.java similarity index 96% rename from his-sysem/src/main/java/com/docus/server/his/service/impl/HisService.java rename to his-sysem/src/main/java/com/docus/server/his/service/impl/HisServiceImpl.java index 664f1b2..69d8ded 100644 --- a/his-sysem/src/main/java/com/docus/server/his/service/impl/HisService.java +++ b/his-sysem/src/main/java/com/docus/server/his/service/impl/HisServiceImpl.java @@ -15,7 +15,7 @@ import java.util.List; @Component @AllArgsConstructor -public class HisService implements IHisService { +public class HisServiceImpl implements IHisService { private final HisDeptMapper hisDeptMapper; private final HisUserMapper hisUserMapper; diff --git a/his-sysem/src/main/resources/mapper/HisDeptMapper.xml b/his-sysem/src/main/resources/mapper/HisDeptMapper.xml index 66fb252..5e0045f 100644 --- a/his-sysem/src/main/resources/mapper/HisDeptMapper.xml +++ b/his-sysem/src/main/resources/mapper/HisDeptMapper.xml @@ -5,9 +5,9 @@