瀏覽代碼

排名期获取支持多种源

wangzaijun 1 年之前
父節點
當前提交
5a84991e3a
共有 27 個文件被更改,包括 247 次插入186 次删除
  1. 1 1
      src/main/java/com/smppw/analysis/application/dto/performance/BasePerformanceReq.java
  2. 4 1
      src/main/java/com/smppw/analysis/application/dto/performance/CorrelationReq.java
  3. 1 0
      src/main/java/com/smppw/analysis/application/dto/performance/DrawdownTrendReq.java
  4. 1 0
      src/main/java/com/smppw/analysis/application/dto/performance/ImfTrendReq.java
  5. 1 0
      src/main/java/com/smppw/analysis/application/dto/performance/IndicatorReq.java
  6. 4 1
      src/main/java/com/smppw/analysis/application/dto/performance/IntervalReq.java
  7. 4 1
      src/main/java/com/smppw/analysis/application/dto/performance/RankReq.java
  8. 4 1
      src/main/java/com/smppw/analysis/application/dto/performance/RevenueReq.java
  9. 4 1
      src/main/java/com/smppw/analysis/application/dto/performance/RollingReq.java
  10. 1 0
      src/main/java/com/smppw/analysis/application/dto/performance/TrendReq.java
  11. 4 1
      src/main/java/com/smppw/analysis/application/dto/performance/WinReq.java
  12. 21 0
      src/main/java/com/smppw/analysis/domain/dao/rank/AbstractRankDao.java
  13. 25 0
      src/main/java/com/smppw/analysis/domain/dao/rank/RankDao.java
  14. 31 0
      src/main/java/com/smppw/analysis/domain/dao/rank/RankFactory.java
  15. 24 0
      src/main/java/com/smppw/analysis/domain/dao/rank/RankToBDao.java
  16. 24 0
      src/main/java/com/smppw/analysis/domain/dao/rank/RankToCDao.java
  17. 0 41
      src/main/java/com/smppw/analysis/domain/mapper/FundInformationDoMapper.java
  18. 21 0
      src/main/java/com/smppw/analysis/domain/mapper/RankToBMapper.java
  19. 21 0
      src/main/java/com/smppw/analysis/domain/mapper/RankToCMapper.java
  20. 2 0
      src/main/java/com/smppw/analysis/domain/service/BaseInfoService.java
  21. 11 3
      src/main/java/com/smppw/analysis/domain/service/impl/BaseInfoServiceImpl.java
  22. 12 0
      src/main/java/com/smppw/analysis/infrastructure/config/AnalysisProperty.java
  23. 2 1
      src/main/resources/application-tob.yaml
  24. 2 1
      src/main/resources/application-toc.yaml
  25. 0 133
      src/main/resources/mapping/FundInformationDoMapper.xml
  26. 11 0
      src/main/resources/mapping/RankToBMapper.xml
  27. 11 0
      src/main/resources/mapping/RankToCMapper.xml

+ 1 - 1
src/main/java/com/smppw/analysis/application/dto/performance/BasePerformanceReq.java

@@ -17,7 +17,7 @@ public abstract class BasePerformanceReq<R extends Params> extends BaseReq<R> {
     /**
      * 标的id,包括基金、机构和经理
      */
-    private List<String> refIds;
+    private String refId;
     /**
      * 基准
      */

+ 4 - 1
src/main/java/com/smppw/analysis/application/dto/performance/CorrelationReq.java

@@ -1,6 +1,7 @@
 package com.smppw.analysis.application.dto.performance;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.ListUtil;
 import com.smppw.analysis.domain.dto.performance.CorrelationParams;
 import lombok.Getter;
 import lombok.Setter;
@@ -15,6 +16,8 @@ public class CorrelationReq extends BasePerformanceReq<CorrelationParams> {
 
     @Override
     public CorrelationParams convert() {
-        return BeanUtil.copyProperties(this, CorrelationParams.class);
+        CorrelationParams params = BeanUtil.copyProperties(this, CorrelationParams.class);
+        params.setRefIds(ListUtil.toLinkedList(this.getRefId()));
+        return params;
     }
 }

+ 1 - 0
src/main/java/com/smppw/analysis/application/dto/performance/DrawdownTrendReq.java

@@ -11,6 +11,7 @@ public class DrawdownTrendReq extends BasePerformanceReq<TrendParams> {
         TrendParams params = BeanUtil.copyProperties(this, TrendParams.class);
         params.setTrendTypes(ListUtil.toList(TrendType.DrawdownTrend, TrendType.ExtraDrawdownTrend));
         params.setIndexTrendTypes(ListUtil.toList(TrendType.DrawdownTrend));
+        params.setRefIds(ListUtil.toLinkedList(this.getRefId()));
         return params;
     }
 }

+ 1 - 0
src/main/java/com/smppw/analysis/application/dto/performance/ImfTrendReq.java

@@ -25,6 +25,7 @@ public class ImfTrendReq extends BasePerformanceReq<TrendParams> {
         TrendParams params = BeanUtil.copyProperties(this, TrendParams.class);
         params.setTrendTypes(trendTypes);
         params.setIndexTrendTypes(indexTrendTypes);
+        params.setRefIds(ListUtil.toLinkedList(this.getRefId()));
         return params;
     }
 }

+ 1 - 0
src/main/java/com/smppw/analysis/application/dto/performance/IndicatorReq.java

@@ -19,6 +19,7 @@ public class IndicatorReq extends BasePerformanceReq<IndicatorParams> {
         IndicatorParams params = BeanUtil.copyProperties(this, IndicatorParams.class);
         params.setIndicators(ListUtil.toList(Indicator.INDICATOR_TYPE_ARRAY));
         params.setExtraIndicators(ListUtil.toList(Indicator.RISK_TABLE_EXCESS_INDICATOR_ARRAY));
+        params.setRefIds(ListUtil.toLinkedList(this.getRefId()));
         return params;
     }
 }

+ 4 - 1
src/main/java/com/smppw/analysis/application/dto/performance/IntervalReq.java

@@ -1,6 +1,7 @@
 package com.smppw.analysis.application.dto.performance;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.ListUtil;
 import com.smppw.analysis.domain.dto.performance.IntervalParams;
 import com.smppw.common.pojo.enums.Indicator;
 import lombok.Getter;
@@ -15,6 +16,8 @@ public class IntervalReq extends BasePerformanceReq<IntervalParams> {
 
     @Override
     public IntervalParams convert() {
-        return BeanUtil.copyProperties(this, IntervalParams.class);
+        IntervalParams params = BeanUtil.copyProperties(this, IntervalParams.class);
+        params.setRefIds(ListUtil.toLinkedList(this.getRefId()));
+        return params;
     }
 }

+ 4 - 1
src/main/java/com/smppw/analysis/application/dto/performance/RankReq.java

@@ -1,6 +1,7 @@
 package com.smppw.analysis.application.dto.performance;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.ListUtil;
 import com.smppw.analysis.domain.dto.performance.RankParams;
 import com.smppw.common.pojo.enums.Indicator;
 import lombok.Getter;
@@ -16,6 +17,8 @@ public class RankReq extends BasePerformanceReq<RankParams> {
 
     @Override
     public RankParams convert() {
-        return BeanUtil.copyProperties(this, RankParams.class);
+        RankParams params = BeanUtil.copyProperties(this, RankParams.class);
+        params.setRefIds(ListUtil.toLinkedList(this.getRefId()));
+        return params;
     }
 }

+ 4 - 1
src/main/java/com/smppw/analysis/application/dto/performance/RevenueReq.java

@@ -1,6 +1,7 @@
 package com.smppw.analysis.application.dto.performance;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.ListUtil;
 import com.smppw.analysis.domain.dto.performance.RevenueParams;
 import com.smppw.common.pojo.enums.Frequency;
 import lombok.Getter;
@@ -23,6 +24,8 @@ public class RevenueReq extends BasePerformanceReq<RevenueParams> {
 
     @Override
     public RevenueParams convert() {
-        return BeanUtil.copyProperties(this, RevenueParams.class);
+        RevenueParams params = BeanUtil.copyProperties(this, RevenueParams.class);
+        params.setRefIds(ListUtil.toLinkedList(this.getRefId()));
+        return params;
     }
 }

+ 4 - 1
src/main/java/com/smppw/analysis/application/dto/performance/RollingReq.java

@@ -1,6 +1,7 @@
 package com.smppw.analysis.application.dto.performance;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.ListUtil;
 import com.smppw.analysis.domain.dto.performance.RollingParams;
 import com.smppw.common.pojo.enums.Frequency;
 import com.smppw.common.pojo.enums.Indicator;
@@ -15,6 +16,8 @@ public class RollingReq extends BasePerformanceReq<RollingParams> {
 
     @Override
     public RollingParams convert() {
-        return BeanUtil.copyProperties(this, RollingParams.class);
+        RollingParams params = BeanUtil.copyProperties(this, RollingParams.class);
+        params.setRefIds(ListUtil.toLinkedList(this.getRefId()));
+        return params;
     }
 }

+ 1 - 0
src/main/java/com/smppw/analysis/application/dto/performance/TrendReq.java

@@ -20,6 +20,7 @@ public class TrendReq extends BasePerformanceReq<TrendParams> {
         TrendParams params = BeanUtil.copyProperties(this, TrendParams.class);
         params.setTrendTypes(trendTypes);
         params.setIndexTrendTypes(ListUtil.toList(TrendType.Ret, TrendType.OrigNav));
+        params.setRefIds(ListUtil.toLinkedList(this.getRefId()));
         return params;
     }
 }

+ 4 - 1
src/main/java/com/smppw/analysis/application/dto/performance/WinReq.java

@@ -1,6 +1,7 @@
 package com.smppw.analysis.application.dto.performance;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.collection.ListUtil;
 import com.smppw.analysis.domain.dto.performance.WinParams;
 import com.smppw.analysis.infrastructure.consts.WinRateBmk;
 import lombok.Getter;
@@ -15,6 +16,8 @@ public class WinReq extends BasePerformanceReq<WinParams> {
 
     @Override
     public WinParams convert() {
-        return BeanUtil.copyProperties(this, WinParams.class);
+        WinParams params = BeanUtil.copyProperties(this, WinParams.class);
+        params.setRefIds(ListUtil.toLinkedList(this.getRefId()));
+        return params;
     }
 }

+ 21 - 0
src/main/java/com/smppw/analysis/domain/dao/rank/AbstractRankDao.java

@@ -0,0 +1,21 @@
+package com.smppw.analysis.domain.dao.rank;
+
+import cn.hutool.core.util.StrUtil;
+
+public abstract class AbstractRankDao implements RankDao {
+    /**
+     * 获取最新的排名期,从排名期表和基金指标排名表比较,取最小的
+     *
+     * @param endDate 排名期
+     * @return /
+     */
+    protected String getLastRankDate(String endDate) {
+        String rankDate = this.getRankDate();
+        if (StrUtil.isAllNotBlank(endDate, rankDate)) {
+            rankDate = endDate.compareTo(rankDate) > 0 ? rankDate : endDate;
+        } else {
+            rankDate = endDate == null ? rankDate : endDate;
+        }
+        return rankDate;
+    }
+}

+ 25 - 0
src/main/java/com/smppw/analysis/domain/dao/rank/RankDao.java

@@ -0,0 +1,25 @@
+package com.smppw.analysis.domain.dao.rank;
+
+/**
+ * @author wangzaijun
+ * @date 2023/8/10 10:54
+ * @description 排名获取的方式(tob,toc,...)
+ */
+public interface RankDao {
+    /**
+     * 获取最新的排名期
+     *
+     * @return /
+     */
+    String getRankDate();
+
+    /**
+     * 和标的的最新排名期比较,取最新的排名期
+     *
+     * @param refId 标的id
+     * @return 最小的排名期
+     */
+    default String getRankDate(String refId) {
+        return this.getRankDate();
+    }
+}

+ 31 - 0
src/main/java/com/smppw/analysis/domain/dao/rank/RankFactory.java

@@ -0,0 +1,31 @@
+package com.smppw.analysis.domain.dao.rank;
+
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.map.MapUtil;
+import com.smppw.constants.Consts;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.Map;
+
+/**
+ * @author wangzaijun
+ * @date 2023/8/10 10:56
+ * @description 排名方式抽象工厂
+ */
+@Component
+public class RankFactory {
+    /**
+     * 默认的取最新月份的作为排名期
+     */
+    private static final RankDao DEFAULT = () -> DateUtil.format(new Date(), Consts.SHORT_DATE_PATTERN);
+    private static final Map<String, RankDao> RANK_MAP = MapUtil.newHashMap(8);
+
+    public RankFactory(Map<String, RankDao> component) {
+        RANK_MAP.putAll(component);
+    }
+
+    public RankDao getInstance(String key) {
+        return RANK_MAP.getOrDefault(key, DEFAULT);
+    }
+}

+ 24 - 0
src/main/java/com/smppw/analysis/domain/dao/rank/RankToBDao.java

@@ -0,0 +1,24 @@
+package com.smppw.analysis.domain.dao.rank;
+
+import com.smppw.analysis.domain.mapper.RankToBMapper;
+import org.springframework.stereotype.Component;
+
+@Component("tob")
+public class RankToBDao extends AbstractRankDao {
+    private final RankToBMapper mapper;
+
+    public RankToBDao(RankToBMapper mapper) {
+        this.mapper = mapper;
+    }
+
+    @Override
+    public String getRankDate() {
+        return this.mapper.getRankDate();
+    }
+
+    @Override
+    public String getRankDate(String refId) {
+        String endDate = this.mapper.getRefRankDate(refId);
+        return this.getLastRankDate(endDate);
+    }
+}

+ 24 - 0
src/main/java/com/smppw/analysis/domain/dao/rank/RankToCDao.java

@@ -0,0 +1,24 @@
+package com.smppw.analysis.domain.dao.rank;
+
+import com.smppw.analysis.domain.mapper.RankToCMapper;
+import org.springframework.stereotype.Component;
+
+@Component("toc")
+public class RankToCDao extends AbstractRankDao {
+    private final RankToCMapper mapper;
+
+    public RankToCDao(RankToCMapper mapper) {
+        this.mapper = mapper;
+    }
+
+    @Override
+    public String getRankDate() {
+        return this.mapper.getRankDate();
+    }
+
+    @Override
+    public String getRankDate(String refId) {
+        String endDate = this.mapper.getRefRankDate(refId);
+        return this.getLastRankDate(endDate);
+    }
+}

+ 0 - 41
src/main/java/com/smppw/analysis/domain/mapper/FundInformationDoMapper.java

@@ -10,23 +10,8 @@ import java.util.Map;
 
 @Repository
 public interface FundInformationDoMapper {
-
-    List<String> listFundIdByFundIdListAndVisibilityId(@Param("fundIdList") List<String> fundIdList, @Param("visibilityId") int visibilityId);
-
-    /**
-     * 私募管理人:获取基金id
-     *
-     * @param fundIdList   基金ids
-     * @param visibilityId 是否可见
-     * @return /
-     */
-    List<String> listFundIdByFundIdsAndVisibilityIdForInvestAdvisor(@Param("fundIdList") List<String> fundIdList, @Param("visibilityId") int visibilityId);
-
     List<FundInformationDo> listFundInfo(@Param("fundIdList") List<String> fundIdList);
 
-
-    List<Map<String, String>> getFundFrequency(@Param("fundIds") List<String> marketIndexList);
-
     /**
      * 获取基金经理的主要投资策略种类和为主的投资策略
      *
@@ -43,32 +28,6 @@ public interface FundInformationDoMapper {
      */
     FundInformationDo getFundByFundId(@Param("fundId") String fundId);
 
-    List<Map<String, String>> getFundInfos(@Param("fundIdList") List<String> fundIdList);
-
-    List<Map<String, String>> getFundRet(@Param("fundIdList") List<String> fundIdList);
-
-    String getMaxFundEndDate(@Param("fundIdList") List<String> fundIdList);
-
-    /**
-     * 获取机构下的基金id
-     *
-     * @param companyId 机构id
-     * @return 基金id
-     */
-    List<String> listFundIdByCompanyId(@Param("companyId") String companyId);
-
-    /**
-     * 获取基金经理或高管历史任职机构id
-     *
-     * @param personnelIdList 机构id
-     * @return 基金经理或高管历史任职机构id
-     */
-    List<String> listCompanyIdByPersonnelId(@Param("personnelIdList") List<String> personnelIdList);
-
-    List<Map<String, Object>> listFundInfoByCompanyId(String companyId);
-
-    List<Map<String, Object>> listFundRegisterNumber(List<String> fundIdList);
-
     /**
      * 基金业绩排名
      *

+ 21 - 0
src/main/java/com/smppw/analysis/domain/mapper/RankToBMapper.java

@@ -0,0 +1,21 @@
+package com.smppw.analysis.domain.mapper;
+
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface RankToBMapper {
+    /**
+     * 从rank_rat_control表获取最新的排名期
+     *
+     * @return 最新排名期
+     */
+    String getRankDate();
+
+    /**
+     * 从 cm_fund_indicator_ranking 获取标的的最新排名期 ? todo
+     *
+     * @param refId 标的id
+     * @return 标的对应
+     */
+    String getRefRankDate(String refId);
+}

+ 21 - 0
src/main/java/com/smppw/analysis/domain/mapper/RankToCMapper.java

@@ -0,0 +1,21 @@
+package com.smppw.analysis.domain.mapper;
+
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface RankToCMapper {
+    /**
+     * 从rank_rat_control表获取最新的排名期
+     *
+     * @return 最新排名期
+     */
+    String getRankDate();
+
+    /**
+     * 从fund_indicator_ranking 获取标的的最新排名期
+     *
+     * @param refId 标的id
+     * @return 标的对应
+     */
+    String getRefRankDate(String refId);
+}

+ 2 - 0
src/main/java/com/smppw/analysis/domain/service/BaseInfoService.java

@@ -17,6 +17,8 @@ import java.util.Map;
 public interface BaseInfoService {
     String getLatestRankRat();
 
+    String getLatestRankRat(String refId);
+
     String getSecType(String secId);
 
     Map<String, List<String>> getTypeSecMap(List<String> secIdList);

+ 11 - 3
src/main/java/com/smppw/analysis/domain/service/impl/BaseInfoServiceImpl.java

@@ -8,6 +8,8 @@ import cn.hutool.core.util.StrUtil;
 import com.smppw.analysis.domain.dao.FundInformationDao;
 import com.smppw.analysis.domain.dao.IndexesProfileDao;
 import com.smppw.analysis.domain.dao.RongzhiIndexNavDao;
+import com.smppw.analysis.domain.dao.rank.RankDao;
+import com.smppw.analysis.domain.dao.rank.RankFactory;
 import com.smppw.analysis.domain.dataobject.FundSimilarDo;
 import com.smppw.analysis.domain.dataobject.MonetaryFundProfitDO;
 import com.smppw.analysis.domain.dto.info.FundSimilarParams;
@@ -54,14 +56,16 @@ public class BaseInfoServiceImpl implements BaseInfoService, ApplicationContextA
     public static final String AP = "AP";
     private static final Map<String, Boolean> INDEX_EXIST = MapUtil.newConcurrentHashMap();
     private final Logger logger = LoggerFactory.getLogger(this.getClass());
+    private final RankDao rankDao;
     private final CacheGateway<Object> cacheGateway;
     private final IndexesProfileDao indexesProfileDao;
     private final RongzhiIndexNavDao rongzhiIndexNavDao;
     private final FundInformationDao fundInformationDao;
     private ApplicationContext applicationContext;
 
-    public BaseInfoServiceImpl(AnalysisProperty property, CacheFactory factory,
+    public BaseInfoServiceImpl(AnalysisProperty property, CacheFactory factory, RankFactory rankFactory,
                                IndexesProfileDao indexesProfileDao, RongzhiIndexNavDao rongzhiIndexNavDao, FundInformationDao fundInformationDao) {
+        this.rankDao = rankFactory.getInstance(property.getDataSource());
         this.cacheGateway = factory.getCacheGateway(property.getCacheType());
         this.indexesProfileDao = indexesProfileDao;
         this.rongzhiIndexNavDao = rongzhiIndexNavDao;
@@ -75,8 +79,12 @@ public class BaseInfoServiceImpl implements BaseInfoService, ApplicationContextA
 
     @Override
     public String getLatestRankRat() {
-        // todo 排名期
-        return "2023-07";
+        return this.rankDao.getRankDate();
+    }
+
+    @Override
+    public String getLatestRankRat(String refId) {
+        return this.rankDao.getRankDate(refId);
     }
 
     @Override

+ 12 - 0
src/main/java/com/smppw/analysis/infrastructure/config/AnalysisProperty.java

@@ -23,6 +23,10 @@ public class AnalysisProperty {
      * 签名校验是否可用
      */
     private Boolean enableSign = Boolean.FALSE;
+    /**
+     * 数据源
+     */
+    private String dataSource = "";
 
     public String getPyUrl() {
         return pyUrl;
@@ -47,4 +51,12 @@ public class AnalysisProperty {
     public void setEnableSign(Boolean enableSign) {
         this.enableSign = enableSign;
     }
+
+    public String getDataSource() {
+        return dataSource;
+    }
+
+    public void setDataSource(String dataSource) {
+        this.dataSource = dataSource;
+    }
 }

+ 2 - 1
src/main/resources/application-tob.yaml

@@ -53,4 +53,5 @@ smppw:
     analysis:
       py-url: https://master-test.simuwang.com/
       cache-type: memory
-      enable-sign: false
+      enable-sign: false
+      data-source: ${spring.profiles.active}

+ 2 - 1
src/main/resources/application-toc.yaml

@@ -53,4 +53,5 @@ smppw:
     analysis:
       py-url: https://master-test.simuwang.com/  # python服务调用地址
       cache-type: redis # 缓存类型,如果是redis必须配置redis
-      enable-sign: false # 参数签名校验功能是否可用
+      enable-sign: false # 参数签名校验功能是否可用
+      data-source: ${spring.profiles.active}

+ 0 - 133
src/main/resources/mapping/FundInformationDoMapper.xml

@@ -185,28 +185,6 @@
         is_amac_show
     </sql>
 
-    <select id="listFundIdByFundIdListAndVisibilityId" resultType="java.lang.String">
-        select distinct fund_id
-        from rz_hfdb_core.fund_information where is_nav_visible_org = #{visibilityId}
-                                             AND isvalid = 1
-                                             AND fund_id in
-        <foreach collection="fundIdList" item="fundId" index="index" open="(" separator="," close=")">
-            #{fundId}
-        </foreach>
-    </select>
-
-    <select id="listFundIdByFundIdsAndVisibilityIdForInvestAdvisor" resultType="java.lang.String">
-        select distinct fund_id
-        from rz_hfdb_core.fund_information
-        where isvisible = 1
-        and is_nav_visible = #{visibilityId}
-        AND isvalid = 1
-        AND fund_id in
-        <foreach collection="fundIdList" item="fundId" index="index" open="(" separator="," close=")">
-            #{fundId}
-        </foreach>
-    </select>
-
     <select id="listFundInfo" resultMap="BaseResultMap">
         select *
         from rz_hfdb_core.fund_information where isvalid = 1
@@ -216,14 +194,6 @@
         </foreach>
     </select>
 
-    <select id="getFundFrequency" resultType="java.util.Map">
-        SELECT f.fund_id fundId, f.nav_frequency frequency, f.trust_id trustId
-        FROM rz_hfdb_core.fund_information f WHERE f.isvalid = 1
-                                               AND f.fund_id in
-        <foreach collection="fundIds" index="index" item="fundId" open="(" close=")" separator=",">
-            #{fundId}
-        </foreach>
-    </select>
     <select id="getManagerFundFeature" resultType="java.util.Map">
         SELECT ds.strategy_name, COUNT(t4.first_strategy) as countSum
         FROM rz_hfdb_core.`fund_information` t1
@@ -246,109 +216,6 @@
           and isvalid = 1
     </select>
 
-    <select id="getFundInfos" resultType="java.util.Map">
-        SELECT fi.fund_id,
-               fi.fund_name,
-               fi.fund_short_name,
-               date_format(fi.inception_date,'%Y-%m-%d') as inception_date,
-               fi.is_nav_visible AS is_nav_visible,
-               fi.isvisible AS is_visible,
-               fi.is_nav_visible_org AS is_nav_visible_org,
-               ci.company_id                             AS 'advisor_id',
-               ci.company_name                           AS 'advisor_name',
-               ci.company_short_name                     AS 'advisor_short_name',
-               mi.manager_name,
-               mi.manager_id
-        FROM rz_hfdb_core.fund_information fi
-                 LEFT JOIN rz_hfdb_core.fund_manager_mapping fm ON fi.fund_id = fm.fund_id AND fm.isvalid = 1
-                 LEFT JOIN rz_hfdb_core.company_information ci ON ci.company_id = fi.trust_id AND ci.isvalid = 1
-                 LEFT JOIN rz_hfdb_core.personnel_mapping mi
-                           ON fm.fund_manager_id = mi.manager_id WHERE fi.isvalid = 1
-                                                                   AND fi.fund_id in
-        <foreach collection="fundIdList" item="fundId" index="index" open="(" separator="," close=")">
-            #{fundId}
-        </foreach>
-    </select>
-
-    <select id="getFundRet" resultType="java.util.Map">
-        SELECT p.fund_id,
-               date_format(p.price_date,'%Y-%m-%d') as price_date,
-               p.ret_incep,
-               p.ret_incep_a,
-               n.nav,
-               p.cumulative_nav,
-               p.ret_ytd,
-               p.ret_ytd_a,
-               p.ret_1m,
-               p.ret_1m_a,
-               p.ret_3m,
-               p.ret_3m_a,
-               p.ret_6m,
-               p.ret_6m_a,
-               p.ret_1y,
-               p.ret_1y_a,
-               p.ret_3y,
-               p.ret_3y_a
-        FROM rz_hfdb_core.fund_latest_nav_performance p
-                 LEFT JOIN rz_hfdb_core.nav n
-                           ON p.fund_id = n.fund_id AND p.price_date = n.price_date WHERE p.isvalid = 1
-                                                                                      AND p.fund_id IN
-        <foreach collection="fundIdList" item="fundId" index="index" open="(" separator="," close=")">
-            #{fundId}
-        </foreach>
-    </select>
-
-    <select id="getMaxFundEndDate" resultType="java.lang.String">
-        SELECT max(price_date) AS 'end_date' FROM rz_hfdb_core.fund_latest_nav_performance p WHERE p.isvalid=1 AND p.fund_id IN
-        <foreach collection="fundIdList" item="fundId" index="index" open="(" separator="," close=")">
-            #{fundId}
-        </foreach>
-    </select>
-
-    <select id="listFundIdByCompanyId" resultType="java.lang.String">
-        select t1.fund_id
-        from fund_information t1
-                 left join company_information t2 on t1.trust_id = t2.company_id
-        where t1.isvalid = 1
-          and t2.company_id = #{companyId} and t2.isvalid=1
-        order by t1.createtime
-    </select>
-
-    <select id="listCompanyIdByPersonnelId" resultType="java.lang.String">
-        SELECT DISTINCT t2.company_id
-        FROM rz_hfdb_core.personnel_company_position_mapping t1
-        LEFT JOIN rz_hfdb_core.company_information t2
-        ON t1.company_id = t2.company_id AND t2.isvalid = 1
-        LEFT JOIN rz_hfdb_core.personnel_company_position_id_mapping t3
-        ON t3.`isvalid`=1 AND t3.`rec_id`=t1.id
-        LEFT JOIN rz_hfdb_core.d_position t4
-        ON t3.position_id=t4.id AND t4.`isvalid`=1
-        WHERE t1.isvalid = 1
-        AND t4.position_name REGEXP '总经理|董事|CEO|CFO|COO|CIO|投资经理|合规负责人|合规风控|监事|总监|法定代表人|法人|合伙人|创始人|总裁|主管|法人代表|基金经理'
-        and t1.personnel_id in
-        <foreach collection="personnelIdList" item="personnelId" index="index" open="(" separator="," close=")">
-            #{personnelId}
-        </foreach>
-    </select>
-    <select id="listFundInfoByCompanyId" resultType="java.util.Map" parameterType="java.lang.String">
-        select t1.fund_id as fundId,t1.fund_short_name as fundShortName,
-        t1.register_number as registerNumber
-        from fund_information t1
-        left join company_information t2 on t1.trust_id = t2.company_id
-        where t1.isvalid = 1
-        and t2.company_id = #{companyId} and t2.isvalid=1
-        order by t1.createtime
-
-    </select>
-    <select id="listFundRegisterNumber" resultType="java.util.Map">
-        select fund_id as fundId,register_number as registerNumber
-        from fund_information
-        where isvalid = 1 and fund_id in
-        <foreach collection="fundIdList" item="item" index="index" separator="," open="(" close=")">
-            #{item}
-        </foreach>
-    </select>
-
     <select id="getFundRankByCall" resultType="hashmap" parameterType="hashmap" statementType="CALLABLE">
         CALL rz_hfdb_core.sp_get_fund_strategy_year_ret_pro(1,null,#{rankDate,mode=IN},#{fundId,mode=IN},#{indexIds,mode=IN},#{indicator,mode=IN},null)
     </select>

+ 11 - 0
src/main/resources/mapping/RankToBMapper.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.smppw.analysis.domain.mapper.RankToBMapper">
+    <select id="getRankDate" resultType="string">
+        select max(end_date) from rank_rat_control where isvalid = 1
+    </select>
+
+    <select id="getRefRankDate" resultType="string" parameterType="string">
+        select max(a.end_date) from rz_combination_master.cm_fund_indicator_ranking a where a.fund_id = #{refId} and a.isvalid = 1
+    </select>
+</mapper>

+ 11 - 0
src/main/resources/mapping/RankToCMapper.xml

@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.smppw.analysis.domain.mapper.RankToCMapper">
+    <select id="getRankDate" resultType="string">
+        select max(end_date) from rank_rat_control where isvalid = 1
+    </select>
+
+    <select id="getRefRankDate" resultType="string" parameterType="string">
+        select max(a.end_date) from fund_indicator_ranking a where a.fund_id = #{refId} and a.isvalid = 1
+    </select>
+</mapper>