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

付款详情、批量修改付款明细接口

别傲 5 éve
szülő
commit
e2e449ed2e

+ 35 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/controller/PaymentController.java

@@ -1,11 +1,15 @@
 package cn.com.ty.lift.business.contract.controller;
 
+import cn.com.ty.lift.business.contract.dao.entity.model.request.PaymentDetailRequest;
+import cn.com.ty.lift.business.contract.dao.entity.model.request.PaymentModifyRequest;
 import cn.com.ty.lift.business.contract.dao.entity.model.request.PaymentRequest;
+import cn.com.ty.lift.business.contract.dao.entity.model.response.PaymentDetailResponse;
 import cn.com.ty.lift.business.contract.dao.entity.model.response.PaymentResponse;
 import cn.com.ty.lift.business.contract.service.PaymentService;
 import cn.com.ty.lift.business.framework.util.MessageUtils;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -41,4 +45,35 @@ public class PaymentController {
         }
         return RestResponse.success(page, MessageUtils.get("msg.query.success"));
     }
+
+    /**
+     * @param request 付款详情查询条件
+     * @return RestResponse 付款详情
+     * @description 查询付款详情
+     * @date 2020/2/24 10:47 上午
+     */
+    @PostMapping("detail")
+    public RestResponse detail(@RequestBody PaymentDetailRequest request){
+       PaymentDetailResponse response = paymentService.detail(request);
+       if (ObjectUtil.isEmpty(response)){
+           return RestResponse.success();
+       }
+       return RestResponse.success(response, MessageUtils.get("msg.query.detail.success"));
+    }
+
+    /**
+     * @param request 付款列表
+     * @return 1.成功, 0.失败, 消息描述
+     * @description 批量修改付款信息
+     * @date 2020/2/24 10:47 上午
+     */
+    @PostMapping("batch/modify")
+    public RestResponse batchModify(@RequestBody PaymentModifyRequest request) {
+        boolean result = paymentService.modifyBatchById(request.getPaymentList());
+        if (result) {
+            return RestResponse.success(null, MessageUtils.get("msg.modify.success"));
+        } else {
+            return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
+        }
+    }
 }

+ 26 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/model/request/PaymentDetailRequest.java

@@ -0,0 +1,26 @@
+package cn.com.ty.lift.business.contract.dao.entity.model.request;
+
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author bieao
+ * @date 2020/2/24
+ * @description 付款详情请求
+ */
+@Data
+public class PaymentDetailRequest {
+
+    /**
+     * 合同id
+     */
+    @NotNull(message = "notEmpty")
+    private Long id;
+
+    /**
+     * 公司id
+     */
+    @NotNull(message = "notEmpty")
+    private Long mtCompanyId;
+}

+ 22 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/model/request/PaymentModifyRequest.java

@@ -0,0 +1,22 @@
+package cn.com.ty.lift.business.contract.dao.entity.model.request;
+
+import cn.com.ty.lift.business.contract.dao.entity.Payment;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import java.util.List;
+
+/**
+ * @author bieao
+ * @date 2020/2/24
+ * @description 批量修改付款
+ */
+@Data
+public class PaymentModifyRequest {
+
+    /**
+     * 付款列表
+     */
+    @NotEmpty(message = "notEmpty")
+    private List<Payment> paymentList;
+}

+ 74 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/model/response/PaymentDetailResponse.java

@@ -0,0 +1,74 @@
+package cn.com.ty.lift.business.contract.dao.entity.model.response;
+
+import cn.com.ty.lift.business.contract.dao.entity.Payment;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.List;
+
+/**
+ * @author bieao
+ * @date 2020/2/24
+ * @description 付款详情返回体
+ */
+@Data
+public class PaymentDetailResponse {
+    /**
+     * 合同编号
+     */
+    private String contractCode;
+    /**
+     * 合同来源
+     */
+    private String contractSource;
+    /**
+     * 项目名称
+     */
+    private String projectName;
+    /**
+     * 项目地址
+     */
+    private String projectAddress;
+    /**
+     * 合同类型
+     */
+    private Integer contractType;
+    /**
+     * 电梯台量
+     */
+    private Integer liftNum;
+    /**
+     * 开始时间
+     */
+    private LocalDate startDate;
+    /**
+     * 结束时间
+     */
+    private LocalDate endDate;
+    /**
+     * 付款说明
+     */
+    private String payMode;
+    /**
+     * 金额
+     */
+    private BigDecimal moneys;
+    /**
+     * 签约时间
+     */
+    private LocalDate givenDate;
+    /**
+     * 签约人
+     */
+    private String givenUser;
+    /**
+     * 备注
+     */
+    private String remarks;
+
+    /**
+     * 付款明细
+     */
+    private List<Payment> paymentList;
+}

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/model/response/PaymentResponse.java

@@ -30,7 +30,7 @@ public class PaymentResponse {
     /**
      * 收款单号
      */
-    private String PaymentCode;
+    private String paymentCode;
     /**
      * 应收金额
      */

+ 4 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/mapper/PaymentMapper.java

@@ -1,7 +1,9 @@
 package cn.com.ty.lift.business.contract.dao.mapper;
 
 import cn.com.ty.lift.business.contract.dao.entity.Payment;
+import cn.com.ty.lift.business.contract.dao.entity.model.request.PaymentDetailRequest;
 import cn.com.ty.lift.business.contract.dao.entity.model.request.PaymentRequest;
+import cn.com.ty.lift.business.contract.dao.entity.model.response.PaymentDetailResponse;
 import cn.com.ty.lift.business.contract.dao.entity.model.response.PaymentResponse;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -16,4 +18,6 @@ public interface PaymentMapper extends BaseMapper<Payment> {
 
     IPage<PaymentResponse> findByCondition(IPage<PaymentResponse> page, @Param("request") PaymentRequest request);
 
+    PaymentDetailResponse queryContractDetailById(@Param("request") PaymentDetailRequest request);
+
 }

+ 18 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/service/PaymentService.java

@@ -1,10 +1,13 @@
 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.request.PaymentDetailRequest;
 import cn.com.ty.lift.business.contract.dao.entity.model.request.PaymentRequest;
+import cn.com.ty.lift.business.contract.dao.entity.model.response.PaymentDetailResponse;
 import cn.com.ty.lift.business.contract.dao.entity.model.response.PaymentResponse;
 import cn.com.ty.lift.business.contract.dao.mapper.PaymentMapper;
 import cn.com.ty.lift.common.utils.DateUtils;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -30,6 +33,21 @@ public class PaymentService extends ServiceImpl<PaymentMapper, Payment> {
         return baseMapper.findByCondition(request.getPage(),request);
     }
 
+    /**
+     * @param request 付款详情查询条件
+     * @return RestResponse 付款详情
+     * @description 查询付款详情
+     * @date 2020/2/24 10:47 上午
+     */
+    public PaymentDetailResponse detail(PaymentDetailRequest request){
+        PaymentDetailResponse response = baseMapper.queryContractDetailById(request);
+        LambdaQueryWrapper<Payment> lambdaQueryWrapper = new QueryWrapper<Payment>().lambda();
+        lambdaQueryWrapper.eq(Payment::getContractsId, request.getId());
+        List<Payment> paymentList = list(lambdaQueryWrapper);
+        response.setPaymentList(paymentList);
+        return response;
+    }
+
     /**
      * @param payments 付款信息
      * @param contractId 合同id

+ 24 - 0
lift-business-service/src/main/resources/mapper/contract/PaymentMapper.xml

@@ -54,4 +54,28 @@
 		</if>
 	</select>
 
+	<select id="queryContractDetailById" parameterType="cn.com.ty.lift.business.contract.dao.entity.model.request.PaymentRequest"
+			resultType="cn.com.ty.lift.business.contract.dao.entity.model.response.PaymentDetailResponse">
+		SELECT
+		       p.project_name AS projectName,
+			   p.address      AS projectAddress,
+			   c.code         AS contractCode,
+			   c.source       AS contractSource,
+			   c.type         AS contractType,
+			   c.lift_num     AS liftNum,
+			   c.star_date    AS starDate,
+			   c.end_date     AS endDate,
+			   c.pay_mode     AS payMode,
+			   c.moneys       AS moneys,
+			   c.given_date   AS givenDate,
+			   c.given_user   AS givenUser,
+			   c.remarks      AS remarks
+		FROM contracts c
+				 LEFT JOIN project p ON c.project_id = p.id
+		WHERE c.mt_company_id = #{request.mtCompanyId,jdbcType=BIGINT}
+		<if test="request.id!=null and request.id!=''">
+			AND c.id =  #{request.id,jdbcType=BIGINT}
+		</if>
+	</select>
+
 </mapper>