From 23bd719cebe5feeff4e48fde925b0b39755eea93 Mon Sep 17 00:00:00 2001 From: feiyu02 <risaku@163.com> Date: 星期二, 15 十一月 2022 10:59:50 +0800 Subject: [PATCH] 2022.11.15 --- src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/UserinfoServiceImpl.kt | 114 +++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 99 insertions(+), 15 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 21c3102..c371dc0 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,7 @@ package cn.flightfeather.supervision.lightshare.service.Impl +import cn.flightfeather.supervision.domain.entity.BaseInfo +import cn.flightfeather.supervision.domain.entity.Company import cn.flightfeather.supervision.domain.entity.Userinfo import cn.flightfeather.supervision.domain.enumeration.SceneType import cn.flightfeather.supervision.domain.mapper.* @@ -12,15 +14,20 @@ import org.springframework.stereotype.Service import org.springframework.web.multipart.MultipartFile import tk.mybatis.mapper.entity.Example +import java.math.BigDecimal +import java.util.* import javax.servlet.http.HttpServletResponse @Service class UserinfoServiceImpl( - val userinfoMapper: UserinfoMapper, - val baseInfoMapper: BaseInfoMapper, - val companyMapper: CompanyMapper, - val restaurantBaseInfoMapper: RestaurantBaseInfoMapper, - val vehicleBaseInfoMapper: VehicleBaseInfoMapper + val userinfoMapper: UserinfoMapper, + val baseInfoMapper: BaseInfoMapper, + val companyMapper: CompanyMapper, + val restaurantBaseInfoMapper: RestaurantBaseInfoMapper, + val vehicleBaseInfoMapper: VehicleBaseInfoMapper, + val userMapMapper: UserMapMapper, + val personalInfoMapper: PersonalInfoMapper, + val userInfoWxMapper: UserInfoWxMapper ) : UserinfoService { //鏍规嵁userinfo鏉′欢鏌ヨ @@ -36,7 +43,13 @@ } } - override fun findOne(id: String): Userinfo = userinfoMapper.selectByPrimaryKey(id) + override fun findOne(id: String): Userinfo { + val userInfo = userinfoMapper.selectByPrimaryKey(id) + userMapMapper.selectByPrimaryKey(id)?.let { + userInfo?.extension3 = it.svUserId + } + return userInfo ?: Userinfo() + } override fun findAll(): MutableList<Userinfo> = userinfoMapper.selectAll() @@ -47,6 +60,7 @@ override fun delete(id: String): Int = userinfoMapper.deleteByPrimaryKey(id) override fun login(loginRequestVo: LoginRequestVo): AccessToken { + if (loginRequestVo.userName.isNullOrEmpty() || loginRequestVo.password.isNullOrEmpty()) return AccessToken() val example = Example(Userinfo::class.java) val criteria = example.createCriteria() criteria.andEqualTo("acountname", loginRequestVo.userName) @@ -55,6 +69,8 @@ return AccessToken().apply { if (result.isNotEmpty()) { userId = result[0].guid + val sUser = userMapMapper.selectByPrimaryKey(userId) + sUserId = sUser?.svUserId success = true } else { success = false @@ -80,6 +96,55 @@ isenable = true } save(userInfo) + return AccessToken().apply { + userId = userInfo.guid + success = true + } + } + } + + override fun register2(loginRequestVo: LoginRequestVo): AccessToken { + val result = userinfoMapper.selectByExample(Example(Userinfo::class.java).apply { + createCriteria().andEqualTo("realname", loginRequestVo.userName) + }) + if (result.isNotEmpty()) { + return AccessToken().apply { success = false } + } else { + val userInfo = Userinfo().apply { + guid = UUIDGenerator.generate16ShortUUID() + acountname = loginRequestVo.userName + realname = loginRequestVo.userName + password = loginRequestVo.password + usertypeid = 3 + usertype = "浼佷笟" + isenable = true + extension2 = loginRequestVo.sceneType + } + val company = Company().apply { + ciGuid = UUIDGenerator.generate16ShortUUID() + ciName = loginRequestVo.department + ciAddress = loginRequestVo.address + ciLongitude = BigDecimal.ZERO + ciLatitude = BigDecimal.ZERO + ciOrgCode = loginRequestVo.orgCode + ciBuildDate = Date() + ciTelephone = loginRequestVo.telephone + } + val baseInfo = BaseInfo().apply { + biGuid = userInfo.guid + biName = userInfo.realname + ciGuid = company.ciGuid + ciName = company.ciName + biTelephone = loginRequestVo.telephone + biAddress + biCreateTime = Date() + biUpdateTime = Date() + biExtension1 = userInfo.acountname + } + save(userInfo) + baseInfoMapper.insert(baseInfo) + companyMapper.insert(company) + return AccessToken().apply { userId = userInfo.guid success = true @@ -123,7 +188,7 @@ val path = "accounts/$userId/" try { //璋冪敤鏂囦欢淇濆瓨鏂规硶 - FileUtil().uploadFile(file.bytes, basePath + path, fileName!!) + FileUtil.uploadFile(file.bytes, basePath + path, fileName!!) } catch (e: Exception) { e.printStackTrace() } @@ -139,16 +204,21 @@ } } - override fun changePassword(userId: String, oldPassword: String, newPassword: String): Int { + override fun changePassword(userId: String, oldPassword: String, newPassword: String): BaseResponse<String> { + if (newPassword.trim() == "") return BaseResponse(false, "鏂板瘑鐮佷笉鑳戒负绌�") + if (oldPassword == newPassword) return BaseResponse(false, "鏂板瘑鐮佷笉鑳藉拰鍘熷瘑鐮佺浉鍚�") + val userInfo = findOne(userId) return if (oldPassword != userInfo.password) { - 0 + BaseResponse(false, "鍘熷瘑鐮侀敊璇�") } else { val newUserInfo = Userinfo().apply { guid = userInfo.guid password = newPassword + remark = "pwChanged" } update(newUserInfo) + BaseResponse(true, "瀵嗙爜淇敼鎴愬姛") } } @@ -182,19 +252,33 @@ return result } - override fun getBaseInfo(userId: String): UserBaseInfo { + override fun getBaseInfo(userId: String, wxUserId: String?): UserBaseInfo { val userInfo = userinfoMapper.selectByPrimaryKey(userId) ?: return UserBaseInfo(userId) - val baseInfo = baseInfoMapper.selectByPrimaryKey(userId) ?: return UserBaseInfo(userId) + val baseInfo = baseInfoMapper.selectByPrimaryKey(userId) + val wxUser = if (wxUserId != null) userInfoWxMapper.selectByPrimaryKey(wxUserId) else null val mapper = when (userInfo.extension2) { SceneType.Restaurant.value.toString() -> restaurantBaseInfoMapper SceneType.VehicleRepair.value.toString() -> vehicleBaseInfoMapper - else -> restaurantBaseInfoMapper + else -> null } - val specialInfo = mapper.selectByPrimaryKey(baseInfo.biGuid) - val companyInfo = companyMapper.selectByPrimaryKey(baseInfo.ciGuid) + val specialInfo = mapper?.selectByPrimaryKey(baseInfo?.biGuid) + val companyInfo = companyMapper.selectByPrimaryKey(if (baseInfo?.ciGuid != null) baseInfo.ciGuid else wxUser?.ciGuid) + val personalInfo = personalInfoMapper.selectByPrimaryKey(wxUser?.piGuid) - return UserBaseInfo(userId, userInfo.realname, baseInfo, companyInfo, specialInfo) + return UserBaseInfo(userId, userInfo.realname, baseInfo, companyInfo, specialInfo, personalInfo) + } + + override fun search(district: String?, sceneType: Int?, userType: Int?, page: Int, perPage: Int): BaseResponse<List<Userinfo>> { + val result = userinfoMapper.selectByExample(Example(Userinfo::class.java).apply { + createCriteria().apply { + district?.let { andEqualTo("extension1", it) } + sceneType?.let { andEqualTo("extension2", it) } + userType?.let { andEqualTo("usertypeid", it) } + } + }) + + return BaseResponse(true, data = result) } } \ No newline at end of file -- Gitblit v1.9.3