diff --git a/src/main/java/cn/stock/market/infrastructure/job/Scraper.java b/src/main/java/cn/stock/market/infrastructure/job/Scraper.java index 23dfa4e..a5def43 100644 --- a/src/main/java/cn/stock/market/infrastructure/job/Scraper.java +++ b/src/main/java/cn/stock/market/infrastructure/job/Scraper.java @@ -31,6 +31,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.io.IOException; +import java.math.BigDecimal; import java.sql.Timestamp; import java.util.ArrayList; import java.util.Date; @@ -148,7 +149,14 @@ public class Scraper { stockIpo.setStockPrice(entry.getBigDecimal("issue_price")); stockIpo.setSubscriptionDate(convertStringToTimestamp(entry.getString("open_date"))); stockIpo.setListingDate(convertStringToTimestamp(entry.getString("listing_date"))); - stockIpo.setTotalNumber(entry.getInteger("lot_size")); + Integer totalNumber = 0; + if(null!=entry.getInteger("issue_size")&&entry.getBigDecimal("issue_price")!=null&&!entry.getBigDecimal("issue_price").equals(BigDecimal.valueOf(0))){ + Integer issue_size = entry.getInteger("issue_size"); + BigDecimal issueSize = new BigDecimal(issue_size); + BigDecimal totalNumberBigDecimal = issueSize.divide(entry.getBigDecimal("issue_price"), 2, BigDecimal.ROUND_HALF_UP); + totalNumber = totalNumberBigDecimal.intValue(); + } + stockIpo.setTotalNumber(totalNumber); stockIpo.setApply(entry.getString("total_subs")); stockIpo.setCreateDate(new Date()); stockIpo.setUpdateDate(new Date()); @@ -164,7 +172,14 @@ public class Scraper { stockIpo.setStockPrice(entry.getBigDecimal("issue_price")); stockIpo.setSubscriptionDate(convertStringToTimestamp(entry.getString("open_date"))); stockIpo.setListingDate(convertStringToTimestamp(entry.getString("listing_date"))); - stockIpo.setTotalNumber(entry.getInteger("lot_size")); + Integer totalNumber = 0; + if(null!=entry.getInteger("issue_size")&&entry.getBigDecimal("issue_price")!=null&&!entry.getBigDecimal("issue_price").equals(BigDecimal.valueOf(0))){ + Integer issue_size = entry.getInteger("issue_size"); + BigDecimal issueSize = new BigDecimal(issue_size); + BigDecimal totalNumberBigDecimal = issueSize.divide(entry.getBigDecimal("issue_price"), 2, BigDecimal.ROUND_HALF_UP); + totalNumber = totalNumberBigDecimal.intValue(); + } + stockIpo.setTotalNumber(totalNumber); stockIpo.setApply(entry.getString("total_subs")); stockIpo.setCreateDate(new Date()); stockIpo.setUpdateDate(new Date());