支持Retifive的操作
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
package cn.stock.market.infrastructure.db.po;
|
||||
|
||||
import static com.querydsl.core.types.PathMetadataFactory.*;
|
||||
|
||||
import com.querydsl.core.types.dsl.*;
|
||||
|
||||
import com.querydsl.core.types.PathMetadata;
|
||||
import javax.annotation.Generated;
|
||||
import com.querydsl.core.types.Path;
|
||||
|
||||
|
||||
/**
|
||||
* QRetifiveStockPO is a Querydsl query type for RetifiveStockPO
|
||||
*/
|
||||
@Generated("com.querydsl.codegen.EntitySerializer")
|
||||
public class QRetifiveStockPO extends EntityPathBase<RetifiveStockPO> {
|
||||
|
||||
private static final long serialVersionUID = -280817720L;
|
||||
|
||||
public static final QRetifiveStockPO retifiveStockPO = new QRetifiveStockPO("retifiveStockPO");
|
||||
|
||||
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 DateTimePath<java.util.Date> saveTime = createDateTime("saveTime", java.util.Date.class);
|
||||
|
||||
public final StringPath stockCode = createString("stockCode");
|
||||
|
||||
public final StringPath stockName = createString("stockName");
|
||||
|
||||
public final StringPath stockType = createString("stockType");
|
||||
|
||||
public final StringPath symbol = createString("symbol");
|
||||
|
||||
public QRetifiveStockPO(String variable) {
|
||||
super(RetifiveStockPO.class, forVariable(variable));
|
||||
}
|
||||
|
||||
public QRetifiveStockPO(Path<? extends RetifiveStockPO> path) {
|
||||
super(path.getType(), path.getMetadata());
|
||||
}
|
||||
|
||||
public QRetifiveStockPO(PathMetadata metadata) {
|
||||
super(RetifiveStockPO.class, metadata);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
package cn.stock.market.application.assembler;
|
||||
|
||||
import cn.qutaojing.common.utils.Beans;
|
||||
import cn.qutaojing.common.utils.SpringUtils;
|
||||
import cn.stock.market.domain.basic.entity.RetifiveStock;
|
||||
import cn.stock.market.dto.RetifiveStockDTO;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* RetifiveStockAssembler
|
||||
*
|
||||
* @author rplees
|
||||
* @email rplees.i.ly@gmail.com
|
||||
* @created 2024/04/10
|
||||
*/
|
||||
@Component
|
||||
@Lazy
|
||||
public class RetifiveStockAssembler {
|
||||
public RetifiveStockDTO toDTO(RetifiveStock e) {
|
||||
RetifiveStockDTO dto = Beans.mapper(e, RetifiveStockDTO.class);
|
||||
if(dto == null) return dto;
|
||||
fill(e, dto);
|
||||
return dto;
|
||||
}
|
||||
|
||||
protected void fill(RetifiveStock e, RetifiveStockDTO dto) {
|
||||
if(dto == null) return;
|
||||
return;
|
||||
}
|
||||
|
||||
public static RetifiveStockAssembler of() {
|
||||
return SpringUtils.getBean(RetifiveStockAssembler.class);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
package cn.stock.market.domain.basic.convert;
|
||||
|
||||
import cn.qutaojing.common.domain.convert.SimpleEntityPOConvert;
|
||||
import cn.qutaojing.common.utils.SpringUtils;
|
||||
import cn.stock.market.domain.basic.entity.RetifiveStock;
|
||||
import cn.stock.market.infrastructure.db.po.RetifiveStockPO;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* RetifiveStockConvert
|
||||
*
|
||||
* @author rplees
|
||||
* @email rplees.i.ly@gmail.com
|
||||
* @created 2024/04/10
|
||||
*/
|
||||
@Component
|
||||
@Lazy
|
||||
public class RetifiveStockConvert extends SimpleEntityPOConvert<RetifiveStock, RetifiveStockPO> {
|
||||
public static RetifiveStockConvert of() {
|
||||
return SpringUtils.getBean(RetifiveStockConvert.class);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package cn.stock.market.domain.basic.entity;
|
||||
|
||||
import cn.qutaojing.common.utils.Beans;
|
||||
import cn.stock.market.dto.command.RetifiveStockCreateCommand;
|
||||
import cn.stock.market.infrastructure.db.po.RetifiveStockPO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* RetifiveStock
|
||||
*
|
||||
* @author rplees
|
||||
* @email rplees.i.ly@gmail.com
|
||||
* @created 2024/04/10
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@SuperBuilder
|
||||
@EqualsAndHashCode(
|
||||
callSuper = false
|
||||
)
|
||||
public class RetifiveStock extends RetifiveStockPO {
|
||||
public void update(RetifiveStockCreateCommand cmd) {
|
||||
Beans.copyProperties(cmd, this);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package cn.stock.market.domain.basic.factory;
|
||||
|
||||
import cn.qutaojing.common.utils.SpringUtils;
|
||||
import cn.stock.market.domain.basic.entity.RetifiveStock;
|
||||
import cn.stock.market.dto.command.RetifiveStockCreateCommand;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* RetifiveStockFactory
|
||||
*
|
||||
* @author rplees
|
||||
* @email rplees.i.ly@gmail.com
|
||||
* @created 2024/04/10
|
||||
*/
|
||||
@Component
|
||||
@Lazy
|
||||
public class RetifiveStockFactory {
|
||||
public static RetifiveStockFactory of() {
|
||||
return SpringUtils.getBean(RetifiveStockFactory.class);
|
||||
}
|
||||
|
||||
public RetifiveStock from(RetifiveStockCreateCommand cmd) {
|
||||
RetifiveStock e = RetifiveStock.builder().build();
|
||||
e.update(cmd);
|
||||
return e;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
package cn.stock.market.domain.basic.repository;
|
||||
|
||||
import cn.qutaojing.common.domain.convert.IEntityPOConvert;
|
||||
import cn.qutaojing.common.domain.respostory.SimplePoConvertEntityRepository;
|
||||
import cn.qutaojing.common.utils.SpringUtils;
|
||||
import cn.stock.market.domain.basic.convert.RetifiveStockConvert;
|
||||
import cn.stock.market.domain.basic.entity.RetifiveStock;
|
||||
import cn.stock.market.infrastructure.db.po.RetifiveStockPO;
|
||||
import cn.stock.market.infrastructure.db.repo.RetifiveStockRepo;
|
||||
import com.rp.spring.jpa.GenericJpaRepository;
|
||||
import java.lang.Integer;
|
||||
import java.lang.Override;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* RetifiveStockRepository
|
||||
*
|
||||
* @author rplees
|
||||
* @email rplees.i.ly@gmail.com
|
||||
* @created 2024/04/10
|
||||
*/
|
||||
@Repository
|
||||
@RequiredArgsConstructor(
|
||||
onConstructor = @__(@Autowired)
|
||||
)
|
||||
public class RetifiveStockRepository extends SimplePoConvertEntityRepository<RetifiveStock, RetifiveStockPO, Integer> {
|
||||
final RetifiveStockRepo repo;
|
||||
|
||||
final RetifiveStockConvert convert;
|
||||
|
||||
@Override
|
||||
public GenericJpaRepository<RetifiveStockPO, Integer> repo() {
|
||||
return repo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IEntityPOConvert<RetifiveStock, RetifiveStockPO> convert() {
|
||||
return convert;
|
||||
}
|
||||
|
||||
public static RetifiveStockRepository of() {
|
||||
return SpringUtils.getBean(RetifiveStockRepository.class);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package cn.stock.market.domain.basic.service;
|
||||
|
||||
import cn.qutaojing.common.utils.SpringUtils;
|
||||
import cn.stock.market.domain.basic.factory.RetifiveStockFactory;
|
||||
import cn.stock.market.domain.basic.repository.RetifiveStockRepository;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* RetifiveStockService
|
||||
*
|
||||
* @author rplees
|
||||
* @email rplees.i.ly@gmail.com
|
||||
* @created 2024/04/10
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor(
|
||||
onConstructor = @__(@Autowired)
|
||||
)
|
||||
public class RetifiveStockService {
|
||||
final RetifiveStockRepository repository;
|
||||
|
||||
final RetifiveStockFactory factory;
|
||||
|
||||
public RetifiveStockRepository repository() {
|
||||
return repository;
|
||||
}
|
||||
|
||||
public static RetifiveStockService of() {
|
||||
return SpringUtils.getBean(RetifiveStockService.class);
|
||||
}
|
||||
}
|
||||
23
src/main/java/cn/stock/market/dto/RetifiveStockDTO.java
Normal file
23
src/main/java/cn/stock/market/dto/RetifiveStockDTO.java
Normal file
@@ -0,0 +1,23 @@
|
||||
package cn.stock.market.dto;
|
||||
|
||||
import cn.stock.market.infrastructure.db.po.RetifiveStockPO;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* RetifiveStockDTO
|
||||
*
|
||||
* @author rplees
|
||||
* @email rplees.i.ly@gmail.com
|
||||
* @created 2024/04/10
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@SuperBuilder
|
||||
@EqualsAndHashCode(
|
||||
callSuper = false
|
||||
)
|
||||
public class RetifiveStockDTO extends RetifiveStockPO {
|
||||
}
|
||||
@@ -20,6 +20,7 @@ public class RetifiveStockInfo {
|
||||
private String stockType; // 股票类型
|
||||
private String currentPrice; // 当前价格
|
||||
private String changePercent; // 变动百分比
|
||||
private String changeValue; //变动值
|
||||
private String openPrice; // 开盘价格
|
||||
private String previousPrice; // 昨日收盘价格
|
||||
private String volume; // 成交量
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
package cn.stock.market.dto.command;
|
||||
|
||||
import java.lang.Integer;
|
||||
import java.lang.String;
|
||||
import java.util.Date;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* RetifiveStockCreateCommand
|
||||
*
|
||||
* @author rplees
|
||||
* @email rplees.i.ly@gmail.com
|
||||
* @created 2024/04/10
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
public class RetifiveStockCreateCommand {
|
||||
/**
|
||||
* 主键 */
|
||||
Integer id;
|
||||
|
||||
/**
|
||||
* 股票名称 */
|
||||
String stockName;
|
||||
|
||||
/**
|
||||
* BSE or NSE */
|
||||
String stockType;
|
||||
|
||||
/**
|
||||
* symbol,查询Rics的id用 */
|
||||
String symbol;
|
||||
|
||||
/**
|
||||
* 股票code */
|
||||
String stockCode;
|
||||
|
||||
/**
|
||||
* 保存时间 */
|
||||
Date saveTime;
|
||||
|
||||
/**
|
||||
* 是否锁定 0否 1是 */
|
||||
Integer isLock;
|
||||
|
||||
/**
|
||||
* 是否展示 0是 1否 */
|
||||
Integer isShow;
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
package cn.stock.market.dto.command;
|
||||
|
||||
import java.lang.Integer;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* RetifiveStockModifyCommand
|
||||
*
|
||||
* @author rplees
|
||||
* @email rplees.i.ly@gmail.com
|
||||
* @created 2024/04/10
|
||||
*/
|
||||
@Data
|
||||
@SuperBuilder
|
||||
@NoArgsConstructor
|
||||
@EqualsAndHashCode(
|
||||
callSuper = false
|
||||
)
|
||||
public class RetifiveStockModifyCommand extends RetifiveStockCreateCommand {
|
||||
Integer id;
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
package cn.stock.market.infrastructure.db.po;
|
||||
|
||||
import java.lang.Integer;
|
||||
import java.lang.String;
|
||||
import java.util.Date;
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.GeneratedValue;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import org.hibernate.annotations.DynamicInsert;
|
||||
import org.hibernate.annotations.DynamicUpdate;
|
||||
|
||||
/**
|
||||
* RetifiveStockPO
|
||||
*
|
||||
* @author rplees
|
||||
* @email rplees.i.ly@gmail.com
|
||||
* @created 2024/04/10
|
||||
*/
|
||||
@SuperBuilder
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Entity
|
||||
@DynamicInsert
|
||||
@DynamicUpdate
|
||||
@Table(
|
||||
name = "retifive_stock"
|
||||
)
|
||||
public class RetifiveStockPO {
|
||||
/**
|
||||
* 主键 */
|
||||
@Id
|
||||
@GeneratedValue(
|
||||
strategy = javax.persistence.GenerationType.IDENTITY
|
||||
)
|
||||
Integer id;
|
||||
|
||||
/**
|
||||
* 股票名称 */
|
||||
String stockName;
|
||||
|
||||
/**
|
||||
* BSE or NSE */
|
||||
String stockType;
|
||||
|
||||
/**
|
||||
* symbol,查询Rics的id用 */
|
||||
String symbol;
|
||||
|
||||
/**
|
||||
* 股票code */
|
||||
String stockCode;
|
||||
|
||||
/**
|
||||
* 保存时间 */
|
||||
Date saveTime;
|
||||
|
||||
/**
|
||||
* 是否锁定 0否 1是 */
|
||||
Integer isLock;
|
||||
|
||||
/**
|
||||
* 是否展示 0是 1否 */
|
||||
Integer isShow;
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package cn.stock.market.infrastructure.db.repo;
|
||||
|
||||
import cn.stock.market.infrastructure.db.po.RetifiveStockPO;
|
||||
import com.rp.spring.jpa.GenericJpaRepository;
|
||||
import java.lang.Integer;
|
||||
|
||||
/**
|
||||
* RetifiveStockRepo
|
||||
*
|
||||
* @author rplees
|
||||
* @email rplees.i.ly@gmail.com
|
||||
* @created 2024/04/10
|
||||
*/
|
||||
public interface RetifiveStockRepo extends GenericJpaRepository<RetifiveStockPO, Integer> {
|
||||
}
|
||||
@@ -1,6 +1,9 @@
|
||||
package cn.stock.market.web;
|
||||
|
||||
import cn.stock.market.domain.basic.entity.RetifiveStock;
|
||||
import cn.stock.market.domain.basic.service.RetifiveStockService;
|
||||
import cn.stock.market.dto.RetifiveStockInfo;
|
||||
import cn.stock.market.infrastructure.db.po.RetifiveStockPO;
|
||||
import cn.stock.market.listener.AppClient;
|
||||
import cn.stock.market.listener.ConcurrentAppClient;
|
||||
import cn.stock.market.listener.StockInfoRefinitiv;
|
||||
@@ -24,6 +27,7 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
@@ -47,6 +51,9 @@ public class MessageRetifiveController {
|
||||
@Autowired
|
||||
private MongoTemplate mongoTemplate;
|
||||
|
||||
@Autowired
|
||||
private RetifiveStockService retifiveStockService;
|
||||
|
||||
@GetMapping("/message")
|
||||
public ServerResponse<?> getMessage(@RequestParam String itemName) {
|
||||
RefreshMsg refreshMsg = null;
|
||||
@@ -141,10 +148,9 @@ public class MessageRetifiveController {
|
||||
}*/
|
||||
|
||||
|
||||
@GetMapping("/getStockInfoList2")
|
||||
@GetMapping("/testStockInfoList2")
|
||||
public ServerResponse<?> getStockInfoList2() {
|
||||
List<String> collect = mongoTemplate.query(SymbolRefinitiv.class).stream().map(SymbolRefinitiv::getSymbol).collect(Collectors.toList());
|
||||
|
||||
// 计算每个线程应处理的元素数量
|
||||
for (String itemName : collect) {
|
||||
try {
|
||||
@@ -267,6 +273,10 @@ public class MessageRetifiveController {
|
||||
String symbol = fieldEntry.load().toString();
|
||||
if(!symbol.contains("blank data")){
|
||||
mongoTemplate.insert(new SymbolRefinitiv(symbol,"bse",name));
|
||||
/* RetifiveStock retifiveStockPO = new RetifiveStock();
|
||||
retifiveStockPO.setSymbol(name);
|
||||
retifiveStockPO.setStockType("bse");
|
||||
retifiveStockService.repository().save(retifiveStockPO);*/
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -313,59 +323,7 @@ public class MessageRetifiveController {
|
||||
return nextLink;
|
||||
}
|
||||
|
||||
synchronized void decode2(FieldList fieldList,String name)
|
||||
{
|
||||
List<FieldEntry> safeList = new CopyOnWriteArrayList<>();
|
||||
for(FieldEntry fieldEntry : fieldList) {
|
||||
safeList.add(fieldEntry); // 假设这里是安全的,但实际上你可能需要根据FieldEntry的实现来确定
|
||||
}
|
||||
String stockName = "";
|
||||
String stockCode = "";
|
||||
String status = "";
|
||||
|
||||
for(FieldEntry fieldEntry : safeList)
|
||||
{
|
||||
System.out.println("Fid: " + fieldEntry.fieldId() + " Name: " + fieldEntry.name() + " value: " + fieldEntry.load());
|
||||
if(fieldEntry.name().startsWith("LINK_")){
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.ASCII){
|
||||
String symbol = fieldEntry.load().toString();
|
||||
if(!symbol.contains("blank data")){
|
||||
mongoTemplate.insert(new SymbolRefinitiv(symbol,"bse",name));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if(fieldEntry.name().equals("DSPLY_NAME")){
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.RMTES) {
|
||||
stockName = fieldEntry.load().toString();
|
||||
}
|
||||
}
|
||||
if(fieldEntry.name().equals("PROV_SYMB")){
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.RMTES) {
|
||||
stockCode = fieldEntry.load().toString();
|
||||
}
|
||||
}
|
||||
|
||||
if(fieldEntry.name().equals("TRD_STATUS")){
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.RMTES) {
|
||||
status = fieldEntry.load().toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
StockInfoRefinitiv stockInfoRefinitiv = new StockInfoRefinitiv();
|
||||
stockInfoRefinitiv.setStockName(stockName);
|
||||
stockInfoRefinitiv.setStockCode(stockCode);
|
||||
stockInfoRefinitiv.setStatus(status);
|
||||
stockInfoRefinitiv.setStockType("bse");
|
||||
stockInfoRefinitiv.setCommandStr(name);
|
||||
mongoTemplate.insert(stockInfoRefinitiv);
|
||||
}
|
||||
|
||||
|
||||
|
||||
RetifiveStockInfo decode3(FieldList fieldList, String name)
|
||||
void decode2(FieldList fieldList,String name)
|
||||
{
|
||||
Iterator<FieldEntry> iter = fieldList.iterator();
|
||||
FieldEntry fieldEntry;
|
||||
@@ -382,6 +340,7 @@ public class MessageRetifiveController {
|
||||
String low = "";
|
||||
String volume = "";//实时交易数量
|
||||
String stockType = "";
|
||||
String changeValue = "";
|
||||
while (iter.hasNext())
|
||||
{
|
||||
fieldEntry = iter.next();
|
||||
@@ -426,12 +385,148 @@ public class MessageRetifiveController {
|
||||
week52Low = fieldEntry.load().toString();
|
||||
}
|
||||
}
|
||||
if(fieldEntry.name().equals("NETCHNG_1")){
|
||||
|
||||
if(fieldEntry.name().equals("PCTCHNG")){ // NETCHNG_1
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.REAL) {
|
||||
percentChange = fieldEntry.load().toString();
|
||||
}
|
||||
}
|
||||
|
||||
if(fieldEntry.name().equals("NETCHNG_1")){ // NETCHNG_1
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.REAL) {
|
||||
changeValue = fieldEntry.load().toString();
|
||||
}
|
||||
}
|
||||
|
||||
if(fieldEntry.name().equals("HIGH_1")){
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.REAL) {
|
||||
high = fieldEntry.load().toString();
|
||||
}
|
||||
}
|
||||
|
||||
if(fieldEntry.name().equals("LOW_1")){
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.REAL) {
|
||||
low = fieldEntry.load().toString();
|
||||
}
|
||||
}
|
||||
if(fieldEntry.name().equals("IRGVOL")){
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.REAL) {
|
||||
volume = fieldEntry.load().toString();
|
||||
}
|
||||
}
|
||||
|
||||
if(fieldEntry.name().equals("TRDPRC_1")){
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.REAL) {
|
||||
price = fieldEntry.load().toString();
|
||||
}
|
||||
}
|
||||
if(fieldEntry.name().equals("RDN_EXCHID")){
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.ENUM) {
|
||||
stockType = fieldEntry.load().toString();
|
||||
if(StringUtils.equals(stockType,"145")){
|
||||
stockType = "bse";//孟买国家交易所
|
||||
}else if(StringUtils.equals(stockType,"147")){
|
||||
stockType = "nse";//印度国家交易所
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*StockInfoRefinitiv stockInfoRefinitiv = new StockInfoRefinitiv();
|
||||
stockInfoRefinitiv.setStockName(stockName);
|
||||
stockInfoRefinitiv.setStockCode(stockCode);
|
||||
stockInfoRefinitiv.setStatus(status);
|
||||
stockInfoRefinitiv.setStockType("bse");
|
||||
stockInfoRefinitiv.setCommandStr(name);
|
||||
mongoTemplate.insert(stockInfoRefinitiv);*/
|
||||
|
||||
RetifiveStockInfo retifiveStockInfo = RetifiveStockInfo.builder().stockCode(stockCode).stockName(stockName).symbol(name).status(status)
|
||||
.openPrice(openPrice).currentPrice(price).highPrice(high).lowPrice(low).previousPrice(previousPrice).changePercent(percentChange)
|
||||
.volume(volume).week52HighPrice(week52High).week52LowPrice(week52Low).stockType(stockType).changeValue(changeValue)
|
||||
.build();
|
||||
|
||||
RetifiveStock retifiveStock = RetifiveStock.builder().stockType(stockType).saveTime(new Date()).isLock(0).isShow(0)
|
||||
.stockCode(stockCode).symbol(name).stockName(stockName).build();
|
||||
retifiveStockService.repository().save(retifiveStock);
|
||||
}
|
||||
|
||||
|
||||
|
||||
RetifiveStockInfo decode3(FieldList fieldList, String name)
|
||||
{
|
||||
Iterator<FieldEntry> iter = fieldList.iterator();
|
||||
FieldEntry fieldEntry;
|
||||
String stockName = "";
|
||||
String stockCode = "";
|
||||
String status = "";
|
||||
String price = "";
|
||||
String openPrice = "";
|
||||
String previousPrice = "";
|
||||
String percentChange = "";
|
||||
String week52High ="";
|
||||
String week52Low = "";
|
||||
String high = "";
|
||||
String low = "";
|
||||
String volume = "";//实时交易数量
|
||||
String stockType = "";
|
||||
String changeValue = "";
|
||||
while (iter.hasNext())
|
||||
{
|
||||
fieldEntry = iter.next();
|
||||
System.out.println("Fid: " + fieldEntry.fieldId() + " Name: " + fieldEntry.name() +" Unit: "+DataType.asString(fieldEntry.loadType()) + " value: " + fieldEntry.load());
|
||||
if(fieldEntry.name().equals("DSPLY_NAME")){
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.RMTES) {
|
||||
stockName = fieldEntry.load().toString();
|
||||
}
|
||||
}
|
||||
if(fieldEntry.name().equals("PROV_SYMB")){
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.RMTES) {
|
||||
stockCode = fieldEntry.load().toString();
|
||||
}
|
||||
}
|
||||
|
||||
if(fieldEntry.name().equals("INST_PHASE")){
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.ENUM) {
|
||||
status = fieldEntry.load().toString();
|
||||
}
|
||||
}
|
||||
|
||||
if(fieldEntry.name().equals("OPEN_PRC")){
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.REAL) {
|
||||
openPrice = fieldEntry.load().toString();
|
||||
}
|
||||
}
|
||||
|
||||
if(fieldEntry.name().equals("HST_CLOSE")){
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.REAL) {
|
||||
previousPrice = fieldEntry.load().toString();
|
||||
}
|
||||
}
|
||||
|
||||
if(fieldEntry.name().equals("52WK_HIGH")){
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.REAL) {
|
||||
week52High = fieldEntry.load().toString();
|
||||
}
|
||||
}
|
||||
|
||||
if(fieldEntry.name().equals("52WK_LOW")){
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.REAL) {
|
||||
week52Low = fieldEntry.load().toString();
|
||||
}
|
||||
}
|
||||
|
||||
if(fieldEntry.name().equals("PCTCHNG")){ // NETCHNG_1
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.REAL) {
|
||||
percentChange = fieldEntry.load().toString();
|
||||
}
|
||||
}
|
||||
|
||||
if(fieldEntry.name().equals("NETCHNG_1")){ // NETCHNG_1
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.REAL) {
|
||||
changeValue = fieldEntry.load().toString();
|
||||
}
|
||||
}
|
||||
|
||||
if(fieldEntry.name().equals("HIGH_1")){
|
||||
if(fieldEntry.loadType() == DataType.DataTypes.REAL) {
|
||||
high = fieldEntry.load().toString();
|
||||
@@ -467,7 +562,7 @@ public class MessageRetifiveController {
|
||||
}
|
||||
RetifiveStockInfo retifiveStockInfo = RetifiveStockInfo.builder().stockCode(stockCode).stockName(stockName).symbol(name).status(status)
|
||||
.openPrice(openPrice).currentPrice(price).highPrice(high).lowPrice(low).previousPrice(previousPrice).changePercent(percentChange)
|
||||
.volume(volume).week52HighPrice(week52High).week52LowPrice(week52Low).stockType(stockType)
|
||||
.volume(volume).week52HighPrice(week52High).week52LowPrice(week52Low).stockType(stockType).changeValue(changeValue)
|
||||
.build();
|
||||
|
||||
return retifiveStockInfo;
|
||||
|
||||
@@ -31,9 +31,9 @@ public class JpaDDDGen {
|
||||
*/
|
||||
public static DataSource getMySQLDataSource() {
|
||||
MysqlDataSource mysqlDS = new MysqlDataSource();
|
||||
mysqlDS.setURL("jdbc:mysql://43.132.212.180:33306/india_stock?useUnicode=true&characterEncoding=utf-8");
|
||||
mysqlDS.setURL("jdbc:mysql://149.88.86.7:33306/india_stock?useUnicode=true&characterEncoding=utf-8");
|
||||
mysqlDS.setUser("root");
|
||||
mysqlDS.setPassword("33BsUUcnXRYgwt");
|
||||
mysqlDS.setPassword("33BsUUcnXRYgwtIND");
|
||||
return mysqlDS;
|
||||
}
|
||||
|
||||
@@ -50,7 +50,7 @@ public class JpaDDDGen {
|
||||
/**
|
||||
* cs_statistic - 要生成的数据库表
|
||||
*/
|
||||
Cons.tableNameToEntiyMapping.put("money_stock", null);
|
||||
Cons.tableNameToEntiyMapping.put("retifive_stock", null);
|
||||
|
||||
ToolDDD.g(getMySQLDataSource().getConnection());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user