Bladeren bron

完善添加修改MP注入处理器

zhouzeyu 1 week geleden
bovenliggende
commit
1020eb8b11
25 gewijzigde bestanden met toevoegingen van 253 en 47 verwijderingen
  1. 7 0
      tr-framework/pom.xml
  2. 40 14
      tr-framework/src/main/java/cn/tr/core/config/CreateAndUpdateMetaObjectHandler.java
  3. 5 0
      tr-framework/src/main/java/cn/tr/core/constant/MybatisConstant.java
  4. 1 1
      tr-framework/src/main/java/cn/tr/core/enums/GrantTypeEnum.java
  5. 1 1
      tr-framework/src/main/java/cn/tr/core/enums/OAuth2ModelEnum.java
  6. 1 1
      tr-framework/src/main/java/cn/tr/core/enums/StpTypeEnum.java
  7. 6 0
      tr-framework/src/main/java/cn/tr/core/exception/ServiceException.java
  8. 2 2
      tr-framework/src/main/java/cn/tr/core/pojo/AuthInfo.java
  9. 2 3
      tr-framework/src/main/java/cn/tr/core/pojo/LoginUser.java
  10. 1 1
      tr-framework/src/main/java/cn/tr/core/pojo/SysRoleInfo.java
  11. 161 0
      tr-framework/src/main/java/cn/tr/core/utils/SecurityUtil.java
  12. 1 1
      tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/controller/AccountController.java
  13. 2 2
      tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/controller/AuthController.java
  14. 1 1
      tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/granter/IAccountOperator.java
  15. 2 2
      tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/granter/IAuthGranter.java
  16. 1 1
      tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/granter/TokenParameter.java
  17. 1 1
      tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/operator/OAuth2UserOperator.java
  18. 1 1
      tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/psw/operator/AbstractOAuth2PswUserOperator.java
  19. 2 2
      tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/utils/SecurityUtil.java
  20. 1 1
      tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/user/service/impl/SysRoleServiceImpl.java
  21. 2 2
      tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/user/service/impl/SysUserServiceImpl.java
  22. 3 2
      tr-modules/tr-modules-phototherapy/src/main/java/cn/tr/module/phototherapy/common/dto/BusTherapyRecordDTO.java
  23. 3 2
      tr-modules/tr-modules-phototherapy/src/main/java/cn/tr/module/phototherapy/common/po/BusTherapyRecordPO.java
  24. 2 2
      tr-modules/tr-modules-phototherapy/src/main/java/cn/tr/module/phototherapy/web/auth/WebAccountOperator.java
  25. 4 4
      tr-modules/tr-modules-phototherapy/src/main/java/cn/tr/module/phototherapy/web/auth/WebAuthGranter.java

+ 7 - 0
tr-framework/pom.xml

@@ -155,5 +155,12 @@
             <groupId>org.springframework.data</groupId>
             <groupId>org.springframework.data</groupId>
             <artifactId>spring-data-redis</artifactId>
             <artifactId>spring-data-redis</artifactId>
         </dependency>
         </dependency>
+
+        <dependency>
+            <groupId>cn.dev33</groupId>
+            <artifactId>sa-token-core</artifactId>
+            <version>1.38.0</version>
+            <scope>provided</scope>
+        </dependency>
     </dependencies>
     </dependencies>
 </project>
 </project>

+ 40 - 14
tr-framework/src/main/java/cn/tr/core/config/CreateAndUpdateMetaObjectHandler.java

@@ -1,11 +1,21 @@
 package cn.tr.core.config;
 package cn.tr.core.config;
 
 
+import cn.tr.core.exception.ServiceException;
+import cn.tr.core.exception.TRExcCode;
+import cn.tr.core.pojo.LoginUser;
 import cn.tr.core.strategy.LoginUserStrategy;
 import cn.tr.core.strategy.LoginUserStrategy;
 import cn.tr.core.constant.MybatisConstant;
 import cn.tr.core.constant.MybatisConstant;
+import cn.tr.core.utils.SecurityUtil;
 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
 import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.ibatis.reflection.MetaObject;
 import org.apache.ibatis.reflection.MetaObject;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
 import java.util.Date;
 import java.util.Date;
+import java.util.Objects;
+
+import static org.springframework.web.context.request.RequestAttributes.SCOPE_REQUEST;
 
 
 /**
 /**
  * MP注入处理器
  * MP注入处理器
@@ -19,38 +29,54 @@ public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler {
     @Override
     @Override
     public void insertFill(MetaObject metaObject) {
     public void insertFill(MetaObject metaObject) {
         try {
         try {
-            String localUserId = LoginUserStrategy.tr.getCurrentUserId();
+            LoginUser loginUser =null;
+            try {
+                loginUser= SecurityUtil.getLoginUser();
+            }catch (Exception __){
+
+            }
             if (metaObject.hasGetter(MybatisConstant.CREATE_TIME) && metaObject.getValue(MybatisConstant.CREATE_TIME) == null) {
             if (metaObject.hasGetter(MybatisConstant.CREATE_TIME) && metaObject.getValue(MybatisConstant.CREATE_TIME) == null) {
-                this.strictInsertFill(metaObject,MybatisConstant. CREATE_TIME, Date.class, new Date());
+                this.strictInsertFill(metaObject, MybatisConstant.CREATE_TIME, Date.class, new Date());
+            }
+            if (metaObject.hasGetter(MybatisConstant.IS_DELETE) && metaObject.getValue(MybatisConstant.IS_DELETE) == null) {
+                this.strictInsertFill(metaObject, MybatisConstant.IS_DELETE, Integer.class,0);
             }
             }
             if (metaObject.hasGetter(MybatisConstant.CREATE_BY) && metaObject.getValue(MybatisConstant.CREATE_BY) == null) {
             if (metaObject.hasGetter(MybatisConstant.CREATE_BY) && metaObject.getValue(MybatisConstant.CREATE_BY) == null) {
 
 
-                this.strictInsertFill(metaObject, MybatisConstant.CREATE_BY, String.class,localUserId);
+                this.strictInsertFill(metaObject, MybatisConstant.CREATE_BY, String.class, Objects.isNull(loginUser) ? "1" : loginUser.getId().toString());
             }
             }
-            if (metaObject.hasGetter(MybatisConstant.DELETED) && metaObject.getValue(MybatisConstant.DELETED) == null) {
-                this.strictInsertFill(metaObject, MybatisConstant.DELETED, Integer.class,0);
+            if (metaObject.hasGetter(MybatisConstant.UPDATE_TIME) && metaObject.getValue(MybatisConstant.UPDATE_TIME) == null) {
+                this.strictUpdateFill(metaObject, MybatisConstant.UPDATE_TIME, Date.class, new Date());
+            }
+            if (metaObject.hasGetter(MybatisConstant.UPDATE_BY) && metaObject.getValue(MybatisConstant.UPDATE_BY) == null) {
+                this.strictUpdateFill(metaObject, MybatisConstant.UPDATE_BY, String.class, Objects.isNull(loginUser) ? "1" : loginUser.getId().toString());
+            }
+            if (metaObject.hasGetter(MybatisConstant.TENANT_ID) && metaObject.getValue(MybatisConstant.TENANT_ID) == null) {
+                ServletRequestAttributes request = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+                String tenantId ="1";
+                if(request!=null){
+                    tenantId = String.valueOf(request.getAttribute("tenantId", SCOPE_REQUEST));
+                }
+                this.strictInsertFill(metaObject, MybatisConstant.TENANT_ID, String.class, tenantId);
             }
             }
-            updateFill(metaObject);
         } catch (Exception e) {
         } catch (Exception e) {
-            e.printStackTrace();
-            log.warn("CreateAndUpdateMetaObjectHandler insertFill confront a error,{}",e.getMessage());
+            throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001.getErrMsg());
         }
         }
     }
     }
 
 
     @Override
     @Override
     public void updateFill(MetaObject metaObject) {
     public void updateFill(MetaObject metaObject) {
         try {
         try {
-            String localUserId = LoginUserStrategy.tr.getCurrentUserId();
-            if (metaObject.hasGetter(MybatisConstant.UPDATE_TIME) ) {
+            if (metaObject.hasGetter(MybatisConstant.UPDATE_TIME) && metaObject.getValue(MybatisConstant.UPDATE_TIME) == null) {
                 this.strictUpdateFill(metaObject, MybatisConstant.UPDATE_TIME, Date.class, new Date());
                 this.strictUpdateFill(metaObject, MybatisConstant.UPDATE_TIME, Date.class, new Date());
             }
             }
-            if (metaObject.hasGetter(MybatisConstant.UPDATE_BY) ) {
-                this.strictUpdateFill(metaObject,MybatisConstant. UPDATE_BY, String.class,localUserId);
+            if (metaObject.hasGetter(MybatisConstant.UPDATE_BY) && metaObject.getValue(MybatisConstant.UPDATE_BY) == null) {
+                LoginUser loginUser = SecurityUtil.getLoginUser();
+                this.strictUpdateFill(metaObject, MybatisConstant.UPDATE_BY, String.class, Objects.isNull(loginUser) ? null : loginUser.getId().toString());
             }
             }
         } catch (Exception e) {
         } catch (Exception e) {
-            log.warn("CreateAndUpdateMetaObjectHandler updateFill confront a error,{}",e.getMessage());
+            throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001.getErrMsg());
         }
         }
     }
     }
 
 
-
 }
 }

+ 5 - 0
tr-framework/src/main/java/cn/tr/core/constant/MybatisConstant.java

@@ -25,6 +25,11 @@ public class MybatisConstant {
      */
      */
     public static final String UPDATE_BY = "updateBy";
     public static final String UPDATE_BY = "updateBy";
 
 
+    /**
+     * 逻辑删除字段名称
+     */
+    public static final String IS_DELETE = "isDelete";
+
     /**
     /**
      * 租户id字段名称
      * 租户id字段名称
      */
      */

+ 1 - 1
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/enums/GrantTypeEnum.java → tr-framework/src/main/java/cn/tr/core/enums/GrantTypeEnum.java

@@ -1,4 +1,4 @@
-package cn.tr.module.sys.oauth2.enums;
+package cn.tr.core.enums;
 
 
 import lombok.AllArgsConstructor;
 import lombok.AllArgsConstructor;
 import lombok.Getter;
 import lombok.Getter;

+ 1 - 1
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/enums/OAuth2ModelEnum.java → tr-framework/src/main/java/cn/tr/core/enums/OAuth2ModelEnum.java

@@ -1,4 +1,4 @@
-package cn.tr.module.sys.oauth2.enums;
+package cn.tr.core.enums;
 
 
 /**
 /**
  * @ClassName : OAuth2ModelEnum
  * @ClassName : OAuth2ModelEnum

+ 1 - 1
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/enums/StpTypeEnum.java → tr-framework/src/main/java/cn/tr/core/enums/StpTypeEnum.java

@@ -1,4 +1,4 @@
-package cn.tr.module.sys.oauth2.enums;
+package cn.tr.core.enums;
 
 
 import com.baomidou.mybatisplus.annotation.IEnum;
 import com.baomidou.mybatisplus.annotation.IEnum;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;

+ 6 - 0
tr-framework/src/main/java/cn/tr/core/exception/ServiceException.java

@@ -29,6 +29,12 @@ public final class ServiceException extends RuntimeException {
     public ServiceException() {
     public ServiceException() {
     }
     }
 
 
+    /**
+     * 空构造方法,避免反序列化问题
+     */
+    public ServiceException(String  message) {
+    }
+
     public ServiceException(TRExcCode errorCode) {
     public ServiceException(TRExcCode errorCode) {
         this.code = errorCode;
         this.code = errorCode;
         this.message = errorCode.getErrMsg();
         this.message = errorCode.getErrMsg();

+ 2 - 2
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/bean/AuthInfo.java → tr-framework/src/main/java/cn/tr/core/pojo/AuthInfo.java

@@ -1,6 +1,6 @@
-package cn.tr.module.sys.oauth2.bean;
+package cn.tr.core.pojo;
 
 
-import cn.tr.module.sys.oauth2.enums.GrantTypeEnum;
+import cn.tr.core.enums.GrantTypeEnum;
 import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import io.swagger.v3.oas.annotations.tags.Tag;
 import lombok.Builder;
 import lombok.Builder;

+ 2 - 3
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/bean/LoginUser.java → tr-framework/src/main/java/cn/tr/core/pojo/LoginUser.java

@@ -1,8 +1,7 @@
-package cn.tr.module.sys.oauth2.bean;
+package cn.tr.core.pojo;
 
 
-import cn.tr.module.sys.oauth2.enums.GrantTypeEnum;
+import cn.tr.core.enums.GrantTypeEnum;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.fasterxml.jackson.annotation.JsonFormat;
-
 import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.Data;
 
 

+ 1 - 1
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/bean/SysRoleInfo.java → tr-framework/src/main/java/cn/tr/core/pojo/SysRoleInfo.java

@@ -1,4 +1,4 @@
-package cn.tr.module.sys.oauth2.bean;
+package cn.tr.core.pojo;
 
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

+ 161 - 0
tr-framework/src/main/java/cn/tr/core/utils/SecurityUtil.java

@@ -0,0 +1,161 @@
+package cn.tr.core.utils;
+
+import cn.dev33.satoken.SaManager;
+import cn.dev33.satoken.secure.BCrypt;
+import cn.dev33.satoken.stp.StpLogic;
+import cn.hutool.core.util.StrUtil;
+import cn.tr.core.enums.GrantTypeEnum;
+import cn.tr.core.pojo.LoginUser;
+import jakarta.servlet.http.HttpServletRequest;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
+
+import java.util.Objects;
+
+/**
+ * 安全服务工具类
+ *
+ * @author Kevin
+ */
+public class SecurityUtil {
+    public static final String LOGIN_USER_KEY="loginUser";
+
+    /**
+     * 获取当前请求对象
+     */
+    private static HttpServletRequest getCurrentRequest() {
+        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+        if (attributes != null) {
+            return attributes.getRequest();
+        }
+        return null;
+    }
+
+    /**
+     * 获取用户账户
+     **/
+    public static String getUsername() {
+        return getLoginUser().getUsername();
+    }
+
+
+    /**
+     * 获取用户
+     **/
+    public static LoginUser getLoginUser(String authorization) {
+        try {
+            return (LoginUser) getStpLogic().getTokenSessionByToken(authorization).get(LOGIN_USER_KEY);
+        } catch (Exception ex) {
+            return null;
+        }
+    }
+
+    /**
+     * 获取用户
+     **/
+    public static LoginUser getLoginUser() {
+        try {
+            return (LoginUser) getStpLogic().getTokenSession().get(LOGIN_USER_KEY);
+        } catch (Exception ex) {
+            return null;
+        }
+    }
+
+    /**
+     * 获取用户
+     **/
+    public static void  setLogin(LoginUser loginUser) {
+        getStpLogic().getTokenSession().set(LOGIN_USER_KEY,loginUser);
+    }
+
+    public static boolean isSys(){
+        LoginUser loginUser = getLoginUser();
+        if(loginUser==null){
+            return false;
+        }
+        GrantTypeEnum grantType = loginUser.getGrantType();
+        if (GrantTypeEnum.APPKEY_APPSECRET.equals(grantType)) {
+            return false;
+        }
+        return Boolean.TRUE.equals(loginUser.isSys());
+    }
+
+    public static String getTenantId(){
+        ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
+        if (attributes != null) {
+            HttpServletRequest request = attributes.getRequest();
+            Object tenantId = request.getAttribute("tenantId");
+            return tenantId != null ? String.valueOf(tenantId) : null;
+        }
+        return null;
+    }
+    /**
+     * 是否是超级管理员
+     **/
+    public static Boolean isSuperAdmin() {
+        return getLoginUser().isSuperAdmin();
+//        LoginUser loginUser = getLoginUser();
+//        String grantType = getLoginUser().getGrantType();
+//        if (GrantTypeEnum.APPKEY_APPSECRET.getValue().equalsIgnoreCase(grantType)) {
+//            return false;
+//        }
+//        List<SysRoleBO> roles = getSysUser().getRoles();
+//        if(CollUtil.isEmpty(roles)){
+//            return false;
+//        }
+//        return roles.stream().filter(role-> StrUtil.isNotBlank(role.getRoleCode()))
+//                .map(SysRoleBO::getRoleCode)
+//                .collect(Collectors.toSet())
+//                .contains("admin");
+    }
+
+    /**
+     * 是否是超级管理员
+     **/
+    public static Boolean isSysSuperAdmin(Long userId) {
+        return Objects.nonNull(userId) && userId == 1L;
+    }
+
+    /**
+     * 生成BCryptPasswordEncoder密码
+     *
+     * @param password 密码
+     * @return 加密字符串
+     */
+    public static String encryptPassword(String password) {
+        return BCrypt.hashpw(password);
+    }
+
+    /**
+     * 判断密码是否相同
+     *
+     * @param rawPassword     真实密码
+     * @param encodedPassword 加密后字符
+     * @return 结果
+     */
+    public static boolean matchesPassword(String rawPassword, String encodedPassword) {
+        return BCrypt.checkpw(rawPassword, encodedPassword);
+    }
+
+    public static Object getId() {
+        return getLoginUser().getId();
+    }
+
+
+    public static StpLogic getStpLogic(){
+        HttpServletRequest request = getCurrentRequest();
+        if (request != null) {
+            return getStpLogic(request.getHeader("Login-Type"));
+        }
+        // 如果获取不到请求,则使用默认的登录类型
+        return getStpLogic(null);
+    }
+
+    public static StpLogic getStpLogic(String loginType){
+        String header ="";
+        if(!StrUtil.isNullOrUndefined(loginType)){
+            header=loginType;
+        };
+        return SaManager.getStpLogic(header);
+    }
+}

+ 1 - 1
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/controller/AccountController.java

@@ -3,9 +3,9 @@ package cn.tr.module.sys.oauth2.controller;
 import cn.tr.core.exception.ServiceException;
 import cn.tr.core.exception.ServiceException;
 import cn.tr.core.exception.TRExcCode;
 import cn.tr.core.exception.TRExcCode;
 import cn.tr.core.pojo.CommonResult;
 import cn.tr.core.pojo.CommonResult;
+import cn.tr.core.pojo.LoginUser;
 import cn.tr.module.common.annotation.Log;
 import cn.tr.module.common.annotation.Log;
 import cn.tr.module.sys.exception.CustomException;
 import cn.tr.module.sys.exception.CustomException;
-import cn.tr.module.sys.oauth2.bean.LoginUser;
 import cn.tr.module.sys.oauth2.granter.IAccountOperator;
 import cn.tr.module.sys.oauth2.granter.IAccountOperator;
 import cn.tr.module.sys.oauth2.utils.SecurityUtil;
 import cn.tr.module.sys.oauth2.utils.SecurityUtil;
 import cn.tr.module.sys.oauth2.vo.AccountInfoVO;
 import cn.tr.module.sys.oauth2.vo.AccountInfoVO;

+ 2 - 2
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/controller/AuthController.java

@@ -1,10 +1,10 @@
 package cn.tr.module.sys.oauth2.controller;
 package cn.tr.module.sys.oauth2.controller;
 
 
+import cn.tr.core.pojo.AuthInfo;
 import cn.tr.core.pojo.CommonResult;
 import cn.tr.core.pojo.CommonResult;
+import cn.tr.core.pojo.LoginUser;
 import cn.tr.module.common.annotation.Log;
 import cn.tr.module.common.annotation.Log;
 import cn.tr.module.sys.exception.CustomException;
 import cn.tr.module.sys.exception.CustomException;
-import cn.tr.module.sys.oauth2.bean.AuthInfo;
-import cn.tr.module.sys.oauth2.bean.LoginUser;
 import cn.tr.module.sys.oauth2.granter.IAuthGranter;
 import cn.tr.module.sys.oauth2.granter.IAuthGranter;
 import cn.tr.module.sys.oauth2.granter.TokenParameter;
 import cn.tr.module.sys.oauth2.granter.TokenParameter;
 import cn.tr.module.sys.oauth2.utils.SecurityUtil;
 import cn.tr.module.sys.oauth2.utils.SecurityUtil;

+ 1 - 1
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/granter/IAccountOperator.java

@@ -2,7 +2,7 @@ package cn.tr.module.sys.oauth2.granter;
 
 
 
 
 
 
-import cn.tr.module.sys.oauth2.enums.GrantTypeEnum;
+import cn.tr.core.enums.GrantTypeEnum;
 import cn.tr.module.sys.oauth2.vo.AccountInfoVO;
 import cn.tr.module.sys.oauth2.vo.AccountInfoVO;
 import cn.tr.module.sys.oauth2.vo.UserInfoVO;
 import cn.tr.module.sys.oauth2.vo.UserInfoVO;
 import cn.tr.module.sys.user.vo.RouteItemVO;
 import cn.tr.module.sys.user.vo.RouteItemVO;

+ 2 - 2
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/granter/IAuthGranter.java

@@ -19,10 +19,10 @@ package cn.tr.module.sys.oauth2.granter;
 import cn.dev33.satoken.spring.SpringMVCUtil;
 import cn.dev33.satoken.spring.SpringMVCUtil;
 import cn.hutool.http.useragent.UserAgent;
 import cn.hutool.http.useragent.UserAgent;
 import cn.hutool.http.useragent.UserAgentUtil;
 import cn.hutool.http.useragent.UserAgentUtil;
-import cn.tr.module.sys.oauth2.bean.LoginUser;
-import cn.tr.module.sys.oauth2.enums.GrantTypeEnum;
 
 
 
 
+import cn.tr.core.enums.GrantTypeEnum;
+import cn.tr.core.pojo.LoginUser;
 import cn.tr.module.sys.oauth2.utils.AddressUtil;
 import cn.tr.module.sys.oauth2.utils.AddressUtil;
 import cn.tr.module.sys.oauth2.utils.IpUtil;
 import cn.tr.module.sys.oauth2.utils.IpUtil;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletRequest;

+ 1 - 1
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/granter/TokenParameter.java

@@ -1,7 +1,7 @@
 package cn.tr.module.sys.oauth2.granter;
 package cn.tr.module.sys.oauth2.granter;
 
 
 
 
-import cn.tr.module.sys.oauth2.enums.GrantTypeEnum;
+import cn.tr.core.enums.GrantTypeEnum;
 import io.swagger.v3.oas.annotations.media.Schema;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import lombok.Data;
 
 

+ 1 - 1
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/operator/OAuth2UserOperator.java

@@ -1,10 +1,10 @@
 package cn.tr.module.sys.oauth2.operator;
 package cn.tr.module.sys.oauth2.operator;
 
 
+import cn.tr.core.enums.OAuth2ModelEnum;
 import cn.tr.module.sys.oauth2.LoginTypeMatcher;
 import cn.tr.module.sys.oauth2.LoginTypeMatcher;
 import cn.tr.module.sys.oauth2.dto.AccountUserInfoDTO;
 import cn.tr.module.sys.oauth2.dto.AccountUserInfoDTO;
 import cn.tr.module.sys.oauth2.dto.AccountUserInfoEditDTO;
 import cn.tr.module.sys.oauth2.dto.AccountUserInfoEditDTO;
 import cn.tr.module.sys.oauth2.dto.OAuth2PswReqDTO;
 import cn.tr.module.sys.oauth2.dto.OAuth2PswReqDTO;
-import cn.tr.module.sys.oauth2.enums.OAuth2ModelEnum;
 import cn.tr.module.sys.user.dto.OnlineUserSessionDTO;
 import cn.tr.module.sys.user.dto.OnlineUserSessionDTO;
 import cn.tr.module.sys.user.dto.OnlineUserTokenSessionDTO;
 import cn.tr.module.sys.user.dto.OnlineUserTokenSessionDTO;
 import cn.tr.plugin.security.bo.UserLoginInfoBO;
 import cn.tr.plugin.security.bo.UserLoginInfoBO;

+ 1 - 1
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/psw/operator/AbstractOAuth2PswUserOperator.java

@@ -1,6 +1,6 @@
 package cn.tr.module.sys.oauth2.psw.operator;
 package cn.tr.module.sys.oauth2.psw.operator;
 
 
-import cn.tr.module.sys.oauth2.enums.OAuth2ModelEnum;
+import cn.tr.core.enums.OAuth2ModelEnum;
 import cn.tr.module.sys.oauth2.operator.OAuth2UserOperator;
 import cn.tr.module.sys.oauth2.operator.OAuth2UserOperator;
 import org.springframework.cache.annotation.CacheEvict;
 import org.springframework.cache.annotation.CacheEvict;
 
 

+ 2 - 2
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/oauth2/utils/SecurityUtil.java

@@ -5,10 +5,10 @@ import cn.dev33.satoken.secure.BCrypt;
 import cn.dev33.satoken.spring.SpringMVCUtil;
 import cn.dev33.satoken.spring.SpringMVCUtil;
 import cn.dev33.satoken.stp.StpLogic;
 import cn.dev33.satoken.stp.StpLogic;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.StrUtil;
-import cn.tr.module.sys.oauth2.bean.LoginUser;
-import cn.tr.module.sys.oauth2.enums.GrantTypeEnum;
 
 
 
 
+import cn.tr.core.enums.GrantTypeEnum;
+import cn.tr.core.pojo.LoginUser;
 import jakarta.servlet.http.HttpServletRequest;
 import jakarta.servlet.http.HttpServletRequest;
 import java.util.Objects;
 import java.util.Objects;
 
 

+ 1 - 1
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/user/service/impl/SysRoleServiceImpl.java

@@ -5,12 +5,12 @@ import cn.dev33.satoken.stp.StpLogic;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.tr.core.pojo.LoginUser;
 import cn.tr.module.common.menus.MenuTypeEnum;
 import cn.tr.module.common.menus.MenuTypeEnum;
 import cn.tr.module.common.menus.StatusEnum;
 import cn.tr.module.common.menus.StatusEnum;
 import cn.tr.module.common.utils.Constants;
 import cn.tr.module.common.utils.Constants;
 import cn.tr.module.common.utils.TenantUtil;
 import cn.tr.module.common.utils.TenantUtil;
 import cn.tr.module.sys.exception.CustomException;
 import cn.tr.module.sys.exception.CustomException;
-import cn.tr.module.sys.oauth2.bean.LoginUser;
 import cn.tr.module.sys.oauth2.utils.SecurityUtil;
 import cn.tr.module.sys.oauth2.utils.SecurityUtil;
 import cn.tr.module.sys.user.dto.SysRoleAddDTO;
 import cn.tr.module.sys.user.dto.SysRoleAddDTO;
 import cn.tr.module.sys.user.dto.SysRoleAssignMenuDTO;
 import cn.tr.module.sys.user.dto.SysRoleAssignMenuDTO;

+ 2 - 2
tr-modules/tr-module-system/src/main/java/cn/tr/module/sys/user/service/impl/SysUserServiceImpl.java

@@ -5,12 +5,12 @@ import cn.dev33.satoken.session.SaSession;
 import cn.dev33.satoken.stp.StpLogic;
 import cn.dev33.satoken.stp.StpLogic;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.tr.core.pojo.LoginUser;
+import cn.tr.core.pojo.SysRoleInfo;
 import cn.tr.module.common.menus.StatusEnum;
 import cn.tr.module.common.menus.StatusEnum;
 import cn.tr.module.common.menus.YesNoEnum;
 import cn.tr.module.common.menus.YesNoEnum;
 import cn.tr.module.common.utils.Constants;
 import cn.tr.module.common.utils.Constants;
 import cn.tr.module.sys.exception.CustomException;
 import cn.tr.module.sys.exception.CustomException;
-import cn.tr.module.sys.oauth2.bean.LoginUser;
-import cn.tr.module.sys.oauth2.bean.SysRoleInfo;
 import cn.tr.module.sys.oauth2.utils.SecurityUtil;
 import cn.tr.module.sys.oauth2.utils.SecurityUtil;
 import cn.tr.module.sys.user.dto.*;
 import cn.tr.module.sys.user.dto.*;
 import cn.tr.module.sys.user.po.*;
 import cn.tr.module.sys.user.po.*;

+ 3 - 2
tr-modules/tr-modules-phototherapy/src/main/java/cn/tr/module/phototherapy/common/dto/BusTherapyRecordDTO.java

@@ -10,6 +10,7 @@ import lombok.Data;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotBlank;
 import jakarta.validation.constraints.NotNull;
 import jakarta.validation.constraints.NotNull;
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
+import java.util.Date;
 
 
 /**
 /**
  * 治疗记录表传输对象
  * 治疗记录表传输对象
@@ -37,10 +38,10 @@ public class BusTherapyRecordDTO extends BaseDTO  {
     private String clinicId;
     private String clinicId;
 
 
     @Schema(description = "光疗开始时间")
     @Schema(description = "光疗开始时间")
-    private LocalDateTime therapyStartTime;
+    private Date therapyStartTime;
 
 
     @Schema(description = "光疗结束时间")
     @Schema(description = "光疗结束时间")
-    private LocalDateTime therapyEndTime;
+    private Date therapyEndTime;
 
 
     @Schema(description = "累计治疗时长(不用实时)")
     @Schema(description = "累计治疗时长(不用实时)")
     @NotNull(message = "累计治疗时长不能为空", groups = {Update.class, Insert.class})
     @NotNull(message = "累计治疗时长不能为空", groups = {Update.class, Insert.class})

+ 3 - 2
tr-modules/tr-modules-phototherapy/src/main/java/cn/tr/module/phototherapy/common/po/BusTherapyRecordPO.java

@@ -10,6 +10,7 @@ import lombok.EqualsAndHashCode;
 import lombok.ToString;
 import lombok.ToString;
 
 
 import java.time.LocalDateTime;
 import java.time.LocalDateTime;
+import java.util.Date;
 
 
 /**
 /**
  * 治疗记录表
  * 治疗记录表
@@ -38,11 +39,11 @@ public class BusTherapyRecordPO extends TenantPO {
 
 
     /** 光疗开始时间 */
     /** 光疗开始时间 */
     @Schema(description = "光疗开始时间")
     @Schema(description = "光疗开始时间")
-    private LocalDateTime therapyStartTime;
+    private Date therapyStartTime;
 
 
     /** 光疗结束时间 */
     /** 光疗结束时间 */
     @Schema(description = "光疗结束时间")
     @Schema(description = "光疗结束时间")
-    private LocalDateTime therapyEndTime;
+    private Date therapyEndTime;
 
 
     /** 累计治疗时长(不用实时) */
     /** 累计治疗时长(不用实时) */
     @Schema(description = "累计治疗时长(不用实时)")
     @Schema(description = "累计治疗时长(不用实时)")

+ 2 - 2
tr-modules/tr-modules-phototherapy/src/main/java/cn/tr/module/phototherapy/web/auth/WebAccountOperator.java

@@ -2,11 +2,11 @@ package cn.tr.module.phototherapy.web.auth;
 
 
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.tr.core.enums.GrantTypeEnum;
+import cn.tr.core.pojo.LoginUser;
 import cn.tr.core.utils.PswUtils;
 import cn.tr.core.utils.PswUtils;
 import cn.tr.module.common.menus.*;
 import cn.tr.module.common.menus.*;
 import cn.tr.module.sys.exception.CustomException;
 import cn.tr.module.sys.exception.CustomException;
-import cn.tr.module.sys.oauth2.bean.LoginUser;
-import cn.tr.module.sys.oauth2.enums.GrantTypeEnum;
 import cn.tr.module.sys.oauth2.granter.IAccountOperator;
 import cn.tr.module.sys.oauth2.granter.IAccountOperator;
 import cn.tr.module.sys.oauth2.utils.SecurityUtil;
 import cn.tr.module.sys.oauth2.utils.SecurityUtil;
 import cn.tr.module.sys.oauth2.vo.AccountInfoVO;
 import cn.tr.module.sys.oauth2.vo.AccountInfoVO;

+ 4 - 4
tr-modules/tr-modules-phototherapy/src/main/java/cn/tr/module/phototherapy/web/auth/WebAuthGranter.java

@@ -4,6 +4,10 @@ import cn.dev33.satoken.spring.SpringMVCUtil;
 import cn.dev33.satoken.stp.StpLogic;
 import cn.dev33.satoken.stp.StpLogic;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.tr.core.enums.GrantTypeEnum;
+import cn.tr.core.enums.StpTypeEnum;
+import cn.tr.core.pojo.LoginUser;
+import cn.tr.core.pojo.SysRoleInfo;
 import cn.tr.core.utils.PswUtils;
 import cn.tr.core.utils.PswUtils;
 import cn.tr.module.common.menus.DelFlagEnum;
 import cn.tr.module.common.menus.DelFlagEnum;
 import cn.tr.module.common.menus.StatusEnum;
 import cn.tr.module.common.menus.StatusEnum;
@@ -11,10 +15,6 @@ import cn.tr.module.common.menus.UserPlatformEnum;
 import cn.tr.module.phototherapy.web.properties.CaptchaProperties;
 import cn.tr.module.phototherapy.web.properties.CaptchaProperties;
 import cn.tr.module.phototherapy.web.utils.CaptchaTool;
 import cn.tr.module.phototherapy.web.utils.CaptchaTool;
 import cn.tr.module.sys.exception.CustomException;
 import cn.tr.module.sys.exception.CustomException;
-import cn.tr.module.sys.oauth2.bean.LoginUser;
-import cn.tr.module.sys.oauth2.bean.SysRoleInfo;
-import cn.tr.module.sys.oauth2.enums.GrantTypeEnum;
-import cn.tr.module.sys.oauth2.enums.StpTypeEnum;
 import cn.tr.module.sys.oauth2.granter.IAuthGranter;
 import cn.tr.module.sys.oauth2.granter.IAuthGranter;
 import cn.tr.module.sys.oauth2.granter.TokenParameter;
 import cn.tr.module.sys.oauth2.granter.TokenParameter;
 import cn.tr.module.sys.oauth2.utils.SecurityUtil;
 import cn.tr.module.sys.oauth2.utils.SecurityUtil;