diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/job/CompetitionJob.java b/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/job/CompetitionJob.java
index 500484b..dcd2846 100644
--- a/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/job/CompetitionJob.java
+++ b/tz/competition/competition-service/src/main/java/com/tz/platform/competitiion/job/CompetitionJob.java
@@ -3,10 +3,14 @@ package com.tz.platform.competitiion.job;
 import com.tz.platform.competitiion.job.biz.CompetitionJobBiz;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.redis.connection.RedisStringCommands;
+import org.springframework.data.redis.core.RedisCallback;
 import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.types.Expiration;
 import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
 
+import java.util.Objects;
 import java.util.concurrent.TimeUnit;
 
 @Component
@@ -14,8 +18,8 @@ import java.util.concurrent.TimeUnit;
 public class CompetitionJob {
 
 
-//    @Autowired
-//    private RedisTemplate<String,Boolean> redisTemplate;
+    @Autowired
+    private RedisTemplate<String,Boolean> redisTemplate;
 
     @Autowired
     private CompetitionJobBiz jobBiz;
@@ -36,4 +40,33 @@ public class CompetitionJob {
 //            }
 //        }
     }
+
+    /**
+     * 获取一个redis分布锁
+     *
+     * @param lockKey        锁住的key
+     * @param lockExpireMils 锁住的时长。如果超时未解锁,视为加锁线程死亡,其他线程可夺取锁
+     * @return
+     */
+    public boolean lock(String lockKey, long lockExpireMils) {
+        return (Boolean) redisTemplate.execute((RedisCallback) connection -> {
+            long nowTime = System.currentTimeMillis();
+            Boolean acquire = connection.setNX(lockKey.getBytes(), String.valueOf(nowTime + lockExpireMils + 1).getBytes());
+            if (acquire) {
+                return Boolean.TRUE;
+            } else {
+                byte[] value = connection.get(lockKey.getBytes());
+                if (Objects.nonNull(value) && value.length > 0) {
+                    long oldTime = Long.parseLong(new String(value));
+                    if (oldTime < nowTime) {
+                        //connection.getSet:返回这个key的旧值并设置新值。
+                        byte[] oldValue = connection.getSet(lockKey.getBytes(), String.valueOf(nowTime + lockExpireMils + 1).getBytes());
+                        //当key不存时会返回空,表示key不存在或者已在管道中使用
+                        return oldValue == null ? false : Long.parseLong(new String(oldValue)) < nowTime;
+                    }
+                }
+            }
+            return Boolean.FALSE;
+        });
+    }
 }
diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/entity/Ranking.java b/tz/competition/competition-service/src/main/java/com/tz/platform/entity/Ranking.java
new file mode 100644
index 0000000..f88f51a
--- /dev/null
+++ b/tz/competition/competition-service/src/main/java/com/tz/platform/entity/Ranking.java
@@ -0,0 +1,94 @@
+package com.tz.platform.entity;
+
+import lombok.Data;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import java.util.Date;
+
+@Data
+@Entity
+public class Ranking {
+    @Id
+    @GeneratedValue(strategy = GenerationType.IDENTITY)
+    private Integer id;
+
+    private String accountId;
+    /**
+     * 总资产
+     */
+    private Long nav;
+
+    /**
+     * 可用资产
+     */
+    private Long available;
+
+    /**
+     * 市值
+     */
+    private Long marketValue;
+
+    /**
+     * 累计盈亏
+     */
+    private Long accumulativeTotalProfitLoss;
+
+    /**
+     * 累计手续费
+     */
+    private Long cumCommission;
+
+    /**
+     * 浮动盈亏
+     */
+    private Long fpnl;
+
+    /**
+     * 累计收益率
+     */
+    private Long pnlRation;
+
+    /**
+     * 最大回测
+     */
+    private Long maxDrawdown;
+
+    /**
+     * 卡玛比率
+     */
+    private Long calmarRatio;
+
+    /**
+     * 夏普比率
+     */
+    private Long sharpRatio;
+
+    /**
+     * 开仓次数
+     */
+    private Integer openCount;
+
+    /**
+     * 平仓次数
+     */
+    private Integer closeCount;
+
+    /**
+     * 年化收益率
+     */
+    private Long pnlRatioAnnual;
+
+    /**
+     *胜率
+     */
+    private Long winRatio;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+}
diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/juejing/JueJinApi.java b/tz/competition/competition-service/src/main/java/com/tz/platform/juejin/JueJinApi.java
similarity index 70%
rename from tz/competition/competition-service/src/main/java/com/tz/platform/juejing/JueJinApi.java
rename to tz/competition/competition-service/src/main/java/com/tz/platform/juejin/JueJinApi.java
index 96afab7..8003cd9 100644
--- a/tz/competition/competition-service/src/main/java/com/tz/platform/juejing/JueJinApi.java
+++ b/tz/competition/competition-service/src/main/java/com/tz/platform/juejin/JueJinApi.java
@@ -1,9 +1,9 @@
-package com.tz.platform.juejing;
+package com.tz.platform.juejin;
 
 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 com.tz.platform.juejin.bo.AccountInfo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.util.StringUtils;
@@ -63,13 +63,42 @@ public class JueJinApi {
         return  content;
     }
 
+    /**
+     * 绩效报告
+     * @param accountId
+     * @param title
+     * @return
+     */
     public String createReport(String accountId,String title){
-        String url = "https://api.myquant.cn:9001/perfweb-rpcgw/api/v1/sim/detail/"+accountId+"?title="+title;
+        String url = baseUrl+ "/perfweb-rpcgw/api/v1/sim/detail/"+accountId+"?title="+title;
         String content = HttpUtil.get(url,headers);
         logger.info("报告生成请求: {}",content);
         return "";
     }
 
+    /**
+     * 获取绩效报告
+     * @param reportId
+     * @return
+     */
+    public String getReport(String reportId){
+        String url = baseUrl +"/perfweb-rpcgw/api/v1/report/summaries?report_ids="+reportId;
+        String content = HttpUtil.get(url,headers);
+        logger.info("报告获取:{}",content);
+        return content;
+    }
+
+    /**
+     * 基准收益率
+     * @return
+     */
+    public String getBaseRatio(){
+        String url = baseUrl +"/ds-history-rpcgw/v3/data-history/benchmark-return?symbol=SHSE.000300&frequency=1d&start_time=2022-03-07&end_time=2022-03-09&adjust=0";
+        String content = HttpUtil.get(url,headers);
+        logger.info("基准收益率:{}",content);
+        return content;
+    }
+
 
     public String test(){
         String url = "https://sim.sztzjy.com/sim?acc=2e41a913-9dc1-11ec-89b3-00163e0e6ad0";
@@ -78,16 +107,24 @@ public class JueJinApi {
         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);
+        String zhangSan1Qihuo = "0cfc7894-9f4e-11ec-bf20-00163e0e6ad0";
+        String zhangSan1GuPiao = "";
+
+
+        AccountInfo info = api.createAccount("张三1",1000000L,4);
 //        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());
+//        api.createReport(accountId,"report"+ System.currentTimeMillis());
+//        api.getReport("5");
+        api.getBaseRatio();
 
     }
 }
diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/juejing/bo/AccountInfo.java b/tz/competition/competition-service/src/main/java/com/tz/platform/juejin/bo/AccountInfo.java
similarity index 90%
rename from tz/competition/competition-service/src/main/java/com/tz/platform/juejing/bo/AccountInfo.java
rename to tz/competition/competition-service/src/main/java/com/tz/platform/juejin/bo/AccountInfo.java
index de925ba..7f6f088 100644
--- a/tz/competition/competition-service/src/main/java/com/tz/platform/juejing/bo/AccountInfo.java
+++ b/tz/competition/competition-service/src/main/java/com/tz/platform/juejin/bo/AccountInfo.java
@@ -1,4 +1,4 @@
-package com.tz.platform.juejing.bo;
+package com.tz.platform.juejin.bo;
 
 import lombok.Data;
 
diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/juejing/bo/CashInfo.java b/tz/competition/competition-service/src/main/java/com/tz/platform/juejin/bo/CashInfo.java
similarity index 94%
rename from tz/competition/competition-service/src/main/java/com/tz/platform/juejing/bo/CashInfo.java
rename to tz/competition/competition-service/src/main/java/com/tz/platform/juejin/bo/CashInfo.java
index 2df4516..656b099 100644
--- a/tz/competition/competition-service/src/main/java/com/tz/platform/juejing/bo/CashInfo.java
+++ b/tz/competition/competition-service/src/main/java/com/tz/platform/juejin/bo/CashInfo.java
@@ -1,4 +1,4 @@
-package com.tz.platform.juejing.bo;
+package com.tz.platform.juejin.bo;
 
 import lombok.Data;
 
diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/juejing/bo/Indicator.java b/tz/competition/competition-service/src/main/java/com/tz/platform/juejin/bo/Indicator.java
similarity index 94%
rename from tz/competition/competition-service/src/main/java/com/tz/platform/juejing/bo/Indicator.java
rename to tz/competition/competition-service/src/main/java/com/tz/platform/juejin/bo/Indicator.java
index 3f89c1e..52f86a4 100644
--- a/tz/competition/competition-service/src/main/java/com/tz/platform/juejing/bo/Indicator.java
+++ b/tz/competition/competition-service/src/main/java/com/tz/platform/juejin/bo/Indicator.java
@@ -1,4 +1,4 @@
-package com.tz.platform.juejing.bo;
+package com.tz.platform.juejin.bo;
 
 import lombok.Data;
 
diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/juejing/bo/Info.java b/tz/competition/competition-service/src/main/java/com/tz/platform/juejin/bo/Info.java
similarity index 83%
rename from tz/competition/competition-service/src/main/java/com/tz/platform/juejing/bo/Info.java
rename to tz/competition/competition-service/src/main/java/com/tz/platform/juejin/bo/Info.java
index 2c9c399..5f6fa4c 100644
--- a/tz/competition/competition-service/src/main/java/com/tz/platform/juejing/bo/Info.java
+++ b/tz/competition/competition-service/src/main/java/com/tz/platform/juejin/bo/Info.java
@@ -1,4 +1,4 @@
-package com.tz.platform.juejing.bo;
+package com.tz.platform.juejin.bo;
 
 import lombok.Data;
 
diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/juejing/bo/ListCashInfo.java b/tz/competition/competition-service/src/main/java/com/tz/platform/juejin/bo/ListCashInfo.java
similarity index 76%
rename from tz/competition/competition-service/src/main/java/com/tz/platform/juejing/bo/ListCashInfo.java
rename to tz/competition/competition-service/src/main/java/com/tz/platform/juejin/bo/ListCashInfo.java
index d16a90e..92a9b42 100644
--- a/tz/competition/competition-service/src/main/java/com/tz/platform/juejing/bo/ListCashInfo.java
+++ b/tz/competition/competition-service/src/main/java/com/tz/platform/juejin/bo/ListCashInfo.java
@@ -1,4 +1,4 @@
-package com.tz.platform.juejing.bo;
+package com.tz.platform.juejin.bo;
 
 import lombok.Data;
 
diff --git a/tz/competition/competition-service/src/main/java/com/tz/platform/juejing/bo/ReportInfo.java b/tz/competition/competition-service/src/main/java/com/tz/platform/juejin/bo/ReportInfo.java
similarity index 88%
rename from tz/competition/competition-service/src/main/java/com/tz/platform/juejing/bo/ReportInfo.java
rename to tz/competition/competition-service/src/main/java/com/tz/platform/juejin/bo/ReportInfo.java
index d8e9221..5b649f2 100644
--- a/tz/competition/competition-service/src/main/java/com/tz/platform/juejing/bo/ReportInfo.java
+++ b/tz/competition/competition-service/src/main/java/com/tz/platform/juejin/bo/ReportInfo.java
@@ -1,4 +1,4 @@
-package com.tz.platform.juejing.bo;
+package com.tz.platform.juejin.bo;
 
 import lombok.Data;