feat():新增列表查询

master
LQS 2024-08-06 20:36:25 +08:00
parent 085f64e7cb
commit 6abed9b718
13 changed files with 312 additions and 8 deletions

View File

@ -0,0 +1,14 @@
package com.muyu.cloud.pay;
/**
* @Author
* @Packagecom.muyu.cloud.pay
* @Projectcloud-pay
* @nameA
* @Date2024/8/5 17:14
*/
public interface A<T> {
}

View File

@ -0,0 +1,11 @@
package com.muyu.cloud.pay;
/**
* @Author
* @Packagecom.muyu.cloud.pay
* @Projectcloud-pay
* @nameB
* @Date2024/8/5 17:14
*/
public interface B<T> extends A<B<A<B>>>{
}

View File

@ -0,0 +1,83 @@
package com.muyu.cloud.pay.domain;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.cloud.pay.domain.resp.CustomerOrderPaySimpleResp;
import com.muyu.common.core.enums.SysPayType;
import com.muyu.common.core.web.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import java.math.BigDecimal;
@Data
@SuperBuilder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName(value = "order_pay_info", autoResultMap = true)
public class OrderPayInfo extends BaseEntity {
/**
* `id` INT AUTO_INCREMENT COMMENT '' ,
* `` VARCHAR(16) COMMENT '' ,
* `` VARCHAR(16) COMMENT '' ,
* `` VARCHAR(32) COMMENT '' ,
* `` VARCHAR(32) COMMENT '' ,
* `` VARCHAR(32) COMMENT '' ,
* `` VARCHAR(64) COMMENT '' ,
* `` DECIMAL(24,6) COMMENT '' ,
* `` VARCHAR(32) COMMENT ';012:345' ,
*
*/
/**
*
*/
@TableId(value = "id",type = IdType.AUTO)
private Long id ;
/**
*
*/
private String appName ;
/**
*
*/
private String appCode ;
/**
*
*/
private String cusOrderNumber ;
/**
*
*/
private String payOrderNumber ;
/**
*
*/
private String channelType ;
/**
*
*/
private String channelOrderNumber ;
/**
*
*/
private BigDecimal price ;
/**
* 012:345
*/
private String status ;
public CustomerOrderPaySimpleResp buildCustomerOrderPaySimpleResp() {
return CustomerOrderPaySimpleResp.builder()
.cusOrderNumber(this.cusOrderNumber)
.channelTypeName(SysPayType.getInfoByCode(this.channelType))
.price(this.price)
.build() ;
}
}

View File

@ -0,0 +1,41 @@
package com.muyu.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;
/**
* @Author
* @Packagecom.muyu.cloud.pay.domain.resp
* @Projectcloud-pay
* @nameCustomerOrderPaySimpleResp
* @Date2024/8/4 21:03
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Tag(name = "客户支付单",description = "客户支付单简略信息")
public class CustomerOrderPaySimpleResp {
/**
*
*/
@Schema(name = "客户单号",type = "String",defaultValue = "UIOH123467981JKF",description ="客户传入的支付单信息" )
private String cusOrderNumber ;
/**
*
*/
@Schema(name = "支付金额",type = "BigDecimal",defaultValue = "36.56",description ="客户传入的支付金额" )
private BigDecimal price ;
/**
*
*/
@Schema(name = "渠道商类型",type = "String",defaultValue = "支付宝",description ="用户支付的时候选择的渠道商" )
private String channelTypeName ;
}

View File

@ -13,6 +13,9 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;
import java.util.List;
import java.util.function.Function;
import java.util.function.Supplier;
@Data
@Builder
@ -48,12 +51,18 @@ public class CustomerResp {
@Schema(description = "创建时间",defaultValue = "2024-7-31 14:30:29",type = "Date")
private Date createTime;
/**
* 5
*/
private List<CustomerOrderPaySimpleResp> orderPaySimpleRespList;
/**\
*
* @param orderPayCustomer
* @return
*/
public static CustomerResp customerBuild(OrderPayCustomer orderPayCustomer) {
public static CustomerResp customerBuild(OrderPayCustomer orderPayCustomer, Supplier<List<CustomerOrderPaySimpleResp>> function) {
return CustomerResp.builder()
.id(orderPayCustomer.getId())
.appName(orderPayCustomer.getAppName())
@ -61,6 +70,7 @@ public class CustomerResp {
.status(orderPayCustomer.getStatus())
.createBy(orderPayCustomer.getCreateBy())
.createTime(orderPayCustomer.getCreateTime())
.orderPaySimpleRespList(function.get())
.build();
}
}

View File

@ -0,0 +1,20 @@
package com.muyu.cloud.pay.domain.resp;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author
* @Packagecom.muyu.cloud.pay.domain.resp
* @Projectcloud-pay
* @nameOrderPayResp
* @Date2024/8/4 21:04
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class OrderPayResp {
}

View File

@ -0,0 +1,10 @@
package com.muyu.cloud.pay.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.muyu.cloud.pay.domain.OrderPayInfo;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface OrderPayMapper extends BaseMapper<OrderPayInfo> {
}

View File

@ -0,0 +1,19 @@
package com.muyu.cloud.pay.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.muyu.cloud.pay.domain.OrderPayInfo;
import java.util.List;
public interface OrderPayService extends IService<OrderPayInfo> {
/**
* Code
* @param appCode code
* @param limit
* @return
*/
List<OrderPayInfo> selectOrderPayByAppCodeAndLimit(String appCode, int limit);
}

View File

@ -4,37 +4,42 @@ package com.muyu.cloud.pay.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.cloud.pay.domain.OrderPayCustomer;
import com.muyu.cloud.pay.domain.OrderPayInfo;
import com.muyu.cloud.pay.domain.req.CustomerListReq;
import com.muyu.cloud.pay.domain.resp.CustomerResp;
import com.muyu.cloud.pay.mapper.OrderPayCustomerMapper;
import com.muyu.cloud.pay.service.OrderPayCustomerService;
import com.muyu.cloud.pay.service.OrderPayService;
import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import javax.annotation.Resource;
import java.util.List;
@Log4j2
@Service
public class OrderPayCustomerServiceImpl
extends ServiceImpl<OrderPayCustomerMapper, OrderPayCustomer>
implements OrderPayCustomerService
{
implements OrderPayCustomerService {
@Resource(type = OrderPayServiceImpl.class)
private OrderPayService orderPayService;
@Override //查询客户集合
public List<CustomerResp> selectList(CustomerListReq customerListReq) {
LambdaQueryWrapper<OrderPayCustomer> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.like(
StringUtils.isNoneEmpty(customerListReq.getAppName()),
OrderPayCustomer::getAppName,customerListReq.getAppName()
OrderPayCustomer::getAppName, customerListReq.getAppName()
);
queryWrapper.like(
StringUtils.isNoneEmpty(customerListReq.getAppCode()),
OrderPayCustomer::getAppCode,customerListReq.getAppCode()
OrderPayCustomer::getAppCode, customerListReq.getAppCode()
);
queryWrapper.eq(
StringUtils.isNoneEmpty(customerListReq.getStatus()),
OrderPayCustomer::getStatus,customerListReq.getStatus()
OrderPayCustomer::getStatus, customerListReq.getStatus()
);
List<OrderPayCustomer> orderPayCustomerList = this.list(queryWrapper);
@ -83,8 +88,18 @@ public class OrderPayCustomerServiceImpl
/**
*
*/
// return orderPayCustomerList.stream()
// .map(CustomerResp::customerBuild)
// .toList();
return orderPayCustomerList.stream()
.map(CustomerResp::customerBuild)
.map(orderPayCustomer -> CustomerResp.customerBuild(
orderPayCustomer,
() -> orderPayService.selectOrderPayByAppCodeAndLimit(orderPayCustomer.getAppCode(), 5)
.stream()
.map(OrderPayInfo::buildCustomerOrderPaySimpleResp)
.toList()
)
)
.toList();
}
}

View File

@ -0,0 +1,23 @@
package com.muyu.cloud.pay.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.muyu.cloud.pay.domain.OrderPayInfo;
import com.muyu.cloud.pay.mapper.OrderPayMapper;
import com.muyu.cloud.pay.service.OrderPayService;
import org.springframework.stereotype.Service;
import java.util.List;
@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,false,OrderPayInfo::getCreateTime);
orderPayInfoQueryWrapper.last("limit"+limit);
return this.list(orderPayInfoQueryWrapper);
}
}

View File

@ -0,0 +1,49 @@
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 '渠道商单号' ,
`price` DECIMAL(24,6) COMMENT '支付金额' ,
`status` VARCHAR(32) COMMENT '支付状态' ,
`create_by` bigint COMMENT '创建人' ,
`create_time` DATETIME COMMENT '创建时间' ,
`update_by` bigint COMMENT '更新人' ,
`update_time` DATETIME COMMENT '更新时间' ,
`remark` VARCHAR(255) COMMENT '备注' ,
PRIMARY KEY (id)
) COMMENT = '订单支付信息';
CREATE TABLE order_pay_customer(
`id` INT AUTO_INCREMENT COMMENT '主键' ,
`app_name` VARCHAR(16) NOT NULL COMMENT '服务/客户名称' ,
`app_code` VARCHAR(16) NOT NULL 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 '更新时间' ,
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 '更新时间' ,
PRIMARY KEY (id)
) COMMENT = '订单支付退款表';

View File

@ -0,0 +1,6 @@
-- order_pay_customer 支付单客户 增加备注字段
ALTER TABLE `order_pay_customer` ADD COLUMN `remark` varchar(64) NULL COMMENT '备注';
-- order_pay_customer 支付订单记录表 增加备注字段
ALTER TABLE `order_pay_info` ADD COLUMN `remark` varchar(64) NULL COMMENT '备注';
-- order_pay_customer 支付退款表 增加备注字段
ALTER TABLE `order_pay_refund` ADD COLUMN `remark` varchar(64) NULL COMMENT '备注';

View File

@ -0,0 +1,3 @@
-- 给order_pay_info 支付记录订单表 添加支付金额字段
ALTER TABLE `order_pay_info` ADD COLUMN `price` decimal(24,6) NULL COMMENT '支付金额';