新增支付接口

master
Number7 2024-08-08 20:59:54 +08:00
parent beed71c820
commit 2761e77985
4 changed files with 117 additions and 8 deletions

View File

@ -3,9 +3,11 @@ 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.req.OrderCustomerAddReq;
import com.muyu.common.core.web.domain.BaseEntity;
import lombok.*;
import lombok.experimental.SuperBuilder;
import org.springframework.beans.BeanUtils;
/**
* @Authorliuxinyue
@ -46,4 +48,18 @@ public class OrderPayCustomer extends BaseEntity{
*/
private String status;
public static OrderPayCustomer addBuild(OrderCustomerAddReq req){
return OrderPayCustomer.builder()
.appName(req.getAppName())
.appCode(req.getAppCode())
.appDesc(req.getAppDesc())
.status(req.getStatus())
.remark(req.getRemark())
.build();
}
}

View File

@ -0,0 +1,64 @@
package com.muyu.cloud.pay.domain.req;
import com.muyu.cloud.pay.domain.OrderPayCustomer;
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.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Authorliuxinyue
* @Packagecom.muyu.cloud.pay.domain.req
* @Projectcloud-pay
* @nameOrderCustomerAddReq
* @Date2024/8/8 20:04
*/
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Tag(name = "支付服务客户添加请求对象",description = "根据入参进行客户服务的添加")
public class OrderCustomerAddReq {
/**
* /
*/
@NotEmpty(message = "服务客户名称不可为空")
@Schema(title = "服务/客户名称",type = "String",defaultValue = "会议服务",
description = "客户名称一般为微服务的中文名称,方便使用者进行区分",requiredProperties = {"appName"})
private String appName;
/**
* /
*/
@NotBlank(message = "服务客户编码不可为空")
@Schema(title = "服务/客户编码",type = "String",defaultValue = "muyu-vip",
description = "客户编码,从[/customer/all]接口当中进行获取",requiredProperties = {"appCode"})
private String appCode;
/**
* /
*/
@Schema(title = "服务/客户描述",type = "String")
private String appDesc;
/**
*
*/
@NotBlank(message = "客户使用状态不可为空")
@IsSystemYesNo
@Schema(title = "客户开通状态",type = "String",defaultValue = "Y",
description = "状态为Y和N,如果为Y则客户可以使用支付接口,若为N则客户不可以使用支付接口")
private String status;
/**
*
*/
@Schema(description = "服务/客户备注",type = "String")
private String remark;
}

View File

@ -1,7 +1,9 @@
package com.muyu.cloud.pay.controller;
import com.dtflys.forest.springboot.annotation.ForestScannerRegister;
import com.muyu.cloud.pay.domain.OrderPayCustomer;
import com.muyu.cloud.pay.domain.req.CustomerListReq;
import com.muyu.cloud.pay.domain.req.OrderCustomerAddReq;
import com.muyu.cloud.pay.domain.resp.CustomerResp;
import com.muyu.cloud.pay.service.OrderPayCustomerService;
import com.muyu.common.core.domain.Result;
@ -12,6 +14,7 @@ import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@ -72,6 +75,21 @@ public class OrderPayCustomerController {
}
/**
*
* @param orderCustomerAddReq
* @return /
*/
@PostMapping("")
@Operation(summary = "客户信息添加",description = "添加支付平台客户信息,添加成功之后才可以使用支付类的产品")
public Result<String> save(@Validated @RequestBody OrderCustomerAddReq orderCustomerAddReq){
orderPayCustomerService.save(OrderPayCustomer.addBuild(orderCustomerAddReq));
return Result.success();
}
}

View File

@ -1,29 +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.dtflys.forest.Forest;
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.CustomerOrderPaySimpleResp;
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 com.muyu.common.core.enums.SysPayType;
import com.muyu.common.nacos.remote.NacosServiceRemote;
import com.muyu.common.core.exception.ServiceException;
import com.muyu.common.nacos.service.NacosServerService;
import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
@ -109,6 +103,23 @@ public class OrderPayCustomerServiceImpl
.filter(nacosServer -> !customerSet.contains(nacosServer))
.toList();
}
@Override
public boolean save(OrderPayCustomer orderPayCustomer) {
String appCode = orderPayCustomer.getAppCode();
List<String> customerAllList = this.getCustomerAllList();
if(!customerAllList.contains(appCode)){
throw new ServiceException("客户编码重复");
}
return super.save(orderPayCustomer);
}
}