|
|
@@ -1,20 +1,22 @@
|
|
|
package com.grkj.data.domain.logic.impl
|
|
|
|
|
|
+import com.grkj.data.data.MMKVConstants
|
|
|
import com.grkj.data.data.MainDomainData
|
|
|
-import com.grkj.data.enums.LoginResultEnum
|
|
|
-import com.grkj.data.enums.RoleEnum
|
|
|
-import com.grkj.data.local.dos.SysUserCharacteristicDo
|
|
|
-import com.grkj.data.local.dos.SysUserDo
|
|
|
-import com.grkj.data.local.dos.SysUserRole
|
|
|
+import com.grkj.data.domain.logic.BaseLogic
|
|
|
+import com.grkj.data.domain.logic.IUserLogic
|
|
|
import com.grkj.data.domain.vo.AddUserDataVo
|
|
|
import com.grkj.data.domain.vo.JobUserVo
|
|
|
import com.grkj.data.domain.vo.SysBiometricDataVo
|
|
|
import com.grkj.data.domain.vo.SysUserVo
|
|
|
import com.grkj.data.domain.vo.UpdateUserDataVo
|
|
|
-import com.grkj.data.domain.vo.UserManageVo
|
|
|
import com.grkj.data.domain.vo.UserManageFilterVo
|
|
|
-import com.grkj.data.domain.logic.BaseLogic
|
|
|
-import com.grkj.data.domain.logic.IUserLogic
|
|
|
+import com.grkj.data.domain.vo.UserManageVo
|
|
|
+import com.grkj.data.enums.LoginResultEnum
|
|
|
+import com.grkj.data.enums.RoleEnum
|
|
|
+import com.grkj.data.hardware.BiometricVerifier
|
|
|
+import com.grkj.data.local.dos.SysUserCharacteristicDo
|
|
|
+import com.grkj.data.local.dos.SysUserDo
|
|
|
+import com.grkj.data.local.dos.SysUserRole
|
|
|
import com.grkj.data.repository.HardwareRepository
|
|
|
import com.grkj.data.repository.JobTicketRepository
|
|
|
import com.grkj.data.repository.RoleRepository
|
|
|
@@ -22,11 +24,11 @@ import com.grkj.data.repository.SysMenuRepository
|
|
|
import com.grkj.data.repository.UserRepository
|
|
|
import com.grkj.data.repository.WorkstationRepository
|
|
|
import com.grkj.shared.utils.BCryptUtils
|
|
|
-import com.grkj.data.hardware.BiometricVerifier
|
|
|
import com.grkj.shared.utils.i18n.I18nManager
|
|
|
import com.sik.sikcore.data.BeanUtils
|
|
|
import com.sik.sikcore.extension.exists
|
|
|
import com.sik.sikcore.extension.file
|
|
|
+import com.sik.sikcore.extension.getMMKVData
|
|
|
import kotlinx.coroutines.Dispatchers
|
|
|
import kotlinx.coroutines.async
|
|
|
import kotlinx.coroutines.awaitAll
|
|
|
@@ -73,6 +75,16 @@ class UserLogic @Inject constructor(
|
|
|
logger.info("用户信息:{}", MainDomainData.userInfo.toString())
|
|
|
logger.info("用户角色:{}", MainDomainData.roleKeys)
|
|
|
logger.info("用户权限:{}", MainDomainData.permissions)
|
|
|
+ // 如果不允许共锁人登录,并且角色只有共锁人(不能是Admin或者负责人)
|
|
|
+ if (!MMKVConstants.KEY_ALLOW_COLOCKER_COLOCK.getMMKVData(false)
|
|
|
+ && roleDatas.any { it.roleKey == RoleEnum.JTCOLOCKER.roleKey }
|
|
|
+ && (roleDatas.filter {
|
|
|
+ listOf(RoleEnum.ADMIN.roleKey, RoleEnum.JTDRAWER.roleKey).contains(it.roleKey)
|
|
|
+ }).isEmpty()
|
|
|
+ ) {
|
|
|
+ // 要报错,提示不能登录
|
|
|
+ return LoginResultEnum.LOGIN_FAILED_NO_ALLOW_COLOCKER
|
|
|
+ }
|
|
|
return LoginResultEnum.USERNAME_PASSWORD_LOGIN_SUCCESS
|
|
|
}
|
|
|
return LoginResultEnum.USERNAME_OR_PASSWORD_ERROR
|
|
|
@@ -100,6 +112,16 @@ class UserLogic @Inject constructor(
|
|
|
logger.info("用户信息:{}", MainDomainData.userInfo.toString())
|
|
|
logger.info("用户角色:{}", MainDomainData.roleKeys)
|
|
|
logger.info("用户权限:{}", MainDomainData.permissions)
|
|
|
+ // 如果不允许共锁人登录,并且角色只有共锁人(不能是Admin或者负责人)
|
|
|
+ if (!MMKVConstants.KEY_ALLOW_COLOCKER_COLOCK.getMMKVData(false)
|
|
|
+ && roleDatas.any { it.roleKey == RoleEnum.JTCOLOCKER.roleKey }
|
|
|
+ && (roleDatas.filter {
|
|
|
+ listOf(RoleEnum.ADMIN.roleKey, RoleEnum.JTDRAWER.roleKey).contains(it.roleKey)
|
|
|
+ }).isEmpty()
|
|
|
+ ) {
|
|
|
+ // 要报错,提示不能登录
|
|
|
+ return LoginResultEnum.LOGIN_FAILED_NO_ALLOW_COLOCKER
|
|
|
+ }
|
|
|
return LoginResultEnum.JOB_CARD_LOGIN_SUCCESS
|
|
|
}
|
|
|
return LoginResultEnum.JOB_CARD_LOGIN_FAILED
|
|
|
@@ -271,6 +293,16 @@ class UserLogic @Inject constructor(
|
|
|
logger.info("用户信息:{}", MainDomainData.userInfo.toString())
|
|
|
logger.info("用户角色:{}", MainDomainData.roleKeys)
|
|
|
logger.info("用户权限:{}", MainDomainData.permissions)
|
|
|
+ // 如果不允许共锁人登录,并且角色只有共锁人(不能是Admin或者负责人)
|
|
|
+ if (!MMKVConstants.KEY_ALLOW_COLOCKER_COLOCK.getMMKVData(false)
|
|
|
+ && roleDatas.any { it.roleKey == RoleEnum.JTCOLOCKER.roleKey }
|
|
|
+ && (roleDatas.filter {
|
|
|
+ listOf(RoleEnum.ADMIN.roleKey, RoleEnum.JTDRAWER.roleKey).contains(it.roleKey)
|
|
|
+ }).isEmpty()
|
|
|
+ ) {
|
|
|
+ // 要报错,提示不能登录
|
|
|
+ return LoginResultEnum.LOGIN_FAILED_NO_ALLOW_COLOCKER
|
|
|
+ }
|
|
|
return LoginResultEnum.FACE_VERIFY_SUCCESS
|
|
|
} else {
|
|
|
return LoginResultEnum.FACE_VERIFY_FAILED
|
|
|
@@ -460,6 +492,16 @@ class UserLogic @Inject constructor(
|
|
|
logger.info("用户信息:{}", MainDomainData.userInfo.toString())
|
|
|
logger.info("用户角色:{}", MainDomainData.roleKeys)
|
|
|
logger.info("用户权限:{}", MainDomainData.permissions)
|
|
|
+ // 如果不允许共锁人登录,并且角色只有共锁人(不能是Admin或者负责人)
|
|
|
+ if (!MMKVConstants.KEY_ALLOW_COLOCKER_COLOCK.getMMKVData(false)
|
|
|
+ && roleDatas.any { it.roleKey == RoleEnum.JTCOLOCKER.roleKey }
|
|
|
+ && (roleDatas.filter {
|
|
|
+ listOf(RoleEnum.ADMIN.roleKey, RoleEnum.JTDRAWER.roleKey).contains(it.roleKey)
|
|
|
+ }).isEmpty()
|
|
|
+ ) {
|
|
|
+ // 要报错,提示不能登录
|
|
|
+ return LoginResultEnum.LOGIN_FAILED_NO_ALLOW_COLOCKER
|
|
|
+ }
|
|
|
LoginResultEnum.FACE_VERIFY_SUCCESS
|
|
|
} else {
|
|
|
LoginResultEnum.FACE_VERIFY_FAILED
|