diff --git a/src/main/generated/cn/stock/market/infrastructure/db/po/QMoneyStockPO.java b/src/main/generated/cn/stock/market/infrastructure/db/po/QMoneyStockPO.java index 6e9dc91..b719747 100644 --- a/src/main/generated/cn/stock/market/infrastructure/db/po/QMoneyStockPO.java +++ b/src/main/generated/cn/stock/market/infrastructure/db/po/QMoneyStockPO.java @@ -23,10 +23,16 @@ public class QMoneyStockPO extends EntityPathBase { public final NumberPath id = createNumber("id", Integer.class); + public final NumberPath isLock = createNumber("isLock", Integer.class); + + public final NumberPath isShow = createNumber("isShow", Integer.class); + public final StringPath moneyScId = createString("moneyScId"); public final DateTimePath saveTime = createDateTime("saveTime", java.util.Date.class); + public final StringPath selfDispId = createString("selfDispId"); + public final StringPath selfUrl = createString("selfUrl"); public final StringPath stockName = createString("stockName"); diff --git a/src/main/java/cn/stock/market/application/assembler/MoneyStockAssembler.java b/src/main/java/cn/stock/market/application/assembler/MoneyStockAssembler.java index e308295..3e000b7 100644 --- a/src/main/java/cn/stock/market/application/assembler/MoneyStockAssembler.java +++ b/src/main/java/cn/stock/market/application/assembler/MoneyStockAssembler.java @@ -12,7 +12,7 @@ import org.springframework.stereotype.Component; * * @author rplees * @email rplees.i.ly@gmail.com - * @created 2024/01/03 + * @created 2024/01/06 */ @Component @Lazy diff --git a/src/main/java/cn/stock/market/domain/basic/convert/MoneyStockConvert.java b/src/main/java/cn/stock/market/domain/basic/convert/MoneyStockConvert.java index b990c1e..3a0ad51 100644 --- a/src/main/java/cn/stock/market/domain/basic/convert/MoneyStockConvert.java +++ b/src/main/java/cn/stock/market/domain/basic/convert/MoneyStockConvert.java @@ -12,7 +12,7 @@ import org.springframework.stereotype.Component; * * @author rplees * @email rplees.i.ly@gmail.com - * @created 2024/01/03 + * @created 2024/01/06 */ @Component @Lazy diff --git a/src/main/java/cn/stock/market/domain/basic/entity/MoneyStock.java b/src/main/java/cn/stock/market/domain/basic/entity/MoneyStock.java index 77a6a25..fcd5321 100644 --- a/src/main/java/cn/stock/market/domain/basic/entity/MoneyStock.java +++ b/src/main/java/cn/stock/market/domain/basic/entity/MoneyStock.java @@ -13,7 +13,7 @@ import lombok.experimental.SuperBuilder; * * @author rplees * @email rplees.i.ly@gmail.com - * @created 2024/01/03 + * @created 2024/01/06 */ @Data @NoArgsConstructor diff --git a/src/main/java/cn/stock/market/domain/basic/factory/MoneyStockFactory.java b/src/main/java/cn/stock/market/domain/basic/factory/MoneyStockFactory.java index 8f9dfd2..764db2b 100644 --- a/src/main/java/cn/stock/market/domain/basic/factory/MoneyStockFactory.java +++ b/src/main/java/cn/stock/market/domain/basic/factory/MoneyStockFactory.java @@ -11,7 +11,7 @@ import org.springframework.stereotype.Component; * * @author rplees * @email rplees.i.ly@gmail.com - * @created 2024/01/03 + * @created 2024/01/06 */ @Component @Lazy diff --git a/src/main/java/cn/stock/market/domain/basic/repository/MoneyStockRepository.java b/src/main/java/cn/stock/market/domain/basic/repository/MoneyStockRepository.java index dd70882..5cda981 100644 --- a/src/main/java/cn/stock/market/domain/basic/repository/MoneyStockRepository.java +++ b/src/main/java/cn/stock/market/domain/basic/repository/MoneyStockRepository.java @@ -19,7 +19,7 @@ import org.springframework.stereotype.Repository; * * @author rplees * @email rplees.i.ly@gmail.com - * @created 2024/01/03 + * @created 2024/01/06 */ @Repository @RequiredArgsConstructor( diff --git a/src/main/java/cn/stock/market/domain/basic/service/MoneyStockService.java b/src/main/java/cn/stock/market/domain/basic/service/MoneyStockService.java index 0c3b1e7..b524393 100644 --- a/src/main/java/cn/stock/market/domain/basic/service/MoneyStockService.java +++ b/src/main/java/cn/stock/market/domain/basic/service/MoneyStockService.java @@ -12,7 +12,7 @@ import org.springframework.stereotype.Service; * * @author rplees * @email rplees.i.ly@gmail.com - * @created 2024/01/03 + * @created 2024/01/06 */ @Service @RequiredArgsConstructor( diff --git a/src/main/java/cn/stock/market/dto/MoneyStockDTO.java b/src/main/java/cn/stock/market/dto/MoneyStockDTO.java index 0cf6efb..1a6552c 100644 --- a/src/main/java/cn/stock/market/dto/MoneyStockDTO.java +++ b/src/main/java/cn/stock/market/dto/MoneyStockDTO.java @@ -11,7 +11,7 @@ import lombok.experimental.SuperBuilder; * * @author rplees * @email rplees.i.ly@gmail.com - * @created 2024/01/03 + * @created 2024/01/06 */ @Data @NoArgsConstructor diff --git a/src/main/java/cn/stock/market/dto/command/MoneyStockCreateCommand.java b/src/main/java/cn/stock/market/dto/command/MoneyStockCreateCommand.java index 3306f01..d867ada 100644 --- a/src/main/java/cn/stock/market/dto/command/MoneyStockCreateCommand.java +++ b/src/main/java/cn/stock/market/dto/command/MoneyStockCreateCommand.java @@ -12,7 +12,7 @@ import lombok.experimental.SuperBuilder; * * @author rplees * @email rplees.i.ly@gmail.com - * @created 2024/01/03 + * @created 2024/01/06 */ @Data @SuperBuilder @@ -34,6 +34,10 @@ public class MoneyStockCreateCommand { * money Control的id */ String moneyScId; + /** + * 展示表示 */ + String selfDispId; + /** * 自有self_url */ String selfUrl; @@ -45,4 +49,12 @@ public class MoneyStockCreateCommand { /** * 保存时间 */ Date saveTime; + + /** + * 是否锁定 0否 1是 */ + Integer isLock; + + /** + * 是否展示 0是 1否 */ + Integer isShow; } diff --git a/src/main/java/cn/stock/market/dto/command/MoneyStockModifyCommand.java b/src/main/java/cn/stock/market/dto/command/MoneyStockModifyCommand.java index f6c4816..ca74282 100644 --- a/src/main/java/cn/stock/market/dto/command/MoneyStockModifyCommand.java +++ b/src/main/java/cn/stock/market/dto/command/MoneyStockModifyCommand.java @@ -11,7 +11,7 @@ import lombok.experimental.SuperBuilder; * * @author rplees * @email rplees.i.ly@gmail.com - * @created 2024/01/03 + * @created 2024/01/06 */ @Data @SuperBuilder diff --git a/src/main/java/cn/stock/market/infrastructure/db/po/MoneyStockPO.java b/src/main/java/cn/stock/market/infrastructure/db/po/MoneyStockPO.java index 78d83b7..7b6d464 100644 --- a/src/main/java/cn/stock/market/infrastructure/db/po/MoneyStockPO.java +++ b/src/main/java/cn/stock/market/infrastructure/db/po/MoneyStockPO.java @@ -19,7 +19,7 @@ import org.hibernate.annotations.DynamicUpdate; * * @author rplees * @email rplees.i.ly@gmail.com - * @created 2024/01/03 + * @created 2024/01/06 */ @SuperBuilder @Data @@ -52,6 +52,10 @@ public class MoneyStockPO { * money Control的id */ String moneyScId; + /** + * 展示表示 */ + String selfDispId; + /** * 自有self_url */ String selfUrl; @@ -63,4 +67,12 @@ public class MoneyStockPO { /** * 保存时间 */ Date saveTime; + + /** + * 是否锁定 0否 1是 */ + Integer isLock; + + /** + * 是否展示 0是 1否 */ + Integer isShow; } diff --git a/src/main/java/cn/stock/market/infrastructure/db/repo/MoneyStockRepo.java b/src/main/java/cn/stock/market/infrastructure/db/repo/MoneyStockRepo.java index 883bc4e..eebe02a 100644 --- a/src/main/java/cn/stock/market/infrastructure/db/repo/MoneyStockRepo.java +++ b/src/main/java/cn/stock/market/infrastructure/db/repo/MoneyStockRepo.java @@ -9,7 +9,7 @@ import java.lang.Integer; * * @author rplees * @email rplees.i.ly@gmail.com - * @created 2024/01/03 + * @created 2024/01/06 */ public interface MoneyStockRepo extends GenericJpaRepository { } diff --git a/src/main/java/cn/stock/market/infrastructure/job/MoneyScraper.java b/src/main/java/cn/stock/market/infrastructure/job/MoneyScraper.java index ebb3e50..e4ba798 100644 --- a/src/main/java/cn/stock/market/infrastructure/job/MoneyScraper.java +++ b/src/main/java/cn/stock/market/infrastructure/job/MoneyScraper.java @@ -5,6 +5,7 @@ import cn.stock.market.domain.basic.entity.MoneyStock; import cn.stock.market.domain.basic.repository.MoneyStockRepository; import cn.stock.market.infrastructure.db.po.QMoneyStockPO; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpResponse; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; @@ -227,6 +228,7 @@ public class MoneyScraper { MoneyStock build = MoneyStock.builder().stockName(textContent).stockType(exchangeValue.toLowerCase(Locale.ROOT)) .detailUrl(String.format("https://priceapi.moneycontrol.com/pricefeed/%s/equitycash/%s", exchangeValue.toLowerCase(), companyCodeId)) .selfUrl(linkAttribute) + .selfDispId(extractDispId(linkAttribute)) .moneyScId(companyCodeId).saveTime(new Date()).build(); List all = moneyStockRepository.findAll(QMoneyStockPO.moneyStockPO.stockName.eq(textContent), QMoneyStockPO.moneyStockPO.stockType.eq(exchangeValue.toLowerCase(Locale.ROOT))); if(CollectionUtil.isEmpty(all)){ @@ -238,6 +240,7 @@ public class MoneyScraper { MoneyStock build = MoneyStock.builder().stockName(textContent) .detailUrl(String.format("https://priceapi.moneycontrol.com/pricefeed/%s/equitycash/%s", exchangeValue.toLowerCase(), companyCodeId)) .selfUrl(linkAttribute) + .selfDispId(extractDispId(linkAttribute)) .moneyScId(companyCodeId).saveTime(new Date()).build(); List all = moneyStockRepository.findAll(QMoneyStockPO.moneyStockPO.stockName.eq(textContent)); if(CollectionUtil.isEmpty(all)){ @@ -248,7 +251,7 @@ public class MoneyScraper { } else { log.info("stockName: " + textContent + ", self_link: " + linkAttribute + " has no current exchange types"); - MoneyStock build = MoneyStock.builder().stockName(textContent).selfUrl(linkAttribute) + MoneyStock build = MoneyStock.builder().stockName(textContent).selfUrl(linkAttribute) .selfDispId(extractDispId(linkAttribute)) .moneyScId(companyCodeId).saveTime(new Date()).build(); List all = moneyStockRepository.findAll(QMoneyStockPO.moneyStockPO.stockName.eq(textContent)); if(CollectionUtil.isEmpty(all)){ @@ -259,7 +262,7 @@ public class MoneyScraper { } else { log.info(Thread.currentThread().getName()+",stockName: " + textContent + ", self_link: " + linkAttribute + " cannot find corresponding stock id"); - MoneyStock build = MoneyStock.builder().stockName(textContent).selfUrl(linkAttribute) + MoneyStock build = MoneyStock.builder().stockName(textContent).selfUrl(linkAttribute) .selfDispId(extractDispId(linkAttribute)) .saveTime(new Date()).build(); List all = moneyStockRepository.findAll(QMoneyStockPO.moneyStockPO.stockName.eq(textContent)); if(CollectionUtil.isEmpty(all)){ @@ -270,7 +273,21 @@ public class MoneyScraper { } } + private static String extractDispId(String selfUrl) { + if(StringUtils.isBlank(selfUrl)||!StringUtils.startsWith(selfUrl,"http")){ + return null; + } + // 找到最后一个斜杠的位置 + int lastSlashIndex = selfUrl.lastIndexOf('/'); + // 如果找到了斜杠,就提取它之后的部分 + if (lastSlashIndex != -1 && lastSlashIndex < selfUrl.length() - 1) { + return selfUrl.substring(lastSlashIndex + 1); + } + + // 如果没有斜杠,或者斜杠位于字符串的末尾,则返回原始字符串 + return selfUrl; + }