done for stockTemp repository

This commit is contained in:
VoGiaHuy2058
2025-06-18 07:52:49 +07:00
parent 66eccce4cb
commit 476645109d
7 changed files with 234 additions and 3 deletions

View File

@@ -0,0 +1,39 @@
package cn.stock.market.infrastructure.db.po;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import javax.persistence.*;
import java.math.BigDecimal;
import java.util.Date;
/**
* StockPO
*
* @author rplees
* @email rplees.i.ly@gmail.com
* @created 2023/06/17
*/
@SuperBuilder
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
@DynamicInsert
@DynamicUpdate
@Table(name = "stockTemp")
public class StockTempPO {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Integer id;
String stockType;
String stockGid;
String stockLogo;
}

View File

@@ -0,0 +1,15 @@
package cn.stock.market.infrastructure.db.repo;
import cn.stock.market.infrastructure.db.po.StockPO;
import cn.stock.market.infrastructure.db.po.StockTempPO;
import com.rp.spring.jpa.GenericJpaRepository;
/**
* StockRepo
*
* @author rplees
* @email rplees.i.ly@gmail.com
* @created 2023/06/17
*/
public interface StockTempRepo extends GenericJpaRepository<StockTempPO, Integer> {
}

View File

@@ -5,8 +5,12 @@ import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.*;
import java.util.stream.Collectors;
import cn.stock.market.domain.basic.entity.Stock;
import cn.stock.market.domain.basic.entity.StockTemp;
import cn.stock.market.domain.basic.repository.StockRepository;
import cn.stock.market.domain.basic.repository.StockTempRepository;
import cn.stock.market.dto.model.Symbol;
import okhttp3.OkHttpClient;
import okhttp3.Request;
@@ -18,12 +22,16 @@ import javax.annotation.PostConstruct;
@Component
public class StockNewTask {
final StockTempRepository repository;
private static final OkHttpClient client = new OkHttpClient();
private static final String BASE_URL = "https://symbol-search.tradingview.com/symbol_search/v3/";
private static final String PARAMS = "?start=%d&hl=1&country=DE&lang=en&search_type=stocks&domain=production&sort_by_country=US&promo=true&exchange=XETR";
@PostConstruct
public StockNewTask(StockTempRepository repository) {
this.repository = repository;
}
@PostConstruct
public void test() throws Exception {
List<Symbol> allSymbols = new ArrayList<>();
int start = 0;
@@ -71,7 +79,6 @@ public class StockNewTask {
symbol.setSourceId(s.optString("source_id"));
symbol.setCountry(s.optString("country"));
symbol.setPrimaryListing(s.optBoolean("is_primary_listing", false));
Stock stock = new Stock();
// typespecs array
JSONArray typespecsArr = s.optJSONArray("typespecs");
List<String> typespecsList = new ArrayList<>();
@@ -98,5 +105,18 @@ Stock stock = new Stock();
System.out.println(s.getSymbol() + " - " + s.getDescription());
}
// Lúc này bạn có thể insert vào DB hoặc return từ service
allSymbols = allSymbols.stream().filter(x -> x.getType().equals("stock")).collect(Collectors.toList());
List<StockTemp> stockTemps = repository.findAllForCheck();
if(stockTemps != null && !stockTemps.isEmpty()){
for (Symbol symbol : allSymbols) {
if((symbol.getSymbol() + ":" + symbol.getExchange()).contains())
}
}
else{
repository.of().saveAll(stockTemps);
}
}
}