feat():增加了客户接口

master
Cui YongXing 2024-08-04 09:34:00 +08:00
parent 2f356008f8
commit 0192c67fbe
8 changed files with 181 additions and 4 deletions

View File

@ -3,14 +3,21 @@ package com.muyu.pay.common.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.common.core.enums.SysPayType;
import com.muyu.common.core.web.domain.BaseEntity;
import lombok.*;
import com.muyu.pay.common.domain.resp.CustomerOrderPaySimpleResp;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.math.BigDecimal;
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
@AllArgsConstructor
@SuperBuilder
@TableName(value = "order_pay_info" ,autoResultMap = true)
public class OrderPayInfo extends BaseEntity {
@ -46,6 +53,12 @@ public class OrderPayInfo extends BaseEntity {
*/
private String channelType;
/**
*
*/
private BigDecimal price;
/**
*
*/
@ -57,5 +70,16 @@ public class OrderPayInfo extends BaseEntity {
private String status;
public CustomerOrderPaySimpleResp buildCustomerOrderPaySimpleResp(){
return CustomerOrderPaySimpleResp.builder()
.cusOrderNumber(this.cusOrderNumber)
.channelTypeName(SysPayType.getInfoByCode(this.channelType))
.price(this.price)
.build();
}
}

View File

@ -3,6 +3,7 @@ package com.muyu.pay.common.domain.req;
import com.muyu.common.core.validation.custom.IsSystemYesNo;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;

View File

@ -0,0 +1,51 @@
package com.muyu.pay.common.domain.resp;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.math.BigDecimal;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Tag(name = "客户支付单",description = "客户支付单信息")
public class CustomerOrderPaySimpleResp {
/**
*
*/
@Schema(name = "客户单号",description = "客户单号",type = "String",defaultValue = "aliyunzfb1239912331")
private String cusOrderNumber;
/**
*
*/
@Schema(name = "支付金额",description = "支付金额",type = "String",defaultValue = "llffasd31231223")
private String payOrderNumber;
/**
*
*/
@Schema(name = "支付金额",description = "支付金额",type = "BigDecimal",defaultValue = "25.3")
private BigDecimal price;
/**
*
*/
@Schema(name = "渠道商类型",description = "用户支付的时候选择渠道商",type = "BigDecimal",defaultValue = "支付宝")
private String channelTypeName;
}

View File

@ -10,8 +10,12 @@ import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.util.Date;
import java.util.List;
import java.util.function.Function;
import java.util.function.Supplier;
@Data
@AllArgsConstructor
@ -55,7 +59,15 @@ public class CustomerResp {
@Schema(description = "创建时间",defaultValue = "2024-7-31 21:16:45",type = "Date")
private Date createTime;
public static CustomerResp customerBuild(OrderPayCustomer orderPayCustomer){
/**
* 5
*/
@Schema(description = "客户最近5条支付单")
private List<CustomerOrderPaySimpleResp> orderPaySimpleRespsList;
public static CustomerResp customerBuild(OrderPayCustomer orderPayCustomer, Supplier<List<CustomerOrderPaySimpleResp>> function){
return CustomerResp.builder()
.id(orderPayCustomer.getId())
.appName(orderPayCustomer.getAppCode())
@ -64,6 +76,7 @@ public class CustomerResp {
.status(orderPayCustomer.getStatus())
.createBy(orderPayCustomer.getCreateBy())
.createTime(orderPayCustomer.getCreateTime())
.orderPaySimpleRespsList(function.get())
.build();
}

View File

@ -0,0 +1,54 @@
package com.muyu.pay.common.domain.resp;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class OrderPayResp {
/**
*
*/
private Long id;
/**
*
*/
private String appName;
/**
*
*/
private String appCode;
/**
*
*/
private String cusOrderNumber;
/**
*
*/
private String payOrderNumber;
/**
*
*/
private String channelType;
/**
*
*/
private String channelOrderNumber;
/**
*
*/
private String status;
}

View File

@ -5,6 +5,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.pay.common.domain.OrderPayInfo;
import com.muyu.pay.server.mapper.OrderPayInfoMapper;
import java.util.List;
public interface OrderPayInfoService extends IService<OrderPayInfo> {
List<OrderPayInfo> selectOrderPayByAppCodeAndLimit(String appCode, int status);
}

View File

@ -2,16 +2,23 @@ package com.muyu.pay.server.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.common.core.enums.SysPayType;
import com.muyu.common.core.utils.StringUtils;
import com.muyu.pay.common.domain.OrderPayCustomer;
import com.muyu.pay.common.domain.OrderPayInfo;
import com.muyu.pay.common.domain.req.CustomerListReq;
import com.muyu.pay.common.domain.resp.CustomerOrderPaySimpleResp;
import com.muyu.pay.common.domain.resp.CustomerResp;
import com.muyu.pay.server.mapper.OrderPayCustomerMapper;
import com.muyu.pay.server.service.OrderPayCustomerService;
import com.muyu.pay.server.service.OrderPayInfoService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
@Log4j2
@Service
@ -19,6 +26,11 @@ public class OrderPayCustomerServiceImpl
extends ServiceImpl<OrderPayCustomerMapper, OrderPayCustomer>
implements OrderPayCustomerService {
@Resource
private OrderPayInfoService orderPayInfoService;
@Override
public List<CustomerResp> selectList(CustomerListReq req) {
LambdaQueryWrapper<OrderPayCustomer> queryWrapper = new LambdaQueryWrapper<>();
@ -38,7 +50,15 @@ public class OrderPayCustomerServiceImpl
req.getStatus()
);
return this.list(queryWrapper).stream().map(CustomerResp::customerBuild).toList();
List<OrderPayCustomer> orderPayCustomerList = this.list(queryWrapper);
return orderPayCustomerList.stream()
.map(orderPayCustomer -> CustomerResp.customerBuild(orderPayCustomer, () ->
orderPayInfoService.selectOrderPayByAppCodeAndLimit(orderPayCustomer.getAppCode(), 5)
.stream()
.map(OrderPayInfo::buildCustomerOrderPaySimpleResp)
.toList()
))
.toList();
}
}

View File

@ -1,5 +1,6 @@
package com.muyu.pay.server.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.pay.common.domain.OrderPayInfo;
import com.muyu.pay.server.mapper.OrderPayInfoMapper;
@ -7,7 +8,17 @@ import com.muyu.pay.server.service.OrderPayInfoService;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import java.util.List;
@Log4j2
@Service
public class OrderPayInfoServiceImpl extends ServiceImpl<OrderPayInfoMapper, OrderPayInfo> implements OrderPayInfoService {
@Override
public List<OrderPayInfo> selectOrderPayByAppCodeAndLimit(String appCode, int status) {
LambdaQueryWrapper<OrderPayInfo> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(OrderPayInfo::getAppCode,appCode);
wrapper.orderBy(true,false,OrderPayInfo::getCreateBy);
wrapper.last("limit "+status);
return this.list(wrapper);
}
}