Selaa lähdekoodia

1.app端查询项目详情接口 2.电梯详情接口添加维保负责人

别傲 5 vuotta sitten
vanhempi
commit
d3a965c45c
14 muutettua tiedostoa jossa 247 lisäystä ja 16 poistoa
  1. 4 3
      lift-business-service/src/main/java/cn/com/ty/lift/business/library/controller/LiftController.java
  2. 20 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/library/dao/entity/model/response/LiftExtendResponse.java
  3. 5 2
      lift-business-service/src/main/java/cn/com/ty/lift/business/library/dao/mapper/LiftMapper.java
  4. 5 7
      lift-business-service/src/main/java/cn/com/ty/lift/business/library/service/LiftService.java
  5. 16 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/project/controller/ProjectAppController.java
  6. 20 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/entity/model/ProjectAppUser.java
  7. 3 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/entity/model/request/CompanyRequest.java
  8. 83 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/entity/model/response/ProjectDetailResponse.java
  9. 8 4
      lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/mapper/ProjectMapper.java
  10. 10 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/mapper/ProjectUserMapper.java
  11. 20 0
      lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectAppService.java
  12. 9 0
      lift-business-service/src/main/resources/mapper/lift/LiftMapper.xml
  13. 33 0
      lift-business-service/src/main/resources/mapper/project/ProjectMapper.xml
  14. 11 0
      lift-business-service/src/main/resources/mapper/project/ProjectUserMapper.xml

+ 4 - 3
lift-business-service/src/main/java/cn/com/ty/lift/business/library/controller/LiftController.java

@@ -3,6 +3,7 @@ package cn.com.ty.lift.business.library.controller;
 import cn.com.ty.lift.business.framework.util.MessageUtils;
 import cn.com.ty.lift.business.library.dao.entity.Lift;
 import cn.com.ty.lift.business.library.dao.entity.model.request.*;
+import cn.com.ty.lift.business.library.dao.entity.model.response.LiftExtendResponse;
 import cn.com.ty.lift.business.library.dao.entity.model.response.LiftResponse;
 import cn.com.ty.lift.business.library.service.LiftService;
 import cn.com.ty.lift.business.library.service.PlatformCompanyLiftRelevanceService;
@@ -88,11 +89,11 @@ public class LiftController {
      */
     @PostMapping("detail")
     public RestResponse detail(@Valid @RequestBody LiftDetailRequest request) {
-        Lift lift = liftService.detail(request.getId());
-        if (ObjectUtil.isEmpty(lift)) {
+        LiftExtendResponse response = liftService.detail(request.getId());
+        if (ObjectUtil.isEmpty(response)) {
             return RestResponse.success();
         }
-        return RestResponse.success(lift, MessageUtils.get("msg.query.detail.success"));
+        return RestResponse.success(response, MessageUtils.get("msg.query.detail.success"));
     }
 
     /**

+ 20 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/library/dao/entity/model/response/LiftExtendResponse.java

@@ -0,0 +1,20 @@
+package cn.com.ty.lift.business.library.dao.entity.model.response;
+
+import cn.com.ty.lift.business.library.dao.entity.Lift;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * @author bieao
+ * @date 2020/1/2
+ * @description
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class LiftExtendResponse extends Lift {
+
+    /**
+     * 维保工
+     */
+    private String workerName;
+}

+ 5 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/library/dao/mapper/LiftMapper.java

@@ -4,8 +4,9 @@ import cn.com.ty.lift.business.library.dao.entity.Lift;
 import cn.com.ty.lift.business.library.dao.entity.model.LiftProjectModel;
 import cn.com.ty.lift.business.library.dao.entity.model.request.LiftChooseRequest;
 import cn.com.ty.lift.business.library.dao.entity.model.request.LiftRequest;
-import cn.com.ty.lift.business.library.dao.entity.model.response.LiftResponse;
 import cn.com.ty.lift.business.library.dao.entity.model.request.ProjectLiftRequest;
+import cn.com.ty.lift.business.library.dao.entity.model.response.LiftExtendResponse;
+import cn.com.ty.lift.business.library.dao.entity.model.response.LiftResponse;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
@@ -32,8 +33,10 @@ public interface LiftMapper extends BaseMapper<Lift> {
      */
     Long findLiftExist(@Param("registrationCode") String registrationCode);
 
-    List<LiftProjectModel> listByCompanyAndProject(@Param("mtCompanyId") Long mtCompanyId,@Param("projectId") Long projectId);
+    List<LiftProjectModel> listByCompanyAndProject(@Param("mtCompanyId") Long mtCompanyId, @Param("projectId") Long projectId);
 
     IPage<LiftResponse> chooseLiftList(IPage<LiftResponse> page, @Param("request") LiftChooseRequest request);
 
+    LiftExtendResponse queryById(@Param("id") Long id);
+
 }

+ 5 - 7
lift-business-service/src/main/java/cn/com/ty/lift/business/library/service/LiftService.java

@@ -5,10 +5,8 @@ import cn.com.ty.lift.business.library.dao.entity.Lift;
 import cn.com.ty.lift.business.library.dao.entity.PlatformCompanyLiftRelevance;
 import cn.com.ty.lift.business.library.dao.entity.model.LiftImportModel;
 import cn.com.ty.lift.business.library.dao.entity.model.LiftProjectModel;
-import cn.com.ty.lift.business.library.dao.entity.model.request.LiftChooseRequest;
-import cn.com.ty.lift.business.library.dao.entity.model.request.LiftExtensionRequest;
-import cn.com.ty.lift.business.library.dao.entity.model.request.LiftRequest;
-import cn.com.ty.lift.business.library.dao.entity.model.request.ProjectLiftRequest;
+import cn.com.ty.lift.business.library.dao.entity.model.request.*;
+import cn.com.ty.lift.business.library.dao.entity.model.response.LiftExtendResponse;
 import cn.com.ty.lift.business.library.dao.entity.model.response.LiftResponse;
 import cn.com.ty.lift.business.library.dao.mapper.LiftMapper;
 import cn.com.ty.lift.business.maintenance.dao.entity.MaintenanceCompany;
@@ -105,8 +103,8 @@ public class LiftService extends ServiceImpl<LiftMapper,Lift> {
      * @description 查询电梯详情
      * @date 2019/12/6 10:51 AM
      */
-    public Lift detail(Long id) {
-        return liftMapper.selectById(id);
+    public LiftExtendResponse detail(Long id) {
+        return liftMapper.queryById(id);
     }
 
 
@@ -129,7 +127,7 @@ public class LiftService extends ServiceImpl<LiftMapper,Lift> {
             if (result) {
                 return RestResponse.fail(MessageUtils.get("msg.lift.exist"));
             } else {
-                Lift detail = detail(id);
+                LiftExtendResponse detail = detail(id);
                 return RestResponse.success(detail, MessageUtils.get("msg.lift.company.exist"));
             }
         }  else {

+ 16 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/project/controller/ProjectAppController.java

@@ -4,6 +4,7 @@ import cn.com.ty.lift.business.framework.util.MessageUtils;
 import cn.com.ty.lift.business.project.dao.entity.model.request.CompanyRequest;
 import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectDetailRequest;
 import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectCompanyResponse;
+import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectDetailResponse;
 import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectLiftResponse;
 import cn.com.ty.lift.business.project.service.ProjectAppService;
 import cn.com.ty.lift.common.constants.ApiConstants;
@@ -59,4 +60,19 @@ public class ProjectAppController {
         }
         return RestResponse.success(page, ApiConstants.RESULT_SUCCESS, MessageUtils.get("msg.query.success"));
     }
+
+    /**
+     * @param request 项目id
+     * @return RestResponse 项目详情
+     * @description 根据项目id查询项目详情
+     * @date 2020/1/2 1:50 下午
+     */
+    @PostMapping("project/detail")
+    public RestResponse detail(@Valid @RequestBody ProjectDetailRequest request) {
+        ProjectDetailResponse response = projectAppService.detail(request);
+        if (ObjectUtil.isEmpty(response)) {
+            return RestResponse.success();
+        }
+        return RestResponse.success(response, ApiConstants.RESULT_SUCCESS, MessageUtils.get("msg.query.success"));
+    }
 }

+ 20 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/entity/model/ProjectAppUser.java

@@ -0,0 +1,20 @@
+package cn.com.ty.lift.business.project.dao.entity.model;
+
+import lombok.Data;
+
+/**
+ * @author bieao
+ * @date 2020/1/2
+ * @description 项目成员
+ */
+@Data
+public class ProjectAppUser {
+    /**
+     * 项目成员名称
+     */
+    private String name;
+    /**
+     * 头像地址
+     */
+    private String avatarUrl;
+}

+ 3 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/entity/model/request/CompanyRequest.java

@@ -2,6 +2,8 @@ package cn.com.ty.lift.business.project.dao.entity.model.request;
 
 import cn.com.xwy.boot.controller.BaseRequestModel;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
+
 import javax.validation.constraints.NotNull;
 
 /**
@@ -10,6 +12,7 @@ import javax.validation.constraints.NotNull;
  * @description
  */
 @Data
+@EqualsAndHashCode(callSuper = true)
 public class CompanyRequest extends BaseRequestModel {
     /**
      * 公司id

+ 83 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/entity/model/response/ProjectDetailResponse.java

@@ -0,0 +1,83 @@
+package cn.com.ty.lift.business.project.dao.entity.model.response;
+
+import cn.com.ty.lift.business.project.dao.entity.model.ProjectAppUser;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @author bieao
+ * @date 2020/1/2
+ * @description app端项目详情返回体
+ */
+@Data
+public class ProjectDetailResponse {
+    /**
+     * 项目名称
+     */
+    private String projectName;
+    /**
+     * 项目用途
+     */
+    private Integer projectUsage;
+    /**
+     * 项目地址
+     */
+    private String address;
+    /**
+     * 实际台量
+     */
+    private Integer actualNum;
+    /**
+     * 省
+     */
+    private String province;
+    /**
+     * 市
+     */
+    private String city;
+    /**
+     * 区
+     */
+    private String district;
+    /**
+     * 开始时间
+     */
+    private String startDate;
+    /**
+     * 结束时间
+     */
+    private String endDate;
+    /**
+     * 甲方公司名称
+     */
+    private String companyName;
+    /**
+     * 甲方联系人
+     */
+    private String companyContact;
+    /**
+     * 甲方联系人电话
+     */
+    private String telephone;
+    /**
+     * 区域主管
+     */
+    private String areaDirector;
+    /**
+     * 区域名称
+     */
+    private String areaName;
+    /**
+     * 区域id
+     */
+    private Long regionId;
+    /**
+     * 文员
+     */
+    private String clerkName;
+    /**
+     * 项目人员列表
+     */
+    private List<ProjectAppUser> userList;
+}

+ 8 - 4
lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/mapper/ProjectMapper.java

@@ -4,11 +4,8 @@ package cn.com.ty.lift.business.project.dao.mapper;
 import cn.com.ty.lift.business.project.dao.entity.Project;
 import cn.com.ty.lift.business.project.dao.entity.model.request.CompanyRequest;
 import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectDetailRequest;
-import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectCompanyResponse;
-import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectIDResponse;
 import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectRequest;
-import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectLiftResponse;
-import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectResponse;
+import cn.com.ty.lift.business.project.dao.entity.model.response.*;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
@@ -45,5 +42,12 @@ public interface ProjectMapper extends BaseMapper<Project> {
      */
     IPage<ProjectCompanyResponse> findListByCompanyId(IPage<ProjectCompanyResponse> page, @Param("request") CompanyRequest request);
 
+    /**
+     * @param request 项目id
+     * @return ProjectDetailResponse 项目详情
+     * @description 根据项目id查询项目详情
+     * @date 2020/1/2 10:52 上午
+     */
+    ProjectDetailResponse findProjectById(@Param("request") ProjectDetailRequest request);
 
 }

+ 10 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/mapper/ProjectUserMapper.java

@@ -1,6 +1,8 @@
 package cn.com.ty.lift.business.project.dao.mapper;
 
 import cn.com.ty.lift.business.project.dao.entity.ProjectUser;
+import cn.com.ty.lift.business.project.dao.entity.model.ProjectAppUser;
+import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectDetailRequest;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -17,4 +19,12 @@ public interface ProjectUserMapper extends BaseMapper<ProjectUser> {
 
     @Override
     int insert(ProjectUser entity);
+
+    /**
+     * @param request 项目id
+     * @return List<ProjectAppUser> 项目成员名称和头像地址
+     * @description 根据项目id查询项目人员
+     * @date 2020/1/2 10:52 上午
+     */
+    List<ProjectAppUser> findProjectUserListById(@Param("request") ProjectDetailRequest request);
 }

+ 20 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectAppService.java

@@ -1,11 +1,14 @@
 package cn.com.ty.lift.business.project.service;
 
 import cn.com.ty.lift.business.project.dao.entity.Project;
+import cn.com.ty.lift.business.project.dao.entity.model.ProjectAppUser;
 import cn.com.ty.lift.business.project.dao.entity.model.request.CompanyRequest;
 import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectDetailRequest;
 import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectCompanyResponse;
+import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectDetailResponse;
 import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectLiftResponse;
 import cn.com.ty.lift.business.project.dao.mapper.ProjectMapper;
+import cn.com.ty.lift.business.project.dao.mapper.ProjectUserMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -13,6 +16,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 /**
  * @author bieao
@@ -26,6 +30,9 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper,Project> {
     @Resource
     private ProjectMapper projectMapper;
 
+    @Resource
+    private ProjectUserMapper projectUserMapper;
+
     /**
      * @param request 公司id
      * @return RestResponse 项目列表
@@ -48,4 +55,17 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper,Project> {
         return projectMapper.findListByProjectId(page, request);
     }
 
+    /**
+     * @param request 项目id
+     * @return RestResponse 项目详情
+     * @description 根据项目id查询项目详情
+     * @date 2020/1/2 1:50 下午
+     */
+    public ProjectDetailResponse detail(ProjectDetailRequest request) {
+        ProjectDetailResponse response =  projectMapper.findProjectById(request);
+        List<ProjectAppUser> userList = projectUserMapper.findProjectUserListById(request);
+        response.setUserList(userList);
+        return response;
+    }
+
 }

+ 9 - 0
lift-business-service/src/main/resources/mapper/lift/LiftMapper.xml

@@ -177,4 +177,13 @@
 			plr.company_id = #{mtCompanyId}
 			AND plr.project_id = #{projectId}
 	</select>
+
+	<select id="queryById" resultType="cn.com.ty.lift.business.library.dao.entity.model.response.LiftExtendResponse" parameterType="java.lang.Long">
+		SELECT l.*,
+			   ui.name as workerName
+		FROM lift l
+				 LEFT JOIN project_lift_relevance plr ON l.id = plr.lift_id
+				 LEFT JOIN user_info ui ON plr.worker_id = ui.user_id
+		WHERE l.id = #{id,jdbcType=BIGINT}
+	</select>
 </mapper>

+ 33 - 0
lift-business-service/src/main/resources/mapper/project/ProjectMapper.xml

@@ -179,4 +179,37 @@
 		</if>
 	</select>
 
+	<!--app端 根据项目id查询项目详情 -->
+	<select id="findProjectById" parameterType="cn.com.ty.lift.business.project.dao.entity.model.request.ProjectDetailRequest"
+			resultType="cn.com.ty.lift.business.project.dao.entity.model.response.ProjectDetailResponse">
+		SELECT t.*,
+			   ui.name AS clerkName
+		FROM (SELECT p.project_name  AS projectName,
+					 p.project_usage AS projectUsage,
+					 p.address       AS address,
+					 p.actual_num    AS actualNum,
+					 p.province      AS province,
+					 p.city          AS city,
+					 p.district      AS district,
+					 p.start_date    AS startDate,
+					 p.end_date      AS endDate,
+					 pc.name         AS companyName,
+					 pcc.name        AS companyContact,
+					 pcc.telephone   AS telephone,
+					 ui.name         AS areaDirector,
+					 r.area_name     AS areaName,
+					 r.clerk         AS clerk_id
+		FROM project p
+				LEFT JOIN property_company pc ON p.mt_company_id = pc.mt_company_id
+				LEFT JOIN property_contact pcc ON pc.id = pcc.pp_company_id
+				LEFT JOIN region r ON p.region_id = r.id
+				LEFT JOIN user_info ui ON r.user_id = ui.user_id
+		WHERE 1=1
+		<if test="request.id!=null and request.id!=''">
+			AND p.id = #{request.id,jdbcType=VARCHAR}
+		</if>
+		    ) t
+		LEFT JOIN user_info ui ON ui.user_id = t.clerk_id
+	</select>
+
 </mapper>

+ 11 - 0
lift-business-service/src/main/resources/mapper/project/ProjectUserMapper.xml

@@ -26,4 +26,15 @@
 		WHERE project_id = #{projectId,jdbcType=BIGINT}
 	</select>
 
+	<!--app端 根据项目id获取项目人员名称和头像地址 -->
+	<select id="findProjectUserListById" resultType="cn.com.ty.lift.business.project.dao.entity.model.ProjectAppUser"
+			parameterType="cn.com.ty.lift.business.project.dao.entity.model.request.ProjectDetailRequest">
+		SELECT
+			ui.name,
+			ui.avatar_url AS avatarUrl
+		FROM project_user pu
+			 LEFT JOIN user_info ui ON pu.user_id = ui.user_id
+		WHERE project_id = #{request.id,jdbcType=BIGINT}
+	</select>
+
 </mapper>