package cn.flightfeather.supervision.domain.repository
|
|
import cn.flightfeather.supervision.domain.entity.BaseInfo
|
import cn.flightfeather.supervision.domain.entity.UserConfig
|
import cn.flightfeather.supervision.domain.entity.Userinfo
|
import cn.flightfeather.supervision.domain.mapper.BaseInfoMapper
|
import cn.flightfeather.supervision.domain.mapper.UserConfigMapper
|
import cn.flightfeather.supervision.domain.mapper.UserinfoMapper
|
import org.springframework.stereotype.Repository
|
import tk.mybatis.mapper.entity.Example
|
|
@Repository
|
class UserConfigRep(
|
private val userConfigMapper: UserConfigMapper,
|
private val userinfoMapper: UserinfoMapper,
|
private val baseInfoMapper: BaseInfoMapper,
|
) {
|
|
fun select(configId: Int): UserConfig? {
|
return userConfigMapper.selectByPrimaryKey(configId)
|
}
|
|
/**
|
* 获取用户对应的用户配置信息
|
* 针对企业用户
|
*/
|
fun getUserConfig(userInfo: Userinfo, baseInfo: BaseInfo?): List<UserConfig?> {
|
val res = userConfigMapper.selectByExample(Example(UserConfig::class.java).apply {
|
createCriteria().andEqualTo("ucUserTypeId", userInfo.usertypeid)
|
userInfo.userSubTypeId?.let {
|
and(createCriteria().orEqualTo("ucUserSubtypeId", it)
|
.orIsNull("ucUserSubtypeId"))
|
}
|
userInfo.extension1?.let {
|
and(createCriteria().orEqualTo("ucDistrictName", it)
|
.orIsNull("ucDistrictName"))
|
}
|
userInfo.extension2?.let {
|
and(createCriteria().orEqualTo("ucSceneRange", it)
|
.orIsNull("ucSceneRange"))
|
}
|
baseInfo?.biProvinceCode?.let {
|
and(createCriteria().orEqualTo("ucProvinceCode", it)
|
.orIsNull("ucProvinceCode"))
|
}
|
baseInfo?.biCityCode?.let {
|
and(createCriteria().orEqualTo("ucCityCode", it)
|
.orIsNull("ucCityCode"))
|
}
|
baseInfo?.biDistrictCode?.let {
|
and(createCriteria().orEqualTo("ucDistrictCode", it)
|
.orIsNull("ucDistrictCode"))
|
}
|
baseInfo?.biTownCode?.let {
|
and(createCriteria().orEqualTo("ucTownCode", it)
|
.orIsNull("ucTownCode"))
|
}
|
baseInfo?.biAreaCode?.let {
|
and(createCriteria().orEqualTo("ucAreaCode", it)
|
.orIsNull("ucAreaCode"))
|
}
|
baseInfo?.biManagementCompanyId?.let {
|
and(createCriteria().orEqualTo("ucManagementCompanyId", it)
|
.orIsNull("ucManagementCompanyId"))
|
}
|
})
|
// return if (res.isNotEmpty()) res[0] else null
|
return res
|
}
|
|
fun getUserConfig(userId: String): List<UserConfig?> {
|
val userInfo = userinfoMapper.selectByPrimaryKey(userId) ?: return emptyList()
|
val baseInfo = baseInfoMapper.selectByPrimaryKey(userId)
|
return getUserConfig(userInfo, baseInfo)
|
}
|
|
fun getUserConfigBySubType(userId: String): UserConfig? {
|
val configId = userinfoMapper.selectByPrimaryKey(userId)?.userSubTypeId ?: return null
|
return userConfigMapper.selectByPrimaryKey(configId)
|
}
|
|
}
|