From f22c4b9230808fed4fec80c435eccb4c833349a0 Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期五, 21 十月 2022 18:36:38 +0800
Subject: [PATCH] 2022.10.21 1.环境守法小程序后台功能首发版本完成

---
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/Impl/UserinfoServiceImpl.kt |   31 ++++++++++++++++++-------------
 1 files changed, 18 insertions(+), 13 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 1ff3939..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,18 +1,14 @@
 package cn.flightfeather.supervision.lightshare.service.Impl
 
-import cn.flightfeather.supervision.common.net.WXHttpService
 import cn.flightfeather.supervision.domain.entity.BaseInfo
 import cn.flightfeather.supervision.domain.entity.Company
-import cn.flightfeather.supervision.domain.entity.UserInfoWx
 import cn.flightfeather.supervision.domain.entity.Userinfo
 import cn.flightfeather.supervision.domain.enumeration.SceneType
-import cn.flightfeather.supervision.domain.enumeration.UserType
 import cn.flightfeather.supervision.domain.mapper.*
 import cn.flightfeather.supervision.infrastructure.utils.FileUtil
 import cn.flightfeather.supervision.infrastructure.utils.UUIDGenerator
 import cn.flightfeather.supervision.lightshare.service.UserinfoService
 import cn.flightfeather.supervision.lightshare.vo.*
-import com.alibaba.fastjson.JSONObject
 import com.github.pagehelper.PageHelper
 import org.springframework.beans.BeanUtils
 import org.springframework.stereotype.Service
@@ -30,6 +26,8 @@
     val restaurantBaseInfoMapper: RestaurantBaseInfoMapper,
     val vehicleBaseInfoMapper: VehicleBaseInfoMapper,
     val userMapMapper: UserMapMapper,
+    val personalInfoMapper: PersonalInfoMapper,
+    val userInfoWxMapper: UserInfoWxMapper
 ) : UserinfoService {
 
     //鏍规嵁userinfo鏉′欢鏌ヨ
@@ -45,7 +43,7 @@
         }
     }
 
-    override fun findOne(id: String): Userinfo{
+    override fun findOne(id: String): Userinfo {
         val userInfo = userinfoMapper.selectByPrimaryKey(id)
         userMapMapper.selectByPrimaryKey(id)?.let {
             userInfo?.extension3 = it.svUserId
@@ -206,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, "瀵嗙爜淇敼鎴愬姛")
         }
     }
 
@@ -249,20 +252,22 @@
         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>> {

--
Gitblit v1.9.3