package quant.rich.emoney.entity.postgre; import java.time.LocalDateTime; import lombok.Data; import lombok.experimental.Accessors; /** * 益盟个股策略信息,包含策略类型和日期 */ @Data @Accessors(chain=true) public class StockStrategy { private String tsCode; private LocalDateTime date; private String strategyName; private Integer strategyId; private String poolName; private String type; private Integer poolId; public StockStrategy setTsCodeFromGoodsId(Integer goodsId) { // 自动将益盟 goodsId 转换成 tsCode // 1301325 -> 301325.SZ // 600325 -> 600325.SH // 1920009 -> 920009.BJ String goodsIdStr = goodsId.toString(); RuntimeException e = new RuntimeException("无法将 goodsId " + goodsIdStr + " 转换为 tsCode"); if (goodsIdStr.length() == 6) { // SH return setTsCode(goodsIdStr + ".SH"); } else if (goodsIdStr.length() == 7) { if (goodsIdStr.charAt(0) != '1') { throw e; } if (goodsIdStr.charAt(1) == '9') { // BJ return setTsCode(goodsIdStr.substring(1) + ".BJ"); } // SZ return setTsCode(goodsIdStr.substring(1) + ".SZ"); } throw e; } }