From fdeb25c64629fa7aaee806c97dacb8a5268507ad Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com>
Date: Thu, 9 Oct 2025 17:50:30 +0800
Subject: [PATCH] =?UTF-8?q?=E5=91=98=E5=B7=A5=E5=85=A5=E8=81=8C=E5=AE=A1?=
=?UTF-8?q?=E6=89=B9=E6=88=96=E9=82=80=E8=AF=B7=E5=91=98=E5=B7=A5=E5=90=8C?=
=?UTF-8?q?=E6=84=8F=E5=90=8E=EF=BC=8C=E8=87=AA=E5=8A=A8=E5=88=9B=E5=BB=BA?=
=?UTF-8?q?=E7=99=BB=E5=BD=95=E8=B4=A6=E5=8F=B7=E5=8F=8A=E5=AF=86=E7=A0=81?=
=?UTF-8?q?=E5=90=8C=E6=AD=A5=EF=BC=8C=E8=B0=83=E6=95=B4mq=E8=B0=83?=
=?UTF-8?q?=E7=94=A8=E6=97=B6=E4=BD=BF=E7=94=A8api=EF=BC=8C=E4=BF=AE?=
=?UTF-8?q?=E6=94=B9=E6=91=84=E5=83=8F=E5=A4=B4=E8=83=BD=E6=88=90=E5=8A=9F?=
=?UTF-8?q?=E9=A2=84=E8=A7=88=E5=90=8E=E6=9B=B4=E6=96=B0=E5=9C=A8=E7=BA=BF?=
=?UTF-8?q?=E7=8A=B6=E6=80=81?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../mapper/AppCameraInfoMapper.java | 1 +
.../mapper/xml/AppCameraInfoMapper.xml | 6 +
.../impl/AppCameraInfoServiceImpl.java | 35 ++-
.../java/com/nu/entity/SysUserEntity.java | 219 ++++++++++++++++++
.../listener/EmployeesMQListener.java | 46 ++--
.../service/impl/CameraInfoServiceImpl.java | 2 +-
.../nu-system-api/nu-system-local-api/pom.xml | 6 +
.../jeecg/common/system/api/ISysUserAPI.java | 17 ++
.../system/controller/LoginController.java | 19 +-
.../system/service/impl/SysUserApiImpl.java | 115 +++++++++
10 files changed, 433 insertions(+), 33 deletions(-)
create mode 100644 nursing-unit-common/src/main/java/com/nu/entity/SysUserEntity.java
create mode 100644 nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/api/ISysUserAPI.java
create mode 100644 nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserApiImpl.java
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/AppCameraInfoMapper.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/AppCameraInfoMapper.java
index 95207d0..08bbfb8 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/AppCameraInfoMapper.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/AppCameraInfoMapper.java
@@ -26,4 +26,5 @@ public interface AppCameraInfoMapper extends BaseMapper {
AppCameraInfo getCapabilityByDeviceId(AppCameraInfo cameraInfo);
void insertCapability(AppCameraInfo cameraInfo);
void updateCapabilityById(AppCameraInfo cameraInfo);
+ void updateDeviceStatusByDevId(AppCameraInfo cameraInfo);
}
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/xml/AppCameraInfoMapper.xml b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/xml/AppCameraInfoMapper.xml
index 24b3ecc..f7c75b7 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/xml/AppCameraInfoMapper.xml
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/mapper/xml/AppCameraInfoMapper.xml
@@ -246,4 +246,10 @@
where id = #{id}
+
+ UPDATE nu_iot_tplink_camera
+ SET device_status = #{deviceStatus}
+ where device_index = #{deviceIndex}
+
+
diff --git a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/impl/AppCameraInfoServiceImpl.java b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/impl/AppCameraInfoServiceImpl.java
index 10476b8..6fa6532 100644
--- a/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/impl/AppCameraInfoServiceImpl.java
+++ b/nursing-unit-api/src/main/java/com/nu/modules/iot/tplink/camerainfo/service/impl/AppCameraInfoServiceImpl.java
@@ -764,8 +764,8 @@ public class AppCameraInfoServiceImpl extends ServiceImpl
+ * 用户表
+ *
+ *
+ * @Author scott
+ * @since 2018-12-20
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class SysUserEntity implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * id
+ */
+ @TableId(type = IdType.ASSIGN_ID)
+ private String id;
+
+ /**
+ * 登录账号
+ */
+ @Excel(name = "登录账号", width = 15)
+ private String username;
+
+ /**
+ * 真实姓名
+ */
+ @Excel(name = "真实姓名", width = 15)
+ private String realname;
+
+ /**
+ * 密码
+ */
+ @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
+ private String password;
+
+ /**
+ * md5密码盐
+ */
+ @JsonProperty(access = JsonProperty.Access.WRITE_ONLY)
+ private String salt;
+
+ /**
+ * 头像
+ */
+ @Excel(name = "头像", width = 15,type = 2)
+ private String avatar;
+
+ /**
+ * 生日
+ */
+ @Excel(name = "生日", width = 15, format = "yyyy-MM-dd")
+ @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
+ @DateTimeFormat(pattern = "yyyy-MM-dd")
+ private Date birthday;
+
+ /**
+ * 性别(1:男 2:女)
+ */
+ @Excel(name = "性别", width = 15,dicCode="sex")
+ @Dict(dicCode = "sex")
+ private Integer sex;
+
+ /**
+ * 电子邮件
+ */
+ @Excel(name = "电子邮件", width = 15)
+ private String email;
+
+ /**
+ * 电话
+ */
+ @Excel(name = "电话", width = 15)
+ private String phone;
+
+ /**
+ * 登录选择部门编码
+ */
+ private String orgCode;
+ /**
+ * 登录选择租户ID
+ */
+ private Integer loginTenantId;
+
+ /**部门名称*/
+ private transient String orgCodeTxt;
+
+ /**
+ * 状态(1:正常 2:冻结 )
+ */
+ @Excel(name = "状态", width = 15,dicCode="user_status")
+ @Dict(dicCode = "user_status")
+ private Integer status;
+
+ /**
+ * 删除状态(0,正常,1已删除)
+ */
+ @Excel(name = "删除状态", width = 15,dicCode="del_flag")
+ @TableLogic
+ private Integer delFlag;
+
+ /**
+ * 工号,唯一键
+ */
+ @Excel(name = "工号", width = 15)
+ private String workNo;
+
+ /**
+ * 职务,关联职务表
+ */
+ @Excel(name = "职务", width = 15)
+ @Dict(dictTable ="sys_position",dicText = "name",dicCode = "id")
+ @TableField(exist = false)
+ private String post;
+
+ /**
+ * 座机号
+ */
+ @Excel(name = "座机号", width = 15)
+ private String telephone;
+
+ /**
+ * 创建人
+ */
+ private String createBy;
+
+ /**
+ * 创建时间
+ */
+ private Date createTime;
+
+ /**
+ * 更新人
+ */
+ private String updateBy;
+
+ /**
+ * 更新时间
+ */
+ private Date updateTime;
+ /**
+ * 同步工作流引擎1同步0不同步
+ */
+ private Integer activitiSync;
+
+ /**
+ * 员工id
+ */
+ private String employessId;
+
+ @Dict(dicCode = "login_type")
+ private String loginType;
+
+ /**
+ * 身份(0 普通成员 1 上级)
+ */
+ @Excel(name="(1普通成员 2上级)",width = 15)
+ private Integer userIdentity;
+
+ /**
+ * 负责部门
+ */
+ @Excel(name="负责部门",width = 15,dictTable ="sys_depart",dicText = "depart_name",dicCode = "id")
+ @Dict(dictTable ="sys_depart",dicText = "depart_name",dicCode = "id")
+ private String departIds;
+
+ /**
+ * 多租户ids临时用,不持久化数据库(数据库字段不存在)
+ */
+ @TableField(exist = false)
+ private String relTenantIds;
+
+ /**设备id uniapp推送用*/
+ private String clientId;
+
+ /**
+ * 登录首页地址
+ */
+ @TableField(exist = false)
+ private String homePath;
+
+ /**
+ * 职位名称
+ */
+ @TableField(exist = false)
+ private String postText;
+
+ /**
+ * 流程状态
+ */
+ private String bpmStatus;
+
+ /**
+ * 是否已经绑定第三方
+ */
+ @TableField(exist = false)
+ private boolean izBindThird;
+}
diff --git a/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/mq/employees/listener/EmployeesMQListener.java b/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/mq/employees/listener/EmployeesMQListener.java
index 0af400e..a75bacb 100644
--- a/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/mq/employees/listener/EmployeesMQListener.java
+++ b/nursing-unit-employee/nu-employee-biz/src/main/java/com/nu/mq/employees/listener/EmployeesMQListener.java
@@ -23,8 +23,8 @@ import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.api.ISysBaseAPI;
import org.jeecg.common.util.PasswordUtil;
import org.jeecg.common.util.oConvertUtils;
-import org.jeecg.modules.system.entity.SysUser;
-import org.jeecg.modules.system.service.ISysUserService;
+import com.nu.entity.SysUserEntity;
+import org.jeecg.common.system.api.ISysUserAPI;
import org.springframework.amqp.core.ExchangeTypes;
import org.springframework.amqp.rabbit.annotation.Exchange;
import org.springframework.amqp.rabbit.annotation.Queue;
@@ -60,7 +60,7 @@ public class EmployeesMQListener {
@Autowired
private IBizEmployeesMediaService employeesMediaService;
@Autowired
- private ISysUserService sysUserService;
+ private ISysUserAPI sysUserAPI;
@Autowired
private ISysBaseAPI sysBaseAPI;
@@ -1395,12 +1395,9 @@ public class EmployeesMQListener {
QueryWrapper qw = new QueryWrapper<>();
qw.eq("id", employeeId);
BizEmployeesInfo employeesInfo = employeesInfoService.getOne(qw);
-
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("employess_id", employeeId);
- SysUser user = sysUserService.getOne(queryWrapper);
+ SysUserEntity user = sysUserAPI.getOne(employeeId);
if(user==null) {
- user = new SysUser();
+ user = new SysUserEntity();
user.setUsername(employeesInfo.getTel());
user.setRealname(employeesInfo.getName());
String salt = oConvertUtils.randomGen(8);
@@ -1425,7 +1422,7 @@ public class EmployeesMQListener {
user.setDelFlag(CommonConstant.DEL_FLAG_0);
user.setCreateTime(new Date());//设置创建时间
user.setEmployessId(employeeId);
- sysUserService.save(user);
+ sysUserAPI.save(user);
}else{
user.setUsername(employeesInfo.getTel());
user.setRealname(employeesInfo.getName());
@@ -1450,15 +1447,13 @@ public class EmployeesMQListener {
user.setStatus(1);
user.setDelFlag(CommonConstant.DEL_FLAG_0);
user.setUpdateTime(new Date());//设置创建时间
- sysUserService.updateById(user);
+ sysUserAPI.updateById(user);
}
}else{
//不需要初始化,从其他业务结构复制过来
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("employess_id", employeeId);
- SysUser user = sysUserService.getOne(queryWrapper);
+ SysUserEntity user = sysUserAPI.getOne(employeeId);
if(user==null) {
- user = new SysUser();
+ user = new SysUserEntity();
user.setUsername(dto.getUsername());
user.setRealname(dto.getRealname());
user.setPassword(dto.getPassword());
@@ -1472,7 +1467,7 @@ public class EmployeesMQListener {
user.setDelFlag(CommonConstant.DEL_FLAG_0);
user.setCreateTime(new Date());//设置创建时间
user.setEmployessId(employeeId);
- sysUserService.save(user);
+ sysUserAPI.save(user);
}else{
user.setUsername(dto.getUsername());
user.setRealname(dto.getRealname());
@@ -1486,15 +1481,13 @@ public class EmployeesMQListener {
user.setStatus(1);
user.setDelFlag(CommonConstant.DEL_FLAG_0);
user.setUpdateTime(new Date());//设置创建时间
- sysUserService.updateById(user);
+ sysUserAPI.updateById(user);
}
}
if(izInitPassword.equals("1")){
//需要更新其他业务平台密码
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("employess_id", employeeId);
- SysUser user = sysUserService.getOne(queryWrapper);
+ SysUserEntity user = sysUserAPI.getOne(employeeId);
if(user!=null){
SysUserMQDto sysUserMQDto = new SysUserMQDto();
BeanUtils.copyProperties(user, sysUserMQDto);
@@ -1525,14 +1518,11 @@ public class EmployeesMQListener {
errorHandler = "employeesMQErrorHandler"
)
public void handleSyncSysUserPwd(SysUserMQDto dto) {
- String employeeId = dto.getEmployeeId();
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("employess_id", employeeId);
- SysUser user = sysUserService.getOne(queryWrapper);
+ SysUserEntity user = sysUserAPI.getOne(dto.getEmployeeId());
if(user!=null) {
user.setPassword(dto.getPassword());
user.setSalt(dto.getSalt());
- sysUserService.updateById(user);
+ sysUserAPI.updateById(user);
}
}
@@ -1550,10 +1540,10 @@ public class EmployeesMQListener {
errorHandler = "employeesMQErrorHandler"
)
public void handleSysUserInfo(SysUserMQDto dto) {
- String employeeId = dto.getEmployeeId();
- QueryWrapper queryWrapper = new QueryWrapper<>();
- queryWrapper.eq("employess_id", employeeId);
- SysUser user = sysUserService.getOne(queryWrapper);
+// String employeeId = dto.getEmployeeId();
+// QueryWrapper queryWrapper = new QueryWrapper<>();
+// queryWrapper.eq("employess_id", employeeId);
+ SysUserEntity user = sysUserAPI.getOne(dto.getEmployeeId());
if(user!=null) {
SysUserMQDto sysUserMQDto = new SysUserMQDto();
BeanUtils.copyProperties(user, sysUserMQDto);
diff --git a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/service/impl/CameraInfoServiceImpl.java b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/service/impl/CameraInfoServiceImpl.java
index 0df91ed..a83ba4f 100644
--- a/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/service/impl/CameraInfoServiceImpl.java
+++ b/nursing-unit-iot/nu-iot-biz/src/main/java/com/nu/modules/tplink/camera/service/impl/CameraInfoServiceImpl.java
@@ -1152,9 +1152,9 @@ public class CameraInfoServiceImpl extends ServiceImpl4.0.0
nu-system-local-api
+
+
+ com.nursingunit.boot
+ nursing-unit-common
+
+
diff --git a/nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/api/ISysUserAPI.java b/nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/api/ISysUserAPI.java
new file mode 100644
index 0000000..7388ab4
--- /dev/null
+++ b/nursing-unit-system/nu-system-api/nu-system-local-api/src/main/java/org/jeecg/common/system/api/ISysUserAPI.java
@@ -0,0 +1,17 @@
+package org.jeecg.common.system.api;
+
+import com.nu.entity.SysUserEntity;
+
+/**
+ *
+ * 用户表 服务类
+ *
+ *
+ * @Author caolei
+ * @since 2025-10-09
+ */
+public interface ISysUserAPI{
+ SysUserEntity getOne(String employeeId);
+ void save(SysUserEntity sysUserEntity);
+ void updateById(SysUserEntity sysUserEntity);
+}
diff --git a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java
index c70bd7c..eb69764 100644
--- a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java
+++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/controller/LoginController.java
@@ -5,6 +5,9 @@ import com.alibaba.fastjson.JSONObject;
import com.aliyuncs.exceptions.ClientException;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
+import com.nu.dto.EmployeesApplyMQDto;
+import com.nu.dto.SysUserMQDto;
+import com.nu.utils.RabbitMQUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -15,6 +18,7 @@ import org.jeecg.common.constant.CacheConstant;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.constant.SymbolConstant;
import org.jeecg.common.constant.enums.DySmsEnum;
+import org.jeecg.common.system.api.ISysBaseAPI;
import org.jeecg.common.system.util.JwtUtil;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.*;
@@ -66,6 +70,10 @@ public class LoginController {
private BaseCommonService baseCommonService;
@Autowired
private JeecgBaseConfig jeecgBaseConfig;
+ @Autowired
+ private RabbitMQUtil rabbitMQUtil;
+ @Autowired
+ private ISysBaseAPI sysBaseAPI;
private final String BASE_CHECK_CODES = "qwertyuiplkjhgfdsazxcvbnmQWERTYUPLKJHGFDSAZXCVBNM1234567890";
@@ -128,6 +136,15 @@ public class LoginController {
LoginUser loginUser = new LoginUser();
BeanUtils.copyProperties(sysUser, loginUser);
baseCommonService.addLog("用户名: " + username + ",登录成功!", CommonConstant.LOG_TYPE_1, null,loginUser);
+
+ // step.7 修改管理系统中账号的最后登录机构信息
+ JSONObject deptInfo = sysBaseAPI.getDeptInfo();
+ String orgCode = deptInfo.getString("code");
+ SysUserMQDto dto = new SysUserMQDto();
+ dto.setEmployeeId(sysUser.getEmployessId());
+ dto.setOrgCode(orgCode);
+ rabbitMQUtil.sendToExchange("hldy.employees", "hldy.employeesorg.lastlogin", dto);
+
return result;
}
@@ -577,7 +594,7 @@ public class LoginController {
//返回前端
String base64 = RandImageUtil.generate(code);
res.setSuccess(true);
- res.setResult(base64);
+// res.setResult(base64);//暂无需提供
res.setMessage(code);
} catch (Exception e) {
log.error(e.getMessage(), e);
diff --git a/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserApiImpl.java b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserApiImpl.java
new file mode 100644
index 0000000..6c7b776
--- /dev/null
+++ b/nursing-unit-system/nu-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserApiImpl.java
@@ -0,0 +1,115 @@
+package org.jeecg.modules.system.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.google.common.base.Joiner;
+import com.google.common.collect.Maps;
+import com.nu.entity.SysUserEntity;
+import freemarker.core.TemplateClassResolver;
+import freemarker.template.Configuration;
+import freemarker.template.Template;
+import freemarker.template.TemplateException;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.ObjectUtils;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.dto.DataLogDTO;
+import org.jeecg.common.api.dto.OnlineAuthDTO;
+import org.jeecg.common.api.dto.message.*;
+import org.jeecg.common.aspect.UrlMatchEnum;
+import org.jeecg.common.constant.*;
+import org.jeecg.common.constant.enums.EmailTemplateEnum;
+import org.jeecg.common.constant.enums.MessageTypeEnum;
+import org.jeecg.common.constant.enums.SysAnnmentTypeEnum;
+import org.jeecg.common.desensitization.util.SensitiveInfoUtil;
+import org.jeecg.common.exception.JeecgBootException;
+import org.jeecg.common.system.api.ISysBaseAPI;
+import org.jeecg.common.system.api.ISysUserAPI;
+import org.jeecg.common.system.query.QueryCondition;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.query.QueryRuleEnum;
+import org.jeecg.common.system.vo.*;
+import org.jeecg.common.util.HTMLUtils;
+import org.jeecg.common.util.YouBianCodeUtil;
+import org.jeecg.common.util.dynamic.db.FreemarkerParseFactory;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecg.config.firewall.SqlInjection.IDictTableWhiteListHandler;
+import org.jeecg.config.mybatis.MybatisPlusSaasConfig;
+import org.jeecg.modules.message.entity.SysMessageTemplate;
+import org.jeecg.modules.message.handle.impl.DdSendMsgHandle;
+import org.jeecg.modules.message.handle.impl.EmailSendMsgHandle;
+import org.jeecg.modules.message.handle.impl.QywxSendMsgHandle;
+import org.jeecg.modules.message.handle.impl.SystemSendMsgHandle;
+import org.jeecg.modules.message.service.ISysMessageTemplateService;
+import org.jeecg.modules.message.websocket.WebSocket;
+import org.jeecg.modules.system.entity.*;
+import org.jeecg.modules.system.mapper.*;
+import org.jeecg.modules.system.service.*;
+import org.jeecg.modules.system.util.SecurityUtil;
+import org.jeecg.modules.system.vo.lowapp.SysDictVo;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.cache.annotation.Cacheable;
+import org.springframework.stereotype.Service;
+import org.springframework.ui.freemarker.FreeMarkerTemplateUtils;
+import org.springframework.util.AntPathMatcher;
+import org.springframework.util.CollectionUtils;
+import org.springframework.util.PathMatcher;
+
+import javax.annotation.Resource;
+import javax.sql.DataSource;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.sql.Connection;
+import java.sql.DatabaseMetaData;
+import java.sql.SQLException;
+import java.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * @Description: 底层共通业务API,提供其他独立模块调用
+ * @Author: scott
+ * @Date:2019-4-20
+ * @Version:V1.0
+ */
+@Slf4j
+@Service
+public class SysUserApiImpl implements ISysUserAPI {
+
+ @Resource
+ private ISysUserService service;
+
+ @Override
+ public SysUserEntity getOne(String employeeId) {
+ QueryWrapper queryWrapper = new QueryWrapper<>();
+ queryWrapper.eq("employess_id", employeeId);
+ SysUser user = service.getOne(queryWrapper);
+ SysUserEntity sysUserEntity = new SysUserEntity();
+ BeanUtils.copyProperties(user, sysUserEntity);
+ return sysUserEntity;
+ }
+
+ @Override
+ public void save(SysUserEntity sysUserEntity) {
+ SysUser user = new SysUser();
+ BeanUtils.copyProperties(sysUserEntity, user);
+ service.save(user);
+ }
+
+ @Override
+ public void updateById(SysUserEntity sysUserEntity) {
+ SysUser user = new SysUser();
+ BeanUtils.copyProperties(sysUserEntity, user);
+ service.updateById(user);
+ }
+
+}
+