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 79eae1e..c4cb77b 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,9 +4,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; @Data @SuperBuilder @@ -28,9 +30,23 @@ 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/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..83d2745 --- /dev/null +++ b/cloud-pay-common/src/main/java/com/muyu/cloud/pay/domain/req/OrderCustomerAddReq.java @@ -0,0 +1,60 @@ +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; + +/** + * 客户添加 + */ +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Tag(name = "支付服务客户添加请求对象",description = "根据入参进行客户服务的添加") +public class OrderCustomerAddReq { + + /** + * 服务/客户名称 + */ + + @NotEmpty(message = "服务客户名称不可为空") + @Schema(title = "服务/客户名称",type = "String",defaultValue = "会员服务", + description = "客户名称一般为微服务的中文名称,方便使用者进行区分",requiredProperties = {"napName"}) + private String appName; + /** + * 服务/客户编码 + */ + @NotEmpty(message = "服务客户编码不可为空") + @Schema(title = "服务/客户编码",type = "String",defaultValue = "muyu-vip", + description = "客户编码,从[/customer/all]接口当中进行获取",requiredProperties = {"napName"}) + 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 48e7f4b..0f54d8f 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 @@ -2,7 +2,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; @@ -10,6 +12,7 @@ import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; +import lombok.Value; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; @@ -62,4 +65,17 @@ 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 1ac0d0a..594940b 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 @@ -10,11 +10,14 @@ 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.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.sql.rowset.serial.SerialException; import java.util.List; import java.util.Set; import java.util.stream.Collectors; @@ -123,7 +126,16 @@ public class OrderPayCustomerServiceImpl return nacosServerAllList.stream() .filter(nacosServer ->!customerSet.contains(nacosServer)) - .toList() - ; + .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); } }