From 7cbe1610b87da19ed8a146a09b1117f92d9d3d98 Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期五, 19 九月 2025 17:30:37 +0800 Subject: [PATCH] 2025.9.19 1. 联合前端调试数据产品接口(待完成) --- src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/UserinfoServiceImpl.kt | 78 ++++++++++++++++++++++++++------------- 1 files changed, 52 insertions(+), 26 deletions(-) diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/UserinfoServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/UserinfoServiceImpl.kt index cb21ee7..49b9890 100644 --- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/UserinfoServiceImpl.kt +++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/UserinfoServiceImpl.kt @@ -1,5 +1,6 @@ package cn.flightfeather.supervision.lightshare.service.impl +import cn.flightfeather.supervision.common.utils.Constant import cn.flightfeather.supervision.common.utils.PinYin import cn.flightfeather.supervision.common.utils.UUIDGenerator import cn.flightfeather.supervision.domain.ds1.entity.Scense @@ -9,9 +10,13 @@ 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.entity.UserinfoTZ import cn.flightfeather.supervision.domain.ds2.repository.UserInfoTZRep import cn.flightfeather.supervision.lightshare.service.UserinfoService import cn.flightfeather.supervision.lightshare.vo.AreaVo +import cn.flightfeather.supervision.lightshare.vo.DataHead +import com.github.pagehelper.PageHelper +import org.springframework.beans.BeanUtils import org.springframework.stereotype.Service import tk.mybatis.mapper.entity.Example import kotlin.random.Random @@ -21,6 +26,8 @@ class UserinfoServiceImpl( val userinfoMapper: UserinfoMapper, private val scenseMapper: ScenseMapper, + private val userInfoSVRep: UserInfoSVRep, + private val userInfoTZRep: UserInfoTZRep, ) : UserinfoService { //鏍规嵁userinfo鏉′欢鏌ヨ @@ -40,9 +47,12 @@ } } - override fun findByType(typeId: Byte): List<Userinfo> { + override fun findByType(typeId: Byte, enable: Boolean?): List<Userinfo> { val result = userinfoMapper.selectByExample(Example(Userinfo::class.java).apply { createCriteria().andEqualTo("usertypeid", typeId) + .apply { + enable?.let { andEqualTo("isenable", it) } + } }) return result @@ -64,30 +74,19 @@ override fun delete(id: String): Int = userinfoMapper.deleteByPrimaryKey(id) + override fun search(areaVo: AreaVo, keyword: String, userType: Int?, page: Int?, perPage: Int?) + : Pair<DataHead, List<Userinfo?>> { + val p = PageHelper.startPage<Userinfo>(page ?: 1, perPage ?: 30) + val result = userInfoSVRep.searchUser(areaVo, keyword.trim(), Constant.UserType.fromValue(userType)) + result.forEach { it?.password = null } + return DataHead(p.pageNum, p.pages, p.total) to result + } + override fun createAccount(sceneId: String): Userinfo { findByScene(sceneId)?.let { return it } scenseMapper.selectByPrimaryKey(sceneId)?.let { - val sceneName = it.name ?: return Userinfo() - val uName = getUName(sceneName) - - val userInfo = Userinfo().apply { - guid = UUIDGenerator.generate16ShortUUID() - acountname = uName - realname = sceneName - password = "123456" - usertypeid = 3 - usertype = "浼佷笟" - dGuid = it.guid - departmentname = sceneName - isenable = true - remark = it.districtname - } - - val r = userinfoMapper.insert(userInfo) - if (r == 1) { - return userInfo - } + createAccount(it) } return Userinfo() } @@ -99,7 +98,7 @@ return null } - private fun getUName(sceneName: String): String { + override fun getUName(sceneName: String): String { var uName = PinYin.getPinYinHeader(sceneName) var suffix = "" var repeated: Boolean @@ -126,11 +125,14 @@ } } - private fun createAccount(scence: Scense) { + override fun createAccount(scence: Scense):Userinfo { scence.let { - val sceneName = it.name ?: return - val uName = getUName(sceneName) + // 鍒ゆ柇璇ュ満鏅槸鍚﹀凡鏈夊搴旇处鎴� + val user = userInfoSVRep.findUser(it.guid) + if (user != null) return user + val sceneName = it.name ?: return Userinfo() + val uName = getUName(sceneName) val userInfo = Userinfo().apply { guid = UUIDGenerator.generate16ShortUUID() acountname = uName @@ -146,8 +148,32 @@ val r = userinfoMapper.insert(userInfo) if (r == 1) { - println("${userInfo.guid}--${userInfo.acountname}--${userInfo.realname}") + return userInfo + } else { + return Userinfo() } } } + + override fun createAccountTZ(userinfo: Userinfo, scence: Scense): UserinfoTZ { + val userinfoTZ = UserinfoTZ() + BeanUtils.copyProperties(userinfo, userinfoTZ) + // 浣跨敤鏂扮殑id + userinfoTZ.guid = UUIDGenerator.generate16ShortUUID() + // 娣诲姞鍖哄幙鎻忚堪 + // FIXME: 2024/4/23 鐩墠鍦˙aseInfo鍩虹淇℃伅涓凡瀛樺偍瀹屾暣鐨勮鏀垮尯鍒掞紝鍚庣画搴斿皢姝ゅ璁板綍鍘婚櫎 + userinfoTZ.extension1 = userinfoTZ.remark + userinfoTZ.remark = null + // 鍦烘櫙绫诲瀷杞崲 + userinfoTZ.extension2 = Constant.SceneType.typeMap(scence.typeid)?.toString() + // 鏍规嵁acountname鍜宺ealname杩涜閲嶅鍒ゆ柇 + userInfoTZRep.findOne(UserinfoTZ().apply { + acountname = userinfoTZ.acountname + realname = userinfoTZ.realname + }).takeIf { it == null }.run { + // 褰撴病鏈夋煡璇㈢粨鏋滄椂锛屾彃鍏ユ柊璐︽埛淇℃伅 + userInfoTZRep.insert(userinfoTZ) + } + return userinfoTZ + } } \ No newline at end of file -- Gitblit v1.9.3