Forráskód Böngészése

app团队接口完善

黄远 5 éve
szülő
commit
2a618106e9

+ 1 - 1
lift-common/src/main/java/cn.com.ty.lift.common/utils/ProjectUtils.java

@@ -75,7 +75,7 @@ public class ProjectUtils {
      *@return Map
      *@throws
      */
-    public static Map attrToObjMap(List objList, String attrName, Class<?>... parameterTypes){
+    public static Map  attrToObjMap(List objList, String attrName, Class<?>... parameterTypes){
 
         Map<Object, Object> map = new HashMap<>();
         try {

+ 10 - 0
lift-system-service/pom.xml

@@ -29,6 +29,16 @@
             <artifactId>lift-common</artifactId>
             <version>1.0-SNAPSHOT</version>
         </dependency>
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.bouncycastle</groupId>
+            <artifactId>bcprov-jdk15on</artifactId>
+            <version>1.62</version>
+            <scope>compile</scope>
+        </dependency>
 
     </dependencies>
 

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

@@ -71,10 +71,16 @@ public class LoginController {
         return restResponse;
     }
 
+    /**
+     * @description 切换团队
+     * @date 2020-01-02 15:06
+     * @param
+     * @return
+     */
     @RequestMapping("/changeTeam")
     @ResponseBody
-    public RestResponse changeTeam(UserRequest userRequest) {
-        return loginService.changeTeam(userRequest);
+    public RestResponse changeTeam(HttpServletRequest request, @RequestBody  UserRequest userRequest) {
+        return loginService.changeTeam(request, userRequest);
     }
 
     /**

+ 5 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/controller/MtCompanyUserController.java

@@ -54,6 +54,11 @@ public class MtCompanyUserController {
         return mtCompanyUserService.getCompanyMembers(mtCompanyUserRequest);
     }
 
+    @RequestMapping("/app/getCompanyMembers")
+    public RestResponse appGetCompanyMembers(@RequestBody MtCompanyUserRequest mtCompanyUserRequest){
+        return mtCompanyUserService.appGetCompanyMembers(mtCompanyUserRequest);
+    }
+
     /***
      * @description 踢出团队
      * @date 2019-12-17 10:10

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

@@ -0,0 +1,20 @@
+package cn.com.ty.lift.system.user.dao.entity.model;
+
+import lombok.Data;
+
+/**
+ * @author huangyuan
+ * @date 2020-01-02
+ * @description
+ */
+@Data
+public class AppCompanyUserResponse {
+    private Long userId;//成员id
+    private String userName;//成员名称
+    private String userAvatarUrl;//成员头像路径
+    private String userRemarks;//成员简介
+    private String userMobile;//成员手机号
+    private Long userRoleId;//成员角色id
+    private String userRoleName;//成员角色名称
+    private LiftCertificate liftCertificate;//成员操作证信息
+}

+ 10 - 3
lift-system-service/src/main/java/cn/com/ty/lift/system/user/dao/entity/model/LiftCertificate.java

@@ -2,6 +2,8 @@ package cn.com.ty.lift.system.user.dao.entity.model;
 
 import lombok.Data;
 
+import java.time.LocalDateTime;
+
 /**
  * @author huangyuan
  * @date 2019-12-17
@@ -9,7 +11,12 @@ import lombok.Data;
  */
 @Data
 public class LiftCertificate {
-    private Long userId;//用户id
-    private Long mtCompanyId;//公司id
-    private Integer status;//操作这个状态
+    private Long userId;//用户id/拥有者id
+    private String code;//操作证号
+    private String issuanceAgency;//发证单位
+    private LocalDateTime expirationDate;//有效期
+    private String certificateType;//证件类型
+    private String firstImgUrl;//第一张图片路径
+    private String secondImgUrl;//第二张图片路径
+    private Integer status;//0:无证,1:待审核,2:审核未通过,3:审核通过,4:超期
 }

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

@@ -38,7 +38,7 @@ public interface ILoginService {
      * @description 切换团队
      * @date 2019-12-18 16:15
      */
-    RestResponse changeTeam(UserRequest userRequest);
+    RestResponse changeTeam(HttpServletRequest request, UserRequest userRequest);
 
     /**
      * @param

+ 8 - 0
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/IMtCompanyUserService.java

@@ -50,4 +50,12 @@ public interface IMtCompanyUserService extends IService<MtCompanyUser> {
      * @return
      */
     RestResponse setRepair(MtCompanyUserRequest mtCompanyUserRequest);
+
+    /**
+     * @description app获取团队成员列表
+     * @date 2020-01-02 16:08
+     * @param
+     * @return
+     */
+    RestResponse appGetCompanyMembers(MtCompanyUserRequest mtCompanyUserRequest);
 }

+ 13 - 5
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/IProjectService.java

@@ -14,26 +14,34 @@ import java.util.Map;
 public interface IProjectService {
 
     /**
-     * @description 判断用户是否能踢出团队
-     * @date 2019-12-17 09:20
      * @param projectUser userId:用户id,companyId:公司id
      * @return
+     * @description 判断用户是否能踢出团队
+     * @date 2019-12-17 09:20
      */
     Map<String, String> judgeKickOutTeam(ProjectUser projectUser);
 
     /**
-     * @description 获取用户电梯操作证信息
-     * @date 2019-12-17 15:42
      * @param
      * @return
+     * @description 获取用户电梯操作证信息
+     * @date 2019-12-17 15:42
      */
     List<LiftCertificate> getLiftCertificateList(ProjectUser projectUser);
 
     /**
+     * @param
+     * @return
      * @description 获取用户在指定公司的操作证
      * @date 2019-12-28 16:33
+     */
+    LiftCertificate getLiftCertificateByUserIdAndCompanyId(ProjectUser projectUser);
+
+    /**
      * @param
      * @return
+     * @description 通过用户id集合和公司id获取用户id->操作证信息的map
+     * @date 2020-01-02 16:40
      */
-    LiftCertificate getLiftCertificateByUserIdAndCompanyId(ProjectUser projectUser);
+    Map<Long, LiftCertificate> getUserIdToLiftCertificateByUserIdListAndCompanyId(List<Long> userIdList, Long companyId);
 }

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

@@ -129,7 +129,7 @@ public class LoginService implements ILoginService {
     }
 
     @Override
-    public RestResponse changeTeam(UserRequest userRequest) {
+    public RestResponse changeTeam(HttpServletRequest request, UserRequest userRequest) {
         Long companyId = userRequest.getCompanyId();
         UserResponse userResponse = new UserResponse();
         UserRole userRole = userRoleService.getOne(new QueryWrapper<UserRole>()
@@ -146,6 +146,7 @@ public class LoginService implements ILoginService {
                 userResponse.setMenus(menuTree);
             }
         }
+        //更新redis中数据值
         return RestResponse.success(userResponse, ApiConstants.RESULT_SUCCESS, "切换团队成功");
     }
 

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

@@ -56,7 +56,7 @@ public class MtCompanyUserService extends ServiceImpl<MtCompanyUserMapper, MtCom
         Long roleId = mtCompanyUserRequest.getRoleId();
         Long userId = mtCompanyUser.getUserId();
         Long companyId = mtCompanyUser.getMtCompanyId();
-        if(roleId != null){
+        if (roleId != null) {
             UserRole userRole = userRoleService.getOne(new QueryWrapper<UserRole>()
                     .eq("company_id", companyId)
                     .eq("user_id", userId)
@@ -217,4 +217,55 @@ public class MtCompanyUserService extends ServiceImpl<MtCompanyUserMapper, MtCom
         return RestResponse.success(null, ApiConstants.RESULT_SUCCESS, "设置急修信息成功");
     }
 
+    @Override
+    public RestResponse appGetCompanyMembers(MtCompanyUserRequest mtCompanyUserRequest) {
+        IPage companyUserPage = new Page<>(mtCompanyUserRequest.getPageNum(), mtCompanyUserRequest.getPageSize());
+        //分页获取团队信息
+        companyUserPage = this.page(companyUserPage, new QueryWrapper<MtCompanyUser>()
+                .eq("mt_company_id", mtCompanyUserRequest.getCompanyId())
+                .eq("delete_flag", ApiConstants.DELETE_NO)
+        );
+        List<MtCompanyUser> mtCompanyUserList = companyUserPage.getRecords();
+        if(mtCompanyUserList != null && mtCompanyUserList.size() > 0){
+            List<AppCompanyUserResponse> appCompanyUserResponseList = new ArrayList<>();
+            List<Long> userIdList = ProjectUtils.getAttrList(mtCompanyUserList, "userId", null);
+            //获取团队用户基础信息
+            List<UserInfo> userInfoList = (List<UserInfo>) userInfoService.listByIds(userIdList);
+            Map<Long, UserInfo> userIdToUserInfo = ProjectUtils.attrToObjMap(userInfoList, "userId", null);
+            //获取团队用户角色信息
+            Map<Long, Role> userIdToRole = roleService.getUserIdToRoleByUserIdsAndCompanyId(userIdList, mtCompanyUserRequest.getCompanyId());
+            //获取团队用户操作证信息
+            Map<Long, LiftCertificate> userIdToLiftCertificate = projectService.getUserIdToLiftCertificateByUserIdListAndCompanyId(userIdList, mtCompanyUserRequest.getCompanyId());
+            for(MtCompanyUser mtCompanyUser: mtCompanyUserList){
+                AppCompanyUserResponse appCompanyUserResponse = new AppCompanyUserResponse();
+                //设置用户信息
+                UserInfo userInfo = userIdToUserInfo.get(mtCompanyUser.getUserId());
+                //如果用户信息为空,跳过该用户
+                if(userInfo == null){
+                    break;
+                }
+                appCompanyUserResponse.setUserId(userInfo.getUserId());
+                appCompanyUserResponse.setUserAvatarUrl(userInfo.getAvatarUrl());
+                appCompanyUserResponse.setUserName(userInfo.getName());
+                appCompanyUserResponse.setUserMobile(userInfo.getMobile());
+                appCompanyUserResponse.setUserRemarks(userInfo.getRemarks());
+
+                //设置角色信息
+                Role role = userIdToRole.get(mtCompanyUser.getUserId());
+                if(role !=  null){
+                    appCompanyUserResponse.setUserRoleId(role.getId());
+                    appCompanyUserResponse.setUserRoleName(role.getName());
+                }
+
+                //设置操作证信息
+                LiftCertificate liftCertificate = userIdToLiftCertificate.get(mtCompanyUser.getUserId());
+                appCompanyUserResponse.setLiftCertificate(liftCertificate);
+                appCompanyUserResponseList.add(appCompanyUserResponse);
+            }
+            companyUserPage.setRecords(appCompanyUserResponseList);
+            return RestResponse.success(companyUserPage, ApiConstants.RESULT_SUCCESS, "获取公司用户信息成功");
+        }
+        return RestResponse.success();
+    }
+
 }

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

@@ -1,6 +1,7 @@
 package cn.com.ty.lift.system.user.service.impl;
 
 import cn.com.ty.lift.common.constants.ApiConstants;
+import cn.com.ty.lift.common.utils.ProjectUtils;
 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;
@@ -55,4 +56,10 @@ public class ProjectService implements IProjectService {
     public LiftCertificate getLiftCertificateByUserIdAndCompanyId(ProjectUser projectUser) {
         return mtCompanyUserMapper.getLiftCertificateByUserIdAndCompanyId(projectUser);
     }
+
+    @Override
+    public Map<Long, LiftCertificate> getUserIdToLiftCertificateByUserIdListAndCompanyId(List<Long> userIdList, Long companyId) {
+        List<LiftCertificate> liftCertificateList = mtCompanyUserMapper.getLiftCertificateList(new ProjectUser(companyId, userIdList));
+        return ProjectUtils.attrToObjMap(liftCertificateList, "userId", null);
+    }
 }

+ 6 - 3
lift-system-service/src/main/java/cn/com/ty/lift/system/user/service/impl/RoleMenuService.java

@@ -61,9 +61,12 @@ public class RoleMenuService extends ServiceImpl<RoleMenuMapper, RoleMenu> imple
             .eq("role_id", roleId)
         );
         List<Long> menuIds = ProjectUtils.getAttrList(roleMenuList, "menuId", null);
-        //获取所有菜单
-        List<Menu> menuList = (List<Menu>) menuService.listByIds(menuIds);
+        if(menuIds != null && menuIds.size() > 0){
+            //获取所有菜单
+            List<Menu> menuList = (List<Menu>) menuService.listByIds(menuIds);
+            return menuService.getMenuTree(menuList);
+        }
         //将菜单转化为树
-        return menuService.getMenuTree(menuList);
+        return null;
     }
 }

+ 55 - 42
lift-system-service/src/main/resources/mapper/MtCompanyUserMapper.xml

@@ -1,66 +1,79 @@
 <?xml version="1.0" encoding="UTF-8" ?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
-<mapper namespace="cn.com.ty.lift.system.user.dao.mapper.MtCompanyUserMapper" >
-	<resultMap id="BaseResultMap" type="cn.com.ty.lift.system.user.dao.entity.MtCompanyUser" >
-		<id column="id" property="id" jdbcType="BIGINT" />
-		<result column="mt_company_id" property="mtCompanyId" jdbcType="BIGINT" />
-		<result column="user_id" property="userId" jdbcType="BIGINT" />
-		<result column="user_role" property="userRole" jdbcType="TINYINT" />
-		<result column="is_current_company" property="isCurrentCompany" jdbcType="TINYINT" />
-		<result column="is_hx_registered" property="isHxRegistered" jdbcType="TINYINT" />
-		<result column="status" property="status" jdbcType="TINYINT" />
-		<result column="service_total" property="serviceTotal" jdbcType="INTEGER" />
-		<result column="satisfaction_total" property="satisfactionTotal" jdbcType="INTEGER" />
-		<result column="service_count" property="serviceCount" jdbcType="INTEGER" />
-		<result column="maintenance_total" property="maintenanceTotal" jdbcType="INTEGER" />
-		<result column="emergency_total" property="emergencyTotal" jdbcType="INTEGER" />
-		<result column="lift_total" property="liftTotal" jdbcType="INTEGER" />
-		<result column="job" property="job" jdbcType="VARCHAR" />
-		<result column="delete_flag" property="deleteFlag" jdbcType="INTEGER" />
-		<result column="create_time" property="createTime" jdbcType="TIMESTAMP" />
-		<result column="update_time" property="updateTime" jdbcType="TIMESTAMP" />
-		<result column="create_user_id" property="createUserId" jdbcType="BIGINT" />
-		<result column="delete_user_id" property="deleteUserId" jdbcType="BIGINT" />
-		<result column="repair_flag" property="repairFlag" jdbcType="INTEGER" />
-	</resultMap>
+<mapper namespace="cn.com.ty.lift.system.user.dao.mapper.MtCompanyUserMapper">
+    <resultMap id="BaseResultMap" type="cn.com.ty.lift.system.user.dao.entity.MtCompanyUser">
+        <id column="id" property="id" jdbcType="BIGINT"/>
+        <result column="mt_company_id" property="mtCompanyId" jdbcType="BIGINT"/>
+        <result column="user_id" property="userId" jdbcType="BIGINT"/>
+        <result column="user_role" property="userRole" jdbcType="TINYINT"/>
+        <result column="is_current_company" property="isCurrentCompany" jdbcType="TINYINT"/>
+        <result column="is_hx_registered" property="isHxRegistered" jdbcType="TINYINT"/>
+        <result column="status" property="status" jdbcType="TINYINT"/>
+        <result column="service_total" property="serviceTotal" jdbcType="INTEGER"/>
+        <result column="satisfaction_total" property="satisfactionTotal" jdbcType="INTEGER"/>
+        <result column="service_count" property="serviceCount" jdbcType="INTEGER"/>
+        <result column="maintenance_total" property="maintenanceTotal" jdbcType="INTEGER"/>
+        <result column="emergency_total" property="emergencyTotal" jdbcType="INTEGER"/>
+        <result column="lift_total" property="liftTotal" jdbcType="INTEGER"/>
+        <result column="job" property="job" jdbcType="VARCHAR"/>
+        <result column="delete_flag" property="deleteFlag" jdbcType="INTEGER"/>
+        <result column="create_time" property="createTime" jdbcType="TIMESTAMP"/>
+        <result column="update_time" property="updateTime" jdbcType="TIMESTAMP"/>
+        <result column="create_user_id" property="createUserId" jdbcType="BIGINT"/>
+        <result column="delete_user_id" property="deleteUserId" jdbcType="BIGINT"/>
+        <result column="repair_flag" property="repairFlag" jdbcType="INTEGER"/>
+    </resultMap>
 
-	<sql id="Base_Column_List" >
+    <sql id="Base_Column_List">
 		id, mt_company_id, user_id, user_role, is_current_company, is_hx_registered, status, 
 		service_total, satisfaction_total, service_count, maintenance_total, emergency_total, 
 		lift_total, job, delete_flag, create_time, update_time, create_user_id,
 		update_user_id, repair_flag
 	</sql>
 
-	<!-- 获取用户在当前公司所处的项目 -->
-	<select id="getCompanyUserProject" parameterType="cn.com.ty.lift.system.user.dao.entity.model.ProjectUser" resultType="java.lang.Long">
+    <!-- 获取用户在当前公司所处的项目 -->
+    <select id="getCompanyUserProject" parameterType="cn.com.ty.lift.system.user.dao.entity.model.ProjectUser"
+            resultType="java.lang.Long">
 		select count(1) from project_user pu
 		where pu.mt_company_id = #{companyId,jdbcType=BIGINT}
 		and pu.user_id = #{userId,jdbcType=BIGINT}
 	</select>
 
-	<!-- 获取用户在当前公司有没有正在进行的急修任务 -->
-	<select id="getCompanyUserEmergency" parameterType="cn.com.ty.lift.system.user.dao.entity.model.ProjectUser" resultType="java.lang.Long">
+    <!-- 获取用户在当前公司有没有正在进行的急修任务 -->
+    <select id="getCompanyUserEmergency" parameterType="cn.com.ty.lift.system.user.dao.entity.model.ProjectUser"
+            resultType="java.lang.Long">
 		select count(1) from emergency_repair er
 		where er.mt_company_id = #{companyId,jdbcType=BIGINT}
 		and er.worker_id = #{userId, jdbcType=BIGINT}
 		and er.status <![CDATA[ <> ]]> 4
 	</select>
 
-	<!-- 获取用户电梯操作证信息 -->
-	<select id="getLiftCertificateList" parameterType="cn.com.ty.lift.system.user.dao.entity.model.ProjectUser" resultType="cn.com.ty.lift.system.user.dao.entity.model.LiftCertificate">
-		select owner_id as userId, mt_company_id as companyId, status as status from lift_certificate
-		where 1=1
-		<!-- 判断用户id是否在集合中 -->
-		<if test="userIdList != null">
-			and owner_id in
-			<foreach item="item" index="index" collection="userIdList" open="(" separator="," close=")">
-				#{item}
-			</foreach>
-		</if>
-		and mt_company_id = #{companyId,jdbcType=BIGINT}
-	</select>
+    <!-- 获取用户电梯操作证信息 -->
+    <select id="getLiftCertificateList" parameterType="cn.com.ty.lift.system.user.dao.entity.model.ProjectUser"
+            resultType="cn.com.ty.lift.system.user.dao.entity.model.LiftCertificate">
+        select
+        owner_id as userId,
+        code as code,
+        issuance_agency as issuanceAgency,
+        certificate_type as certificateType,
+        first_img_url as firstImgUrl,
+        second_img_url as secondImgUrl,
+        status as status
+        from lift_certificate
+        where 1=1
+        <!-- 判断用户id是否在集合中 -->
+        <if test="userIdList != null">
+            and owner_id in
+            <foreach item="item" index="index" collection="userIdList" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        and mt_company_id = #{companyId,jdbcType=BIGINT}
+    </select>
 
-	<select id="getLiftCertificateByUserIdAndCompanyId" parameterType="cn.com.ty.lift.system.user.dao.entity.model.ProjectUser" resultType="cn.com.ty.lift.system.user.dao.entity.model.LiftCertificate">
+    <select id="getLiftCertificateByUserIdAndCompanyId"
+            parameterType="cn.com.ty.lift.system.user.dao.entity.model.ProjectUser"
+            resultType="cn.com.ty.lift.system.user.dao.entity.model.LiftCertificate">
 		select owner_id as userId, mt_company_id as companyId, status as status from lift_certificate
 		where owner_id = #{userId,jdbcType=BIGINT}
 		and mt_company_id = #{companyId,jdbcType=BIGINT}