feiyu02
2024-01-10 30a53b41f09d2eefd33513a409d472c2166ba1ea
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/UserinfoServiceImpl.kt
@@ -6,12 +6,22 @@
import cn.flightfeather.supervision.domain.ds1.entity.Userinfo
import cn.flightfeather.supervision.domain.ds1.mapper.ScenseMapper
import cn.flightfeather.supervision.domain.ds1.mapper.UserinfoMapper
import cn.flightfeather.supervision.domain.ds1.repository.SceneRep
import cn.flightfeather.supervision.domain.ds1.repository.TaskRep
import cn.flightfeather.supervision.domain.ds1.repository.UserInfoSVRep
import cn.flightfeather.supervision.domain.ds2.repository.UserInfoTZRep
import cn.flightfeather.supervision.lightshare.service.UserinfoService
import cn.flightfeather.supervision.lightshare.vo.AreaVo
import org.springframework.stereotype.Service
import tk.mybatis.mapper.entity.Example
import kotlin.random.Random
import kotlin.random.nextInt
@Service
class UserinfoServiceImpl(val userinfoMapper: UserinfoMapper, private val scenseMapper: ScenseMapper) : UserinfoService {
class UserinfoServiceImpl(
    val userinfoMapper: UserinfoMapper,
    private val scenseMapper: ScenseMapper,
) : UserinfoService {
    //根据userinfo条件查询
    override fun findOneByName(userinfo: Userinfo): Userinfo? {
@@ -91,21 +101,22 @@
    private fun getUName(sceneName: String): String {
        var uName = PinYin.getPinYinHeader(sceneName)
        var repeated = false
        var suffix = ""
        var repeated: Boolean
        var i = 1
        do {
            userinfoMapper.selectByExample(Example(Userinfo::class.java).apply {
                createCriteria().andEqualTo("acountname", uName)
                createCriteria().andEqualTo("acountname", uName + suffix)
            }).let {
                repeated = it.isNotEmpty()
                if (repeated) {
                    uName += i
                    suffix = Random.nextInt(100..999).toString()
                }
            }
            i++
        } while (repeated && i < 20)
        if (repeated) uName = UUIDGenerator.generateShortUUID()
        return uName
        return uName + suffix
    }
    override fun autoCreateAccount() {
@@ -115,8 +126,8 @@
        }
    }
    private fun createAccount(sence: Scense) {
        sence.let {
    private fun createAccount(scence: Scense) {
        scence.let {
            val sceneName = it.name ?: return
            val uName = getUName(sceneName)