Bladeren bron

Merge branch 'dev/20200426_2nd' into debug

gaodm 5 jaren geleden
bovenliggende
commit
dea1d8b951

+ 87 - 0
doc/002.20200426第二版/qc_init.sql

@@ -32,4 +32,91 @@ alter table `med_behospital_info` add  column `beh_doctor_name` varchar(50) DEFA
 alter table `med_behospital_info` add  column `director_doctor_id` varchar(16) DEFAULT '' COMMENT '主任医生ID' AFTER `beh_doctor_name`;
 alter table `med_behospital_info` add  column `director_doctor_name` varchar(50) DEFAULT '' COMMENT '主任医生姓名' AFTER `director_doctor_id`;
 
+-- ----------------------------
+-- Table structure for qc_question_info
+-- ----------------------------
+DROP TABLE IF EXISTS `qc_question_info`;
+CREATE TABLE `qc_question_info` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `mode_id` bigint(20) DEFAULT NULL COMMENT '数据模块ID',
+  `tag_name` varchar(100) NOT NULL DEFAULT '' COMMENT '标签名',
+  `name` varchar(100) NOT NULL DEFAULT '' COMMENT 'key',
+  `val` varchar(100) NOT NULL DEFAULT '' COMMENT 'value',
+  `tag_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '标签标识(1:单标签 4:组合标签)',
+  `control_type` tinyint(4) DEFAULT '0' COMMENT '控件类型(0:无类型)',
+  `retract` tinyint(4) DEFAULT '0' COMMENT '缩进(0:不缩进 1:缩进)',
+  `add_line` tinyint(4) DEFAULT '0' COMMENT '换行(0:不换行,1:换行)',
+  `bold` tinyint(4) DEFAULT '0' COMMENT '换行(0:不换行,1:加粗)',
+  `position` tinyint(4) DEFAULT '0' COMMENT '显示位置(1:靠右显示)',
+  `cases_entry_ids` varchar(1000) NOT NULL DEFAULT '' COMMENT '质控条目id列表',
+  `remark` varchar(300) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='标签基础表';
+
+-- ----------------------------
+-- Table structure for qc_question_mapping
+-- ----------------------------
+DROP TABLE IF EXISTS `qc_question_mapping`;
+CREATE TABLE `qc_question_mapping` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `parent_question` bigint(20) DEFAULT NULL COMMENT '上级question',
+  `son_question` bigint(20) DEFAULT NULL COMMENT '下级question',
+  `order_no` int(11) NOT NULL DEFAULT '0' COMMENT '排序号',
+  `remark` varchar(300) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`),
+  KEY `parent_question` (`parent_question`),
+  KEY `son_question` (`son_question`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='标签映射表';
+
+-- ----------------------------
+-- Table structure for qc_module_info
+-- ----------------------------
+DROP TABLE IF EXISTS `qc_module_info`;
+CREATE TABLE `qc_module_info` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `name` varchar(100) NOT NULL DEFAULT '' COMMENT '模板名称',
+  `hospital_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '医院ID',
+  `mode_id` bigint(20) DEFAULT NULL COMMENT '数据模块ID',
+  `record_module_id` bigint(20) DEFAULT NULL COMMENT 'med_record_module的id',
+  `remark` varchar(300) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='模型表';
+
+-- ----------------------------
+-- Table structure for qc_module_detail
+-- ----------------------------
+DROP TABLE IF EXISTS `qc_module_detail`;
+CREATE TABLE `qc_module_detail` (
+  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
+  `is_deleted` char(1) NOT NULL DEFAULT 'N' COMMENT '是否删除,N:未删除,Y:删除',
+  `gmt_create` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录创建时间',
+  `gmt_modified` datetime NOT NULL DEFAULT '1970-01-01 12:00:00' COMMENT '记录修改时间,如果时间是1970年则表示纪录未修改',
+  `creator` varchar(20) NOT NULL DEFAULT '0' COMMENT '创建人,0表示无创建人值',
+  `modifier` varchar(20) NOT NULL DEFAULT '0' COMMENT '修改人,如果为0则表示纪录未修改',
+  `module_id` bigint(20) NOT NULL DEFAULT '0' COMMENT 'module_id',
+  `group_id` int(11) NOT NULL DEFAULT '0' COMMENT '分组id',
+  `question_id` bigint(20) DEFAULT NULL COMMENT 'questionId',
+  `order_no` int(11) NOT NULL DEFAULT '0' COMMENT '排序号',
+  `remark` varchar(300) DEFAULT NULL COMMENT '备注',
+  PRIMARY KEY (`id`),
+  KEY `module_id` (`module_id`)
+) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='模型明细表';
+
+
 

+ 4 - 2
src/main/java/com/diagbot/facade/BasDeptInfoFacade.java

@@ -19,7 +19,8 @@ public class BasDeptInfoFacade extends BasDeptInfoServiceImpl {
     /**
      * 获取医院科室下拉列表信息
      *
-     * @return
+     * @param basDeptInfoVO 搜索参数
+     * @return 医院科室下拉列表信息
      */
     public List<BasDeptInfoDTO> listForUser(BasDeptInfoVO basDeptInfoVO) {
         basDeptInfoVO.setHospitalId(Long.valueOf(SysUserUtils.getCurrentHospitalID()));
@@ -31,7 +32,8 @@ public class BasDeptInfoFacade extends BasDeptInfoServiceImpl {
     /**
      * 获取医院用户下拉列表信息
      *
-     * @return
+     * @param basDeptInfoVO 搜索参数
+     * @return 医院用户下拉列表信息
      */
     public List<BasDeptInfoDTO> getListUserFac(BasDeptInfoVO basDeptInfoVO) {
         basDeptInfoVO.setUserId(Long.valueOf(SysUserUtils.getCurrentPrincipleID()));

+ 2 - 4
src/main/java/com/diagbot/facade/SysRoleFacade.java

@@ -196,11 +196,9 @@ public class SysRoleFacade extends SysRoleServiceImpl {
             }
             sysRolePermissionService.saveBatch(sysRolePermissionList);
         }
-        //清该角色的所有用户的token缓存
+        //清该角色的所有用户的token缓存
         if (ListUtil.isNotEmpty(userIds)) {
-            for (Long id : userIds) {
-                tokenFacade.deleteToken(id.toString());
-            }
+            tokenFacade.deleteBatchToken(userIds);
         }
         return true;
     }

+ 12 - 1
src/main/java/com/diagbot/service/SysTokenService.java

@@ -2,6 +2,8 @@ package com.diagbot.service;
 
 import com.diagbot.entity.JwtStore;
 
+import java.util.List;
+
 /**
  * @Description: Token验证类
  * @author: gaodm
@@ -27,9 +29,18 @@ public interface SysTokenService {
     Boolean verifyToken(String token, Integer type);
 
     /**
-     *  删除用户token
+     * 删除用户token
+     *
      * @param userId 用户ID
      * @return 删除是否成功
      */
     Boolean deleteToken(String userId);
+
+    /**
+     * 批量删除用户token
+     *
+     * @param userIds 用户列表
+     * @return 删除是否成功
+     */
+    Boolean deleteBatchToken(List<Long> userIds);
 }

+ 26 - 0
src/main/java/com/diagbot/service/impl/SysTokenServiceImpl.java

@@ -16,6 +16,7 @@ import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.stereotype.Service;
 
 import java.util.Date;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -143,4 +144,29 @@ public class SysTokenServiceImpl implements SysTokenService {
         });
         return l > 0;
     }
+
+    /**
+     * 批量删除用户token
+     *
+     * @param userIds 用户列表
+     * @return 删除是否成功
+     */
+    @Override
+    public Boolean deleteBatchToken(List<Long> userIds) {
+        Long l = (Long) redisForToken.execute(new RedisCallback<Long>() {
+            @Override
+            public Long doInRedis(RedisConnection connection) throws DataAccessException {
+                connection.openPipeline();
+                Long cnt = 0L;
+                for (Long userId : userIds) {
+                    byte[] redis_key = getUserTokenKey(userId.toString());
+                    connection.del(redis_key);
+                    cnt++;
+                }
+                connection.closePipeline();
+                return cnt;
+            }
+        });
+        return l > 0;
+    }
 }