From 2761e779856b65ba86544935244433c1a49a7d37 Mon Sep 17 00:00:00 2001 From: Number7 <1845377266@qq.com> Date: Thu, 8 Aug 2024 20:59:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=94=AF=E4=BB=98=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud/pay/domain/OrderPayCustomer.java | 16 +++++ .../pay/domain/req/OrderCustomerAddReq.java | 64 +++++++++++++++++++ .../OrderPayCustomerController.java | 18 ++++++ .../impl/OrderPayCustomerServiceImpl.java | 27 +++++--- 4 files changed, 117 insertions(+), 8 deletions(-) create mode 100644 cloud-pay-common/src/main/java/com/muyu/cloud/pay/domain/req/OrderCustomerAddReq.java diff --git a/cloud-pay-common/src/main/java/com/muyu/cloud/pay/domain/OrderPayCustomer.java b/cloud-pay-common/src/main/java/com/muyu/cloud/pay/domain/OrderPayCustomer.java index 4eeeab9..3f63141 100644 --- a/cloud-pay-common/src/main/java/com/muyu/cloud/pay/domain/OrderPayCustomer.java +++ b/cloud-pay-common/src/main/java/com/muyu/cloud/pay/domain/OrderPayCustomer.java @@ -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; /** * @Author:liuxinyue @@ -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(); + + + + } + } diff --git a/cloud-pay-common/src/main/java/com/muyu/cloud/pay/domain/req/OrderCustomerAddReq.java b/cloud-pay-common/src/main/java/com/muyu/cloud/pay/domain/req/OrderCustomerAddReq.java new file mode 100644 index 0000000..ebfe1b6 --- /dev/null +++ b/cloud-pay-common/src/main/java/com/muyu/cloud/pay/domain/req/OrderCustomerAddReq.java @@ -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; + +/** + * @Author:liuxinyue + * @Package:com.muyu.cloud.pay.domain.req + * @Project:cloud-pay + * @name:OrderCustomerAddReq + * @Date:2024/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; + + + + +} diff --git a/cloud-pay-server/src/main/java/com/muyu/cloud/pay/controller/OrderPayCustomerController.java b/cloud-pay-server/src/main/java/com/muyu/cloud/pay/controller/OrderPayCustomerController.java index 3ec0375..40ce6f0 100644 --- a/cloud-pay-server/src/main/java/com/muyu/cloud/pay/controller/OrderPayCustomerController.java +++ b/cloud-pay-server/src/main/java/com/muyu/cloud/pay/controller/OrderPayCustomerController.java @@ -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 save(@Validated @RequestBody OrderCustomerAddReq orderCustomerAddReq){ + + orderPayCustomerService.save(OrderPayCustomer.addBuild(orderCustomerAddReq)); + return Result.success(); + + } + + } diff --git a/cloud-pay-server/src/main/java/com/muyu/cloud/pay/service/impl/OrderPayCustomerServiceImpl.java b/cloud-pay-server/src/main/java/com/muyu/cloud/pay/service/impl/OrderPayCustomerServiceImpl.java index 24347ae..990bae8 100644 --- a/cloud-pay-server/src/main/java/com/muyu/cloud/pay/service/impl/OrderPayCustomerServiceImpl.java +++ b/cloud-pay-server/src/main/java/com/muyu/cloud/pay/service/impl/OrderPayCustomerServiceImpl.java @@ -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 customerAllList = this.getCustomerAllList(); + + if(!customerAllList.contains(appCode)){ + + + throw new ServiceException("客户编码重复"); + + } + + return super.save(orderPayCustomer); + } }