Browse Source

上传到私服

wangzaijun 1 year ago
parent
commit
384fbc5b43
2 changed files with 21 additions and 6 deletions
  1. 13 2
      pom.xml
  2. 8 4
      src/main/java/com/smppw/core/IndicatorService.java

+ 13 - 2
pom.xml

@@ -4,9 +4,9 @@
          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
 
-    <groupId>org.smppw</groupId>
+    <groupId>com.smppw</groupId>
     <artifactId>data-calc</artifactId>
-    <version>0.1.2-SNAPSHOT</version>
+    <version>0.1.3-SNAPSHOT</version>
 
     <properties>
         <maven.compiler.source>17</maven.compiler.source>
@@ -63,4 +63,15 @@
             <optional>true</optional>
         </dependency>
     </dependencies>
+
+    <distributionManagement>
+        <repository>
+            <id>smppw-release</id>
+            <url>http://120.24.213.180:8081/nexus/content/repositories/releases/</url>
+        </repository>
+        <snapshotRepository>
+            <id>smppw-snapshots</id>
+            <url>http://120.24.213.180:8081/nexus/content/repositories/snapshots/</url>
+        </snapshotRepository>
+    </distributionManagement>
 </project>

+ 8 - 4
src/main/java/com/smppw/core/IndicatorService.java

@@ -42,6 +42,8 @@ public class IndicatorService {
     public Map<String, List<IndicatorCalcPropertyDto>> getMultipleSecTrend(List<String> mainSecIdList, Map<String, String> secBenchmarkIdMap, List<String> indexIdList,
                                                                            DateIntervalDto dateIntervalDto, BigDecimal fixedIncome, BigDecimal initValue, Frequency frequency,
                                                                            List<TrendType> trendTypeV2List, Map<String, Frequency> secFreqMap, Map<String, List<DateValue>> allNavMap) {
+        // 实际频率时净值还是取日频的
+        Frequency navFrequency = frequency == null || frequency == Frequency.Default ? Frequency.Daily : frequency;
         Map<String, List<IndicatorCalcPropertyDto>> indicatorCalcPropertyDtoListMap = new HashMap<>();
         for (String mainSecId : mainSecIdList) {
             String benchmarkId = secBenchmarkIdMap.get(mainSecId);
@@ -67,7 +69,7 @@ public class IndicatorService {
             Frequency defaultFrequency = secFreqMap.getOrDefault(mainSecId, Frequency.Daily);
             Frequency calcFrequency = frequency == null || frequency == Frequency.Default ? defaultFrequency : frequency;
 
-            List<DateValue> validMainSecNavList = NavUtil.filterFrequencyNav(mainSecIdNavList, indexesTradeDateDoList, calcFrequency);
+            List<DateValue> validMainSecNavList = NavUtil.filterFrequencyNav(mainSecIdNavList, indexesTradeDateDoList, navFrequency);
             secAllNavMap.put(mainSecId, validMainSecNavList);
 
             List<IndicatorCalcTimeRangeDto> indicatorCalcTimeRangeDtoList = DateIntervalUtil.getIndicatorCalcTimeRangeDto(dateIntervalDto, validMainSecNavList, indexesTradeDateDoList
@@ -117,6 +119,9 @@ public class IndicatorService {
         boolean needExtraRet = req.isNeedExtraRet();
         boolean ifConvertPerformanceConsistencyWord = req.isIfConvertPerformanceConsistencyWord();
         Map<String, List<IndicatorCalcPropertyDto>> indicatorCalcPropertyDtoListMap = new HashMap<>();
+
+        Frequency navFrequency = dataFrequency == null || dataFrequency == Frequency.Default ? Frequency.Daily : dataFrequency;
+
         for (String mainSecId : mainSecIdList) {
 
             String benchmarkId = secBenchmarkIdMap.get(mainSecId);
@@ -141,13 +146,12 @@ public class IndicatorService {
                 theLastNavDate = mainSecIdNavList.get(mainSecIdNavList.size() - 1).getDate();
             }
             List<IndexesTradeDateDo> indexesTradeDateDoList = TradeDateUtil.listInfoByDateInterval(theFirstNavDate, theLastNavDate);
+            List<DateValue> validMainSecNavList = NavUtil.filterFrequencyNav(mainSecIdNavList, indexesTradeDateDoList, navFrequency);
+            secAllNavMap.put(mainSecId, validMainSecNavList);
 
             Frequency defaultFrequency = secFreqMap.getOrDefault(mainSecId, Frequency.Daily);
             Frequency calcFrequency = dataFrequency == null || dataFrequency == Frequency.Default ? defaultFrequency : dataFrequency;
 
-            List<DateValue> validMainSecNavList = NavUtil.filterFrequencyNav(mainSecIdNavList, indexesTradeDateDoList, calcFrequency);
-            secAllNavMap.put(mainSecId, validMainSecNavList);
-
             List<DateIntervalDto> dateIntervalDtoList = new ArrayList<>();
             if (secDateIntervalDtoListMap != null && secDateIntervalDtoListMap.get(mainSecId) != null) {
                 dateIntervalDtoList = secDateIntervalDtoListMap.get(mainSecId);