feat: add btoday_stock

This commit is contained in:
rplees
2023-12-25 22:31:59 +08:00
parent bae9665176
commit d28e97d9ba
13 changed files with 431 additions and 1 deletions

View File

@@ -0,0 +1,53 @@
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;
/**
* QBtodayStockPO is a Querydsl query type for BtodayStockPO
*/
@Generated("com.querydsl.codegen.EntitySerializer")
public class QBtodayStockPO extends EntityPathBase<BtodayStockPO> {
private static final long serialVersionUID = 1079736803L;
public static final QBtodayStockPO btodayStockPO = new QBtodayStockPO("btodayStockPO");
public final StringPath coCode = createString("coCode");
public final NumberPath<Integer> id = createNumber("id", Integer.class);
public final DateTimePath<java.util.Date> lastUpdateTime = createDateTime("lastUpdateTime", java.util.Date.class);
public final StringPath selfUrl = createString("selfUrl");
public final StringPath stockCode = createString("stockCode");
public final StringPath stockName = createString("stockName");
public final StringPath stockSpell = createString("stockSpell");
public final StringPath stockType = createString("stockType");
public final StringPath url = createString("url");
public QBtodayStockPO(String variable) {
super(BtodayStockPO.class, forVariable(variable));
}
public QBtodayStockPO(Path<? extends BtodayStockPO> path) {
super(path.getType(), path.getMetadata());
}
public QBtodayStockPO(PathMetadata metadata) {
super(BtodayStockPO.class, metadata);
}
}

View File

@@ -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.BtodayStock;
import cn.stock.market.dto.BtodayStockDTO;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
/**
* BtodayStockAssembler
*
* @author rplees
* @email rplees.i.ly@gmail.com
* @created 2023/12/25
*/
@Component
@Lazy
public class BtodayStockAssembler {
public BtodayStockDTO toDTO(BtodayStock e) {
BtodayStockDTO dto = Beans.mapper(e, BtodayStockDTO.class);
if(dto == null) return dto;
fill(e, dto);
return dto;
}
protected void fill(BtodayStock e, BtodayStockDTO dto) {
if(dto == null) return;
return;
}
public static BtodayStockAssembler of() {
return SpringUtils.getBean(BtodayStockAssembler.class);
}
}

View File

@@ -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.BtodayStock;
import cn.stock.market.infrastructure.db.po.BtodayStockPO;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
/**
* BtodayStockConvert
*
* @author rplees
* @email rplees.i.ly@gmail.com
* @created 2023/12/25
*/
@Component
@Lazy
public class BtodayStockConvert extends SimpleEntityPOConvert<BtodayStock, BtodayStockPO> {
public static BtodayStockConvert of() {
return SpringUtils.getBean(BtodayStockConvert.class);
}
}

View File

@@ -0,0 +1,28 @@
package cn.stock.market.domain.basic.entity;
import cn.qutaojing.common.utils.Beans;
import cn.stock.market.dto.command.BtodayStockCreateCommand;
import cn.stock.market.infrastructure.db.po.BtodayStockPO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* BtodayStock
*
* @author rplees
* @email rplees.i.ly@gmail.com
* @created 2023/12/25
*/
@Data
@NoArgsConstructor
@SuperBuilder
@EqualsAndHashCode(
callSuper = false
)
public class BtodayStock extends BtodayStockPO {
public void update(BtodayStockCreateCommand cmd) {
Beans.copyProperties(cmd, this);
}
}

View File

@@ -0,0 +1,28 @@
package cn.stock.market.domain.basic.factory;
import cn.qutaojing.common.utils.SpringUtils;
import cn.stock.market.domain.basic.entity.BtodayStock;
import cn.stock.market.dto.command.BtodayStockCreateCommand;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
/**
* BtodayStockFactory
*
* @author rplees
* @email rplees.i.ly@gmail.com
* @created 2023/12/25
*/
@Component
@Lazy
public class BtodayStockFactory {
public static BtodayStockFactory of() {
return SpringUtils.getBean(BtodayStockFactory.class);
}
public BtodayStock from(BtodayStockCreateCommand cmd) {
BtodayStock e = BtodayStock.builder().build();
e.update(cmd);
return e;
}
}

View File

@@ -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.BtodayStockConvert;
import cn.stock.market.domain.basic.entity.BtodayStock;
import cn.stock.market.infrastructure.db.po.BtodayStockPO;
import cn.stock.market.infrastructure.db.repo.BtodayStockRepo;
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;
/**
* BtodayStockRepository
*
* @author rplees
* @email rplees.i.ly@gmail.com
* @created 2023/12/25
*/
@Repository
@RequiredArgsConstructor(
onConstructor = @__(@Autowired)
)
public class BtodayStockRepository extends SimplePoConvertEntityRepository<BtodayStock, BtodayStockPO, Integer> {
final BtodayStockRepo repo;
final BtodayStockConvert convert;
@Override
public GenericJpaRepository<BtodayStockPO, Integer> repo() {
return repo;
}
@Override
public IEntityPOConvert<BtodayStock, BtodayStockPO> convert() {
return convert;
}
public static BtodayStockRepository of() {
return SpringUtils.getBean(BtodayStockRepository.class);
}
}

View File

@@ -0,0 +1,33 @@
package cn.stock.market.domain.basic.service;
import cn.qutaojing.common.utils.SpringUtils;
import cn.stock.market.domain.basic.factory.BtodayStockFactory;
import cn.stock.market.domain.basic.repository.BtodayStockRepository;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* BtodayStockService
*
* @author rplees
* @email rplees.i.ly@gmail.com
* @created 2023/12/25
*/
@Service
@RequiredArgsConstructor(
onConstructor = @__(@Autowired)
)
public class BtodayStockService {
final BtodayStockRepository repository;
final BtodayStockFactory factory;
public BtodayStockRepository repository() {
return repository;
}
public static BtodayStockService of() {
return SpringUtils.getBean(BtodayStockService.class);
}
}

View File

@@ -0,0 +1,23 @@
package cn.stock.market.dto;
import cn.stock.market.infrastructure.db.po.BtodayStockPO;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
/**
* BtodayStockDTO
*
* @author rplees
* @email rplees.i.ly@gmail.com
* @created 2023/12/25
*/
@Data
@NoArgsConstructor
@SuperBuilder
@EqualsAndHashCode(
callSuper = false
)
public class BtodayStockDTO extends BtodayStockPO {
}

View File

@@ -0,0 +1,54 @@
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;
/**
* BtodayStockCreateCommand
*
* @author rplees
* @email rplees.i.ly@gmail.com
* @created 2023/12/25
*/
@Data
@SuperBuilder
@NoArgsConstructor
public class BtodayStockCreateCommand {
/**
* 主键 */
Integer id;
/**
* 股票名称 */
String stockName;
/**
* 股票code */
String stockCode;
/**
* 类型 */
String stockType;
String stockSpell;
/**
* btoday的业务id */
String coCode;
/**
* 主页的http链接 */
String selfUrl;
/**
* url */
String url;
/**
* 上次更新时间 */
Date lastUpdateTime;
}

View File

@@ -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;
/**
* BtodayStockModifyCommand
*
* @author rplees
* @email rplees.i.ly@gmail.com
* @created 2023/12/25
*/
@Data
@SuperBuilder
@NoArgsConstructor
@EqualsAndHashCode(
callSuper = false
)
public class BtodayStockModifyCommand extends BtodayStockCreateCommand {
Integer id;
}

View File

@@ -0,0 +1,68 @@
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.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;
/**
* BtodayStockPO
*
* @author rplees
* @email rplees.i.ly@gmail.com
* @created 2023/12/25
*/
@SuperBuilder
@Data
@NoArgsConstructor
@AllArgsConstructor
@Entity
@DynamicInsert
@DynamicUpdate
@Table(
name = "btoday_stock"
)
public class BtodayStockPO {
/**
* 主键 */
@Id
Integer id;
/**
* 股票名称 */
String stockName;
/**
* 股票code */
String stockCode;
/**
* 类型 */
String stockType;
String stockSpell;
/**
* btoday的业务id */
String coCode;
/**
* 主页的http链接 */
String selfUrl;
/**
* url */
String url;
/**
* 上次更新时间 */
Date lastUpdateTime;
}

View File

@@ -0,0 +1,15 @@
package cn.stock.market.infrastructure.db.repo;
import cn.stock.market.infrastructure.db.po.BtodayStockPO;
import com.rp.spring.jpa.GenericJpaRepository;
import java.lang.Integer;
/**
* BtodayStockRepo
*
* @author rplees
* @email rplees.i.ly@gmail.com
* @created 2023/12/25
*/
public interface BtodayStockRepo extends GenericJpaRepository<BtodayStockPO, Integer> {
}

View File

@@ -38,7 +38,7 @@ public class JpaDDDGen {
}
public static void main(String[] args) throws SQLException, Exception {
Cons.BASE_PACKAGE = "cn.stock.%s";
Cons.module = "market";
/**
* 请修改实际上本机的项目路径