Procházet zdrojové kódy

[chg]新增项目接口增加项目组成员

别傲 před 5 roky
rodič
revize
5f5948b27c

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

@@ -153,7 +153,7 @@ public class LiftService {
      * @description 新增电梯
      * @date 2019/11/27 2:22 PM
      */
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     public RestResponse add(LiftExtensionRequest request) {
         //电梯id
         Long id;

+ 10 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/library/service/PlatformCompanyLiftRelevanceService.java

@@ -145,7 +145,7 @@ public class PlatformCompanyLiftRelevanceService extends ServiceImpl<PlatformCom
      * @description 更新电梯状态为停保,并清除维保计划
      * @date 2019/12/5 5:24 PM
      */
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     public RestResponse stopInsurance(PlatformCompanyRequest request) {
         PlatformCompanyLiftRelevance entry = new PlatformCompanyLiftRelevance();
         entry.setId(request.getPlatformCompanyId());
@@ -162,7 +162,15 @@ public class PlatformCompanyLiftRelevanceService extends ServiceImpl<PlatformCom
         return RestResponse.success(null, ApiConstants.RESULT_SUCCESS, MessageUtils.get("msg.modify.batch.success"));
     }
 
-    @Transactional
+    /**
+     * @param request companyIdList 公司电梯关联表主键id列表
+     * @param request companyId 公司id
+     * @param request idList 电梯id列表
+     * @return 1.成功, 0.失败, 消息描述
+     * @description 批量更新电梯状态为停保,并清除维保计划
+     * @date 2019/12/31 9:54 AM
+     */
+    @Transactional(rollbackFor = Exception.class)
     public RestResponse batchStopInsurance(PlatformCompanyRequest request){
         //公司电梯关联表主键id列表
         List<Long> companyIdList = request.getPlatformCompanyIdList();

+ 13 - 15
lift-business-service/src/main/java/cn/com/ty/lift/business/project/controller/ProjectController.java

@@ -10,6 +10,7 @@ import cn.com.ty.lift.business.project.dao.entity.ProjectUser;
 import cn.com.ty.lift.business.project.dao.entity.model.*;
 import cn.com.ty.lift.business.project.service.ProjectLiftRelevanceService;
 import cn.com.ty.lift.business.project.service.ProjectService;
+import cn.com.ty.lift.business.project.service.ProjectUserService;
 import cn.com.ty.lift.common.base.ExportRequest;
 import cn.com.ty.lift.common.constants.ApiConstants;
 import cn.com.xwy.boot.web.dto.RestResponse;
@@ -18,6 +19,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.validation.Valid;
 import java.util.List;
 
 /**
@@ -32,6 +34,9 @@ public class ProjectController {
     @Resource
     private ProjectService projectService;
 
+    @Resource
+    private ProjectUserService projectUserService;
+
     @Resource
     private PlatformCompanyLiftRelevanceService platformCompanyLiftRelevanceService;
 
@@ -90,8 +95,8 @@ public class ProjectController {
      * @date 2019/12/13 2:40 PM
      */
     @PostMapping("userList")
-    public RestResponse userList(@RequestBody ProjectRequest request) {
-        List<ProjectUser> userList = projectService.userList(request);
+    public RestResponse userList(@Valid @RequestBody ProjectDetailRequest request) {
+        List<ProjectUser> userList = projectUserService.userList(request);
         if (ObjectUtil.isEmpty(userList)) {
             return RestResponse.success();
         }
@@ -101,7 +106,7 @@ public class ProjectController {
     /**
      * @param request regionId 区域id
      * @return RestResponse userList项目组成员列表
-     * @description 查询项目组成员
+     * @description 查询项目id和名称列表
      * @date 2019/12/13 2:40 PM
      */
     @PostMapping("projectIDList")
@@ -120,10 +125,7 @@ public class ProjectController {
      * @date 2019/12/6 10:51 AM
      */
     @PostMapping("detail")
-    public RestResponse detail(@RequestBody ProjectRequest request) {
-        if (ObjectUtil.isEmpty(request.getId())) {
-            return RestResponse.failParam();
-        }
+    public RestResponse detail(@Valid @RequestBody ProjectDetailRequest request) {
         Project project = projectService.detail(request.getId());
         if (ObjectUtil.isEmpty(project)) {
             return RestResponse.success();
@@ -132,18 +134,14 @@ public class ProjectController {
     }
 
     /**
-     * @param project 新增项目数据项
+     * @param request 新增项目数据项
      * @return 1.成功, 0.失败, 消息描述
      * @description 新增项目
      * @date 2019/11/28 4:19 PM
      */
     @PostMapping("add")
-    public RestResponse add(@RequestBody Project project) {
-        Integer result = projectService.add(project);
-        if (result > 0) {
-            return RestResponse.success(result, MessageUtils.get("msg.add.success"));
-        }
-        return RestResponse.fail(ApiConstants.RESULT_ERROR, MessageUtils.get("msg.add.fail"));
+    public RestResponse add(@Valid @RequestBody ProjectExtensionRequest request) {
+        return projectService.add(request);
     }
 
     /**
@@ -154,7 +152,7 @@ public class ProjectController {
      */
     @PostMapping("worker/add")
     public RestResponse add(@RequestBody ProjectUser projectUser) {
-        Integer result = projectService.add(projectUser);
+        Integer result = projectUserService.add(projectUser);
         if (result > 0) {
             return RestResponse.success(ApiConstants.RESULT_SUCCESS, MessageUtils.get("msg.add.success"));
         }

+ 2 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/entity/ProjectUser.java

@@ -30,10 +30,10 @@ public class ProjectUser extends BaseEntity {
     /**
      * 用户角色 10超管 11:超级查询 12管理员 13维保工 14省级经理 15市级经理 16文员 21物业评价 22物业查询
      */
-    private Byte userRole;
+    private String userRole;
 
     /**
      * 是否是维保班长  0否 1是
      */
-    private Byte isMonitor;
+    private String isMonitor;
 }

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

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

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

@@ -0,0 +1,30 @@
+package cn.com.ty.lift.business.project.dao.entity.model;
+
+import cn.com.ty.lift.business.project.dao.entity.Project;
+import cn.com.ty.lift.business.project.dao.entity.ProjectUser;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+/**
+ * @author bieao
+ * @date 2019/12/31
+ * @description 项目请求
+ */
+@Data
+public class ProjectExtensionRequest {
+
+    /**
+     * 项目
+     */
+    @NotNull(message = "notEmpty")
+    private Project project;
+
+    /**
+     * 项目成员
+     */
+    @NotEmpty(message = "notEmpty")
+    private List<ProjectUser> userList;
+}

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

@@ -42,11 +42,6 @@ public class ProjectRequest extends BaseRequestModel {
      */
     private Byte projectStatus;
 
-    /**
-     * 项目ID
-     */
-    private Long id;
-
     /**
      * 甲方公司id
      */

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

@@ -2,6 +2,7 @@ package cn.com.ty.lift.business.project.dao.mapper;
 
 import cn.com.ty.lift.business.project.dao.entity.ProjectUser;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -12,5 +13,8 @@ import java.util.List;
  */
 public interface ProjectUserMapper extends BaseMapper<ProjectUser> {
 
-    List<ProjectUser> findUserListById(Long projectId);
+    List<ProjectUser> findUserListById(@Param("projectId") Long projectId);
+
+    @Override
+    int insert(ProjectUser entity);
 }

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectLiftRelevanceService.java

@@ -109,7 +109,7 @@ public class ProjectLiftRelevanceService extends ServiceImpl<ProjectLiftRelevanc
      * @description 项目锁定、解锁,锁定该项目下的电梯
      * @date 2019/12/27 5:04 PM
      */
-    @Transactional
+    @Transactional(rollbackFor = Exception.class)
     public RestResponse projectLockOrUnLock (BatchUpdateLiftRequest request){
         Project project = new Project();
         project.setId(request.getProjectId());

+ 20 - 26
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectService.java

@@ -1,21 +1,24 @@
 package cn.com.ty.lift.business.project.service;
 
+import cn.com.ty.lift.business.framework.util.MessageUtils;
 import cn.com.ty.lift.business.project.dao.entity.Project;
 import cn.com.ty.lift.business.project.dao.entity.ProjectHistory;
 import cn.com.ty.lift.business.project.dao.entity.ProjectUser;
+import cn.com.ty.lift.business.project.dao.entity.model.ProjectExtensionRequest;
 import cn.com.ty.lift.business.project.dao.entity.model.ProjectIDResponse;
 import cn.com.ty.lift.business.project.dao.entity.model.ProjectRequest;
 import cn.com.ty.lift.business.project.dao.entity.model.ProjectResponse;
 import cn.com.ty.lift.business.project.dao.mapper.ProjectHistoryMapper;
 import cn.com.ty.lift.business.project.dao.mapper.ProjectMapper;
-import cn.com.ty.lift.business.project.dao.mapper.ProjectUserMapper;
 import cn.com.ty.lift.common.base.ExportRequest;
 import cn.com.ty.lift.common.export.ExportUtils;
 import cn.com.ty.lift.common.utils.DateUtils;
+import cn.com.xwy.boot.web.dto.RestResponse;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;
 import java.util.*;
@@ -32,10 +35,10 @@ public class ProjectService {
     private ProjectMapper projectMapper;
 
     @Resource
-    private ProjectUserMapper projectUserMapper;
+    private ProjectHistoryMapper projectHistoryMapper;
 
     @Resource
-    private ProjectHistoryMapper projectHistoryMapper;
+    private ProjectUserService projectUserService;
 
 
     private Map<String, String> paramMap = new HashMap<String, String>() {{
@@ -87,16 +90,6 @@ public class ProjectService {
         return projectHistoryMapper.findByCondition(page, request);
     }
 
-    /**
-     * @param request projectId 项目ID
-     * @return List<ProjectUser> userList项目组成员列表
-     * @description 查询项目组成员
-     * @date 2019/12/13 2:40 PM
-     */
-    public List<ProjectUser> userList(ProjectRequest request) {
-        return projectUserMapper.findUserListById(request.getId());
-    }
-
     /**
      * @param request 区域id或维保公司id
      * @return List<ProjectIDResponse> 项目ID和名称列表
@@ -118,26 +111,27 @@ public class ProjectService {
     }
 
     /**
-     * @param project 新增项目数据项
+     * @param request 新增项目数据项
      * @return Integer 成功1或失败0
      * @description 新增项目
      * @date 2019/11/27 2:22 PM
      */
-    public Integer add(Project project) {
+    @Transactional(rollbackFor = Exception.class)
+    public RestResponse add(ProjectExtensionRequest request) {
+        Project project = request.getProject();
         //按当前日期时间戳自动生成项目编号
         String projectCode = DateUtils.generateCode();
         project.setProjectCode("XM" + projectCode);
-        return projectMapper.insert(project);
-    }
-
-    /**
-     * @param projectUser 新增维保工数据项
-     * @return Integer 成功1或失败0
-     * @description 新增维保工
-     * @date 2019/12/4 4:41 PM
-     */
-    public Integer add(ProjectUser projectUser) {
-        return projectUserMapper.insert(projectUser);
+        int ret = projectMapper.insert(project);
+        if (ret < 0) {
+            return RestResponse.fail(MessageUtils.get("msg.add.fail"));
+        }
+        List<ProjectUser> users = request.getUserList();
+        boolean result = projectUserService.saveBatch(users, users.size());
+        if (result) {
+            return RestResponse.fail(MessageUtils.get("msg.add.fail"));
+        }
+        return RestResponse.success(null, MessageUtils.get("msg.add.success"));
     }
 
     /**

+ 42 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectUserService.java

@@ -0,0 +1,42 @@
+package cn.com.ty.lift.business.project.service;
+
+import cn.com.ty.lift.business.project.dao.entity.ProjectUser;
+import cn.com.ty.lift.business.project.dao.entity.model.ProjectDetailRequest;
+import cn.com.ty.lift.business.project.dao.mapper.ProjectUserMapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @author bieao
+ * @date 2019/12/31
+ * @description 项目组成员业务层
+ */
+@Service
+public class ProjectUserService extends ServiceImpl<ProjectUserMapper, ProjectUser> {
+
+    @Resource
+    private ProjectUserMapper projectUserMapper;
+
+    /**
+     * @param request projectId 项目ID
+     * @return List<ProjectUser> userList项目组成员列表
+     * @description 查询项目组成员
+     * @date 2019/12/13 2:40 PM
+     */
+    public List<ProjectUser> userList(ProjectDetailRequest request) {
+        return projectUserMapper.findUserListById(request.getId());
+    }
+
+    /**
+     * @param projectUser 新增维保工数据项
+     * @return Integer 成功1或失败0
+     * @description 新增维保工
+     * @date 2019/12/4 4:41 PM
+     */
+    public Integer add(ProjectUser projectUser) {
+        return projectUserMapper.insert(projectUser);
+    }
+}

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

@@ -4,9 +4,9 @@
 	<resultMap id="BaseResultMap" type="cn.com.ty.lift.business.project.dao.entity.ProjectUser" >
 		<id column="project_id" property="projectId" jdbcType="BIGINT" />
 		<id column="user_id" property="userId" jdbcType="BIGINT" />
-		<id column="user_role" property="userRole" jdbcType="TINYINT" />
+		<id column="user_role" property="userRole" jdbcType="VARCHAR" />
 		<result column="mt_company_id" property="mtCompanyId" jdbcType="BIGINT" />
-		<result column="is_monitor" property="isMonitor" jdbcType="TINYINT" />
+		<result column="is_monitor" property="isMonitor" jdbcType="VARCHAR" />
 	</resultMap>
 
 	<sql id="Base_Column_List" >