浏览代码

[chg]选择电梯接口

别傲 5 年之前
父节点
当前提交
668e9d628c

+ 4 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/framework/aspect/GlobalDefaultExceptionHandler.java

@@ -1,6 +1,8 @@
 package cn.com.ty.lift.business.framework.aspect;
 
 import cn.com.ty.lift.business.framework.BusinessBasicException;
+import cn.com.ty.lift.business.framework.util.MessageUtils;
+import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.http.HttpStatus;
@@ -33,8 +35,8 @@ public class GlobalDefaultExceptionHandler {
         final FieldError error = e.getBindingResult().getFieldError();
         // 捕获错误message
         String message = error.getDefaultMessage();
-        if (message.equals("notEmpty") || message.startsWith("msg") || message.startsWith("err")) {
-            return RestResponse.failParam();
+        if ("notEmpty".equals(message) || message.startsWith("msg") || message.startsWith("err")) {
+            return RestResponse.fail(ApiConstants.RESULT_NO_PARAM, MessageUtils.get("msg.param.empty"));
         }
         return RestResponse.exception(message);
     }

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

@@ -14,6 +14,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.validation.Valid;
 
 /**
  * @author bieao
@@ -55,8 +56,23 @@ public class LiftController {
      * @date 2019/12/17 11:04 AM
      */
     @PostMapping("project/list")
-    public RestResponse liftProjectList(@RequestBody LiftRequest request) {
-        IPage<LiftResponse> page = liftService.findLiftListByProjectId(request);
+    public RestResponse liftProjectList(@Valid @RequestBody ProjectLiftRequest request) {
+        IPage<LiftResponse> page = liftService.liftProjectList(request);
+        if (ObjectUtil.isEmpty(page.getRecords())) {
+            return RestResponse.success();
+        }
+        return RestResponse.success(page, MessageUtils.get("msg.query.success"));
+    }
+
+    /**
+     * @param request 选择电梯列表查询条件
+     * @return IPage<LiftResponse> 选择电梯列表
+     * @description 选择电梯
+     * @date 2019/12/30 10:42 AM
+     */
+    @PostMapping("choose")
+    public RestResponse choose(@Valid @RequestBody LiftChooseRequest request) {
+        IPage<LiftResponse> page = liftService.choose(request);
         if (ObjectUtil.isEmpty(page.getRecords())) {
             return RestResponse.success();
         }
@@ -70,7 +86,7 @@ public class LiftController {
      * @date 2019/12/6 10:51 AM
      */
     @PostMapping("detail")
-    public RestResponse detail(@RequestBody LiftRequest request) {
+    public RestResponse detail(@Valid @RequestBody LiftDetailRequest request) {
         Lift lift = liftService.detail(request.getId());
         if (ObjectUtil.isEmpty(lift)) {
             return RestResponse.success();

+ 22 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/library/dao/entity/model/LiftChooseRequest.java

@@ -0,0 +1,22 @@
+package cn.com.ty.lift.business.library.dao.entity.model;
+
+import cn.com.xwy.boot.controller.BaseRequestModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author bieao
+ * @date 2019/12/30
+ * @description 选择电梯请求参数
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class LiftChooseRequest extends BaseRequestModel {
+    /**
+     * 公司ID
+     */
+    @NotNull(message = "notEmpty")
+    private Long companyId;
+}

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

@@ -0,0 +1,20 @@
+package cn.com.ty.lift.business.library.dao.entity.model;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author bieao
+ * @date 2019/12/30
+ * @description 电梯详情请求
+ */
+@Data
+public class LiftDetailRequest {
+
+    /**
+     * 电梯ID
+     */
+    @NotNull(message = "notEmpty")
+    private Long id;
+}

+ 0 - 5
lift-business-service/src/main/java/cn/com/ty/lift/business/library/dao/entity/model/LiftRequest.java

@@ -48,11 +48,6 @@ public class LiftRequest extends BaseRequestModel {
      */
     private Long workerId;
 
-    /**
-     * 电梯ID
-     */
-    private Long id;
-
     /**
      * 公司ID
      */

+ 27 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/library/dao/entity/model/ProjectLiftRequest.java

@@ -0,0 +1,27 @@
+package cn.com.ty.lift.business.library.dao.entity.model;
+
+import cn.com.xwy.boot.controller.BaseRequestModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author bieao
+ * @date 2019/12/30
+ * @description 项目下电梯请求
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class ProjectLiftRequest extends BaseRequestModel {
+    /**
+     * 公司ID
+     */
+    @NotNull(message = "notEmpty")
+    private Long companyId;
+    /**
+     * 项目ID
+     */
+    @NotNull(message = "notEmpty")
+    private Long projectId;
+}

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

@@ -1,8 +1,10 @@
 package cn.com.ty.lift.business.library.dao.mapper;
 
 import cn.com.ty.lift.business.library.dao.entity.Lift;
+import cn.com.ty.lift.business.library.dao.entity.model.LiftChooseRequest;
 import cn.com.ty.lift.business.library.dao.entity.model.LiftRequest;
 import cn.com.ty.lift.business.library.dao.entity.model.LiftResponse;
+import cn.com.ty.lift.business.library.dao.entity.model.ProjectLiftRequest;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.apache.ibatis.annotations.Param;
@@ -17,7 +19,7 @@ public interface LiftMapper extends BaseMapper<Lift> {
 
     IPage<LiftResponse> findByCondition(IPage<LiftResponse> page, @Param("request") LiftRequest request);
 
-    IPage<LiftResponse> findLiftListByProjectId(IPage<LiftResponse> page, @Param("request") LiftRequest request);
+    IPage<LiftResponse> findLiftListByProjectId(IPage<LiftResponse> page, @Param("request") ProjectLiftRequest request);
 
     /**
      * @param registrationCode 电梯注册代码
@@ -27,4 +29,6 @@ public interface LiftMapper extends BaseMapper<Lift> {
      */
     Long findLiftExist(@Param("registrationCode") String registrationCode);
 
+    IPage<LiftResponse> chooseLiftList(IPage<LiftResponse> page, @Param("request") LiftChooseRequest request);
+
 }

+ 13 - 4
lift-business-service/src/main/java/cn/com/ty/lift/business/library/service/LiftService.java

@@ -3,9 +3,7 @@ package cn.com.ty.lift.business.library.service;
 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.PlatformCompanyLiftRelevance;
-import cn.com.ty.lift.business.library.dao.entity.model.LiftExtensionRequest;
-import cn.com.ty.lift.business.library.dao.entity.model.LiftRequest;
-import cn.com.ty.lift.business.library.dao.entity.model.LiftResponse;
+import cn.com.ty.lift.business.library.dao.entity.model.*;
 import cn.com.ty.lift.business.library.dao.mapper.LiftMapper;
 import cn.com.ty.lift.business.maintenance.dao.entity.MaintenanceCompany;
 import cn.com.ty.lift.business.maintenance.service.MaintenanceService;
@@ -70,11 +68,22 @@ public class LiftService {
      * @description 查询项目下电梯列表
      * @date 2019/12/17 11:04 AM
      */
-    public IPage<LiftResponse> findLiftListByProjectId(LiftRequest request) {
+    public IPage<LiftResponse> liftProjectList(ProjectLiftRequest request) {
         IPage<LiftResponse> page = new Page<>(request.getPageNum(), request.getPageSize());
         return liftMapper.findLiftListByProjectId(page, request);
     }
 
+    /**
+     * @param request 选择电梯列表查询条件
+     * @return IPage<LiftResponse> 选择电梯列表
+     * @description 选择电梯
+     * @date 2019/12/30 10:42 AM
+     */
+    public IPage<LiftResponse> choose(LiftChooseRequest request) {
+        IPage<LiftResponse> page = new Page<>(request.getPageNum(), request.getPageSize());
+        return liftMapper.chooseLiftList(page, request);
+    }
+
     /**
      * @param id 电梯id
      * @return Lift 电梯详情

+ 2 - 1
lift-business-service/src/main/resources/locale/response.properties

@@ -12,4 +12,5 @@ msg.param.empty=\u53C2\u6570\u4E0D\u80FD\u4E3A\u7A7A
 msg.lift.library.exist=\u7535\u68AF\u5E93\u5DF2\u5B58\u5728\u8BE5\u7535\u68AF
 msg.lift.exist=\u516C\u53F8\u4E0B\u5DF2\u6709\u6B64\u7535\u68AF\uFF0C\u4E0D\u80FD\u91CD\u590D\u6DFB\u52A0
 msg.lift.company.exist=\u5176\u4ED6\u516C\u53F8\u5DF2\u6709\u6B64\u7535\u68AF\uFF0C\u8FD4\u56DE\u7535\u68AF\u4FE1\u606F
-msg.pre.judge=\u524D\u7F6E\u6821\u9A8C\u901A\u8FC7
+msg.pre.judge=\u524D\u7F6E\u6821\u9A8C\u901A\u8FC7
+notEmpty={0}\u4E0D\u80FD\u4E3A\u7A7A

+ 30 - 2
lift-business-service/src/main/resources/mapper/lift/LiftMapper.xml

@@ -101,7 +101,7 @@
 	</select>
 
 	<!-- 查询项目下电梯列表 -->
-    <select id="findLiftListByProjectId" resultType="cn.com.ty.lift.business.library.dao.entity.model.LiftResponse" parameterType="cn.com.ty.lift.business.library.dao.entity.model.LiftRequest">
+    <select id="findLiftListByProjectId" resultType="cn.com.ty.lift.business.library.dao.entity.model.LiftResponse" parameterType="cn.com.ty.lift.business.library.dao.entity.model.ProjectLiftRequest">
         SELECT
           l.id                      AS id,
           l.lift_code               AS liftCode,
@@ -114,16 +114,44 @@
           pclr.lift_company_status  AS liftStatus,
 		  ui.name                   AS workerName
         FROM project_lift_relevance plr
-          LEFT JOIN lift l ON l.id = plr.lift_id
+          LEFT JOIN lift l ON plr.lift_id = l.id
           LEFT JOIN lift_brand lb ON l.lift_brand = lb.code
 		  LEFT JOIN user_info ui ON plr.worker_id = ui.user_id
           LEFT JOIN platform_company_lift_relevance pclr ON plr.lift_id = pclr.lift_id AND pclr.id = plr.relevance_id
         WHERE 1=1
+		<if test="request.companyId!=null and request.companyId!=''">
+			AND plr.company_id = #{request.companyId,jdbcType=BIGINT}
+		</if>
         <if test="request.projectId!=null and request.projectId!=''">
             AND plr.project_id = #{request.projectId,jdbcType=BIGINT}
         </if>
     </select>
 
+	<!-- 选择电梯 -->
+	<select id="chooseLiftList" resultType="cn.com.ty.lift.business.library.dao.entity.model.LiftResponse" parameterType="cn.com.ty.lift.business.library.dao.entity.model.LiftChooseRequest">
+		SELECT
+		l.id                      AS id,
+		l.lift_code               AS liftCode,
+		l.registration_code       AS registrationCode,
+		l.lift_type               AS liftType,
+		l.device_position         AS devicePosition,
+		lb.name                   AS liftBrand,
+		l.annual_inspection_date  AS annualInspectionDate,
+		pclr.lift_company_status  AS liftStatus,
+		ui.name                   AS workerName
+		FROM project_lift_relevance plr
+		LEFT JOIN lift l ON plr.lift_id = l.id
+		LEFT JOIN lift_brand lb ON l.lift_brand = lb.code
+		LEFT JOIN user_info ui ON plr.worker_id = ui.user_id
+		LEFT JOIN platform_company_lift_relevance pclr ON plr.lift_id = pclr.lift_id AND pclr.id = plr.relevance_id
+		WHERE 1=1
+		AND pclr.lift_company_status != '1'
+		AND l.lift_status = '2'
+		<if test="request.companyId!=null and request.companyId!=''">
+			AND plr.company_id != #{request.companyId,jdbcType=BIGINT}
+		</if>
+	</select>
+
 	<!--根据注册代码查询电梯是否存在,返回电梯id -->
 	<select id="findLiftExist" parameterType="java.lang.String" resultType="java.lang.Long">
 		SELECT id FROM lift

+ 1 - 1
lift-business-service/src/main/resources/mapper/project/ProjectLiftRelevanceMapper.xml

@@ -40,7 +40,7 @@
 		WHERE plr.worker_id = #{request.workerId,jdbcType=BIGINT}
 	</select>
 
-	<select id="findUserListById" resultType="cn.com.ty.lift.business.project.dao.entity.ProjectLiftRelevance"
+	<select id="findIdList" resultType="cn.com.ty.lift.business.project.dao.entity.ProjectLiftRelevance"
 			parameterType="cn.com.ty.lift.business.library.dao.entity.model.BatchUpdateLiftRequest">
 		SELECT id,
 		      liftLocked