This commit is contained in:
GYJ 2025-03-15 09:22:06 +08:00
parent d8de04423c
commit 1222faeb20
13 changed files with 333 additions and 3 deletions

View File

@ -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 isOldVersion = false;
private final static boolean isOldVersion = true;
private final static boolean isOldVersion = false;
// private final static boolean isOldVersion = true;
public static void main(String[] args) {
//配置数据源
@ -81,7 +81,7 @@ public class CodeGen {
//设置表前缀和只生成哪些表setGenerateTable 未配置时生成所有表
globalConfig.getStrategyConfig()
.setTablePrefix("tb_")
.setGenerateTable("tb_shop_storage", "tb_shop_storage_good", "tb_shop_storage_record");
.setGenerateTable("tb_shop_ad");
EntityConfig entityConfig = globalConfig.getEntityConfig();
if (isOldVersion) {

View File

@ -1,6 +1,7 @@
package com.czg.mergedata.controller;
import com.czg.mergedata.common.resp.CzgResult;
import com.czg.mergedata.cur.service.CurShopAdService;
import com.czg.mergedata.cur.service.CurShopStorageService;
import jakarta.annotation.Resource;
import org.springframework.web.bind.annotation.RequestMapping;
@ -16,8 +17,16 @@ public class ShopInfoController {
@Resource
private CurShopStorageService curShopStorageService;
@Resource
private CurShopAdService curShopAdService;
@RequestMapping("/storage")
public CzgResult<String> mergeShopStorage() {
return curShopStorageService.mergeData();
}
@RequestMapping("/ad")
public CzgResult<String> mergeShopAd() {
return curShopAdService.mergeShopAd();
}
}

View File

@ -0,0 +1,88 @@
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.time.LocalDateTime;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 店铺广告 实体类
*
* @author mac
* @since 2025-03-15
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("tb_shop_ad")
public class CurShopAd implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 自增id
*/
@Id(keyType = KeyType.Auto)
private Long id;
/**
* 店铺id如果是通用广告则为0
*/
private Long shopId;
/**
* 广告图片地址
*/
private String imgUrl;
/**
* 跳转页面路径
*/
private String linkPath;
/**
* 广告展示圆角
*/
private Integer borderRadius;
/**
* 弹窗展示位置home首页make_order点餐页
*/
private String showPosition;
/**
* 显示频率only_one 仅首次展示, every_show 每次打开都展示every_day 每天展示一次three_day 每三天展示一次 seven_day 每七天展示一次 thirty_day 没30天展示一次
*/
private String frequency;
/**
* 广告状态0未启用1已启用
*/
private Integer status;
/**
* 排序
*/
private Integer sort;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}

View File

@ -0,0 +1,17 @@
package com.czg.mergedata.cur.mapper;
import com.mybatisflex.core.BaseMapper;
import com.czg.mergedata.cur.entity.CurShopAd;
import org.apache.ibatis.annotations.Select;
/**
* 店铺广告 映射层
*
* @author mac
* @since 2025-03-15
*/
public interface CurShopAdMapper extends BaseMapper<CurShopAd> {
@Select("truncate tb_shop_ad")
void truncateTable();
}

View File

@ -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.CurShopAd;
/**
* 店铺广告 服务层
*
* @author mac
* @since 2025-03-15
*/
public interface CurShopAdService extends IService<CurShopAd> {
CzgResult<String> mergeShopAd();
}

View File

@ -0,0 +1,44 @@
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.OldShopAdService;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.czg.mergedata.cur.entity.CurShopAd;
import com.czg.mergedata.cur.mapper.CurShopAdMapper;
import com.czg.mergedata.cur.service.CurShopAdService;
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-15
*/
@Service
public class CurShopAdServiceImpl extends ServiceImpl<CurShopAdMapper, CurShopAd> implements CurShopAdService {
@Resource
private OldShopAdService oldShopAdService;
@Override
@Transactional
public CzgResult<String> mergeShopAd() {
getMapper().truncateTable();
List<CurShopAd> curShopAds = new ArrayList<>();
oldShopAdService.list().forEach(item -> {
CurShopAd bean = BeanUtil.toBean(item, CurShopAd.class);
curShopAds.add(bean);
});
saveBatch(curShopAds);
return CzgResult.success("店铺广告合并成功");
}
}

View File

@ -0,0 +1,88 @@
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.time.LocalDateTime;
import java.io.Serial;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 实体类
*
* @author mac
* @since 2025-03-15
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Table("tb_shop_ad")
public class OldShopAd implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 自增id
*/
@Id(keyType = KeyType.Auto)
private Integer id;
/**
* 店铺id如果是通用广告则为0
*/
private Integer shopId;
/**
* 广告图片地址
*/
private String imgUrl;
/**
* 跳转页面路径
*/
private String linkPath;
/**
* 广告展示圆角
*/
private Integer borderRadius;
/**
* 弹窗展示位置home首页make_order点餐页
*/
private String showPosition;
/**
* 显示频率only_one 仅首次展示, every_show 每次打开都展示every_day 每天展示一次three_day 每三天展示一次 seven_day 每七天展示一次 thirty_day 没30天展示一次
*/
private String frequency;
/**
* 广告状态0未启用1已启用
*/
private Integer status;
/**
* 排序
*/
private Integer sort;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}

View File

@ -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.OldShopAd;
/**
* 映射层
*
* @author mac
* @since 2025-03-15
*/
@UseDataSource("ds2")
public interface OldShopAdMapper extends BaseMapper<OldShopAd> {
}

View File

@ -0,0 +1,14 @@
package com.czg.mergedata.old.service;
import com.mybatisflex.core.service.IService;
import com.czg.mergedata.old.entity.OldShopAd;
/**
* 服务层
*
* @author mac
* @since 2025-03-15
*/
public interface OldShopAdService extends IService<OldShopAd> {
}

View File

@ -0,0 +1,18 @@
package com.czg.mergedata.old.service.impl;
import com.mybatisflex.spring.service.impl.ServiceImpl;
import com.czg.mergedata.old.entity.OldShopAd;
import com.czg.mergedata.old.mapper.OldShopAdMapper;
import com.czg.mergedata.old.service.OldShopAdService;
import org.springframework.stereotype.Service;
/**
* 服务层实现
*
* @author mac
* @since 2025-03-15
*/
@Service
public class OldShopAdServiceImpl extends ServiceImpl<OldShopAdMapper, OldShopAd> implements OldShopAdService{
}

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.czg.mergedata.cur.mapper.CurShopAdMapper">
</mapper>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.czg.mergedata.old.mapper.OldShopAdMapper">
</mapper>

View File

@ -145,3 +145,9 @@
- tb_shop_storage 表
### 21. 广告配置
> /merge/shopInfo/ad
#### 执行表
- tb_shop_ad 表