Browse Source

获取物业用户列表

黄远 5 years ago
parent
commit
9697dbe3e4

+ 10 - 0
lift-common/src/main/java/cn.com.ty.lift.common/constants/ApiConstants.java

@@ -123,6 +123,16 @@ public class ApiConstants {
          * 专家表示否
          * 专家表示否
          */
          */
         int NOT_EXPERT = 0;
         int NOT_EXPERT = 0;
+
+        /**
+         * 用户信息字段
+         */
+        String USER_INFO_FIELD = "userInfo";
+
+        /**
+         * 验证码手机号
+         */
+        String SMS_CODE_MOBILE = "smsCodeMobile";
     }
     }
 
 
     /**
     /**

+ 8 - 6
lift-system-service/src/main/java/cn/com/ty/lift/system/user/controller/LoginController.java

@@ -72,14 +72,14 @@ public class LoginController {
     }
     }
 
 
     /**
     /**
-     * @description 切换团队
-     * @date 2020-01-02 15:06
      * @param
      * @param
      * @return
      * @return
+     * @description 切换团队
+     * @date 2020-01-02 15:06
      */
      */
     @RequestMapping("/changeTeam")
     @RequestMapping("/changeTeam")
     @ResponseBody
     @ResponseBody
-    public RestResponse changeTeam(HttpServletRequest request, @RequestBody  UserRequest userRequest) {
+    public RestResponse changeTeam(HttpServletRequest request, @RequestBody UserRequest userRequest) {
         return loginService.changeTeam(request, userRequest);
         return loginService.changeTeam(request, userRequest);
     }
     }
 
 
@@ -184,7 +184,7 @@ public class LoginController {
     public RestResponse smsCode(HttpServletRequest request, String mobile) {
     public RestResponse smsCode(HttpServletRequest request, String mobile) {
         if (StringUtils.isNotBlank(mobile)) {
         if (StringUtils.isNotBlank(mobile)) {
             //校验同一号码两次获取间隔是否有一分钟
             //校验同一号码两次获取间隔是否有一分钟
-            Object timeStampCode = redisTemplate.opsForValue().get(mobile);
+            Object timeStampCode = redisTemplate.opsForValue().get(mobile + ApiConstants.UserConstants.SMS_CODE_MOBILE);
             if (timeStampCode != null) {
             if (timeStampCode != null) {
                 return RestResponse.fail(ApiConstants.RESULT_ERROR, "请一分钟后重新获取");
                 return RestResponse.fail(ApiConstants.RESULT_ERROR, "请一分钟后重新获取");
             }
             }
@@ -194,9 +194,11 @@ public class LoginController {
                 //将手机号放入session中
                 //将手机号放入session中
                 request.getSession().setAttribute(AliConstants.SmsConstants.MOBILE, mobile);
                 request.getSession().setAttribute(AliConstants.SmsConstants.MOBILE, mobile);
                 //将短信验证码放入session中设置过期时间为5分钟
                 //将短信验证码放入session中设置过期时间为5分钟
-                redisTemplate.opsForValue().set(mobile + AliConstants.SmsConstants.SMS_CODE_NAME, smsCode, 5L, TimeUnit.MINUTES);
+                redisTemplate.opsForValue().set(mobile + AliConstants.SmsConstants.SMS_CODE_NAME,
+                        smsCode, 5L, TimeUnit.MINUTES);
                 //将手机号存到redis中,并设置一分钟后过期
                 //将手机号存到redis中,并设置一分钟后过期
-                redisTemplate.opsForValue().set(mobile, DateUtils.generateCode(), 1L, TimeUnit.MINUTES);
+                redisTemplate.opsForValue().set(mobile + ApiConstants.UserConstants.SMS_CODE_MOBILE,
+                        DateUtils.generateCode(), 1L, TimeUnit.MINUTES);
                 return RestResponse.success(null, ApiConstants.RESULT_SUCCESS, "发送验证码成功");
                 return RestResponse.success(null, ApiConstants.RESULT_SUCCESS, "发送验证码成功");
             }
             }
             return RestResponse.fail(ApiConstants.RESULT_ERROR, "手机号不存在,发送验证码失败");
             return RestResponse.fail(ApiConstants.RESULT_ERROR, "手机号不存在,发送验证码失败");

+ 7 - 1
lift-system-service/src/main/java/cn/com/ty/lift/system/user/controller/PropertyUserController.java

@@ -19,8 +19,14 @@ public class PropertyUserController {
     @Autowired
     @Autowired
     private IPropertyUserService propertyUserService;
     private IPropertyUserService propertyUserService;
 
 
+    /**
+     * @param
+     * @return
+     * @description 物业用户列表
+     * @date 2020-01-06 09:08
+     */
     @RequestMapping("/list")
     @RequestMapping("/list")
-    public RestResponse list(PropertyUserRequest propertyUserRequest){
+    public RestResponse list(PropertyUserRequest propertyUserRequest) {
         return propertyUserService.list(propertyUserRequest);
         return propertyUserService.list(propertyUserRequest);
     }
     }
 }
 }

+ 16 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/dao/entity/model/ProjectInfo.java

@@ -0,0 +1,16 @@
+package cn.com.ty.lift.system.user.dao.entity.model;
+
+import lombok.Data;
+
+/**
+ * @author huangyuan
+ * @date 2020-01-06
+ * @description 项目信息
+ */
+@Data
+public class ProjectInfo {
+    private Long projectId;//项目id
+    private String projectName;//项目名称
+    private Long regionId;//区域id
+    private String areaName;//区域名称
+}

+ 6 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/dao/entity/model/PropertyUserResponse.java

@@ -9,4 +9,10 @@ import lombok.Data;
  */
  */
 @Data
 @Data
 public class PropertyUserResponse {
 public class PropertyUserResponse {
+    private Long projectId;//项目id
+    private Long userId;//用户id
+    private String userName;//用户名称
+    private String userMobile;//用户手机号
+    private String projectName;//项目名称
+    private String areaName;//区域名称
 }
 }

+ 14 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/dao/entity/model/RegionInfo.java

@@ -0,0 +1,14 @@
+package cn.com.ty.lift.system.user.dao.entity.model;
+
+import lombok.Data;
+
+/**
+ * @author huangyuan
+ * @date 2020-01-06
+ * @description
+ */
+@Data
+public class RegionInfo {
+    private Long regionId;//区域id
+    private String areaName;//区域名称
+}

+ 37 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/dao/mapper/UserAccountMapper.java

@@ -1,10 +1,15 @@
 package cn.com.ty.lift.system.user.dao.mapper;
 package cn.com.ty.lift.system.user.dao.mapper;
 
 
 import cn.com.ty.lift.system.user.dao.entity.UserAccount;
 import cn.com.ty.lift.system.user.dao.entity.UserAccount;
+import cn.com.ty.lift.system.user.dao.entity.model.ProjectInfo;
 import cn.com.ty.lift.system.user.dao.entity.model.ProjectUser;
 import cn.com.ty.lift.system.user.dao.entity.model.ProjectUser;
+import cn.com.ty.lift.system.user.dao.entity.model.PropertyUserRequest;
+import cn.com.ty.lift.system.user.dao.entity.model.RegionInfo;
 import cn.com.xwy.boot.mybatis.MyBatisMapper;
 import cn.com.xwy.boot.mybatis.MyBatisMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 
+import java.util.List;
+
 /**
 /**
  * MyBatis Mapper 接口 - 表:user_account
  * MyBatis Mapper 接口 - 表:user_account
  *
  *
@@ -28,4 +33,36 @@ public interface UserAccountMapper extends BaseMapper<UserAccount> {
      * @date 2020-01-05 15:19
      * @date 2020-01-05 15:19
      */
      */
     void saveProjectUser(ProjectUser projectUser);
     void saveProjectUser(ProjectUser projectUser);
+
+    /**
+     * @param
+     * @return
+     * @description 获取物业用户列表
+     * @date 2020-01-06 09:17
+     */
+    List<ProjectUser> getProjectUserList(PropertyUserRequest propertyUserRequest);
+
+    /**
+     * @param
+     * @return
+     * @description 获取物业用户总条数
+     * @date 2020-01-06 11:11
+     */
+    Long getProjectUserCount(PropertyUserRequest propertyUserRequest);
+
+    /**
+     * @param
+     * @return
+     * @description 通过项目id集合获取项目集合信息
+     * @date 2020-01-06 12:50
+     */
+    List<ProjectInfo> getProjectInfoList(List<Long> projectIdList);
+
+    /**
+     * @param
+     * @return
+     * @description 获取区域信息列表
+     * @date 2020-01-06 13:57
+     */
+    List<RegionInfo> getRegionInfoList(List<Long> regionIdList);
 }
 }

+ 9 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/IProjectService.java

@@ -1,6 +1,7 @@
 package cn.com.ty.lift.system.user.service;
 package cn.com.ty.lift.system.user.service;
 
 
 import cn.com.ty.lift.system.user.dao.entity.model.LiftCertificate;
 import cn.com.ty.lift.system.user.dao.entity.model.LiftCertificate;
+import cn.com.ty.lift.system.user.dao.entity.model.ProjectInfo;
 import cn.com.ty.lift.system.user.dao.entity.model.ProjectUser;
 import cn.com.ty.lift.system.user.dao.entity.model.ProjectUser;
 import cn.com.ty.lift.system.user.dao.entity.model.PropertyUserRequest;
 import cn.com.ty.lift.system.user.dao.entity.model.PropertyUserRequest;
 
 
@@ -77,4 +78,12 @@ public interface IProjectService {
      * @date 2020-01-05 16:07
      * @date 2020-01-05 16:07
      */
      */
     Long getProjectUserCount(PropertyUserRequest propertyUserRequest);
     Long getProjectUserCount(PropertyUserRequest propertyUserRequest);
+
+    /**
+     * @param
+     * @return
+     * @description 通过项目id集合获取项目id—>项目信息map
+     * @date 2020-01-06 12:43
+     */
+    Map<Long, ProjectInfo> getProjectIdToProjectByProjectIdList(List<Long> projectIdList);
 }
 }

+ 9 - 7
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/LoginService.java

@@ -21,6 +21,7 @@ import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletRequest;
 import java.util.List;
 import java.util.List;
+import java.util.concurrent.TimeUnit;
 
 
 /**
 /**
  * @author huangyuan
  * @author huangyuan
@@ -64,7 +65,7 @@ public class LoginService implements ILoginService {
         //校验短信验证码
         //校验短信验证码
         RestResponse verifyResult = verifySmsCode(userRequest.getMobile(), userRequest.getInputSmsCode());
         RestResponse verifyResult = verifySmsCode(userRequest.getMobile(), userRequest.getInputSmsCode());
         //如果结果不为空说明校验未通过
         //如果结果不为空说明校验未通过
-        if(verifyResult != null){
+        if (verifyResult != null) {
             return verifyResult;
             return verifyResult;
         }
         }
         //判断手机号是否注册过
         //判断手机号是否注册过
@@ -112,7 +113,7 @@ public class LoginService implements ILoginService {
     public RestResponse resetPassword(UserRequest userRequest) {
     public RestResponse resetPassword(UserRequest userRequest) {
         RestResponse verifyResult = verifySmsCode(userRequest.getMobile(), userRequest.getInputSmsCode());
         RestResponse verifyResult = verifySmsCode(userRequest.getMobile(), userRequest.getInputSmsCode());
         //如果结果不为空说明校验未通过
         //如果结果不为空说明校验未通过
-        if(verifyResult != null){
+        if (verifyResult != null) {
             return verifyResult;
             return verifyResult;
         }
         }
         //获取用户信息
         //获取用户信息
@@ -126,7 +127,7 @@ public class LoginService implements ILoginService {
         userAccount.setPassword(newPassword);
         userAccount.setPassword(newPassword);
         userAccountService.updateById(userAccount);
         userAccountService.updateById(userAccount);
         //用户修改密码后,需要重新登录,将redis中的用户信息置空
         //用户修改密码后,需要重新登录,将redis中的用户信息置空
-        redisTemplate.opsForValue().set(userAccount.getMobile(), null);
+        redisTemplate.opsForValue().set(userAccount.getMobile() + ApiConstants.UserConstants.USER_INFO_FIELD, null);
         return RestResponse.success(null, ApiConstants.RESULT_SUCCESS, "重置密码成功");
         return RestResponse.success(null, ApiConstants.RESULT_SUCCESS, "重置密码成功");
     }
     }
 
 
@@ -185,10 +186,11 @@ public class LoginService implements ILoginService {
         }
         }
         //将用户信息放入session中
         //将用户信息放入session中
         request.getSession().setAttribute(ApiConstants.CURRENT_USER_ID, userResponse.getUserId());
         request.getSession().setAttribute(ApiConstants.CURRENT_USER_ID, userResponse.getUserId());
-        //将用户登录的信息放入redis中,作为缓存处理
-        redisTemplate.opsForValue().set(userResponse.getToken(), JSONUtil.toJsonPrettyStr(userResponse));
-        //将手机号对应的用户信息放入redis中
-        redisTemplate.opsForValue().set(userResponse.getMobile(), JSONUtil.toJsonPrettyStr(userResponse));
+        //将用户登录的信息放入redis中,作为缓存处理设置30分钟过期
+        redisTemplate.opsForValue().set(userResponse.getToken(), JSONUtil.toJsonPrettyStr(userResponse), 30L, TimeUnit.MINUTES);
+        //将手机号对应的用户信息放入redis中,设置过期时间为30分钟
+        redisTemplate.opsForValue().set(userResponse.getMobile() + ApiConstants.UserConstants.USER_INFO_FIELD,
+                JSONUtil.toJsonPrettyStr(userResponse), 30L, TimeUnit.MINUTES);
         return userResponse;
         return userResponse;
     }
     }
 
 

+ 29 - 7
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/ProjectService.java

@@ -3,9 +3,7 @@ package cn.com.ty.lift.system.user.service.impl;
 import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.ty.lift.common.utils.ProjectUtils;
 import cn.com.ty.lift.common.utils.ProjectUtils;
 import cn.com.ty.lift.system.constants.CommonConstants;
 import cn.com.ty.lift.system.constants.CommonConstants;
-import cn.com.ty.lift.system.user.dao.entity.model.LiftCertificate;
-import cn.com.ty.lift.system.user.dao.entity.model.ProjectUser;
-import cn.com.ty.lift.system.user.dao.entity.model.PropertyUserRequest;
+import cn.com.ty.lift.system.user.dao.entity.model.*;
 import cn.com.ty.lift.system.user.dao.mapper.MtCompanyUserMapper;
 import cn.com.ty.lift.system.user.dao.mapper.MtCompanyUserMapper;
 import cn.com.ty.lift.system.user.dao.mapper.UserAccountMapper;
 import cn.com.ty.lift.system.user.dao.mapper.UserAccountMapper;
 import cn.com.ty.lift.system.user.service.IProjectService;
 import cn.com.ty.lift.system.user.service.IProjectService;
@@ -35,14 +33,14 @@ public class ProjectService implements IProjectService {
         Map<String, String> returnMsg = new HashMap<>();
         Map<String, String> returnMsg = new HashMap<>();
         //获取用户在当前公司的项目
         //获取用户在当前公司的项目
         Long companyProjectCount = mtCompanyUserMapper.getCompanyUserProject(projectUser);
         Long companyProjectCount = mtCompanyUserMapper.getCompanyUserProject(projectUser);
-        if(companyProjectCount != null && companyProjectCount > 0L){
+        if (companyProjectCount != null && companyProjectCount > 0L) {
             returnMsg.put(CommonConstants.RETURN_CODE_FIELD, ApiConstants.RESULT_ERROR);
             returnMsg.put(CommonConstants.RETURN_CODE_FIELD, ApiConstants.RESULT_ERROR);
             returnMsg.put(CommonConstants.RETURN_MSG_FIELD, "无法踢出团队,请先取消用户关联项目");
             returnMsg.put(CommonConstants.RETURN_MSG_FIELD, "无法踢出团队,请先取消用户关联项目");
             return returnMsg;
             return returnMsg;
         }
         }
         //获取用户在当前公司有没有急修任务
         //获取用户在当前公司有没有急修任务
         Long companyEmergencyCount = mtCompanyUserMapper.getCompanyUserEmergency(projectUser);
         Long companyEmergencyCount = mtCompanyUserMapper.getCompanyUserEmergency(projectUser);
-        if(companyEmergencyCount != null && companyEmergencyCount > 0L){
+        if (companyEmergencyCount != null && companyEmergencyCount > 0L) {
             returnMsg.put(CommonConstants.RETURN_CODE_FIELD, ApiConstants.RESULT_ERROR);
             returnMsg.put(CommonConstants.RETURN_CODE_FIELD, ApiConstants.RESULT_ERROR);
             returnMsg.put(CommonConstants.RETURN_MSG_FIELD, "无法踢出团队,用户有正在进行的急修项目");
             returnMsg.put(CommonConstants.RETURN_MSG_FIELD, "无法踢出团队,用户有正在进行的急修项目");
             return returnMsg;
             return returnMsg;
@@ -80,12 +78,36 @@ public class ProjectService implements IProjectService {
 
 
     @Override
     @Override
     public List<ProjectUser> getProjectUserList(PropertyUserRequest propertyUserRequest) {
     public List<ProjectUser> getProjectUserList(PropertyUserRequest propertyUserRequest) {
-        return null;
+        return userAccountMapper.getProjectUserList(propertyUserRequest);
     }
     }
 
 
     @Override
     @Override
     public Long getProjectUserCount(PropertyUserRequest propertyUserRequest) {
     public Long getProjectUserCount(PropertyUserRequest propertyUserRequest) {
-        return null;
+        return userAccountMapper.getProjectUserCount(propertyUserRequest);
+    }
+
+    @Override
+    public Map<Long, ProjectInfo> getProjectIdToProjectByProjectIdList(List<Long> projectIdList) {
+        Map<Long, ProjectInfo> projectIdToProjectInfo = new HashMap<>();
+        //获取项目信息
+        List<ProjectInfo> projectInfoList = userAccountMapper.getProjectInfoList(projectIdList);
+        if (projectInfoList != null && projectInfoList.size() > 0) {
+            //获取区域信息
+            List<Long> regionIdList = ProjectUtils.getAttrList(projectInfoList, "regionId", null);
+            List<RegionInfo> regionInfoList = userAccountMapper.getRegionInfoList(regionIdList);
+            Map<Long, RegionInfo> regionIdToRegionInfo = ProjectUtils.attrToObjMap(regionInfoList,
+                    "regionId", null);
+            for (ProjectInfo projectInfo : projectInfoList) {
+                //封装区域信息
+                RegionInfo regionInfo = regionIdToRegionInfo.get(projectInfo.getRegionId());
+                if (regionInfo != null) {
+                    projectInfo.setAreaName(regionInfo.getAreaName());
+                }
+            }
+            projectIdToProjectInfo = ProjectUtils.attrToObjMap(projectInfoList,
+                    "projectId", null);
+        }
+        return projectIdToProjectInfo;
     }
     }
 
 
 }
 }

+ 41 - 4
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/PropertyUserService.java

@@ -1,7 +1,8 @@
 package cn.com.ty.lift.system.user.service.impl;
 package cn.com.ty.lift.system.user.service.impl;
 
 
-import cn.com.ty.lift.system.user.dao.entity.model.ProjectUser;
-import cn.com.ty.lift.system.user.dao.entity.model.PropertyUserRequest;
+import cn.com.ty.lift.common.constants.ApiConstants;
+import cn.com.ty.lift.common.utils.ProjectUtils;
+import cn.com.ty.lift.system.user.dao.entity.model.*;
 import cn.com.ty.lift.system.user.service.IProjectService;
 import cn.com.ty.lift.system.user.service.IProjectService;
 import cn.com.ty.lift.system.user.service.IPropertyUserService;
 import cn.com.ty.lift.system.user.service.IPropertyUserService;
 import cn.com.ty.lift.system.user.service.IUserService;
 import cn.com.ty.lift.system.user.service.IUserService;
@@ -12,7 +13,9 @@ import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 /**
 /**
  * @author huangyuan
  * @author huangyuan
@@ -36,9 +39,43 @@ public class PropertyUserService implements IPropertyUserService {
             userQueryIdList = userService.getIdListByQueryCondition(propertyUserRequest.getQueryCondition());
             userQueryIdList = userService.getIdListByQueryCondition(propertyUserRequest.getQueryCondition());
         }
         }
         propertyUserRequest.setUserIdList(userQueryIdList);
         propertyUserRequest.setUserIdList(userQueryIdList);
+        //获取物业用户集合
         List<ProjectUser> projectUserList = projectService.getProjectUserList(propertyUserRequest);
         List<ProjectUser> projectUserList = projectService.getProjectUserList(propertyUserRequest);
+        //获取物业用户条数
         Long projectUserCount = projectService.getProjectUserCount(propertyUserRequest);
         Long projectUserCount = projectService.getProjectUserCount(propertyUserRequest);
-        IPage propertyUserPage = new Page(propertyUserRequest.getPageNum(), propertyUserRequest.getPageSize());
-        return null;
+        if (projectUserList != null && projectUserList.size() > 0) {
+            //获取用户信息
+            List<Long> userIdList = ProjectUtils.getAttrList(projectUserList, "userId", null);
+            Map<Long, UserResponse> userIdToUserResponse = userService.getUserResponseByUserIdList(userIdList);
+            //获取项目信息
+            List<Long> projectIdList = ProjectUtils.getAttrList(projectUserList,
+                    "projectId", null);
+            Map<Long, ProjectInfo> projectIdToProjectInfo = projectService.getProjectIdToProjectByProjectIdList(projectIdList);
+            List<PropertyUserResponse> propertyUserResponseList = new ArrayList<>();
+            //分页信息初始化
+            IPage propertyUserPage = new Page(propertyUserRequest.getPageNum(), propertyUserRequest.getPageSize());
+            for (ProjectUser projectUser : projectUserList) {
+                PropertyUserResponse propertyUserResponse = new PropertyUserResponse();
+                //封装用户信息
+                UserResponse userResponse = userIdToUserResponse.get(projectUser.getUserId());
+                if (userResponse != null) {
+                    propertyUserResponse.setUserName(userResponse.getName());
+                    propertyUserResponse.setUserMobile(userResponse.getMobile());
+                    propertyUserResponse.setUserId(userResponse.getUserId());
+                }
+                //封装项目信息
+                ProjectInfo projectInfo = projectIdToProjectInfo.get(projectUser.getProjectId());
+                if (projectInfo != null) {
+                    propertyUserResponse.setProjectId(projectInfo.getProjectId());
+                    propertyUserResponse.setProjectName(projectInfo.getProjectName());
+                    propertyUserResponse.setAreaName(projectInfo.getAreaName());
+                }
+                propertyUserResponseList.add(propertyUserResponse);
+            }
+            propertyUserPage.setRecords(propertyUserResponseList);
+            propertyUserPage.setTotal(projectUserCount);
+            return RestResponse.success(propertyUserPage, ApiConstants.RESULT_SUCCESS, "获取物业用户成功");
+        }
+        return RestResponse.success();
     }
     }
 }
 }

+ 1 - 1
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/UserService.java

@@ -316,7 +316,7 @@ public class UserService implements IUserService {
         userAccountService.updateById(oldUserAccount);
         userAccountService.updateById(oldUserAccount);
         userInfoService.updateById(userInfo);
         userInfoService.updateById(userInfo);
         //将用户在系统中登出,用户更换手机号后需要重新登录
         //将用户在系统中登出,用户更换手机号后需要重新登录
-        redisTemplate.opsForValue().set(changeMobileRequest.getOldMobile(), null);
+        redisTemplate.opsForValue().set(changeMobileRequest.getOldMobile() + ApiConstants.UserConstants.USER_INFO_FIELD, null);
         return RestResponse.success(ApiConstants.RESULT_SUCCESS, "更换手机号成功");
         return RestResponse.success(ApiConstants.RESULT_SUCCESS, "更换手机号成功");
     }
     }
 
 

+ 89 - 3
lift-system-service/src/main/resources/mapper/UserAccountMapper.xml

@@ -23,15 +23,23 @@
 		user_id, type, account, password, salt, mobile, wechat_open_id, email, other_account, 
 		user_id, type, account, password, salt, mobile, wechat_open_id, email, other_account, 
 		other_account2, status, remarks, create_date, delete_flag, expert_flag
 		other_account2, status, remarks, create_date, delete_flag, expert_flag
 	</sql>
 	</sql>
+
     <!--通过用户id和项目id获取用户项目信息 -->
     <!--通过用户id和项目id获取用户项目信息 -->
     <select id="getProjectUserByUserIdAndProjectId"
     <select id="getProjectUserByUserIdAndProjectId"
             parameterType="cn.com.ty.lift.system.user.dao.entity.model.ProjectUser"
             parameterType="cn.com.ty.lift.system.user.dao.entity.model.ProjectUser"
             resultType="cn.com.ty.lift.system.user.dao.entity.model.ProjectUser">
             resultType="cn.com.ty.lift.system.user.dao.entity.model.ProjectUser">
-		select project_id, user_id from project_user pu
-		where pu.user_id = #{userId}
-		and pu.project_id = #{projectId}
+		select
+		    project_id as projectId,
+		    user_id as userId
+		from
+		    project_user pu
+		where
+		    pu.user_id = #{userId}
+		and
+		    pu.project_id = #{projectId}
 	</select>
 	</select>
 
 
+    <!-- 保存用户 -->
     <insert id="saveProjectUser" parameterType="cn.com.ty.lift.system.user.dao.entity.model.ProjectUser">
     <insert id="saveProjectUser" parameterType="cn.com.ty.lift.system.user.dao.entity.model.ProjectUser">
         insert into project_user (
         insert into project_user (
             project_id,
             project_id,
@@ -48,4 +56,82 @@
             #{isMonitor})
             #{isMonitor})
     </insert>
     </insert>
 
 
+    <!-- 查询物业用户列表查询条件 -->
+    <sql id="projectUserQueryCondition">
+        from project_user
+        where
+        mt_company_id = #{companyId}
+        <if test="userIdList != null">
+            and user_id in
+            <foreach item="item" index="index" collection="userIdList" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        and
+        <!-- 物业用户才有评价权限 -->
+        user_role in ('21','22')
+    </sql>
+
+    <!-- 查询物业用户列表 -->
+    <select id="getProjectUserList" parameterType="cn.com.ty.lift.system.user.dao.entity.model.ProjectUser"
+            resultType="cn.com.ty.lift.system.user.dao.entity.model.ProjectUser">
+        select
+        project_id as projectId,
+        user_id as userId,
+        user_role as userRole
+        <include refid="projectUserQueryCondition"/>
+    </select>
+
+    <!-- 查询物业用户条数 -->
+    <select id="getProjectUserCount" parameterType="cn.com.ty.lift.system.user.dao.entity.model.ProjectUser"
+            resultType="java.lang.Long">
+        select
+        count(1)
+        <include refid="projectUserQueryCondition"/>
+    </select>
+
+    <!--获取项目信息-->
+    <select id="getProjectInfoList" parameterType="java.util.List"
+            resultType="cn.com.ty.lift.system.user.dao.entity.model.ProjectInfo">
+        select
+        id as projectId,
+        project_name as projectName,
+        region_id as regionId
+        from
+        project
+        where
+        <choose>
+            <when test="projectIdList != null">
+                id in
+                <foreach item="item" index="index" collection="projectIdList" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </when>
+            <otherwise>
+                1 <![CDATA[ <> ]]>b 1
+            </otherwise>
+        </choose>
+    </select>
+
+    <!-- 获取项目区域信息 -->
+    <select id="getRegionInfoList" parameterType="java.util.List"
+            resultType="cn.com.ty.lift.system.user.dao.entity.model.RegionInfo">
+        select
+        id as regionId,
+        area_name as areaName
+        from
+        region
+        where
+        <choose>
+            <when test="regionIdList != null">
+                id in
+                <foreach item="item" index="index" collection="regionIdList" open="(" separator="," close=")">
+                    #{item}
+                </foreach>
+            </when>
+            <otherwise>
+                1 <![CDATA[ <> ]]>b 1
+            </otherwise>
+        </choose>
+    </select>
 </mapper>
 </mapper>