支付宝商家券配置基础信息

支付宝商家券配置基础信息

全部流程均以沙箱环境测试

创建项目添加以下依赖

  <!-- 代码简化 -->
  <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <optional>true</optional>
  </dependency>

  <!-- 工具包 -->
  <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
      <version>3.11</version>
  </dependency>

  <!-- HuTool 工具包 -->
  <dependency>
      <groupId>cn.hutool</groupId>
      <artifactId>hutool-all</artifactId>
      <version>5.7.16</version>
  </dependency>

  <!-- 集合工具包 -->
  <dependency>
      <groupId>commons-collections</groupId>
      <artifactId>commons-collections</artifactId>
      <version>3.2.2</version>
  </dependency>


  <!-- ************************************ swagger ************************************-->

  <!-- 接口注解 -->
  <dependency>
      <groupId>io.swagger</groupId>
      <artifactId>swagger-annotations</artifactId>
      <version>1.6.2</version>
      <scope>compile</scope>
  </dependency>

  <!--引入Knife4j的官方start包,Swagger2基于Springfox2.10.5项目-->
  <dependency>
      <groupId>com.github.xiaoymin</groupId>
      <!--使用Swagger2-->
      <artifactId>knife4j-spring-boot-starter</artifactId>
      <version>3.0.3</version>
  </dependency>

  <!-- ************************************ 支付宝依赖 ************************************-->
  <dependency>
      <groupId>com.alipay.sdk</groupId>
      <artifactId>alipay-easysdk</artifactId>
      <version>2.2.1</version>
  </dependency>

  <dependency>
      <groupId>com.alipay.sdk</groupId>
      <artifactId>alipay-sdk-java</artifactId>
      <version>4.33.44.ALL</version>
  </dependency>

添加配置类 获取支付宝客户端

public class DefaultAlipayConfig {

    public final static AlipayClient ALIPAY_CLIENT = newInstance();

    /**
     * 支付宝私钥
     */
    private static final String PRIVATE_KEY = "";

    /**
     * 支付宝公钥
     */
    private static final String ALIPAY_PUBLIC_KEY = "";

    /**
     * 应用ID
     */
    private static final String APP_ID = "";


    /**
     * 初始化支付宝配置
     * @return 支付宝客户端
     */
    private static AlipayClient newInstance(){
        // 支付宝配置
        AlipayConfig alipayConfig = new AlipayConfig();
        // 设置应用ID
        alipayConfig.setAppId(APP_ID);
        // 设置私钥
        alipayConfig.setPrivateKey(PRIVATE_KEY);
        // 设置支付宝公钥
        alipayConfig.setAlipayPublicKey(ALIPAY_PUBLIC_KEY);
        // 设置网关
        alipayConfig.setServerUrl("https://openapi.alipaydev.com/gateway.do");
        // 设置格式
        alipayConfig.setFormat("json");
        // 设置参数字符编码
        alipayConfig.setCharset("UTF8");
        // 设置签名类型
        alipayConfig.setSignType("RSA2");
        try {
            return new DefaultAlipayClient(alipayConfig);
        } catch (AlipayApiException e) {
            throw new RuntimeException(e);
        }
    }
}

以下内容 只是我自己喜欢返回结果使用的类,可以不使用!

创建通用异常枚举

@Getter
@AllArgsConstructor
public enum ResponseCode implements IErrorCode {

    //=================================通用异常=================================

    // 请求成功
    SUCCESS(0, "请求成功"),

    // 请求失败
    FAIL(-1, "请求失败");

    /**
     * 状态码
     */
    private final Integer code;

    /**
     * 错误信息
     */
    private final String msg;
}
public interface IErrorCode {

    /**
     * 获取错误码
     *
     * @return Integer
     */
    Integer getCode();

    /**
     * 获取错误信息
     *
     * @return String
     */
    String getMsg();

}

创建统一返回结果类

@Data
@JsonPropertyOrder(value = {"code", "message", "data"})
@ApiModel(value = "ResponseVo", description = "接口响应信息")
public class ResponseResult<T> implements Serializable {

    private static final long serialVersionUID = 5743116789207192315L;

    @ApiModelProperty(value = "状态码")
    private Integer code;

    @ApiModelProperty(value = "状态信息")
    private String message;

    @ApiModelProperty(value = "响应数据")
    private T data;

    /**
     * 通过注解忽略异常信息(不展示)@JsonIgnore
     */
    @ApiModelProperty(value = "异常信息")
    @JsonInclude(JsonInclude.Include.NON_NULL)
    private Object error;

    public ResponseResult() {
    }

    /**
     * 响应成功
     *
     * @return ResponseResult<Object>
     */
    public static ResponseResult<Object> success() {
        ResponseResult<Object> responseResult = new ResponseResult<>();
        responseResult.setCode(ResponseCode.SUCCESS.getCode());
        responseResult.setMessage(ResponseCode.SUCCESS.getMsg());
        return responseResult;
    }

    /**
     * 响应成功
     *
     * @param data 响应数据
     * @return ResponseResult<T>
     */
    public static <T> ResponseResult<T> success(T data) {
        ResponseResult<T> responseResult = new ResponseResult<>();
        responseResult.setCode(ResponseCode.SUCCESS.getCode());
        responseResult.setMessage(ResponseCode.SUCCESS.getMsg());
        responseResult.setData(data);
        return responseResult;
    }

    /**
     * 响应成功
     *
     * @param msg 自定义消息
     * @return ResponseResult<Object>
     */
    public static ResponseResult<Object> successWithCustomMessage(String msg) {
        ResponseResult<Object> responseResult = new ResponseResult<>();
        responseResult.setCode(ResponseCode.SUCCESS.getCode());
        responseResult.setMessage(msg);
        responseResult.setData(null);
        return responseResult;
    }

    /**
     * 响应成功
     *
     * @param msg  自定义消息
     * @param data 响应数据
     * @return ResponseResult<T>
     */
    public static <T> ResponseResult<T> success(String msg, T data) {
        ResponseResult<T> responseResult = new ResponseResult<>();
        responseResult.setCode(ResponseCode.SUCCESS.getCode());
        responseResult.setMessage(msg);
        responseResult.setData(data);
        return responseResult;
    }

    /**
     * 响应失败
     *
     * @return ResponseResult<Object>
     */
    public static ResponseResult<Object> fail() {
        ResponseResult<Object> responseResult = new ResponseResult<>();
        responseResult.setCode(ResponseCode.FAIL.getCode());
        responseResult.setMessage(ResponseCode.FAIL.getMsg());
        return responseResult;
    }

    /**
     * 响应失败
     *
     * @param message   失败信息
     * @param <T>       泛型
     * @return ResponseResult<T>
     */
    public static <T> ResponseResult<T> fail(String message) {
        ResponseResult<T> responseResult = new ResponseResult<>();
        responseResult.setCode(ResponseCode.FAIL.getCode());
        responseResult.setMessage(message);
        return responseResult;
    }

    /**
     * 响应失败
     *
     * @param errorCode 错误码
     * @param <T>       泛型
     * @return ResponseResult<T>
     */
    public static <T> ResponseResult<T> fail(IErrorCode errorCode) {
        ResponseResult<T> responseResult = new ResponseResult<>();
        responseResult.setCode(errorCode.getCode());
        responseResult.setMessage(errorCode.getMsg());
        return responseResult;
    }

    /**
     * 响应失败
     *
     * @param errorCode 错误码
     * @param message   错误信息
     * @param <T>       泛型
     * @return  ResponseResult<T>
     */
    public static <T> ResponseResult<T> fail(IErrorCode errorCode, String message) {
        ResponseResult<T> responseResult = new ResponseResult<>();
        responseResult.setCode(errorCode.getCode());
        responseResult.setMessage(message);
        return responseResult;
    }
}
posted @ 2022-11-09 16:15  橙香五花肉  阅读(72)  评论(0编辑  收藏  举报