فهرست منبع

fix: 恢复 sms login 员工签约检查(无数据放行/有数据校验)

alphah 2 هفته پیش
والد
کامیت
078c2bd1fa
1فایلهای تغییر یافته به همراه7 افزوده شده و 1 حذف شده
  1. 7 1
      backend/app/api/v1/module_system/auth/service.py

+ 7 - 1
backend/app/api/v1/module_system/auth/service.py

@@ -206,7 +206,13 @@ class LoginService:
         if user.status == "1":
             raise CustomException(msg="用户已被停用")
 
-        # 跳过员工签约检查(admin等无员工记录的管理员也可登录)
+        # 检查员工签约:无员工记录放行;有记录需已签约
+        from app.plugin.module_payment.employee.model import EmployeeModel
+        emp_stmt = select(EmployeeModel).where(EmployeeModel.user_id == user.id)
+        emp_result = await db.execute(emp_stmt)
+        employee = emp_result.scalar_one_or_none()
+        if employee and employee.status != "EMPLOYEE_ACTIVATED":
+            raise CustomException(msg="用户不存在")
 
         # 更新最后登录时间(记录日志即可,不阻塞登录)
         from datetime import datetime