diff --git a/src/main/generated/cn/stock/market/infrastructure/db/po/QBtodayStockPO.java b/src/main/generated/cn/stock/market/infrastructure/db/po/QBtodayStockPO.java new file mode 100644 index 0000000..9811eca --- /dev/null +++ b/src/main/generated/cn/stock/market/infrastructure/db/po/QBtodayStockPO.java @@ -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 { + + private static final long serialVersionUID = 1079736803L; + + public static final QBtodayStockPO btodayStockPO = new QBtodayStockPO("btodayStockPO"); + + public final StringPath coCode = createString("coCode"); + + public final NumberPath id = createNumber("id", Integer.class); + + public final DateTimePath 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 path) { + super(path.getType(), path.getMetadata()); + } + + public QBtodayStockPO(PathMetadata metadata) { + super(BtodayStockPO.class, metadata); + } + +} + diff --git a/src/main/java/cn/stock/market/application/assembler/BtodayStockAssembler.java b/src/main/java/cn/stock/market/application/assembler/BtodayStockAssembler.java new file mode 100644 index 0000000..7fce4d3 --- /dev/null +++ b/src/main/java/cn/stock/market/application/assembler/BtodayStockAssembler.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.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); + } +} diff --git a/src/main/java/cn/stock/market/domain/basic/convert/BtodayStockConvert.java b/src/main/java/cn/stock/market/domain/basic/convert/BtodayStockConvert.java new file mode 100644 index 0000000..bd71919 --- /dev/null +++ b/src/main/java/cn/stock/market/domain/basic/convert/BtodayStockConvert.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.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 { + public static BtodayStockConvert of() { + return SpringUtils.getBean(BtodayStockConvert.class); + } +} diff --git a/src/main/java/cn/stock/market/domain/basic/entity/BtodayStock.java b/src/main/java/cn/stock/market/domain/basic/entity/BtodayStock.java new file mode 100644 index 0000000..e9d3cf7 --- /dev/null +++ b/src/main/java/cn/stock/market/domain/basic/entity/BtodayStock.java @@ -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); + } +} diff --git a/src/main/java/cn/stock/market/domain/basic/factory/BtodayStockFactory.java b/src/main/java/cn/stock/market/domain/basic/factory/BtodayStockFactory.java new file mode 100644 index 0000000..4941df7 --- /dev/null +++ b/src/main/java/cn/stock/market/domain/basic/factory/BtodayStockFactory.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.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; + } +} diff --git a/src/main/java/cn/stock/market/domain/basic/repository/BtodayStockRepository.java b/src/main/java/cn/stock/market/domain/basic/repository/BtodayStockRepository.java new file mode 100644 index 0000000..1523d0f --- /dev/null +++ b/src/main/java/cn/stock/market/domain/basic/repository/BtodayStockRepository.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.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 { + final BtodayStockRepo repo; + + final BtodayStockConvert convert; + + @Override + public GenericJpaRepository repo() { + return repo; + } + + @Override + public IEntityPOConvert convert() { + return convert; + } + + public static BtodayStockRepository of() { + return SpringUtils.getBean(BtodayStockRepository.class); + } +} diff --git a/src/main/java/cn/stock/market/domain/basic/service/BtodayStockService.java b/src/main/java/cn/stock/market/domain/basic/service/BtodayStockService.java new file mode 100644 index 0000000..070d29d --- /dev/null +++ b/src/main/java/cn/stock/market/domain/basic/service/BtodayStockService.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.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); + } +} diff --git a/src/main/java/cn/stock/market/dto/BtodayStockDTO.java b/src/main/java/cn/stock/market/dto/BtodayStockDTO.java new file mode 100644 index 0000000..d6d0bf3 --- /dev/null +++ b/src/main/java/cn/stock/market/dto/BtodayStockDTO.java @@ -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 { +} diff --git a/src/main/java/cn/stock/market/dto/command/BtodayStockCreateCommand.java b/src/main/java/cn/stock/market/dto/command/BtodayStockCreateCommand.java new file mode 100644 index 0000000..db71552 --- /dev/null +++ b/src/main/java/cn/stock/market/dto/command/BtodayStockCreateCommand.java @@ -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; +} diff --git a/src/main/java/cn/stock/market/dto/command/BtodayStockModifyCommand.java b/src/main/java/cn/stock/market/dto/command/BtodayStockModifyCommand.java new file mode 100644 index 0000000..0982df3 --- /dev/null +++ b/src/main/java/cn/stock/market/dto/command/BtodayStockModifyCommand.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; + +/** + * 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; +} diff --git a/src/main/java/cn/stock/market/infrastructure/db/po/BtodayStockPO.java b/src/main/java/cn/stock/market/infrastructure/db/po/BtodayStockPO.java new file mode 100644 index 0000000..a949961 --- /dev/null +++ b/src/main/java/cn/stock/market/infrastructure/db/po/BtodayStockPO.java @@ -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; +} diff --git a/src/main/java/cn/stock/market/infrastructure/db/repo/BtodayStockRepo.java b/src/main/java/cn/stock/market/infrastructure/db/repo/BtodayStockRepo.java new file mode 100644 index 0000000..5b3da4a --- /dev/null +++ b/src/main/java/cn/stock/market/infrastructure/db/repo/BtodayStockRepo.java @@ -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 { +} diff --git a/src/test/java/rp/lee/jpa/JpaDDDGen.java b/src/test/java/rp/lee/jpa/JpaDDDGen.java index f8ae5c8..ff015fa 100644 --- a/src/test/java/rp/lee/jpa/JpaDDDGen.java +++ b/src/test/java/rp/lee/jpa/JpaDDDGen.java @@ -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"; /** * 请修改实际上本机的项目路径