diff --git a/src/main/java/com/czg/mergedata/common/utils/CodeGen.java b/src/main/java/com/czg/mergedata/common/utils/CodeGen.java index 02da81b..596145a 100644 --- a/src/main/java/com/czg/mergedata/common/utils/CodeGen.java +++ b/src/main/java/com/czg/mergedata/common/utils/CodeGen.java @@ -18,8 +18,8 @@ public class CodeGen { private final static String DATABASE = "czg_cashier_test"; private final static String OLD_DATABASE = "fycashier"; -// private final static boolean IS_OLD_VERSION = false; - private final static boolean IS_OLD_VERSION = true; + private final static boolean IS_OLD_VERSION = false; +// private final static boolean IS_OLD_VERSION = true; public static void main(String[] args) { //配置数据源 @@ -81,7 +81,7 @@ public class CodeGen { //设置表前缀和只生成哪些表,setGenerateTable 未配置时,生成所有表 globalConfig.getStrategyConfig() .setTablePrefix("tb_") - .setGenerateTable("tb_version"); + .setGenerateTable("tb_free_dine_config"); EntityConfig entityConfig = globalConfig.getEntityConfig(); if (IS_OLD_VERSION) { diff --git a/src/main/java/com/czg/mergedata/controller/ShopInfoController.java b/src/main/java/com/czg/mergedata/controller/ShopInfoController.java index f461482..af76d7b 100644 --- a/src/main/java/com/czg/mergedata/controller/ShopInfoController.java +++ b/src/main/java/com/czg/mergedata/controller/ShopInfoController.java @@ -40,6 +40,14 @@ public class ShopInfoController { @Resource private CurVersionService curVersionService; + @Resource + private CurFreeDineConfigService curFreeDineConfigService; + + @RequestMapping("/freeDineConfig") + public CzgResult freeDineConfig() { + return curFreeDineConfigService.mergeData(); + } + @RequestMapping("/version") public CzgResult version() { return curVersionService.mergeVersion(); diff --git a/src/main/java/com/czg/mergedata/cur/entity/CurFreeDineConfig.java b/src/main/java/com/czg/mergedata/cur/entity/CurFreeDineConfig.java new file mode 100644 index 0000000..2c0a6b0 --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/entity/CurFreeDineConfig.java @@ -0,0 +1,91 @@ +package com.czg.mergedata.cur.entity; + +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.annotation.Table; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import java.io.Serial; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 霸王餐配置信息表 实体类。 + * + * @author mac + * @since 2025-03-17 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table("tb_free_dine_config") +public class CurFreeDineConfig implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @Id(keyType = KeyType.Auto) + private Long id; + + /** + * 是否启用 + */ + private Boolean enable; + + /** + * 充值多少倍免单 + */ + private Integer rechargeTimes; + + /** + * 订单满多少元可以使用 + */ + private BigDecimal rechargeThreshold; + + /** + * 是否与优惠券共享 + */ + private Boolean withCoupon; + + /** + * 是否与积分同享 + */ + private Boolean withPoints; + + /** + * 充值说明 + */ + private String rechargeDesc; + + /** + * 使用类型 dine-in店内 takeout 自取 post快递,takeaway外卖 + */ + private String useType; + + /** + * 门店id + */ + private Long shopId; + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 修改时间 + */ + private LocalDateTime updateTime; + + /** + * 可用的子门店id + */ + private String childShopIdList; + +} diff --git a/src/main/java/com/czg/mergedata/cur/mapper/CurFreeDineConfigMapper.java b/src/main/java/com/czg/mergedata/cur/mapper/CurFreeDineConfigMapper.java new file mode 100644 index 0000000..4be42c0 --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/mapper/CurFreeDineConfigMapper.java @@ -0,0 +1,17 @@ +package com.czg.mergedata.cur.mapper; + +import com.mybatisflex.core.BaseMapper; +import com.czg.mergedata.cur.entity.CurFreeDineConfig; +import org.apache.ibatis.annotations.Select; + +/** + * 霸王餐配置信息表 映射层。 + * + * @author mac + * @since 2025-03-17 + */ +public interface CurFreeDineConfigMapper extends BaseMapper { + + @Select("truncate tb_free_dine_config") + void truncateTable(); +} diff --git a/src/main/java/com/czg/mergedata/cur/service/CurFreeDineConfigService.java b/src/main/java/com/czg/mergedata/cur/service/CurFreeDineConfigService.java new file mode 100644 index 0000000..4bc45e2 --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/service/CurFreeDineConfigService.java @@ -0,0 +1,17 @@ +package com.czg.mergedata.cur.service; + +import com.czg.mergedata.common.resp.CzgResult; +import com.mybatisflex.core.service.IService; +import com.czg.mergedata.cur.entity.CurFreeDineConfig; + +/** + * 霸王餐配置信息表 服务层。 + * + * @author mac + * @since 2025-03-17 + */ +public interface CurFreeDineConfigService extends IService { + + CzgResult mergeData(); + +} diff --git a/src/main/java/com/czg/mergedata/cur/service/impl/CurFreeDineConfigServiceImpl.java b/src/main/java/com/czg/mergedata/cur/service/impl/CurFreeDineConfigServiceImpl.java new file mode 100644 index 0000000..2606d35 --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/service/impl/CurFreeDineConfigServiceImpl.java @@ -0,0 +1,45 @@ +package com.czg.mergedata.cur.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.czg.mergedata.common.resp.CzgResult; +import com.czg.mergedata.old.service.OldFreeDineConfigService; +import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.czg.mergedata.cur.entity.CurFreeDineConfig; +import com.czg.mergedata.cur.mapper.CurFreeDineConfigMapper; +import com.czg.mergedata.cur.service.CurFreeDineConfigService; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.List; + +/** + * 霸王餐配置信息表 服务层实现。 + * + * @author mac + * @since 2025-03-17 + */ +@Service +public class CurFreeDineConfigServiceImpl extends ServiceImpl implements CurFreeDineConfigService { + + @Resource + private OldFreeDineConfigService oldFreeDineConfigService; + + @Override + @Transactional + public CzgResult mergeData() { + getMapper().truncateTable(); + + List curFreeDineConfigs = new ArrayList<>(); + + oldFreeDineConfigService.list().forEach(oldFreeDineConfig -> { + CurFreeDineConfig curFreeDineConfig = BeanUtil.toBean(oldFreeDineConfig, CurFreeDineConfig.class); + curFreeDineConfigs.add(curFreeDineConfig); + }); + + saveBatch(curFreeDineConfigs); + + return CzgResult.success("数据合并成功"); + } +} diff --git a/src/main/java/com/czg/mergedata/old/entity/OldFreeDineConfig.java b/src/main/java/com/czg/mergedata/old/entity/OldFreeDineConfig.java new file mode 100644 index 0000000..9219754 --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/entity/OldFreeDineConfig.java @@ -0,0 +1,91 @@ +package com.czg.mergedata.old.entity; + +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.KeyType; +import com.mybatisflex.annotation.Table; +import java.io.Serializable; +import java.math.BigDecimal; +import java.time.LocalDateTime; + +import java.io.Serial; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 霸王餐配置信息表 实体类。 + * + * @author mac + * @since 2025-03-17 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table("tb_free_dine_config") +public class OldFreeDineConfig implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @Id(keyType = KeyType.Auto) + private Integer id; + + /** + * 是否启用 + */ + private Boolean enable; + + /** + * 充值多少倍免单 + */ + private Integer rechargeTimes; + + /** + * 订单满多少元可以使用 + */ + private BigDecimal rechargeThreshold; + + /** + * 是否与优惠券共享 + */ + private Boolean withCoupon; + + /** + * 是否与积分同享 + */ + private Boolean withPoints; + + /** + * 充值说明 + */ + private String rechargeDesc; + + /** + * 使用类型 dine-in店内 takeout 自取 post快递,takeaway外卖 + */ + private String useType; + + /** + * 门店id + */ + private Integer shopId; + + /** + * 创建时间 + */ + private LocalDateTime createTime; + + /** + * 修改时间 + */ + private LocalDateTime updateTime; + + /** + * 可用的子门店id + */ + private String childShopIdList; + +} diff --git a/src/main/java/com/czg/mergedata/old/mapper/OldFreeDineConfigMapper.java b/src/main/java/com/czg/mergedata/old/mapper/OldFreeDineConfigMapper.java new file mode 100644 index 0000000..9d5bf17 --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/mapper/OldFreeDineConfigMapper.java @@ -0,0 +1,16 @@ +package com.czg.mergedata.old.mapper; + +import com.mybatisflex.annotation.UseDataSource; +import com.mybatisflex.core.BaseMapper; +import com.czg.mergedata.old.entity.OldFreeDineConfig; + +/** + * 霸王餐配置信息表 映射层。 + * + * @author mac + * @since 2025-03-17 + */ +@UseDataSource("ds2") +public interface OldFreeDineConfigMapper extends BaseMapper { + +} diff --git a/src/main/java/com/czg/mergedata/old/service/OldFreeDineConfigService.java b/src/main/java/com/czg/mergedata/old/service/OldFreeDineConfigService.java new file mode 100644 index 0000000..e27e5a7 --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/service/OldFreeDineConfigService.java @@ -0,0 +1,14 @@ +package com.czg.mergedata.old.service; + +import com.mybatisflex.core.service.IService; +import com.czg.mergedata.old.entity.OldFreeDineConfig; + +/** + * 霸王餐配置信息表 服务层。 + * + * @author mac + * @since 2025-03-17 + */ +public interface OldFreeDineConfigService extends IService { + +} diff --git a/src/main/java/com/czg/mergedata/old/service/impl/OldFreeDineConfigServiceImpl.java b/src/main/java/com/czg/mergedata/old/service/impl/OldFreeDineConfigServiceImpl.java new file mode 100644 index 0000000..00f8812 --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/service/impl/OldFreeDineConfigServiceImpl.java @@ -0,0 +1,18 @@ +package com.czg.mergedata.old.service.impl; + +import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.czg.mergedata.old.entity.OldFreeDineConfig; +import com.czg.mergedata.old.mapper.OldFreeDineConfigMapper; +import com.czg.mergedata.old.service.OldFreeDineConfigService; +import org.springframework.stereotype.Service; + +/** + * 霸王餐配置信息表 服务层实现。 + * + * @author mac + * @since 2025-03-17 + */ +@Service +public class OldFreeDineConfigServiceImpl extends ServiceImpl implements OldFreeDineConfigService{ + +} diff --git a/src/main/resources/mapper/cur/FreeDineConfigMapper.xml b/src/main/resources/mapper/cur/FreeDineConfigMapper.xml new file mode 100644 index 0000000..1c4fb45 --- /dev/null +++ b/src/main/resources/mapper/cur/FreeDineConfigMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/src/main/resources/mapper/old/FreeDineConfigMapper.xml b/src/main/resources/mapper/old/FreeDineConfigMapper.xml new file mode 100644 index 0000000..9580c30 --- /dev/null +++ b/src/main/resources/mapper/old/FreeDineConfigMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/收银机数据迁移关系.md b/收银机数据迁移关系.md index ff9bed7..12fe076 100644 --- a/收银机数据迁移关系.md +++ b/收银机数据迁移关系.md @@ -198,4 +198,10 @@ - tb_version 表 +### 29. 霸王餐配置 +> /merge/shopInfo/freeDineConfig +#### 执行表 +- tb_free_dine_config 表 + +