Bladeren bron

feat:通用服务改造-仅支持自建基金净值分析

wangzaijun 8 maanden geleden
bovenliggende
commit
ce8f1c0ef3
100 gewijzigde bestanden met toevoegingen van 5746 en 7284 verwijderingen
  1. 7 7
      pom.xml
  2. 50 50
      src/main/java/com/smppw/analysis/application/dto/info/FundSimilarReq.java
  3. 28 28
      src/main/java/com/smppw/analysis/application/dto/info/ManualFundManagerParams.java
  4. 34 34
      src/main/java/com/smppw/analysis/application/dto/info/ManualFundNoticeReq.java
  5. 24 24
      src/main/java/com/smppw/analysis/application/dto/performance/RankReq.java
  6. 20 20
      src/main/java/com/smppw/analysis/application/dto/position/AssetAllocationReq.java
  7. 29 29
      src/main/java/com/smppw/analysis/application/dto/position/BarraSensitivityReq.java
  8. 23 23
      src/main/java/com/smppw/analysis/application/dto/position/BasePositionReq.java
  9. 20 20
      src/main/java/com/smppw/analysis/application/dto/position/ChangeNumberReq.java
  10. 20 20
      src/main/java/com/smppw/analysis/application/dto/position/ConcentrationReq.java
  11. 20 20
      src/main/java/com/smppw/analysis/application/dto/position/HolderInfoReq.java
  12. 20 20
      src/main/java/com/smppw/analysis/application/dto/position/LeverageChangeReq.java
  13. 20 20
      src/main/java/com/smppw/analysis/application/dto/position/MajorChangeReq.java
  14. 20 20
      src/main/java/com/smppw/analysis/application/dto/position/MarginalRiskContributionReq.java
  15. 20 20
      src/main/java/com/smppw/analysis/application/dto/position/PositionInfoReq.java
  16. 36 36
      src/main/java/com/smppw/analysis/application/dto/position/PositionListReq.java
  17. 30 30
      src/main/java/com/smppw/analysis/application/dto/position/StockAllocationReq.java
  18. 29 29
      src/main/java/com/smppw/analysis/application/dto/position/StockPerformanceAttributionReq.java
  19. 43 43
      src/main/java/com/smppw/analysis/application/dto/style/BaseStyleReq.java
  20. 0 4
      src/main/java/com/smppw/analysis/application/envent/package-info.java
  21. 598 635
      src/main/java/com/smppw/analysis/application/service/info/FundInfoService.java
  22. 1 1
      src/main/java/com/smppw/analysis/application/service/info/GlobalService.java
  23. 5 5
      src/main/java/com/smppw/analysis/application/service/performance/FundPerformanceService.java
  24. 84 84
      src/main/java/com/smppw/analysis/application/service/position/FundFuturesOptionService.java
  25. 78 78
      src/main/java/com/smppw/analysis/application/service/position/FuturePositionAnalysis.java
  26. 283 284
      src/main/java/com/smppw/analysis/application/service/position/StockPositionAnalysis.java
  27. 133 133
      src/main/java/com/smppw/analysis/application/service/position/SynthesizePositionAnalysis.java
  28. 101 101
      src/main/java/com/smppw/analysis/application/service/style/StyleService.java
  29. 1159 1159
      src/main/java/com/smppw/analysis/application/service/style/StyleServiceImpl.java
  30. 88 88
      src/main/java/com/smppw/analysis/client/FundApi.java
  31. 5 5
      src/main/java/com/smppw/analysis/client/FundPerformanceApi.java
  32. 304 304
      src/main/java/com/smppw/analysis/client/FundPositionApi.java
  33. 141 141
      src/main/java/com/smppw/analysis/client/FundStyleApi.java
  34. 31 31
      src/main/java/com/smppw/analysis/domain/dao/CompanyInformationDao.java
  35. 26 26
      src/main/java/com/smppw/analysis/domain/dao/FundAnnounceDao.java
  36. 25 25
      src/main/java/com/smppw/analysis/domain/dao/FundArchivesDao.java
  37. 49 55
      src/main/java/com/smppw/analysis/domain/dao/FundInformationDao.java
  38. 27 27
      src/main/java/com/smppw/analysis/domain/dao/FundStyleDao.java
  39. 31 31
      src/main/java/com/smppw/analysis/domain/dao/PersonnelInformationDao.java
  40. 114 114
      src/main/java/com/smppw/analysis/domain/dao/PositionAnalysisDao.java
  41. 58 58
      src/main/java/com/smppw/analysis/domain/dao/PubliclyFundPositionDao.java
  42. 61 61
      src/main/java/com/smppw/analysis/domain/dao/nav/CompanyNavDao.java
  43. 61 61
      src/main/java/com/smppw/analysis/domain/dao/nav/ManagerNavDao.java
  44. 2 2
      src/main/java/com/smppw/analysis/domain/dao/nav/NavConstants.java
  45. 1 1
      src/main/java/com/smppw/analysis/domain/dao/nav/NavDao.java
  46. 2 2
      src/main/java/com/smppw/analysis/domain/dao/nav/NavFactory.java
  47. 0 21
      src/main/java/com/smppw/analysis/domain/dao/rank/AbstractRankDao.java
  48. 0 25
      src/main/java/com/smppw/analysis/domain/dao/rank/RankDao.java
  49. 0 31
      src/main/java/com/smppw/analysis/domain/dao/rank/RankFactory.java
  50. 0 18
      src/main/java/com/smppw/analysis/domain/dao/rank/RankToBDao.java
  51. 0 24
      src/main/java/com/smppw/analysis/domain/dao/rank/RankToCDao.java
  52. 0 321
      src/main/java/com/smppw/analysis/domain/dataobject/BondBasicInformationDO.java
  53. 0 85
      src/main/java/com/smppw/analysis/domain/dataobject/BondCreditGradingInfo.java
  54. 0 27
      src/main/java/com/smppw/analysis/domain/dataobject/BondIndustryInfo.java
  55. 0 338
      src/main/java/com/smppw/analysis/domain/dataobject/CompanyInformationDo.java
  56. 0 58
      src/main/java/com/smppw/analysis/domain/dataobject/FundArchivesInfoDO.java
  57. 0 128
      src/main/java/com/smppw/analysis/domain/dataobject/FundFeeDo.java
  58. 0 28
      src/main/java/com/smppw/analysis/domain/dataobject/FundInitLatestAssetSizeDO.java
  59. 0 23
      src/main/java/com/smppw/analysis/domain/dataobject/FundManagerInfoDo.java
  60. 0 81
      src/main/java/com/smppw/analysis/domain/dataobject/FundPositionBaseInfoDO.java
  61. 0 83
      src/main/java/com/smppw/analysis/domain/dataobject/FundPositionDetailDO.java
  62. 21 21
      src/main/java/com/smppw/analysis/domain/dataobject/FundSimilarDo.java
  63. 237 237
      src/main/java/com/smppw/analysis/domain/dataobject/FundStyleStatsDO.java
  64. 0 31
      src/main/java/com/smppw/analysis/domain/dataobject/FutureDailyPriceDO.java
  65. 0 23
      src/main/java/com/smppw/analysis/domain/dataobject/IndexSecWeightInfoDO.java
  66. 28 28
      src/main/java/com/smppw/analysis/domain/dataobject/ManualFundAssetSizeDo.java
  67. 45 45
      src/main/java/com/smppw/analysis/domain/dataobject/ManualFundFeeDo.java
  68. 0 37
      src/main/java/com/smppw/analysis/domain/dataobject/ManualFundManagerChangeDo.java
  69. 0 63
      src/main/java/com/smppw/analysis/domain/dataobject/ManualFundManagerInfoDo.java
  70. 0 45
      src/main/java/com/smppw/analysis/domain/dataobject/ManualFundNoticeInfoDO.java
  71. 33 33
      src/main/java/com/smppw/analysis/domain/dataobject/ManualFundPurchaseRedeemDO.java
  72. 38 38
      src/main/java/com/smppw/analysis/domain/dataobject/MfFundArchivesInfoDo.java
  73. 37 37
      src/main/java/com/smppw/analysis/domain/dataobject/MfManagerFundNumDo.java
  74. 219 219
      src/main/java/com/smppw/analysis/domain/dataobject/PersonnelInformationDo.java
  75. 38 38
      src/main/java/com/smppw/analysis/domain/dataobject/PersonnelWorkExperienceDo.java
  76. 77 77
      src/main/java/com/smppw/analysis/domain/dataobject/PubliclyFundHolderInfoDO.java
  77. 49 49
      src/main/java/com/smppw/analysis/domain/dataobject/PubliclyFundStockChangeDO.java
  78. 24 24
      src/main/java/com/smppw/analysis/domain/dataobject/SecClosePriceDO.java
  79. 34 34
      src/main/java/com/smppw/analysis/domain/dataobject/SecLiquidityInfoDO.java
  80. 28 28
      src/main/java/com/smppw/analysis/domain/dataobject/SecStyleInfoDO.java
  81. 26 26
      src/main/java/com/smppw/analysis/domain/dataobject/SecTurnoverInfoDO.java
  82. 21 21
      src/main/java/com/smppw/analysis/domain/dataobject/SwSecIndustryInfoDO.java
  83. 21 21
      src/main/java/com/smppw/analysis/domain/dataobject/nav/CompanyFittedCurveDo.java
  84. 39 39
      src/main/java/com/smppw/analysis/domain/dataobject/nav/CompanyFittedCurveWeeklyDo.java
  85. 89 89
      src/main/java/com/smppw/analysis/domain/dataobject/nav/CompanyNavDO.java
  86. 21 21
      src/main/java/com/smppw/analysis/domain/dataobject/nav/FundManagerFittedCurveDo.java
  87. 39 39
      src/main/java/com/smppw/analysis/domain/dataobject/nav/FundManagerFittedCurveWeeklyDo.java
  88. 84 84
      src/main/java/com/smppw/analysis/domain/dataobject/nav/FundManagerNavDO.java
  89. 128 128
      src/main/java/com/smppw/analysis/domain/dto/info/FundBaseFeeVO.java
  90. 57 57
      src/main/java/com/smppw/analysis/domain/dto/info/FundManagerInfoVo.java
  91. 31 31
      src/main/java/com/smppw/analysis/domain/dto/info/FundOpenDayVO.java
  92. 43 43
      src/main/java/com/smppw/analysis/domain/dto/info/FundSimilarParams.java
  93. 22 22
      src/main/java/com/smppw/analysis/domain/dto/info/FundSimilarVO.java
  94. 46 46
      src/main/java/com/smppw/analysis/domain/dto/info/ManualFundFeeInfoVO.java
  95. 28 28
      src/main/java/com/smppw/analysis/domain/dto/info/ManualFundInvestInfoVO.java
  96. 58 58
      src/main/java/com/smppw/analysis/domain/dto/info/ManualFundManagerChangeVO.java
  97. 73 73
      src/main/java/com/smppw/analysis/domain/dto/info/ManualFundManagerInfoVO.java
  98. 44 44
      src/main/java/com/smppw/analysis/domain/dto/info/ManualFundNoticeInfoVO.java
  99. 7 7
      src/main/java/com/smppw/analysis/domain/dto/info/PubliclyFundBaseInfoVO.java
  100. 0 0
      src/main/java/com/smppw/analysis/domain/dto/performance/RankParams.java

+ 7 - 7
pom.xml

@@ -5,7 +5,7 @@
     <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
-        <version>3.0.9</version>
+        <version>3.3.3</version>
         <relativePath/> <!-- lookup parent from repository -->
     </parent>
     <groupId>com.smppw</groupId>
@@ -15,7 +15,7 @@
     <description>Demo project for Spring Boot</description>
     <properties>
         <java.version>17</java.version>
-        <hutool-version>5.8.12</hutool-version>
+        <hutool-version>5.8.31</hutool-version>
     </properties>
     <dependencies>
         <dependency>
@@ -39,14 +39,14 @@
         <dependency>
             <groupId>org.mybatis.spring.boot</groupId>
             <artifactId>mybatis-spring-boot-starter</artifactId>
-            <version>3.0.2</version>
+            <version>3.0.3</version>
         </dependency>
 
         <!-- 私有库 -->
         <dependency>
             <groupId>com.smppw</groupId>
             <artifactId>data-calc</artifactId>
-            <version>0.1.4-SNAPSHOT</version>
+            <version>0.1.8-SNAPSHOT</version>
         </dependency>
         <dependency>
             <groupId>cn.hutool</groupId>
@@ -71,7 +71,7 @@
         <dependency>
             <groupId>com.github.ben-manes.caffeine</groupId>
             <artifactId>caffeine</artifactId>
-            <version>2.8.8</version>
+            <version>3.1.8</version>
         </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
@@ -81,12 +81,12 @@
         <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-lang3</artifactId>
-            <version>3.12.0</version>
+            <version>3.16.0</version>
         </dependency>
         <dependency>
             <groupId>joda-time</groupId>
             <artifactId>joda-time</artifactId>
-            <version>2.10.13</version>
+            <version>2.12.7</version>
         </dependency>
 
         <dependency>

+ 50 - 50
src/main/java/com/smppw/analysis/application/dto/info/FundSimilarReq.java

@@ -1,50 +1,50 @@
-package com.smppw.analysis.application.dto.info;
-
-import cn.hutool.core.bean.BeanUtil;
-import com.smppw.analysis.application.dto.BaseReq;
-import com.smppw.analysis.domain.dto.info.FundSimilarParams;
-import com.smppw.common.pojo.enums.RaiseType;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author wangzaijun
- * @date 2023/3/22 16:58
- * @description 相似产品(仅支持私募基金) 接口请求参数
- */
-@Setter
-@Getter
-public class FundSimilarReq extends BaseReq<FundSimilarParams> {
-    public static final String DEFAULT_THRESHOLD = "0.85";
-    /**
-     * 基金id
-     */
-    private String secId;
-    /**
-     * 管理人id
-     */
-    private String trustId;
-    /**
-     * 1-市场同策略,2-管理人同策略
-     */
-    private Integer calcType = 2;
-    /**
-     * 相关性阈值,小数
-     */
-    private String threshold = DEFAULT_THRESHOLD;
-    /**
-     * 募集类型
-     */
-    private RaiseType raiseType;
-    /**
-     * 末级策略,head-info接口返回的
-     */
-    private String strategy;
-
-    private String benchmarkId;
-
-    @Override
-    public FundSimilarParams convert() {
-        return BeanUtil.copyProperties(this, FundSimilarParams.class);
-    }
-}
+//package com.smppw.analysis.application.dto.info;
+//
+//import cn.hutool.core.bean.BeanUtil;
+//import com.smppw.analysis.application.dto.BaseReq;
+//import com.smppw.analysis.domain.dto.info.FundSimilarParams;
+//import com.smppw.common.pojo.enums.RaiseType;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/3/22 16:58
+// * @description 相似产品(仅支持私募基金) 接口请求参数
+// */
+//@Setter
+//@Getter
+//public class FundSimilarReq extends BaseReq<FundSimilarParams> {
+//    public static final String DEFAULT_THRESHOLD = "0.85";
+//    /**
+//     * 基金id
+//     */
+//    private String secId;
+//    /**
+//     * 管理人id
+//     */
+//    private String trustId;
+//    /**
+//     * 1-市场同策略,2-管理人同策略
+//     */
+//    private Integer calcType = 2;
+//    /**
+//     * 相关性阈值,小数
+//     */
+//    private String threshold = DEFAULT_THRESHOLD;
+//    /**
+//     * 募集类型
+//     */
+//    private RaiseType raiseType;
+//    /**
+//     * 末级策略,head-info接口返回的
+//     */
+//    private String strategy;
+//
+//    private String benchmarkId;
+//
+//    @Override
+//    public FundSimilarParams convert() {
+//        return BeanUtil.copyProperties(this, FundSimilarParams.class);
+//    }
+//}

+ 28 - 28
src/main/java/com/smppw/analysis/application/dto/info/ManualFundManagerParams.java

@@ -1,28 +1,28 @@
-package com.smppw.analysis.application.dto.info;
-
-import com.smppw.analysis.application.dto.BaseReq;
-import lombok.Data;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 17:00
- * @description 公募基金的基金经理变更历史请求参数
- */
-@Data
-public class ManualFundManagerParams extends BaseReq<ManualFundManagerParams> {
-
-    /**
-     * 基金id
-     */
-    private String secId;
-
-    /**
-     * 基准
-     */
-    private String benchmarkId;
-
-    @Override
-    public ManualFundManagerParams convert() {
-        return null;
-    }
-}
+//package com.smppw.analysis.application.dto.info;
+//
+//import com.smppw.analysis.application.dto.BaseReq;
+//import lombok.Data;
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/9 17:00
+// * @description 公募基金的基金经理变更历史请求参数
+// */
+//@Data
+//public class ManualFundManagerParams extends BaseReq<ManualFundManagerParams> {
+//
+//    /**
+//     * 基金id
+//     */
+//    private String secId;
+//
+//    /**
+//     * 基准
+//     */
+//    private String benchmarkId;
+//
+//    @Override
+//    public ManualFundManagerParams convert() {
+//        return null;
+//    }
+//}

+ 34 - 34
src/main/java/com/smppw/analysis/application/dto/info/ManualFundNoticeReq.java

@@ -1,34 +1,34 @@
-package com.smppw.analysis.application.dto.info;
-
-import com.smppw.analysis.application.dto.BaseReq;
-import lombok.Data;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 09:25
- * @description 公募基金公告信息请求参数
- */
-@Data
-public class ManualFundNoticeReq extends BaseReq<ManualFundNoticeReq> {
-
-    /**
-     * 公募基金id
-     */
-    private String secId;
-
-    /**
-     * 公告类型:1-发行上市, 2-定期报告, 3-业绩快报, 4-其他公告,多个类型以逗号隔开
-     */
-    private String type;
-
-    /**
-     * 标题,模糊查询
-     */
-    private String title;
-
-    @Override
-    public ManualFundNoticeReq convert() {
-        return null;
-    }
-
-}
+//package com.smppw.analysis.application.dto.info;
+//
+//import com.smppw.analysis.application.dto.BaseReq;
+//import lombok.Data;
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/9 09:25
+// * @description 公募基金公告信息请求参数
+// */
+//@Data
+//public class ManualFundNoticeReq extends BaseReq<ManualFundNoticeReq> {
+//
+//    /**
+//     * 公募基金id
+//     */
+//    private String secId;
+//
+//    /**
+//     * 公告类型:1-发行上市, 2-定期报告, 3-业绩快报, 4-其他公告,多个类型以逗号隔开
+//     */
+//    private String type;
+//
+//    /**
+//     * 标题,模糊查询
+//     */
+//    private String title;
+//
+//    @Override
+//    public ManualFundNoticeReq convert() {
+//        return null;
+//    }
+//
+//}

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

@@ -1,24 +1,24 @@
-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;
-import lombok.Setter;
-
-@Setter
-@Getter
-public class RankReq extends BasePerformanceReq<RankParams> {
-    /**
-     * 选择的指标
-     */
-    private Indicator indicator;
-
-    @Override
-    public RankParams convert() {
-        RankParams params = BeanUtil.copyProperties(this, RankParams.class);
-        params.setRefIds(ListUtil.toLinkedList(this.getSecId()));
-        return params;
-    }
-}
+//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;
+//import lombok.Setter;
+//
+//@Setter
+//@Getter
+//public class RankReq extends BasePerformanceReq<RankParams> {
+//    /**
+//     * 选择的指标
+//     */
+//    private Indicator indicator;
+//
+//    @Override
+//    public RankParams convert() {
+//        RankParams params = BeanUtil.copyProperties(this, RankParams.class);
+//        params.setRefIds(ListUtil.toLinkedList(this.getSecId()));
+//        return params;
+//    }
+//}

+ 20 - 20
src/main/java/com/smppw/analysis/application/dto/position/AssetAllocationReq.java

@@ -1,20 +1,20 @@
-package com.smppw.analysis.application.dto.position;
-
-import cn.hutool.core.bean.BeanUtil;
-import com.smppw.analysis.domain.dto.position.synthesize.AssetAllocationParams;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author wangzaijun
- * @date 2023/6/6 11:30
- * @description 大类资产配置,后续支持穿透
- */
-@Setter
-@Getter
-public class AssetAllocationReq extends BasePositionReq<AssetAllocationParams> {
-    @Override
-    public AssetAllocationParams convert() {
-        return BeanUtil.copyProperties(this, AssetAllocationParams.class);
-    }
-}
+//package com.smppw.analysis.application.dto.position;
+//
+//import cn.hutool.core.bean.BeanUtil;
+//import com.smppw.analysis.domain.dto.position.synthesize.AssetAllocationParams;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/6 11:30
+// * @description 大类资产配置,后续支持穿透
+// */
+//@Setter
+//@Getter
+//public class AssetAllocationReq extends BasePositionReq<AssetAllocationParams> {
+//    @Override
+//    public AssetAllocationParams convert() {
+//        return BeanUtil.copyProperties(this, AssetAllocationParams.class);
+//    }
+//}

+ 29 - 29
src/main/java/com/smppw/analysis/application/dto/position/BarraSensitivityReq.java

@@ -1,29 +1,29 @@
-package com.smppw.analysis.application.dto.position;
-
-import cn.hutool.core.bean.BeanUtil;
-import com.smppw.analysis.domain.dto.position.stock.BarraSensitivityParams;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author wangzaijun
- * @date 2023/6/6 17:13
- * @description 股票barra敏感度分析 接口请求参数
- */
-@Setter
-@Getter
-public class BarraSensitivityReq extends BasePositionReq<BarraSensitivityParams> {
-    /**
-     * 基准,只支持 沪深300、中证500、中证1000
-     */
-    private String benchmarkId;
-    /**
-     * 估值日期
-     */
-    private String date;
-
-    @Override
-    public BarraSensitivityParams convert() {
-        return BeanUtil.copyProperties(this, BarraSensitivityParams.class);
-    }
-}
+//package com.smppw.analysis.application.dto.position;
+//
+//import cn.hutool.core.bean.BeanUtil;
+//import com.smppw.analysis.domain.dto.position.stock.BarraSensitivityParams;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/6 17:13
+// * @description 股票barra敏感度分析 接口请求参数
+// */
+//@Setter
+//@Getter
+//public class BarraSensitivityReq extends BasePositionReq<BarraSensitivityParams> {
+//    /**
+//     * 基准,只支持 沪深300、中证500、中证1000
+//     */
+//    private String benchmarkId;
+//    /**
+//     * 估值日期
+//     */
+//    private String date;
+//
+//    @Override
+//    public BarraSensitivityParams convert() {
+//        return BeanUtil.copyProperties(this, BarraSensitivityParams.class);
+//    }
+//}

+ 23 - 23
src/main/java/com/smppw/analysis/application/dto/position/BasePositionReq.java

@@ -1,23 +1,23 @@
-package com.smppw.analysis.application.dto.position;
-
-import com.smppw.analysis.application.dto.BaseReq;
-import com.smppw.analysis.domain.dto.position.BaseParams;
-import lombok.Getter;
-import lombok.Setter;
-
-@Setter
-@Getter
-public abstract class BasePositionReq<R extends BaseParams> extends BaseReq<R> {
-    /**
-     * 基金id
-     */
-    private String fundId;
-    /**
-     * 开始时间
-     */
-    private String startDate;
-    /**
-     * 结束时间
-     */
-    private String endDate;
-}
+//package com.smppw.analysis.application.dto.position;
+//
+//import com.smppw.analysis.application.dto.BaseReq;
+//import com.smppw.analysis.domain.dto.position.BaseParams;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+//@Setter
+//@Getter
+//public abstract class BasePositionReq<R extends BaseParams> extends BaseReq<R> {
+//    /**
+//     * 基金id
+//     */
+//    private String fundId;
+//    /**
+//     * 开始时间
+//     */
+//    private String startDate;
+//    /**
+//     * 结束时间
+//     */
+//    private String endDate;
+//}

+ 20 - 20
src/main/java/com/smppw/analysis/application/dto/position/ChangeNumberReq.java

@@ -1,20 +1,20 @@
-package com.smppw.analysis.application.dto.position;
-
-import cn.hutool.core.bean.BeanUtil;
-import com.smppw.analysis.domain.dto.position.stock.ChangeNumberParams;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author wangzaijun
- * @date 2023/6/6 14:53
- * @description 持股数量变动时序 接口请求参数
- */
-@Setter
-@Getter
-public class ChangeNumberReq extends BasePositionReq<ChangeNumberParams> {
-    @Override
-    public ChangeNumberParams convert() {
-        return BeanUtil.copyProperties(this, ChangeNumberParams.class);
-    }
-}
+//package com.smppw.analysis.application.dto.position;
+//
+//import cn.hutool.core.bean.BeanUtil;
+//import com.smppw.analysis.domain.dto.position.stock.ChangeNumberParams;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/6 14:53
+// * @description 持股数量变动时序 接口请求参数
+// */
+//@Setter
+//@Getter
+//public class ChangeNumberReq extends BasePositionReq<ChangeNumberParams> {
+//    @Override
+//    public ChangeNumberParams convert() {
+//        return BeanUtil.copyProperties(this, ChangeNumberParams.class);
+//    }
+//}

+ 20 - 20
src/main/java/com/smppw/analysis/application/dto/position/ConcentrationReq.java

@@ -1,20 +1,20 @@
-package com.smppw.analysis.application.dto.position;
-
-import cn.hutool.core.bean.BeanUtil;
-import com.smppw.analysis.domain.dto.position.stock.ConcentrationParams;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author wangzaijun
- * @date 2023/6/6 14:53
- * @description 股票集中度 接口请求参数
- */
-@Setter
-@Getter
-public class ConcentrationReq extends BasePositionReq<ConcentrationParams> {
-    @Override
-    public ConcentrationParams convert() {
-        return BeanUtil.copyProperties(this, ConcentrationParams.class);
-    }
-}
+//package com.smppw.analysis.application.dto.position;
+//
+//import cn.hutool.core.bean.BeanUtil;
+//import com.smppw.analysis.domain.dto.position.stock.ConcentrationParams;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/6 14:53
+// * @description 股票集中度 接口请求参数
+// */
+//@Setter
+//@Getter
+//public class ConcentrationReq extends BasePositionReq<ConcentrationParams> {
+//    @Override
+//    public ConcentrationParams convert() {
+//        return BeanUtil.copyProperties(this, ConcentrationParams.class);
+//    }
+//}

+ 20 - 20
src/main/java/com/smppw/analysis/application/dto/position/HolderInfoReq.java

@@ -1,20 +1,20 @@
-package com.smppw.analysis.application.dto.position;
-
-import cn.hutool.core.bean.BeanUtil;
-import com.smppw.analysis.domain.dto.position.synthesize.HolderInfoParams;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author wangzaijun
- * @date 2023/6/6 14:26
- * @description 公募基金持有人结构 请求参数
- */
-@Setter
-@Getter
-public class HolderInfoReq extends BasePositionReq<HolderInfoParams> {
-    @Override
-    public HolderInfoParams convert() {
-        return BeanUtil.copyProperties(this, HolderInfoParams.class);
-    }
-}
+//package com.smppw.analysis.application.dto.position;
+//
+//import cn.hutool.core.bean.BeanUtil;
+//import com.smppw.analysis.domain.dto.position.synthesize.HolderInfoParams;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/6 14:26
+// * @description 公募基金持有人结构 请求参数
+// */
+//@Setter
+//@Getter
+//public class HolderInfoReq extends BasePositionReq<HolderInfoParams> {
+//    @Override
+//    public HolderInfoParams convert() {
+//        return BeanUtil.copyProperties(this, HolderInfoParams.class);
+//    }
+//}

+ 20 - 20
src/main/java/com/smppw/analysis/application/dto/position/LeverageChangeReq.java

@@ -1,20 +1,20 @@
-package com.smppw.analysis.application.dto.position;
-
-import cn.hutool.core.bean.BeanUtil;
-import com.smppw.analysis.domain.dto.position.synthesize.LeverageChangeParams;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author wangzaijun
- * @date 2023/6/6 11:30
- * @description 杠杆变化,不需要支持穿透
- */
-@Setter
-@Getter
-public class LeverageChangeReq extends BasePositionReq<LeverageChangeParams> {
-    @Override
-    public LeverageChangeParams convert() {
-        return BeanUtil.copyProperties(this, LeverageChangeParams.class);
-    }
-}
+//package com.smppw.analysis.application.dto.position;
+//
+//import cn.hutool.core.bean.BeanUtil;
+//import com.smppw.analysis.domain.dto.position.synthesize.LeverageChangeParams;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/6 11:30
+// * @description 杠杆变化,不需要支持穿透
+// */
+//@Setter
+//@Getter
+//public class LeverageChangeReq extends BasePositionReq<LeverageChangeParams> {
+//    @Override
+//    public LeverageChangeParams convert() {
+//        return BeanUtil.copyProperties(this, LeverageChangeParams.class);
+//    }
+//}

+ 20 - 20
src/main/java/com/smppw/analysis/application/dto/position/MajorChangeReq.java

@@ -1,20 +1,20 @@
-package com.smppw.analysis.application.dto.position;
-
-import cn.hutool.core.bean.BeanUtil;
-import com.smppw.analysis.domain.dto.position.stock.MajorChangeParams;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author wangzaijun
- * @date 2023/6/6 14:53
- * @description 持仓股票重大变动 接口请求参数
- */
-@Setter
-@Getter
-public class MajorChangeReq extends BasePositionReq<MajorChangeParams> {
-    @Override
-    public MajorChangeParams convert() {
-        return BeanUtil.copyProperties(this, MajorChangeParams.class);
-    }
-}
+//package com.smppw.analysis.application.dto.position;
+//
+//import cn.hutool.core.bean.BeanUtil;
+//import com.smppw.analysis.domain.dto.position.stock.MajorChangeParams;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/6 14:53
+// * @description 持仓股票重大变动 接口请求参数
+// */
+//@Setter
+//@Getter
+//public class MajorChangeReq extends BasePositionReq<MajorChangeParams> {
+//    @Override
+//    public MajorChangeParams convert() {
+//        return BeanUtil.copyProperties(this, MajorChangeParams.class);
+//    }
+//}

+ 20 - 20
src/main/java/com/smppw/analysis/application/dto/position/MarginalRiskContributionReq.java

@@ -1,20 +1,20 @@
-package com.smppw.analysis.application.dto.position;
-
-import cn.hutool.core.bean.BeanUtil;
-import com.smppw.analysis.domain.dto.position.future.MarginalRiskContributionParams;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author wangzaijun
- * @date 2023/6/19 11:16
- * @description 私募基金期货的边际风险贡献接口请求参数
- */
-@Setter
-@Getter
-public class MarginalRiskContributionReq extends BasePositionReq<MarginalRiskContributionParams> {
-    @Override
-    public MarginalRiskContributionParams convert() {
-        return BeanUtil.copyProperties(this, MarginalRiskContributionParams.class);
-    }
-}
+//package com.smppw.analysis.application.dto.position;
+//
+//import cn.hutool.core.bean.BeanUtil;
+//import com.smppw.analysis.domain.dto.position.future.MarginalRiskContributionParams;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/19 11:16
+// * @description 私募基金期货的边际风险贡献接口请求参数
+// */
+//@Setter
+//@Getter
+//public class MarginalRiskContributionReq extends BasePositionReq<MarginalRiskContributionParams> {
+//    @Override
+//    public MarginalRiskContributionParams convert() {
+//        return BeanUtil.copyProperties(this, MarginalRiskContributionParams.class);
+//    }
+//}

+ 20 - 20
src/main/java/com/smppw/analysis/application/dto/position/PositionInfoReq.java

@@ -1,20 +1,20 @@
-package com.smppw.analysis.application.dto.position;
-
-import cn.hutool.core.bean.BeanUtil;
-import com.smppw.analysis.domain.dto.position.synthesize.PositionInfoParams;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author wangzaijun
- * @date 2023/6/6 14:10
- * @description 持仓列表的返回参数接口的请求参数
- */
-@Setter
-@Getter
-public class PositionInfoReq extends BasePositionReq<PositionInfoParams> {
-    @Override
-    public PositionInfoParams convert() {
-        return BeanUtil.copyProperties(this, PositionInfoParams.class);
-    }
-}
+//package com.smppw.analysis.application.dto.position;
+//
+//import cn.hutool.core.bean.BeanUtil;
+//import com.smppw.analysis.domain.dto.position.synthesize.PositionInfoParams;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/6 14:10
+// * @description 持仓列表的返回参数接口的请求参数
+// */
+//@Setter
+//@Getter
+//public class PositionInfoReq extends BasePositionReq<PositionInfoParams> {
+//    @Override
+//    public PositionInfoParams convert() {
+//        return BeanUtil.copyProperties(this, PositionInfoParams.class);
+//    }
+//}

+ 36 - 36
src/main/java/com/smppw/analysis/application/dto/position/PositionListReq.java

@@ -1,36 +1,36 @@
-package com.smppw.analysis.application.dto.position;
-
-import cn.hutool.core.bean.BeanUtil;
-import com.smppw.analysis.domain.dto.position.AssetCategoryEnum;
-import com.smppw.analysis.domain.dto.position.synthesize.PositionListParams;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author wangzaijun
- * @date 2023/6/6 11:30
- * @description 持仓列表,后续需要支持穿透
- */
-@Setter
-@Getter
-public class PositionListReq extends BasePositionReq<PositionListParams> {
-    /**
-     * 数量,前10、前20、前50,-1-全部,默认前10
-     */
-    private String num;
-    /**
-     * 类别
-     *
-     * @see AssetCategoryEnum
-     */
-    private String type;
-    /**
-     * 估值日期
-     */
-    private String date;
-
-    @Override
-    public PositionListParams convert() {
-        return BeanUtil.copyProperties(this, PositionListParams.class);
-    }
-}
+//package com.smppw.analysis.application.dto.position;
+//
+//import cn.hutool.core.bean.BeanUtil;
+//import com.smppw.analysis.domain.dto.position.AssetCategoryEnum;
+//import com.smppw.analysis.domain.dto.position.synthesize.PositionListParams;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/6 11:30
+// * @description 持仓列表,后续需要支持穿透
+// */
+//@Setter
+//@Getter
+//public class PositionListReq extends BasePositionReq<PositionListParams> {
+//    /**
+//     * 数量,前10、前20、前50,-1-全部,默认前10
+//     */
+//    private String num;
+//    /**
+//     * 类别
+//     *
+//     * @see AssetCategoryEnum
+//     */
+//    private String type;
+//    /**
+//     * 估值日期
+//     */
+//    private String date;
+//
+//    @Override
+//    public PositionListParams convert() {
+//        return BeanUtil.copyProperties(this, PositionListParams.class);
+//    }
+//}

+ 30 - 30
src/main/java/com/smppw/analysis/application/dto/position/StockAllocationReq.java

@@ -1,30 +1,30 @@
-package com.smppw.analysis.application.dto.position;
-
-import cn.hutool.core.bean.BeanUtil;
-import com.smppw.analysis.domain.dto.position.stock.StockAllocationParams;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author wangzaijun
- * @date 2023/6/6 15:27
- * @description 行业配置\风格配置或流动性 接口请求参数
- */
-@Setter
-@Getter
-public class StockAllocationReq extends BasePositionReq<StockAllocationParams> {
-    /**
-     * 基准,只支持 沪深300、中证500、中证1000
-     */
-    private String benchmarkId;
-    /**
-     * 方向约束,默认多空,其他条件不生效
-     * 1-多头,2-空头,3-多空
-     */
-    private String constraint;
-
-    @Override
-    public StockAllocationParams convert() {
-        return BeanUtil.copyProperties(this, StockAllocationParams.class);
-    }
-}
+//package com.smppw.analysis.application.dto.position;
+//
+//import cn.hutool.core.bean.BeanUtil;
+//import com.smppw.analysis.domain.dto.position.stock.StockAllocationParams;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/6 15:27
+// * @description 行业配置\风格配置或流动性 接口请求参数
+// */
+//@Setter
+//@Getter
+//public class StockAllocationReq extends BasePositionReq<StockAllocationParams> {
+//    /**
+//     * 基准,只支持 沪深300、中证500、中证1000
+//     */
+//    private String benchmarkId;
+//    /**
+//     * 方向约束,默认多空,其他条件不生效
+//     * 1-多头,2-空头,3-多空
+//     */
+//    private String constraint;
+//
+//    @Override
+//    public StockAllocationParams convert() {
+//        return BeanUtil.copyProperties(this, StockAllocationParams.class);
+//    }
+//}

+ 29 - 29
src/main/java/com/smppw/analysis/application/dto/position/StockPerformanceAttributionReq.java

@@ -1,29 +1,29 @@
-package com.smppw.analysis.application.dto.position;
-
-import cn.hutool.core.bean.BeanUtil;
-import com.smppw.analysis.domain.dto.position.stock.StockPerformanceAttributionParams;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author wangzaijun
- * @date 2023/6/6 16:31
- * @description 股票业绩归因 接口请求参数
- */
-@Setter
-@Getter
-public class StockPerformanceAttributionReq extends BasePositionReq<StockPerformanceAttributionParams> {
-    /**
-     * 基准,只支持 沪深300、中证500、中证1000
-     */
-    private String benchmarkId;
-    /**
-     * 是否年化,默认不年化
-     */
-    private Boolean ifAnnualized;
-
-    @Override
-    public StockPerformanceAttributionParams convert() {
-        return BeanUtil.copyProperties(this, StockPerformanceAttributionParams.class);
-    }
-}
+//package com.smppw.analysis.application.dto.position;
+//
+//import cn.hutool.core.bean.BeanUtil;
+//import com.smppw.analysis.domain.dto.position.stock.StockPerformanceAttributionParams;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/6 16:31
+// * @description 股票业绩归因 接口请求参数
+// */
+//@Setter
+//@Getter
+//public class StockPerformanceAttributionReq extends BasePositionReq<StockPerformanceAttributionParams> {
+//    /**
+//     * 基准,只支持 沪深300、中证500、中证1000
+//     */
+//    private String benchmarkId;
+//    /**
+//     * 是否年化,默认不年化
+//     */
+//    private Boolean ifAnnualized;
+//
+//    @Override
+//    public StockPerformanceAttributionParams convert() {
+//        return BeanUtil.copyProperties(this, StockPerformanceAttributionParams.class);
+//    }
+//}

+ 43 - 43
src/main/java/com/smppw/analysis/application/dto/style/BaseStyleReq.java

@@ -1,43 +1,43 @@
-package com.smppw.analysis.application.dto.style;
-
-import com.smppw.analysis.application.dto.BaseReq;
-import com.smppw.analysis.domain.dto.style.BaseParams;
-import com.smppw.common.pojo.enums.Frequency;
-import com.smppw.common.pojo.enums.RaiseType;
-import lombok.Getter;
-import lombok.Setter;
-
-@Setter
-@Getter
-public abstract class BaseStyleReq<R extends BaseParams> extends BaseReq<R> {
-    /**
-     * 标的id,包括基金、机构行业经理
-     */
-    private String secId;
-    /**
-     * 开始日期
-     */
-    private String startDate;
-    /**
-     * 结束日期
-     */
-    private String endDate;
-    /**
-     * 滚动期数,默认24期
-     */
-    private String winlen;
-    /**
-     * 滚动步长,默认1
-     */
-    private String step;
-    /**
-     * 净值频率
-     */
-    private Frequency frequency;
-
-    private RaiseType raiseType;
-
-    private String strategy;
-
-    public abstract R convert();
-}
+//package com.smppw.analysis.application.dto.style;
+//
+//import com.smppw.analysis.application.dto.BaseReq;
+//import com.smppw.analysis.domain.dto.style.BaseParams;
+//import com.smppw.common.pojo.enums.Frequency;
+//import com.smppw.common.pojo.enums.RaiseType;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+//@Setter
+//@Getter
+//public abstract class BaseStyleReq<R extends BaseParams> extends BaseReq<R> {
+//    /**
+//     * 标的id,包括基金、机构行业经理
+//     */
+//    private String secId;
+//    /**
+//     * 开始日期
+//     */
+//    private String startDate;
+//    /**
+//     * 结束日期
+//     */
+//    private String endDate;
+//    /**
+//     * 滚动期数,默认24期
+//     */
+//    private String winlen;
+//    /**
+//     * 滚动步长,默认1
+//     */
+//    private String step;
+//    /**
+//     * 净值频率
+//     */
+//    private Frequency frequency;
+//
+//    private RaiseType raiseType;
+//
+//    private String strategy;
+//
+//    public abstract R convert();
+//}

+ 0 - 4
src/main/java/com/smppw/analysis/application/envent/package-info.java

@@ -1,4 +0,0 @@
-package com.smppw.analysis.application.envent;
-/*
-    应用层事件
- */

File diff suppressed because it is too large
+ 598 - 635
src/main/java/com/smppw/analysis/application/service/info/FundInfoService.java


+ 1 - 1
src/main/java/com/smppw/analysis/application/service/info/GlobalService.java

@@ -18,7 +18,7 @@ import com.smppw.analysis.domain.manager.performance.PerformanceFactory;
 import com.smppw.analysis.domain.service.BaseInfoService;
 import com.smppw.analysis.domain.service.NavService;
 import com.smppw.analysis.infrastructure.exception.APIException;
-import com.smppw.common.pojo.IStrategy;
+import com.smppw.common.pojo.enums.strategy.IStrategy;
 import com.smppw.common.pojo.ValueLabelVO;
 import com.smppw.common.pojo.dto.DateValue;
 import com.smppw.common.pojo.dto.calc.IndicatorCalcTimeRangeDto;

+ 5 - 5
src/main/java/com/smppw/analysis/application/service/performance/FundPerformanceService.java

@@ -72,9 +72,9 @@ public class FundPerformanceService {
         return instance.execute(params);
     }
 
-    public Map<String, Object> rank(RankReq req) {
-        RankParams params = req.convert();
-        Performance<RankParams, Map<String, Object>> instance = this.factory.getInstance(RANK);
-        return instance.execute(params);
-    }
+//    public Map<String, Object> rank(RankReq req) {
+//        RankParams params = req.convert();
+//        Performance<RankParams, Map<String, Object>> instance = this.factory.getInstance(RANK);
+//        return instance.execute(params);
+//    }
 }

+ 84 - 84
src/main/java/com/smppw/analysis/application/service/position/FundFuturesOptionService.java

@@ -1,84 +1,84 @@
-package com.smppw.analysis.application.service.position;
-
-import cn.hutool.core.map.MapUtil;
-import com.smppw.analysis.domain.manager.position.future.FundFuturesOptionBaseService;
-import com.smppw.common.pojo.ResultVo;
-import com.smppw.common.pojo.enums.status.ResultCode;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * FileName: FundFuturesOptionService
- * Author:   chenjianhua
- * Date:     2023/6/8 14:11
- * Description: ${DESCRIPTION}
- */
-@Component
-public class FundFuturesOptionService {
-
-    @Autowired
-    private FundFuturesOptionBaseService fundFuturesOptionBaseService;
-
-    public ResultVo<Map<String, Object>> fundFuturesOption(Map<String, Object> params) {
-        Integer userId = MapUtil.getInt(params, "userId");
-        String fundId = MapUtil.getStr(params, "fundId");
-        Integer optionType = MapUtil.getInt(params, "optionType");
-        Integer shType = MapUtil.getInt(params, "shType");
-        String startDate = MapUtil.getStr(params, "startDate");
-        String endDate = MapUtil.getStr(params, "endDate");
-        Map<String, Object> result = fundFuturesOptionBaseService.fundFuturesOption(userId, fundId, optionType, shType, startDate, endDate);
-        return new ResultVo<>(ResultCode.SUCCESS, result);
-    }
-
-    public ResultVo<Map<String, Object>> fundPositionAnalysis(Map<String, Object> params) {
-        Integer userId = MapUtil.getInt(params, "userId");
-        String fundId = MapUtil.getStr(params, "fundId");
-        Integer optionType = MapUtil.getInt(params, "optionType");
-        Integer shType = MapUtil.getInt(params, "shType");
-        String startDate = MapUtil.getStr(params, "startDate");
-        String endDate = MapUtil.getStr(params, "endDate");
-        Map<String, Object> result = fundFuturesOptionBaseService.fundPositionAnalysis(userId, fundId, optionType, shType, startDate, endDate);
-        return new ResultVo<>(ResultCode.SUCCESS, result);
-    }
-
-    public ResultVo<Map<String, Object>> fundDerivativeLeverageMargin(Map<String, Object> params) {
-        Integer userId = MapUtil.getInt(params, "userId");
-        String fundId = MapUtil.getStr(params, "fundId");
-        Integer optionType = MapUtil.getInt(params, "optionType");
-        Integer shType = MapUtil.getInt(params, "shType");
-        String startDate = MapUtil.getStr(params, "startDate");
-        String endDate = MapUtil.getStr(params, "endDate");
-        Map<String, Object> result = fundFuturesOptionBaseService.fundDerivativeLeverageMargin(userId, fundId, shType, startDate, endDate);
-        return new ResultVo<>(ResultCode.SUCCESS, result);
-    }
-
-    public ResultVo<Map<String, Object>> fundPositionAnalysisLine(Map<String, Object> params) {
-        Integer userId = MapUtil.getInt(params, "userId");
-        String fundId = MapUtil.getStr(params, "fundId");
-        Integer optionType = MapUtil.getInt(params, "optionType");
-        Integer shType = MapUtil.getInt(params, "shType");
-        String startDate = MapUtil.getStr(params, "startDate");
-        String endDate = MapUtil.getStr(params, "endDate");
-        Map<String, Object> result = fundFuturesOptionBaseService.fundPositionAnalysisLine(userId, fundId, optionType, shType, startDate, endDate);
-        return new ResultVo<>(ResultCode.SUCCESS, result);
-    }
-
-    public ResultVo<Map<String, Object>> fundFuturesOptionForBreed(Map<String, Object> params) {
-        Integer userId = MapUtil.getInt(params, "userId");
-        String fundId = MapUtil.getStr(params, "fundId");
-        Integer optionType = MapUtil.getInt(params, "optionType");
-        Integer shType = MapUtil.getInt(params, "shType");
-        String startDate = MapUtil.getStr(params, "startDate");
-        String endDate = MapUtil.getStr(params, "endDate");
-        Map<String, Object> result = fundFuturesOptionBaseService.fundFuturesOptionForBreed(userId, fundId, optionType, shType, startDate, endDate);
-        return new ResultVo<>(ResultCode.SUCCESS, result);
-    }
-
-    public ResultVo<Map<String, List<String>>> fundFuturesOptionView() {
-        Map<String, List<String>> result = fundFuturesOptionBaseService.fundFuturesOptionView();
-        return new ResultVo<>(ResultCode.SUCCESS, result);
-    }
-}
+//package com.smppw.analysis.application.service.position;
+//
+//import cn.hutool.core.map.MapUtil;
+//import com.smppw.analysis.domain.manager.position.future.FundFuturesOptionBaseService;
+//import com.smppw.common.pojo.ResultVo;
+//import com.smppw.common.pojo.enums.status.ResultCode;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.stereotype.Component;
+//
+//import java.util.List;
+//import java.util.Map;
+//
+///**
+// * FileName: FundFuturesOptionService
+// * Author:   chenjianhua
+// * Date:     2023/6/8 14:11
+// * Description: ${DESCRIPTION}
+// */
+//@Component
+//public class FundFuturesOptionService {
+//
+//    @Autowired
+//    private FundFuturesOptionBaseService fundFuturesOptionBaseService;
+//
+//    public ResultVo<Map<String, Object>> fundFuturesOption(Map<String, Object> params) {
+//        Integer userId = MapUtil.getInt(params, "userId");
+//        String fundId = MapUtil.getStr(params, "fundId");
+//        Integer optionType = MapUtil.getInt(params, "optionType");
+//        Integer shType = MapUtil.getInt(params, "shType");
+//        String startDate = MapUtil.getStr(params, "startDate");
+//        String endDate = MapUtil.getStr(params, "endDate");
+//        Map<String, Object> result = fundFuturesOptionBaseService.fundFuturesOption(userId, fundId, optionType, shType, startDate, endDate);
+//        return new ResultVo<>(ResultCode.SUCCESS, result);
+//    }
+//
+//    public ResultVo<Map<String, Object>> fundPositionAnalysis(Map<String, Object> params) {
+//        Integer userId = MapUtil.getInt(params, "userId");
+//        String fundId = MapUtil.getStr(params, "fundId");
+//        Integer optionType = MapUtil.getInt(params, "optionType");
+//        Integer shType = MapUtil.getInt(params, "shType");
+//        String startDate = MapUtil.getStr(params, "startDate");
+//        String endDate = MapUtil.getStr(params, "endDate");
+//        Map<String, Object> result = fundFuturesOptionBaseService.fundPositionAnalysis(userId, fundId, optionType, shType, startDate, endDate);
+//        return new ResultVo<>(ResultCode.SUCCESS, result);
+//    }
+//
+//    public ResultVo<Map<String, Object>> fundDerivativeLeverageMargin(Map<String, Object> params) {
+//        Integer userId = MapUtil.getInt(params, "userId");
+//        String fundId = MapUtil.getStr(params, "fundId");
+//        Integer optionType = MapUtil.getInt(params, "optionType");
+//        Integer shType = MapUtil.getInt(params, "shType");
+//        String startDate = MapUtil.getStr(params, "startDate");
+//        String endDate = MapUtil.getStr(params, "endDate");
+//        Map<String, Object> result = fundFuturesOptionBaseService.fundDerivativeLeverageMargin(userId, fundId, shType, startDate, endDate);
+//        return new ResultVo<>(ResultCode.SUCCESS, result);
+//    }
+//
+//    public ResultVo<Map<String, Object>> fundPositionAnalysisLine(Map<String, Object> params) {
+//        Integer userId = MapUtil.getInt(params, "userId");
+//        String fundId = MapUtil.getStr(params, "fundId");
+//        Integer optionType = MapUtil.getInt(params, "optionType");
+//        Integer shType = MapUtil.getInt(params, "shType");
+//        String startDate = MapUtil.getStr(params, "startDate");
+//        String endDate = MapUtil.getStr(params, "endDate");
+//        Map<String, Object> result = fundFuturesOptionBaseService.fundPositionAnalysisLine(userId, fundId, optionType, shType, startDate, endDate);
+//        return new ResultVo<>(ResultCode.SUCCESS, result);
+//    }
+//
+//    public ResultVo<Map<String, Object>> fundFuturesOptionForBreed(Map<String, Object> params) {
+//        Integer userId = MapUtil.getInt(params, "userId");
+//        String fundId = MapUtil.getStr(params, "fundId");
+//        Integer optionType = MapUtil.getInt(params, "optionType");
+//        Integer shType = MapUtil.getInt(params, "shType");
+//        String startDate = MapUtil.getStr(params, "startDate");
+//        String endDate = MapUtil.getStr(params, "endDate");
+//        Map<String, Object> result = fundFuturesOptionBaseService.fundFuturesOptionForBreed(userId, fundId, optionType, shType, startDate, endDate);
+//        return new ResultVo<>(ResultCode.SUCCESS, result);
+//    }
+//
+//    public ResultVo<Map<String, List<String>>> fundFuturesOptionView() {
+//        Map<String, List<String>> result = fundFuturesOptionBaseService.fundFuturesOptionView();
+//        return new ResultVo<>(ResultCode.SUCCESS, result);
+//    }
+//}

+ 78 - 78
src/main/java/com/smppw/analysis/application/service/position/FuturePositionAnalysis.java

@@ -1,78 +1,78 @@
-package com.smppw.analysis.application.service.position;
-
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.collection.ListUtil;
-import cn.hutool.core.map.MapUtil;
-import com.smppw.analysis.application.dto.position.MarginalRiskContributionReq;
-import com.smppw.analysis.domain.dto.position.RefMarketValueRatio;
-import com.smppw.analysis.domain.dto.position.future.MarginalRiskContribution;
-import com.smppw.analysis.domain.dto.position.future.MarginalRiskContributionParams;
-import com.smppw.analysis.domain.dto.position.future.MarginalRiskContributionVO;
-import com.smppw.analysis.domain.manager.position.BizHandler;
-import com.smppw.analysis.domain.manager.position.BizHandlerConstants;
-import com.smppw.analysis.domain.manager.position.BizHandlerFactory;
-import com.smppw.common.pojo.FundFuturesOption;
-import org.springframework.stereotype.Component;
-
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-/**
- * @author wangzaijun
- * @date 2023/6/6 14:41
- * @description 基金持仓分析-期货tab
- */
-@Component
-public class FuturePositionAnalysis {
-    private final BizHandlerFactory factor;
-
-    public FuturePositionAnalysis(BizHandlerFactory factor) {
-        this.factor = factor;
-    }
-
-    public Map<String, Object> riskCont(MarginalRiskContributionReq req) {
-        MarginalRiskContributionParams params = req.convert();
-        BizHandler<MarginalRiskContributionParams, List<MarginalRiskContributionVO>> bizHandler = this.factor.getBizHandlerInstance(BizHandlerConstants.MARGINAL_RISK_CONTRIBUTION);
-        List<MarginalRiskContributionVO> dataList = bizHandler.bizHandle(params);
-        if (CollUtil.isEmpty(dataList)) {
-            return MapUtil.empty();
-        }
-        Map<String, String> mapping = MapUtil.newHashMap(true);
-        mapping.put(FundFuturesOption.Bond.getNameEnDesc(), FundFuturesOption.Bond.getNameDesc());
-        mapping.put(FundFuturesOption.Product.getNameEnDesc(), FundFuturesOption.Product.getNameDesc());
-        mapping.put(FundFuturesOption.StockIndex.getNameEnDesc(), FundFuturesOption.StockIndex.getNameDesc());
-        Map<String, Object> dataset = MapUtil.newHashMap();
-        mapping.forEach((k, v) -> {
-            List<Map<String, Object>> tempList = ListUtil.list(true);
-            for (MarginalRiskContributionVO vo : dataList) {
-                List<MarginalRiskContribution> collect = vo.getRiskContList().stream().filter(e -> k.equals(e.getAsset().getValue())).collect(Collectors.toList());
-                Map<String, Object> data = MapUtil.newHashMap();
-                data.put("date", vo.getDate());
-                data.put("ratio", collect.stream().map(RefMarketValueRatio::getRatio).reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
-                data.put("riskCont", collect.stream().map(MarginalRiskContribution::getRiskCont).reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
-                tempList.add(data);
-            }
-            dataset.put(k, tempList);
-        });
-        Map<String, List<Map<String, Object>>> tableObj = MapUtil.newHashMap(true);
-        for (MarginalRiskContributionVO vo : dataList) {
-            List<Map<String, Object>> tempList = vo.getRiskContList().stream().map(e -> {
-                Map<String, Object> data = MapUtil.newHashMap(true);
-                String label = e.getRef().getLabel();
-                if (label.contains("票面利率") && label.contains("名义") && label.contains("国债")) {
-                    label = label.split("名义")[1];
-                }
-                data.put("name", label);
-                data.put("ratio", e.getRatio());
-                data.put("riskCont", e.getRiskCont());
-                return data;
-            }).collect(Collectors.toList());
-            tempList = tempList.stream().limit(10).collect(Collectors.toList());
-            tableObj.put(vo.getDate(), tempList);
-        }
-        return MapUtil.<String, Object>builder().put("dataset", dataset)
-                .put("productNameMapping", mapping).put("tableObj", tableObj).build();
-    }
-}
+//package com.smppw.analysis.application.service.position;
+//
+//import cn.hutool.core.collection.CollUtil;
+//import cn.hutool.core.collection.ListUtil;
+//import cn.hutool.core.map.MapUtil;
+//import com.smppw.analysis.application.dto.position.MarginalRiskContributionReq;
+//import com.smppw.analysis.domain.dto.position.RefMarketValueRatio;
+//import com.smppw.analysis.domain.dto.position.future.MarginalRiskContribution;
+//import com.smppw.analysis.domain.dto.position.future.MarginalRiskContributionParams;
+//import com.smppw.analysis.domain.dto.position.future.MarginalRiskContributionVO;
+//import com.smppw.analysis.domain.manager.position.BizHandler;
+//import com.smppw.analysis.domain.manager.position.BizHandlerConstants;
+//import com.smppw.analysis.domain.manager.position.BizHandlerFactory;
+//import com.smppw.common.pojo.FundFuturesOption;
+//import org.springframework.stereotype.Component;
+//
+//import java.math.BigDecimal;
+//import java.util.List;
+//import java.util.Map;
+//import java.util.stream.Collectors;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/6 14:41
+// * @description 基金持仓分析-期货tab
+// */
+//@Component
+//public class FuturePositionAnalysis {
+//    private final BizHandlerFactory factor;
+//
+//    public FuturePositionAnalysis(BizHandlerFactory factor) {
+//        this.factor = factor;
+//    }
+//
+//    public Map<String, Object> riskCont(MarginalRiskContributionReq req) {
+//        MarginalRiskContributionParams params = req.convert();
+//        BizHandler<MarginalRiskContributionParams, List<MarginalRiskContributionVO>> bizHandler = this.factor.getBizHandlerInstance(BizHandlerConstants.MARGINAL_RISK_CONTRIBUTION);
+//        List<MarginalRiskContributionVO> dataList = bizHandler.bizHandle(params);
+//        if (CollUtil.isEmpty(dataList)) {
+//            return MapUtil.empty();
+//        }
+//        Map<String, String> mapping = MapUtil.newHashMap(true);
+//        mapping.put(FundFuturesOption.Bond.getNameEnDesc(), FundFuturesOption.Bond.getNameDesc());
+//        mapping.put(FundFuturesOption.Product.getNameEnDesc(), FundFuturesOption.Product.getNameDesc());
+//        mapping.put(FundFuturesOption.StockIndex.getNameEnDesc(), FundFuturesOption.StockIndex.getNameDesc());
+//        Map<String, Object> dataset = MapUtil.newHashMap();
+//        mapping.forEach((k, v) -> {
+//            List<Map<String, Object>> tempList = ListUtil.list(true);
+//            for (MarginalRiskContributionVO vo : dataList) {
+//                List<MarginalRiskContribution> collect = vo.getRiskContList().stream().filter(e -> k.equals(e.getAsset().getValue())).collect(Collectors.toList());
+//                Map<String, Object> data = MapUtil.newHashMap();
+//                data.put("date", vo.getDate());
+//                data.put("ratio", collect.stream().map(RefMarketValueRatio::getRatio).reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
+//                data.put("riskCont", collect.stream().map(MarginalRiskContribution::getRiskCont).reduce(BigDecimal::add).orElse(BigDecimal.ZERO));
+//                tempList.add(data);
+//            }
+//            dataset.put(k, tempList);
+//        });
+//        Map<String, List<Map<String, Object>>> tableObj = MapUtil.newHashMap(true);
+//        for (MarginalRiskContributionVO vo : dataList) {
+//            List<Map<String, Object>> tempList = vo.getRiskContList().stream().map(e -> {
+//                Map<String, Object> data = MapUtil.newHashMap(true);
+//                String label = e.getRef().getLabel();
+//                if (label.contains("票面利率") && label.contains("名义") && label.contains("国债")) {
+//                    label = label.split("名义")[1];
+//                }
+//                data.put("name", label);
+//                data.put("ratio", e.getRatio());
+//                data.put("riskCont", e.getRiskCont());
+//                return data;
+//            }).collect(Collectors.toList());
+//            tempList = tempList.stream().limit(10).collect(Collectors.toList());
+//            tableObj.put(vo.getDate(), tempList);
+//        }
+//        return MapUtil.<String, Object>builder().put("dataset", dataset)
+//                .put("productNameMapping", mapping).put("tableObj", tableObj).build();
+//    }
+//}

+ 283 - 284
src/main/java/com/smppw/analysis/application/service/position/StockPositionAnalysis.java

@@ -1,284 +1,283 @@
-package com.smppw.analysis.application.service.position;
-
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.collection.ListUtil;
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.map.MapUtil;
-import com.smppw.analysis.application.dto.position.*;
-import com.smppw.analysis.domain.dao.PubliclyFundPositionDao;
-import com.smppw.analysis.domain.dataobject.PubliclyFundStockChangeDO;
-import com.smppw.analysis.domain.dataobject.SwSecIndustryInfoDO;
-import com.smppw.analysis.domain.dto.position.*;
-import com.smppw.analysis.domain.dto.position.stock.*;
-import com.smppw.analysis.domain.manager.position.BizHandler;
-import com.smppw.analysis.domain.manager.position.BizHandlerFactory;
-import com.smppw.analysis.domain.manager.position.stock.BarraSensitivityComponent;
-import com.smppw.analysis.domain.manager.position.stock.IndustryAllocationPreferenceComponent;
-import com.smppw.analysis.domain.mapper.core.BaseUnderlyingMapper;
-import com.smppw.common.pojo.ValueLabelVO;
-import com.smppw.common.pojo.dto.NewDateValue;
-import org.springframework.stereotype.Component;
-
-import java.math.BigDecimal;
-import java.util.*;
-import java.util.function.Function;
-import java.util.stream.Collectors;
-
-import static com.smppw.analysis.domain.manager.position.BizHandlerConstants.*;
-
-/**
- * @author wangzaijun
- * @date 2023/6/6 14:41
- * @description 基金持仓分析-股票tab
- */
-@Component
-public class StockPositionAnalysis {
-    private static final Map<Long, String> POSITION_NAME = MapUtil.newHashMap(true);
-
-    static {
-        POSITION_NAME.put(1L, "最大持仓");
-        POSITION_NAME.put(3L, "前三大持仓");
-        POSITION_NAME.put(5L, "前五大持仓");
-        POSITION_NAME.put(10L, "前十大持仓");
-        POSITION_NAME.put(-1L, "股票持仓");
-    }
-
-    private final BizHandlerFactory factor;
-    private final BaseUnderlyingMapper baseUnderlyingMapper;
-    private final BarraSensitivityComponent barraSensitivity;
-    private final PubliclyFundPositionDao fundPositionBaseService;
-    private final IndustryAllocationPreferenceComponent industryAllocationPreference;
-
-    public StockPositionAnalysis(BizHandlerFactory factor,
-                                 BaseUnderlyingMapper baseUnderlyingMapper,
-                                 BarraSensitivityComponent barraSensitivity,
-                                 PubliclyFundPositionDao fundPositionBaseService,
-                                 IndustryAllocationPreferenceComponent industryAllocationPreference) {
-        this.factor = factor;
-        this.barraSensitivity = barraSensitivity;
-        this.baseUnderlyingMapper = baseUnderlyingMapper;
-        this.fundPositionBaseService = fundPositionBaseService;
-        this.industryAllocationPreference = industryAllocationPreference;
-    }
-
-    public List<MajorChangeVO> getMajorChangeList(MajorChangeReq req) {
-        MajorChangeParams params = req.convert();
-        List<SwSecIndustryInfoDO> industryList = this.baseUnderlyingMapper.querySecIndustryInfo();
-        List<MajorChangeVO> resultList = ListUtil.list(false);
-        List<PubliclyFundStockChangeDO> dataList = this.fundPositionBaseService.mfStockChangeList(params.getFundId(),
-                params.getStartDate(), params.getEndDate());
-        for (PubliclyFundStockChangeDO data : dataList) {
-            String industryName = industryList.stream().filter(e -> data.getSecCode().equals(e.getSecCode())).findFirst()
-                    .map(SwSecIndustryInfoDO::getIndustryName).orElse(null);
-            MajorChangeVO vo = new MajorChangeVO();
-            vo.setDate(DateUtil.formatDate(data.getReportDate()));
-            vo.setStockCode(data.getSecCode());
-            vo.setStockName(data.getSecName());
-            vo.setChangeType(Optional.ofNullable(data.getChangeType()).map(Object::toString).orElse(null));
-            vo.setAccumulatedTradeSum(Optional.ofNullable(data.getAccumulatedTradeSum()).map(BigDecimal::toPlainString).orElse(null));
-            vo.setRatioInNvAtBegin(Optional.ofNullable(data.getRatioInNvAtBegin()).map(BigDecimal::toPlainString).orElse(null));
-            vo.setIndustry(industryName);
-            resultList.add(vo);
-        }
-        // 按报告期降序
-        resultList.sort((o1, o2) -> o2.getDate().compareTo(o1.getDate()));
-        return resultList;
-    }
-
-    public Map<String, Object> getConcentration(ConcentrationReq req) {
-        ConcentrationParams params = req.convert();
-        Map<String, Object> dataset = MapUtil.newHashMap();
-        BizHandler<ConcentrationParams, List<ConcentrationVO>> bizHandler = this.factor.getBizHandlerInstance(STOCK_CONCENTRATION);
-        List<ConcentrationVO> dataList = bizHandler.bizHandle(params);
-        if (CollUtil.isEmpty(dataList)) {
-            return MapUtil.empty();
-        }
-        for (Long integer : POSITION_NAME.keySet()) {
-            List<MarketValueRatio> tempList = ListUtil.list(true);
-            for (ConcentrationVO vo : dataList) {
-                MarketValueRatio mvr = new MarketValueRatio();
-                mvr.setDate(vo.getDate());
-                List<RefMarketValueRatio> resList = vo.getPosition();
-                if (integer != -1L) {
-                    // 不为-1时取前n条记录求和
-                    resList = vo.getPosition().stream().limit(integer).collect(Collectors.toList());
-                }
-                BigDecimal marketValue = resList.stream().map(RefMarketValueRatio::getMarketValue)
-                        .filter(Objects::nonNull).reduce(BigDecimal::add).orElse(null);
-                BigDecimal ratio = resList.stream().map(RefMarketValueRatio::getRatio).filter(Objects::nonNull)
-                        .reduce(BigDecimal::add).orElse(null);
-                mvr.setMarketValue(marketValue);
-                mvr.setRatio(ratio);
-                tempList.add(mvr);
-            }
-            dataset.put(integer.toString(), tempList);
-        }
-        for (ConcentrationVO vo : dataList) {
-            List<RefMarketValueRatio> collect = vo.getPosition().stream().sorted((o1, o2) -> o2.getRatio().compareTo(o1.getRatio()))
-                    .limit(10).collect(Collectors.toList());
-            vo.setPosition(collect);
-        }
-        return MapUtil.<String, Object>builder().put("dataset", dataset)
-                .put("productNameMapping", POSITION_NAME).put("table", dataList).build();
-    }
-
-    public List<ChangeNumberVO> getChangeNumber(ChangeNumberReq req) {
-        ChangeNumberParams params = req.convert();
-        BizHandler<ChangeNumberParams, List<ChangeNumberVO>> bizHandler = this.factor.getBizHandlerInstance(CHANGE_NUMBER);
-        List<ChangeNumberVO> dataList = bizHandler.bizHandle(params);
-        if (CollUtil.isEmpty(dataList)) {
-            return ListUtil.empty();
-        }
-        return dataList;
-    }
-
-    public Map<String, Object> getIndustryAllocation(StockAllocationReq req) {
-        StockAllocationParams params = req.convert();
-        BizHandler<StockAllocationParams, List<StockAllocationVO>> bizHandler = this.factor.getBizHandlerInstance(INDUSTRY_ALLOCATION);
-        List<StockAllocationVO> dataList = bizHandler.bizHandle(params);
-        return this.convertDataset(dataList);
-    }
-
-    public Map<String, Object> getIndustryAllocationPreference(StockAllocationReq req) {
-        StockAllocationParams params = req.convert();
-        List<IndustryAllocationPreferenceVO> dataList = this.industryAllocationPreference.bizHandle(params);
-        if (CollUtil.isEmpty(dataList)) {
-            return MapUtil.empty();
-        }
-        List<ValueLabelVO> industryList = dataList.get(0).getIndustryList();
-        // 倒序,其他排最后面
-        industryList.sort((o1, o2) -> o2.getValue().compareTo(o1.getValue()));
-        List<Map<String, Object>> dataset = ListUtil.list(true);
-        for (IndustryAllocationPreferenceVO temp : dataList) {
-            Map<String, Object> data = MapUtil.newHashMap(true);
-            data.put("date", temp.getDate());
-            data.putAll(temp.getIndustryPreference());
-            data.put("avg", temp.getAvg());
-            dataset.add(data);
-        }
-        return MapUtil.<String, Object>builder().put("dataset", dataset).put("productNameMapping", industryList).build();
-    }
-
-    public Map<String, Object> getStyleAllocation(StockAllocationReq req) {
-        StockAllocationParams params = req.convert();
-        BizHandler<StockAllocationParams, List<StockAllocationVO>> bizHandler = this.factor.getBizHandlerInstance(STYLE_ALLOCATION);
-        List<StockAllocationVO> dataList = bizHandler.bizHandle(params);
-        return this.convertDataset(dataList);
-    }
-
-    public Map<String, Object> getLiquidityAllocation(StockAllocationReq req) {
-        StockAllocationParams params = req.convert();
-        BizHandler<StockAllocationParams, List<StockAllocationVO>> bizHandler = this.factor.getBizHandlerInstance(LIQUIDITY_ALLOCATION);
-        List<StockAllocationVO> dataList = bizHandler.bizHandle(params);
-        List<ValueLabelVO> categoryList = Arrays.stream(PositionLiquidityEnum.values())
-                .map(e -> new ValueLabelVO(e.name(), e.getDesc())).collect(Collectors.toList());
-        return this.convertDataset(dataList, categoryList);
-    }
-
-    public Map<String, Object> getBarraSensitivity(BarraSensitivityReq req) {
-        BarraSensitivityParams params = req.convert();
-        return this.barraSensitivity.bizHandle(params);
-    }
-
-    public Map<String, Object> getPerformanceAttribution(StockPerformanceAttributionReq req) {
-        StockPerformanceAttributionParams params = req.convert();
-        boolean ifAnnualized = params.getIfAnnualized() != null && params.getIfAnnualized();
-        List<ValueLabelVO> effects = ListUtil.list(true);
-        effects.add(new ValueLabelVO("allocation", "配置效应"));
-        effects.add(new ValueLabelVO("stock", "选股效应"));
-        effects.add(new ValueLabelVO("timing", "择时效应"));
-        effects.add(new ValueLabelVO("total", "超额收益"));
-        BizHandler<StockPerformanceAttributionParams, List<StockPerformanceAttributionVO>> bizHandler =
-                this.factor.getBizHandlerInstance(STOCK_PERFORMANCE_ATTRIBUTION);
-        List<StockPerformanceAttributionVO> dataList = bizHandler.bizHandle(params);
-        if (CollUtil.isEmpty(dataList)) {
-            return MapUtil.empty();
-        }
-        Map<String, Object> dataset = MapUtil.newHashMap();
-        for (ValueLabelVO effect : effects) {
-            List<NewDateValue> tempList = ListUtil.list(false);
-            Function<StockPerformanceAttributionVO.Effect, Double> function = e -> {
-                if ("allocation".equals(effect.getValue())) {
-                    return e.getAllocation();
-                } else if ("stock".equals(effect.getValue())) {
-                    return e.getStock();
-                } else if ("timing".equals(effect.getValue())) {
-                    return e.getTiming();
-                } else if ("total".equals(effect.getValue())) {
-                    return e.getExactRet();
-                }
-                return null;
-            };
-            String prevDate = dataList.get(0).getDate();
-            for (StockPerformanceAttributionVO vo : dataList) {
-                String date = vo.getDate();
-                double eff = vo.getEffect().stream().map(function).filter(Objects::nonNull).reduce(Double::sum).orElse(0d);
-                // 需要年化时才年化
-                if (ifAnnualized) {
-                    int dayCount = com.smppw.utils.DateUtil.getDateDistance(prevDate, date);
-                    eff = Math.pow(1 + eff, 365.0d / dayCount) - 1;
-                }
-                tempList.add(new NewDateValue(date, String.valueOf(eff)));
-                prevDate = date;
-            }
-            dataset.put(effect.getValue(), tempList);
-        }
-        return MapUtil.<String, Object>builder().put("dataset", dataset)
-                .put("productNameMapping", effects).put("table", dataList).build();
-    }
-
-    /**
-     * 配置数据转换为前端需要的dataset和table数据结构
-     *
-     * @param dataList 配置结构
-     * @return /
-     */
-    private Map<String, Object> convertDataset(List<StockAllocationVO> dataList) {
-        if (CollUtil.isEmpty(dataList)) {
-            return MapUtil.empty();
-        }
-        List<ValueLabelVO> categoryList = ListUtil.list(false);
-        for (StockAllocationVO vo : dataList) {
-            List<ValueLabelVO> collect = vo.getIndustries().stream().map(CategoryConstraint::getCategory)
-                    .distinct().collect(Collectors.toList());
-            CollUtil.addAllIfNotContains(categoryList, collect);
-        }
-
-        //修正为统计原有分组列表数量,先过滤其它字段后进行对比,当出现值不一致时追加其它字段,保证其它永远在最后
-        int count = categoryList.size();
-        categoryList = categoryList.stream().filter(e -> !PositionConstants.ASSET_OTHER.equalsIgnoreCase(e.getValue())).collect(Collectors.toList());
-        if (count > categoryList.size()) {
-            categoryList.add(PositionConstants.OTHER_ASSET);
-        }
-
-        return this.convertDataset(dataList, categoryList);
-    }
-
-    /**
-     * 配置数据转换为前端需要的dataset和table数据结构
-     *
-     * @param dataList     配置结构
-     * @param categoryList 分类映射关系
-     * @return /
-     */
-    private Map<String, Object> convertDataset(List<StockAllocationVO> dataList, List<ValueLabelVO> categoryList) {
-        Map<String, Object> dataset = MapUtil.newHashMap(false);
-        for (ValueLabelVO category : categoryList) {
-            List<Map<String, Object>> tempList = ListUtil.list(true);
-            for (StockAllocationVO vo : dataList) {
-                Map<String, Object> temp = MapUtil.newHashMap();
-                temp.put("date", vo.getDate());
-                CategoryConstraint s = vo.getIndustries().stream().filter(e -> category.equals(e.getCategory()))
-                        .findFirst().orElse(null);
-                temp.put("bull", Optional.ofNullable(s).map(CategoryConstraint::getBull).orElse(BigDecimal.ZERO));
-                temp.put("bear", Optional.ofNullable(s).map(CategoryConstraint::getBear).orElse(BigDecimal.ZERO));
-                temp.put("pupil", Optional.ofNullable(s).map(CategoryConstraint::getPupil).orElse(BigDecimal.ZERO));
-                temp.put("benchmark", Optional.ofNullable(s).map(CategoryConstraint::getBenchmark).orElse(BigDecimal.ZERO));
-                tempList.add(temp);
-            }
-            dataset.put(category.getValue(), tempList);
-        }
-        return MapUtil.<String, Object>builder().put("dataset", dataset).put("productNameMapping", categoryList)
-                .put("table", dataList).build();
-    }
-}
+//package com.smppw.analysis.application.service.position;
+//
+//import cn.hutool.core.collection.CollUtil;
+//import cn.hutool.core.collection.ListUtil;
+//import cn.hutool.core.date.DateUtil;
+//import cn.hutool.core.map.MapUtil;
+//import com.smppw.analysis.application.dto.position.*;
+//import com.smppw.analysis.domain.dao.PubliclyFundPositionDao;
+//import com.smppw.analysis.domain.dataobject.PubliclyFundStockChangeDO;
+//import com.smppw.analysis.domain.dataobject.SwSecIndustryInfoDO;
+//import com.smppw.analysis.domain.dto.position.*;
+//import com.smppw.analysis.domain.dto.position.stock.*;
+//import com.smppw.analysis.domain.manager.position.BizHandler;
+//import com.smppw.analysis.domain.manager.position.BizHandlerFactory;
+//import com.smppw.analysis.domain.manager.position.stock.IndustryAllocationPreferenceComponent;
+//import com.smppw.analysis.domain.mapper.core.BaseUnderlyingMapper;
+//import com.smppw.common.pojo.ValueLabelVO;
+//import com.smppw.common.pojo.dto.NewDateValue;
+//import org.springframework.stereotype.Component;
+//
+//import java.math.BigDecimal;
+//import java.util.*;
+//import java.util.function.Function;
+//import java.util.stream.Collectors;
+//
+//import static com.smppw.analysis.domain.manager.position.BizHandlerConstants.*;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/6 14:41
+// * @description 基金持仓分析-股票tab
+// */
+//@Component
+//public class StockPositionAnalysis {
+//    private static final Map<Long, String> POSITION_NAME = MapUtil.newHashMap(true);
+//
+//    static {
+//        POSITION_NAME.put(1L, "最大持仓");
+//        POSITION_NAME.put(3L, "前三大持仓");
+//        POSITION_NAME.put(5L, "前五大持仓");
+//        POSITION_NAME.put(10L, "前十大持仓");
+//        POSITION_NAME.put(-1L, "股票持仓");
+//    }
+//
+//    private final BizHandlerFactory factor;
+//    private final BaseUnderlyingMapper baseUnderlyingMapper;
+////    private final BarraSensitivityComponent barraSensitivity;
+//    private final PubliclyFundPositionDao fundPositionBaseService;
+//    private final IndustryAllocationPreferenceComponent industryAllocationPreference;
+//
+//    public StockPositionAnalysis(BizHandlerFactory factor,
+//                                 BaseUnderlyingMapper baseUnderlyingMapper,
+////                                 BarraSensitivityComponent barraSensitivity,
+//                                 PubliclyFundPositionDao fundPositionBaseService,
+//                                 IndustryAllocationPreferenceComponent industryAllocationPreference) {
+//        this.factor = factor;
+////        this.barraSensitivity = barraSensitivity;
+//        this.baseUnderlyingMapper = baseUnderlyingMapper;
+//        this.fundPositionBaseService = fundPositionBaseService;
+//        this.industryAllocationPreference = industryAllocationPreference;
+//    }
+//
+//    public List<MajorChangeVO> getMajorChangeList(MajorChangeReq req) {
+//        MajorChangeParams params = req.convert();
+//        List<SwSecIndustryInfoDO> industryList = this.baseUnderlyingMapper.querySecIndustryInfo();
+//        List<MajorChangeVO> resultList = ListUtil.list(false);
+//        List<PubliclyFundStockChangeDO> dataList = this.fundPositionBaseService.mfStockChangeList(params.getFundId(),
+//                params.getStartDate(), params.getEndDate());
+//        for (PubliclyFundStockChangeDO data : dataList) {
+//            String industryName = industryList.stream().filter(e -> data.getSecCode().equals(e.getSecCode())).findFirst()
+//                    .map(SwSecIndustryInfoDO::getIndustryName).orElse(null);
+//            MajorChangeVO vo = new MajorChangeVO();
+//            vo.setDate(DateUtil.formatDate(data.getReportDate()));
+//            vo.setStockCode(data.getSecCode());
+//            vo.setStockName(data.getSecName());
+//            vo.setChangeType(Optional.ofNullable(data.getChangeType()).map(Object::toString).orElse(null));
+//            vo.setAccumulatedTradeSum(Optional.ofNullable(data.getAccumulatedTradeSum()).map(BigDecimal::toPlainString).orElse(null));
+//            vo.setRatioInNvAtBegin(Optional.ofNullable(data.getRatioInNvAtBegin()).map(BigDecimal::toPlainString).orElse(null));
+//            vo.setIndustry(industryName);
+//            resultList.add(vo);
+//        }
+//        // 按报告期降序
+//        resultList.sort((o1, o2) -> o2.getDate().compareTo(o1.getDate()));
+//        return resultList;
+//    }
+//
+//    public Map<String, Object> getConcentration(ConcentrationReq req) {
+//        ConcentrationParams params = req.convert();
+//        Map<String, Object> dataset = MapUtil.newHashMap();
+//        BizHandler<ConcentrationParams, List<ConcentrationVO>> bizHandler = this.factor.getBizHandlerInstance(STOCK_CONCENTRATION);
+//        List<ConcentrationVO> dataList = bizHandler.bizHandle(params);
+//        if (CollUtil.isEmpty(dataList)) {
+//            return MapUtil.empty();
+//        }
+//        for (Long integer : POSITION_NAME.keySet()) {
+//            List<MarketValueRatio> tempList = ListUtil.list(true);
+//            for (ConcentrationVO vo : dataList) {
+//                MarketValueRatio mvr = new MarketValueRatio();
+//                mvr.setDate(vo.getDate());
+//                List<RefMarketValueRatio> resList = vo.getPosition();
+//                if (integer != -1L) {
+//                    // 不为-1时取前n条记录求和
+//                    resList = vo.getPosition().stream().limit(integer).collect(Collectors.toList());
+//                }
+//                BigDecimal marketValue = resList.stream().map(RefMarketValueRatio::getMarketValue)
+//                        .filter(Objects::nonNull).reduce(BigDecimal::add).orElse(null);
+//                BigDecimal ratio = resList.stream().map(RefMarketValueRatio::getRatio).filter(Objects::nonNull)
+//                        .reduce(BigDecimal::add).orElse(null);
+//                mvr.setMarketValue(marketValue);
+//                mvr.setRatio(ratio);
+//                tempList.add(mvr);
+//            }
+//            dataset.put(integer.toString(), tempList);
+//        }
+//        for (ConcentrationVO vo : dataList) {
+//            List<RefMarketValueRatio> collect = vo.getPosition().stream().sorted((o1, o2) -> o2.getRatio().compareTo(o1.getRatio()))
+//                    .limit(10).collect(Collectors.toList());
+//            vo.setPosition(collect);
+//        }
+//        return MapUtil.<String, Object>builder().put("dataset", dataset)
+//                .put("productNameMapping", POSITION_NAME).put("table", dataList).build();
+//    }
+//
+//    public List<ChangeNumberVO> getChangeNumber(ChangeNumberReq req) {
+//        ChangeNumberParams params = req.convert();
+//        BizHandler<ChangeNumberParams, List<ChangeNumberVO>> bizHandler = this.factor.getBizHandlerInstance(CHANGE_NUMBER);
+//        List<ChangeNumberVO> dataList = bizHandler.bizHandle(params);
+//        if (CollUtil.isEmpty(dataList)) {
+//            return ListUtil.empty();
+//        }
+//        return dataList;
+//    }
+//
+//    public Map<String, Object> getIndustryAllocation(StockAllocationReq req) {
+//        StockAllocationParams params = req.convert();
+//        BizHandler<StockAllocationParams, List<StockAllocationVO>> bizHandler = this.factor.getBizHandlerInstance(INDUSTRY_ALLOCATION);
+//        List<StockAllocationVO> dataList = bizHandler.bizHandle(params);
+//        return this.convertDataset(dataList);
+//    }
+//
+//    public Map<String, Object> getIndustryAllocationPreference(StockAllocationReq req) {
+//        StockAllocationParams params = req.convert();
+//        List<IndustryAllocationPreferenceVO> dataList = this.industryAllocationPreference.bizHandle(params);
+//        if (CollUtil.isEmpty(dataList)) {
+//            return MapUtil.empty();
+//        }
+//        List<ValueLabelVO> industryList = dataList.get(0).getIndustryList();
+//        // 倒序,其他排最后面
+//        industryList.sort((o1, o2) -> o2.getValue().compareTo(o1.getValue()));
+//        List<Map<String, Object>> dataset = ListUtil.list(true);
+//        for (IndustryAllocationPreferenceVO temp : dataList) {
+//            Map<String, Object> data = MapUtil.newHashMap(true);
+//            data.put("date", temp.getDate());
+//            data.putAll(temp.getIndustryPreference());
+//            data.put("avg", temp.getAvg());
+//            dataset.add(data);
+//        }
+//        return MapUtil.<String, Object>builder().put("dataset", dataset).put("productNameMapping", industryList).build();
+//    }
+//
+//    public Map<String, Object> getStyleAllocation(StockAllocationReq req) {
+//        StockAllocationParams params = req.convert();
+//        BizHandler<StockAllocationParams, List<StockAllocationVO>> bizHandler = this.factor.getBizHandlerInstance(STYLE_ALLOCATION);
+//        List<StockAllocationVO> dataList = bizHandler.bizHandle(params);
+//        return this.convertDataset(dataList);
+//    }
+//
+//    public Map<String, Object> getLiquidityAllocation(StockAllocationReq req) {
+//        StockAllocationParams params = req.convert();
+//        BizHandler<StockAllocationParams, List<StockAllocationVO>> bizHandler = this.factor.getBizHandlerInstance(LIQUIDITY_ALLOCATION);
+//        List<StockAllocationVO> dataList = bizHandler.bizHandle(params);
+//        List<ValueLabelVO> categoryList = Arrays.stream(PositionLiquidityEnum.values())
+//                .map(e -> new ValueLabelVO(e.name(), e.getDesc())).collect(Collectors.toList());
+//        return this.convertDataset(dataList, categoryList);
+//    }
+//
+////    public Map<String, Object> getBarraSensitivity(BarraSensitivityReq req) {
+////        BarraSensitivityParams params = req.convert();
+////        return this.barraSensitivity.bizHandle(params);
+////    }
+//
+//    public Map<String, Object> getPerformanceAttribution(StockPerformanceAttributionReq req) {
+//        StockPerformanceAttributionParams params = req.convert();
+//        boolean ifAnnualized = params.getIfAnnualized() != null && params.getIfAnnualized();
+//        List<ValueLabelVO> effects = ListUtil.list(true);
+//        effects.add(new ValueLabelVO("allocation", "配置效应"));
+//        effects.add(new ValueLabelVO("stock", "选股效应"));
+//        effects.add(new ValueLabelVO("timing", "择时效应"));
+//        effects.add(new ValueLabelVO("total", "超额收益"));
+//        BizHandler<StockPerformanceAttributionParams, List<StockPerformanceAttributionVO>> bizHandler =
+//                this.factor.getBizHandlerInstance(STOCK_PERFORMANCE_ATTRIBUTION);
+//        List<StockPerformanceAttributionVO> dataList = bizHandler.bizHandle(params);
+//        if (CollUtil.isEmpty(dataList)) {
+//            return MapUtil.empty();
+//        }
+//        Map<String, Object> dataset = MapUtil.newHashMap();
+//        for (ValueLabelVO effect : effects) {
+//            List<NewDateValue> tempList = ListUtil.list(false);
+//            Function<StockPerformanceAttributionVO.Effect, Double> function = e -> {
+//                if ("allocation".equals(effect.getValue())) {
+//                    return e.getAllocation();
+//                } else if ("stock".equals(effect.getValue())) {
+//                    return e.getStock();
+//                } else if ("timing".equals(effect.getValue())) {
+//                    return e.getTiming();
+//                } else if ("total".equals(effect.getValue())) {
+//                    return e.getExactRet();
+//                }
+//                return null;
+//            };
+//            String prevDate = dataList.get(0).getDate();
+//            for (StockPerformanceAttributionVO vo : dataList) {
+//                String date = vo.getDate();
+//                double eff = vo.getEffect().stream().map(function).filter(Objects::nonNull).reduce(Double::sum).orElse(0d);
+//                // 需要年化时才年化
+//                if (ifAnnualized) {
+//                    int dayCount = com.smppw.utils.DateUtil.getDateDistance(prevDate, date);
+//                    eff = Math.pow(1 + eff, 365.0d / dayCount) - 1;
+//                }
+//                tempList.add(new NewDateValue(date, String.valueOf(eff)));
+//                prevDate = date;
+//            }
+//            dataset.put(effect.getValue(), tempList);
+//        }
+//        return MapUtil.<String, Object>builder().put("dataset", dataset)
+//                .put("productNameMapping", effects).put("table", dataList).build();
+//    }
+//
+//    /**
+//     * 配置数据转换为前端需要的dataset和table数据结构
+//     *
+//     * @param dataList 配置结构
+//     * @return /
+//     */
+//    private Map<String, Object> convertDataset(List<StockAllocationVO> dataList) {
+//        if (CollUtil.isEmpty(dataList)) {
+//            return MapUtil.empty();
+//        }
+//        List<ValueLabelVO> categoryList = ListUtil.list(false);
+//        for (StockAllocationVO vo : dataList) {
+//            List<ValueLabelVO> collect = vo.getIndustries().stream().map(CategoryConstraint::getCategory)
+//                    .distinct().collect(Collectors.toList());
+//            CollUtil.addAllIfNotContains(categoryList, collect);
+//        }
+//
+//        //修正为统计原有分组列表数量,先过滤其它字段后进行对比,当出现值不一致时追加其它字段,保证其它永远在最后
+//        int count = categoryList.size();
+//        categoryList = categoryList.stream().filter(e -> !PositionConstants.ASSET_OTHER.equalsIgnoreCase(e.getValue())).collect(Collectors.toList());
+//        if (count > categoryList.size()) {
+//            categoryList.add(PositionConstants.OTHER_ASSET);
+//        }
+//
+//        return this.convertDataset(dataList, categoryList);
+//    }
+//
+//    /**
+//     * 配置数据转换为前端需要的dataset和table数据结构
+//     *
+//     * @param dataList     配置结构
+//     * @param categoryList 分类映射关系
+//     * @return /
+//     */
+//    private Map<String, Object> convertDataset(List<StockAllocationVO> dataList, List<ValueLabelVO> categoryList) {
+//        Map<String, Object> dataset = MapUtil.newHashMap(false);
+//        for (ValueLabelVO category : categoryList) {
+//            List<Map<String, Object>> tempList = ListUtil.list(true);
+//            for (StockAllocationVO vo : dataList) {
+//                Map<String, Object> temp = MapUtil.newHashMap();
+//                temp.put("date", vo.getDate());
+//                CategoryConstraint s = vo.getIndustries().stream().filter(e -> category.equals(e.getCategory()))
+//                        .findFirst().orElse(null);
+//                temp.put("bull", Optional.ofNullable(s).map(CategoryConstraint::getBull).orElse(BigDecimal.ZERO));
+//                temp.put("bear", Optional.ofNullable(s).map(CategoryConstraint::getBear).orElse(BigDecimal.ZERO));
+//                temp.put("pupil", Optional.ofNullable(s).map(CategoryConstraint::getPupil).orElse(BigDecimal.ZERO));
+//                temp.put("benchmark", Optional.ofNullable(s).map(CategoryConstraint::getBenchmark).orElse(BigDecimal.ZERO));
+//                tempList.add(temp);
+//            }
+//            dataset.put(category.getValue(), tempList);
+//        }
+//        return MapUtil.<String, Object>builder().put("dataset", dataset).put("productNameMapping", categoryList)
+//                .put("table", dataList).build();
+//    }
+//}

+ 133 - 133
src/main/java/com/smppw/analysis/application/service/position/SynthesizePositionAnalysis.java

@@ -1,133 +1,133 @@
-package com.smppw.analysis.application.service.position;
-
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.collection.ListUtil;
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.map.MapUtil;
-import cn.hutool.core.util.NumberUtil;
-import com.smppw.analysis.application.dto.position.*;
-import com.smppw.analysis.domain.dao.PubliclyFundPositionDao;
-import com.smppw.analysis.domain.dataobject.PubliclyFundHolderInfoDO;
-import com.smppw.analysis.domain.dto.position.AssetCategoryEnum;
-import com.smppw.analysis.domain.dto.position.MarketValueRatio;
-import com.smppw.analysis.domain.dto.position.PositionConstants;
-import com.smppw.analysis.domain.dto.position.RefMarketValueRatio;
-import com.smppw.analysis.domain.dto.position.synthesize.*;
-import com.smppw.analysis.domain.manager.position.BizHandler;
-import com.smppw.analysis.domain.manager.position.BizHandlerFactory;
-import com.smppw.common.pojo.ValueLabelVO;
-import org.springframework.stereotype.Component;
-
-import java.math.BigDecimal;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.stream.Collectors;
-
-import static com.smppw.analysis.domain.manager.position.BizHandlerConstants.*;
-
-/**
- * @author wangzaijun
- * @date 2023/6/6 14:40
- * @description 基金持仓分析-综合tab
- */
-@Component
-public class SynthesizePositionAnalysis {
-    private static final Map<String, String> ASSET_TYPE_MAPPER = MapUtil.newHashMap(true);
-
-    static {
-        for (AssetCategoryEnum value : AssetCategoryEnum.values()) {
-            ASSET_TYPE_MAPPER.put(value.name(), value.getName());
-        }
-        ASSET_TYPE_MAPPER.put(PositionConstants.ASSET_SALE, PositionConstants.ASSET_SALE_DESC);
-        ASSET_TYPE_MAPPER.put(PositionConstants.ASSET_RETURN_SALE, PositionConstants.ASSET_RETURN_SALE_DESC);
-        ASSET_TYPE_MAPPER.put(PositionConstants.ASSET_MONEY, PositionConstants.ASSET_MONEY_DESC);
-        ASSET_TYPE_MAPPER.put(PositionConstants.ASSET_OTHER, PositionConstants.ASSET_OTHER_DESC);
-    }
-
-    private final BizHandlerFactory factor;
-    private final PubliclyFundPositionDao fundPositionBaseService;
-
-    public SynthesizePositionAnalysis(BizHandlerFactory factor, PubliclyFundPositionDao fundPositionBaseService) {
-        this.factor = factor;
-        this.fundPositionBaseService = fundPositionBaseService;
-    }
-
-    public Map<String, Object> getAssetAllocation(AssetAllocationReq req) {
-        AssetAllocationParams params = req.convert();
-        BizHandler<AssetAllocationParams, List<AssetAllocationVO>> bizHandler = this.factor.getBizHandlerInstance(ASSET_ALLOCATION);
-        List<AssetAllocationVO> dataList = bizHandler.bizHandle(params);
-        if (CollUtil.isEmpty(dataList)) {
-            return MapUtil.empty();
-        }
-        List<ValueLabelVO> mapping = ListUtil.list(true);
-        Map<String, Object> dataset = MapUtil.newHashMap();
-        ASSET_TYPE_MAPPER.forEach((k, v) -> {
-            List<MarketValueRatio> collect = dataList.stream().map(e -> {
-                RefMarketValueRatio mvr = e.getAsset().stream()
-                        .filter(o -> k.equals(o.getRef().getValue())).findFirst().orElse(null);
-                MarketValueRatio data = new MarketValueRatio();
-                data.setDate(e.getDate());
-                data.setMarketValue(Optional.ofNullable(mvr).map(RefMarketValueRatio::getMarketValue).orElse(BigDecimal.ZERO));
-                data.setRatio(Optional.ofNullable(mvr).map(RefMarketValueRatio::getRatio).orElse(BigDecimal.ZERO));
-                return data;
-            }).collect(Collectors.toList());
-            dataset.put(k, collect);
-            mapping.add(new ValueLabelVO(k, v));
-        });
-        return MapUtil.<String, Object>builder().put("dataset", dataset).put("productNameMapping", mapping).put("table", dataList).build();
-    }
-
-    public List<LeverageChangeVO> getLeverageChange(LeverageChangeReq req) {
-        LeverageChangeParams params = req.convert();
-        BizHandler<LeverageChangeParams, List<LeverageChangeVO>> bizHandler = this.factor.getBizHandlerInstance(LEVERAGE_CHANGE);
-        List<LeverageChangeVO> dataList = bizHandler.bizHandle(params);
-        if (CollUtil.isEmpty(dataList)) {
-            return ListUtil.empty();
-        }
-        return dataList;
-    }
-
-    public PositionInfoVO getPositionParams(PositionInfoReq req) {
-        PositionInfoParams params = req.convert();
-        BizHandler<PositionInfoParams, PositionInfoVO> bizHandler = this.factor.getBizHandlerInstance(POSITION_PARAMS);
-        return bizHandler.bizHandle(params);
-    }
-
-    public List<PositionListVO> getPosition(PositionListReq req) {
-        PositionListParams params = req.convert();
-        BizHandler<PositionListParams, List<PositionListVO>> bizHandler = this.factor.getBizHandlerInstance(POSITION_LIST);
-        List<PositionListVO> dataList = bizHandler.bizHandle(params);
-        if (CollUtil.isEmpty(dataList)) {
-            return ListUtil.empty();
-        }
-        return dataList;
-    }
-
-    public List<HolderInfoVO> getHolderInfo(HolderInfoReq req) {
-        HolderInfoParams params = req.convert();
-        List<HolderInfoVO> resultList = ListUtil.list(true);
-        List<PubliclyFundHolderInfoDO> dataList = this.fundPositionBaseService.mfHolderInfoList(params.getFundId(), params.getStartDate(), params.getEndDate());
-        for (PubliclyFundHolderInfoDO data : dataList) {
-            HolderInfoVO vo = new HolderInfoVO();
-            vo.setDate(DateUtil.formatDate(data.getEndDate()));
-            vo.setAverageHoldShares(Optional.ofNullable(data.getAverageHoldShares()).map(BigDecimal::toPlainString).orElse(null));
-            vo.setEtfFeederHoldRatio(Optional.ofNullable(data.getEtfFeederHoldRatio()).map(BigDecimal::toPlainString).orElse(null));
-            vo.setHolderAccountNumber(Optional.ofNullable(data.getHolderAccountNumber()).map(Object::toString).orElse(null));
-            vo.setIndividualHoldRatio(Optional.ofNullable(data.getIndividualHoldRatio()).map(BigDecimal::toPlainString).orElse(null));
-            vo.setInstitutionHoldRatio(Optional.ofNullable(data.getInstitutionHoldRatio()).map(BigDecimal::toPlainString).orElse(null));
-            vo.setProfessionalHoldRatio(Optional.ofNullable(data.getProfessionalHoldRatio()).map(BigDecimal::toPlainString).orElse(null));
-            vo.setTop10HolderAmount(Optional.ofNullable(data.getTop10HolderAmount()).map(BigDecimal::toPlainString).orElse(null));
-            vo.setTop10HoldersProportion(Optional.ofNullable(data.getTop10HoldersProportion()).map(BigDecimal::toPlainString).orElse(null));
-            // 计算总份额=机构持有份额+个人持有份额+未明确投资者持有份额
-            BigDecimal total = NumberUtil.add(ListUtil.of(data.getInstitutionHoldShares(), data.getIndividualHoldShares(), data.getUndefinedHoldShares())
-                    .stream().filter(Objects::nonNull).toArray(BigDecimal[]::new));
-            vo.setTotal(total.toPlainString());
-            resultList.add(vo);
-        }
-        // 日期倒序
-        resultList.sort((o1, o2) -> o2.getDate().compareTo(o1.getDate()));
-        return resultList;
-    }
-}
+//package com.smppw.analysis.application.service.position;
+//
+//import cn.hutool.core.collection.CollUtil;
+//import cn.hutool.core.collection.ListUtil;
+//import cn.hutool.core.date.DateUtil;
+//import cn.hutool.core.map.MapUtil;
+//import cn.hutool.core.util.NumberUtil;
+//import com.smppw.analysis.application.dto.position.*;
+//import com.smppw.analysis.domain.dao.PubliclyFundPositionDao;
+//import com.smppw.analysis.domain.dataobject.PubliclyFundHolderInfoDO;
+//import com.smppw.analysis.domain.dto.position.AssetCategoryEnum;
+//import com.smppw.analysis.domain.dto.position.MarketValueRatio;
+//import com.smppw.analysis.domain.dto.position.PositionConstants;
+//import com.smppw.analysis.domain.dto.position.RefMarketValueRatio;
+//import com.smppw.analysis.domain.dto.position.synthesize.*;
+//import com.smppw.analysis.domain.manager.position.BizHandler;
+//import com.smppw.analysis.domain.manager.position.BizHandlerFactory;
+//import com.smppw.common.pojo.ValueLabelVO;
+//import org.springframework.stereotype.Component;
+//
+//import java.math.BigDecimal;
+//import java.util.List;
+//import java.util.Map;
+//import java.util.Objects;
+//import java.util.Optional;
+//import java.util.stream.Collectors;
+//
+//import static com.smppw.analysis.domain.manager.position.BizHandlerConstants.*;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/6 14:40
+// * @description 基金持仓分析-综合tab
+// */
+//@Component
+//public class SynthesizePositionAnalysis {
+//    private static final Map<String, String> ASSET_TYPE_MAPPER = MapUtil.newHashMap(true);
+//
+//    static {
+//        for (AssetCategoryEnum value : AssetCategoryEnum.values()) {
+//            ASSET_TYPE_MAPPER.put(value.name(), value.getName());
+//        }
+//        ASSET_TYPE_MAPPER.put(PositionConstants.ASSET_SALE, PositionConstants.ASSET_SALE_DESC);
+//        ASSET_TYPE_MAPPER.put(PositionConstants.ASSET_RETURN_SALE, PositionConstants.ASSET_RETURN_SALE_DESC);
+//        ASSET_TYPE_MAPPER.put(PositionConstants.ASSET_MONEY, PositionConstants.ASSET_MONEY_DESC);
+//        ASSET_TYPE_MAPPER.put(PositionConstants.ASSET_OTHER, PositionConstants.ASSET_OTHER_DESC);
+//    }
+//
+//    private final BizHandlerFactory factor;
+//    private final PubliclyFundPositionDao fundPositionBaseService;
+//
+//    public SynthesizePositionAnalysis(BizHandlerFactory factor, PubliclyFundPositionDao fundPositionBaseService) {
+//        this.factor = factor;
+//        this.fundPositionBaseService = fundPositionBaseService;
+//    }
+//
+//    public Map<String, Object> getAssetAllocation(AssetAllocationReq req) {
+//        AssetAllocationParams params = req.convert();
+//        BizHandler<AssetAllocationParams, List<AssetAllocationVO>> bizHandler = this.factor.getBizHandlerInstance(ASSET_ALLOCATION);
+//        List<AssetAllocationVO> dataList = bizHandler.bizHandle(params);
+//        if (CollUtil.isEmpty(dataList)) {
+//            return MapUtil.empty();
+//        }
+//        List<ValueLabelVO> mapping = ListUtil.list(true);
+//        Map<String, Object> dataset = MapUtil.newHashMap();
+//        ASSET_TYPE_MAPPER.forEach((k, v) -> {
+//            List<MarketValueRatio> collect = dataList.stream().map(e -> {
+//                RefMarketValueRatio mvr = e.getAsset().stream()
+//                        .filter(o -> k.equals(o.getRef().getValue())).findFirst().orElse(null);
+//                MarketValueRatio data = new MarketValueRatio();
+//                data.setDate(e.getDate());
+//                data.setMarketValue(Optional.ofNullable(mvr).map(RefMarketValueRatio::getMarketValue).orElse(BigDecimal.ZERO));
+//                data.setRatio(Optional.ofNullable(mvr).map(RefMarketValueRatio::getRatio).orElse(BigDecimal.ZERO));
+//                return data;
+//            }).collect(Collectors.toList());
+//            dataset.put(k, collect);
+//            mapping.add(new ValueLabelVO(k, v));
+//        });
+//        return MapUtil.<String, Object>builder().put("dataset", dataset).put("productNameMapping", mapping).put("table", dataList).build();
+//    }
+//
+//    public List<LeverageChangeVO> getLeverageChange(LeverageChangeReq req) {
+//        LeverageChangeParams params = req.convert();
+//        BizHandler<LeverageChangeParams, List<LeverageChangeVO>> bizHandler = this.factor.getBizHandlerInstance(LEVERAGE_CHANGE);
+//        List<LeverageChangeVO> dataList = bizHandler.bizHandle(params);
+//        if (CollUtil.isEmpty(dataList)) {
+//            return ListUtil.empty();
+//        }
+//        return dataList;
+//    }
+//
+//    public PositionInfoVO getPositionParams(PositionInfoReq req) {
+//        PositionInfoParams params = req.convert();
+//        BizHandler<PositionInfoParams, PositionInfoVO> bizHandler = this.factor.getBizHandlerInstance(POSITION_PARAMS);
+//        return bizHandler.bizHandle(params);
+//    }
+//
+//    public List<PositionListVO> getPosition(PositionListReq req) {
+//        PositionListParams params = req.convert();
+//        BizHandler<PositionListParams, List<PositionListVO>> bizHandler = this.factor.getBizHandlerInstance(POSITION_LIST);
+//        List<PositionListVO> dataList = bizHandler.bizHandle(params);
+//        if (CollUtil.isEmpty(dataList)) {
+//            return ListUtil.empty();
+//        }
+//        return dataList;
+//    }
+//
+//    public List<HolderInfoVO> getHolderInfo(HolderInfoReq req) {
+//        HolderInfoParams params = req.convert();
+//        List<HolderInfoVO> resultList = ListUtil.list(true);
+//        List<PubliclyFundHolderInfoDO> dataList = this.fundPositionBaseService.mfHolderInfoList(params.getFundId(), params.getStartDate(), params.getEndDate());
+//        for (PubliclyFundHolderInfoDO data : dataList) {
+//            HolderInfoVO vo = new HolderInfoVO();
+//            vo.setDate(DateUtil.formatDate(data.getEndDate()));
+//            vo.setAverageHoldShares(Optional.ofNullable(data.getAverageHoldShares()).map(BigDecimal::toPlainString).orElse(null));
+//            vo.setEtfFeederHoldRatio(Optional.ofNullable(data.getEtfFeederHoldRatio()).map(BigDecimal::toPlainString).orElse(null));
+//            vo.setHolderAccountNumber(Optional.ofNullable(data.getHolderAccountNumber()).map(Object::toString).orElse(null));
+//            vo.setIndividualHoldRatio(Optional.ofNullable(data.getIndividualHoldRatio()).map(BigDecimal::toPlainString).orElse(null));
+//            vo.setInstitutionHoldRatio(Optional.ofNullable(data.getInstitutionHoldRatio()).map(BigDecimal::toPlainString).orElse(null));
+//            vo.setProfessionalHoldRatio(Optional.ofNullable(data.getProfessionalHoldRatio()).map(BigDecimal::toPlainString).orElse(null));
+//            vo.setTop10HolderAmount(Optional.ofNullable(data.getTop10HolderAmount()).map(BigDecimal::toPlainString).orElse(null));
+//            vo.setTop10HoldersProportion(Optional.ofNullable(data.getTop10HoldersProportion()).map(BigDecimal::toPlainString).orElse(null));
+//            // 计算总份额=机构持有份额+个人持有份额+未明确投资者持有份额
+//            BigDecimal total = NumberUtil.add(ListUtil.of(data.getInstitutionHoldShares(), data.getIndividualHoldShares(), data.getUndefinedHoldShares())
+//                    .stream().filter(Objects::nonNull).toArray(BigDecimal[]::new));
+//            vo.setTotal(total.toPlainString());
+//            resultList.add(vo);
+//        }
+//        // 日期倒序
+//        resultList.sort((o1, o2) -> o2.getDate().compareTo(o1.getDate()));
+//        return resultList;
+//    }
+//}

+ 101 - 101
src/main/java/com/smppw/analysis/application/service/style/StyleService.java

@@ -1,101 +1,101 @@
-package com.smppw.analysis.application.service.style;
-
-
-import com.smppw.analysis.domain.dto.style.*;
-
-import java.util.Map;
-
-/**
- * @author wangzaijun
- * @date 2023/3/10 18:29
- * @description 风格测评 业务接口 (全部现金项先保留,MVP版本发布后去掉)
- */
-public interface StyleService {
-    /**
-     * 股票五因子-业绩归因
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    Map<String, Object> stockAttribution(StockAttributionParams params);
-
-    /**
-     * 债券业绩归因
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    Map<String, Object> bondAttribution(BondAttributionParams params);
-
-    /**
-     * 相对价值业绩归因
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    Map<String, Object> relativeAttribution(RelativeAttributionParams params);
-
-    /**
-     * 成长价值风格
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    FundStyleVO growthValue(GrowthValueParams params);
-
-    /**
-     * 行业配置风格
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    FundStyleVO industryValue(IndustryValueParams params);
-
-    /**
-     * 期货风格
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    Map<String, Object> futureFactor(FutureFactorParams params);
-
-    /**
-     * 自定义风格
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    CustomRbsaVO customRbsa(CustomRbsaParams params);
-
-    /**
-     * barra概览
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    Map<String, Object> barraOverview(BarraStyleParams params);
-
-    /**
-     * barra风格
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    Map<String, Object> barraRiskProfit(BarraStyleParams params);
-
-    /**
-     * 选股择时能力
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    Map<String, Object> selectionTiming(SelectionTimingParams params);
-
-    /**
-     * 融智 风格总览 (融智改排排网)
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    Map<String, Object> rzStyle(RzStyleParams params);
-}
+//package com.smppw.analysis.application.service.style;
+//
+//
+//import com.smppw.analysis.domain.dto.style.*;
+//
+//import java.util.Map;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/3/10 18:29
+// * @description 风格测评 业务接口 (全部现金项先保留,MVP版本发布后去掉)
+// */
+//public interface StyleService {
+//    /**
+//     * 股票五因子-业绩归因
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    Map<String, Object> stockAttribution(StockAttributionParams params);
+//
+//    /**
+//     * 债券业绩归因
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    Map<String, Object> bondAttribution(BondAttributionParams params);
+//
+//    /**
+//     * 相对价值业绩归因
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    Map<String, Object> relativeAttribution(RelativeAttributionParams params);
+//
+//    /**
+//     * 成长价值风格
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    FundStyleVO growthValue(GrowthValueParams params);
+//
+//    /**
+//     * 行业配置风格
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    FundStyleVO industryValue(IndustryValueParams params);
+//
+//    /**
+//     * 期货风格
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    Map<String, Object> futureFactor(FutureFactorParams params);
+//
+//    /**
+//     * 自定义风格
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    CustomRbsaVO customRbsa(CustomRbsaParams params);
+//
+//    /**
+//     * barra概览
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    Map<String, Object> barraOverview(BarraStyleParams params);
+//
+//    /**
+//     * barra风格
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    Map<String, Object> barraRiskProfit(BarraStyleParams params);
+//
+//    /**
+//     * 选股择时能力
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    Map<String, Object> selectionTiming(SelectionTimingParams params);
+//
+//    /**
+//     * 融智 风格总览 (融智改排排网)
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    Map<String, Object> rzStyle(RzStyleParams params);
+//}

File diff suppressed because it is too large
+ 1159 - 1159
src/main/java/com/smppw/analysis/application/service/style/StyleServiceImpl.java


+ 88 - 88
src/main/java/com/smppw/analysis/client/FundApi.java

@@ -4,15 +4,15 @@ import com.smppw.analysis.application.dto.WithSecReq;
 import com.smppw.analysis.application.dto.info.*;
 import com.smppw.analysis.application.service.info.FundInfoService;
 import com.smppw.analysis.application.service.info.GlobalService;
-import com.smppw.analysis.domain.dto.info.*;
+import com.smppw.analysis.domain.dto.info.HeadInfoVO;
+import com.smppw.analysis.domain.dto.info.PrivatelyFundBaseInfoVO;
+import com.smppw.analysis.domain.dto.info.PubliclyFundBaseInfoVO;
 import com.smppw.common.pojo.ResultVo;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.List;
-
 /**
  * @author wangzaijun
  * @date 2023/8/7 15:40
@@ -61,91 +61,91 @@ public class FundApi {
     public ResultVo<HeadIndicatorVO> headIndicator(@RequestBody HeadIndicatorReq params) {
         return ResultVo.ok(this.globalService.headIndicator(params));
     }
-
-    /**
-     * 相似产品(私募基金)
-     *
-     * @param params /
-     * @return /
-     */
-    @PostMapping("similar")
-    public ResultVo<List<FundSimilarVO>> similar(@RequestBody FundSimilarReq params) {
-        return ResultVo.ok(this.service.getFundSimilarList(params));
-    }
-
-    /**
-     * 公募基金公告
-     *
-     * @param params 基金id
-     * @return 基金公告
-     */
-    @PostMapping("notice-info")
-    public ResultVo<List<ManualFundNoticeInfoVO>> noticeInfo(@RequestBody ManualFundNoticeReq params) {
-        return ResultVo.ok(service.noticeList(params));
-    }
-
-    /**
-     * 公募基金投资类信息说明
-     *
-     * @return 投资类信息说明
-     */
-    @PostMapping("invest-info")
-    public ResultVo<ManualFundInvestInfoVO> investInfo(@RequestBody WithSecReq req) {
-        return ResultVo.ok(service.investInfo(req.getSecId()));
-    }
-
-    /**
-     * 私募基金费率信息
-     *
-     * @return 基金费率信息
-     */
-    @PostMapping("fee")
-    public ResultVo<FundBaseFeeVO> fee(@RequestBody WithSecReq req) {
-        return ResultVo.ok(this.service.getFundFee(req.getSecId()));
-    }
-
-    /**
-     * 公募基金费率信息
-     *
-     * @return 基金费率信息
-     */
-    @PostMapping("mf-fee")
-    public ResultVo<ManualFundFeeInfoVO> mFFundFee(@RequestBody WithSecReq req) {
-        return ResultVo.ok(this.service.getMfFundFee(req.getSecId()));
-    }
-
-
-    /**
-     * 私募基金详情页-基金经理
-     *
-     * @return 基金经理信息
-     */
-    @PostMapping("manager-info")
-    public ResultVo<List<FundManagerInfoVo>> managerInfo(@RequestBody WithSecReq req) {
-        return ResultVo.ok(this.service.getHFManagerInfo(req.getSecId()));
-    }
-
-    /**
-     * 公募基金详情页-基金经理
-     *
-     * @param params 详情请看请求体
-     * @return 基金经理信息
-     */
-    @PostMapping("mf-manager-info")
-    public ResultVo<List<ManualFundManagerInfoVO>> managerInfo(@RequestBody ManualFundManagerParams params) {
-        return ResultVo.ok(this.service.managerList(params));
-    }
-
-    /**
-     * 公募基金的基金经理变更历史
-     *
-     * @param params 详情请看请求体
-     * @return 公募基金的基金经理变更历史
-     */
-    @PostMapping("manager-change")
-    public ResultVo<List<ManualFundManagerChangeVO>> managerChange(@RequestBody ManualFundManagerParams params) {
-        return ResultVo.ok(this.service.managerChangeList(params));
-    }
+//
+//    /**
+//     * 相似产品(私募基金)
+//     *
+//     * @param params /
+//     * @return /
+//     */
+//    @PostMapping("similar")
+//    public ResultVo<List<FundSimilarVO>> similar(@RequestBody FundSimilarReq params) {
+//        return ResultVo.ok(this.service.getFundSimilarList(params));
+//    }
+
+//    /**
+//     * 公募基金公告
+//     *
+//     * @param params 基金id
+//     * @return 基金公告
+//     */
+//    @PostMapping("notice-info")
+//    public ResultVo<List<ManualFundNoticeInfoVO>> noticeInfo(@RequestBody ManualFundNoticeReq params) {
+//        return ResultVo.ok(service.noticeList(params));
+//    }
+//
+//    /**
+//     * 公募基金投资类信息说明
+//     *
+//     * @return 投资类信息说明
+//     */
+//    @PostMapping("invest-info")
+//    public ResultVo<ManualFundInvestInfoVO> investInfo(@RequestBody WithSecReq req) {
+//        return ResultVo.ok(service.investInfo(req.getSecId()));
+//    }
+//
+//    /**
+//     * 私募基金费率信息
+//     *
+//     * @return 基金费率信息
+//     */
+//    @PostMapping("fee")
+//    public ResultVo<FundBaseFeeVO> fee(@RequestBody WithSecReq req) {
+//        return ResultVo.ok(this.service.getFundFee(req.getSecId()));
+//    }
+//
+//    /**
+//     * 公募基金费率信息
+//     *
+//     * @return 基金费率信息
+//     */
+//    @PostMapping("mf-fee")
+//    public ResultVo<ManualFundFeeInfoVO> mFFundFee(@RequestBody WithSecReq req) {
+//        return ResultVo.ok(this.service.getMfFundFee(req.getSecId()));
+//    }
+//
+//
+//    /**
+//     * 私募基金详情页-基金经理
+//     *
+//     * @return 基金经理信息
+//     */
+//    @PostMapping("manager-info")
+//    public ResultVo<List<FundManagerInfoVo>> managerInfo(@RequestBody WithSecReq req) {
+//        return ResultVo.ok(this.service.getHFManagerInfo(req.getSecId()));
+//    }
+//
+//    /**
+//     * 公募基金详情页-基金经理
+//     *
+//     * @param params 详情请看请求体
+//     * @return 基金经理信息
+//     */
+//    @PostMapping("mf-manager-info")
+//    public ResultVo<List<ManualFundManagerInfoVO>> managerInfo(@RequestBody ManualFundManagerParams params) {
+//        return ResultVo.ok(this.service.managerList(params));
+//    }
+//
+//    /**
+//     * 公募基金的基金经理变更历史
+//     *
+//     * @param params 详情请看请求体
+//     * @return 公募基金的基金经理变更历史
+//     */
+//    @PostMapping("manager-change")
+//    public ResultVo<List<ManualFundManagerChangeVO>> managerChange(@RequestBody ManualFundManagerParams params) {
+//        return ResultVo.ok(this.service.managerChangeList(params));
+//    }
 
     /**
      * 私募基金的基本信息

+ 5 - 5
src/main/java/com/smppw/analysis/client/FundPerformanceApi.java

@@ -78,9 +78,9 @@ public class FundPerformanceApi {
         return ResultVo.ok(data);
     }
 
-    @PostMapping("rank")
-    public ResultVo<Map<String, Object>> rank(@RequestBody RankReq req) {
-        Map<String, Object> data = this.service.rank(req);
-        return ResultVo.ok(data);
-    }
+//    @PostMapping("rank")
+//    public ResultVo<Map<String, Object>> rank(@RequestBody RankReq req) {
+//        Map<String, Object> data = this.service.rank(req);
+//        return ResultVo.ok(data);
+//    }
 }

+ 304 - 304
src/main/java/com/smppw/analysis/client/FundPositionApi.java

@@ -1,304 +1,304 @@
-package com.smppw.analysis.client;
-
-import com.smppw.analysis.application.dto.BaseReq;
-import com.smppw.analysis.application.dto.position.*;
-import com.smppw.analysis.application.service.position.FundFuturesOptionService;
-import com.smppw.analysis.application.service.position.FuturePositionAnalysis;
-import com.smppw.analysis.application.service.position.StockPositionAnalysis;
-import com.smppw.analysis.application.service.position.SynthesizePositionAnalysis;
-import com.smppw.analysis.domain.dto.position.bond.BondSortAllocationParam;
-import com.smppw.analysis.domain.dto.position.stock.ChangeNumberVO;
-import com.smppw.analysis.domain.dto.position.stock.MajorChangeVO;
-import com.smppw.analysis.domain.dto.position.synthesize.HolderInfoVO;
-import com.smppw.analysis.domain.dto.position.synthesize.LeverageChangeVO;
-import com.smppw.analysis.domain.dto.position.synthesize.PositionInfoVO;
-import com.smppw.analysis.domain.dto.position.synthesize.PositionListVO;
-import com.smppw.analysis.domain.manager.position.bond.BondPositionService;
-import com.smppw.common.pojo.ResultVo;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * @author wangzaijun
- * @date 2023/6/6 11:23
- * @description 基金 持仓分析,包括公募、私募基金,区分综合、股票、债券和期货tab组件
- */
-@RestController
-@RequestMapping("/v1/api/position")
-public class FundPositionApi {
-    private final StockPositionAnalysis stock;
-    private final FuturePositionAnalysis future;
-    private final SynthesizePositionAnalysis synthesize;
-    private final BondPositionService bondPositionService;
-    private final FundFuturesOptionService fundFuturesOptionService;
-
-    public FundPositionApi(StockPositionAnalysis stock, FuturePositionAnalysis future,
-                           SynthesizePositionAnalysis synthesize, BondPositionService bondPositionService,
-                           FundFuturesOptionService fundFuturesOptionService) {
-        this.stock = stock;
-        this.future = future;
-        this.synthesize = synthesize;
-        this.bondPositionService = bondPositionService;
-        this.fundFuturesOptionService = fundFuturesOptionService;
-    }
-
-    /**
-     * 公募私募,综合-资产大类配置
-     *
-     * @param params /
-     * @return /
-     */
-    @PostMapping("asset-allocation")
-    public ResultVo<Map<String, Object>> getAssetAllocation(@RequestBody AssetAllocationReq params) {
-        return ResultVo.ok(this.synthesize.getAssetAllocation(params));
-    }
-
-    /**
-     * 公募私募,综合-杠杆变化
-     *
-     * @param params /
-     * @return /
-     */
-    @PostMapping("leverage-change")
-    public ResultVo<List<LeverageChangeVO>> getLeverageChange(@RequestBody LeverageChangeReq params) {
-        return ResultVo.ok(this.synthesize.getLeverageChange(params));
-    }
-
-    /**
-     * 公募私募,综合-持仓列表的请求参数
-     *
-     * @param params /
-     * @return /
-     */
-    @PostMapping("position-param")
-    public ResultVo<PositionInfoVO> getPositionParams(@RequestBody PositionInfoReq params) {
-        return ResultVo.ok(this.synthesize.getPositionParams(params));
-    }
-
-    /**
-     * 公募私募,综合-持仓列表
-     *
-     * @param params /
-     * @return /
-     */
-    @PostMapping("position-list")
-    public ResultVo<List<PositionListVO>> getPosition(@RequestBody PositionListReq params) {
-        return ResultVo.ok(this.synthesize.getPosition(params));
-    }
-
-    /**
-     * 公募,综合-持有人结构
-     *
-     * @param params /
-     * @return /
-     */
-    @PostMapping("holder-info")
-    public ResultVo<List<HolderInfoVO>> getHolderInfo(@RequestBody HolderInfoReq params) {
-        return ResultVo.ok(this.synthesize.getHolderInfo(params));
-    }
-
-    /**
-     * 公募,股票-持仓股票重大变动
-     *
-     * @param params /
-     * @return /
-     */
-    @PostMapping("stock/major-change")
-    public ResultVo<List<MajorChangeVO>> getMajorChange(@RequestBody MajorChangeReq params) {
-        return ResultVo.ok(this.stock.getMajorChangeList(params));
-    }
-
-    /**
-     * 公募私募,股票-集中度
-     *
-     * @param params /
-     * @return /
-     */
-    @PostMapping("stock/crn")
-    public ResultVo<Map<String, Object>> getStockConcentration(@RequestBody ConcentrationReq params) {
-        return ResultVo.ok(this.stock.getConcentration(params));
-    }
-
-    /**
-     * 公募私募,股票-持股数量变动时序
-     *
-     * @param params /
-     * @return /
-     */
-    @PostMapping("stock/change-num")
-    public ResultVo<List<ChangeNumberVO>> getStockChangeNumber(@RequestBody ChangeNumberReq params) {
-        return ResultVo.ok(this.stock.getChangeNumber(params));
-    }
-
-    /**
-     * 公募私募,股票-行业配置
-     *
-     * @param params /
-     * @return /
-     */
-    @PostMapping("stock/industry-allocation")
-    public ResultVo<Map<String, Object>> getStockIndustryAllocation(@RequestBody StockAllocationReq params) {
-        return ResultVo.ok(this.stock.getIndustryAllocation(params));
-    }
-
-    /**
-     * 公募私募,股票-行业配置偏好时序
-     *
-     * @param params /
-     * @return /
-     */
-    @PostMapping("stock/industry-allocation-preference")
-    public ResultVo<Map<String, Object>> getStockIndustryAllocationPreference(@RequestBody StockAllocationReq params) {
-        return ResultVo.ok(this.stock.getIndustryAllocationPreference(params));
-    }
-
-    /**
-     * 公募私募,股票-风格配置
-     *
-     * @param params /
-     * @return /
-     */
-    @PostMapping("stock/style-allocation")
-    public ResultVo<Map<String, Object>> getStockStyleAllocation(@RequestBody StockAllocationReq params) {
-        return ResultVo.ok(this.stock.getStyleAllocation(params));
-    }
-
-    /**
-     * 公募私募,股票-流动性分析
-     *
-     * @param params /
-     * @return /
-     */
-    @PostMapping("stock/liquidity-allocation")
-    public ResultVo<Map<String, Object>> getStockLiquidityAllocation(@RequestBody StockAllocationReq params) {
-        return ResultVo.ok(this.stock.getLiquidityAllocation(params));
-    }
-
-    /**
-     * 公募私募,股票-业绩归因
-     *
-     * @param params /
-     * @return /
-     */
-    @PostMapping("stock/performance-attribution")
-    public ResultVo<Map<String, Object>> getStockPerformanceAttribution(@RequestBody StockPerformanceAttributionReq params) {
-        return ResultVo.ok(this.stock.getPerformanceAttribution(params));
-    }
-
-    /**
-     * 公募私募,股票-Barra敏感度分析
-     *
-     * @param params /
-     * @return /
-     */
-    @PostMapping("stock/barra-sensitivity")
-    public ResultVo<Map<String, Object>> getStockBarraSensitivity(@RequestBody BarraSensitivityReq params) {
-        return ResultVo.ok(this.stock.getBarraSensitivity(params));
-    }
-
-    /**
-     * 债券分类配置及明细  公募私募
-     *
-     * @param param /
-     * @return /
-     */
-    @PostMapping("bond/sort-allocation")
-    public ResultVo<Map<String, Object>> getBondSortAllocation(@RequestBody BondSortAllocationParam param) {
-        return ResultVo.ok(bondPositionService.getBondSortAllocation(param));
-    }
-
-    /**
-     * 债券集中度
-     *
-     * @param param /
-     * @return /
-     */
-    @PostMapping("bond/crn")
-    public ResultVo<Map<String, Object>> getBondConcentration(@RequestBody BondSortAllocationParam param) {
-        return ResultVo.ok(bondPositionService.getBondConcentration(param));
-    }
-
-    /**
-     * 债券信用评级
-     *
-     * @param param /
-     * @return /
-     */
-    @PostMapping("/bond/credit-grading")
-    public ResultVo<Map<String, Object>> getBondCreditGrading(@RequestBody BondSortAllocationParam param) {
-        return ResultVo.ok(bondPositionService.getBondCreditGrading(param));
-    }
-
-    /**
-     * @return
-     */
-    @PostMapping(value = "/fund-futures-option")
-    public ResultVo<Map<String, Object>> fundFuturesOption(@RequestBody Map<String, Object> params) {
-        return fundFuturesOptionService.fundFuturesOption(params);
-    }
-
-
-    /**
-     * @return
-     */
-    @PostMapping(value = "/fund-futures-option-breed")
-    public ResultVo<Map<String, Object>> fundFuturesOptionForBreed(@RequestBody Map<String, Object> params) {
-        return fundFuturesOptionService.fundFuturesOptionForBreed(params);
-    }
-
-    /**
-     * 板块持仓分析
-     *
-     * @return
-     */
-    @PostMapping(value = "/fund-position-analysis")
-    public ResultVo<Map<String, Object>> fundPositionAnalysis(@RequestBody Map<String, Object> params) {
-        return fundFuturesOptionService.fundPositionAnalysis(params);
-    }
-
-    /**
-     * 板块持仓分析
-     *
-     * @return
-     */
-    @PostMapping(value = "/fund-position-analysis-line")
-    public ResultVo<Map<String, Object>> fundPositionAnalysisLine(@RequestBody Map<String, Object> params) {
-        return fundFuturesOptionService.fundPositionAnalysisLine(params);
-    }
-
-
-    /**
-     * 衍生品杠杆与保证金
-     *
-     * @return
-     */
-    @PostMapping(value = "/fund-derivative-leverage-margin")
-    public ResultVo<Map<String, Object>> fundDerivativeLeverageMargin(@RequestBody Map<String, Object> params) {
-        return fundFuturesOptionService.fundDerivativeLeverageMargin(params);
-    }
-
-
-    /**
-     * 边际风险贡献
-     *
-     * @param params
-     * @return
-     */
-    @PostMapping(value = "/fund-marginal-risk-contribution")
-    public ResultVo<Map<String, Object>> getFutureRiskCont(@RequestBody MarginalRiskContributionReq params) {
-        return ResultVo.ok(this.future.riskCont(params));
-    }
-
-    /**
-     * @return
-     */
-    @PostMapping(value = "/fund-futures-option-view")
-    public ResultVo<Map<String, List<String>>> fundFuturesOptionView(@RequestBody BaseReq.DefaultReq req) {
-        return fundFuturesOptionService.fundFuturesOptionView();
-    }
-}
+//package com.smppw.analysis.client;
+//
+//import com.smppw.analysis.application.dto.BaseReq;
+//import com.smppw.analysis.application.dto.position.*;
+//import com.smppw.analysis.application.service.position.FundFuturesOptionService;
+//import com.smppw.analysis.application.service.position.FuturePositionAnalysis;
+//import com.smppw.analysis.application.service.position.StockPositionAnalysis;
+//import com.smppw.analysis.application.service.position.SynthesizePositionAnalysis;
+//import com.smppw.analysis.domain.dto.position.bond.BondSortAllocationParam;
+//import com.smppw.analysis.domain.dto.position.stock.ChangeNumberVO;
+//import com.smppw.analysis.domain.dto.position.stock.MajorChangeVO;
+//import com.smppw.analysis.domain.dto.position.synthesize.HolderInfoVO;
+//import com.smppw.analysis.domain.dto.position.synthesize.LeverageChangeVO;
+//import com.smppw.analysis.domain.dto.position.synthesize.PositionInfoVO;
+//import com.smppw.analysis.domain.dto.position.synthesize.PositionListVO;
+//import com.smppw.analysis.domain.manager.position.bond.BondPositionService;
+//import com.smppw.common.pojo.ResultVo;
+//import org.springframework.web.bind.annotation.PostMapping;
+//import org.springframework.web.bind.annotation.RequestBody;
+//import org.springframework.web.bind.annotation.RequestMapping;
+//import org.springframework.web.bind.annotation.RestController;
+//
+//import java.util.List;
+//import java.util.Map;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/6 11:23
+// * @description 基金 持仓分析,包括公募、私募基金,区分综合、股票、债券和期货tab组件
+// */
+//@RestController
+//@RequestMapping("/v1/api/position")
+//public class FundPositionApi {
+//    private final StockPositionAnalysis stock;
+//    private final FuturePositionAnalysis future;
+//    private final SynthesizePositionAnalysis synthesize;
+//    private final BondPositionService bondPositionService;
+//    private final FundFuturesOptionService fundFuturesOptionService;
+//
+//    public FundPositionApi(StockPositionAnalysis stock, FuturePositionAnalysis future,
+//                           SynthesizePositionAnalysis synthesize, BondPositionService bondPositionService,
+//                           FundFuturesOptionService fundFuturesOptionService) {
+//        this.stock = stock;
+//        this.future = future;
+//        this.synthesize = synthesize;
+//        this.bondPositionService = bondPositionService;
+//        this.fundFuturesOptionService = fundFuturesOptionService;
+//    }
+//
+//    /**
+//     * 公募私募,综合-资产大类配置
+//     *
+//     * @param params /
+//     * @return /
+//     */
+//    @PostMapping("asset-allocation")
+//    public ResultVo<Map<String, Object>> getAssetAllocation(@RequestBody AssetAllocationReq params) {
+//        return ResultVo.ok(this.synthesize.getAssetAllocation(params));
+//    }
+//
+//    /**
+//     * 公募私募,综合-杠杆变化
+//     *
+//     * @param params /
+//     * @return /
+//     */
+//    @PostMapping("leverage-change")
+//    public ResultVo<List<LeverageChangeVO>> getLeverageChange(@RequestBody LeverageChangeReq params) {
+//        return ResultVo.ok(this.synthesize.getLeverageChange(params));
+//    }
+//
+//    /**
+//     * 公募私募,综合-持仓列表的请求参数
+//     *
+//     * @param params /
+//     * @return /
+//     */
+//    @PostMapping("position-param")
+//    public ResultVo<PositionInfoVO> getPositionParams(@RequestBody PositionInfoReq params) {
+//        return ResultVo.ok(this.synthesize.getPositionParams(params));
+//    }
+//
+//    /**
+//     * 公募私募,综合-持仓列表
+//     *
+//     * @param params /
+//     * @return /
+//     */
+//    @PostMapping("position-list")
+//    public ResultVo<List<PositionListVO>> getPosition(@RequestBody PositionListReq params) {
+//        return ResultVo.ok(this.synthesize.getPosition(params));
+//    }
+//
+//    /**
+//     * 公募,综合-持有人结构
+//     *
+//     * @param params /
+//     * @return /
+//     */
+//    @PostMapping("holder-info")
+//    public ResultVo<List<HolderInfoVO>> getHolderInfo(@RequestBody HolderInfoReq params) {
+//        return ResultVo.ok(this.synthesize.getHolderInfo(params));
+//    }
+//
+//    /**
+//     * 公募,股票-持仓股票重大变动
+//     *
+//     * @param params /
+//     * @return /
+//     */
+//    @PostMapping("stock/major-change")
+//    public ResultVo<List<MajorChangeVO>> getMajorChange(@RequestBody MajorChangeReq params) {
+//        return ResultVo.ok(this.stock.getMajorChangeList(params));
+//    }
+//
+//    /**
+//     * 公募私募,股票-集中度
+//     *
+//     * @param params /
+//     * @return /
+//     */
+//    @PostMapping("stock/crn")
+//    public ResultVo<Map<String, Object>> getStockConcentration(@RequestBody ConcentrationReq params) {
+//        return ResultVo.ok(this.stock.getConcentration(params));
+//    }
+//
+//    /**
+//     * 公募私募,股票-持股数量变动时序
+//     *
+//     * @param params /
+//     * @return /
+//     */
+//    @PostMapping("stock/change-num")
+//    public ResultVo<List<ChangeNumberVO>> getStockChangeNumber(@RequestBody ChangeNumberReq params) {
+//        return ResultVo.ok(this.stock.getChangeNumber(params));
+//    }
+//
+//    /**
+//     * 公募私募,股票-行业配置
+//     *
+//     * @param params /
+//     * @return /
+//     */
+//    @PostMapping("stock/industry-allocation")
+//    public ResultVo<Map<String, Object>> getStockIndustryAllocation(@RequestBody StockAllocationReq params) {
+//        return ResultVo.ok(this.stock.getIndustryAllocation(params));
+//    }
+//
+//    /**
+//     * 公募私募,股票-行业配置偏好时序
+//     *
+//     * @param params /
+//     * @return /
+//     */
+//    @PostMapping("stock/industry-allocation-preference")
+//    public ResultVo<Map<String, Object>> getStockIndustryAllocationPreference(@RequestBody StockAllocationReq params) {
+//        return ResultVo.ok(this.stock.getIndustryAllocationPreference(params));
+//    }
+//
+//    /**
+//     * 公募私募,股票-风格配置
+//     *
+//     * @param params /
+//     * @return /
+//     */
+//    @PostMapping("stock/style-allocation")
+//    public ResultVo<Map<String, Object>> getStockStyleAllocation(@RequestBody StockAllocationReq params) {
+//        return ResultVo.ok(this.stock.getStyleAllocation(params));
+//    }
+//
+//    /**
+//     * 公募私募,股票-流动性分析
+//     *
+//     * @param params /
+//     * @return /
+//     */
+//    @PostMapping("stock/liquidity-allocation")
+//    public ResultVo<Map<String, Object>> getStockLiquidityAllocation(@RequestBody StockAllocationReq params) {
+//        return ResultVo.ok(this.stock.getLiquidityAllocation(params));
+//    }
+//
+//    /**
+//     * 公募私募,股票-业绩归因
+//     *
+//     * @param params /
+//     * @return /
+//     */
+//    @PostMapping("stock/performance-attribution")
+//    public ResultVo<Map<String, Object>> getStockPerformanceAttribution(@RequestBody StockPerformanceAttributionReq params) {
+//        return ResultVo.ok(this.stock.getPerformanceAttribution(params));
+//    }
+//
+////    /**
+////     * 公募私募,股票-Barra敏感度分析
+////     *
+////     * @param params /
+////     * @return /
+////     */
+////    @PostMapping("stock/barra-sensitivity")
+////    public ResultVo<Map<String, Object>> getStockBarraSensitivity(@RequestBody BarraSensitivityReq params) {
+////        return ResultVo.ok(this.stock.getBarraSensitivity(params));
+////    }
+//
+//    /**
+//     * 债券分类配置及明细  公募私募
+//     *
+//     * @param param /
+//     * @return /
+//     */
+//    @PostMapping("bond/sort-allocation")
+//    public ResultVo<Map<String, Object>> getBondSortAllocation(@RequestBody BondSortAllocationParam param) {
+//        return ResultVo.ok(bondPositionService.getBondSortAllocation(param));
+//    }
+//
+//    /**
+//     * 债券集中度
+//     *
+//     * @param param /
+//     * @return /
+//     */
+//    @PostMapping("bond/crn")
+//    public ResultVo<Map<String, Object>> getBondConcentration(@RequestBody BondSortAllocationParam param) {
+//        return ResultVo.ok(bondPositionService.getBondConcentration(param));
+//    }
+//
+//    /**
+//     * 债券信用评级
+//     *
+//     * @param param /
+//     * @return /
+//     */
+//    @PostMapping("/bond/credit-grading")
+//    public ResultVo<Map<String, Object>> getBondCreditGrading(@RequestBody BondSortAllocationParam param) {
+//        return ResultVo.ok(bondPositionService.getBondCreditGrading(param));
+//    }
+//
+//    /**
+//     * @return
+//     */
+//    @PostMapping(value = "/fund-futures-option")
+//    public ResultVo<Map<String, Object>> fundFuturesOption(@RequestBody Map<String, Object> params) {
+//        return fundFuturesOptionService.fundFuturesOption(params);
+//    }
+//
+//
+//    /**
+//     * @return
+//     */
+//    @PostMapping(value = "/fund-futures-option-breed")
+//    public ResultVo<Map<String, Object>> fundFuturesOptionForBreed(@RequestBody Map<String, Object> params) {
+//        return fundFuturesOptionService.fundFuturesOptionForBreed(params);
+//    }
+//
+//    /**
+//     * 板块持仓分析
+//     *
+//     * @return
+//     */
+//    @PostMapping(value = "/fund-position-analysis")
+//    public ResultVo<Map<String, Object>> fundPositionAnalysis(@RequestBody Map<String, Object> params) {
+//        return fundFuturesOptionService.fundPositionAnalysis(params);
+//    }
+//
+//    /**
+//     * 板块持仓分析
+//     *
+//     * @return
+//     */
+//    @PostMapping(value = "/fund-position-analysis-line")
+//    public ResultVo<Map<String, Object>> fundPositionAnalysisLine(@RequestBody Map<String, Object> params) {
+//        return fundFuturesOptionService.fundPositionAnalysisLine(params);
+//    }
+//
+//
+//    /**
+//     * 衍生品杠杆与保证金
+//     *
+//     * @return
+//     */
+//    @PostMapping(value = "/fund-derivative-leverage-margin")
+//    public ResultVo<Map<String, Object>> fundDerivativeLeverageMargin(@RequestBody Map<String, Object> params) {
+//        return fundFuturesOptionService.fundDerivativeLeverageMargin(params);
+//    }
+//
+//
+//    /**
+//     * 边际风险贡献
+//     *
+//     * @param params
+//     * @return
+//     */
+//    @PostMapping(value = "/fund-marginal-risk-contribution")
+//    public ResultVo<Map<String, Object>> getFutureRiskCont(@RequestBody MarginalRiskContributionReq params) {
+//        return ResultVo.ok(this.future.riskCont(params));
+//    }
+//
+//    /**
+//     * @return
+//     */
+//    @PostMapping(value = "/fund-futures-option-view")
+//    public ResultVo<Map<String, List<String>>> fundFuturesOptionView(@RequestBody BaseReq.DefaultReq req) {
+//        return fundFuturesOptionService.fundFuturesOptionView();
+//    }
+//}

+ 141 - 141
src/main/java/com/smppw/analysis/client/FundStyleApi.java

@@ -1,141 +1,141 @@
-package com.smppw.analysis.client;
-
-import com.smppw.analysis.application.service.style.StyleService;
-import com.smppw.analysis.domain.dto.style.*;
-import com.smppw.common.pojo.ResultVo;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import java.util.Map;
-
-/**
- * @author wangzaijun
- * @date 2023/8/7 15:52
- * @description 风格评测api
- */
-@RestController
-@RequestMapping("/v1/api/style")
-public class FundStyleApi {
-    private final StyleService service;
-
-    public FundStyleApi(StyleService service) {
-        this.service = service;
-    }
-
-    /**
-     * 股票业绩归因(五因子归因分析)-前端组件:风格评测-股票业绩归因组件
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    @PostMapping("stock-attribution")
-    public ResultVo<Map<String, Object>> stockAttribution(@RequestBody StockAttributionParams params) {
-        return ResultVo.ok(this.service.stockAttribution(params));
-    }
-
-    /**
-     * 债券业绩归因-前端组件:风格评测-债券业绩归因
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    @PostMapping("bond-attribution")
-    public ResultVo<Map<String, Object>> bondAttribution(@RequestBody BondAttributionParams params) {
-        return ResultVo.ok(this.service.bondAttribution(params));
-    }
-
-    /**
-     * 相对价值业绩归因-前端组件:风格评测-相对价值业绩归因
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    @PostMapping("relative-attribution")
-    public ResultVo<Map<String, Object>> relativeAttribution(@RequestBody RelativeAttributionParams params) {
-        return ResultVo.ok(this.service.relativeAttribution(params));
-    }
-
-    /**
-     * 成长价值风格-前端组件:风格评测-成长价值风格
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    @PostMapping("growth-value")
-    public ResultVo<FundStyleVO> growthValue(@RequestBody GrowthValueParams params) {
-        return ResultVo.ok(this.service.growthValue(params));
-    }
-
-    /**
-     * 行业配置-前端组件:风格评测-行业配置
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    @PostMapping("industry-value")
-    public ResultVo<FundStyleVO> industryValue(@RequestBody IndustryValueParams params) {
-        return ResultVo.ok(this.service.industryValue(params));
-    }
-
-    /**
-     * 期货风格-前端组件:风格评测-期货风格
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    @PostMapping("future-factor")
-    public ResultVo<Map<String, Object>> futureFactor(@RequestBody FutureFactorParams params) {
-        return ResultVo.ok(this.service.futureFactor(params));
-    }
-
-    /**
-     * 自定义风格-前端组件:风格评测-自定义风格
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    @PostMapping("custom-rbsa")
-    public ResultVo<CustomRbsaVO> customRbsa(@RequestBody CustomRbsaParams params) {
-        return ResultVo.ok(this.service.customRbsa(params));
-    }
-
-    /**
-     * Barra风格概览
-     */
-    @PostMapping("/barra-factor-overview")
-    public ResultVo<Map<String, Object>> barraOverview(@RequestBody BarraStyleParams params) {
-        return ResultVo.ok(this.service.barraOverview(params));
-    }
-
-    /**
-     * Barra 风格归因
-     */
-    @PostMapping("/barra-factor-risk-profit")
-    public ResultVo<Map<String, Object>> barraRiskProfit(@RequestBody BarraStyleParams params) {
-        return ResultVo.ok((this.service.barraRiskProfit(params)));
-    }
-
-    /**
-     * 选股择时能力-前端组件:风格评测-选股择时能力
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    @PostMapping("selection-timing")
-    public ResultVo<Map<String, Object>> selectionTiming(@RequestBody SelectionTimingParams params) {
-        return ResultVo.ok(this.service.selectionTiming(params));
-    }
-
-    /**
-     * 融智 风格总览-前端组件:风格评测-融智 风格总览
-     *
-     * @param params 请求参数
-     * @return /
-     */
-    @PostMapping("ppw")
-    public ResultVo<Map<String, Object>> rzStyle(@RequestBody RzStyleParams params) {
-        return ResultVo.ok(this.service.rzStyle(params));
-    }
-}
+//package com.smppw.analysis.client;
+//
+//import com.smppw.analysis.application.service.style.StyleService;
+//import com.smppw.analysis.domain.dto.style.*;
+//import com.smppw.common.pojo.ResultVo;
+//import org.springframework.web.bind.annotation.PostMapping;
+//import org.springframework.web.bind.annotation.RequestBody;
+//import org.springframework.web.bind.annotation.RequestMapping;
+//import org.springframework.web.bind.annotation.RestController;
+//
+//import java.util.Map;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/8/7 15:52
+// * @description 风格评测api
+// */
+//@RestController
+//@RequestMapping("/v1/api/style")
+//public class FundStyleApi {
+//    private final StyleService service;
+//
+//    public FundStyleApi(StyleService service) {
+//        this.service = service;
+//    }
+//
+//    /**
+//     * 股票业绩归因(五因子归因分析)-前端组件:风格评测-股票业绩归因组件
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    @PostMapping("stock-attribution")
+//    public ResultVo<Map<String, Object>> stockAttribution(@RequestBody StockAttributionParams params) {
+//        return ResultVo.ok(this.service.stockAttribution(params));
+//    }
+//
+//    /**
+//     * 债券业绩归因-前端组件:风格评测-债券业绩归因
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    @PostMapping("bond-attribution")
+//    public ResultVo<Map<String, Object>> bondAttribution(@RequestBody BondAttributionParams params) {
+//        return ResultVo.ok(this.service.bondAttribution(params));
+//    }
+//
+//    /**
+//     * 相对价值业绩归因-前端组件:风格评测-相对价值业绩归因
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    @PostMapping("relative-attribution")
+//    public ResultVo<Map<String, Object>> relativeAttribution(@RequestBody RelativeAttributionParams params) {
+//        return ResultVo.ok(this.service.relativeAttribution(params));
+//    }
+//
+//    /**
+//     * 成长价值风格-前端组件:风格评测-成长价值风格
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    @PostMapping("growth-value")
+//    public ResultVo<FundStyleVO> growthValue(@RequestBody GrowthValueParams params) {
+//        return ResultVo.ok(this.service.growthValue(params));
+//    }
+//
+//    /**
+//     * 行业配置-前端组件:风格评测-行业配置
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    @PostMapping("industry-value")
+//    public ResultVo<FundStyleVO> industryValue(@RequestBody IndustryValueParams params) {
+//        return ResultVo.ok(this.service.industryValue(params));
+//    }
+//
+//    /**
+//     * 期货风格-前端组件:风格评测-期货风格
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    @PostMapping("future-factor")
+//    public ResultVo<Map<String, Object>> futureFactor(@RequestBody FutureFactorParams params) {
+//        return ResultVo.ok(this.service.futureFactor(params));
+//    }
+//
+//    /**
+//     * 自定义风格-前端组件:风格评测-自定义风格
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    @PostMapping("custom-rbsa")
+//    public ResultVo<CustomRbsaVO> customRbsa(@RequestBody CustomRbsaParams params) {
+//        return ResultVo.ok(this.service.customRbsa(params));
+//    }
+//
+//    /**
+//     * Barra风格概览
+//     */
+//    @PostMapping("/barra-factor-overview")
+//    public ResultVo<Map<String, Object>> barraOverview(@RequestBody BarraStyleParams params) {
+//        return ResultVo.ok(this.service.barraOverview(params));
+//    }
+//
+//    /**
+//     * Barra 风格归因
+//     */
+//    @PostMapping("/barra-factor-risk-profit")
+//    public ResultVo<Map<String, Object>> barraRiskProfit(@RequestBody BarraStyleParams params) {
+//        return ResultVo.ok((this.service.barraRiskProfit(params)));
+//    }
+//
+//    /**
+//     * 选股择时能力-前端组件:风格评测-选股择时能力
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    @PostMapping("selection-timing")
+//    public ResultVo<Map<String, Object>> selectionTiming(@RequestBody SelectionTimingParams params) {
+//        return ResultVo.ok(this.service.selectionTiming(params));
+//    }
+//
+//    /**
+//     * 融智 风格总览-前端组件:风格评测-融智 风格总览
+//     *
+//     * @param params 请求参数
+//     * @return /
+//     */
+//    @PostMapping("ppw")
+//    public ResultVo<Map<String, Object>> rzStyle(@RequestBody RzStyleParams params) {
+//        return ResultVo.ok(this.service.rzStyle(params));
+//    }
+//}

+ 31 - 31
src/main/java/com/smppw/analysis/domain/dao/CompanyInformationDao.java

@@ -1,31 +1,31 @@
-package com.smppw.analysis.domain.dao;
-
-import com.smppw.analysis.domain.dataobject.CompanyInformationDo;
-import com.smppw.analysis.domain.mapper.core.CompanyInformationMapper;
-import org.springframework.stereotype.Component;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@Component
-public class CompanyInformationDao {
-    private final CompanyInformationMapper companyInformationMapper;
-
-    public CompanyInformationDao(CompanyInformationMapper companyInformationMapper) {
-        this.companyInformationMapper = companyInformationMapper;
-    }
-
-    public List<CompanyInformationDo> listCompany(List<String> companyIds) {
-        return this.companyInformationMapper.listCompany(companyIds);
-    }
-
-    public Map<String, String> getFundIdNameMap(List<String> companyIdList) {
-        List<CompanyInformationDo> fundInformationDos = companyInformationMapper.listCompany(companyIdList);
-        Map<String, String> fundIdNameMap = new HashMap<>();
-        for (CompanyInformationDo fundInformationDo : fundInformationDos) {
-            fundIdNameMap.put(fundInformationDo.getCompanyId(), fundInformationDo.getCompanyShortName());
-        }
-        return fundIdNameMap;
-    }
-}
+//package com.smppw.analysis.domain.dao;
+//
+//import com.smppw.analysis.domain.dataobject.CompanyInformationDo;
+//import com.smppw.analysis.domain.mapper.core.CompanyInformationMapper;
+//import org.springframework.stereotype.Component;
+//
+//import java.util.HashMap;
+//import java.util.List;
+//import java.util.Map;
+//
+//@Component
+//public class CompanyInformationDao {
+//    private final CompanyInformationMapper companyInformationMapper;
+//
+//    public CompanyInformationDao(CompanyInformationMapper companyInformationMapper) {
+//        this.companyInformationMapper = companyInformationMapper;
+//    }
+//
+//    public List<CompanyInformationDo> listCompany(List<String> companyIds) {
+//        return this.companyInformationMapper.listCompany(companyIds);
+//    }
+//
+//    public Map<String, String> getFundIdNameMap(List<String> companyIdList) {
+//        List<CompanyInformationDo> fundInformationDos = companyInformationMapper.listCompany(companyIdList);
+//        Map<String, String> fundIdNameMap = new HashMap<>();
+//        for (CompanyInformationDo fundInformationDo : fundInformationDos) {
+//            fundIdNameMap.put(fundInformationDo.getCompanyId(), fundInformationDo.getCompanyShortName());
+//        }
+//        return fundIdNameMap;
+//    }
+//}

+ 26 - 26
src/main/java/com/smppw/analysis/domain/dao/FundAnnounceDao.java

@@ -1,26 +1,26 @@
-package com.smppw.analysis.domain.dao;
-
-import com.smppw.analysis.domain.dataobject.ManualFundNoticeInfoDO;
-import com.smppw.analysis.domain.mapper.mf.MfFundAnnounceMapper;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 9:30
- * @description 公募基金公告信息Dao
- */
-@Service
-public class FundAnnounceDao {
-
-    private final MfFundAnnounceMapper fundAnnounceMapper;
-
-    public FundAnnounceDao(MfFundAnnounceMapper fundAnnounceMapper) {
-        this.fundAnnounceMapper = fundAnnounceMapper;
-    }
-
-    public List<ManualFundNoticeInfoDO> queryFundAnnounce(String fundId, List<String> typeList, String title) {
-        return fundAnnounceMapper.queryFundAnnounce(fundId, typeList, title);
-    }
-}
+//package com.smppw.analysis.domain.dao;
+//
+//import com.smppw.analysis.domain.dataobject.ManualFundNoticeInfoDO;
+//import com.smppw.analysis.domain.mapper.mf.MfFundAnnounceMapper;
+//import org.springframework.stereotype.Service;
+//
+//import java.util.List;
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/9 9:30
+// * @description 公募基金公告信息Dao
+// */
+//@Service
+//public class FundAnnounceDao {
+//
+//    private final MfFundAnnounceMapper fundAnnounceMapper;
+//
+//    public FundAnnounceDao(MfFundAnnounceMapper fundAnnounceMapper) {
+//        this.fundAnnounceMapper = fundAnnounceMapper;
+//    }
+//
+//    public List<ManualFundNoticeInfoDO> queryFundAnnounce(String fundId, List<String> typeList, String title) {
+//        return fundAnnounceMapper.queryFundAnnounce(fundId, typeList, title);
+//    }
+//}

+ 25 - 25
src/main/java/com/smppw/analysis/domain/dao/FundArchivesDao.java

@@ -1,25 +1,25 @@
-package com.smppw.analysis.domain.dao;
-
-import com.smppw.analysis.domain.dataobject.FundArchivesInfoDO;
-import com.smppw.analysis.domain.mapper.mf.MfFundArchivesMapper;
-import org.springframework.stereotype.Service;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 9:30
- * @description 公募基金投资类信息说明Mapper
- */
-@Service
-public class FundArchivesDao {
-
-    private final MfFundArchivesMapper fundArchivesMapper;
-
-    public FundArchivesDao(MfFundArchivesMapper fundArchivesMapper) {
-        this.fundArchivesMapper = fundArchivesMapper;
-    }
-
-    public FundArchivesInfoDO getFundArchives(String fundId) {
-        return fundArchivesMapper.queryFundArchives(fundId);
-    }
-
-}
+//package com.smppw.analysis.domain.dao;
+//
+//import com.smppw.analysis.domain.dataobject.FundArchivesInfoDO;
+//import com.smppw.analysis.domain.mapper.mf.MfFundArchivesMapper;
+//import org.springframework.stereotype.Service;
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/9 9:30
+// * @description 公募基金投资类信息说明Mapper
+// */
+//@Service
+//public class FundArchivesDao {
+//
+//    private final MfFundArchivesMapper fundArchivesMapper;
+//
+//    public FundArchivesDao(MfFundArchivesMapper fundArchivesMapper) {
+//        this.fundArchivesMapper = fundArchivesMapper;
+//    }
+//
+//    public FundArchivesInfoDO getFundArchives(String fundId) {
+//        return fundArchivesMapper.queryFundArchives(fundId);
+//    }
+//
+//}

+ 49 - 55
src/main/java/com/smppw/analysis/domain/dao/FundInformationDao.java

@@ -1,38 +1,32 @@
 package com.smppw.analysis.domain.dao;
 
 import cn.hutool.core.collection.ListUtil;
-import cn.hutool.core.map.MapUtil;
 import com.smppw.analysis.domain.dataobject.*;
 import com.smppw.analysis.domain.dataobject.info.FundInfoDO;
 import com.smppw.analysis.domain.mapper.core.*;
-import com.smppw.common.pojo.ValueLabelVO;
 import com.smppw.common.pojo.enums.Frequency;
-import com.smppw.common.pojo.enums.Indicator;
 import org.springframework.stereotype.Component;
 
-import java.math.BigDecimal;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 @Component
 public class FundInformationDao {
-    private final FundAssetSizeMapper fundAssetSizeMapper;
+//    private final FundAssetSizeMapper fundAssetSizeMapper;
     private final FundFrequencyMapper fundFrequencyMapper;
     private final FundInformationMapper fundInformationMapper;
     private final MonetaryFundProfitMapper monetaryFundProfitMapper;
-    private final CompanyFundScaleRangeHistoryMapper companyFundScaleRangeHistoryMapper;
+//    private final CompanyFundScaleRangeHistoryMapper companyFundScaleRangeHistoryMapper;
 
-    public FundInformationDao(FundAssetSizeMapper fundAssetSizeMapper,
-                              FundFrequencyMapper fundFrequencyMapper,
+    public FundInformationDao(FundFrequencyMapper fundFrequencyMapper,
                               FundInformationMapper fundInformationMapper,
-                              MonetaryFundProfitMapper monetaryFundProfitMapper,
-                              CompanyFundScaleRangeHistoryMapper companyFundScaleRangeHistoryMapper) {
-        this.fundAssetSizeMapper = fundAssetSizeMapper;
+                              MonetaryFundProfitMapper monetaryFundProfitMapper) {
+//        this.fundAssetSizeMapper = fundAssetSizeMapper;
         this.fundFrequencyMapper = fundFrequencyMapper;
         this.fundInformationMapper = fundInformationMapper;
         this.monetaryFundProfitMapper = monetaryFundProfitMapper;
-        this.companyFundScaleRangeHistoryMapper = companyFundScaleRangeHistoryMapper;
+//        this.companyFundScaleRangeHistoryMapper = companyFundScaleRangeHistoryMapper;
     }
 
     /**
@@ -83,57 +77,57 @@ public class FundInformationDao {
         return this.monetaryFundProfitMapper.queryByFundId(fundId);
     }
 
-    public List<Map<String, Object>> getFundRank(String rankDate, String fundId, List<String> indexIds, Indicator indicator) {
-        Map<String, Object> params = MapUtil.newHashMap(8);
-        params.put("fundId", fundId);
-        params.put("rankDate", rankDate);
-        params.put("indexIds", String.join("_", indexIds));
-        params.put("indicator", indicator.getId());
-        return this.fundInformationMapper.getFundRankByCall(params);
-    }
-
-    public List<FundSimilarDo> getSameCompanyFundIds(Map<String, Object> params) {
-        return this.fundInformationMapper.getSameCompanyFundIds(params);
-    }
-
-    public List<FundSimilarDo> getSameStrategyFundIds(Map<String, Object> params) {
-        return this.fundInformationMapper.getSameStrategyFundIds(params);
-    }
-
-    public FundFeeDo getFundFee(String fundId) {
-        return this.fundInformationMapper.getFundFee(fundId);
-    }
-
-    public List<ManualFundManagerChangeDo> listFundManagerChangeHistory(String fundId) {
-        return this.fundInformationMapper.listFundManagerChangeHistory(fundId);
-    }
-
-    public List<MfManagerFundNumDo> listMfManagerFundNumByManagerId(List<String> managerIdList) {
-        return this.fundInformationMapper.listMfManagerFundNumByManagerId(managerIdList);
-    }
-
-    public String getFundLastAssetSize(String fundId) {
-        BigDecimal assetSize = this.fundAssetSizeMapper.getFundLastAssetSize(fundId);
-        return assetSize == null ? null : assetSize.toPlainString();
-    }
-
-    public ValueLabelVO getLastCompanyScale(String companyId) {
-        return this.companyFundScaleRangeHistoryMapper.getLastCompanyScale(companyId);
-    }
+//    public List<Map<String, Object>> getFundRank(String rankDate, String fundId, List<String> indexIds, Indicator indicator) {
+//        Map<String, Object> params = MapUtil.newHashMap(8);
+//        params.put("fundId", fundId);
+//        params.put("rankDate", rankDate);
+//        params.put("indexIds", String.join("_", indexIds));
+//        params.put("indicator", indicator.getId());
+//        return this.fundInformationMapper.getFundRankByCall(params);
+//    }
+//
+//    public List<FundSimilarDo> getSameCompanyFundIds(Map<String, Object> params) {
+//        return this.fundInformationMapper.getSameCompanyFundIds(params);
+//    }
+//
+//    public List<FundSimilarDo> getSameStrategyFundIds(Map<String, Object> params) {
+//        return this.fundInformationMapper.getSameStrategyFundIds(params);
+//    }
+//
+//    public FundFeeDo getFundFee(String fundId) {
+//        return this.fundInformationMapper.getFundFee(fundId);
+//    }
+//
+//    public List<ManualFundManagerChangeDo> listFundManagerChangeHistory(String fundId) {
+//        return this.fundInformationMapper.listFundManagerChangeHistory(fundId);
+//    }
+//
+//    public List<MfManagerFundNumDo> listMfManagerFundNumByManagerId(List<String> managerIdList) {
+//        return this.fundInformationMapper.listMfManagerFundNumByManagerId(managerIdList);
+//    }
+
+//    public String getFundLastAssetSize(String fundId) {
+//        BigDecimal assetSize = this.fundAssetSizeMapper.getFundLastAssetSize(fundId);
+//        return assetSize == null ? null : assetSize.toPlainString();
+//    }
+//
+//    public ValueLabelVO getLastCompanyScale(String companyId) {
+//        return this.companyFundScaleRangeHistoryMapper.getLastCompanyScale(companyId);
+//    }
 
     public PrivatelyFundBaseInfoDo listPrivatelyFundInfo(String fundId){
         return this.fundInformationMapper.listPrivatelyFundInfo(fundId);
     }
 
-    public List<FundManagerInfoDo> listFundManagerByFundId(String fundId){
-        return this.fundInformationMapper.listFundManagerByFundId(fundId);
-    }
+//    public List<FundManagerInfoDo> listFundManagerByFundId(String fundId){
+//        return this.fundInformationMapper.listFundManagerByFundId(fundId);
+//    }
 
     public PubliclyFundBaseInfoDo listPubliclyFundInfo(String fundId){
         return this.fundInformationMapper.listPublicFundInfo(fundId);
     }
 
-    public List<ManualFundPurchaseRedeemDO> getMFundPurchaseRedeemList(String fundId) {
-      return  this.fundInformationMapper.listMFundPurchaseRedeemList(fundId);
-    }
+//    public List<ManualFundPurchaseRedeemDO> getMFundPurchaseRedeemList(String fundId) {
+//      return  this.fundInformationMapper.listMFundPurchaseRedeemList(fundId);
+//    }
 }

+ 27 - 27
src/main/java/com/smppw/analysis/domain/dao/FundStyleDao.java

@@ -1,27 +1,27 @@
-package com.smppw.analysis.domain.dao;
-
-import com.smppw.analysis.domain.dataobject.FundStyleStatsDO;
-import com.smppw.analysis.domain.mapper.core.FundStyleStatsMapper;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 14:30
- * @description 基金风格ao
- */
-@Service
-public class FundStyleDao {
-
-    private final FundStyleStatsMapper fundStyleStatsMapper;
-
-    public FundStyleDao(FundStyleStatsMapper fundStyleStatsMapper) {
-        this.fundStyleStatsMapper = fundStyleStatsMapper;
-    }
-
-    public List<FundStyleStatsDO> listFundStyleOverview(String fundId){
-        return fundStyleStatsMapper.listFundStyleOverview(fundId);
-    }
-
-}
+//package com.smppw.analysis.domain.dao;
+//
+//import com.smppw.analysis.domain.dataobject.FundStyleStatsDO;
+//import com.smppw.analysis.domain.mapper.core.FundStyleStatsMapper;
+//import org.springframework.stereotype.Service;
+//
+//import java.util.List;
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/9 14:30
+// * @description 基金风格ao
+// */
+//@Service
+//public class FundStyleDao {
+//
+//    private final FundStyleStatsMapper fundStyleStatsMapper;
+//
+//    public FundStyleDao(FundStyleStatsMapper fundStyleStatsMapper) {
+//        this.fundStyleStatsMapper = fundStyleStatsMapper;
+//    }
+//
+//    public List<FundStyleStatsDO> listFundStyleOverview(String fundId){
+//        return fundStyleStatsMapper.listFundStyleOverview(fundId);
+//    }
+//
+//}

+ 31 - 31
src/main/java/com/smppw/analysis/domain/dao/PersonnelInformationDao.java

@@ -1,31 +1,31 @@
-package com.smppw.analysis.domain.dao;
-
-import com.smppw.analysis.domain.dataobject.PersonnelInformationDo;
-import com.smppw.analysis.domain.mapper.core.PersonnelInformationMapper;
-import org.springframework.stereotype.Component;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@Component
-public class PersonnelInformationDao {
-    private final PersonnelInformationMapper personnelInformationMapper;
-
-    public PersonnelInformationDao(PersonnelInformationMapper personnelInformationMapper) {
-        this.personnelInformationMapper = personnelInformationMapper;
-    }
-
-    public List<PersonnelInformationDo> listPersonnel(List<String> managerIdList) {
-        return this.personnelInformationMapper.listPersonnel(managerIdList);
-    }
-
-    public Map<String, String> getFundIdNameMap(List<String> managerIdList) {
-        List<PersonnelInformationDo> fundInformationDos = personnelInformationMapper.listPersonnel(managerIdList);
-        Map<String, String> fundIdNameMap = new HashMap<>();
-        for (PersonnelInformationDo fundInformationDo : fundInformationDos) {
-            fundIdNameMap.put(fundInformationDo.getPersonnelId(), fundInformationDo.getPersonnelName());
-        }
-        return fundIdNameMap;
-    }
-}
+//package com.smppw.analysis.domain.dao;
+//
+//import com.smppw.analysis.domain.dataobject.PersonnelInformationDo;
+//import com.smppw.analysis.domain.mapper.core.PersonnelInformationMapper;
+//import org.springframework.stereotype.Component;
+//
+//import java.util.HashMap;
+//import java.util.List;
+//import java.util.Map;
+//
+//@Component
+//public class PersonnelInformationDao {
+//    private final PersonnelInformationMapper personnelInformationMapper;
+//
+//    public PersonnelInformationDao(PersonnelInformationMapper personnelInformationMapper) {
+//        this.personnelInformationMapper = personnelInformationMapper;
+//    }
+//
+//    public List<PersonnelInformationDo> listPersonnel(List<String> managerIdList) {
+//        return this.personnelInformationMapper.listPersonnel(managerIdList);
+//    }
+//
+//    public Map<String, String> getFundIdNameMap(List<String> managerIdList) {
+//        List<PersonnelInformationDo> fundInformationDos = personnelInformationMapper.listPersonnel(managerIdList);
+//        Map<String, String> fundIdNameMap = new HashMap<>();
+//        for (PersonnelInformationDo fundInformationDo : fundInformationDos) {
+//            fundIdNameMap.put(fundInformationDo.getPersonnelId(), fundInformationDo.getPersonnelName());
+//        }
+//        return fundIdNameMap;
+//    }
+//}

+ 114 - 114
src/main/java/com/smppw/analysis/domain/dao/PositionAnalysisDao.java

@@ -1,114 +1,114 @@
-package com.smppw.analysis.domain.dao;
-
-
-import com.smppw.analysis.domain.dataobject.*;
-import com.smppw.analysis.domain.mapper.core.BaseUnderlyingMapper;
-import com.smppw.analysis.domain.mapper.core.IndexesTradeDateMapper;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * @author wangzaijun
- * @date 2023/7/24 11:39
- * @description 基金持仓分析需要的所有mapper接口
- */
-@Service
-public class PositionAnalysisDao {
-    private final BaseUnderlyingMapper baseUnderlyingMapper;
-    private final IndexesTradeDateMapper indexesTradeDateMapper;
-
-    public PositionAnalysisDao(BaseUnderlyingMapper baseUnderlyingMapper,
-                               IndexesTradeDateMapper indexesTradeDateMapper) {
-        this.baseUnderlyingMapper = baseUnderlyingMapper;
-        this.indexesTradeDateMapper = indexesTradeDateMapper;
-    }
-
-    /**
-     * 获取最近的交日期,往前找
-     *
-     * @param tradeDate /
-     * @return /
-     */
-    public String getLatestTradeDate(String tradeDate) {
-        return this.indexesTradeDateMapper.queryLatestTradeDate(tradeDate);
-    }
-
-    /**
-     * 获取多个日期的流动性标准
-     *
-     * @param dateList /
-     * @return /
-     */
-    public List<SecLiquidityInfoDO> listSecLiquidityInfo(List<String> dateList) {
-        return this.baseUnderlyingMapper.querySecLiquidityInfo(dateList);
-    }
-
-    /**
-     * 多个日期的5日平均换手率
-     *
-     * @param dateList /
-     * @return /
-     */
-    public List<SecTurnoverInfoDO> listSecTurnoverInfo(List<String> dateList) {
-        return this.baseUnderlyingMapper.querySecTurnoverInfo(dateList);
-    }
-
-    /**
-     * 获取所有股票对应行业
-     *
-     * @return /
-     */
-    public List<SwSecIndustryInfoDO> listSecIndustryInfo() {
-        return this.baseUnderlyingMapper.querySecIndustryInfo();
-    }
-
-    /**
-     * 获取所有股票对应风格
-     *
-     * @param dateList 风格截止日集合
-     * @return /
-     */
-    public List<SecStyleInfoDO> listSecStyleInfo(List<String> dateList) {
-        return this.baseUnderlyingMapper.querySecStyleInfo(dateList);
-    }
-
-    /**
-     * 获取当前日期之后最近的权重数据
-     *
-     * @param indexId 基准id
-     * @param endDate 当前日期
-     * @return /
-     */
-    public List<IndexSecWeightInfoDO> listIndexSecWeight(String indexId, String endDate) {
-        return this.baseUnderlyingMapper.queryIndexSecWeight(indexId, endDate);
-    }
-
-    /**
-     * 获取股票行情
-     *
-     * @param endDate 当前时间
-     * @return /
-     */
-    public List<SecClosePriceDO> listSecClosePrice(String startDate, String endDate) {
-        return this.baseUnderlyingMapper.listSecClosePrice(startDate, endDate);
-    }
-
-    public List<SecClosePriceDO> listSecClosePrice(List<String> dateList) {
-        return this.baseUnderlyingMapper.listDateSecClosePrice(dateList);
-    }
-
-    /**
-     * 获取科创版股票行情
-     *
-     * @param endDate 当前时间
-     * @return /
-     */
-    public List<SecClosePriceDO> listSciTechSecClosePrice(String startDate, String endDate) {
-        return this.baseUnderlyingMapper.listSciTechSecClosePrice(startDate, endDate);
-    }
-
-    public List<SecClosePriceDO> listSciTechSecClosePrice(List<String> dateList) {
-        return this.baseUnderlyingMapper.listDateSciTechSecClosePrice(dateList);
-    }
-}
+//package com.smppw.analysis.domain.dao;
+//
+//
+//import com.smppw.analysis.domain.dataobject.*;
+//import com.smppw.analysis.domain.mapper.core.BaseUnderlyingMapper;
+//import com.smppw.analysis.domain.mapper.core.IndexesTradeDateMapper;
+//import org.springframework.stereotype.Service;
+//
+//import java.util.List;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/7/24 11:39
+// * @description 基金持仓分析需要的所有mapper接口
+// */
+//@Service
+//public class PositionAnalysisDao {
+//    private final BaseUnderlyingMapper baseUnderlyingMapper;
+//    private final IndexesTradeDateMapper indexesTradeDateMapper;
+//
+//    public PositionAnalysisDao(BaseUnderlyingMapper baseUnderlyingMapper,
+//                               IndexesTradeDateMapper indexesTradeDateMapper) {
+//        this.baseUnderlyingMapper = baseUnderlyingMapper;
+//        this.indexesTradeDateMapper = indexesTradeDateMapper;
+//    }
+//
+//    /**
+//     * 获取最近的交日期,往前找
+//     *
+//     * @param tradeDate /
+//     * @return /
+//     */
+//    public String getLatestTradeDate(String tradeDate) {
+//        return this.indexesTradeDateMapper.queryLatestTradeDate(tradeDate);
+//    }
+//
+//    /**
+//     * 获取多个日期的流动性标准
+//     *
+//     * @param dateList /
+//     * @return /
+//     */
+//    public List<SecLiquidityInfoDO> listSecLiquidityInfo(List<String> dateList) {
+//        return this.baseUnderlyingMapper.querySecLiquidityInfo(dateList);
+//    }
+//
+//    /**
+//     * 多个日期的5日平均换手率
+//     *
+//     * @param dateList /
+//     * @return /
+//     */
+//    public List<SecTurnoverInfoDO> listSecTurnoverInfo(List<String> dateList) {
+//        return this.baseUnderlyingMapper.querySecTurnoverInfo(dateList);
+//    }
+//
+//    /**
+//     * 获取所有股票对应行业
+//     *
+//     * @return /
+//     */
+//    public List<SwSecIndustryInfoDO> listSecIndustryInfo() {
+//        return this.baseUnderlyingMapper.querySecIndustryInfo();
+//    }
+//
+//    /**
+//     * 获取所有股票对应风格
+//     *
+//     * @param dateList 风格截止日集合
+//     * @return /
+//     */
+//    public List<SecStyleInfoDO> listSecStyleInfo(List<String> dateList) {
+//        return this.baseUnderlyingMapper.querySecStyleInfo(dateList);
+//    }
+//
+//    /**
+//     * 获取当前日期之后最近的权重数据
+//     *
+//     * @param indexId 基准id
+//     * @param endDate 当前日期
+//     * @return /
+//     */
+//    public List<IndexSecWeightInfoDO> listIndexSecWeight(String indexId, String endDate) {
+//        return this.baseUnderlyingMapper.queryIndexSecWeight(indexId, endDate);
+//    }
+//
+//    /**
+//     * 获取股票行情
+//     *
+//     * @param endDate 当前时间
+//     * @return /
+//     */
+//    public List<SecClosePriceDO> listSecClosePrice(String startDate, String endDate) {
+//        return this.baseUnderlyingMapper.listSecClosePrice(startDate, endDate);
+//    }
+//
+//    public List<SecClosePriceDO> listSecClosePrice(List<String> dateList) {
+//        return this.baseUnderlyingMapper.listDateSecClosePrice(dateList);
+//    }
+//
+//    /**
+//     * 获取科创版股票行情
+//     *
+//     * @param endDate 当前时间
+//     * @return /
+//     */
+//    public List<SecClosePriceDO> listSciTechSecClosePrice(String startDate, String endDate) {
+//        return this.baseUnderlyingMapper.listSciTechSecClosePrice(startDate, endDate);
+//    }
+//
+//    public List<SecClosePriceDO> listSciTechSecClosePrice(List<String> dateList) {
+//        return this.baseUnderlyingMapper.listDateSciTechSecClosePrice(dateList);
+//    }
+//}

+ 58 - 58
src/main/java/com/smppw/analysis/domain/dao/PubliclyFundPositionDao.java

@@ -1,58 +1,58 @@
-package com.smppw.analysis.domain.dao;
-
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.date.DateUtil;
-import cn.hutool.core.util.StrUtil;
-import com.smppw.analysis.domain.dataobject.FundPositionBaseInfoDO;
-import com.smppw.analysis.domain.dataobject.FundPositionDetailDO;
-import com.smppw.analysis.domain.dataobject.PubliclyFundHolderInfoDO;
-import com.smppw.analysis.domain.dataobject.PubliclyFundStockChangeDO;
-import com.smppw.analysis.domain.mapper.core.PubliclyFundExtInfoMapper;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-import java.util.stream.Collectors;
-
-@Component
-public class PubliclyFundPositionDao {
-    /**
-     * 公募基金估值表合法报告日期,去除 03和09
-     */
-    private static final String[] PUBLICLY_VALID_DATES = new String[]{"-12-", "-06-"};
-    private final PubliclyFundExtInfoMapper publiclyFundExtInfoMapper;
-
-    public PubliclyFundPositionDao(PubliclyFundExtInfoMapper publiclyFundExtInfoMapper) {
-        this.publiclyFundExtInfoMapper = publiclyFundExtInfoMapper;
-    }
-
-    public List<FundPositionBaseInfoDO> fundPositionBaseInfos(String fundId, String startDate, String endDate) {
-        List<FundPositionBaseInfoDO> dataList = this.publiclyFundExtInfoMapper.queryPositionBaseInfos(this.getRealFundId(fundId), startDate, endDate);
-        if (CollUtil.isNotEmpty(dataList)) {
-            dataList = dataList.stream().filter(e -> StrUtil.containsAny(DateUtil.formatDate(e.getReportDate()),
-                    PUBLICLY_VALID_DATES)).collect(Collectors.toList());
-        }
-        return dataList;
-    }
-
-    public List<FundPositionDetailDO> positionDetailList(String fundId) {
-        List<FundPositionDetailDO> dataList = this.publiclyFundExtInfoMapper.queryPositionDetails(this.getRealFundId(fundId));
-        if (CollUtil.isNotEmpty(dataList)) {
-            dataList = dataList.stream().filter(e -> StrUtil.containsAny(DateUtil.formatDate(e.getValuationDate()),
-                    PUBLICLY_VALID_DATES)).collect(Collectors.toList());
-        }
-        return dataList;
-    }
-
-    public List<PubliclyFundHolderInfoDO> mfHolderInfoList(String fundId, String startDate, String endDate) {
-        return this.publiclyFundExtInfoMapper.mfHolderInfoList(this.getRealFundId(fundId), startDate, endDate);
-    }
-
-    public List<PubliclyFundStockChangeDO> mfStockChangeList(String fundId, String startDate, String endDate) {
-        return this.publiclyFundExtInfoMapper.mfStockChangeList(this.getRealFundId(fundId), startDate, endDate);
-    }
-
-    private String getRealFundId(String fundId) {
-        String relationFund = this.publiclyFundExtInfoMapper.getRelationFund(fundId);
-        return StrUtil.isNotBlank(relationFund) ? relationFund : fundId;
-    }
-}
+//package com.smppw.analysis.domain.dao;
+//
+//import cn.hutool.core.collection.CollUtil;
+//import cn.hutool.core.date.DateUtil;
+//import cn.hutool.core.util.StrUtil;
+//import com.smppw.analysis.domain.dataobject.FundPositionBaseInfoDO;
+//import com.smppw.analysis.domain.dataobject.FundPositionDetailDO;
+//import com.smppw.analysis.domain.dataobject.PubliclyFundHolderInfoDO;
+//import com.smppw.analysis.domain.dataobject.PubliclyFundStockChangeDO;
+//import com.smppw.analysis.domain.mapper.core.PubliclyFundExtInfoMapper;
+//import org.springframework.stereotype.Component;
+//
+//import java.util.List;
+//import java.util.stream.Collectors;
+//
+//@Component
+//public class PubliclyFundPositionDao {
+//    /**
+//     * 公募基金估值表合法报告日期,去除 03和09
+//     */
+//    private static final String[] PUBLICLY_VALID_DATES = new String[]{"-12-", "-06-"};
+//    private final PubliclyFundExtInfoMapper publiclyFundExtInfoMapper;
+//
+//    public PubliclyFundPositionDao(PubliclyFundExtInfoMapper publiclyFundExtInfoMapper) {
+//        this.publiclyFundExtInfoMapper = publiclyFundExtInfoMapper;
+//    }
+//
+//    public List<FundPositionBaseInfoDO> fundPositionBaseInfos(String fundId, String startDate, String endDate) {
+//        List<FundPositionBaseInfoDO> dataList = this.publiclyFundExtInfoMapper.queryPositionBaseInfos(this.getRealFundId(fundId), startDate, endDate);
+//        if (CollUtil.isNotEmpty(dataList)) {
+//            dataList = dataList.stream().filter(e -> StrUtil.containsAny(DateUtil.formatDate(e.getReportDate()),
+//                    PUBLICLY_VALID_DATES)).collect(Collectors.toList());
+//        }
+//        return dataList;
+//    }
+//
+//    public List<FundPositionDetailDO> positionDetailList(String fundId) {
+//        List<FundPositionDetailDO> dataList = this.publiclyFundExtInfoMapper.queryPositionDetails(this.getRealFundId(fundId));
+//        if (CollUtil.isNotEmpty(dataList)) {
+//            dataList = dataList.stream().filter(e -> StrUtil.containsAny(DateUtil.formatDate(e.getValuationDate()),
+//                    PUBLICLY_VALID_DATES)).collect(Collectors.toList());
+//        }
+//        return dataList;
+//    }
+//
+//    public List<PubliclyFundHolderInfoDO> mfHolderInfoList(String fundId, String startDate, String endDate) {
+//        return this.publiclyFundExtInfoMapper.mfHolderInfoList(this.getRealFundId(fundId), startDate, endDate);
+//    }
+//
+//    public List<PubliclyFundStockChangeDO> mfStockChangeList(String fundId, String startDate, String endDate) {
+//        return this.publiclyFundExtInfoMapper.mfStockChangeList(this.getRealFundId(fundId), startDate, endDate);
+//    }
+//
+//    private String getRealFundId(String fundId) {
+//        String relationFund = this.publiclyFundExtInfoMapper.getRelationFund(fundId);
+//        return StrUtil.isNotBlank(relationFund) ? relationFund : fundId;
+//    }
+//}

+ 61 - 61
src/main/java/com/smppw/analysis/domain/dao/nav/CompanyNavDao.java

@@ -1,61 +1,61 @@
-package com.smppw.analysis.domain.dao.nav;
-
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.collection.ListUtil;
-import com.smppw.analysis.domain.dataobject.nav.CompanyFittedCurveDo;
-import com.smppw.analysis.domain.dataobject.nav.CompanyFittedCurveWeeklyDo;
-import com.smppw.analysis.domain.dataobject.nav.CompanyNavDO;
-import com.smppw.analysis.domain.mapper.core.CompanyFittedCurveMapper;
-import com.smppw.analysis.domain.mapper.core.CompanyFittedCurveWeeklyMapper;
-import com.smppw.common.cache.CaffeineLocalCache;
-import com.smppw.common.pojo.enums.Frequency;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-@Component(NavConstants.COMPANY_NAV)
-public class CompanyNavDao extends AbstractNavDao<CompanyNavDO> {
-    private final CompanyFittedCurveMapper mapper;
-    private final CompanyFittedCurveWeeklyMapper weeklyMapper;
-
-    public CompanyNavDao(CompanyFittedCurveMapper mapper, CompanyFittedCurveWeeklyMapper weeklyMapper) {
-        this.mapper = mapper;
-        this.weeklyMapper = weeklyMapper;
-    }
-
-    @Override
-    protected List<CompanyNavDO> listSecNav(List<String> secIds, String startDate, String endDate, Integer curveTypeId, Integer strategyId, Map<String, Frequency> secFrequencyMap) {
-        Map<Boolean, List<String>> monthWeekMap = secIds.stream().collect(Collectors.groupingBy(e -> Frequency.Weekly == secFrequencyMap.get(e)));
-        List<String> monthSecIdList = monthWeekMap.getOrDefault(Boolean.FALSE, ListUtil.empty());
-        List<String> weekSecIdList = monthWeekMap.getOrDefault(Boolean.TRUE, ListUtil.empty());
-        List<CompanyNavDO> resultList = ListUtil.list(true);
-        if (monthSecIdList.size() > 0) {
-            String startDateMonth = null;
-            if (StringUtils.isNotEmpty(startDate) && startDate.length() >= 7) {
-                startDateMonth = startDate.substring(0, 7);
-            }
-            List<CompanyFittedCurveDo> tempList = this.mapper.listNavByTimeInterval(monthSecIdList, startDateMonth, endDate, curveTypeId, strategyId, false);
-            if (CollUtil.isNotEmpty(tempList)) {
-                resultList.addAll(tempList);
-            }
-        }
-        if (weekSecIdList.size() > 0) {
-            String startYearWeek = null;
-            String endYearWeek = null;
-            if (StringUtils.isNotEmpty(startDate)) {
-                startYearWeek = CaffeineLocalCache.getYearWeekByDate(startDate);
-            }
-            if (StringUtils.isNotEmpty(endDate)) {
-                endYearWeek = CaffeineLocalCache.getYearWeekByDate(endDate);
-            }
-            List<CompanyFittedCurveWeeklyDo> tempList = this.weeklyMapper.listNavByTimeInterval(weekSecIdList, startYearWeek, endYearWeek, curveTypeId, strategyId, false);
-            if (CollUtil.isNotEmpty(tempList)) {
-                resultList.addAll(tempList);
-            }
-        }
-        return resultList;
-    }
-}
+//package com.smppw.analysis.domain.dao.nav;
+//
+//import cn.hutool.core.collection.CollUtil;
+//import cn.hutool.core.collection.ListUtil;
+//import com.smppw.analysis.domain.dataobject.nav.CompanyFittedCurveDo;
+//import com.smppw.analysis.domain.dataobject.nav.CompanyFittedCurveWeeklyDo;
+//import com.smppw.analysis.domain.dataobject.nav.CompanyNavDO;
+//import com.smppw.analysis.domain.mapper.core.CompanyFittedCurveMapper;
+//import com.smppw.analysis.domain.mapper.core.CompanyFittedCurveWeeklyMapper;
+//import com.smppw.common.cache.CaffeineLocalCache;
+//import com.smppw.common.pojo.enums.Frequency;
+//import org.apache.commons.lang3.StringUtils;
+//import org.springframework.stereotype.Component;
+//
+//import java.util.List;
+//import java.util.Map;
+//import java.util.stream.Collectors;
+//
+//@Component(NavConstants.COMPANY_NAV)
+//public class CompanyNavDao extends AbstractNavDao<CompanyNavDO> {
+//    private final CompanyFittedCurveMapper mapper;
+//    private final CompanyFittedCurveWeeklyMapper weeklyMapper;
+//
+//    public CompanyNavDao(CompanyFittedCurveMapper mapper, CompanyFittedCurveWeeklyMapper weeklyMapper) {
+//        this.mapper = mapper;
+//        this.weeklyMapper = weeklyMapper;
+//    }
+//
+//    @Override
+//    protected List<CompanyNavDO> listSecNav(List<String> secIds, String startDate, String endDate, Integer curveTypeId, Integer strategyId, Map<String, Frequency> secFrequencyMap) {
+//        Map<Boolean, List<String>> monthWeekMap = secIds.stream().collect(Collectors.groupingBy(e -> Frequency.Weekly == secFrequencyMap.get(e)));
+//        List<String> monthSecIdList = monthWeekMap.getOrDefault(Boolean.FALSE, ListUtil.empty());
+//        List<String> weekSecIdList = monthWeekMap.getOrDefault(Boolean.TRUE, ListUtil.empty());
+//        List<CompanyNavDO> resultList = ListUtil.list(true);
+//        if (monthSecIdList.size() > 0) {
+//            String startDateMonth = null;
+//            if (StringUtils.isNotEmpty(startDate) && startDate.length() >= 7) {
+//                startDateMonth = startDate.substring(0, 7);
+//            }
+//            List<CompanyFittedCurveDo> tempList = this.mapper.listNavByTimeInterval(monthSecIdList, startDateMonth, endDate, curveTypeId, strategyId, false);
+//            if (CollUtil.isNotEmpty(tempList)) {
+//                resultList.addAll(tempList);
+//            }
+//        }
+//        if (weekSecIdList.size() > 0) {
+//            String startYearWeek = null;
+//            String endYearWeek = null;
+//            if (StringUtils.isNotEmpty(startDate)) {
+//                startYearWeek = CaffeineLocalCache.getYearWeekByDate(startDate);
+//            }
+//            if (StringUtils.isNotEmpty(endDate)) {
+//                endYearWeek = CaffeineLocalCache.getYearWeekByDate(endDate);
+//            }
+//            List<CompanyFittedCurveWeeklyDo> tempList = this.weeklyMapper.listNavByTimeInterval(weekSecIdList, startYearWeek, endYearWeek, curveTypeId, strategyId, false);
+//            if (CollUtil.isNotEmpty(tempList)) {
+//                resultList.addAll(tempList);
+//            }
+//        }
+//        return resultList;
+//    }
+//}

+ 61 - 61
src/main/java/com/smppw/analysis/domain/dao/nav/ManagerNavDao.java

@@ -1,61 +1,61 @@
-package com.smppw.analysis.domain.dao.nav;
-
-import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.collection.ListUtil;
-import com.smppw.analysis.domain.dataobject.nav.FundManagerFittedCurveDo;
-import com.smppw.analysis.domain.dataobject.nav.FundManagerFittedCurveWeeklyDo;
-import com.smppw.analysis.domain.dataobject.nav.FundManagerNavDO;
-import com.smppw.analysis.domain.mapper.core.FundManagerFittedCurveMapper;
-import com.smppw.analysis.domain.mapper.core.FundManagerFittedCurveWeeklyMapper;
-import com.smppw.common.cache.CaffeineLocalCache;
-import com.smppw.common.pojo.enums.Frequency;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.stereotype.Component;
-
-import java.util.List;
-import java.util.Map;
-import java.util.stream.Collectors;
-
-@Component(NavConstants.MANAGER_NAV)
-public class ManagerNavDao extends AbstractNavDao<FundManagerNavDO> {
-    private final FundManagerFittedCurveMapper mapper;
-    private final FundManagerFittedCurveWeeklyMapper weeklyMapper;
-
-    public ManagerNavDao(FundManagerFittedCurveMapper mapper, FundManagerFittedCurveWeeklyMapper weeklyMapper) {
-        this.mapper = mapper;
-        this.weeklyMapper = weeklyMapper;
-    }
-
-    @Override
-    protected List<FundManagerNavDO> listSecNav(List<String> secIds, String startDate, String endDate, Integer curveTypeId, Integer strategyId, Map<String, Frequency> secFrequencyMap) {
-        Map<Boolean, List<String>> monthWeekMap = secIds.stream().collect(Collectors.groupingBy(e -> Frequency.Weekly == secFrequencyMap.get(e)));
-        List<String> monthSecIdList = monthWeekMap.getOrDefault(Boolean.FALSE, ListUtil.empty());
-        List<String> weekSecIdList = monthWeekMap.getOrDefault(Boolean.TRUE, ListUtil.empty());
-        List<FundManagerNavDO> resultList = ListUtil.list(true);
-        if (monthSecIdList.size() > 0) {
-            String startDateMonth = null;
-            if (StringUtils.isNotEmpty(startDate) && startDate.length() >= 7) {
-                startDateMonth = startDate.substring(0, 7);
-            }
-            List<FundManagerFittedCurveDo> tempList = this.mapper.listNavByTimeInterval(monthSecIdList, startDateMonth, endDate, curveTypeId, strategyId, false);
-            if (CollUtil.isNotEmpty(tempList)) {
-                resultList.addAll(tempList);
-            }
-        }
-        if (weekSecIdList.size() > 0) {
-            String startYearWeek = null;
-            String endYearWeek = null;
-            if (StringUtils.isNotEmpty(startDate)) {
-                startYearWeek = CaffeineLocalCache.getYearWeekByDate(startDate);
-            }
-            if (StringUtils.isNotEmpty(endDate)) {
-                endYearWeek = CaffeineLocalCache.getYearWeekByDate(endDate);
-            }
-            List<FundManagerFittedCurveWeeklyDo> tempList = this.weeklyMapper.listNavByTimeInterval(weekSecIdList, startYearWeek, endYearWeek, curveTypeId, strategyId, false);
-            if (CollUtil.isNotEmpty(tempList)) {
-                resultList.addAll(tempList);
-            }
-        }
-        return resultList;
-    }
-}
+//package com.smppw.analysis.domain.dao.nav;
+//
+//import cn.hutool.core.collection.CollUtil;
+//import cn.hutool.core.collection.ListUtil;
+//import com.smppw.analysis.domain.dataobject.nav.FundManagerFittedCurveDo;
+//import com.smppw.analysis.domain.dataobject.nav.FundManagerFittedCurveWeeklyDo;
+//import com.smppw.analysis.domain.dataobject.nav.FundManagerNavDO;
+//import com.smppw.analysis.domain.mapper.core.FundManagerFittedCurveMapper;
+//import com.smppw.analysis.domain.mapper.core.FundManagerFittedCurveWeeklyMapper;
+//import com.smppw.common.cache.CaffeineLocalCache;
+//import com.smppw.common.pojo.enums.Frequency;
+//import org.apache.commons.lang3.StringUtils;
+//import org.springframework.stereotype.Component;
+//
+//import java.util.List;
+//import java.util.Map;
+//import java.util.stream.Collectors;
+//
+//@Component(NavConstants.MANAGER_NAV)
+//public class ManagerNavDao extends AbstractNavDao<FundManagerNavDO> {
+//    private final FundManagerFittedCurveMapper mapper;
+//    private final FundManagerFittedCurveWeeklyMapper weeklyMapper;
+//
+//    public ManagerNavDao(FundManagerFittedCurveMapper mapper, FundManagerFittedCurveWeeklyMapper weeklyMapper) {
+//        this.mapper = mapper;
+//        this.weeklyMapper = weeklyMapper;
+//    }
+//
+//    @Override
+//    protected List<FundManagerNavDO> listSecNav(List<String> secIds, String startDate, String endDate, Integer curveTypeId, Integer strategyId, Map<String, Frequency> secFrequencyMap) {
+//        Map<Boolean, List<String>> monthWeekMap = secIds.stream().collect(Collectors.groupingBy(e -> Frequency.Weekly == secFrequencyMap.get(e)));
+//        List<String> monthSecIdList = monthWeekMap.getOrDefault(Boolean.FALSE, ListUtil.empty());
+//        List<String> weekSecIdList = monthWeekMap.getOrDefault(Boolean.TRUE, ListUtil.empty());
+//        List<FundManagerNavDO> resultList = ListUtil.list(true);
+//        if (monthSecIdList.size() > 0) {
+//            String startDateMonth = null;
+//            if (StringUtils.isNotEmpty(startDate) && startDate.length() >= 7) {
+//                startDateMonth = startDate.substring(0, 7);
+//            }
+//            List<FundManagerFittedCurveDo> tempList = this.mapper.listNavByTimeInterval(monthSecIdList, startDateMonth, endDate, curveTypeId, strategyId, false);
+//            if (CollUtil.isNotEmpty(tempList)) {
+//                resultList.addAll(tempList);
+//            }
+//        }
+//        if (weekSecIdList.size() > 0) {
+//            String startYearWeek = null;
+//            String endYearWeek = null;
+//            if (StringUtils.isNotEmpty(startDate)) {
+//                startYearWeek = CaffeineLocalCache.getYearWeekByDate(startDate);
+//            }
+//            if (StringUtils.isNotEmpty(endDate)) {
+//                endYearWeek = CaffeineLocalCache.getYearWeekByDate(endDate);
+//            }
+//            List<FundManagerFittedCurveWeeklyDo> tempList = this.weeklyMapper.listNavByTimeInterval(weekSecIdList, startYearWeek, endYearWeek, curveTypeId, strategyId, false);
+//            if (CollUtil.isNotEmpty(tempList)) {
+//                resultList.addAll(tempList);
+//            }
+//        }
+//        return resultList;
+//    }
+//}

+ 2 - 2
src/main/java/com/smppw/analysis/domain/dao/nav/NavConstants.java

@@ -9,8 +9,8 @@ public final class NavConstants {
     public static final String PUBLICLY_FUND_NAV = "publiclyFundNav";
     public static final String PRIVATELY_FUND_NAV = "privatelyFundNav";
     public static final String MARKET_INDEX_NAV = "marketIndexNav";
-    public static final String COMPANY_NAV = "companyNav";
-    public static final String MANAGER_NAV = "managerNav";
+//    public static final String COMPANY_NAV = "companyNav";
+//    public static final String MANAGER_NAV = "managerNav";
     public static final String RISK_INDEX_NAV = "riskIndexNav";
     public static final String PPW_INDEX_NAV = "ppwIndexNav";
 

+ 1 - 1
src/main/java/com/smppw/analysis/domain/dao/nav/NavDao.java

@@ -1,7 +1,7 @@
 package com.smppw.analysis.domain.dao.nav;
 
 import cn.hutool.core.map.MapUtil;
-import com.smppw.common.pojo.IStrategy;
+import com.smppw.common.pojo.enums.strategy.IStrategy;
 import com.smppw.common.pojo.dto.NavDto;
 import com.smppw.common.pojo.enums.CurveType;
 import com.smppw.common.pojo.enums.Frequency;

+ 2 - 2
src/main/java/com/smppw/analysis/domain/dao/nav/NavFactory.java

@@ -17,8 +17,8 @@ public class NavFactory {
         SEC_NAV_MAP.put(SecType.PUBLICLY_OFFERED_FUNDS, NavConstants.PUBLICLY_FUND_NAV);
         SEC_NAV_MAP.put(SecType.INDEX_FUND, NavConstants.MARKET_INDEX_NAV);
         SEC_NAV_MAP.put(SecType.RONGZHI_INDEX, NavConstants.PPW_INDEX_NAV);
-        SEC_NAV_MAP.put(SecType.COMPANY, NavConstants.COMPANY_NAV);
-        SEC_NAV_MAP.put(SecType.MANAGER, NavConstants.MANAGER_NAV);
+//        SEC_NAV_MAP.put(SecType.COMPANY, NavConstants.COMPANY_NAV);
+//        SEC_NAV_MAP.put(SecType.MANAGER, NavConstants.MANAGER_NAV);
         SEC_NAV_MAP.put(SecType.RISK_OF_FREE, NavConstants.RISK_INDEX_NAV);
     }
 

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

@@ -1,21 +0,0 @@
-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;
-    }
-}

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

@@ -1,25 +0,0 @@
-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();
-    }
-}

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

@@ -1,31 +0,0 @@
-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);
-    }
-}

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

@@ -1,18 +0,0 @@
-package com.smppw.analysis.domain.dao.rank;
-
-import com.smppw.analysis.domain.mapper.core.RankToBMapper;
-import org.springframework.stereotype.Component;
-
-@Component("ppw-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();
-    }
-}

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

@@ -1,24 +0,0 @@
-package com.smppw.analysis.domain.dao.rank;
-
-import com.smppw.analysis.domain.mapper.core.RankToCMapper;
-import org.springframework.stereotype.Component;
-
-@Component("ppw-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 - 321
src/main/java/com/smppw/analysis/domain/dataobject/BondBasicInformationDO.java

@@ -1,321 +0,0 @@
-package com.smppw.analysis.domain.dataobject;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * @author Rain
- * @date 2023/6/12 10:56
- * @description
- */
-public class BondBasicInformationDO {
-    private Integer id;
-
-    /**
-     * 标的ID
-     */
-    private String secId;
-
-    /**
-     * 债券唯一标识
-     */
-    private String bondId;
-
-    /**
-     * 债券主代码
-     */
-    private Integer mainCode;
-
-    /**
-     * 债券全称
-     */
-    private String bondFullName;
-
-    /**
-     * base_underlying_information标识uni_code
-     */
-    private String bondUniCode;
-
-    /**
-     * 债券类型
-     */
-    private String bondType;
-
-    /**
-     * 债券种类
-     */
-    private Integer bondNature;
-
-    /**
-     * 发行日期
-     */
-    private Date inceptionDate;
-
-    /**
-     * 实际发行
-     * 量
-     */
-    private String issueSize;
-
-    /**
-     * 计息方式
-     */
-    private String couponType;
-
-    /**
-     * 计息方式:1-单利(固定利率),2-复利,3-浮动利率,4-累进利率,5-贴现,6-无序利率 7-零息债
-     */
-    private Integer compoundMethod;
-
-    /**
-     * 付息方式:1-每年付息 2-半年付息 3-到期一次还本付息 4-按季付息 5-按月付息
-     */
-    private Integer intPaymentMethod;
-
-    /**
-     * 票面利率
-     */
-    private BigDecimal nominalInterestRate;
-
-    /**
-     * 发行期限
-     */
-    private String maturity;
-
-    /**
-     * 起息日
-     */
-    private Date accrualStartDate;
-
-    /**
-     * 到期日
-     */
-    private Date maturityDate;
-
-    /**
-     * 债券信用评级
-     */
-    private String creditRating;
-
-    /**
-     * 发债主体信用评级
-     */
-    private String issuerCreditRating;
-
-    /**
-     * 记录的有效性;1-有效;0-无效;
-     */
-    private Byte isvalid;
-
-    /**
-     * 创建者Id,默认第一次创建者名称,创建后不变更
-     */
-    private Integer creatorid;
-
-    /**
-     * 创建时间,默认第一次创建的getdate()时间
-     */
-    private Date createtime;
-
-    /**
-     * 修改者Id;第一次创建时与Creator值相同,修改时与修改人值相同
-     */
-    private Integer updaterid;
-
-    /**
-     * 修改时间;第一次创建时与CreatTime值相同,修改时与修改时间相同
-     */
-    private Date updatetime;
-
-    public Integer getId() {
-        return id;
-    }
-
-    public void setId(Integer id) {
-        this.id = id;
-    }
-
-    public String getSecId() {
-        return secId;
-    }
-
-    public void setSecId(String secId) {
-        this.secId = secId;
-    }
-
-    public String getBondId() {
-        return bondId;
-    }
-
-    public void setBondId(String bondId) {
-        this.bondId = bondId;
-    }
-
-    public Integer getMainCode() {
-        return mainCode;
-    }
-
-    public void setMainCode(Integer mainCode) {
-        this.mainCode = mainCode;
-    }
-
-    public String getBondFullName() {
-        return bondFullName;
-    }
-
-    public void setBondFullName(String bondFullName) {
-        this.bondFullName = bondFullName;
-    }
-
-    public String getBondUniCode() {
-        return bondUniCode;
-    }
-
-    public void setBondUniCode(String bondUniCode) {
-        this.bondUniCode = bondUniCode;
-    }
-
-    public String getBondType() {
-        return bondType;
-    }
-
-    public void setBondType(String bondType) {
-        this.bondType = bondType;
-    }
-
-    public Integer getBondNature() {
-        return bondNature;
-    }
-
-    public void setBondNature(Integer bondNature) {
-        this.bondNature = bondNature;
-    }
-
-    public Date getInceptionDate() {
-        return inceptionDate;
-    }
-
-    public void setInceptionDate(Date inceptionDate) {
-        this.inceptionDate = inceptionDate;
-    }
-
-    public String getIssueSize() {
-        return issueSize;
-    }
-
-    public void setIssueSize(String issueSize) {
-        this.issueSize = issueSize;
-    }
-
-    public String getCouponType() {
-        return couponType;
-    }
-
-    public void setCouponType(String couponType) {
-        this.couponType = couponType;
-    }
-
-    public Integer getCompoundMethod() {
-        return compoundMethod;
-    }
-
-    public void setCompoundMethod(Integer compoundMethod) {
-        this.compoundMethod = compoundMethod;
-    }
-
-    public Integer getIntPaymentMethod() {
-        return intPaymentMethod;
-    }
-
-    public void setIntPaymentMethod(Integer intPaymentMethod) {
-        this.intPaymentMethod = intPaymentMethod;
-    }
-
-    public BigDecimal getNominalInterestRate() {
-        return nominalInterestRate;
-    }
-
-    public void setNominalInterestRate(BigDecimal nominalInterestRate) {
-        this.nominalInterestRate = nominalInterestRate;
-    }
-
-    public String getMaturity() {
-        return maturity;
-    }
-
-    public void setMaturity(String maturity) {
-        this.maturity = maturity;
-    }
-
-    public Date getAccrualStartDate() {
-        return accrualStartDate;
-    }
-
-    public void setAccrualStartDate(Date accrualStartDate) {
-        this.accrualStartDate = accrualStartDate;
-    }
-
-    public Date getMaturityDate() {
-        return maturityDate;
-    }
-
-    public void setMaturityDate(Date maturityDate) {
-        this.maturityDate = maturityDate;
-    }
-
-    public String getCreditRating() {
-        return creditRating;
-    }
-
-    public void setCreditRating(String creditRating) {
-        this.creditRating = creditRating;
-    }
-
-    public String getIssuerCreditRating() {
-        return issuerCreditRating;
-    }
-
-    public void setIssuerCreditRating(String issuerCreditRating) {
-        this.issuerCreditRating = issuerCreditRating;
-    }
-
-    public Byte getIsvalid() {
-        return isvalid;
-    }
-
-    public void setIsvalid(Byte isvalid) {
-        this.isvalid = isvalid;
-    }
-
-    public Integer getCreatorid() {
-        return creatorid;
-    }
-
-    public void setCreatorid(Integer creatorid) {
-        this.creatorid = creatorid;
-    }
-
-    public Date getCreatetime() {
-        return createtime;
-    }
-
-    public void setCreatetime(Date createtime) {
-        this.createtime = createtime;
-    }
-
-    public Integer getUpdaterid() {
-        return updaterid;
-    }
-
-    public void setUpdaterid(Integer updaterid) {
-        this.updaterid = updaterid;
-    }
-
-    public Date getUpdatetime() {
-        return updatetime;
-    }
-
-    public void setUpdatetime(Date updatetime) {
-        this.updatetime = updatetime;
-    }
-}

+ 0 - 85
src/main/java/com/smppw/analysis/domain/dataobject/BondCreditGradingInfo.java

@@ -1,85 +0,0 @@
-package com.smppw.analysis.domain.dataobject;
-
-/**
- * @author Rain
- * @date 2023/6/13 11:26
- * @description
- */
-public class BondCreditGradingInfo {
-    /**
-     * 债券id
-     */
-    private String secId;
-    /**
-     * 债券主体id
-     */
-    private String mainCode;
-
-    /**
-     * 评级时间
-     */
-    private String crDate;
-
-    /**
-     * 评级编码
-     */
-    private String crCode;
-
-    /**
-     * 评级描述
-     */
-    private String crDesc;
-
-    /**
-     * 评级展望
-     */
-    private String crAnticipate;
-
-    public String getSecId() {
-        return secId;
-    }
-
-    public void setSecId(String secId) {
-        this.secId = secId;
-    }
-
-    public String getMainCode() {
-        return mainCode;
-    }
-
-    public void setMainCode(String mainCode) {
-        this.mainCode = mainCode;
-    }
-
-    public String getCrDate() {
-        return crDate;
-    }
-
-    public void setCrDate(String crDate) {
-        this.crDate = crDate;
-    }
-
-    public String getCrCode() {
-        return crCode;
-    }
-
-    public void setCrCode(String crCode) {
-        this.crCode = crCode;
-    }
-
-    public String getCrDesc() {
-        return crDesc;
-    }
-
-    public void setCrDesc(String crDesc) {
-        this.crDesc = crDesc;
-    }
-
-    public String getCrAnticipate() {
-        return crAnticipate;
-    }
-
-    public void setCrAnticipate(String crAnticipate) {
-        this.crAnticipate = crAnticipate;
-    }
-}

+ 0 - 27
src/main/java/com/smppw/analysis/domain/dataobject/BondIndustryInfo.java

@@ -1,27 +0,0 @@
-package com.smppw.analysis.domain.dataobject;
-
-/**
- * @author Rain
- * @date 2023/6/13 18:02
- * @description
- */
-public class BondIndustryInfo {
-    private String secId;
-    private String firstIndustryName;
-
-    public String getSecId() {
-        return secId;
-    }
-
-    public void setSecId(String secId) {
-        this.secId = secId;
-    }
-
-    public String getFirstIndustryName() {
-        return firstIndustryName;
-    }
-
-    public void setFirstIndustryName(String firstIndustryName) {
-        this.firstIndustryName = firstIndustryName;
-    }
-}

File diff suppressed because it is too large
+ 0 - 338
src/main/java/com/smppw/analysis/domain/dataobject/CompanyInformationDo.java


+ 0 - 58
src/main/java/com/smppw/analysis/domain/dataobject/FundArchivesInfoDO.java

@@ -1,58 +0,0 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Data;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 9:30
- * @description 公募基金投资类信息说明
- */
-@Data
-public class FundArchivesInfoDO {
-
-    /**
-     * 基准名称
-     */
-    private String benchmarkName;
-
-    /**
-     * 交易场所,申购赎回场所,为空则为场外
-     */
-    private String applyingMarket;
-
-    /**
-     * 初始份额,文字+数值+日期展示
-     */
-    private String initialShare;
-
-    /**
-     * 初始份额 日期
-     */
-    private String initialDate;
-
-    /**
-     * 最低申购金额,文字+数值+日期展示
-     */
-    private String lowestApplyAmount;
-
-    /**
-     * 最低赎回份额,文字+数值+日期展示
-     */
-    private String lowestSumRedemption;
-
-    /**
-     * 投资目标
-     */
-    private String investmentObjective;
-
-    /**
-     * 投资策略
-     */
-    private String strategyDescription;
-
-    /**
-     * 投资范围
-     */
-    private String investmentScope;
-
-}

+ 0 - 128
src/main/java/com/smppw/analysis/domain/dataobject/FundFeeDo.java

@@ -1,128 +0,0 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Data;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 11:25
- * @description 基金费率信息
- */
-@Data
-public class FundFeeDo {
-
-    /**
-     * 基金id
-     */
-    private String fundId;
-
-    /**
-     * 认购起点
-     */
-    private String minInvestmentShare;
-
-    /**
-     * 封闭期
-     */
-    private String lockupPeriod;
-
-    /**
-     * 认购费率
-     */
-    private String subscriptionFee;
-
-    /**
-     *
-     */
-    private String subscriptionFeeNote;
-
-    /**
-     * 赎回费率
-     */
-    private String redemptionFee;
-
-    /**
-     * 赎回费率说明
-     */
-    private String redemptionFeeNote;
-
-    /**
-     * 存续期限
-     */
-    private String duration;
-
-    /**
-     * 托管费
-     */
-    private String managementFeeBank;
-
-    /**
-     * 投资顾问管理费
-     */
-    private String managementFeeConsult;
-
-    /**
-     * 开放日
-     */
-    private String openDay;
-
-    /**
-     * 管理费率
-     */
-    private String managementFee;
-
-    /**
-     * 业绩报酬计提率
-     */
-    private String performanceFee;
-
-    /**
-     * 业绩报酬说明
-     */
-    private String performanceFeeNote;
-
-    /**
-     * 业绩报酬计提对象
-     */
-    private String accruedWay;
-
-    /**
-     * 业绩报酬计提方式
-     */
-    private String accruedMethod;
-
-    /**
-     * 业绩报酬计提频率
-     */
-    private String accruedFrequency;
-
-    /**
-     * 预警线
-     */
-    private String guardLine;
-
-    /**
-     * 业绩锁定期
-     */
-    private String lockPeriod;
-
-    /**
-     * 赎回日
-     */
-    private String redemptionDay;
-
-    /**
-     * 基础货币
-     */
-    private String baseCurrency;
-
-    /**
-     * 追加起点
-     */
-    private String subsequentInvestmentShare;
-
-    /**
-     * 止损线
-     */
-    private String stopLossLine;
-
-}

+ 0 - 28
src/main/java/com/smppw/analysis/domain/dataobject/FundInitLatestAssetSizeDO.java

@@ -1,28 +0,0 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Data;
-
-/**
- * @author mozuwen
- * @date 2023/8/18 15:00
- * @description
- */
-@Data
-public class FundInitLatestAssetSizeDO {
-
-    /**
-     * 日期
-     */
-    private String date;
-
-    /**
-     * 资产
-     */
-    private String assetSize;
-
-    /**
-     * 类型
-     */
-    private String type;
-
-}

+ 0 - 23
src/main/java/com/smppw/analysis/domain/dataobject/FundManagerInfoDo.java

@@ -1,23 +0,0 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Data;
-
-/**
- * @author mozuwen
- * @date 2023/8/14 19:00
- * @description 基金-基金经理
- */
-@Data
-public class FundManagerInfoDo {
-
-    /**
-     * id
-     */
-    private String managerId;
-
-    /**
-     * 名称
-     */
-    private String managerName;
-
-}

+ 0 - 81
src/main/java/com/smppw/analysis/domain/dataobject/FundPositionBaseInfoDO.java

@@ -1,81 +0,0 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * @author wangzaijun
- * @date 2023/6/7 15:52
- * @description 公募基金基本持仓信息
- */
-@Setter
-@Getter
-public class FundPositionBaseInfoDO {
-    /**
-     * 基金ID
-     */
-    private String fundId;
-    /**
-     * 估值日期
-     */
-    private Date reportDate;
-    /**
-     * 货币市场工具资产市值(元)
-     */
-    private BigDecimal mvOfMoney;
-    /**
-     * 货币市场工具占资产净值比例
-     */
-    private BigDecimal rinOfMoney;
-    /**
-     * 固定收益类投资资产市值
-     */
-    private BigDecimal mvOfFixedIncome;
-    /**
-     * 固定收益类投资占资产净值比例
-     */
-    private BigDecimal rinOfFixedIncome;
-    /**
-     * 权益类投资资产市值
-     */
-    private BigDecimal mvOfEquity;
-    /**
-     * 权益类投资占资产净值比例
-     */
-    private BigDecimal rinOfEquity;
-    /**
-     * 基金投资合计资产市值(元)
-     */
-    private BigDecimal mvOfFund;
-    /**
-     * 基金投资合计占资产净值比例
-     */
-    private BigDecimal rinOfFund;
-    /**
-     * 买入返售证券资产市值(元)
-     */
-    private BigDecimal mvOfReturnSale;
-    /**
-     * 买入返售证券占资产净值比例
-     */
-    private BigDecimal rinOfReturnSale;
-    /**
-     * 金融衍生品投资资产市值(元)
-     */
-    private BigDecimal mvOfFixedDeriva;
-    /**
-     * 金融衍生品投资占资产净值比例
-     */
-    private BigDecimal rinOfDeriva;
-    /**
-     * 总资产
-     */
-    private BigDecimal totalAsset;
-    /**
-     * 基金净资产值
-     */
-    private BigDecimal assetNv;
-}

+ 0 - 83
src/main/java/com/smppw/analysis/domain/dataobject/FundPositionDetailDO.java

@@ -1,83 +0,0 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * @author wangzaijun
- * @date 2023/6/7 15:52
- * @description 公募基金基本持仓信息
- */
-@Setter
-@Getter
-public class FundPositionDetailDO {
-    /**
-     * 标的ID
-     */
-    private String secId;
-    /**
-     * 基金ID
-     */
-    private String fundId;
-    /**
-     * 估值日期
-     */
-    private Date valuationDate;
-    /**
-     * 证券代码
-     */
-    private String securitiesCode;
-    /**
-     * 证券名称
-     */
-    private String securitiesName;
-    /**
-     * 0-股票市场,1-债券市场,2-商品期货(未使用),3-期货,4-外汇(未使用),5-贵金属(未使用),6-公募基金,7-私募基金,8-货币(未使用),9-金融期货(未使用) 20-权证 21-所持流通受限制证券 22-QDII
-     */
-    private Integer secType;
-    /**
-     * 证券数量
-     */
-    private BigDecimal securitiesAmount;
-
-    /**
-     * 空投证券数量
-     */
-    private BigDecimal airdropSecuritiesAmount;
-    /**
-     * 数量变化
-     */
-    private BigDecimal numberChange;
-    /**
-     * 市值
-     */
-    private BigDecimal marketValue;
-    /**
-     * 市值占净值
-     */
-    private BigDecimal marketValueRatio;
-    /**
-     * 持仓性质:1-多 2-空
-     */
-    private Integer sharesNature;
-
-    private String bondType;
-
-    /**
-     * 多空轧差市值
-     */
-    private BigDecimal nettingMarketValue;
-
-    /**
-     * 空投市值
-     */
-    private BigDecimal airdropMarketValue;
-
-    /**
-     * 空投市占净值比
-     */
-    private BigDecimal airdropMarketValueRatio;
-}

+ 21 - 21
src/main/java/com/smppw/analysis/domain/dataobject/FundSimilarDo.java

@@ -1,21 +1,21 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Getter;
-import lombok.Setter;
-
-@Setter
-@Getter
-public class FundSimilarDo {
-    private String fundId;
-    private String fundName;
-    private String strategy;
-    private String subStrategy;
-    private String thirdStrategy;
-    private String retYtd;
-    private String ret1y;
-    private String retIncep;
-    private String annualIncep;
-    private String shapeIncep;
-    private String maxdownIncep;
-    private String stdDevIncep;
-}
+//package com.smppw.analysis.domain.dataobject;
+//
+//import lombok.Getter;
+//import lombok.Setter;
+//
+//@Setter
+//@Getter
+//public class FundSimilarDo {
+//    private String fundId;
+//    private String fundName;
+//    private String strategy;
+//    private String subStrategy;
+//    private String thirdStrategy;
+//    private String retYtd;
+//    private String ret1y;
+//    private String retIncep;
+//    private String annualIncep;
+//    private String shapeIncep;
+//    private String maxdownIncep;
+//    private String stdDevIncep;
+//}

+ 237 - 237
src/main/java/com/smppw/analysis/domain/dataobject/FundStyleStatsDO.java

@@ -1,237 +1,237 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Data;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 9:30
- * @description 基金风格指标表DO
- */
-@Data
-public class FundStyleStatsDO {
-
-    /**
-     * 主键id
-     */
-    private Integer id;
-
-    /**
-     * 基金id
-     */
-    private String fundId;
-
-    /**
-     * 今年以来的上行捕获收益率
-     */
-    private BigDecimal upsideCaptureRetYtd;
-
-    /**
-     * 最近半年的上行捕获收益率
-     */
-    private BigDecimal upsideCaptureRet6m;
-
-    /**
-     * 最近一年的上行捕获收益率
-     */
-    private BigDecimal upsideCaptureRet1y;
-
-    /**
-     * 最近两年的上行捕获收益率
-     */
-    private BigDecimal upsideCaptureRet2y;
-
-    /**
-     * 最近三年的上行捕获收益率
-     */
-    private BigDecimal upsideCaptureRet3y;
-
-    /**
-     * 最近四年的上行捕获收益率
-     */
-    private BigDecimal upsideCaptureRet4y;
-
-    /**
-     * 最近五年的上行捕获收益率
-     */
-    private BigDecimal upsideCaptureRet5y;
-
-    /**
-     * 最近十年的上行捕获收益率
-     */
-    private BigDecimal upsideCaptureRet10y;
-
-    /**
-     * 成立以来的上行捕获收益率
-     */
-    private BigDecimal upsideCaptureRetIncep;
-
-    /**
-     * 今年以来的下行捕获收益率
-     */
-    private BigDecimal downsideCaptureRetYtd;
-
-    /**
-     * 最近半年的下行捕获收益率
-     */
-    private BigDecimal downsideCaptureRet6m;
-
-    /**
-     * 最近一年的下行捕获收益率
-     */
-    private BigDecimal downsideCaptureRet1y;
-
-    /**
-     * 最近两年的下行捕获收益率
-     */
-    private BigDecimal downsideCaptureRet2y;
-
-    /**
-     * 最近三年的下行捕获收益率
-     */
-    private BigDecimal downsideCaptureRet3y;
-
-    /**
-     * 最近四年的下行捕获收益率
-     */
-    private BigDecimal downsideCaptureRet4y;
-
-    /**
-     * 最近五年的下行捕获收益率
-     */
-    private BigDecimal downsideCaptureRet5y;
-
-    /**
-     * 最近十年的下行捕获收益率
-     */
-    private BigDecimal downsideCaptureRet10y;
-
-    /**
-     * 成立以来的下行捕获收益率
-     */
-    private BigDecimal downsideCaptureRetIncep;
-
-    /**
-     * 今年以来的上行捕获率
-     */
-    private BigDecimal upsideCaptureRatioYtd;
-
-    /**
-     * 最近半年的上行捕获率
-     */
-    private BigDecimal upsideCaptureRatio6m;
-
-    /**
-     * 最近一年的上行捕获率
-     */
-    private BigDecimal upsideCaptureRatio1y;
-
-    /**
-     * 最近两年的上行捕获率
-     */
-    private BigDecimal upsideCaptureRatio2y;
-
-    /**
-     * 最近三年的上行捕获率
-     */
-    private BigDecimal upsideCaptureRatio3y;
-
-    /**
-     * 最近四年的上行捕获率
-     */
-    private BigDecimal upsideCaptureRatio4y;
-
-    /**
-     * 最近五年的上行捕获率
-     */
-    private BigDecimal upsideCaptureRatio5y;
-
-    /**
-     * 最近十年的上行捕获率
-     */
-    private BigDecimal upsideCaptureRatio10y;
-
-    /**
-     * 成立以来的上行捕获率
-     */
-    private BigDecimal upsideCaptureRatioIncep;
-
-    /**
-     * 今年以来的下行捕获率
-     */
-    private BigDecimal downsideCaptureRatioYtd;
-
-    /**
-     * 最近半年的下行捕获率
-     */
-    private BigDecimal downsideCaptureRatio6m;
-
-    /**
-     * 最近一年的下行捕获率
-     */
-    private BigDecimal downsideCaptureRatio1y;
-
-    /**
-     * 最近两年的下行捕获率
-     */
-    private BigDecimal downsideCaptureRatio2y;
-
-    /**
-     * 最近三年的下行捕获率
-     */
-    private BigDecimal downsideCaptureRatio3y;
-
-    /**
-     * 最近四年的下行捕获率
-     */
-    private BigDecimal downsideCaptureRatio4y;
-
-    /**
-     * 最近五年的下行捕获率
-     */
-    private BigDecimal downsideCaptureRatio5y;
-
-    /**
-     * 最近十年的下行捕获率
-     */
-    private BigDecimal downsideCaptureRatio10y;
-
-    /**
-     * 成立以来的下行捕获率
-     */
-    private BigDecimal downsideCaptureRatioIncep;
-
-    /**
-     * 截止日期
-     */
-    private String endDate;
-
-    /**
-     * 创建者id
-     */
-    private Integer creatorid;
-
-    /**
-     * 创建时间
-     */
-    private Date createtime;
-
-    /**
-     * 修改者id
-     */
-    private Integer updaterid;
-
-    /**
-     * 修改时间
-     */
-    private Date updatetime;
-
-    /**
-     * 记录的有效性;1-有效;0-无效;
-     */
-    private Integer isvalid;
-
-}
-
+//package com.smppw.analysis.domain.dataobject;
+//
+//import lombok.Data;
+//
+//import java.math.BigDecimal;
+//import java.util.Date;
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/9 9:30
+// * @description 基金风格指标表DO
+// */
+//@Data
+//public class FundStyleStatsDO {
+//
+//    /**
+//     * 主键id
+//     */
+//    private Integer id;
+//
+//    /**
+//     * 基金id
+//     */
+//    private String fundId;
+//
+//    /**
+//     * 今年以来的上行捕获收益率
+//     */
+//    private BigDecimal upsideCaptureRetYtd;
+//
+//    /**
+//     * 最近半年的上行捕获收益率
+//     */
+//    private BigDecimal upsideCaptureRet6m;
+//
+//    /**
+//     * 最近一年的上行捕获收益率
+//     */
+//    private BigDecimal upsideCaptureRet1y;
+//
+//    /**
+//     * 最近两年的上行捕获收益率
+//     */
+//    private BigDecimal upsideCaptureRet2y;
+//
+//    /**
+//     * 最近三年的上行捕获收益率
+//     */
+//    private BigDecimal upsideCaptureRet3y;
+//
+//    /**
+//     * 最近四年的上行捕获收益率
+//     */
+//    private BigDecimal upsideCaptureRet4y;
+//
+//    /**
+//     * 最近五年的上行捕获收益率
+//     */
+//    private BigDecimal upsideCaptureRet5y;
+//
+//    /**
+//     * 最近十年的上行捕获收益率
+//     */
+//    private BigDecimal upsideCaptureRet10y;
+//
+//    /**
+//     * 成立以来的上行捕获收益率
+//     */
+//    private BigDecimal upsideCaptureRetIncep;
+//
+//    /**
+//     * 今年以来的下行捕获收益率
+//     */
+//    private BigDecimal downsideCaptureRetYtd;
+//
+//    /**
+//     * 最近半年的下行捕获收益率
+//     */
+//    private BigDecimal downsideCaptureRet6m;
+//
+//    /**
+//     * 最近一年的下行捕获收益率
+//     */
+//    private BigDecimal downsideCaptureRet1y;
+//
+//    /**
+//     * 最近两年的下行捕获收益率
+//     */
+//    private BigDecimal downsideCaptureRet2y;
+//
+//    /**
+//     * 最近三年的下行捕获收益率
+//     */
+//    private BigDecimal downsideCaptureRet3y;
+//
+//    /**
+//     * 最近四年的下行捕获收益率
+//     */
+//    private BigDecimal downsideCaptureRet4y;
+//
+//    /**
+//     * 最近五年的下行捕获收益率
+//     */
+//    private BigDecimal downsideCaptureRet5y;
+//
+//    /**
+//     * 最近十年的下行捕获收益率
+//     */
+//    private BigDecimal downsideCaptureRet10y;
+//
+//    /**
+//     * 成立以来的下行捕获收益率
+//     */
+//    private BigDecimal downsideCaptureRetIncep;
+//
+//    /**
+//     * 今年以来的上行捕获率
+//     */
+//    private BigDecimal upsideCaptureRatioYtd;
+//
+//    /**
+//     * 最近半年的上行捕获率
+//     */
+//    private BigDecimal upsideCaptureRatio6m;
+//
+//    /**
+//     * 最近一年的上行捕获率
+//     */
+//    private BigDecimal upsideCaptureRatio1y;
+//
+//    /**
+//     * 最近两年的上行捕获率
+//     */
+//    private BigDecimal upsideCaptureRatio2y;
+//
+//    /**
+//     * 最近三年的上行捕获率
+//     */
+//    private BigDecimal upsideCaptureRatio3y;
+//
+//    /**
+//     * 最近四年的上行捕获率
+//     */
+//    private BigDecimal upsideCaptureRatio4y;
+//
+//    /**
+//     * 最近五年的上行捕获率
+//     */
+//    private BigDecimal upsideCaptureRatio5y;
+//
+//    /**
+//     * 最近十年的上行捕获率
+//     */
+//    private BigDecimal upsideCaptureRatio10y;
+//
+//    /**
+//     * 成立以来的上行捕获率
+//     */
+//    private BigDecimal upsideCaptureRatioIncep;
+//
+//    /**
+//     * 今年以来的下行捕获率
+//     */
+//    private BigDecimal downsideCaptureRatioYtd;
+//
+//    /**
+//     * 最近半年的下行捕获率
+//     */
+//    private BigDecimal downsideCaptureRatio6m;
+//
+//    /**
+//     * 最近一年的下行捕获率
+//     */
+//    private BigDecimal downsideCaptureRatio1y;
+//
+//    /**
+//     * 最近两年的下行捕获率
+//     */
+//    private BigDecimal downsideCaptureRatio2y;
+//
+//    /**
+//     * 最近三年的下行捕获率
+//     */
+//    private BigDecimal downsideCaptureRatio3y;
+//
+//    /**
+//     * 最近四年的下行捕获率
+//     */
+//    private BigDecimal downsideCaptureRatio4y;
+//
+//    /**
+//     * 最近五年的下行捕获率
+//     */
+//    private BigDecimal downsideCaptureRatio5y;
+//
+//    /**
+//     * 最近十年的下行捕获率
+//     */
+//    private BigDecimal downsideCaptureRatio10y;
+//
+//    /**
+//     * 成立以来的下行捕获率
+//     */
+//    private BigDecimal downsideCaptureRatioIncep;
+//
+//    /**
+//     * 截止日期
+//     */
+//    private String endDate;
+//
+//    /**
+//     * 创建者id
+//     */
+//    private Integer creatorid;
+//
+//    /**
+//     * 创建时间
+//     */
+//    private Date createtime;
+//
+//    /**
+//     * 修改者id
+//     */
+//    private Integer updaterid;
+//
+//    /**
+//     * 修改时间
+//     */
+//    private Date updatetime;
+//
+//    /**
+//     * 记录的有效性;1-有效;0-无效;
+//     */
+//    private Integer isvalid;
+//
+//}
+//

+ 0 - 31
src/main/java/com/smppw/analysis/domain/dataobject/FutureDailyPriceDO.java

@@ -1,31 +0,0 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author wangzaijun
- * @date 2023/7/26 13:59
- * @description 期货价格
- */
-@Setter
-@Getter
-public class FutureDailyPriceDO {
-    /**
-     * 期货标的
-     */
-    private String refId;
-    /**
-     * 交易日
-     */
-    private String priceDate;
-    /**
-     * 收盘价
-     */
-    private Double closePrice;
-    /**
-     * 收盘价张跌幅
-     * 金融期货才能从数据库查到,商品期货需要计算
-     */
-    private Double closePriceRet;
-}

+ 0 - 23
src/main/java/com/smppw/analysis/domain/dataobject/IndexSecWeightInfoDO.java

@@ -1,23 +0,0 @@
-package com.smppw.analysis.domain.dataobject;
-
-import com.smppw.constants.Consts;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-
-/**
- * @author wangzaijun
- * @date 2023/6/8 18:33
- * @description
- */
-@Setter
-@Getter
-public class IndexSecWeightInfoDO implements Serializable {
-    private static final long serialVersionUID = Consts.DEFAULT_SERIAL_VERSION_UID;
-    private String endDate;
-    private String secCode;
-    private String secName;
-    private BigDecimal weight;
-}

+ 28 - 28
src/main/java/com/smppw/analysis/domain/dataobject/ManualFundAssetSizeDo.java

@@ -1,28 +1,28 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Data;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 21:03
- * @description 公募基金的经理在管的所有基金的某个日期的资产值
- */
-@Data
-public class ManualFundAssetSizeDo {
-
-    /**
-     * 日期
-     */
-    private String date;
-
-    /**
-     * 基金id
-     */
-    private String fundId;
-
-    /**
-     * 基金资产值
-     */
-    private Double fundAssetSize;
-
-}
+//package com.smppw.analysis.domain.dataobject;
+//
+//import lombok.Data;
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/9 21:03
+// * @description 公募基金的经理在管的所有基金的某个日期的资产值
+// */
+//@Data
+//public class ManualFundAssetSizeDo {
+//
+//    /**
+//     * 日期
+//     */
+//    private String date;
+//
+//    /**
+//     * 基金id
+//     */
+//    private String fundId;
+//
+//    /**
+//     * 基金资产值
+//     */
+//    private Double fundAssetSize;
+//
+//}

+ 45 - 45
src/main/java/com/smppw/analysis/domain/dataobject/ManualFundFeeDo.java

@@ -1,45 +1,45 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Data;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 14:30
- * @description 公募基金费率信息
- */
-@Data
-public class ManualFundFeeDo {
-
-    /**
-     * 基金id
-     */
-    private String fundId;
-    /**
-     * 费率类别
-     * 10210 - 认购费场外前端
-     * 11010 - 日常申购费前端
-     * 11210 - 日常申购费场外前端
-     * 12000 - 日常赎回费
-     * 12200 - 日常赎回费场外
-     * 15000 - 管理费
-     * 16000 - 托管费
-     * 19000 - 营销费
-     */
-    private String chargeRateType;
-
-    /**
-     * 费率描述
-     */
-    private String chargeRateDes;
-
-    /**
-     * 费率划分标准范围Ⅰ起始数值
-     */
-    private Double stDivStand1;
-
-    /**
-     * 费率划分标准范围Ⅰ截止数值
-     */
-    private Double enDivStand1;
-
-}
+//package com.smppw.analysis.domain.dataobject;
+//
+//import lombok.Data;
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/9 14:30
+// * @description 公募基金费率信息
+// */
+//@Data
+//public class ManualFundFeeDo {
+//
+//    /**
+//     * 基金id
+//     */
+//    private String fundId;
+//    /**
+//     * 费率类别
+//     * 10210 - 认购费场外前端
+//     * 11010 - 日常申购费前端
+//     * 11210 - 日常申购费场外前端
+//     * 12000 - 日常赎回费
+//     * 12200 - 日常赎回费场外
+//     * 15000 - 管理费
+//     * 16000 - 托管费
+//     * 19000 - 营销费
+//     */
+//    private String chargeRateType;
+//
+//    /**
+//     * 费率描述
+//     */
+//    private String chargeRateDes;
+//
+//    /**
+//     * 费率划分标准范围Ⅰ起始数值
+//     */
+//    private Double stDivStand1;
+//
+//    /**
+//     * 费率划分标准范围Ⅰ截止数值
+//     */
+//    private Double enDivStand1;
+//
+//}

+ 0 - 37
src/main/java/com/smppw/analysis/domain/dataobject/ManualFundManagerChangeDo.java

@@ -1,37 +0,0 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Data;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 14:00
- * @description 公募基金的基金经理变更历史
- */
-@Data
-public class ManualFundManagerChangeDo {
-
-    /**
-     * 基金id
-     */
-    private String fundId;
-
-    /**
-     * 基金经理id
-     */
-    private String managerId;
-
-    /**
-     * 经理名称
-     */
-    private String managerName;
-
-    /**
-     * 任职开始时间
-     */
-    private String startDate;
-    /**
-     * 任职结束时间
-     */
-    private String endDate;
-
-}

+ 0 - 63
src/main/java/com/smppw/analysis/domain/dataobject/ManualFundManagerInfoDo.java

@@ -1,63 +0,0 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Data;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 19:10
- * @description 公募基金当前在管的基金经理信息
- */
-@Data
-public class ManualFundManagerInfoDo {
-
-    /**
-     * id
-     */
-    private String managerId;
-
-    /**
-     * 名称
-     */
-    private String managerName;
-
-    /**
-     * 在职开始时间
-     */
-    private String startDate;
-
-    /**
-     * 在职结束时间
-     */
-    private String endDate;
-
-    /**
-     * 人员头像,93
-     */
-    private String avatar;
-
-    /**
-     * 人员头像,172
-     */
-    private String avatar2;
-
-    /**
-     * 性别
-     */
-    private String gender;
-
-    /**
-     * 性别,1-男,2-女
-     */
-    private String genderValue;
-
-    /**
-     * 公募全部产品数量
-     */
-    private String publicProductNumAll;
-
-    /**
-     * 公募正在运行产品数量
-     */
-    private String publicProductNumRunning;
-
-}

+ 0 - 45
src/main/java/com/smppw/analysis/domain/dataobject/ManualFundNoticeInfoDO.java

@@ -1,45 +0,0 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Data;
-
-import java.util.Date;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 9:30
- * @description 公募基金公告信息
- */
-@Data
-public class ManualFundNoticeInfoDO {
-
-    /**
-     * 信息发布日期
-     */
-    private Date date;
-
-    /**
-     * 公告类型:1-发行上市, 2-定期报告, 3-业绩快报, 4-其他公告
-     */
-    private String type;
-
-    /**
-     * 公告标题
-     */
-    private String title;
-
-    /**
-     * 公共来源
-     */
-    private String media;
-
-    /**
-     * 附件名称
-     */
-    private String attName;
-
-    /**
-     * 附件地址
-     */
-    private String attUri;
-
-}

+ 33 - 33
src/main/java/com/smppw/analysis/domain/dataobject/ManualFundPurchaseRedeemDO.java

@@ -1,33 +1,33 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Data;
-
-
-/**
- * @author wangzaijun
- * @date 2023/5/24 16:03
- * @description 公募基金的经理在管的所有基金的某个日期的资产值
- */
-@Data
-public class ManualFundPurchaseRedeemDO {
-
-    /**
-     * 基金id
-     */
-    private String fundId;
-
-    /**
-     * 结束日期
-     */
-    private String endDate;
-
-    /**
-     * 机构场外代销申购状态
-     */
-    private String applyingType;
-
-    /**
-     * 机构场外代销赎回状态
-     */
-    private String redeemType;
-}
+//package com.smppw.analysis.domain.dataobject;
+//
+//import lombok.Data;
+//
+//
+///**
+// * @author wangzaijun
+// * @date 2023/5/24 16:03
+// * @description 公募基金的经理在管的所有基金的某个日期的资产值
+// */
+//@Data
+//public class ManualFundPurchaseRedeemDO {
+//
+//    /**
+//     * 基金id
+//     */
+//    private String fundId;
+//
+//    /**
+//     * 结束日期
+//     */
+//    private String endDate;
+//
+//    /**
+//     * 机构场外代销申购状态
+//     */
+//    private String applyingType;
+//
+//    /**
+//     * 机构场外代销赎回状态
+//     */
+//    private String redeemType;
+//}

+ 38 - 38
src/main/java/com/smppw/analysis/domain/dataobject/MfFundArchivesInfoDo.java

@@ -1,38 +1,38 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Data;
-
-/**
- * @author mozuwen
- * @date 2023/8/18 14:00
- * @description 私募基金基本信息
- */
-@Data
-public class MfFundArchivesInfoDo {
-
-    /**
-     * 交易场所
-     */
-    private Integer applyingMarket;
-
-    /**
-     * 初始份额
-     */
-    private String initialShare;
-
-    /**
-     * 初始份额日期
-     */
-    private String initialDate;
-
-    /**
-     * 最低申购金额,文字+数值+日期展示
-     */
-    private String lowestApplyAmount;
-
-    /**
-     * 最低赎回份额,文字+数值+日期展示
-     */
-    private String lowestSumRedemption;
-
-}
+//package com.smppw.analysis.domain.dataobject;
+//
+//import lombok.Data;
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/18 14:00
+// * @description 私募基金基本信息
+// */
+//@Data
+//public class MfFundArchivesInfoDo {
+//
+//    /**
+//     * 交易场所
+//     */
+//    private Integer applyingMarket;
+//
+//    /**
+//     * 初始份额
+//     */
+//    private String initialShare;
+//
+//    /**
+//     * 初始份额日期
+//     */
+//    private String initialDate;
+//
+//    /**
+//     * 最低申购金额,文字+数值+日期展示
+//     */
+//    private String lowestApplyAmount;
+//
+//    /**
+//     * 最低赎回份额,文字+数值+日期展示
+//     */
+//    private String lowestSumRedemption;
+//
+//}

+ 37 - 37
src/main/java/com/smppw/analysis/domain/dataobject/MfManagerFundNumDo.java

@@ -1,37 +1,37 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Data;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 19:30
- * @description 公募基金的基金经理管理的基金信息
- */
-@Data
-public class MfManagerFundNumDo {
-
-    /**
-     * 基金id
-     */
-    private String fundId;
-
-    /**
-     * 基金经理id
-     */
-    private String managerId;
-
-    /**
-     * 基金管理开始时间
-     */
-    private String startDate;
-
-    /**
-     * 基金管理结束时间
-     */
-    private String endDate;
-
-    /**
-     * 基金运行状态:1-募集中、2-开放运行、3-封闭运行(已废弃)、4-提前清算、5-到期清算、6-发行失败、7-投顾协议已终止、 8-延期清算 -1-其他 9-非正常清算 10-已终止 11-已作废
-     */
-    private Integer status;
-}
+//package com.smppw.analysis.domain.dataobject;
+//
+//import lombok.Data;
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/9 19:30
+// * @description 公募基金的基金经理管理的基金信息
+// */
+//@Data
+//public class MfManagerFundNumDo {
+//
+//    /**
+//     * 基金id
+//     */
+//    private String fundId;
+//
+//    /**
+//     * 基金经理id
+//     */
+//    private String managerId;
+//
+//    /**
+//     * 基金管理开始时间
+//     */
+//    private String startDate;
+//
+//    /**
+//     * 基金管理结束时间
+//     */
+//    private String endDate;
+//
+//    /**
+//     * 基金运行状态:1-募集中、2-开放运行、3-封闭运行(已废弃)、4-提前清算、5-到期清算、6-发行失败、7-投顾协议已终止、 8-延期清算 -1-其他 9-非正常清算 10-已终止 11-已作废
+//     */
+//    private Integer status;
+//}

+ 219 - 219
src/main/java/com/smppw/analysis/domain/dataobject/PersonnelInformationDo.java

@@ -1,219 +1,219 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.Date;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 15:30
- * @description 人员信息
- */
-@Setter
-@Getter
-public class PersonnelInformationDo {
-    /**
-     * 人员id
-     */
-    private String personnelId;
-
-    /**
-     * 姓名
-     */
-    private String personnelName;
-
-    /**
-     * 性别
-     */
-    private Integer sex;
-
-    /**
-     * 人员头像,93
-     */
-    private String avatar;
-
-    /**
-     * 人员头像,172
-     */
-    private String avatar2;
-
-    /**
-     * (已废弃)人员类别:1-基金经理 2-投研 3-联系人 4-市场 5-合规风控 6-公司高管 7-公司法人 8-交易 -1-其他
-     */
-    private Integer personnelType;
-
-    /**
-     * 职业背景:1-券商,2-公募,3-其他金融机构,4-媒体,5-海外,6-民间,7-期货,8-实业、9-学者、10-银行、11-信托、12-保险、13-私募、-1-其他
-     */
-    private Byte professionBackground;
-
-    /**
-     * (已废弃)是否为核心人物标志,1-是,0-否,-1-其他
-     */
-    private Integer keyFigure;
-
-    /**
-     * (已废弃)就职公司id
-     */
-    private String companyId;
-
-    /**
-     * (已废弃)当前职位
-     */
-    private String position;
-
-    /**
-     * 从业开始年份
-     */
-    private String careerStartYear;
-
-    /**
-     * 从业年限,<量纲:年>,-1:从业年限不详
-     */
-    private Byte investmentExperience;
-    /**
-     * 出生日期
-     */
-    private String birthday;
-
-    /**
-     * 籍贯-省份
-     */
-    private String provinceId;
-
-    /**
-     * 籍贯-城市
-     */
-    private String cityId;
-
-    /**
-     * 毕业院校
-     */
-    private String graduateschool;
-
-    /**
-     * 毕业院校2
-     */
-    private String graduateschool2;
-
-    /**
-     * 毕业院校3
-     */
-    private String graduateschool3;
-
-    /**
-     * 最高学历:1-小学、2-中学、3-大专、4-本科,5-硕士,6-博士,7-博士后,-1-其他
-     */
-    private Integer education;
-
-    /**
-     * 主修专业
-     */
-    private String major;
-
-    /**
-     * 主修专业2
-     */
-    private String major2;
-
-    /**
-     * 主修专业3
-     */
-    private String major3;
-
-    /**
-     * 国际电话区号
-     */
-    private String countryCode;
-
-    /**
-     * 手机号码
-     */
-    private String mobile;
-
-    /**
-     * 座机号码
-     */
-    private String phone;
-
-    /**
-     * 邮箱地址
-     */
-    private String email;
-
-    /**
-     * 其他联系方式
-     */
-    private String otherContact;
-
-    /**
-     * 擅长领域
-     */
-    private String expertiseArea;
-
-    /**
-     * 历任最高职位:1-高级经理 2-投资经理 3-研究人员 4-交易人员 5-风控合格 -1-其他
-     */
-    private Byte highestPosition;
-
-    /**
-     * 是否有从业资格:1-是,2-否
-     */
-    private Byte isQualify;
-
-    /**
-     * 资格获取方式:1-考试,2-资格认定
-     */
-    private String getQualifyMethod;
-
-    /**
-     * 证书编号(基金从业资格)
-     */
-    private String certificateNumber;
-
-    /**
-     * 人物简介
-     */
-    private String profile;
-
-    /**
-     * (已废弃)人物次序
-     */
-    private Integer order;
-
-    /**
-     * (已废弃)是否纳入团队信息
-     */
-    private Integer ifinclude;
-
-    /**
-     * 人物是否在前台可见:1-可见,0-禁止显示
-     */
-    private Integer isvisible;
-
-    /**
-     * 创建者Id,默认第一次创建者名称,创建后不变更
-     */
-    private Integer creatorid;
-
-    /**
-     * 创建时间,默认第一次创建的getdate()时间
-     */
-    private Date createtime;
-
-    /**
-     * 修改者Id;第一次创建时与Creator值相同,修改时与修改人值相同
-     */
-    private Integer updaterid;
-
-    /**
-     * 修改时间;第一次创建时与CreatTime值相同,修改时与修改时间相同
-     */
-    private Date updatetime;
-
-    /**
-     * 记录的有效性;1-有效;0-无效;
-     */
-    private Integer isvalid;
-}
+//package com.smppw.analysis.domain.dataobject;
+//
+//import lombok.Getter;
+//import lombok.Setter;
+//
+//import java.util.Date;
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/9 15:30
+// * @description 人员信息
+// */
+//@Setter
+//@Getter
+//public class PersonnelInformationDo {
+//    /**
+//     * 人员id
+//     */
+//    private String personnelId;
+//
+//    /**
+//     * 姓名
+//     */
+//    private String personnelName;
+//
+//    /**
+//     * 性别
+//     */
+//    private Integer sex;
+//
+//    /**
+//     * 人员头像,93
+//     */
+//    private String avatar;
+//
+//    /**
+//     * 人员头像,172
+//     */
+//    private String avatar2;
+//
+//    /**
+//     * (已废弃)人员类别:1-基金经理 2-投研 3-联系人 4-市场 5-合规风控 6-公司高管 7-公司法人 8-交易 -1-其他
+//     */
+//    private Integer personnelType;
+//
+//    /**
+//     * 职业背景:1-券商,2-公募,3-其他金融机构,4-媒体,5-海外,6-民间,7-期货,8-实业、9-学者、10-银行、11-信托、12-保险、13-私募、-1-其他
+//     */
+//    private Byte professionBackground;
+//
+//    /**
+//     * (已废弃)是否为核心人物标志,1-是,0-否,-1-其他
+//     */
+//    private Integer keyFigure;
+//
+//    /**
+//     * (已废弃)就职公司id
+//     */
+//    private String companyId;
+//
+//    /**
+//     * (已废弃)当前职位
+//     */
+//    private String position;
+//
+//    /**
+//     * 从业开始年份
+//     */
+//    private String careerStartYear;
+//
+//    /**
+//     * 从业年限,<量纲:年>,-1:从业年限不详
+//     */
+//    private Byte investmentExperience;
+//    /**
+//     * 出生日期
+//     */
+//    private String birthday;
+//
+//    /**
+//     * 籍贯-省份
+//     */
+//    private String provinceId;
+//
+//    /**
+//     * 籍贯-城市
+//     */
+//    private String cityId;
+//
+//    /**
+//     * 毕业院校
+//     */
+//    private String graduateschool;
+//
+//    /**
+//     * 毕业院校2
+//     */
+//    private String graduateschool2;
+//
+//    /**
+//     * 毕业院校3
+//     */
+//    private String graduateschool3;
+//
+//    /**
+//     * 最高学历:1-小学、2-中学、3-大专、4-本科,5-硕士,6-博士,7-博士后,-1-其他
+//     */
+//    private Integer education;
+//
+//    /**
+//     * 主修专业
+//     */
+//    private String major;
+//
+//    /**
+//     * 主修专业2
+//     */
+//    private String major2;
+//
+//    /**
+//     * 主修专业3
+//     */
+//    private String major3;
+//
+//    /**
+//     * 国际电话区号
+//     */
+//    private String countryCode;
+//
+//    /**
+//     * 手机号码
+//     */
+//    private String mobile;
+//
+//    /**
+//     * 座机号码
+//     */
+//    private String phone;
+//
+//    /**
+//     * 邮箱地址
+//     */
+//    private String email;
+//
+//    /**
+//     * 其他联系方式
+//     */
+//    private String otherContact;
+//
+//    /**
+//     * 擅长领域
+//     */
+//    private String expertiseArea;
+//
+//    /**
+//     * 历任最高职位:1-高级经理 2-投资经理 3-研究人员 4-交易人员 5-风控合格 -1-其他
+//     */
+//    private Byte highestPosition;
+//
+//    /**
+//     * 是否有从业资格:1-是,2-否
+//     */
+//    private Byte isQualify;
+//
+//    /**
+//     * 资格获取方式:1-考试,2-资格认定
+//     */
+//    private String getQualifyMethod;
+//
+//    /**
+//     * 证书编号(基金从业资格)
+//     */
+//    private String certificateNumber;
+//
+//    /**
+//     * 人物简介
+//     */
+//    private String profile;
+//
+//    /**
+//     * (已废弃)人物次序
+//     */
+//    private Integer order;
+//
+//    /**
+//     * (已废弃)是否纳入团队信息
+//     */
+//    private Integer ifinclude;
+//
+//    /**
+//     * 人物是否在前台可见:1-可见,0-禁止显示
+//     */
+//    private Integer isvisible;
+//
+//    /**
+//     * 创建者Id,默认第一次创建者名称,创建后不变更
+//     */
+//    private Integer creatorid;
+//
+//    /**
+//     * 创建时间,默认第一次创建的getdate()时间
+//     */
+//    private Date createtime;
+//
+//    /**
+//     * 修改者Id;第一次创建时与Creator值相同,修改时与修改人值相同
+//     */
+//    private Integer updaterid;
+//
+//    /**
+//     * 修改时间;第一次创建时与CreatTime值相同,修改时与修改时间相同
+//     */
+//    private Date updatetime;
+//
+//    /**
+//     * 记录的有效性;1-有效;0-无效;
+//     */
+//    private Integer isvalid;
+//}

+ 38 - 38
src/main/java/com/smppw/analysis/domain/dataobject/PersonnelWorkExperienceDo.java

@@ -1,38 +1,38 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Data;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 16:00
- * @description 人员任职经历
- */
-@Data
-public class PersonnelWorkExperienceDo {
-
-    /**
-     * 人员id
-     */
-    private String personnelId;
-
-    /**
-     * 任职公司
-     */
-    private String companyName;
-
-    /**
-     * 任职开始时间
-     */
-    private String startDate;
-
-    /**
-     * 任职结束时间
-     */
-    private String endDate;
-
-    /**
-     * 任职期间职务
-     */
-    private String position;
-
-}
+//package com.smppw.analysis.domain.dataobject;
+//
+//import lombok.Data;
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/9 16:00
+// * @description 人员任职经历
+// */
+//@Data
+//public class PersonnelWorkExperienceDo {
+//
+//    /**
+//     * 人员id
+//     */
+//    private String personnelId;
+//
+//    /**
+//     * 任职公司
+//     */
+//    private String companyName;
+//
+//    /**
+//     * 任职开始时间
+//     */
+//    private String startDate;
+//
+//    /**
+//     * 任职结束时间
+//     */
+//    private String endDate;
+//
+//    /**
+//     * 任职期间职务
+//     */
+//    private String position;
+//
+//}

+ 77 - 77
src/main/java/com/smppw/analysis/domain/dataobject/PubliclyFundHolderInfoDO.java

@@ -1,77 +1,77 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * @author wangzaijun
- * @date 2023/6/9 9:59
- * @description 公募基金持有人结构数据库实体
- */
-@Setter
-@Getter
-public class PubliclyFundHolderInfoDO {
-    /**
-     *
-     */
-    private String fundId;
-    /**
-     *
-     */
-    private Date endDate;
-    /**
-     * 个人持有比例
-     */
-    private BigDecimal individualHoldRatio;
-    /**
-     * 个人持有份额
-     */
-    private BigDecimal individualHoldShares;
-    /**
-     * 机构持有比例
-     */
-    private BigDecimal institutionHoldRatio;
-    /**
-     * 机构持有份额
-     */
-    private BigDecimal institutionHoldShares;
-    /**
-     * ETF基金持有比例
-     */
-    private BigDecimal etfFeederHoldRatio;
-    /**
-     * ETF基金持有份额
-     */
-    private BigDecimal etfFeederHoldShares;
-    /**
-     * 内部持有比例
-     */
-    private BigDecimal professionalHoldRatio;
-    /**
-     * 内部持有份额
-     */
-    private BigDecimal professionalHoldShares;
-    /**
-     * 前十大持有人持有份额合计
-     */
-    private BigDecimal top10HolderAmount;
-    /**
-     * 前十大持有人持有比例合计
-     */
-    private BigDecimal top10HoldersProportion;
-    /**
-     * 户均持有份额
-     */
-    private BigDecimal averageHoldShares;
-    /**
-     * 持有人户数
-     */
-    private Integer holderAccountNumber;
-    /**
-     * 未明确投资者持有份额
-     */
-    private BigDecimal undefinedHoldShares;
-}
+//package com.smppw.analysis.domain.dataobject;
+//
+//import lombok.Getter;
+//import lombok.Setter;
+//
+//import java.math.BigDecimal;
+//import java.util.Date;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/9 9:59
+// * @description 公募基金持有人结构数据库实体
+// */
+//@Setter
+//@Getter
+//public class PubliclyFundHolderInfoDO {
+//    /**
+//     *
+//     */
+//    private String fundId;
+//    /**
+//     *
+//     */
+//    private Date endDate;
+//    /**
+//     * 个人持有比例
+//     */
+//    private BigDecimal individualHoldRatio;
+//    /**
+//     * 个人持有份额
+//     */
+//    private BigDecimal individualHoldShares;
+//    /**
+//     * 机构持有比例
+//     */
+//    private BigDecimal institutionHoldRatio;
+//    /**
+//     * 机构持有份额
+//     */
+//    private BigDecimal institutionHoldShares;
+//    /**
+//     * ETF基金持有比例
+//     */
+//    private BigDecimal etfFeederHoldRatio;
+//    /**
+//     * ETF基金持有份额
+//     */
+//    private BigDecimal etfFeederHoldShares;
+//    /**
+//     * 内部持有比例
+//     */
+//    private BigDecimal professionalHoldRatio;
+//    /**
+//     * 内部持有份额
+//     */
+//    private BigDecimal professionalHoldShares;
+//    /**
+//     * 前十大持有人持有份额合计
+//     */
+//    private BigDecimal top10HolderAmount;
+//    /**
+//     * 前十大持有人持有比例合计
+//     */
+//    private BigDecimal top10HoldersProportion;
+//    /**
+//     * 户均持有份额
+//     */
+//    private BigDecimal averageHoldShares;
+//    /**
+//     * 持有人户数
+//     */
+//    private Integer holderAccountNumber;
+//    /**
+//     * 未明确投资者持有份额
+//     */
+//    private BigDecimal undefinedHoldShares;
+//}

+ 49 - 49
src/main/java/com/smppw/analysis/domain/dataobject/PubliclyFundStockChangeDO.java

@@ -1,49 +1,49 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * @author wangzaijun
- * @date 2023/6/9 9:59
- * @description 持仓股票重大变动
- */
-@Setter
-@Getter
-public class PubliclyFundStockChangeDO {
-    /**
-     *
-     */
-    private String fundId;
-    /**
-     * 报告期
-     */
-    private Date reportDate;
-    /**
-     * 股票代码
-     */
-    private String secCode;
-    /**
-     * 股票名称
-     */
-    private String secName;
-    /**
-     * 交易方向
-     */
-    private Integer changeType;
-    /**
-     * 当期累计交易金额
-     */
-    private BigDecimal accumulatedTradeSum;
-    /**
-     * 占期初基金资产净值比例
-     */
-    private BigDecimal ratioInNvAtBegin;
-    /**
-     * 占期末基金净值比例
-     */
-    private BigDecimal ratioInNvAtEnd;
-}
+//package com.smppw.analysis.domain.dataobject;
+//
+//import lombok.Getter;
+//import lombok.Setter;
+//
+//import java.math.BigDecimal;
+//import java.util.Date;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/9 9:59
+// * @description 持仓股票重大变动
+// */
+//@Setter
+//@Getter
+//public class PubliclyFundStockChangeDO {
+//    /**
+//     *
+//     */
+//    private String fundId;
+//    /**
+//     * 报告期
+//     */
+//    private Date reportDate;
+//    /**
+//     * 股票代码
+//     */
+//    private String secCode;
+//    /**
+//     * 股票名称
+//     */
+//    private String secName;
+//    /**
+//     * 交易方向
+//     */
+//    private Integer changeType;
+//    /**
+//     * 当期累计交易金额
+//     */
+//    private BigDecimal accumulatedTradeSum;
+//    /**
+//     * 占期初基金资产净值比例
+//     */
+//    private BigDecimal ratioInNvAtBegin;
+//    /**
+//     * 占期末基金净值比例
+//     */
+//    private BigDecimal ratioInNvAtEnd;
+//}

+ 24 - 24
src/main/java/com/smppw/analysis/domain/dataobject/SecClosePriceDO.java

@@ -1,24 +1,24 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author wangzaijun
- * @date 2023/6/20 21:39
- * @description 股票行情表现
- */
-@Setter
-@Getter
-public class SecClosePriceDO {
-    private String secCode;
-    private String tradingDay;
-    /**
-     * 当前价格(收盘价)
-     */
-    private Double closePrice;
-    /**
-     * 近六月涨跌幅
-     */
-    private Double ret6m;
-}
+//package com.smppw.analysis.domain.dataobject;
+//
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/20 21:39
+// * @description 股票行情表现
+// */
+//@Setter
+//@Getter
+//public class SecClosePriceDO {
+//    private String secCode;
+//    private String tradingDay;
+//    /**
+//     * 当前价格(收盘价)
+//     */
+//    private Double closePrice;
+//    /**
+//     * 近六月涨跌幅
+//     */
+//    private Double ret6m;
+//}

+ 34 - 34
src/main/java/com/smppw/analysis/domain/dataobject/SecLiquidityInfoDO.java

@@ -1,34 +1,34 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author wangzaijun
- * @date 2023/6/12 11:20
- * @description
- */
-@Setter
-@Getter
-public class SecLiquidityInfoDO {
-    /**
-     * 交易日
-     */
-    private String tradingDay;
-    /**
-     * 高流动性的低点
-     */
-    private Double lowestOne;
-    /**
-     * 较高流动性的低点
-     */
-    private Double lowestTwo;
-    /**
-     * 一般流动性的低点
-     */
-    private Double lowestThree;
-    /**
-     * 较低流动性的低点
-     */
-    private Double lowestFour;
-}
+//package com.smppw.analysis.domain.dataobject;
+//
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/12 11:20
+// * @description
+// */
+//@Setter
+//@Getter
+//public class SecLiquidityInfoDO {
+//    /**
+//     * 交易日
+//     */
+//    private String tradingDay;
+//    /**
+//     * 高流动性的低点
+//     */
+//    private Double lowestOne;
+//    /**
+//     * 较高流动性的低点
+//     */
+//    private Double lowestTwo;
+//    /**
+//     * 一般流动性的低点
+//     */
+//    private Double lowestThree;
+//    /**
+//     * 较低流动性的低点
+//     */
+//    private Double lowestFour;
+//}

+ 28 - 28
src/main/java/com/smppw/analysis/domain/dataobject/SecStyleInfoDO.java

@@ -1,28 +1,28 @@
-package com.smppw.analysis.domain.dataobject;
-
-import com.smppw.constants.Consts;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.io.Serializable;
-
-/**
- * @author wangzaijun
- * @date 2023/6/8 18:33
- * @description
- */
-@Setter
-@Getter
-public class SecStyleInfoDO implements Serializable {
-    private static final long serialVersionUID = Consts.DEFAULT_SERIAL_VERSION_UID;
-    private String endDate;
-    private String secCode;
-    /**
-     * 市场(大盘、中盘、小盘)
-     */
-    private Integer market;
-    /**
-     * 平衡(成长、价值、平衡)
-     */
-    private Integer balance;
-}
+//package com.smppw.analysis.domain.dataobject;
+//
+//import com.smppw.constants.Consts;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+//import java.io.Serializable;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/8 18:33
+// * @description
+// */
+//@Setter
+//@Getter
+//public class SecStyleInfoDO implements Serializable {
+//    private static final long serialVersionUID = Consts.DEFAULT_SERIAL_VERSION_UID;
+//    private String endDate;
+//    private String secCode;
+//    /**
+//     * 市场(大盘、中盘、小盘)
+//     */
+//    private Integer market;
+//    /**
+//     * 平衡(成长、价值、平衡)
+//     */
+//    private Integer balance;
+//}

+ 26 - 26
src/main/java/com/smppw/analysis/domain/dataobject/SecTurnoverInfoDO.java

@@ -1,26 +1,26 @@
-package com.smppw.analysis.domain.dataobject;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author wangzaijun
- * @date 2023/6/12 11:20
- * @description 五日平均换手率
- */
-@Setter
-@Getter
-public class SecTurnoverInfoDO {
-    /**
-     * 交易日
-     */
-    private String tradingDay;
-    /**
-     * 个股代码
-     */
-    private String secCode;
-    /**
-     * 五日平均换手率
-     */
-    private Double turnoverValue;
-}
+//package com.smppw.analysis.domain.dataobject;
+//
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/12 11:20
+// * @description 五日平均换手率
+// */
+//@Setter
+//@Getter
+//public class SecTurnoverInfoDO {
+//    /**
+//     * 交易日
+//     */
+//    private String tradingDay;
+//    /**
+//     * 个股代码
+//     */
+//    private String secCode;
+//    /**
+//     * 五日平均换手率
+//     */
+//    private Double turnoverValue;
+//}

+ 21 - 21
src/main/java/com/smppw/analysis/domain/dataobject/SwSecIndustryInfoDO.java

@@ -1,21 +1,21 @@
-package com.smppw.analysis.domain.dataobject;
-
-import com.smppw.constants.Consts;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.io.Serializable;
-
-/**
- * @author wangzaijun
- * @date 2023/6/8 18:33
- * @description
- */
-@Setter
-@Getter
-public class SwSecIndustryInfoDO implements Serializable {
-    private static final long serialVersionUID = Consts.DEFAULT_SERIAL_VERSION_UID;
-    private String secCode;
-    private String industryCode;
-    private String industryName;
-}
+//package com.smppw.analysis.domain.dataobject;
+//
+//import com.smppw.constants.Consts;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+//import java.io.Serializable;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/6/8 18:33
+// * @description
+// */
+//@Setter
+//@Getter
+//public class SwSecIndustryInfoDO implements Serializable {
+//    private static final long serialVersionUID = Consts.DEFAULT_SERIAL_VERSION_UID;
+//    private String secCode;
+//    private String industryCode;
+//    private String industryName;
+//}

+ 21 - 21
src/main/java/com/smppw/analysis/domain/dataobject/nav/CompanyFittedCurveDo.java

@@ -1,21 +1,21 @@
-package com.smppw.analysis.domain.dataobject.nav;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * 投顾产品拟合净值信息
- */
-@Setter
-@Getter
-public class CompanyFittedCurveDo extends CompanyNavDO {
-    /**
-     * 拟合后月份
-     */
-    private String endDate;
-
-    @Override
-    public String getNavDate() {
-        return this.endDate;
-    }
-}
+//package com.smppw.analysis.domain.dataobject.nav;
+//
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * 投顾产品拟合净值信息
+// */
+//@Setter
+//@Getter
+//public class CompanyFittedCurveDo extends CompanyNavDO {
+//    /**
+//     * 拟合后月份
+//     */
+//    private String endDate;
+//
+//    @Override
+//    public String getNavDate() {
+//        return this.endDate;
+//    }
+//}

+ 39 - 39
src/main/java/com/smppw/analysis/domain/dataobject/nav/CompanyFittedCurveWeeklyDo.java

@@ -1,39 +1,39 @@
-package com.smppw.analysis.domain.dataobject.nav;
-
-import com.smppw.common.cache.CaffeineLocalCache;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.Date;
-
-/**
- * 投顾产品周度拟合净值信息
- */
-@Setter
-@Getter
-public class CompanyFittedCurveWeeklyDo extends CompanyNavDO {
-    /**
-     * 拟合后净值年周
-     */
-    private String yearWeek;
-
-    /**
-     * 拟合后净值所在年
-     */
-    private String endYear;
-
-    /**
-     * 拟合后净值全年所在周
-     */
-    private Byte weekOfYear;
-
-    /**
-     * 净值日期
-     */
-    private Date priceDate;
-
-    @Override
-    public String getNavDate() {
-        return CaffeineLocalCache.getLastTradeDateByYearWeek(this.getYearWeek());
-    }
-}
+//package com.smppw.analysis.domain.dataobject.nav;
+//
+//import com.smppw.common.cache.CaffeineLocalCache;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+//import java.util.Date;
+//
+///**
+// * 投顾产品周度拟合净值信息
+// */
+//@Setter
+//@Getter
+//public class CompanyFittedCurveWeeklyDo extends CompanyNavDO {
+//    /**
+//     * 拟合后净值年周
+//     */
+//    private String yearWeek;
+//
+//    /**
+//     * 拟合后净值所在年
+//     */
+//    private String endYear;
+//
+//    /**
+//     * 拟合后净值全年所在周
+//     */
+//    private Byte weekOfYear;
+//
+//    /**
+//     * 净值日期
+//     */
+//    private Date priceDate;
+//
+//    @Override
+//    public String getNavDate() {
+//        return CaffeineLocalCache.getLastTradeDateByYearWeek(this.getYearWeek());
+//    }
+//}

+ 89 - 89
src/main/java/com/smppw/analysis/domain/dataobject/nav/CompanyNavDO.java

@@ -1,89 +1,89 @@
-package com.smppw.analysis.domain.dataobject.nav;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * 投顾产品拟合净值信息
- */
-@Setter
-@Getter
-public abstract class CompanyNavDO extends BaseNavDO {
-    /**
-     * ID自增
-     */
-    private Integer id;
-
-    /**
-     * 公司id
-     */
-    private String companyId;
-
-    /**
-     * 募集类型:1-私募 2-公募
-     */
-    private Byte raiseType;
-
-    /**
-     * 拟合类型 1-私募综合曲线 2-私募分策略曲线 3-私募权益类曲线 4-公募综合曲线 5-公募分策略曲线 6-公募权益类曲线
-     */
-    private Integer curveType;
-
-    /**
-     * 策略id
-     */
-    private Integer strategy;
-
-    /**
-     * 拟合净值
-     */
-    private BigDecimal cumulativeNav;
-
-    /**
-     * 本次入选的基金数量
-     */
-    private Integer fundNum;
-
-    /**
-     * 创建者Id,默认第一次创建者名称,创建后不变更
-     */
-    private Integer creatorid;
-
-    /**
-     * 创建时间,默认第一次创建的getdate()时间
-     */
-    private Date createtime;
-
-    /**
-     * 修改者Id;第一次创建时与Creator值相同,修改时与修改人值相同
-     */
-    private Integer updaterid;
-
-    /**
-     * 修改时间;第一次创建时与CreatTime值相同,修改时与修改时间相同
-     */
-    private Date updatetime;
-
-    /**
-     * 记录的有效性;1-有效;0-无效;
-     */
-    private Integer isvalid;
-
-    @Override
-    public String getRefId() {
-        return this.getCompanyId();
-    }
-
-    @Override
-    public BigDecimal getNav() {
-        return cumulativeNav;
-    }
-
-    @Override
-    public BigDecimal getCumulativeNavWithdrawal() {
-        return cumulativeNav;
-    }
-}
+//package com.smppw.analysis.domain.dataobject.nav;
+//
+//import lombok.Getter;
+//import lombok.Setter;
+//
+//import java.math.BigDecimal;
+//import java.util.Date;
+//
+///**
+// * 投顾产品拟合净值信息
+// */
+//@Setter
+//@Getter
+//public abstract class CompanyNavDO extends BaseNavDO {
+//    /**
+//     * ID自增
+//     */
+//    private Integer id;
+//
+//    /**
+//     * 公司id
+//     */
+//    private String companyId;
+//
+//    /**
+//     * 募集类型:1-私募 2-公募
+//     */
+//    private Byte raiseType;
+//
+//    /**
+//     * 拟合类型 1-私募综合曲线 2-私募分策略曲线 3-私募权益类曲线 4-公募综合曲线 5-公募分策略曲线 6-公募权益类曲线
+//     */
+//    private Integer curveType;
+//
+//    /**
+//     * 策略id
+//     */
+//    private Integer strategy;
+//
+//    /**
+//     * 拟合净值
+//     */
+//    private BigDecimal cumulativeNav;
+//
+//    /**
+//     * 本次入选的基金数量
+//     */
+//    private Integer fundNum;
+//
+//    /**
+//     * 创建者Id,默认第一次创建者名称,创建后不变更
+//     */
+//    private Integer creatorid;
+//
+//    /**
+//     * 创建时间,默认第一次创建的getdate()时间
+//     */
+//    private Date createtime;
+//
+//    /**
+//     * 修改者Id;第一次创建时与Creator值相同,修改时与修改人值相同
+//     */
+//    private Integer updaterid;
+//
+//    /**
+//     * 修改时间;第一次创建时与CreatTime值相同,修改时与修改时间相同
+//     */
+//    private Date updatetime;
+//
+//    /**
+//     * 记录的有效性;1-有效;0-无效;
+//     */
+//    private Integer isvalid;
+//
+//    @Override
+//    public String getRefId() {
+//        return this.getCompanyId();
+//    }
+//
+//    @Override
+//    public BigDecimal getNav() {
+//        return cumulativeNav;
+//    }
+//
+//    @Override
+//    public BigDecimal getCumulativeNavWithdrawal() {
+//        return cumulativeNav;
+//    }
+//}

+ 21 - 21
src/main/java/com/smppw/analysis/domain/dataobject/nav/FundManagerFittedCurveDo.java

@@ -1,21 +1,21 @@
-package com.smppw.analysis.domain.dataobject.nav;
-
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * 基金经理产品拟合净值信息
- */
-@Setter
-@Getter
-public class FundManagerFittedCurveDo extends FundManagerNavDO {
-    /**
-     * 拟合后净值月份
-     */
-    private String endDate;
-
-    @Override
-    public String getNavDate() {
-        return this.endDate;
-    }
-}
+//package com.smppw.analysis.domain.dataobject.nav;
+//
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * 基金经理产品拟合净值信息
+// */
+//@Setter
+//@Getter
+//public class FundManagerFittedCurveDo extends FundManagerNavDO {
+//    /**
+//     * 拟合后净值月份
+//     */
+//    private String endDate;
+//
+//    @Override
+//    public String getNavDate() {
+//        return this.endDate;
+//    }
+//}

+ 39 - 39
src/main/java/com/smppw/analysis/domain/dataobject/nav/FundManagerFittedCurveWeeklyDo.java

@@ -1,39 +1,39 @@
-package com.smppw.analysis.domain.dataobject.nav;
-
-import com.smppw.common.cache.CaffeineLocalCache;
-import lombok.Getter;
-import lombok.Setter;
-
-import java.util.Date;
-
-/**
- * 基金经理产品周度拟合净值信息
- */
-@Setter
-@Getter
-public class FundManagerFittedCurveWeeklyDo extends FundManagerNavDO {
-    /**
-     * 拟合后净值年周
-     */
-    private String yearWeek;
-
-    /**
-     * 拟合后净值所在年
-     */
-    private String endYear;
-
-    /**
-     * 拟合后净值全年所在周
-     */
-    private Byte weekOfYear;
-
-    /**
-     * 净值日期
-     */
-    private Date priceDate;
-
-    @Override
-    public String getNavDate() {
-        return CaffeineLocalCache.getLastTradeDateByYearWeek(this.getYearWeek());
-    }
-}
+//package com.smppw.analysis.domain.dataobject.nav;
+//
+//import com.smppw.common.cache.CaffeineLocalCache;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+//import java.util.Date;
+//
+///**
+// * 基金经理产品周度拟合净值信息
+// */
+//@Setter
+//@Getter
+//public class FundManagerFittedCurveWeeklyDo extends FundManagerNavDO {
+//    /**
+//     * 拟合后净值年周
+//     */
+//    private String yearWeek;
+//
+//    /**
+//     * 拟合后净值所在年
+//     */
+//    private String endYear;
+//
+//    /**
+//     * 拟合后净值全年所在周
+//     */
+//    private Byte weekOfYear;
+//
+//    /**
+//     * 净值日期
+//     */
+//    private Date priceDate;
+//
+//    @Override
+//    public String getNavDate() {
+//        return CaffeineLocalCache.getLastTradeDateByYearWeek(this.getYearWeek());
+//    }
+//}

+ 84 - 84
src/main/java/com/smppw/analysis/domain/dataobject/nav/FundManagerNavDO.java

@@ -1,84 +1,84 @@
-package com.smppw.analysis.domain.dataobject.nav;
-
-import lombok.Getter;
-import lombok.Setter;
-
-import java.math.BigDecimal;
-import java.util.Date;
-
-/**
- * 基金经理产品拟合净值信息
- */
-@Setter
-@Getter
-public abstract class FundManagerNavDO extends BaseNavDO {
-    /**
-     * ID自增
-     */
-    private Integer id;
-
-    /**
-     * 基金经理id
-     */
-    private String fundManagerId;
-
-    /**
-     * 拟合类型 1-私募综合曲线 2-私募分策略曲线 3-私募权益类曲线 4-公募综合曲线 5-公募分策略曲线 6-公募权益类曲线
-     */
-    private Integer curveType;
-
-    /**
-     * 策略id
-     */
-    private Integer strategy;
-
-    /**
-     * 拟合净值
-     */
-    private BigDecimal cumulativeNav;
-
-    /**
-     * 入选基金数量
-     */
-    private Integer fundNum;
-
-    /**
-     * 创建者Id,默认第一次创建者名称,创建后不变更
-     */
-    private Integer creatorid;
-
-    /**
-     * 创建时间,默认第一次创建的getdate()时间
-     */
-    private Date createtime;
-
-    /**
-     * 修改者Id;第一次创建时与Creator值相同,修改时与修改人值相同
-     */
-    private Integer updaterid;
-
-    /**
-     * 修改时间;第一次创建时与CreatTime值相同,修改时与修改时间相同
-     */
-    private Date updatetime;
-
-    /**
-     * 记录的有效性;1-有效;0-无效;
-     */
-    private Integer isvalid;
-
-    @Override
-    public String getRefId() {
-        return this.fundManagerId;
-    }
-
-    @Override
-    public BigDecimal getNav() {
-        return cumulativeNav;
-    }
-
-    @Override
-    public BigDecimal getCumulativeNavWithdrawal() {
-        return cumulativeNav;
-    }
-}
+//package com.smppw.analysis.domain.dataobject.nav;
+//
+//import lombok.Getter;
+//import lombok.Setter;
+//
+//import java.math.BigDecimal;
+//import java.util.Date;
+//
+///**
+// * 基金经理产品拟合净值信息
+// */
+//@Setter
+//@Getter
+//public abstract class FundManagerNavDO extends BaseNavDO {
+//    /**
+//     * ID自增
+//     */
+//    private Integer id;
+//
+//    /**
+//     * 基金经理id
+//     */
+//    private String fundManagerId;
+//
+//    /**
+//     * 拟合类型 1-私募综合曲线 2-私募分策略曲线 3-私募权益类曲线 4-公募综合曲线 5-公募分策略曲线 6-公募权益类曲线
+//     */
+//    private Integer curveType;
+//
+//    /**
+//     * 策略id
+//     */
+//    private Integer strategy;
+//
+//    /**
+//     * 拟合净值
+//     */
+//    private BigDecimal cumulativeNav;
+//
+//    /**
+//     * 入选基金数量
+//     */
+//    private Integer fundNum;
+//
+//    /**
+//     * 创建者Id,默认第一次创建者名称,创建后不变更
+//     */
+//    private Integer creatorid;
+//
+//    /**
+//     * 创建时间,默认第一次创建的getdate()时间
+//     */
+//    private Date createtime;
+//
+//    /**
+//     * 修改者Id;第一次创建时与Creator值相同,修改时与修改人值相同
+//     */
+//    private Integer updaterid;
+//
+//    /**
+//     * 修改时间;第一次创建时与CreatTime值相同,修改时与修改时间相同
+//     */
+//    private Date updatetime;
+//
+//    /**
+//     * 记录的有效性;1-有效;0-无效;
+//     */
+//    private Integer isvalid;
+//
+//    @Override
+//    public String getRefId() {
+//        return this.fundManagerId;
+//    }
+//
+//    @Override
+//    public BigDecimal getNav() {
+//        return cumulativeNav;
+//    }
+//
+//    @Override
+//    public BigDecimal getCumulativeNavWithdrawal() {
+//        return cumulativeNav;
+//    }
+//}

+ 128 - 128
src/main/java/com/smppw/analysis/domain/dto/info/FundBaseFeeVO.java

@@ -1,128 +1,128 @@
-package com.smppw.analysis.domain.dto.info;
-
-import lombok.Data;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 11:25
- * @description 私募基金费率信息
- */
-@Data
-public class FundBaseFeeVO {
-
-    /**
-     * 基金id
-     */
-    private String fundId;
-
-    /**
-     * 认购起点
-     */
-    private String minInvestmentShare;
-
-    /**
-     * 封闭期
-     */
-    private String lockupPeriod;
-
-    /**
-     * 托管费
-     */
-    private String managementFeeBank;
-
-    /**
-     * 投资顾问管理费
-     */
-    private String managementFeeConsult;
-
-    /**
-     * 认购费率
-     */
-    private String subscriptionFee;
-
-    /**
-     *
-     */
-    private String subscriptionFeeNote;
-
-    /**
-     * 赎回费率
-     */
-    private String redemptionFee;
-
-    /**
-     * 赎回费率说明
-     */
-    private String redemptionFeeNote;
-
-    /**
-     * 存续期限
-     */
-    private String duration;
-
-    /**
-     * 开放日
-     */
-    private String openDay;
-
-    /**
-     * 管理费率
-     */
-    private String managementFee;
-
-    /**
-     * 业绩报酬计提率
-     */
-    private String performanceFee;
-
-    /**
-     * 业绩报酬说明
-     */
-    private String performanceFeeNote;
-
-    /**
-     * 业绩报酬计提对象
-     */
-    private String accruedWay;
-
-    /**
-     * 业绩报酬计提方式
-     */
-    private String accruedMethod;
-
-    /**
-     * 业绩报酬计提频率
-     */
-    private String accruedFrequency;
-
-    /**
-     * 预警线
-     */
-    private String guardLine;
-
-    /**
-     * 业绩锁定期
-     */
-    private String lockPeriod;
-
-    /**
-     * 赎回日
-     */
-    private String redemptionDay;
-
-    /**
-     * 基础货币
-     */
-    private String baseCurrency;
-
-    /**
-     * 追加起点
-     */
-    private String subsequentInvestmentShare;
-
-    /**
-     * 止损线
-     */
-    private String stopLossLine;
-
-}
+//package com.smppw.analysis.domain.dto.info;
+//
+//import lombok.Data;
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/9 11:25
+// * @description 私募基金费率信息
+// */
+//@Data
+//public class FundBaseFeeVO {
+//
+//    /**
+//     * 基金id
+//     */
+//    private String fundId;
+//
+//    /**
+//     * 认购起点
+//     */
+//    private String minInvestmentShare;
+//
+//    /**
+//     * 封闭期
+//     */
+//    private String lockupPeriod;
+//
+//    /**
+//     * 托管费
+//     */
+//    private String managementFeeBank;
+//
+//    /**
+//     * 投资顾问管理费
+//     */
+//    private String managementFeeConsult;
+//
+//    /**
+//     * 认购费率
+//     */
+//    private String subscriptionFee;
+//
+//    /**
+//     *
+//     */
+//    private String subscriptionFeeNote;
+//
+//    /**
+//     * 赎回费率
+//     */
+//    private String redemptionFee;
+//
+//    /**
+//     * 赎回费率说明
+//     */
+//    private String redemptionFeeNote;
+//
+//    /**
+//     * 存续期限
+//     */
+//    private String duration;
+//
+//    /**
+//     * 开放日
+//     */
+//    private String openDay;
+//
+//    /**
+//     * 管理费率
+//     */
+//    private String managementFee;
+//
+//    /**
+//     * 业绩报酬计提率
+//     */
+//    private String performanceFee;
+//
+//    /**
+//     * 业绩报酬说明
+//     */
+//    private String performanceFeeNote;
+//
+//    /**
+//     * 业绩报酬计提对象
+//     */
+//    private String accruedWay;
+//
+//    /**
+//     * 业绩报酬计提方式
+//     */
+//    private String accruedMethod;
+//
+//    /**
+//     * 业绩报酬计提频率
+//     */
+//    private String accruedFrequency;
+//
+//    /**
+//     * 预警线
+//     */
+//    private String guardLine;
+//
+//    /**
+//     * 业绩锁定期
+//     */
+//    private String lockPeriod;
+//
+//    /**
+//     * 赎回日
+//     */
+//    private String redemptionDay;
+//
+//    /**
+//     * 基础货币
+//     */
+//    private String baseCurrency;
+//
+//    /**
+//     * 追加起点
+//     */
+//    private String subsequentInvestmentShare;
+//
+//    /**
+//     * 止损线
+//     */
+//    private String stopLossLine;
+//
+//}

+ 57 - 57
src/main/java/com/smppw/analysis/domain/dto/info/FundManagerInfoVo.java

@@ -1,57 +1,57 @@
-package com.smppw.analysis.domain.dto.info;
-
-import com.smppw.analysis.domain.dataobject.PersonnelWorkExperienceDo;
-import lombok.Data;
-
-import java.util.List;
-
-
-/**
- * @author mozuwen
- * @date 2023/8/9 15:00
- * @description 私募基金详情页-基金经理
- */
-@Data
-public class FundManagerInfoVo {
-
-    /**
-     * 基金经理id
-     */
-    private String managerId;
-
-    /**
-     * 基金经理名字
-     */
-    private String managerName;
-
-    /**
-     * 任务头像1
-     */
-    private String avatar;
-
-    /**
-     * 人物头像2
-     */
-    private String avatar2;
-
-    /**
-     * 最新职务
-     */
-    private String latestPosition;
-
-    /**
-     * 学历
-     */
-    private String education;
-
-    /**
-     * 经理简历
-     */
-    private String profile;
-
-    /**
-     * 基金经理工作履历
-     */
-    List<PersonnelWorkExperienceDo> managerWorkExperienceList;
-
-}
+//package com.smppw.analysis.domain.dto.info;
+//
+//import com.smppw.analysis.domain.dataobject.PersonnelWorkExperienceDo;
+//import lombok.Data;
+//
+//import java.util.List;
+//
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/9 15:00
+// * @description 私募基金详情页-基金经理
+// */
+//@Data
+//public class FundManagerInfoVo {
+//
+//    /**
+//     * 基金经理id
+//     */
+//    private String managerId;
+//
+//    /**
+//     * 基金经理名字
+//     */
+//    private String managerName;
+//
+//    /**
+//     * 任务头像1
+//     */
+//    private String avatar;
+//
+//    /**
+//     * 人物头像2
+//     */
+//    private String avatar2;
+//
+//    /**
+//     * 最新职务
+//     */
+//    private String latestPosition;
+//
+//    /**
+//     * 学历
+//     */
+//    private String education;
+//
+//    /**
+//     * 经理简历
+//     */
+//    private String profile;
+//
+//    /**
+//     * 基金经理工作履历
+//     */
+//    List<PersonnelWorkExperienceDo> managerWorkExperienceList;
+//
+//}

+ 31 - 31
src/main/java/com/smppw/analysis/domain/dto/info/FundOpenDayVO.java

@@ -1,31 +1,31 @@
-package com.smppw.analysis.domain.dto.info;
-
-import lombok.Builder;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author mozuwen
- * @date 2023/8/18 15:00
- * @description 开放日字段处理
- */
-@Getter
-@Setter
-@Builder
-public class FundOpenDayVO {
-
-    /**
-     * 类型
-     */
-    private String type;
-
-    /**
-     * 开始日期
-     */
-    private String startDate;
-
-    /**
-     * 结束日期
-     */
-    private String endDate;
-}
+//package com.smppw.analysis.domain.dto.info;
+//
+//import lombok.Builder;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/18 15:00
+// * @description 开放日字段处理
+// */
+//@Getter
+//@Setter
+//@Builder
+//public class FundOpenDayVO {
+//
+//    /**
+//     * 类型
+//     */
+//    private String type;
+//
+//    /**
+//     * 开始日期
+//     */
+//    private String startDate;
+//
+//    /**
+//     * 结束日期
+//     */
+//    private String endDate;
+//}

+ 43 - 43
src/main/java/com/smppw/analysis/domain/dto/info/FundSimilarParams.java

@@ -1,43 +1,43 @@
-package com.smppw.analysis.domain.dto.info;
-
-import com.smppw.common.pojo.enums.RaiseType;
-import lombok.Getter;
-import lombok.Setter;
-
-/**
- * @author wangzaijun
- * @date 2023/3/22 16:58
- * @description 相似产品 接口请求参数
- */
-@Setter
-@Getter
-public class FundSimilarParams {
-    public static final String DEFAULT_THRESHOLD = "0.85";
-    private String appKey;
-    /**
-     * 基金id
-     */
-    private String secId;
-    /**
-     * 管理人id
-     */
-    private String trustId;
-    /**
-     * 1-市场同策略,2-管理人同策略
-     */
-    private Integer calcType = 2;
-    /**
-     * 相关性阈值,小数
-     */
-    private String threshold = DEFAULT_THRESHOLD;
-
-    private RaiseType raiseType;
-    /**
-     * 末级策略,head-info接口返回的
-     */
-    private String strategy;
-
-    private String benchmarkId;
-
-    private String startDate;
-}
+//package com.smppw.analysis.domain.dto.info;
+//
+//import com.smppw.common.pojo.enums.RaiseType;
+//import lombok.Getter;
+//import lombok.Setter;
+//
+///**
+// * @author wangzaijun
+// * @date 2023/3/22 16:58
+// * @description 相似产品 接口请求参数
+// */
+//@Setter
+//@Getter
+//public class FundSimilarParams {
+//    public static final String DEFAULT_THRESHOLD = "0.85";
+//    private String appKey;
+//    /**
+//     * 基金id
+//     */
+//    private String secId;
+//    /**
+//     * 管理人id
+//     */
+//    private String trustId;
+//    /**
+//     * 1-市场同策略,2-管理人同策略
+//     */
+//    private Integer calcType = 2;
+//    /**
+//     * 相关性阈值,小数
+//     */
+//    private String threshold = DEFAULT_THRESHOLD;
+//
+//    private RaiseType raiseType;
+//    /**
+//     * 末级策略,head-info接口返回的
+//     */
+//    private String strategy;
+//
+//    private String benchmarkId;
+//
+//    private String startDate;
+//}

+ 22 - 22
src/main/java/com/smppw/analysis/domain/dto/info/FundSimilarVO.java

@@ -1,22 +1,22 @@
-package com.smppw.analysis.domain.dto.info;
-
-import lombok.Getter;
-import lombok.Setter;
-
-@Setter
-@Getter
-public class FundSimilarVO {
-    private String fundId;
-    private String fundName;
-    private String strategy;
-    private String subStrategy;
-    private String thirdStrategy;
-    private String retYtd;
-    private String ret1y;
-    private String retIncep;
-    private String annualIncep;
-    private String shapeIncep;
-    private String maxdownIncep;
-    private String stdDevIncep;
-    private Double similar;
-}
+//package com.smppw.analysis.domain.dto.info;
+//
+//import lombok.Getter;
+//import lombok.Setter;
+//
+//@Setter
+//@Getter
+//public class FundSimilarVO {
+//    private String fundId;
+//    private String fundName;
+//    private String strategy;
+//    private String subStrategy;
+//    private String thirdStrategy;
+//    private String retYtd;
+//    private String ret1y;
+//    private String retIncep;
+//    private String annualIncep;
+//    private String shapeIncep;
+//    private String maxdownIncep;
+//    private String stdDevIncep;
+//    private Double similar;
+//}

+ 46 - 46
src/main/java/com/smppw/analysis/domain/dto/info/ManualFundFeeInfoVO.java

@@ -1,46 +1,46 @@
-package com.smppw.analysis.domain.dto.info;
-
-import com.smppw.common.pojo.ValueLabelVO;
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 14:30
- * @description 公募基金费率信息
- */
-@Data
-public class ManualFundFeeInfoVO {
-
-    /**
-     * 认购费
-     */
-    private List<ValueLabelVO> subscriptionFee;
-
-    /**
-     * 申购费
-     */
-    private List<ValueLabelVO> applyFee;
-
-    /**
-     * 赎回费
-     */
-    private List<ValueLabelVO> redemptionFee;
-
-    /**
-     * 管理费
-     */
-    private String managementFeeTrust;
-
-    /**
-     * 托管费
-     */
-    private String managementFeeBank;
-
-    /**
-     * 营销费
-     */
-    private String saleFee;
-
-}
+//package com.smppw.analysis.domain.dto.info;
+//
+//import com.smppw.common.pojo.ValueLabelVO;
+//import lombok.Data;
+//
+//import java.util.List;
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/9 14:30
+// * @description 公募基金费率信息
+// */
+//@Data
+//public class ManualFundFeeInfoVO {
+//
+//    /**
+//     * 认购费
+//     */
+//    private List<ValueLabelVO> subscriptionFee;
+//
+//    /**
+//     * 申购费
+//     */
+//    private List<ValueLabelVO> applyFee;
+//
+//    /**
+//     * 赎回费
+//     */
+//    private List<ValueLabelVO> redemptionFee;
+//
+//    /**
+//     * 管理费
+//     */
+//    private String managementFeeTrust;
+//
+//    /**
+//     * 托管费
+//     */
+//    private String managementFeeBank;
+//
+//    /**
+//     * 营销费
+//     */
+//    private String saleFee;
+//
+//}

+ 28 - 28
src/main/java/com/smppw/analysis/domain/dto/info/ManualFundInvestInfoVO.java

@@ -1,28 +1,28 @@
-package com.smppw.analysis.domain.dto.info;
-
-import lombok.Data;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 09:25
- * @description 投资类信息说明
- */
-@Data
-public class ManualFundInvestInfoVO {
-
-    /**
-     * 投资目标
-     */
-    private String investmentObjective;
-
-    /**
-     * 投资策略
-     */
-    private String strategyDescription;
-
-    /**
-     * 投资范围
-     */
-    private String investmentScope;
-
-}
+//package com.smppw.analysis.domain.dto.info;
+//
+//import lombok.Data;
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/9 09:25
+// * @description 投资类信息说明
+// */
+//@Data
+//public class ManualFundInvestInfoVO {
+//
+//    /**
+//     * 投资目标
+//     */
+//    private String investmentObjective;
+//
+//    /**
+//     * 投资策略
+//     */
+//    private String strategyDescription;
+//
+//    /**
+//     * 投资范围
+//     */
+//    private String investmentScope;
+//
+//}

+ 58 - 58
src/main/java/com/smppw/analysis/domain/dto/info/ManualFundManagerChangeVO.java

@@ -1,58 +1,58 @@
-package com.smppw.analysis.domain.dto.info;
-
-import lombok.Data;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 17:00
- * @description 公募基金的基金经理变更历史
- */
-@Data
-public class ManualFundManagerChangeVO {
-
-    /**
-     * 任内年化收益
-     */
-    private String annualRet;
-
-    /**
-     * 任内卡玛比率
-     */
-    private String calmar;
-
-    /**
-     * 任职日期
-     */
-    private String employDate;
-
-    /**
-     * 任职天数
-     */
-    private String employDayNum;
-
-    /**
-     * 任职期间收益
-     */
-    private String fundRet;
-
-    /**
-     * 基金经理id
-     */
-    private String managerId;
-
-    /**
-     * 基金经理名字
-     */
-    private String managerName;
-
-    /**
-     * 任内最大回撤
-     */
-    private String maxDrawdown;
-
-    /**
-     * 任内索提诺比率
-     */
-    private String sortino;
-
-}
+//package com.smppw.analysis.domain.dto.info;
+//
+//import lombok.Data;
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/9 17:00
+// * @description 公募基金的基金经理变更历史
+// */
+//@Data
+//public class ManualFundManagerChangeVO {
+//
+//    /**
+//     * 任内年化收益
+//     */
+//    private String annualRet;
+//
+//    /**
+//     * 任内卡玛比率
+//     */
+//    private String calmar;
+//
+//    /**
+//     * 任职日期
+//     */
+//    private String employDate;
+//
+//    /**
+//     * 任职天数
+//     */
+//    private String employDayNum;
+//
+//    /**
+//     * 任职期间收益
+//     */
+//    private String fundRet;
+//
+//    /**
+//     * 基金经理id
+//     */
+//    private String managerId;
+//
+//    /**
+//     * 基金经理名字
+//     */
+//    private String managerName;
+//
+//    /**
+//     * 任内最大回撤
+//     */
+//    private String maxDrawdown;
+//
+//    /**
+//     * 任内索提诺比率
+//     */
+//    private String sortino;
+//
+//}

+ 73 - 73
src/main/java/com/smppw/analysis/domain/dto/info/ManualFundManagerInfoVO.java

@@ -1,73 +1,73 @@
-package com.smppw.analysis.domain.dto.info;
-
-import lombok.Data;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 19:10
- * @description 公募基金详情页-基金经理
- */
-@Data
-public class ManualFundManagerInfoVO {
-
-    /**
-     * 头像1
-     */
-    private String avatar;
-
-    /**
-     * 头像2
-     */
-    private String avatar2;
-
-    /**
-     * 性别
-     */
-    private String gender;
-
-    /**
-     * 任内年化收益率
-     */
-    private String annualRet;
-
-    /**
-     * 任内基准增长率,基准区间收益率
-     */
-    private String benchmarkRet;
-
-    /**
-     * 管理产品数量
-     */
-    private String fundNum;
-
-    /**
-     * 基金经理id
-     */
-    private String managerId;
-
-    /**
-     * 基金经理名字
-     */
-    private String managerName;
-
-    /**
-     * 任内基金净值增长率,区间收益率
-     */
-    private String navChange;
-
-    /**
-     * 存续产品数量
-     */
-    private String runningNum;
-
-    /**
-     * 存续基金资产规模
-     */
-    private String runningScale;
-
-    /**
-     * 任内夏普比率
-     */
-    private String sharpe;
-
-}
+//package com.smppw.analysis.domain.dto.info;
+//
+//import lombok.Data;
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/9 19:10
+// * @description 公募基金详情页-基金经理
+// */
+//@Data
+//public class ManualFundManagerInfoVO {
+//
+//    /**
+//     * 头像1
+//     */
+//    private String avatar;
+//
+//    /**
+//     * 头像2
+//     */
+//    private String avatar2;
+//
+//    /**
+//     * 性别
+//     */
+//    private String gender;
+//
+//    /**
+//     * 任内年化收益率
+//     */
+//    private String annualRet;
+//
+//    /**
+//     * 任内基准增长率,基准区间收益率
+//     */
+//    private String benchmarkRet;
+//
+//    /**
+//     * 管理产品数量
+//     */
+//    private String fundNum;
+//
+//    /**
+//     * 基金经理id
+//     */
+//    private String managerId;
+//
+//    /**
+//     * 基金经理名字
+//     */
+//    private String managerName;
+//
+//    /**
+//     * 任内基金净值增长率,区间收益率
+//     */
+//    private String navChange;
+//
+//    /**
+//     * 存续产品数量
+//     */
+//    private String runningNum;
+//
+//    /**
+//     * 存续基金资产规模
+//     */
+//    private String runningScale;
+//
+//    /**
+//     * 任内夏普比率
+//     */
+//    private String sharpe;
+//
+//}

+ 44 - 44
src/main/java/com/smppw/analysis/domain/dto/info/ManualFundNoticeInfoVO.java

@@ -1,44 +1,44 @@
-package com.smppw.analysis.domain.dto.info;
-
-
-import lombok.Data;
-
-/**
- * @author mozuwen
- * @date 2023/8/9 09:25
- * @description 公募基金公共信息
- */
-@Data
-public class ManualFundNoticeInfoVO {
-
-    /**
-     * 附件,附件图标可下载公告文档
-     */
-    private String attName;
-
-    /**
-     * 地址
-     */
-    private String attUri;
-
-    /**
-     * 时间
-     */
-    private String date;
-
-    /**
-     * 公告来源
-     */
-    private String media;
-
-    /**
-     * 公告标题
-     */
-    private String title;
-
-    /**
-     * 公告类型:1-发行上市, 2-定期报告, 3-业绩快报, 4-其他公告
-     */
-    private String type;
-}
-
+//package com.smppw.analysis.domain.dto.info;
+//
+//
+//import lombok.Data;
+//
+///**
+// * @author mozuwen
+// * @date 2023/8/9 09:25
+// * @description 公募基金公共信息
+// */
+//@Data
+//public class ManualFundNoticeInfoVO {
+//
+//    /**
+//     * 附件,附件图标可下载公告文档
+//     */
+//    private String attName;
+//
+//    /**
+//     * 地址
+//     */
+//    private String attUri;
+//
+//    /**
+//     * 时间
+//     */
+//    private String date;
+//
+//    /**
+//     * 公告来源
+//     */
+//    private String media;
+//
+//    /**
+//     * 公告标题
+//     */
+//    private String title;
+//
+//    /**
+//     * 公告类型:1-发行上市, 2-定期报告, 3-业绩快报, 4-其他公告
+//     */
+//    private String type;
+//}
+//

+ 7 - 7
src/main/java/com/smppw/analysis/domain/dto/info/PubliclyFundBaseInfoVO.java

@@ -89,13 +89,13 @@ public class PubliclyFundBaseInfoVO {
      */
     private String applyRedemType;
 
-    /**
-     * 开放日
-     * eg:
-     * 申购起止:yyyy-mm-dd~yyyy-mm-dd
-     * 赎回起止:yyyy-mm-dd~yyyy-mm-dd
-     */
-    private List<FundOpenDayVO> openDays;
+//    /**
+//     * 开放日
+//     * eg:
+//     * 申购起止:yyyy-mm-dd~yyyy-mm-dd
+//     * 赎回起止:yyyy-mm-dd~yyyy-mm-dd
+//     */
+//    private List<FundOpenDayVO> openDays;
 
     /**
      * 最低申购金额,文字+数值+日期展示

+ 0 - 0
src/main/java/com/smppw/analysis/domain/dto/performance/RankParams.java


Some files were not shown because too many files changed in this diff