From 8131d03ab932b8328e38c0a205f2f160794c5103 Mon Sep 17 00:00:00 2001 From: WeiRan <2392355487@qq.com> Date: Fri, 9 Aug 2024 16:04:19 +0800 Subject: [PATCH] =?UTF-8?q?feat():=E5=A2=9E=E5=8A=A0=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=AE=A2=E6=88=B7=E6=94=AF=E4=BB=98=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud/pay/domin/OrderPayCustomer.java | 17 +++++ .../pay/domin/req/OrderCustomerAddReq.java | 63 +++++++++++++++++++ .../OrderPayCustomerController.java | 14 +++++ .../impl/OrderPayCustomerServiceImpl.java | 18 +++++- 4 files changed, 109 insertions(+), 3 deletions(-) create mode 100644 cloud-pay-common/src/main/java/com/muyu/cloud/pay/domin/req/OrderCustomerAddReq.java diff --git a/cloud-pay-common/src/main/java/com/muyu/cloud/pay/domin/OrderPayCustomer.java b/cloud-pay-common/src/main/java/com/muyu/cloud/pay/domin/OrderPayCustomer.java index b1fa8f1..aa0ebb5 100644 --- a/cloud-pay-common/src/main/java/com/muyu/cloud/pay/domin/OrderPayCustomer.java +++ b/cloud-pay-common/src/main/java/com/muyu/cloud/pay/domin/OrderPayCustomer.java @@ -3,9 +3,11 @@ package com.muyu.cloud.pay.domin; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.muyu.cloud.pay.domin.req.OrderCustomerAddReq; import com.muyu.common.core.web.domain.BaseEntity; import lombok.*; import lombok.experimental.SuperBuilder; +import org.springframework.beans.BeanUtils; /** * @Author:weiran @@ -39,9 +41,24 @@ public class OrderPayCustomer extends BaseEntity { */ private String appCode; + /** + * 服务/客户描述码 + */ + private String appDesc; + /** * 状态 */ 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/domin/req/OrderCustomerAddReq.java b/cloud-pay-common/src/main/java/com/muyu/cloud/pay/domin/req/OrderCustomerAddReq.java new file mode 100644 index 0000000..b3683e7 --- /dev/null +++ b/cloud-pay-common/src/main/java/com/muyu/cloud/pay/domin/req/OrderCustomerAddReq.java @@ -0,0 +1,63 @@ +package com.muyu.cloud.pay.domin.req; + +import com.muyu.cloud.pay.domin.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:weiran + * @Package:com.muyu.cloud.pay.domin.req + * @Project:cloud-pay + * @name:OrderCustomerAddReq + * @Date:2024/8/9 15:03 + */ + +@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 = {"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(title = "服务/客户备注",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 f5c74ae..10ed782 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 @@ -3,6 +3,7 @@ package com.muyu.cloud.pay.controller; import com.dtflys.forest.springboot.annotation.ForestScannerRegister; import com.muyu.cloud.pay.domin.OrderPayCustomer; import com.muyu.cloud.pay.domin.req.CustomerListReq; +import com.muyu.cloud.pay.domin.req.OrderCustomerAddReq; import com.muyu.cloud.pay.domin.resp.CustomerResp; import com.muyu.cloud.pay.service.OrderPayCustomerService; import com.muyu.common.core.domain.Result; @@ -68,5 +69,18 @@ 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 6fb43cb..e7873fa 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 @@ -13,6 +13,7 @@ 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.core.exception.ServiceException; import com.muyu.common.core.utils.StringUtils; import com.muyu.common.nacos.service.NacosServerService; import io.jsonwebtoken.lang.Strings; @@ -20,6 +21,7 @@ import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.rmi.ServerException; import java.util.ArrayList; import java.util.List; import java.util.Set; @@ -78,10 +80,20 @@ public class OrderPayCustomerServiceImpl extends ServiceImpl orderPayCustomerList = this.list(queryWrapper); Set customerSet = orderPayCustomerList.stream().map(OrderPayCustomer::getAppCode).collect(Collectors.toSet()); - List list = nacosServerAllList.stream() + return nacosServerAllList.stream() .filter(nacosServer -> !customerSet.contains(nacosServer)) .toList(); - return list; - } + + + @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); + } + }