数据接口测试 新建账号

sale
tianea 3 years ago
parent 068c615add
commit 330bf5da85

@ -0,0 +1,93 @@
package com.tz.platform.juejing;
import cn.hutool.json.JSONUtil;
import com.tz.platform.common.core.base.BaseException;
import com.tz.platform.common.core.tools.HttpUtil;
import com.tz.platform.juejing.bo.AccountInfo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.StringUtils;
import java.util.HashMap;
import java.util.Map;
public class JueJinApi {
private String token = "157e2484a38880effebe57c4ee95d6c29984e2f8";
private String baseUrl = "https://sim.sztzjy.com";
private Map<String,String> headers = new HashMap<>();
private static Logger logger = LoggerFactory.getLogger(JueJinApi.class);
public JueJinApi(){
headers.put("Authorization","bearer "+token);
}
/**
*
* @param accountName
* @param initCash
* @param secType 1 = 4 =
* @return
*/
public AccountInfo createAccount(String accountName,Long initCash,Integer secType){
if(StringUtils.isEmpty(accountName)){
throw new BaseException("账号名称不能为空");
}
if(secType!=1&&secType!=4){
throw new BaseException("交易类型错误");
}
if(initCash<0){
throw new BaseException("初始资金不能为负");
}
String url = baseUrl +"/broker-rpcgw/v3/accounts";
String param = "{\"account\": {\"title\": \""+accountName+"\", \"sec_types\": ["+secType+"], \"info\": {\"appid\": \"[GMBROKER]\"} }, \"init_cash\": "+initCash+", \"engine_id\": \"simulate\"}";
String content = HttpUtil.postWithHeader( url,param,headers);
logger.info(content);
return JSONUtil.toBean(content,AccountInfo.class);
}
/**
*
* @param accountId ID
*/
public void deleteAccount(String accountId){
String url = baseUrl+"/broker-rpcgw/v3/accounts?account_ids="+accountId;
String content = HttpUtil.delete(url,headers);
logger.info("{} 删除信息,{}",accountId,content);
}
public String getCashInfo(String accountId){
String url = baseUrl+"/broker-rpcgw/v3/account-trade/cash/"+accountId;
String content = HttpUtil.get(url,headers);
logger.info("{} 账户资金信息:{},",accountId,content);
return content;
}
public String createReport(String accountId,String title){
String url = "https://api.myquant.cn:9001/perfweb-rpcgw/api/v1/sim/detail/"+accountId+"?title="+title;
String content = HttpUtil.get(url,headers);
logger.info("报告生成请求: {}",content);
return "";
}
public String test(){
String url = "https://sim.sztzjy.com/sim?acc=2e41a913-9dc1-11ec-89b3-00163e0e6ad0";
String content = HttpUtil.get(url,headers);
logger.info("测试结果:{}",content);
return "";
}
public static void main(String[] args) {
JueJinApi api = new JueJinApi();
String accountId = "2e41a913-9dc1-11ec-89b3-00163e0e6ad0";
// AccountInfo info = api.createAccount("test2",1000000L,1);
// System.out.println(info.getAccount_id());
// api.deleteAccount("4811913f-9dba-11ec-89b3-00163e0e6ad0");
// api.getCashInfo("2e41a913-9dc1-11ec-89b3-00163e0e6ad0");
// api.test();
api.createReport(accountId,"report"+ System.currentTimeMillis());
}
}

@ -0,0 +1,46 @@
package com.tz.platform.juejing.bo;
import lombok.Data;
@Data
public class Indicator {
/**
*
*/
private Long pnl_ratio;
/**
*
*/
private Long pnl_ratio_annual;
/**
*
*/
private Long sharp_ration;
/**
*
*/
private Long max_drawdown;
/**
*
*/
private Integer open_count;
/**
*
*/
private Integer close_count;
/**
*
*/
private Long win_ratio;
/**
*
*/
private Long calmar_raio;
}

@ -0,0 +1,16 @@
package com.tz.platform.juejing.bo;
import lombok.Data;
import java.util.Date;
@Data
public class ReportInfo {
private Integer report_id;
private String account_id;
private String title;
private CashInfo cash;
private Indicator indicator;
private Date created_at;
private Date updated_at;
}
Loading…
Cancel
Save