diff --git a/src/main/generated/cn/stock/market/infrastructure/db/po/QRetifiveStockPO.java b/src/main/generated/cn/stock/market/infrastructure/db/po/QRetifiveStockPO.java new file mode 100644 index 0000000..a5f3d02 --- /dev/null +++ b/src/main/generated/cn/stock/market/infrastructure/db/po/QRetifiveStockPO.java @@ -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 { + + private static final long serialVersionUID = -280817720L; + + public static final QRetifiveStockPO retifiveStockPO = new QRetifiveStockPO("retifiveStockPO"); + + 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 DateTimePath 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 path) { + super(path.getType(), path.getMetadata()); + } + + public QRetifiveStockPO(PathMetadata metadata) { + super(RetifiveStockPO.class, metadata); + } + +} + diff --git a/src/main/java/cn/stock/market/application/assembler/RetifiveStockAssembler.java b/src/main/java/cn/stock/market/application/assembler/RetifiveStockAssembler.java new file mode 100644 index 0000000..7ef88cd --- /dev/null +++ b/src/main/java/cn/stock/market/application/assembler/RetifiveStockAssembler.java @@ -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); + } +} diff --git a/src/main/java/cn/stock/market/domain/basic/convert/RetifiveStockConvert.java b/src/main/java/cn/stock/market/domain/basic/convert/RetifiveStockConvert.java new file mode 100644 index 0000000..afcab1b --- /dev/null +++ b/src/main/java/cn/stock/market/domain/basic/convert/RetifiveStockConvert.java @@ -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 { + public static RetifiveStockConvert of() { + return SpringUtils.getBean(RetifiveStockConvert.class); + } +} diff --git a/src/main/java/cn/stock/market/domain/basic/entity/RetifiveStock.java b/src/main/java/cn/stock/market/domain/basic/entity/RetifiveStock.java new file mode 100644 index 0000000..9e14838 --- /dev/null +++ b/src/main/java/cn/stock/market/domain/basic/entity/RetifiveStock.java @@ -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); + } +} diff --git a/src/main/java/cn/stock/market/domain/basic/factory/RetifiveStockFactory.java b/src/main/java/cn/stock/market/domain/basic/factory/RetifiveStockFactory.java new file mode 100644 index 0000000..851add4 --- /dev/null +++ b/src/main/java/cn/stock/market/domain/basic/factory/RetifiveStockFactory.java @@ -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; + } +} diff --git a/src/main/java/cn/stock/market/domain/basic/repository/RetifiveStockRepository.java b/src/main/java/cn/stock/market/domain/basic/repository/RetifiveStockRepository.java new file mode 100644 index 0000000..96833cf --- /dev/null +++ b/src/main/java/cn/stock/market/domain/basic/repository/RetifiveStockRepository.java @@ -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 { + final RetifiveStockRepo repo; + + final RetifiveStockConvert convert; + + @Override + public GenericJpaRepository repo() { + return repo; + } + + @Override + public IEntityPOConvert convert() { + return convert; + } + + public static RetifiveStockRepository of() { + return SpringUtils.getBean(RetifiveStockRepository.class); + } +} diff --git a/src/main/java/cn/stock/market/domain/basic/service/RetifiveStockService.java b/src/main/java/cn/stock/market/domain/basic/service/RetifiveStockService.java new file mode 100644 index 0000000..692c459 --- /dev/null +++ b/src/main/java/cn/stock/market/domain/basic/service/RetifiveStockService.java @@ -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); + } +} diff --git a/src/main/java/cn/stock/market/dto/RetifiveStockDTO.java b/src/main/java/cn/stock/market/dto/RetifiveStockDTO.java new file mode 100644 index 0000000..68e121b --- /dev/null +++ b/src/main/java/cn/stock/market/dto/RetifiveStockDTO.java @@ -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 { +} diff --git a/src/main/java/cn/stock/market/dto/RetifiveStockInfo.java b/src/main/java/cn/stock/market/dto/RetifiveStockInfo.java index 8206dff..74bd892 100644 --- a/src/main/java/cn/stock/market/dto/RetifiveStockInfo.java +++ b/src/main/java/cn/stock/market/dto/RetifiveStockInfo.java @@ -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; // 成交量 diff --git a/src/main/java/cn/stock/market/dto/command/RetifiveStockCreateCommand.java b/src/main/java/cn/stock/market/dto/command/RetifiveStockCreateCommand.java new file mode 100644 index 0000000..cce8a20 --- /dev/null +++ b/src/main/java/cn/stock/market/dto/command/RetifiveStockCreateCommand.java @@ -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; +} diff --git a/src/main/java/cn/stock/market/dto/command/RetifiveStockModifyCommand.java b/src/main/java/cn/stock/market/dto/command/RetifiveStockModifyCommand.java new file mode 100644 index 0000000..4bbdd7e --- /dev/null +++ b/src/main/java/cn/stock/market/dto/command/RetifiveStockModifyCommand.java @@ -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; +} diff --git a/src/main/java/cn/stock/market/infrastructure/db/po/RetifiveStockPO.java b/src/main/java/cn/stock/market/infrastructure/db/po/RetifiveStockPO.java new file mode 100644 index 0000000..cbefa56 --- /dev/null +++ b/src/main/java/cn/stock/market/infrastructure/db/po/RetifiveStockPO.java @@ -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; +} diff --git a/src/main/java/cn/stock/market/infrastructure/db/repo/RetifiveStockRepo.java b/src/main/java/cn/stock/market/infrastructure/db/repo/RetifiveStockRepo.java new file mode 100644 index 0000000..f872229 --- /dev/null +++ b/src/main/java/cn/stock/market/infrastructure/db/repo/RetifiveStockRepo.java @@ -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 { +} diff --git a/src/main/java/cn/stock/market/web/MessageRetifiveController.java b/src/main/java/cn/stock/market/web/MessageRetifiveController.java index da4a91d..d869486 100644 --- a/src/main/java/cn/stock/market/web/MessageRetifiveController.java +++ b/src/main/java/cn/stock/market/web/MessageRetifiveController.java @@ -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 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 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 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 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; diff --git a/src/test/java/rp/lee/jpa/JpaDDDGen.java b/src/test/java/rp/lee/jpa/JpaDDDGen.java index 98b0b7d..09477bd 100644 --- a/src/test/java/rp/lee/jpa/JpaDDDGen.java +++ b/src/test/java/rp/lee/jpa/JpaDDDGen.java @@ -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()); }