|
@@ -0,0 +1,213 @@
|
|
|
+package com.ruoyi.web.controller.task;
|
|
|
+
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
|
+import com.ruoyi.common.core.domain.entity.SysDept;
|
|
|
+import com.ruoyi.common.core.domain.entity.SysUser;
|
|
|
+import com.ruoyi.system.service.ISysDeptService;
|
|
|
+import com.ruoyi.system.service.ISysUserService;
|
|
|
+import com.ruoyi.zhdd.domain.GatewayDept;
|
|
|
+import com.ruoyi.zhdd.domain.GatewayOrg;
|
|
|
+import com.ruoyi.zhdd.domain.GatewaySUser;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.kafka.annotation.KafkaListener;
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
+
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+@Component
|
|
|
+public class SysGatewayUserTask {
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ ISysUserService userService;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ ISysDeptService deptService;
|
|
|
+
|
|
|
+ @KafkaListener(topics = "t_uc_user")
|
|
|
+ public void onUserMessage(String message){
|
|
|
+ try{
|
|
|
+ GatewaySUser gatewaySUser = JSONUtil.toBean(message,GatewaySUser.class);
|
|
|
+ if(gatewaySUser!=null){
|
|
|
+ SysUser quser = new SysUser();
|
|
|
+ quser.setOtherId(gatewaySUser.getUserId());
|
|
|
+ List<SysUser> userList = userService.selectUserList(quser);
|
|
|
+ if(userList.isEmpty()){
|
|
|
+ //插入
|
|
|
+ SysUser user = new SysUser();
|
|
|
+ user.setOtherId(gatewaySUser.getUserId());
|
|
|
+ {
|
|
|
+ SysDept qdept = new SysDept();
|
|
|
+ qdept.setOtherId(gatewaySUser.getDeptId());
|
|
|
+ List<SysDept> deptList = deptService.selectDeptList(qdept);
|
|
|
+ if(!deptList.isEmpty()){
|
|
|
+ user.setDeptId(deptList.get(0).getDeptId());
|
|
|
+ }else{
|
|
|
+ //还未有部门暂不设置 //需要先同步部门
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ user.setPhonenumber(gatewaySUser.getMobile());
|
|
|
+ user.setNickName(gatewaySUser.getName());
|
|
|
+ user.setUserName(gatewaySUser.getUserName());
|
|
|
+ user.setRemark(gatewaySUser.getUserGroupId()+"");
|
|
|
+ user.setUpdateBy("kafka");
|
|
|
+ user.setUpdateTime(new Date());
|
|
|
+ user.setCreateBy("kafka");
|
|
|
+ user.setCreateTime(new Date());
|
|
|
+ user.setPassword("$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2");
|
|
|
+ user.setStatus(gatewaySUser.getStatus());
|
|
|
+ userService.insertUser(user);
|
|
|
+ }else{
|
|
|
+ //跟新
|
|
|
+ SysUser user = userList.get(0);
|
|
|
+ user.setOtherId(gatewaySUser.getUserId());
|
|
|
+ {
|
|
|
+ SysDept qdept = new SysDept();
|
|
|
+ qdept.setOtherId(gatewaySUser.getDeptId());
|
|
|
+ List<SysDept> deptList = deptService.selectDeptList(qdept);
|
|
|
+ if(!deptList.isEmpty()){
|
|
|
+ user.setDeptId(deptList.get(0).getDeptId());
|
|
|
+ }else{
|
|
|
+ //还未有部门暂不设置 //需要先同步部门
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ user.setPhonenumber(gatewaySUser.getMobile());
|
|
|
+ user.setNickName(gatewaySUser.getName());
|
|
|
+ user.setUserName(gatewaySUser.getUserName());
|
|
|
+ user.setRemark(gatewaySUser.getUserGroupId()+"");
|
|
|
+ user.setUpdateBy("kafka");
|
|
|
+ user.setUpdateTime(new Date());
|
|
|
+ user.setPassword("$2a$10$7JB720yubVSZvUI0rEqK/.VqGOZTH.ulu33dHOiBE8ByOhJIrdAu2");
|
|
|
+ user.setStatus(gatewaySUser.getStatus());
|
|
|
+ userService.updateUser(user);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }catch (Exception e){
|
|
|
+
|
|
|
+ }
|
|
|
+ System.out.println(message);
|
|
|
+ }
|
|
|
+ @KafkaListener(topics = "t_uc_org")
|
|
|
+ public void onOrgMessage(String message){
|
|
|
+ //默认组织是0 组织间的层级先不考虑
|
|
|
+
|
|
|
+ try{
|
|
|
+ GatewayOrg gatewayOrg = JSONUtil.toBean(message,GatewayOrg.class);
|
|
|
+ if(gatewayOrg!=null){
|
|
|
+
|
|
|
+
|
|
|
+ SysDept qdept = new SysDept();
|
|
|
+ qdept.setOtherId(gatewayOrg.getOrgId());
|
|
|
+ //为0 的作为组织
|
|
|
+ qdept.setParentId(0L);
|
|
|
+ List<SysDept> deptList = deptService.selectDeptList(qdept);
|
|
|
+ if(deptList.isEmpty()){
|
|
|
+ //插入
|
|
|
+ SysDept dept = deptList.get(0);
|
|
|
+ dept.setOtherId(gatewayOrg.getOrgId());
|
|
|
+ dept.setParentId(0L);
|
|
|
+ dept.setDeptName(gatewayOrg.getOrgName());
|
|
|
+ dept.setCreateBy("kafka");
|
|
|
+ dept.setCreateTime(new Date());
|
|
|
+ dept.setUpdateBy("kafka");
|
|
|
+ dept.setUpdateTime(new Date());
|
|
|
+ dept.setDelFlag(gatewayOrg.getDelFlag());
|
|
|
+ deptService.insertDept(dept);
|
|
|
+
|
|
|
+ }else{
|
|
|
+ //跟新
|
|
|
+ SysDept dept = deptList.get(0);
|
|
|
+ dept.setOtherId(gatewayOrg.getOrgId());
|
|
|
+ dept.setParentId(0L);
|
|
|
+ dept.setDeptName(gatewayOrg.getOrgName());
|
|
|
+ dept.setUpdateBy("kafka");
|
|
|
+ dept.setUpdateTime(new Date());
|
|
|
+ dept.setDelFlag(gatewayOrg.getDelFlag());
|
|
|
+ deptService.updateDept(dept);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }catch (Exception e){
|
|
|
+
|
|
|
+ }
|
|
|
+ System.out.println(message);
|
|
|
+ }
|
|
|
+ @KafkaListener(topics = "t_uc_dept")
|
|
|
+ public void onDeptMessage(String message){
|
|
|
+ try{
|
|
|
+ GatewayDept gatewayDept = JSONUtil.toBean(message,GatewayDept.class);
|
|
|
+ if(gatewayDept!=null){
|
|
|
+ SysDept qdept = new SysDept();
|
|
|
+ qdept.setOtherId(gatewayDept.getDeptId());
|
|
|
+
|
|
|
+ List<SysDept> deptList = deptService.selectDeptList(qdept);
|
|
|
+ if(deptList.isEmpty()){
|
|
|
+ //插入
|
|
|
+ SysDept dept = new SysDept();
|
|
|
+ //查询父部门
|
|
|
+ {
|
|
|
+ SysDept qdept1 = new SysDept();
|
|
|
+ if(gatewayDept.getParentId()==null||gatewayDept.getParentId().equals("")){
|
|
|
+ qdept1.setParentId(0L);
|
|
|
+ qdept1.setOtherId(gatewayDept.getOrgId());
|
|
|
+ }else{
|
|
|
+ qdept1.setOtherId(gatewayDept.getParentId());
|
|
|
+ }
|
|
|
+ List<SysDept> deptList1 = deptService.selectDeptList(qdept1);
|
|
|
+ if(!deptList1.isEmpty()){
|
|
|
+ dept.setParentId(deptList1.get(0).getDeptId());
|
|
|
+ }else{
|
|
|
+ //无父组织或部门 暂不处理吧
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ dept.setOtherId(gatewayDept.getDeptId());
|
|
|
+ dept.setDeptName(gatewayDept.getDeptName());
|
|
|
+ dept.setUpdateBy("kafka");
|
|
|
+ dept.setUpdateTime(new Date());
|
|
|
+ dept.setCreateBy("kafka");
|
|
|
+ dept.setCreateTime(new Date());
|
|
|
+ dept.setDelFlag(gatewayDept.getDelFlag());
|
|
|
+ deptService.insertDept(dept);
|
|
|
+ }else{
|
|
|
+ //跟新
|
|
|
+ SysDept dept = deptList.get(0);
|
|
|
+ //查询父部门
|
|
|
+ {
|
|
|
+ SysDept qdept1 = new SysDept();
|
|
|
+ if(gatewayDept.getParentId()==null||gatewayDept.getParentId().equals("")){
|
|
|
+ qdept1.setParentId(0L);
|
|
|
+ qdept1.setOtherId(gatewayDept.getOrgId());
|
|
|
+ }else{
|
|
|
+ qdept1.setOtherId(gatewayDept.getParentId());
|
|
|
+ }
|
|
|
+ List<SysDept> deptList1 = deptService.selectDeptList(qdept1);
|
|
|
+ if(!deptList1.isEmpty()){
|
|
|
+ dept.setParentId(deptList1.get(0).getDeptId());
|
|
|
+ }else{
|
|
|
+ //无父组织或部门 暂不处理吧
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ dept.setOtherId(gatewayDept.getDeptId());
|
|
|
+ dept.setDeptName(gatewayDept.getDeptName());
|
|
|
+ dept.setUpdateBy("kafka");
|
|
|
+ dept.setUpdateTime(new Date());
|
|
|
+ dept.setDelFlag(gatewayDept.getDelFlag());
|
|
|
+ deptService.updateDept(dept);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }catch (Exception e){
|
|
|
+
|
|
|
+ }
|
|
|
+ System.out.println(message);
|
|
|
+ }
|
|
|
+
|
|
|
+}
|