From 1a677d2b4a4bc615602f8c2a22bc07ec1356e5be Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 16 十月 2025 17:39:06 +0800
Subject: [PATCH] 2025.10.16 1. 根据全局响应增强器GlobalResponseAdvice,将原先的BaseResPack接口包装函数统一去除; 2. 新增三种类型的数据产品数据库实体 3. 新增典型问题场景清单中间数据产品接口
---
src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/UserinfoServiceImpl.kt | 80 ++++++++++++++++++++++++++--------------
1 files changed, 52 insertions(+), 28 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..4436197 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,17 +1,20 @@
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
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.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 +24,8 @@
class UserinfoServiceImpl(
val userinfoMapper: UserinfoMapper,
private val scenseMapper: ScenseMapper,
+ private val userInfoSVRep: UserInfoSVRep,
+ private val userInfoTZRep: UserInfoTZRep,
) : UserinfoService {
//鏍规嵁userinfo鏉′欢鏌ヨ
@@ -40,9 +45,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 +72,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 +96,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 +123,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 +146,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