From ab32fc459c6aee3335bc7fa4158212527cf4f653 Mon Sep 17 00:00:00 2001 From: zhang chengzhi <3144712872@qq.com> Date: Wed, 7 Aug 2024 11:48:07 +0800 Subject: [PATCH] =?UTF-8?q?feat():=E6=96=B0=E5=A2=9E=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud/pay/domain/OrderPayCustomer.java | 10 +++ .../pay/domain/req/OrderCustomerAddReq.java | 76 +++++++++++++++++++ .../OrderPayCustomerController.java | 28 ++++++- .../impl/OrderPayCustomerServiceImpl.java | 24 ++++++ 4 files changed, 135 insertions(+), 3 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 ce8c90d..c2cc1db 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 @@ -4,6 +4,7 @@ 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; @@ -54,7 +55,16 @@ public class OrderPayCustomer extends BaseEntity { +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..947cee3 --- /dev/null +++ b/cloud-pay-common/src/main/java/com/muyu/cloud/pay/domain/req/OrderCustomerAddReq.java @@ -0,0 +1,76 @@ +package com.muyu.cloud.pay.domain.req; + +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:zhangchengzhi + * @Package:com.muyu.cloud.pay.domain.req + * @Project:cloud-pay + * @name:OrderCustomerAddReq + * @Date:2024/8/6 21:02 + */ +@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 cbcce2d..8b45fba 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,6 +1,8 @@ package com.muyu.cloud.pay.controller; +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; @@ -44,9 +46,7 @@ public class OrderPayCustomerController { public Result> selectList(@Validated @RequestBody CustomerListReq customerListReq) { return Result.success(orderPayCustomerService.selectList(customerListReq)); - } - - ; + }; /** * 获取所有客户的 @@ -65,4 +65,26 @@ 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 bf76380..32f7bbc 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 @@ -12,6 +12,7 @@ import com.muyu.cloud.pay.mapper.OrderPayCustomerMapper; import com.muyu.cloud.pay.service.OrderPayCustomerService; import com.muyu.cloud.pay.service.OrderPayInfoService; 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.remote.service.NacosServerService; import jakarta.annotation.Resource; @@ -19,6 +20,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; @@ -89,4 +91,26 @@ public class OrderPayCustomerServiceImpl extends ServiceImpl !customerSet.contains(nacosServer)) .toList(); } + + @Override + public boolean save(OrderPayCustomer orderPayCustomer) { + + String appCode = orderPayCustomer.getAppCode(); + List customerAllList = this.getCustomerAllList(); + List naocsServiceAllList = nacosServerService.naocsServiceAllList(); + if (!naocsServiceAllList.contains(appCode)){ + throw new ServiceException("客户编码违法"); + } + + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(OrderPayCustomer::getAppCode,appCode); + if (this.count(queryWrapper) >0){ + throw new ServiceException("客户编码重复"); + } + return super.save(orderPayCustomer); + } + + + + }