Bladeren bron

Merge branch 'feature-bieao' of lift-manager/lift-server into develop

bieao 5 jaren geleden
bovenliggende
commit
657435b672

+ 4 - 8
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/controller/ContractController.java

@@ -85,12 +85,8 @@ public class ContractController {
      * @date 2019/12/7 3:31 PM
      */
     @PostMapping("modify")
-    public RestResponse modify(@RequestBody Contracts contracts) {
-        int result = contractService.modify(contracts);
-        if (result > 0) {
-            return RestResponse.success(null, MessageUtils.get("msg.modify.success"));
-        }
-        return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
+    public RestResponse modify(@RequestBody ContractsExtend contracts) {
+       return contractService.modify(contracts);
     }
 
     /**
@@ -115,8 +111,8 @@ public class ContractController {
      * @date 2019/12/11 3:50 PM
      */
     @PostMapping("payment/batch/update")
-    public RestResponse updateBatchById(@RequestBody PaymentRequest request) {
-        boolean result = paymentService.updateBatchById(request);
+    public RestResponse modifyBatchById(@RequestBody PaymentRequest request) {
+        boolean result = paymentService.modifyBatchById(request.getPaymentList());
         if (result) {
             return RestResponse.success(null, MessageUtils.get("msg.modify.batch.success"));
         }

+ 9 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/ContractsExtend.java

@@ -24,4 +24,13 @@ public class ContractsExtend {
      */
     @NotNull(message = "notEmpty")
     private Contracts contracts;
+
+    /**
+     * 项目名称
+     */
+    private String projectName;
+    /**
+     * 项目地址
+     */
+    private String projectAddress;
 }

+ 71 - 13
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/service/ContractService.java

@@ -6,8 +6,9 @@ import cn.com.ty.lift.business.contract.dao.entity.ContractsHistory;
 import cn.com.ty.lift.business.contract.dao.entity.model.ContractRequest;
 import cn.com.ty.lift.business.contract.dao.entity.model.ContractsHistoryRequest;
 import cn.com.ty.lift.business.contract.dao.mapper.ContractsMapper;
-import cn.com.ty.lift.business.framework.BusinessBasicException;
 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.service.ProjectService;
 import cn.com.ty.lift.common.utils.DateUtils;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import cn.hutool.core.util.ObjectUtil;
@@ -15,8 +16,10 @@ import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import javax.annotation.Resource;
 
@@ -26,6 +29,7 @@ import javax.annotation.Resource;
  * @description 合同管理业务层
  */
 @Service
+@Slf4j
 public class ContractService extends ServiceImpl<ContractsMapper, Contracts> {
 
     @Resource
@@ -37,6 +41,9 @@ public class ContractService extends ServiceImpl<ContractsMapper, Contracts> {
     @Resource
     private PaymentService paymentService;
 
+    @Resource
+    private ProjectService projectService;
+
     /**
      * @param request 合同列表查询条件
      * @return RestResponse 合同分页列表结果
@@ -64,6 +71,23 @@ public class ContractService extends ServiceImpl<ContractsMapper, Contracts> {
         return contractHistoryService.list(request);
     }
 
+    /**
+     * @param contracts 合同信息
+     * @param extend 项目名称、项目地址、台量
+     * @return 是否成功
+     * @description 保存项目信息
+     * @date 2020/1/14 4:30 下午
+     */
+    public boolean saveProject(Contracts contracts, ContractsExtend extend) {
+        Project project = new Project();
+        project.setProjectName(extend.getProjectName());
+        project.setAddress(extend.getProjectAddress());
+        project.setNum(contracts.getLiftNum());
+        project.setStartDate(contracts.getStarDate());
+        project.setEndDate(contracts.getEndDate());
+        return projectService.saveProject(project);
+    }
+
     /**
      * @param extend 新增合同数据项
      * @return 1.成功, 0.失败, 消息描述
@@ -79,27 +103,61 @@ public class ContractService extends ServiceImpl<ContractsMapper, Contracts> {
             contracts.setNextId(contractId);
         }
         contracts.setNextId(contracts.getCode());
+        //插入合同信息
         int result = contractsMapper.insert(contracts);
-        if (result > 0) {
-            //批量插入收款信息
-            boolean ret = paymentService.insertBatch(extend.getPaymentList(), contracts.getNextId());
-            if (ret) {
-                return RestResponse.success(null, MessageUtils.get("msg.add.success"));
-            } else {
-                throw new BusinessBasicException("批量插入收款信息失败");
-            }
+        if (result < 0) {
+            //强制手动事务回滚
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return RestResponse.fail(MessageUtils.get("msg.add.fail"));
+        }
+        //插入项目信息
+        boolean info = saveProject(contracts, extend);
+        if (!info) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return RestResponse.fail(MessageUtils.get("msg.add.fail"));
         }
-        return RestResponse.fail(MessageUtils.get("msg.add.fail"));
+        //批量插入收款信息
+        boolean ret = paymentService.insertBatch(extend.getPaymentList(), contracts.getNextId());
+        if (!ret) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return RestResponse.fail(MessageUtils.get("msg.add.batch.fail"));
+        }
+        return RestResponse.success(null, MessageUtils.get("msg.add.success"));
     }
 
     /**
-     * @param contracts 修改合同数据项
+     * @param extend 修改合同、项目、付款信息数据项
      * @return 1.成功, 0.失败, 消息描述
      * @description 合同变更
      * @date 2019/12/7 3:31 PM
      */
-    public int modify(Contracts contracts) {
-        return contractsMapper.updateById(contracts);
+    @Transactional(rollbackFor = Exception.class)
+    public RestResponse modify(ContractsExtend extend) {
+        Contracts contracts = extend.getContracts();
+        //修改合同信息
+        boolean contractResult = updateById(contracts);
+        if (!contractResult) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
+        }
+        //修改项目信息
+        Project project = new Project();
+        project.setId(contracts.getProjectId());
+        project.setProjectName(extend.getProjectName());
+        project.setAddress(extend.getProjectAddress());
+        project.setNum(contracts.getLiftNum());
+        boolean projectResult = projectService.modify(project);
+        if (!projectResult) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
+        }
+        //修改付款信息
+        boolean paymentResult = paymentService.modifyBatchById(extend.getPaymentList());
+        if (!paymentResult) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
+            return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
+        }
+        return RestResponse.success(null, MessageUtils.get("msg.modify.success"));
     }
 
     /**

+ 3 - 4
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/service/PaymentService.java

@@ -1,7 +1,6 @@
 package cn.com.ty.lift.business.contract.service;
 
 import cn.com.ty.lift.business.contract.dao.entity.Payment;
-import cn.com.ty.lift.business.contract.dao.entity.model.PaymentRequest;
 import cn.com.ty.lift.business.contract.dao.mapper.PaymentMapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
@@ -31,12 +30,12 @@ public class PaymentService extends ServiceImpl<PaymentMapper, Payment> {
     }
 
     /**
-     * @param request paymentList 收款信息列表
+     * @param paymentList 收款信息列表
      * @return 1.成功, 0.失败, 消息描述
      * @description 批量修改收款信息
      * @date 2019/12/11 3:50 PM
      */
-    public boolean updateBatchById(PaymentRequest request) {
-        return updateBatchById(request.getPaymentList());
+    public boolean modifyBatchById(List<Payment> paymentList) {
+        return updateBatchById(paymentList);
     }
 }

+ 2 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/framework/conf/MetaHandler.java

@@ -49,7 +49,7 @@ public class MetaHandler implements MetaObjectHandler {
     @Override
     public void updateFill(MetaObject metaObject) {
         //获取当前登陆用户id
-        Long userId = 100L;
+        Long userId = getUserId();
         if (ObjectUtil.isEmpty(this.getFieldValByName(UPDATE_ID, metaObject))) {
             this.setFieldValByName(UPDATE_ID, userId, metaObject);
         }
@@ -63,7 +63,7 @@ public class MetaHandler implements MetaObjectHandler {
         HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes())
                 .getRequest();
         HttpSession session = request.getSession();
-        Object userId = session.getAttribute(ApiConstants.CURRENT_USER);
+        Object userId = session.getAttribute(ApiConstants.CURRENT_USER_ID);
         if (ObjectUtil.isNotEmpty(userId)) {
             return Long.parseLong(Objects.toString(userId));
         }

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

@@ -169,11 +169,13 @@ public class LiftService extends ServiceImpl<LiftMapper, Lift> {
         //新增企业电梯关联表
         PlatformCompanyLiftRelevance ret = platformService.save(id, mtCompanyId);
         if (ObjectUtil.isEmpty(ret)) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             return RestResponse.fail(MessageUtils.get("msg.add.fail"));
         }
         //新增平台电梯关联表
         PlatformCompanyLiftRelevance liftRelevance = platformService.save(id, ApiConstants.PLATFORM_COMPANY_ID);
         if (ObjectUtil.isEmpty(liftRelevance)) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             return RestResponse.fail(MessageUtils.get("msg.add.fail"));
         }
         return RestResponse.success(null, MessageUtils.get("msg.add.success"));
@@ -225,17 +227,20 @@ public class LiftService extends ServiceImpl<LiftMapper, Lift> {
             case "1":
                 //新增企业电梯关联表
                 PlatformCompanyLiftRelevance companyLiftEntry = platformService.save(id, mtCompanyId);
-                if (companyLiftEntry == null) {
+                if (ObjectUtil.isEmpty(companyLiftEntry)) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                     return RestResponse.fail(MessageUtils.get("msg.add.fail"));
                 }
                 //新增平台电梯关联表
                 PlatformCompanyLiftRelevance relevance = platformService.save(id, ApiConstants.PLATFORM_COMPANY_ID);
-                if (relevance == null) {
+                if (ObjectUtil.isEmpty(relevance)) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                     return RestResponse.fail(MessageUtils.get("msg.add.fail"));
                 }
                 //新增项目电梯关联表
                 boolean result = projectRelevanceService.save(request, companyLiftEntry.getId(), request.getWorkerId());
                 if (!result) {
+                    TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
                     return RestResponse.fail(MessageUtils.get("msg.add.fail"));
                 }
                 break;

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

@@ -169,8 +169,8 @@ public class PlatformCompanyLiftRelevanceService extends ServiceImpl<PlatformCom
             case "3":
                 project.setEndDate(request.getEndDate());
                 project.setProjectStatus(CommonEnum.ProjectStatus.IN_SERVICE.getCode());
-                int response = projectService.modify(project);
-                if (response < 0) return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
+                boolean response = projectService.modify(project);
+                if (!response) return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
                 break;
             default:
                 break;

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

@@ -134,9 +134,9 @@ public class ProjectController {
      */
     @PostMapping("modify")
     public RestResponse modify(@RequestBody Project project) {
-        Integer result = projectService.modify(project);
-        if (result > 0) {
-            return RestResponse.success(result, MessageUtils.get("msg.modify.success"));
+        boolean result = projectService.modify(project);
+        if (result) {
+            return RestResponse.success(null, MessageUtils.get("msg.modify.success"));
         }
         return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
     }

+ 21 - 8
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectService.java

@@ -156,6 +156,19 @@ public class ProjectService extends ServiceImpl<ProjectMapper,Project> {
         return projectMapper.selectById(id);
     }
 
+    /**
+     * @param project 项目信息
+     * @return 是否成功
+     * @description 保存项目信息
+     * @date 2020/1/14 4:12 下午
+     */
+    public boolean saveProject(Project project) {
+        //按当前日期时间戳自动生成项目编号
+        String projectCode = DateUtils.generateCode();
+        project.setProjectCode("XM" + projectCode);
+        return save(project);
+    }
+
     /**
      * @param request 新增项目数据项
      * @return Integer 成功1或失败0
@@ -165,16 +178,16 @@ public class ProjectService extends ServiceImpl<ProjectMapper,Project> {
     @Transactional(rollbackFor = Exception.class)
     public RestResponse add(ProjectExtensionRequest request) {
         Project project = request.getProject();
-        //按当前日期时间戳自动生成项目编号
-        String projectCode = DateUtils.generateCode();
-        project.setProjectCode("XM" + projectCode);
-        int ret = projectMapper.insert(project);
-        if (ret < 0) {
+        boolean ret = saveProject(project);
+        if (!ret) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             return RestResponse.fail(MessageUtils.get("msg.add.fail"));
         }
+        //批量新增项目成员信息
         List<ProjectUser> users = request.getUserList();
         boolean result = projectUserService.saveBatch(users, users.size());
         if (result) {
+            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             return RestResponse.fail(MessageUtils.get("msg.add.fail"));
         }
         return RestResponse.success(null, MessageUtils.get("msg.add.success"));
@@ -182,12 +195,12 @@ public class ProjectService extends ServiceImpl<ProjectMapper,Project> {
 
     /**
      * @param project 修改项目数据项
-     * @return Integer 成功1或失败0
+     * @return 是否成功
      * @description 修改项目
      * @date 2019/11/27 2:22 PM
      */
-    public Integer modify(Project project) {
-        return projectMapper.updateById(project);
+    public boolean modify(Project project) {
+        return updateById(project);
     }
 
     /**

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

@@ -3,6 +3,7 @@ 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.request.ProjectUserRequest;
 import cn.com.ty.lift.business.project.dao.mapper.ProjectUserMapper;
+import cn.com.ty.lift.common.constants.CommonEnum;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
@@ -42,6 +43,7 @@ public class ProjectUserService extends ServiceImpl<ProjectUserMapper, ProjectUs
         userList.forEach(entry -> {
             entry.setProjectId(request.getProjectId());
             entry.setMtCompanyId(request.getMtCompanyId());
+            entry.setUserRole(CommonEnum.DefaultRole.MTWORK.getCode());
         });
         return saveBatch(userList);
     }