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 ecaf08d..35cea62 100644 --- a/src/main/java/com/czg/mergedata/common/utils/CodeGen.java +++ b/src/main/java/com/czg/mergedata/common/utils/CodeGen.java @@ -81,7 +81,7 @@ public class CodeGen { //设置表前缀和只生成哪些表,setGenerateTable 未配置时,生成所有表 globalConfig.getStrategyConfig() .setTablePrefix("tb_") - .setGenerateTable("tb_prod_group_relation"); + .setGenerateTable("tb_group_order_coupon"); EntityConfig entityConfig = globalConfig.getEntityConfig(); if (isOldVersion) { diff --git a/src/main/java/com/czg/mergedata/controller/CouponController.java b/src/main/java/com/czg/mergedata/controller/CouponController.java new file mode 100644 index 0000000..1fb6ae0 --- /dev/null +++ b/src/main/java/com/czg/mergedata/controller/CouponController.java @@ -0,0 +1,23 @@ +package com.czg.mergedata.controller; + +import com.czg.mergedata.common.resp.CzgResult; +import com.czg.mergedata.cur.service.CurCouponCategoryService; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author GYJoker + */ +@RestController +@RequestMapping("/coupon") +public class CouponController { + @Resource + private CurCouponCategoryService curCouponCategoryService; + + @GetMapping("/category") + public CzgResult mergeCategory() { + return curCouponCategoryService.mergeData(); + } +} diff --git a/src/main/java/com/czg/mergedata/cur/entity/CurCouponCategory.java b/src/main/java/com/czg/mergedata/cur/entity/CurCouponCategory.java new file mode 100644 index 0000000..9f4ca51 --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/entity/CurCouponCategory.java @@ -0,0 +1,51 @@ +package com.czg.mergedata.cur.entity; + +import com.mybatisflex.annotation.Column; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.Table; +import java.io.Serializable; +import java.time.LocalDateTime; + +import java.io.Serial; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 团购卷分类 实体类。 + * + * @author mac + * @since 2025-02-18 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table("tb_coupon_category") +public class CurCouponCategory implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @Id + private Integer id; + + /** + * 分类名称 + */ + private String name; + + @Column(onInsertValue = "now()") + private LocalDateTime createTime; + + @Column(onInsertValue = "now()", onUpdateValue = "now()") + private LocalDateTime updateTime; + + /** + * 0:不展示;1:展示; + */ + private Integer status; + +} diff --git a/src/main/java/com/czg/mergedata/cur/entity/CurGroupOrderCoupon.java b/src/main/java/com/czg/mergedata/cur/entity/CurGroupOrderCoupon.java new file mode 100644 index 0000000..fec08c3 --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/entity/CurGroupOrderCoupon.java @@ -0,0 +1,72 @@ +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.io.Serial; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 团购卷 卷码表 实体类。 + * + * @author mac + * @since 2025-02-18 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table("tb_group_order_coupon") +public class CurGroupOrderCoupon implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @Id(keyType = KeyType.Auto) + private Integer id; + + /** + * 团购订单id + */ + private Integer orderId; + + /** + * 团购卷码 + */ + private String couponNo; + + /** + * 是否已退款 +0:否 +1:是 + */ + private Integer isRefund; + + /** + * 退款订单号 + */ + private String mchRefundNo; + + /** + * 退款金额 + */ + private BigDecimal refundAmount; + + /** + * 退款原因 + */ + private String refundReason; + + /** + * 退款说明 + */ + private String refundDesc; + +} diff --git a/src/main/java/com/czg/mergedata/cur/mapper/CurCouponCategoryMapper.java b/src/main/java/com/czg/mergedata/cur/mapper/CurCouponCategoryMapper.java new file mode 100644 index 0000000..11330df --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/mapper/CurCouponCategoryMapper.java @@ -0,0 +1,19 @@ +package com.czg.mergedata.cur.mapper; + +import com.mybatisflex.annotation.UseDataSource; +import com.mybatisflex.core.BaseMapper; +import com.czg.mergedata.cur.entity.CurCouponCategory; +import org.apache.ibatis.annotations.Select; + +/** + * 团购卷分类 映射层。 + * + * @author mac + * @since 2025-02-18 + */ +@UseDataSource("ds1") +public interface CurCouponCategoryMapper extends BaseMapper { + + @Select("truncate tb_coupon_category") + void truncateTable(); +} diff --git a/src/main/java/com/czg/mergedata/cur/mapper/CurGroupOrderCouponMapper.java b/src/main/java/com/czg/mergedata/cur/mapper/CurGroupOrderCouponMapper.java new file mode 100644 index 0000000..d5f5b1d --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/mapper/CurGroupOrderCouponMapper.java @@ -0,0 +1,19 @@ +package com.czg.mergedata.cur.mapper; + +import com.mybatisflex.annotation.UseDataSource; +import com.mybatisflex.core.BaseMapper; +import com.czg.mergedata.cur.entity.CurGroupOrderCoupon; +import org.apache.ibatis.annotations.Select; + +/** + * 团购卷 卷码表 映射层。 + * + * @author mac + * @since 2025-02-18 + */ +@UseDataSource("ds1") +public interface CurGroupOrderCouponMapper extends BaseMapper { + + @Select("truncate tb_group_order_coupon") + void truncateTable(); +} diff --git a/src/main/java/com/czg/mergedata/cur/service/CurCouponCategoryService.java b/src/main/java/com/czg/mergedata/cur/service/CurCouponCategoryService.java new file mode 100644 index 0000000..6c9c79f --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/service/CurCouponCategoryService.java @@ -0,0 +1,16 @@ +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.CurCouponCategory; + +/** + * 团购卷分类 服务层。 + * + * @author mac + * @since 2025-02-18 + */ +public interface CurCouponCategoryService extends IService { + + CzgResult mergeData(); +} diff --git a/src/main/java/com/czg/mergedata/cur/service/CurGroupOrderCouponService.java b/src/main/java/com/czg/mergedata/cur/service/CurGroupOrderCouponService.java new file mode 100644 index 0000000..d84ca6b --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/service/CurGroupOrderCouponService.java @@ -0,0 +1,14 @@ +package com.czg.mergedata.cur.service; + +import com.mybatisflex.core.service.IService; +import com.czg.mergedata.cur.entity.CurGroupOrderCoupon; + +/** + * 团购卷 卷码表 服务层。 + * + * @author mac + * @since 2025-02-18 + */ +public interface CurGroupOrderCouponService extends IService { + +} diff --git a/src/main/java/com/czg/mergedata/cur/service/impl/CurCouponCategoryServiceImpl.java b/src/main/java/com/czg/mergedata/cur/service/impl/CurCouponCategoryServiceImpl.java new file mode 100644 index 0000000..de22d84 --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/service/impl/CurCouponCategoryServiceImpl.java @@ -0,0 +1,93 @@ +package com.czg.mergedata.cur.service.impl; + +import cn.hutool.core.bean.BeanUtil; +import com.czg.mergedata.common.resp.CzgResult; +import com.czg.mergedata.common.utils.PageUtils; +import com.czg.mergedata.cur.entity.CurCouponCategory; +import com.czg.mergedata.cur.entity.CurGroupOrderCoupon; +import com.czg.mergedata.cur.mapper.CurCouponCategoryMapper; +import com.czg.mergedata.cur.mapper.CurGroupOrderCouponMapper; +import com.czg.mergedata.cur.service.CurCouponCategoryService; +import com.czg.mergedata.old.entity.OldCouponCategory; +import com.czg.mergedata.old.entity.OldGroupOrderCoupon; +import com.czg.mergedata.old.service.OldCouponCategoryService; +import com.czg.mergedata.old.service.OldGroupOrderCouponService; +import com.mybatisflex.core.paginate.Page; +import com.mybatisflex.spring.service.impl.ServiceImpl; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; + +/** + * 团购卷分类 服务层实现。 + * + * @author mac + * @since 2025-02-18 + */ +@Service +public class CurCouponCategoryServiceImpl extends ServiceImpl implements CurCouponCategoryService{ + + @Resource + private OldCouponCategoryService oldCouponCategoryService; + + @Resource + private CurGroupOrderCouponMapper curGroupOrderCouponMapper; + + @Resource + private OldGroupOrderCouponService oldGroupOrderCouponService; + + @Override + public CzgResult mergeData() { + getMapper().truncateTable(); + curGroupOrderCouponMapper.truncateTable(); + + execCouponCategory(); + execGroupOrderCoupon(); + + return CzgResult.success("迁移成功"); + } + + private void execCouponCategory() { + Page page = oldCouponCategoryService.page(PageUtils.buildPage()); + + while (!page.getRecords().isEmpty()) { + saveCouponCategory(page.getRecords()); + page = oldCouponCategoryService.page(PageUtils.buildPage(page.getPageNumber() + 1)); + } + } + + private void execGroupOrderCoupon() { + Page page = oldGroupOrderCouponService.page(PageUtils.buildPage()); + + while (!page.getRecords().isEmpty()) { + saveGroupOrderCoupon(page.getRecords()); + page = oldGroupOrderCouponService.page(PageUtils.buildPage(page.getPageNumber() + 1)); + } + } + + private void saveCouponCategory(List oldCouponCategorieList) { + List curCouponCategoryList = new ArrayList<>(); + + for (OldCouponCategory oldCouponCategory : oldCouponCategorieList) { + CurCouponCategory curCouponCategory = BeanUtil.toBean(oldCouponCategory, CurCouponCategory.class); + + curCouponCategoryList.add(curCouponCategory); + } + + saveBatch(curCouponCategoryList); + } + + private void saveGroupOrderCoupon(List oldGroupOrderCouponList) { + List curGroupOrderCouponList = new ArrayList<>(); + + for (OldGroupOrderCoupon oldGroupOrderCoupon : oldGroupOrderCouponList) { + CurGroupOrderCoupon curGroupOrderCoupon = BeanUtil.toBean(oldGroupOrderCoupon, CurGroupOrderCoupon.class); + + curGroupOrderCouponList.add(curGroupOrderCoupon); + } + + curGroupOrderCouponMapper.insertBatch(curGroupOrderCouponList); + } +} diff --git a/src/main/java/com/czg/mergedata/cur/service/impl/CurGroupOrderCouponServiceImpl.java b/src/main/java/com/czg/mergedata/cur/service/impl/CurGroupOrderCouponServiceImpl.java new file mode 100644 index 0000000..640c260 --- /dev/null +++ b/src/main/java/com/czg/mergedata/cur/service/impl/CurGroupOrderCouponServiceImpl.java @@ -0,0 +1,18 @@ +package com.czg.mergedata.cur.service.impl; + +import com.mybatisflex.spring.service.impl.ServiceImpl; +import com.czg.mergedata.cur.entity.CurGroupOrderCoupon; +import com.czg.mergedata.cur.mapper.CurGroupOrderCouponMapper; +import com.czg.mergedata.cur.service.CurGroupOrderCouponService; +import org.springframework.stereotype.Service; + +/** + * 团购卷 卷码表 服务层实现。 + * + * @author mac + * @since 2025-02-18 + */ +@Service +public class CurGroupOrderCouponServiceImpl extends ServiceImpl implements CurGroupOrderCouponService{ + +} diff --git a/src/main/java/com/czg/mergedata/old/entity/OldCouponCategory.java b/src/main/java/com/czg/mergedata/old/entity/OldCouponCategory.java new file mode 100644 index 0000000..aac325f --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/entity/OldCouponCategory.java @@ -0,0 +1,51 @@ +package com.czg.mergedata.old.entity; + +import com.mybatisflex.annotation.Column; +import com.mybatisflex.annotation.Id; +import com.mybatisflex.annotation.Table; +import java.io.Serializable; +import java.time.LocalDateTime; + +import java.io.Serial; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 团购卷分类 实体类。 + * + * @author mac + * @since 2025-02-18 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table("tb_coupon_category") +public class OldCouponCategory implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @Id + private Integer id; + + /** + * 分类名称 + */ + private String name; + + @Column(onInsertValue = "now()") + private LocalDateTime createTime; + + @Column(onInsertValue = "now()", onUpdateValue = "now()") + private LocalDateTime updateTime; + + /** + * 0:不展示;1:展示; + */ + private Integer status; + +} diff --git a/src/main/java/com/czg/mergedata/old/entity/OldGroupOrderCoupon.java b/src/main/java/com/czg/mergedata/old/entity/OldGroupOrderCoupon.java new file mode 100644 index 0000000..5b4bdac --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/entity/OldGroupOrderCoupon.java @@ -0,0 +1,72 @@ +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.io.Serial; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +/** + * 团购卷 卷码表 实体类。 + * + * @author mac + * @since 2025-02-18 + */ +@Data +@Builder +@NoArgsConstructor +@AllArgsConstructor +@Table("tb_group_order_coupon") +public class OldGroupOrderCoupon implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + @Id(keyType = KeyType.Auto) + private Integer id; + + /** + * 团购订单id + */ + private Integer orderId; + + /** + * 团购卷码 + */ + private String couponNo; + + /** + * 是否已退款 +0:否 +1:是 + */ + private Integer isRefund; + + /** + * 退款订单号 + */ + private String mchRefundNo; + + /** + * 退款金额 + */ + private BigDecimal refundAmount; + + /** + * 退款原因 + */ + private String refundReason; + + /** + * 退款说明 + */ + private String refundDesc; + +} diff --git a/src/main/java/com/czg/mergedata/old/mapper/OldCouponCategoryMapper.java b/src/main/java/com/czg/mergedata/old/mapper/OldCouponCategoryMapper.java new file mode 100644 index 0000000..2867500 --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/mapper/OldCouponCategoryMapper.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.OldCouponCategory; + +/** + * 团购卷分类 映射层。 + * + * @author mac + * @since 2025-02-18 + */ +@UseDataSource("ds2") +public interface OldCouponCategoryMapper extends BaseMapper { + +} diff --git a/src/main/java/com/czg/mergedata/old/mapper/OldGroupOrderCouponMapper.java b/src/main/java/com/czg/mergedata/old/mapper/OldGroupOrderCouponMapper.java new file mode 100644 index 0000000..3d24edc --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/mapper/OldGroupOrderCouponMapper.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.OldGroupOrderCoupon; + +/** + * 团购卷 卷码表 映射层。 + * + * @author mac + * @since 2025-02-18 + */ +@UseDataSource("ds2") +public interface OldGroupOrderCouponMapper extends BaseMapper { + +} diff --git a/src/main/java/com/czg/mergedata/old/service/OldCouponCategoryService.java b/src/main/java/com/czg/mergedata/old/service/OldCouponCategoryService.java new file mode 100644 index 0000000..781544a --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/service/OldCouponCategoryService.java @@ -0,0 +1,14 @@ +package com.czg.mergedata.old.service; + +import com.mybatisflex.core.service.IService; +import com.czg.mergedata.old.entity.OldCouponCategory; + +/** + * 团购卷分类 服务层。 + * + * @author mac + * @since 2025-02-18 + */ +public interface OldCouponCategoryService extends IService { + +} diff --git a/src/main/java/com/czg/mergedata/old/service/OldGroupOrderCouponService.java b/src/main/java/com/czg/mergedata/old/service/OldGroupOrderCouponService.java new file mode 100644 index 0000000..d366268 --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/service/OldGroupOrderCouponService.java @@ -0,0 +1,14 @@ +package com.czg.mergedata.old.service; + +import com.mybatisflex.core.service.IService; +import com.czg.mergedata.old.entity.OldGroupOrderCoupon; + +/** + * 团购卷 卷码表 服务层。 + * + * @author mac + * @since 2025-02-18 + */ +public interface OldGroupOrderCouponService extends IService { + +} diff --git a/src/main/java/com/czg/mergedata/old/service/impl/OldCouponCategoryServiceImpl.java b/src/main/java/com/czg/mergedata/old/service/impl/OldCouponCategoryServiceImpl.java new file mode 100644 index 0000000..4005535 --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/service/impl/OldCouponCategoryServiceImpl.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.OldCouponCategory; +import com.czg.mergedata.old.mapper.OldCouponCategoryMapper; +import com.czg.mergedata.old.service.OldCouponCategoryService; +import org.springframework.stereotype.Service; + +/** + * 团购卷分类 服务层实现。 + * + * @author mac + * @since 2025-02-18 + */ +@Service +public class OldCouponCategoryServiceImpl extends ServiceImpl implements OldCouponCategoryService{ + +} diff --git a/src/main/java/com/czg/mergedata/old/service/impl/OldGroupOrderCouponServiceImpl.java b/src/main/java/com/czg/mergedata/old/service/impl/OldGroupOrderCouponServiceImpl.java new file mode 100644 index 0000000..a597706 --- /dev/null +++ b/src/main/java/com/czg/mergedata/old/service/impl/OldGroupOrderCouponServiceImpl.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.OldGroupOrderCoupon; +import com.czg.mergedata.old.mapper.OldGroupOrderCouponMapper; +import com.czg.mergedata.old.service.OldGroupOrderCouponService; +import org.springframework.stereotype.Service; + +/** + * 团购卷 卷码表 服务层实现。 + * + * @author mac + * @since 2025-02-18 + */ +@Service +public class OldGroupOrderCouponServiceImpl extends ServiceImpl implements OldGroupOrderCouponService{ + +} diff --git a/src/main/resources/mapper/cur/CouponCategoryMapper.xml b/src/main/resources/mapper/cur/CouponCategoryMapper.xml new file mode 100644 index 0000000..fb4a7a1 --- /dev/null +++ b/src/main/resources/mapper/cur/CouponCategoryMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/src/main/resources/mapper/cur/GroupOrderCouponMapper.xml b/src/main/resources/mapper/cur/GroupOrderCouponMapper.xml new file mode 100644 index 0000000..349cbab --- /dev/null +++ b/src/main/resources/mapper/cur/GroupOrderCouponMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/src/main/resources/mapper/old/CouponCategoryMapper.xml b/src/main/resources/mapper/old/CouponCategoryMapper.xml new file mode 100644 index 0000000..bbaf289 --- /dev/null +++ b/src/main/resources/mapper/old/CouponCategoryMapper.xml @@ -0,0 +1,7 @@ + + + + + diff --git a/src/main/resources/mapper/old/GroupOrderCouponMapper.xml b/src/main/resources/mapper/old/GroupOrderCouponMapper.xml new file mode 100644 index 0000000..9d1ae32 --- /dev/null +++ b/src/main/resources/mapper/old/GroupOrderCouponMapper.xml @@ -0,0 +1,7 @@ + + + + +