Browse Source

合同列表

master
张彭杰 8 months ago
parent
commit
a17dfe905f
11 changed files with 226 additions and 7 deletions
  1. 6
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/contract/user/ContractUserQueryController.java
  2. 73
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/contract/user/response/UserGetCustomizedServiceContractVo.java
  3. 28
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/paymentorder/user/PaymentOrderUserQueryController.java
  4. 7
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/paymentorder/user/response/PaymentOrderVoucherImageVo.java
  5. 48
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/paymentorder/user/response/UserGetPaymentOrderVo.java
  6. 3
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/contract/ContractQueryService.java
  7. 23
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/contract/impl/ContractQueryServiceImpl.java
  8. 2
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/order/OrderQueryService.java
  9. 9
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/order/impl/OrderQueryServiceImpl.java
  10. 3
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/paymentorder/PaymentOrderQueryService.java
  11. 31
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/paymentorder/impl/PaymentOrderQueryServiceImpl.java

6
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/contract/user/ContractUserQueryController.java

@ -1,6 +1,7 @@
package com.qniao.dam.api.query.contract.user;
import com.qniao.dam.api.query.contract.user.request.UserPageCustomizedServiceContractQueryParams;
import com.qniao.dam.api.query.contract.user.response.UserGetCustomizedServiceContractVo;
import com.qniao.dam.api.query.contract.user.response.UserPageCustomizedServiceContractVo;
import com.qniao.dam.query.contract.ContractQueryService;
import com.qniao.dau.infrastructure.constant.RequestHeaderFields;
@ -39,4 +40,9 @@ public class ContractUserQueryController {
return PageUtil.convert(contractQueryService.pageCustomizedServiceContract(queryParams, pageUtil), UserPageCustomizedServiceContractVo.class);
}
@GetMapping("get/customized-service-contract/by/dating-store-customer")
@ApiOperation("用户查询客户定制服务合同详情")
public UserGetCustomizedServiceContractVo userGetCustomizedServiceContractByDatingStoreCustomer(@RequestParam(value = "datingStoreCustomerId") Long datingStoreCustomerId) {
return contractQueryService.detailByDatingStoreCustomerId(datingStoreCustomerId);
}
}

73
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/contract/user/response/UserGetCustomizedServiceContractVo.java

@ -0,0 +1,73 @@
package com.qniao.dam.api.query.contract.user.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qniao.dam.domian.aggregate.contract.constant.ContractStatusEnum;
import com.qniao.dam.domian.aggregate.walletaccount.constant.IdentityTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.List;
@Data
public class UserGetCustomizedServiceContractVo {
@ApiModelProperty("唯一标识")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@ApiModelProperty("甲方身份类型")
private IdentityTypeEnum firstPartyIdentityType;
@ApiModelProperty("甲方标识")
@JsonSerialize(using = ToStringSerializer.class)
private Long firstPartyId;
@ApiModelProperty("甲方经办人名称")
private String firstPartyName;
@ApiModelProperty("甲方身份编号 身份证、统一信用代码")
private String firstPartyIdentityNo;
@ApiModelProperty("乙方身份类型")
private IdentityTypeEnum secondPartyIdentityType;
@ApiModelProperty("乙方标识")
@JsonSerialize(using = ToStringSerializer.class)
private Long secondPartyId;
@ApiModelProperty("乙方经办人名称")
private String secondPartyName;
@ApiModelProperty("乙方身份编号 身份证、统一信用代码")
private String secondPartyIdentityNo;
@ApiModelProperty("合同金额")
private BigDecimal amount;
@ApiModelProperty("签订日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate signDate;
@ApiModelProperty("开始日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate startDate;
@ApiModelProperty("开始日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDate endDate;
@ApiModelProperty("状态")
private ContractStatusEnum status;
@ApiModelProperty("合同备注")
private String remark;
private List<ContractTermVo> contractTermList;
private List<ContractImageVo> contractImageList;
}

28
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/paymentorder/user/PaymentOrderUserQueryController.java

@ -0,0 +1,28 @@
package com.qniao.dam.api.query.paymentorder.user;
import com.qniao.dam.api.query.paymentorder.user.response.UserGetPaymentOrderVo;
import com.qniao.dam.query.paymentorder.PaymentOrderQueryService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@Api(tags = "付款单")
@RestController
@RequestMapping("user")
public class PaymentOrderUserQueryController {
@Resource
private PaymentOrderQueryService paymentOrderQueryService;
@GetMapping("get/payment-order/by/dating-store-customer")
@ApiOperation("用户获取定制服务客户付款单")
public UserGetPaymentOrderVo userGetPaymentOrderByDatingStoreCustomer(@RequestParam(value = "datingStoreCustomerId") Long datingStoreCustomerId) {
return paymentOrderQueryService.queryByDatingStoreCustomer(datingStoreCustomerId);
}
}

7
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/paymentorder/user/response/PaymentOrderVoucherImageVo.java

@ -0,0 +1,7 @@
package com.qniao.dam.api.query.paymentorder.user.response;
import lombok.Data;
@Data
public class PaymentOrderVoucherImageVo {
}

48
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/paymentorder/user/response/UserGetPaymentOrderVo.java

@ -0,0 +1,48 @@
package com.qniao.dam.api.query.paymentorder.user.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qniao.dam.domian.aggregate.paymentorder.constant.PaymentMethodEnum;
import com.qniao.dam.domian.aggregate.paymentorder.constant.PaymentOrderStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
@Data
public class UserGetPaymentOrderVo {
@ApiModelProperty("唯一标识")
@JsonSerialize(using = ToStringSerializer.class)
private Long id;
@ApiModelProperty("订单标识")
@JsonSerialize(using = ToStringSerializer.class)
private Long orderId;
@ApiModelProperty("应付金额")
private BigDecimal payableAmount;
@ApiModelProperty("未付金额")
private BigDecimal unpaidAmount;
@ApiModelProperty("实付金额")
private BigDecimal paidAmount;
@ApiModelProperty("付款时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime paidTime;
@ApiModelProperty("付款方式")
private PaymentMethodEnum paymentMethod;
@ApiModelProperty("状态")
private PaymentOrderStatusEnum status;
@ApiModelProperty("付款凭证")
private List<String> voucherImageList;
}

3
dating-agency-mall-server/src/main/java/com/qniao/dam/query/contract/ContractQueryService.java

@ -2,6 +2,7 @@ package com.qniao.dam.query.contract;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.qniao.dam.api.query.contract.user.request.UserPageCustomizedServiceContractQueryParams;
import com.qniao.dam.api.query.contract.user.response.UserGetCustomizedServiceContractVo;
import com.qniao.dam.api.query.contract.user.response.UserPageCustomizedServiceContractVo;
import com.qniao.domain.QnPage;
import com.qniao.framework.utils.PageUtil;
@ -9,4 +10,6 @@ import com.qniao.framework.utils.PageUtil;
public interface ContractQueryService {
IPage<UserPageCustomizedServiceContractVo> pageCustomizedServiceContract(UserPageCustomizedServiceContractQueryParams queryParams, PageUtil pageUtil);
UserGetCustomizedServiceContractVo detailByDatingStoreCustomerId(Long datingStoreCustomerId);
}

23
dating-agency-mall-server/src/main/java/com/qniao/dam/query/contract/impl/ContractQueryServiceImpl.java

@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.qniao.dam.api.query.contract.user.request.UserPageCustomizedServiceContractQueryParams;
import com.qniao.dam.api.query.contract.user.response.ContractImageVo;
import com.qniao.dam.api.query.contract.user.response.ContractTermVo;
import com.qniao.dam.api.query.contract.user.response.UserGetCustomizedServiceContractVo;
import com.qniao.dam.api.query.contract.user.response.UserPageCustomizedServiceContractVo;
import com.qniao.dam.domain.aggregate.contract.entity.Contract;
import com.qniao.dam.domain.aggregate.contract.valobj.ContractImage;
import com.qniao.dam.domain.aggregate.contract.valobj.ContractTerm;
import com.qniao.dam.infrastructure.persistent.dao.contract.ContractDao;
@ -17,9 +19,7 @@ import com.qniao.framework.utils.TypeConvertUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
@Service
@ -49,6 +49,23 @@ public class ContractQueryServiceImpl implements ContractQueryService {
return page;
}
@Override
public UserGetCustomizedServiceContractVo detailByDatingStoreCustomerId(Long datingStoreCustomerId) {
UserGetCustomizedServiceContractVo contractVo = null;
Contract contract = contractDao.selectOne(new LambdaQueryWrapper<Contract>()
.eq(Contract::getFirstPartyId, datingStoreCustomerId)
.orderByDesc(Contract::getSignDate)
.last("limit 1"));
if (Objects.nonNull(contract)) {
contractVo = TypeConvertUtils.convert(contract, UserGetCustomizedServiceContractVo.class);
Map<Long, List<ContractTermVo>> allContractTermVoMap = mapContractTermVo(Collections.singletonList(contract.getId()));
contractVo.setContractTermList(allContractTermVoMap.get(contract.getId()));
Map<Long, List<ContractImageVo>> allContractImageVoMap = mapContractImageVo(Collections.singletonList(contract.getId()));
contractVo.setContractImageList(allContractImageVoMap.get(contract.getId()));
}
return contractVo;
}
private Map<Long, List<ContractImageVo>> mapContractImageVo(List<Long> contractIdList) {
List<ContractImage> contractImageList = contractImageDao.selectList(new LambdaQueryWrapper<ContractImage>()
.in(ContractImage::getContractId, contractIdList));

2
dating-agency-mall-server/src/main/java/com/qniao/dam/query/order/OrderQueryService.java

@ -29,4 +29,6 @@ public interface OrderQueryService {
Order queryBySubCategory(Long userId,ProductSubCategoryEnum subCategory);
List<Order> listHis(Long userId, OrderBelongingEnum orderBelonging, OrderStatusEnum status);
Order queryByDatingStoreCustomer(Long datingStoreCustomerId);
}

9
dating-agency-mall-server/src/main/java/com/qniao/dam/query/order/impl/OrderQueryServiceImpl.java

@ -114,4 +114,13 @@ public class OrderQueryServiceImpl implements OrderQueryService {
.eq(Order::getOrderBelonging, orderBelonging)
.eq(Order::getStatus, status));
}
@Override
public Order queryByDatingStoreCustomer(Long datingStoreCustomerId) {
return orderDao.selectOne(new LambdaQueryWrapper<Order>()
.eq(Order::getUserId, datingStoreCustomerId)
.eq(Order::getStatus, OrderStatusEnum.COMPLETED)
.orderByDesc(Order::getCreateTime)
.last("limit 1"));
}
}

3
dating-agency-mall-server/src/main/java/com/qniao/dam/query/paymentorder/PaymentOrderQueryService.java

@ -1,5 +1,6 @@
package com.qniao.dam.query.paymentorder;
import com.qniao.dam.api.query.paymentorder.user.response.UserGetPaymentOrderVo;
import com.qniao.dam.domain.aggregate.paymentorder.entity.PaymentOrder;
import com.qniao.dam.domain.aggregate.paymentorder.valobj.PaymentOrderVoucherImage;
import com.qniao.dam.domian.aggregate.paymentorder.constant.PaymentOrderStatusEnum;
@ -11,4 +12,6 @@ public interface PaymentOrderQueryService {
List<PaymentOrder> listByOrderId(List<Long> orderList, PaymentOrderStatusEnum paymentOrderStatusEnum);
Map<Long,List<PaymentOrderVoucherImage>> mapVoucherImage(List<Long> paymentOrderIdList);
UserGetPaymentOrderVo queryByDatingStoreCustomer(Long datingStoreCustomerId);
}

31
dating-agency-mall-server/src/main/java/com/qniao/dam/query/paymentorder/impl/PaymentOrderQueryServiceImpl.java

@ -2,19 +2,20 @@ package com.qniao.dam.query.paymentorder.impl;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qniao.dam.api.query.paymentorder.user.response.UserGetPaymentOrderVo;
import com.qniao.dam.domain.aggregate.order.entity.Order;
import com.qniao.dam.domain.aggregate.paymentorder.entity.PaymentOrder;
import com.qniao.dam.domain.aggregate.paymentorder.valobj.PaymentOrderVoucherImage;
import com.qniao.dam.domian.aggregate.paymentorder.constant.PaymentOrderStatusEnum;
import com.qniao.dam.infrastructure.persistent.dao.domain.PaymentOrderDao;
import com.qniao.dam.infrastructure.persistent.dao.domain.PaymentOrderVoucherImageDao;
import com.qniao.dam.query.order.OrderQueryService;
import com.qniao.dam.query.paymentorder.PaymentOrderQueryService;
import com.qniao.framework.utils.TypeConvertUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;
@Service
@ -24,6 +25,8 @@ public class PaymentOrderQueryServiceImpl implements PaymentOrderQueryService {
private PaymentOrderDao paymentOrderDao;
@Resource
private PaymentOrderVoucherImageDao paymentOrderVoucherImageDao;
@Resource
private OrderQueryService orderQueryService;
@Override
public List<PaymentOrder> listByOrderId(List<Long> orderList, PaymentOrderStatusEnum status) {
@ -41,4 +44,24 @@ public class PaymentOrderQueryServiceImpl implements PaymentOrderQueryService {
}
return voucherImageList.stream().collect(Collectors.groupingBy(PaymentOrderVoucherImage::getPaymentOrderId));
}
@Override
public UserGetPaymentOrderVo queryByDatingStoreCustomer(Long datingStoreCustomerId) {
UserGetPaymentOrderVo paymentOrderVo = null;
Order order = orderQueryService.queryByDatingStoreCustomer(datingStoreCustomerId);
if (Objects.nonNull(order)) {
PaymentOrder paymentOrder = paymentOrderDao.selectOne(new LambdaQueryWrapper<PaymentOrder>()
.eq(PaymentOrder::getOrderId, order.getMiId())
.orderByDesc(PaymentOrder::getCreateTime)
.last("limit 1"));
if (Objects.nonNull(paymentOrder)) {
paymentOrderVo = TypeConvertUtils.convert(paymentOrder, UserGetPaymentOrderVo.class);
Map<Long, List<PaymentOrderVoucherImage>> allVoucherImageMap = mapVoucherImage(Collections.singletonList(paymentOrder.getId()));
if (CollUtil.isNotEmpty(allVoucherImageMap.get(paymentOrder.getId()))) {
paymentOrderVo.setVoucherImageList(allVoucherImageMap.get(paymentOrder.getId()).stream().map(PaymentOrderVoucherImage::getUrl).collect(Collectors.toList()));
}
}
}
return paymentOrderVo;
}
}
Loading…
Cancel
Save