feat(): 新增列表查询

master
zzh 2024-08-04 11:47:13 +08:00
parent 3b632641d7
commit a512f3e8f7
9 changed files with 213 additions and 50 deletions

View File

@ -1,45 +0,0 @@
//package com.bwie.cloud.pay.domain;
//
//import lombok.AllArgsConstructor;
//import lombok.Builder;
//import lombok.Data;
//import lombok.NoArgsConstructor;
//
///**
// * @Authorzhangzhihao
// * @nameorderPayInfo
// * @Date2024/7/31 9:54
// * 不准抄代码,添加注释,清楚每一行代码意思
// */
//@Data
//@Builder
//@NoArgsConstructor
//@AllArgsConstructor
//public class orderPayInfo {
// /**
// * 主键
// */
// private Long id;
//
// /**
// * 客户名称
// */
// private String appName;
//
// /**
// * 客户编号
// */
// private String appCode;
//
// /**
// * 客户单号
// */
// private String cusOrderNumber;
//
// /**
// * 支付单号
// */
// private String
//
//
//}

View File

@ -0,0 +1,50 @@
package com.bwie.cloud.pay.domain.resp;
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;
/**
* @Authorzhangzhihao
* @nameCustomerOrderPaySimpleResp
* @Date2024/8/1 11:46
*
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Tag(name = "客户支付单" ,description = "客户支付单简略信息")
public class CustomerOrderPaySimpleResp {
/**
*
*/
@Schema(name = "客户单号" ,type = "String",defaultValue = "OIEJS1234567DIL",description = "客户传入的支付单信息")
private String cusOrderNumber;
/**
*
*/
@Schema(name = "支付单号" ,type = "String",defaultValue = "ZF1234567889",description = "支付单号")
private String payOrderNumber;
/**
*
*/
@Schema(name = "支付金额" ,type = "BigDecimal",defaultValue = "36.56",description = "客户传入的支付金额")
private BigDecimal price;
/**
*
*/
@Schema(name = "支付渠道商" ,type = "String",defaultValue = "支付宝",description = "用户支付时选择的渠道商")
private String channelTypeName;
}

View File

@ -12,6 +12,9 @@ import lombok.Data;
import lombok.NoArgsConstructor; import lombok.NoArgsConstructor;
import java.util.Date; import java.util.Date;
import java.util.List;
import java.util.function.Function;
import java.util.function.Supplier;
/** /**
* @Authorzhangzhihao * @Authorzhangzhihao
@ -20,9 +23,9 @@ import java.util.Date;
* *
*/ */
@Data @Data
@Builder
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Builder
@Tag(name = "客户信息相应对象",description = "负责客户信息查询的结果") @Tag(name = "客户信息相应对象",description = "负责客户信息查询的结果")
public class CustomerResp { public class CustomerResp {
@ -65,12 +68,17 @@ public class CustomerResp {
@Schema(description = "创建时间",defaultValue = "2024-8-1 10:04:23",type = "Date") @Schema(description = "创建时间",defaultValue = "2024-8-1 10:04:23",type = "Date")
private Date createTime; private Date createTime;
private List<CustomerOrderPaySimpleResp> orderPaySimpleRespList;
/** /**
* *
* @param orderPayCustomer * @param orderPayCustomer
* @return * @return
*/ */
public static CustomerResp customerBuild(OrderPayCustomer orderPayCustomer) { public static CustomerResp customerBuild(OrderPayCustomer orderPayCustomer, Supplier<List<CustomerOrderPaySimpleResp>> function) {
return CustomerResp.builder() return CustomerResp.builder()
.id(orderPayCustomer.getId()) .id(orderPayCustomer.getId())
.appName(orderPayCustomer.getAppName()) .appName(orderPayCustomer.getAppName())
@ -78,6 +86,7 @@ public class CustomerResp {
.status(orderPayCustomer.getStatus()) .status(orderPayCustomer.getStatus())
.createBy(orderPayCustomer.getCreateBy()) .createBy(orderPayCustomer.getCreateBy())
.createTime(orderPayCustomer.getCreateTime()) .createTime(orderPayCustomer.getCreateTime())
.orderPaySimpleRespList(function.get())
.build(); .build();
} }
} }

View File

@ -0,0 +1,19 @@
//package com.bwie.cloud.pay.domain.resp;
//
//import lombok.AllArgsConstructor;
//import lombok.Builder;
//import lombok.Data;
//import lombok.NoArgsConstructor;
//
///**
// * @Authorzhangzhihao
// * @nameorderPayResp
// * @Date2024/8/1 11:44
// * 不准抄代码,添加注释,清楚每一行代码意思
// */
//@Data
//@Builder
//@NoArgsConstructor
//@AllArgsConstructor
//public class OrderPayResp {
//}

View File

@ -0,0 +1,13 @@
package com.bwie.cloud.pay.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bwie.cloud.pay.domain.OrderPayInfo;
/**
* @Authorzhangzhihao
* @nameOrderPayInfoMapper
* @Date2024/8/1 11:51
*
*/
public interface OrderPayMapper extends BaseMapper<OrderPayInfo> {
}

View File

@ -0,0 +1,22 @@
package com.bwie.cloud.pay.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bwie.cloud.pay.domain.OrderPayInfo;
import java.util.List;
/**
* @Authorzhangzhihao
* @nameOrderPayService
* @Date2024/8/1 11:52
*
*/
public interface OrderPayService extends IService<OrderPayInfo> {
/**
* code,
* @param appCode
* @param limit
* @return
*/
List<OrderPayInfo> selectOrderPayByAppCodeAndLimit(String appCode, int limit);
}

View File

@ -3,17 +3,22 @@ package com.bwie.cloud.pay.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bwie.cloud.pay.domain.OrderPayCustomer; import com.bwie.cloud.pay.domain.OrderPayCustomer;
import com.bwie.cloud.pay.domain.OrderPayInfo;
import com.bwie.cloud.pay.domain.req.CustomerListReq; import com.bwie.cloud.pay.domain.req.CustomerListReq;
import com.bwie.cloud.pay.domain.resp.CustomerOrderPaySimpleResp;
import com.bwie.cloud.pay.domain.resp.CustomerResp; import com.bwie.cloud.pay.domain.resp.CustomerResp;
import com.bwie.cloud.pay.mapper.OrderPayCustomerMapper; import com.bwie.cloud.pay.mapper.OrderPayCustomerMapper;
import com.bwie.cloud.pay.service.OrderPayCustomerService; import com.bwie.cloud.pay.service.OrderPayCustomerService;
import com.bwie.cloud.pay.service.OrderPayService;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.function.Function;
/** /**
* @Authorzhangzhihao * @Authorzhangzhihao
@ -26,6 +31,11 @@ import java.util.List;
public class OrderPayCustomerServiceImpl public class OrderPayCustomerServiceImpl
extends ServiceImpl<OrderPayCustomerMapper, OrderPayCustomer> extends ServiceImpl<OrderPayCustomerMapper, OrderPayCustomer>
implements OrderPayCustomerService { implements OrderPayCustomerService {
@Resource(type = OrderPayServiceImpl.class)
private OrderPayService orderPayService;
@Override @Override
public List<CustomerResp> selectList(CustomerListReq customerListReq) { public List<CustomerResp> selectList(CustomerListReq customerListReq) {
LambdaQueryWrapper<OrderPayCustomer> queryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<OrderPayCustomer> queryWrapper = new LambdaQueryWrapper<>();
@ -45,9 +55,14 @@ public class OrderPayCustomerServiceImpl
List<OrderPayCustomer> orderPayCustomerList = this.list(queryWrapper); List<OrderPayCustomer> orderPayCustomerList = this.list(queryWrapper);
return orderPayCustomerList.stream()
return orderPayCustomerList.stream() .map(orderPayCustomer -> CustomerResp.customerBuild(
.map(CustomerResp::customerBuild) orderPayCustomer,
() -> orderPayService.selectOrderPayByAppCodeAndLimit(orderPayCustomer.getAppCode(),5)
.stream()
.map(OrderPayInfo::buidCustomerOrderPaySimpleResp)
.toList())
)
.toList(); .toList();
} }

View File

@ -0,0 +1,28 @@
package com.bwie.cloud.pay.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bwie.cloud.pay.domain.OrderPayInfo;
import com.bwie.cloud.pay.mapper.OrderPayMapper;
import com.bwie.cloud.pay.service.OrderPayService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @Authorzhangzhihao
* @nameOrderPayServiceImpl
* @Date2024/8/1 11:53
*
*/
@Service
public class OrderPayServiceImpl extends ServiceImpl<OrderPayMapper, OrderPayInfo> implements OrderPayService {
@Override
public List<OrderPayInfo> selectOrderPayByAppCodeAndLimit(String appCode, int limit) {
LambdaQueryWrapper<OrderPayInfo> orderPayInfoQueryWrapper = new LambdaQueryWrapper<>();
orderPayInfoQueryWrapper.eq(OrderPayInfo::getAppCode,appCode);
orderPayInfoQueryWrapper.orderBy(true,true,OrderPayInfo :: getCreateTime);
orderPayInfoQueryWrapper.last("limit "+limit);
return this.list(orderPayInfoQueryWrapper);
}
}

View File

@ -0,0 +1,52 @@
CREATE TABLE order_pay_info(
`id` INT AUTO_INCREMENT COMMENT '主键' ,
`app_name` VARCHAR(16) NOT NULL COMMENT '客户名称' ,
`app_code` VARCHAR(16) COMMENT '客户编号' ,
`cus_order_number` VARCHAR(32) COMMENT '客户单号' ,
`pay_order_number` VARCHAR(32) COMMENT '支付单号' ,
`channel_type` VARCHAR(32) COMMENT '渠道商类型' ,
`channel_order_number` VARCHAR(64) COMMENT '渠道商单号' ,
`status` VARCHAR(32) COMMENT '支付单状态;0新建 1待支付 2支付中 3支付成功 4支付失败 5支付超时' ,
`price` DECIMAL(24,6) COMMENT '价格' ,
`create_by` bigint COMMENT '创建人' ,
`create_time` DATETIME COMMENT '创建时间' ,
`update_by` bigint COMMENT '更新人' ,
`update_time` DATETIME COMMENT '更新时间' ,
`remark` VARCHAR(64) COMMENT '备注' ,
PRIMARY KEY (id)
) COMMENT = '订单支付信息';
CREATE TABLE order_pay_customer(
`id` INT AUTO_INCREMENT COMMENT '主键' ,
`app_name` VARCHAR(16) COMMENT '服务/客户名称' ,
`app_code` VARCHAR(16) COMMENT '客户编号' ,
`app_desc` TEXT COMMENT '客户描述' ,
`status` VARCHAR(32) COMMENT '是否开启' ,
`create_by` bigint COMMENT '创建人' ,
`create_time` DATETIME COMMENT '创建时间' ,
`update_by` bigint COMMENT '更新人' ,
`update_time` DATETIME COMMENT '更新时间' ,
`remark` VARCHAR(64) COMMENT '备注' ,
PRIMARY KEY (id)
) COMMENT = '支付单客户';
CREATE TABLE order_pay_refund(
`id` INT AUTO_INCREMENT COMMENT '主键' ,
`cus_order_number` VARCHAR(32) NOT NULL COMMENT '客户退单号' ,
`pay_order_number` VARCHAR(32) NOT NULL COMMENT '支付退单号' ,
`channel_order_number` VARCHAR(64) NOT NULL COMMENT '渠道商退单号' ,
`price` DECIMAL(24,6) NOT NULL COMMENT '退款金额' ,
`pay_info_number` VARCHAR(32) COMMENT '支付单号' ,
`to_account_time` DATETIME COMMENT '到账时间' ,
`status` VARCHAR(32) COMMENT '退单状态' ,
`create_by` bigint COMMENT '创建人' ,
`create_time` DATETIME COMMENT '创建时间' ,
`update_by` bigint COMMENT '更新人' ,
`update_time` DATETIME COMMENT '更新时间' ,
`remark` VARCHAR(64) COMMENT '备注' ,
PRIMARY KEY (id)
) COMMENT = '订单支付退款表';