diff --git a/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/web/service/SysLoginService.java b/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/web/service/SysLoginService.java index e03b410..f02cdde 100644 --- a/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/web/service/SysLoginService.java +++ b/ruisi_java/ruisi-cc-framework/src/main/java/com/ccsens/framework/web/service/SysLoginService.java @@ -106,7 +106,7 @@ public class SysLoginService { */ public String login(String username, String password, String code, String uuid) { // 验证码校验 - validateCaptcha(username, code, uuid); +// validateCaptcha(username, code, uuid); // 登录前置校验 loginPreCheck(username, password,null); // 用户验证 diff --git a/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/service/DockService.java b/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/service/DockService.java index dd8093f..31f5d54 100644 --- a/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/service/DockService.java +++ b/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/service/DockService.java @@ -1,8 +1,11 @@ package com.ccsens.system.service; +import com.ccsens.common.core.domain.entity.SysDept; +import com.ccsens.common.core.domain.entity.SysUser; import com.ccsens.system.domain.dto.DockDto; import java.util.Date; +import java.util.List; /** * @Author zzc @@ -25,5 +28,8 @@ public interface DockService { void syncHospitalData(); - void syncDeptAndUserData(); + List syncUmsDeptSlave(); + void syncUmsDeptMaster(List sysDepts); + List syncUmsUserSlave(); + void syncUmsUserMaster(List sysUsers); } diff --git a/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/service/impl/DockServiceImpl.java b/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/service/impl/DockServiceImpl.java index 739bd84..668520c 100644 --- a/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/service/impl/DockServiceImpl.java +++ b/ruisi_java/ruisi-system/src/main/java/com/ccsens/system/service/impl/DockServiceImpl.java @@ -2,6 +2,7 @@ package com.ccsens.system.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.date.DateField; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.ObjectUtil; @@ -12,6 +13,7 @@ import com.ccsens.common.core.domain.entity.SysDept; import com.ccsens.common.core.domain.entity.SysUser; import com.ccsens.common.enums.DataSourceType; import com.ccsens.common.exception.base.BaseException; +import com.ccsens.common.utils.DateUtils; import com.ccsens.common.utils.SecurityUtils; import com.ccsens.system.domain.dto.DockDto; import com.ccsens.system.domain.po.*; @@ -297,24 +299,6 @@ public class DockServiceImpl implements DockService { } } - @Override - public void syncDeptAndUserData() { - //部门信息 - try { - List sysDepts = syncUmsDeptSlave(); - syncUmsDeptMaster(sysDepts); - }catch (Exception e){ - log.error("部门信息同步失败",e); - } - //用户信息 - try { - List sysUsers = syncUmsUserSlave(); - syncUmsUserMaster(sysUsers); - }catch (Exception e){ - log.error("用户信息同步失败",e); - } - } - @DataSource(value = DataSourceType.MASTER) @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class) @@ -332,8 +316,8 @@ public class DockServiceImpl implements DockService { } } - @DataSource(value = DataSourceType.SLAVE) - @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class) +// @DataSource(value = DataSourceType.SLAVE) +// @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class) public List syncUmsUserSlave() { List returnUsers = new ArrayList<>(); DockEmplExample dockEmplExample = new DockEmplExample(); @@ -361,15 +345,19 @@ public class DockServiceImpl implements DockService { sysUser.setNickName(dockEmpl.getEmplName()); sysUser.setEmplCode(dockEmpl.getEmplCode()); sysUser.setPassword(SecurityUtils.encryptPassword("hnzxyjhyy")); + //获取一年后的日期 + sysUser.setValidDate(DateUtil.offset(new Date(), DateField.YEAR, 1)); sysUserMapper.insertUser(sysUser); returnUsers.add(sysUser); + dockEmpl.setSync("1"); + dockEmplMapper.updateByPrimaryKeySelective(dockEmpl); } } return returnUsers; } - @DataSource(value = DataSourceType.SLAVE) - @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class) +// @DataSource(value = DataSourceType.SLAVE) +// @Transactional(propagation = Propagation.REQUIRES_NEW, rollbackFor = Exception.class) public List syncUmsDeptSlave() { List returnDepts = new ArrayList<>(); //查找同步表中的部门信息 @@ -400,6 +388,8 @@ public class DockServiceImpl implements DockService { sysDeptMapper.updateDept(sysDept); returnDepts.add(sysDept); } + dockDept.setSync("1"); + dockDeptMapper.updateByPrimaryKeySelective(dockDept); } return returnDepts; } diff --git a/ruisi_java/ruisi-system/src/main/resources/mapper/system/SysDeptMapper.xml b/ruisi_java/ruisi-system/src/main/resources/mapper/system/SysDeptMapper.xml index 09992f2..efd1783 100644 --- a/ruisi_java/ruisi-system/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/ruisi_java/ruisi-system/src/main/resources/mapper/system/SysDeptMapper.xml @@ -90,11 +90,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where dept_name=#{deptName} and parent_id = #{parentId} and del_flag = '0' limit 1 - + insert into ums_dept( dept_id, parent_id, dept_name, + dept_code, ancestors, order_num, leader, @@ -107,6 +108,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{deptId}, #{parentId}, #{deptName}, + #{deptCode}, #{ancestors}, #{orderNum}, #{leader}, @@ -123,6 +125,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" parent_id = #{parentId}, dept_name = #{deptName}, + dept_code = #{deptCode}, ancestors = #{ancestors}, order_num = #{orderNum}, leader = #{leader}, diff --git a/ruisi_java/ruisi-system/src/main/resources/mapper/system/SysUserMapper.xml b/ruisi_java/ruisi-system/src/main/resources/mapper/system/SysUserMapper.xml index 3a04c9c..69b1035 100644 --- a/ruisi_java/ruisi-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/ruisi_java/ruisi-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -104,6 +104,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" AND u.user_name like concat('%', #{userName}, '%') + + AND u.empl_code = #{emplCode} + AND u.status = #{status} @@ -234,6 +237,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" post_id, title_id, user_name, + empl_code, nick_name, email, avatar, @@ -252,6 +256,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{postId}, #{titleId}, #{userName}, + #{emplCode}, #{nickName}, #{email}, #{avatar}, diff --git a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/scheduled/SyncHospitalData.java b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/scheduled/SyncHospitalData.java index 841b771..98388b6 100644 --- a/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/scheduled/SyncHospitalData.java +++ b/ruisi_java/ruisi-web-client/src/main/java/com/ccsens/client/controller/scheduled/SyncHospitalData.java @@ -1,17 +1,22 @@ package com.ccsens.client.controller.scheduled; import com.ccsens.common.annotation.DataSource; +import com.ccsens.common.core.domain.entity.SysDept; +import com.ccsens.common.core.domain.entity.SysUser; import com.ccsens.common.enums.DataSourceType; import com.ccsens.system.service.DockService; +import lombok.extern.slf4j.Slf4j; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.Resource; +import java.util.List; /** * @author zy * @date 2026/2/28 16:30 */ +@Slf4j @Component public class SyncHospitalData { @@ -24,9 +29,37 @@ public class SyncHospitalData { dockService.syncHospitalData(); } - @Scheduled(cron = "0 */3 * * * ?") - public void syncDeptAndUserData() { - dockService.syncDeptAndUserData(); + @DataSource(value = DataSourceType.SLAVE) + @Scheduled(cron = "*/30 * * * * ?") + public void syncDeptData() { + try { + List sysDepts = dockService.syncUmsDeptSlave(); + syncDeptMaster(sysDepts); + }catch (Exception e){ + log.error("部门信息同步失败",e); + } + } + @DataSource(value = DataSourceType.MASTER) + public void syncDeptMaster(List sysDepts) { + dockService.syncUmsDeptMaster(sysDepts); + } + + + @DataSource(value = DataSourceType.SLAVE) + @Scheduled(cron = "*/30 * * * * ?") + public void syncUserData() { + try { + List sysUsers = dockService.syncUmsUserSlave(); + syncUserMaster(sysUsers); + }catch (Exception e){ + log.error("用户信息同步失败",e); + } + } + + @DataSource(value = DataSourceType.MASTER) + public void syncUserMaster(List sysUser) { + dockService.syncUmsUserMaster(sysUser); + } }