继续优化代码
This commit is contained in:
@@ -23,10 +23,16 @@ public class QMoneyStockPO extends EntityPathBase<MoneyStockPO> {
|
||||
|
||||
public final NumberPath<Integer> id = createNumber("id", Integer.class);
|
||||
|
||||
public final NumberPath<Integer> isLock = createNumber("isLock", Integer.class);
|
||||
|
||||
public final NumberPath<Integer> isShow = createNumber("isShow", Integer.class);
|
||||
|
||||
public final StringPath moneyScId = createString("moneyScId");
|
||||
|
||||
public final DateTimePath<java.util.Date> 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");
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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<MoneyStockPO, Integer> {
|
||||
}
|
||||
|
||||
@@ -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<MoneyStock> 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<MoneyStock> 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<MoneyStock> 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<MoneyStock> 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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user