package cn.flightfeather.supervision.domain.repository
|
|
import cn.flightfeather.supervision.domain.entity.UserLoginLog
|
import cn.flightfeather.supervision.domain.entity.Userinfo
|
import cn.flightfeather.supervision.domain.enumeration.UserType
|
import cn.flightfeather.supervision.domain.mapper.BaseInfoMapper
|
import cn.flightfeather.supervision.domain.mapper.UserLoginLogMapper
|
import cn.flightfeather.supervision.domain.mapper.UserinfoMapper
|
import cn.flightfeather.supervision.lightshare.vo.BaseResponse
|
import cn.flightfeather.supervision.lightshare.vo.UserSearchCondition
|
import org.springframework.stereotype.Repository
|
import tk.mybatis.mapper.entity.Example
|
import java.util.*
|
|
@Repository
|
class UserInfoRep(
|
private val userinfoMapper: UserinfoMapper,
|
private val baseInfoMapper: BaseInfoMapper,
|
private val userLoginLogMapper: UserLoginLogMapper,
|
) {
|
|
/**
|
* 搜索用户
|
*/
|
fun searchUser(condition: UserSearchCondition): List<Userinfo> {
|
return userinfoMapper.searchUser(condition)
|
}
|
|
/**
|
* 登录日志记录
|
*/
|
fun loginLog(userId: String?) {
|
userId?.let {
|
userLoginLogMapper.insert(UserLoginLog().apply {
|
ulUserGuid = userId
|
ulLoginTime = Date()
|
})
|
}
|
}
|
|
/**
|
* 初始密码未修改的活跃中的企业用户
|
*/
|
fun pdUnChangeUsers(): List<Userinfo?> {
|
return userinfoMapper.selectByExample(Example(Userinfo::class.java).apply {
|
createCriteria().andEqualTo("usertypeid", UserType.Enterprise.value)
|
.andEqualTo("isenable", true)
|
and(createCriteria().orIsNull("remark").orNotEqualTo("remark", "pwChanged"))
|
and(createCriteria().orIsNull("workno").orNotEqualTo("workno", "test"))
|
})
|
}
|
|
/**
|
* 检查用户信息是否重复
|
*/
|
fun checkIsRepeat(userinfo: Userinfo): Pair<Boolean, String> {
|
userinfoMapper.selectByPrimaryKey(userinfo.guid)?.run { return Pair(true, "用户id已存在") }
|
userinfoMapper.selectByExample(Example(Userinfo::class.java).apply {
|
createCriteria().andEqualTo("acountname", userinfo.acountname)
|
}).run { if (isNotEmpty()) return Pair(true, "用户账户已存在") }
|
userinfoMapper.selectByExample(Example(Userinfo::class.java).apply {
|
createCriteria().andEqualTo("realname", userinfo.realname)
|
}).run { if (isNotEmpty()) return Pair(true, "用户昵称已存在") }
|
return Pair(false, "用户未重复")
|
}
|
|
fun getUser(userId: String): Userinfo? {
|
return userinfoMapper.selectByPrimaryKey(userId)
|
}
|
}
|