|
@@ -3,7 +3,6 @@ package com.grkj.data.logic.impl.standard
|
|
|
import com.grkj.data.dao.HardwareDao
|
|
import com.grkj.data.dao.HardwareDao
|
|
|
import com.grkj.data.dao.RoleDao
|
|
import com.grkj.data.dao.RoleDao
|
|
|
import com.grkj.data.dao.SysMenuDao
|
|
import com.grkj.data.dao.SysMenuDao
|
|
|
-import com.grkj.data.dao.UserDao
|
|
|
|
|
import com.grkj.data.data.MainDomainData
|
|
import com.grkj.data.data.MainDomainData
|
|
|
import com.grkj.data.enums.LoginResultEnum
|
|
import com.grkj.data.enums.LoginResultEnum
|
|
|
import com.grkj.data.enums.RoleEnum
|
|
import com.grkj.data.enums.RoleEnum
|
|
@@ -20,8 +19,11 @@ import com.grkj.data.model.vo.UserManageVo
|
|
|
import com.grkj.data.model.vo.UserManageFilterVo
|
|
import com.grkj.data.model.vo.UserManageFilterVo
|
|
|
import com.grkj.data.logic.BaseLogic
|
|
import com.grkj.data.logic.BaseLogic
|
|
|
import com.grkj.data.logic.IUserLogic
|
|
import com.grkj.data.logic.IUserLogic
|
|
|
|
|
+import com.grkj.data.repository.JobTicketRepository
|
|
|
|
|
+import com.grkj.data.repository.UserRepository
|
|
|
import com.grkj.shared.utils.BCryptUtils
|
|
import com.grkj.shared.utils.BCryptUtils
|
|
|
import com.grkj.shared.utils.BiometricVerifier
|
|
import com.grkj.shared.utils.BiometricVerifier
|
|
|
|
|
+import com.sik.sikcore.data.BeanUtils
|
|
|
import com.sik.sikcore.extension.deleteIfExists
|
|
import com.sik.sikcore.extension.deleteIfExists
|
|
|
import com.sik.sikcore.extension.file
|
|
import com.sik.sikcore.extension.file
|
|
|
import kotlinx.coroutines.Dispatchers
|
|
import kotlinx.coroutines.Dispatchers
|
|
@@ -36,8 +38,9 @@ import javax.inject.Singleton
|
|
|
*/
|
|
*/
|
|
|
@Singleton
|
|
@Singleton
|
|
|
class UserLogic @Inject constructor(
|
|
class UserLogic @Inject constructor(
|
|
|
|
|
+ private val userRepository: UserRepository,
|
|
|
|
|
+ private val jobTicketRepository: JobTicketRepository,
|
|
|
private val hardwareDao: HardwareDao,
|
|
private val hardwareDao: HardwareDao,
|
|
|
- private val userDao: UserDao,
|
|
|
|
|
private val roleDao: RoleDao,
|
|
private val roleDao: RoleDao,
|
|
|
private val sysMenuDao: SysMenuDao,
|
|
private val sysMenuDao: SysMenuDao,
|
|
|
) : BaseLogic(), IUserLogic {
|
|
) : BaseLogic(), IUserLogic {
|
|
@@ -45,7 +48,7 @@ class UserLogic @Inject constructor(
|
|
|
override fun loginWithAccount(
|
|
override fun loginWithAccount(
|
|
|
username: String, password: String
|
|
username: String, password: String
|
|
|
): LoginResultEnum {
|
|
): LoginResultEnum {
|
|
|
- val sysUserDo = userDao.getUserInfoByUsername(username)
|
|
|
|
|
|
|
+ val sysUserDo = userRepository.getUserInfoByUsername(username)
|
|
|
if (sysUserDo == null) {
|
|
if (sysUserDo == null) {
|
|
|
return LoginResultEnum.USERNAME_PASSWORD_NOT_EXISTS
|
|
return LoginResultEnum.USERNAME_PASSWORD_NOT_EXISTS
|
|
|
}
|
|
}
|
|
@@ -55,8 +58,11 @@ class UserLogic @Inject constructor(
|
|
|
MainDomainData.userInfo = sysUserDo
|
|
MainDomainData.userInfo = sysUserDo
|
|
|
val userCardList = hardwareDao.getIsJobCardByUserId(sysUserDo.userId)
|
|
val userCardList = hardwareDao.getIsJobCardByUserId(sysUserDo.userId)
|
|
|
val roleDatas = roleDao.getRoleDataByUserId(sysUserDo.userId)
|
|
val roleDatas = roleDao.getRoleDataByUserId(sysUserDo.userId)
|
|
|
- val userBiometricDataVo = userDao.getUserBiometricData(sysUserDo.userId)
|
|
|
|
|
- MainDomainData.userBiometricDataVo = userBiometricDataVo
|
|
|
|
|
|
|
+ val sysUserCharacteristicDos =
|
|
|
|
|
+ userRepository.getSysUserCharacteristicDo(sysUserDo.userId)
|
|
|
|
|
+ val userBiometricDataVo =
|
|
|
|
|
+ BeanUtils.copyList(sysUserCharacteristicDos, SysBiometricDataVo::class.java)
|
|
|
|
|
+ MainDomainData.userBiometricDataVo = userBiometricDataVo.toMutableList()
|
|
|
MainDomainData.userCardList = userCardList
|
|
MainDomainData.userCardList = userCardList
|
|
|
logger.info("卡号数据:${userCardList}")
|
|
logger.info("卡号数据:${userCardList}")
|
|
|
MainDomainData.roleKeys = roleDatas.joinToString(",") { it.roleKey }
|
|
MainDomainData.roleKeys = roleDatas.joinToString(",") { it.roleKey }
|
|
@@ -77,13 +83,16 @@ class UserLogic @Inject constructor(
|
|
|
if (userId == null) {
|
|
if (userId == null) {
|
|
|
return LoginResultEnum.JOB_CARD_LOGIN_FAILED
|
|
return LoginResultEnum.JOB_CARD_LOGIN_FAILED
|
|
|
} else {
|
|
} else {
|
|
|
- val sysUserDo = userDao.getUserInfoByUserId(userId)
|
|
|
|
|
|
|
+ val sysUserDo = userRepository.getUserInfoByUserId(userId.toLong())
|
|
|
if (sysUserDo != null) {
|
|
if (sysUserDo != null) {
|
|
|
MainDomainData.userInfo = sysUserDo
|
|
MainDomainData.userInfo = sysUserDo
|
|
|
val userCardList = hardwareDao.getIsJobCardByUserId(sysUserDo.userId)
|
|
val userCardList = hardwareDao.getIsJobCardByUserId(sysUserDo.userId)
|
|
|
val roleDatas = roleDao.getRoleDataByUserId(sysUserDo.userId)
|
|
val roleDatas = roleDao.getRoleDataByUserId(sysUserDo.userId)
|
|
|
- val userBiometricDataVo = userDao.getUserBiometricData(sysUserDo.userId)
|
|
|
|
|
- MainDomainData.userBiometricDataVo = userBiometricDataVo
|
|
|
|
|
|
|
+ val sysUserCharacteristicDos =
|
|
|
|
|
+ userRepository.getSysUserCharacteristicDo(sysUserDo.userId)
|
|
|
|
|
+ val userBiometricDataVo =
|
|
|
|
|
+ BeanUtils.copyList(sysUserCharacteristicDos, SysBiometricDataVo::class.java)
|
|
|
|
|
+ MainDomainData.userBiometricDataVo = userBiometricDataVo.toMutableList()
|
|
|
MainDomainData.userCardList = userCardList
|
|
MainDomainData.userCardList = userCardList
|
|
|
MainDomainData.roleKeys = roleDatas.joinToString(",") { it.roleKey }
|
|
MainDomainData.roleKeys = roleDatas.joinToString(",") { it.roleKey }
|
|
|
MainDomainData.permissions =
|
|
MainDomainData.permissions =
|
|
@@ -98,11 +107,11 @@ class UserLogic @Inject constructor(
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun getUserByUserId(userId: Long): SysUserDo? {
|
|
override fun getUserByUserId(userId: Long): SysUserDo? {
|
|
|
- return userDao.getUserInfoByUserId(userId.toString())
|
|
|
|
|
|
|
+ return userRepository.getUserInfoByUserId(userId)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun updatePassword(userId: Long, password: String) {
|
|
override fun updatePassword(userId: Long, password: String) {
|
|
|
- userDao.updateUserPassword(userId, password)
|
|
|
|
|
|
|
+ userRepository.updatePassword(userId, password)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun updateUserInfo(
|
|
override fun updateUserInfo(
|
|
@@ -110,7 +119,7 @@ class UserLogic @Inject constructor(
|
|
|
nickName: String,
|
|
nickName: String,
|
|
|
phone: String
|
|
phone: String
|
|
|
) {
|
|
) {
|
|
|
- userDao.updateUserInfo(userId, nickName, phone)
|
|
|
|
|
|
|
+ userRepository.updateUserInfo(userId, nickName, phone)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun checkCard(cardNo: String): LoginResultEnum {
|
|
override fun checkCard(cardNo: String): LoginResultEnum {
|
|
@@ -118,7 +127,7 @@ class UserLogic @Inject constructor(
|
|
|
if (userId == null) {
|
|
if (userId == null) {
|
|
|
return LoginResultEnum.JOB_CARD_LOGIN_FAILED
|
|
return LoginResultEnum.JOB_CARD_LOGIN_FAILED
|
|
|
} else {
|
|
} else {
|
|
|
- val sysUserDo = userDao.getUserInfoByUserId(userId)
|
|
|
|
|
|
|
+ val sysUserDo = userRepository.getUserInfoByUserId(userId.toLong())
|
|
|
if (sysUserDo != null) {
|
|
if (sysUserDo != null) {
|
|
|
return LoginResultEnum.JOB_CARD_LOGIN_SUCCESS
|
|
return LoginResultEnum.JOB_CARD_LOGIN_SUCCESS
|
|
|
}
|
|
}
|
|
@@ -128,7 +137,7 @@ class UserLogic @Inject constructor(
|
|
|
|
|
|
|
|
override suspend fun loginWithFingerprint(fingerprint: String): LoginResultEnum =
|
|
override suspend fun loginWithFingerprint(fingerprint: String): LoginResultEnum =
|
|
|
coroutineScope {
|
|
coroutineScope {
|
|
|
- val fingerprintDataList = userDao.getFingerprintData()
|
|
|
|
|
|
|
+ val fingerprintDataList = userRepository.getFingerprintData()
|
|
|
if (fingerprintDataList.isEmpty()) return@coroutineScope LoginResultEnum.FINGERPRINTER_VERIFY_FAILED
|
|
if (fingerprintDataList.isEmpty()) return@coroutineScope LoginResultEnum.FINGERPRINTER_VERIFY_FAILED
|
|
|
|
|
|
|
|
/* ① 并发计算匹配分数 */
|
|
/* ① 并发计算匹配分数 */
|
|
@@ -149,7 +158,7 @@ class UserLogic @Inject constructor(
|
|
|
/* ③ 若匹配成功,加载用户信息 */
|
|
/* ③ 若匹配成功,加载用户信息 */
|
|
|
if (bestMatch != null) {
|
|
if (bestMatch != null) {
|
|
|
val fpData = bestMatch.first
|
|
val fpData = bestMatch.first
|
|
|
- val sysUserDo = userDao.getUserInfoByUserId(fpData.userId.toString())
|
|
|
|
|
|
|
+ val sysUserDo = userRepository.getUserInfoByUserId(fpData.userId)
|
|
|
if (sysUserDo != null) {
|
|
if (sysUserDo != null) {
|
|
|
// —— 缓存域数据 —— //
|
|
// —— 缓存域数据 —— //
|
|
|
MainDomainData.userInfo = sysUserDo
|
|
MainDomainData.userInfo = sysUserDo
|
|
@@ -161,8 +170,11 @@ class UserLogic @Inject constructor(
|
|
|
sysMenuDao.getPermissionsByRoleIds(
|
|
sysMenuDao.getPermissionsByRoleIds(
|
|
|
roleDao.getRoleDataByUserId(sysUserDo.userId).map { it.roleId }
|
|
roleDao.getRoleDataByUserId(sysUserDo.userId).map { it.roleId }
|
|
|
)
|
|
)
|
|
|
- MainDomainData.userBiometricDataVo =
|
|
|
|
|
- userDao.getUserBiometricData(sysUserDo.userId)
|
|
|
|
|
|
|
+ val sysUserCharacteristicDos =
|
|
|
|
|
+ userRepository.getSysUserCharacteristicDo(sysUserDo.userId)
|
|
|
|
|
+ val userBiometricDataVo =
|
|
|
|
|
+ BeanUtils.copyList(sysUserCharacteristicDos, SysBiometricDataVo::class.java)
|
|
|
|
|
+ MainDomainData.userBiometricDataVo = userBiometricDataVo.toMutableList()
|
|
|
|
|
|
|
|
logger.info("用户信息: {}", MainDomainData.userInfo)
|
|
logger.info("用户信息: {}", MainDomainData.userInfo)
|
|
|
logger.info("用户角色: {}", MainDomainData.roleKeys)
|
|
logger.info("用户角色: {}", MainDomainData.roleKeys)
|
|
@@ -174,7 +186,7 @@ class UserLogic @Inject constructor(
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override suspend fun checkFingerprint(fingerprint: String): LoginResultEnum = coroutineScope {
|
|
override suspend fun checkFingerprint(fingerprint: String): LoginResultEnum = coroutineScope {
|
|
|
- val fingerprintDataList = userDao.getFingerprintData()
|
|
|
|
|
|
|
+ val fingerprintDataList = userRepository.getFingerprintData()
|
|
|
if (fingerprintDataList.isEmpty()) return@coroutineScope LoginResultEnum.FINGERPRINTER_VERIFY_FAILED
|
|
if (fingerprintDataList.isEmpty()) return@coroutineScope LoginResultEnum.FINGERPRINTER_VERIFY_FAILED
|
|
|
|
|
|
|
|
/* ① 并发计算匹配分数 */
|
|
/* ① 并发计算匹配分数 */
|
|
@@ -192,8 +204,6 @@ class UserLogic @Inject constructor(
|
|
|
.filterNotNull()
|
|
.filterNotNull()
|
|
|
.maxByOrNull { it.second } // second == score
|
|
.maxByOrNull { it.second } // second == score
|
|
|
if (bestMatch != null) {
|
|
if (bestMatch != null) {
|
|
|
- val fpData = bestMatch.first
|
|
|
|
|
- val sysUserDo = userDao.getUserInfoByUserId(fpData.userId.toString())
|
|
|
|
|
LoginResultEnum.FINGERPRINTER_VERIFY_SUCCESS
|
|
LoginResultEnum.FINGERPRINTER_VERIFY_SUCCESS
|
|
|
} else {
|
|
} else {
|
|
|
LoginResultEnum.FINGERPRINTER_VERIFY_FAILED
|
|
LoginResultEnum.FINGERPRINTER_VERIFY_FAILED
|
|
@@ -201,7 +211,7 @@ class UserLogic @Inject constructor(
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun loginWithFace(face: String): LoginResultEnum {
|
|
override fun loginWithFace(face: String): LoginResultEnum {
|
|
|
- val faceDataList = userDao.getFaceData()
|
|
|
|
|
|
|
+ val faceDataList = userRepository.getFaceData()
|
|
|
if (faceDataList.isEmpty()) {
|
|
if (faceDataList.isEmpty()) {
|
|
|
return LoginResultEnum.FACE_VERIFY_FAILED
|
|
return LoginResultEnum.FACE_VERIFY_FAILED
|
|
|
}
|
|
}
|
|
@@ -216,13 +226,16 @@ class UserLogic @Inject constructor(
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
if (userId != null) {
|
|
if (userId != null) {
|
|
|
- val sysUserDo = userDao.getUserInfoByUserId(userId)
|
|
|
|
|
|
|
+ val sysUserDo = userRepository.getUserInfoByUserId(userId.toLong())
|
|
|
if (sysUserDo != null) {
|
|
if (sysUserDo != null) {
|
|
|
MainDomainData.userInfo = sysUserDo
|
|
MainDomainData.userInfo = sysUserDo
|
|
|
val userCardList = hardwareDao.getIsJobCardByUserId(sysUserDo.userId)
|
|
val userCardList = hardwareDao.getIsJobCardByUserId(sysUserDo.userId)
|
|
|
val roleDatas = roleDao.getRoleDataByUserId(sysUserDo.userId)
|
|
val roleDatas = roleDao.getRoleDataByUserId(sysUserDo.userId)
|
|
|
- val userBiometricDataVo = userDao.getUserBiometricData(sysUserDo.userId)
|
|
|
|
|
- MainDomainData.userBiometricDataVo = userBiometricDataVo
|
|
|
|
|
|
|
+ val sysUserCharacteristicDos =
|
|
|
|
|
+ userRepository.getSysUserCharacteristicDo(sysUserDo.userId)
|
|
|
|
|
+ val userBiometricDataVo =
|
|
|
|
|
+ BeanUtils.copyList(sysUserCharacteristicDos, SysBiometricDataVo::class.java)
|
|
|
|
|
+ MainDomainData.userBiometricDataVo = userBiometricDataVo.toMutableList()
|
|
|
MainDomainData.userCardList = userCardList
|
|
MainDomainData.userCardList = userCardList
|
|
|
MainDomainData.roleKeys = roleDatas.joinToString(",") { it.roleKey }
|
|
MainDomainData.roleKeys = roleDatas.joinToString(",") { it.roleKey }
|
|
|
MainDomainData.permissions =
|
|
MainDomainData.permissions =
|
|
@@ -243,7 +256,7 @@ class UserLogic @Inject constructor(
|
|
|
if (userId == null) {
|
|
if (userId == null) {
|
|
|
return LoginResultEnum.FACE_VERIFY_FAILED
|
|
return LoginResultEnum.FACE_VERIFY_FAILED
|
|
|
}
|
|
}
|
|
|
- val faceDataList = userDao.getFaceDataByUserId(userId)
|
|
|
|
|
|
|
+ val faceDataList = userRepository.getFaceDataByUserId(userId)
|
|
|
if (faceDataList.isEmpty()) {
|
|
if (faceDataList.isEmpty()) {
|
|
|
return LoginResultEnum.FACE_VERIFY_FAILED
|
|
return LoginResultEnum.FACE_VERIFY_FAILED
|
|
|
}
|
|
}
|
|
@@ -268,25 +281,119 @@ class UserLogic @Inject constructor(
|
|
|
current: Int,
|
|
current: Int,
|
|
|
size: Int
|
|
size: Int
|
|
|
): List<UserManageVo> {
|
|
): List<UserManageVo> {
|
|
|
- return userDao.getUserManagerData(
|
|
|
|
|
- userManageFilterData?.nickname,
|
|
|
|
|
- userManageFilterData?.cardCode,
|
|
|
|
|
- userManageFilterData?.workstationName,
|
|
|
|
|
- userManageFilterData?.status,
|
|
|
|
|
- current * size,
|
|
|
|
|
- size
|
|
|
|
|
- )
|
|
|
|
|
|
|
+ //1.根据分页获取用户信息
|
|
|
|
|
+ val sysUserDos = userRepository.getUserInfoPage(size, current * size)
|
|
|
|
|
+ //2.获取所有区域信息和绑定信息
|
|
|
|
|
+ val workstationDos = hardwareDao.getAllWorkstation()
|
|
|
|
|
+ val userWorkstationDos = hardwareDao.getAllUserWorkstations()
|
|
|
|
|
+ //3.获取所有角色信息和用户角色关联信息
|
|
|
|
|
+ val roleDos = roleDao.getAllRole()
|
|
|
|
|
+ val userRoleDos = roleDao.getAllUserRoles()
|
|
|
|
|
+ //4.获取所有卡片数据
|
|
|
|
|
+ val jobCardDos = hardwareDao.getAllJobCard()
|
|
|
|
|
+ val userManageVos = BeanUtils.copyList(sysUserDos, UserManageVo::class.java)
|
|
|
|
|
+ userManageVos.forEach { user ->
|
|
|
|
|
+ val userRoles = roleDos.filter {
|
|
|
|
|
+ it.roleId in userRoleDos.filter { it.userId == user.userId }.map { it.roleId }
|
|
|
|
|
+ }
|
|
|
|
|
+ user.roleKeys = userRoles.map { it.roleKey }
|
|
|
|
|
+ user.roleIds = userRoles.map { it.roleId }
|
|
|
|
|
+ user.roleNames = userRoles.map { it.roleName }
|
|
|
|
|
+ val userWorkstations = workstationDos.filter {
|
|
|
|
|
+ it.workstationId in userWorkstationDos.filter { it.userId == user.userId }
|
|
|
|
|
+ .map { it.workstationId }
|
|
|
|
|
+ }
|
|
|
|
|
+ user.workstationIds = userWorkstations.map { it.workstationId }
|
|
|
|
|
+ user.workstationNames = userWorkstations.map { it.workstationName }
|
|
|
|
|
+ user.cardCodes = jobCardDos.filter { it.userId == user.userId }.map { it.cardCode }
|
|
|
|
|
+ }
|
|
|
|
|
+ return userManageVos.filter {
|
|
|
|
|
+ it.nickName.contains(userManageFilterData?.nickname ?: "") ||
|
|
|
|
|
+ it.status == (userManageFilterData?.status ?: it.status) ||
|
|
|
|
|
+ it.cardCodes.any {
|
|
|
|
|
+ it?.contains(
|
|
|
|
|
+ userManageFilterData?.cardCode ?: ""
|
|
|
|
|
+ ) == true
|
|
|
|
|
+ } ||
|
|
|
|
|
+ it.workstationNames.any {
|
|
|
|
|
+ it?.contains(
|
|
|
|
|
+ userManageFilterData?.workstationName ?: ""
|
|
|
|
|
+ ) == true
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+
|
|
|
override fun getJobUserDataByUserIdAndTicketId(
|
|
override fun getJobUserDataByUserIdAndTicketId(
|
|
|
ticketId: Long,
|
|
ticketId: Long,
|
|
|
- userIds: List<Long>
|
|
|
|
|
|
|
+ userIds: List<Long>,
|
|
|
|
|
+ userRole: String
|
|
|
): List<JobUserVo> {
|
|
): List<JobUserVo> {
|
|
|
- return userDao.getJobUserDataByUserIdAndTicketId(ticketId, userIds)
|
|
|
|
|
|
|
+ //1.根据用户id获取用户数据
|
|
|
|
|
+ val sysUserDos = userRepository.getUserInfosByUserIds(userIds)
|
|
|
|
|
+ //2.获取所有区域信息和绑定信息
|
|
|
|
|
+ val workstationDos = hardwareDao.getAllWorkstation()
|
|
|
|
|
+ val userWorkstationDos = hardwareDao.getAllUserWorkstations()
|
|
|
|
|
+ //3.获取所有角色信息和用户角色关联信息
|
|
|
|
|
+ val roleDos = roleDao.getAllRole()
|
|
|
|
|
+ val userRoleDos = roleDao.getAllUserRoles()
|
|
|
|
|
+ //4.获取所有卡片数据
|
|
|
|
|
+ val jobCardDos = hardwareDao.getAllJobCard()
|
|
|
|
|
+ //5.根据作业票id获取用户数据
|
|
|
|
|
+ val jobTicketUsers = jobTicketRepository.getJobTicketUsersByTicketId(ticketId)
|
|
|
|
|
+ val needJobTicketUser =
|
|
|
|
|
+ jobTicketUsers.filter { it.userId in userIds && it.userRole == userRole }
|
|
|
|
|
+ //6.根据作业票id获取分组数据
|
|
|
|
|
+ val jobTicketGroups = jobTicketRepository.getJobTicketGroupsByTicketId(ticketId)
|
|
|
|
|
+ val userManageVos = BeanUtils.copyList(sysUserDos, JobUserVo::class.java)
|
|
|
|
|
+ userManageVos.forEach { user ->
|
|
|
|
|
+ val userRoles = roleDos.filter {
|
|
|
|
|
+ it.roleId in userRoleDos.filter { it.userId == user.userId }.map { it.roleId }
|
|
|
|
|
+ }
|
|
|
|
|
+ user.roleKeys = userRoles.map { it.roleKey }
|
|
|
|
|
+ user.roleIds = userRoles.map { it.roleId }
|
|
|
|
|
+ user.roleNames = userRoles.map { it.roleName }
|
|
|
|
|
+ val userWorkstations = workstationDos.filter {
|
|
|
|
|
+ it.workstationId in userWorkstationDos.filter { it.userId == user.userId }
|
|
|
|
|
+ .map { it.workstationId }
|
|
|
|
|
+ }
|
|
|
|
|
+ user.workstationIds = userWorkstations.map { it.workstationId }
|
|
|
|
|
+ user.workstationNames = userWorkstations.map { it.workstationName }
|
|
|
|
|
+ user.cardCodes = jobCardDos.filter { it.userId == user.userId }.map { it.cardCode }
|
|
|
|
|
+ user.groupId = needJobTicketUser.find { it.userId == user.userId }?.groupId ?: 0
|
|
|
|
|
+ user.groupName = jobTicketGroups.find { it.id == user.groupId }?.groupName ?: ""
|
|
|
|
|
+ }
|
|
|
|
|
+ return userManageVos
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun getAllUserDataWithWorkstation(workstationId: Long): List<UserManageVo> {
|
|
override fun getAllUserDataWithWorkstation(workstationId: Long): List<UserManageVo> {
|
|
|
- return userDao.getAllUserDataWithWorkstationId(workstationId)
|
|
|
|
|
|
|
+ //1.根据分页获取用户信息
|
|
|
|
|
+ val sysUserDos = userRepository.getAllUserInfos()
|
|
|
|
|
+ //2.获取所有区域信息和绑定信息
|
|
|
|
|
+ val workstationDos = hardwareDao.getAllWorkstation()
|
|
|
|
|
+ val userWorkstationDos = hardwareDao.getAllUserWorkstations()
|
|
|
|
|
+ //3.获取所有角色信息和用户角色关联信息
|
|
|
|
|
+ val roleDos = roleDao.getAllRole()
|
|
|
|
|
+ val userRoleDos = roleDao.getAllUserRoles()
|
|
|
|
|
+ //4.获取所有卡片数据
|
|
|
|
|
+ val jobCardDos = hardwareDao.getAllJobCard()
|
|
|
|
|
+ val userManageVos = BeanUtils.copyList(sysUserDos, UserManageVo::class.java)
|
|
|
|
|
+ userManageVos.forEach { user ->
|
|
|
|
|
+ val userRoles = roleDos.filter {
|
|
|
|
|
+ it.roleId in userRoleDos.filter { it.userId == user.userId }.map { it.roleId }
|
|
|
|
|
+ }
|
|
|
|
|
+ user.roleKeys = userRoles.map { it.roleKey }
|
|
|
|
|
+ user.roleIds = userRoles.map { it.roleId }
|
|
|
|
|
+ user.roleNames = userRoles.map { it.roleName }
|
|
|
|
|
+ val userWorkstations = workstationDos.filter {
|
|
|
|
|
+ it.workstationId in userWorkstationDos.filter { it.userId == user.userId }
|
|
|
|
|
+ .map { it.workstationId }
|
|
|
|
|
+ }
|
|
|
|
|
+ user.workstationIds = userWorkstations.map { it.workstationId }
|
|
|
|
|
+ user.workstationNames = userWorkstations.map { it.workstationName }
|
|
|
|
|
+ user.cardCodes = jobCardDos.filter { it.userId == user.userId }.map { it.cardCode }
|
|
|
|
|
+ }
|
|
|
|
|
+ return userManageVos.filter { it.workstationIds.contains(workstationId) }
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun addUserData(addUserDataVo: AddUserDataVo): Long {
|
|
override fun addUserData(addUserDataVo: AddUserDataVo): Long {
|
|
@@ -295,11 +402,11 @@ class UserLogic @Inject constructor(
|
|
|
sysUserDo.nickName = addUserDataVo.nickname
|
|
sysUserDo.nickName = addUserDataVo.nickname
|
|
|
sysUserDo.status = if (addUserDataVo.status) "0" else "2"
|
|
sysUserDo.status = if (addUserDataVo.status) "0" else "2"
|
|
|
sysUserDo.delFlag = "0"
|
|
sysUserDo.delFlag = "0"
|
|
|
- return userDao.insert(sysUserDo)
|
|
|
|
|
|
|
+ return userRepository.insert(sysUserDo)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- override fun getUserByUserName(username: String): List<SysUserDo> {
|
|
|
|
|
- return userDao.getUsersByUsername(username)
|
|
|
|
|
|
|
+ override fun getUserByUserName(username: String): SysUserDo? {
|
|
|
|
|
+ return userRepository.getUserInfoByUsername(username)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun updateUserData(userDataVo: UpdateUserDataVo) {
|
|
override fun updateUserData(userDataVo: UpdateUserDataVo) {
|
|
@@ -309,20 +416,20 @@ class UserLogic @Inject constructor(
|
|
|
sysUserDo.nickName = userDataVo.nickname
|
|
sysUserDo.nickName = userDataVo.nickname
|
|
|
sysUserDo.status = if (userDataVo.status) "0" else "2"
|
|
sysUserDo.status = if (userDataVo.status) "0" else "2"
|
|
|
sysUserDo.delFlag = "0"
|
|
sysUserDo.delFlag = "0"
|
|
|
- userDao.updateUserData(sysUserDo)
|
|
|
|
|
|
|
+ userRepository.updateUserData(sysUserDo)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun updateUser(sysUserDo: SysUserDo) {
|
|
override fun updateUser(sysUserDo: SysUserDo) {
|
|
|
- userDao.updateUserData(sysUserDo)
|
|
|
|
|
|
|
+ userRepository.updateUserData(sysUserDo)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun deleteUserById(userIds: List<Long>) {
|
|
override fun deleteUserById(userIds: List<Long>) {
|
|
|
- userDao.deleteUserByIds(userIds)
|
|
|
|
|
|
|
+ userRepository.deleteUserByIds(userIds)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun removeAdminUser() {
|
|
override fun removeAdminUser() {
|
|
|
- val adminUserIds = userDao.getUsersByRoleKey(RoleEnum.ADMIN.roleKey)
|
|
|
|
|
- userDao.deleteUserByIds(adminUserIds)
|
|
|
|
|
|
|
+ val adminUserIds = userRepository.getUserIdsByRoleKey(RoleEnum.ADMIN.roleKey)
|
|
|
|
|
+ userRepository.deleteUserByIds(adminUserIds)
|
|
|
roleDao.deleteUserRoleByUserIds(adminUserIds)
|
|
roleDao.deleteUserRoleByUserIds(adminUserIds)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -332,7 +439,7 @@ class UserLogic @Inject constructor(
|
|
|
sysUserDo.nickName = "管理员"
|
|
sysUserDo.nickName = "管理员"
|
|
|
sysUserDo.password = BCryptUtils.encryptPassword(password)
|
|
sysUserDo.password = BCryptUtils.encryptPassword(password)
|
|
|
sysUserDo.status = "0"
|
|
sysUserDo.status = "0"
|
|
|
- val userId = userDao.insert(sysUserDo)
|
|
|
|
|
|
|
+ val userId = userRepository.insert(sysUserDo)
|
|
|
val roleId = roleDao.getRoleDataByRoleKey(RoleEnum.ADMIN.roleKey)
|
|
val roleId = roleDao.getRoleDataByRoleKey(RoleEnum.ADMIN.roleKey)
|
|
|
val userRole = SysUserRole()
|
|
val userRole = SysUserRole()
|
|
|
userRole.userId = userId
|
|
userRole.userId = userId
|
|
@@ -341,59 +448,76 @@ class UserLogic @Inject constructor(
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun getAllUsers(): List<SysUserDo> {
|
|
override fun getAllUsers(): List<SysUserDo> {
|
|
|
- return userDao.getAllUsers()
|
|
|
|
|
|
|
+ return userRepository.getAllUserInfos()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun getAllUsersWithRole(): List<SysUserVo> {
|
|
override fun getAllUsersWithRole(): List<SysUserVo> {
|
|
|
- return userDao.getAllUsersWithRole()
|
|
|
|
|
|
|
+ val sysUserDos = userRepository.getAllUserInfos()
|
|
|
|
|
+ val roleDatas = roleDao.getAllRole()
|
|
|
|
|
+ val userRoleDatas = roleDao.getAllUserRoles()
|
|
|
|
|
+ val userVos = BeanUtils.copyList(sysUserDos, SysUserVo::class.java)
|
|
|
|
|
+ userVos.forEach { user ->
|
|
|
|
|
+ val userRoles = roleDatas.filter {
|
|
|
|
|
+ it.roleId in userRoleDatas.filter { it.userId == user.userId }.map { it.roleId }
|
|
|
|
|
+ }
|
|
|
|
|
+ user.roleKeys = userRoles.map { it.roleKey }
|
|
|
|
|
+ }
|
|
|
|
|
+ return userVos
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun getFingerprintDataByUserId(userId: Long?): MutableList<SysBiometricDataVo> {
|
|
override fun getFingerprintDataByUserId(userId: Long?): MutableList<SysBiometricDataVo> {
|
|
|
if (userId == null) {
|
|
if (userId == null) {
|
|
|
return mutableListOf()
|
|
return mutableListOf()
|
|
|
}
|
|
}
|
|
|
- return userDao.getFingerprintDataByUserId(userId).toMutableList()
|
|
|
|
|
|
|
+ val sysUserCharacteristicDos = userRepository.getFingerprintDataByUserId(userId)
|
|
|
|
|
+ val userBiometricDataVo =
|
|
|
|
|
+ BeanUtils.copyList(sysUserCharacteristicDos, SysBiometricDataVo::class.java)
|
|
|
|
|
+ return userBiometricDataVo.toMutableList()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun getFaceDataByUserId(userId: Long?): MutableList<SysBiometricDataVo> {
|
|
override fun getFaceDataByUserId(userId: Long?): MutableList<SysBiometricDataVo> {
|
|
|
if (userId == null) {
|
|
if (userId == null) {
|
|
|
return mutableListOf()
|
|
return mutableListOf()
|
|
|
}
|
|
}
|
|
|
- return userDao.getFaceDataByUserId(userId).toMutableList()
|
|
|
|
|
|
|
+ val sysUserCharacteristicDos = userRepository.getFaceDataByUserId(userId)
|
|
|
|
|
+ val userBiometricDataVo =
|
|
|
|
|
+ BeanUtils.copyList(sysUserCharacteristicDos, SysBiometricDataVo::class.java)
|
|
|
|
|
+ return userBiometricDataVo.toMutableList()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun deleteFingerprintByIds(fingerprintIds: List<Long>) {
|
|
override fun deleteFingerprintByIds(fingerprintIds: List<Long>) {
|
|
|
- userDao.deleteFingerprintByIds(fingerprintIds)
|
|
|
|
|
|
|
+ userRepository.deleteFingerprintByIds(fingerprintIds)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun saveUserCharacteristic(sysUserCharacteristicDo: SysUserCharacteristicDo): Long {
|
|
override fun saveUserCharacteristic(sysUserCharacteristicDo: SysUserCharacteristicDo): Long {
|
|
|
- return userDao.saveUserCharacteristic(sysUserCharacteristicDo)
|
|
|
|
|
|
|
+ return userRepository.saveUserCharacteristic(sysUserCharacteristicDo)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun deleteFaceDataByUserId(userId: Long) {
|
|
override fun deleteFaceDataByUserId(userId: Long) {
|
|
|
- userDao.getFaceDataByUserId(userId).forEach {
|
|
|
|
|
- it.content.deleteIfExists()
|
|
|
|
|
- }
|
|
|
|
|
- userDao.deleteFaceDataByUserId(userId)
|
|
|
|
|
|
|
+ userRepository.deleteFaceDataByUserId(userId)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun getUserBiometricDataByUserIds(userIds: List<Long>): List<SysBiometricDataVo> {
|
|
override fun getUserBiometricDataByUserIds(userIds: List<Long>): List<SysBiometricDataVo> {
|
|
|
- return userDao.getUserBiometricDataByUserIds(userIds)
|
|
|
|
|
|
|
+ val sysUserCharacteristicDos = userRepository.getSysUserCharacteristicDosByUserIds(userIds)
|
|
|
|
|
+ return BeanUtils.copyList(sysUserCharacteristicDos, SysBiometricDataVo::class.java)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun getAllFaceData(): List<SysUserCharacteristicDo> {
|
|
override fun getAllFaceData(): List<SysUserCharacteristicDo> {
|
|
|
- return userDao.getFaceData()
|
|
|
|
|
|
|
+ return userRepository.getFaceData()
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
override fun loginWithUserId(userId: Long?): LoginResultEnum {
|
|
override fun loginWithUserId(userId: Long?): LoginResultEnum {
|
|
|
return if (userId != null) {
|
|
return if (userId != null) {
|
|
|
- val sysUserDo = userDao.getUserInfoByUserId(userId.toString())
|
|
|
|
|
|
|
+ val sysUserDo = userRepository.getUserInfoByUserId(userId)
|
|
|
if (sysUserDo != null) {
|
|
if (sysUserDo != null) {
|
|
|
MainDomainData.userInfo = sysUserDo
|
|
MainDomainData.userInfo = sysUserDo
|
|
|
val userCardList = hardwareDao.getIsJobCardByUserId(sysUserDo.userId)
|
|
val userCardList = hardwareDao.getIsJobCardByUserId(sysUserDo.userId)
|
|
|
val roleDatas = roleDao.getRoleDataByUserId(sysUserDo.userId)
|
|
val roleDatas = roleDao.getRoleDataByUserId(sysUserDo.userId)
|
|
|
- val userBiometricDataVo = userDao.getUserBiometricData(sysUserDo.userId)
|
|
|
|
|
- MainDomainData.userBiometricDataVo = userBiometricDataVo
|
|
|
|
|
|
|
+ val sysUserCharacteristicDos =
|
|
|
|
|
+ userRepository.getSysUserCharacteristicDo(sysUserDo.userId)
|
|
|
|
|
+ val userBiometricDataVo =
|
|
|
|
|
+ BeanUtils.copyList(sysUserCharacteristicDos, SysBiometricDataVo::class.java)
|
|
|
|
|
+ MainDomainData.userBiometricDataVo = userBiometricDataVo.toMutableList()
|
|
|
MainDomainData.userCardList = userCardList
|
|
MainDomainData.userCardList = userCardList
|
|
|
MainDomainData.roleKeys = roleDatas.joinToString(",") { it.roleKey }
|
|
MainDomainData.roleKeys = roleDatas.joinToString(",") { it.roleKey }
|
|
|
MainDomainData.permissions =
|
|
MainDomainData.permissions =
|