feat(): 增加新增客户支付接口

master
DongZeLiang 2024-08-05 11:02:03 +08:00
parent 80ecab5770
commit aa22d8b4db
5 changed files with 105 additions and 4 deletions

View File

@ -3,6 +3,8 @@ package com.muyu.cloud.pay.domain;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.annotation.TableName;
import com.muyu.cloud.pay.domain.req.OrderCustomerAddReq;
import com.muyu.common.core.utils.bean.BeanUtils;
import com.muyu.common.core.web.domain.BaseEntity; import com.muyu.common.core.web.domain.BaseEntity;
import lombok.*; import lombok.*;
import lombok.experimental.SuperBuilder; import lombok.experimental.SuperBuilder;
@ -37,10 +39,24 @@ public class OrderPayCustomer extends BaseEntity {
*/ */
private String appCode; private String appCode;
/**
* /
*/
private String appDesc;
/** /**
* *
*/ */
private String status; 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,65 @@
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 jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author: DongZeLiang
* @date: 2024/8/5
* @Description:
* @Version: 1.0
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@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 = {"appName"})
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(title = "服务/客户备注", type = "String")
private String remark;
}

View File

@ -21,10 +21,6 @@ import org.springframework.context.ConfigurableApplicationContext;
public class MuYuPayApplication { public class MuYuPayApplication {
public static void main (String[] args) { public static void main (String[] args) {
ConfigurableApplicationContext applicationContext = SpringApplication.run(MuYuPayApplication.class, args); ConfigurableApplicationContext applicationContext = SpringApplication.run(MuYuPayApplication.class, args);
String[] beanDefinitionNames = applicationContext.getBeanFactory().getBeanDefinitionNames();
for (String beanDefinitionName : beanDefinitionNames) {
log.info("beanDefinitionName:{}" , beanDefinitionName);
}
} }
} }

View File

@ -3,6 +3,7 @@ package com.muyu.cloud.pay.controller;
import com.dtflys.forest.springboot.annotation.ForestScannerRegister; import com.dtflys.forest.springboot.annotation.ForestScannerRegister;
import com.muyu.cloud.pay.domain.OrderPayCustomer; import com.muyu.cloud.pay.domain.OrderPayCustomer;
import com.muyu.cloud.pay.domain.req.CustomerListReq; 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.domain.resp.CustomerResp;
import com.muyu.cloud.pay.service.OrderPayCustomerService; import com.muyu.cloud.pay.service.OrderPayCustomerService;
import com.muyu.common.core.domain.Result; import com.muyu.common.core.domain.Result;
@ -64,4 +65,16 @@ public class OrderPayCustomerController {
orderPayCustomerService.getCustomerAllList() orderPayCustomerService.getCustomerAllList()
); );
} }
/**
*
* @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

@ -10,6 +10,7 @@ import com.muyu.cloud.pay.domain.resp.CustomerResp;
import com.muyu.cloud.pay.mapper.OrderPayCustomerMapper; import com.muyu.cloud.pay.mapper.OrderPayCustomerMapper;
import com.muyu.cloud.pay.service.OrderPayCustomerService; import com.muyu.cloud.pay.service.OrderPayCustomerService;
import com.muyu.cloud.pay.service.OrderPayService; import com.muyu.cloud.pay.service.OrderPayService;
import com.muyu.common.core.exception.ServiceException;
import com.muyu.common.core.utils.StringUtils; import com.muyu.common.core.utils.StringUtils;
import com.muyu.common.nacos.service.NacosServerService; import com.muyu.common.nacos.service.NacosServerService;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
@ -90,4 +91,14 @@ public class OrderPayCustomerServiceImpl
.filter(nacosServer -> !customerSet.contains(nacosServer)) .filter(nacosServer -> !customerSet.contains(nacosServer))
.toList(); .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);
}
} }