package cn.superdesk.uniorder.openapi.oauth2.request;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * @Description: Java类作用描述
 * @Author: linjinyu
 * @CreateDate: 2021/5/27 下午4:49
 * @UpdateUser: linjinyu
 * @UpdateDate: 2021/5/27 下午4:49
 * @UpdateRemark: 修改内容
 * @Version: 1.0
 */
@NoArgsConstructor
@Data
public class AccessTokenRequest implements Serializable {

	@ApiModelProperty(value = "该值固定为access_token", required = true)
	private String grantType;
	@ApiModelProperty(value = "即对接账号(由系统对接人员提供) 与系统服务器时差不能相差半小时以上,系统服务器时间为北京时间(年月日和时分秒中间有空格)", required = true)
	private String clientId;
	@ApiModelProperty(value = "当前时间,格式为`yyyy-MM-ddhh:mm:ss`", required = true)
	private String timestamp;
	@ApiModelProperty(value = "系统用户名", required = true)
	private String username;
	@ApiModelProperty(value = "系统的密码,该字段需要把系统提供的密码进行32位md5加密,然后将结果转成小写进行传输。", required = true)
	private String password;
	@ApiModelProperty(value = "签名,生成规则如下:\n" +
			"1.按照以下顺序将字符串拼接起来 client_secret+timestamp+client_id+username+password+grant_type+client_secret\n" +
			"其中\n" +
			"client_secret的值是系统分配的,以邮件形式发送给客户。\n" +
			"timestamp 与同名入参传值一致。\n" +
			"client_id 与同名入参传值一致。\n" +
			"username 与同名入参传值一致。\n" +
			"password 32位小写MD5值,与同名入参传值一致。\n" +
			"grant_type,与同名入参传值一致。\n" +
			"2、将上述拼接的字符串使用32位md5加密,然后将结果转成大写进行传输。", required = true)
	private String sign;




//	grant_type	String	是
//	client_id	String	是
//	timestamp	String	是
//
//	username	String	是
//	password	String	是
//	sign	String	是	签名,生成规则如下:
//			1.按照以下顺序将字符串拼接起来 client_secret+timestamp+client_id+username+password+grant_type+client_secret
//			其中
//	client_secret的值是系统分配的,以邮件形式发送给客户。
//	timestamp与同名入参传值一致。
//	client_id与同名入参传值一致。
//	username与同名入参传值一致。
//	password,32位小写MD5值,与同名入参传值一致。
//	grant_type,与同名入参传值一致。
//			2、将上述拼接的字符串使用32位md5加密,然后将结果转成大写进行传输。

//	{
//		"grant_type":"",
//		"client_id":"",
//		"timestamp":"",
//		"username":"",
//		"password":"",
//		"sign":"",
//	}


}
