版本控制
This commit is contained in:
@@ -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_picture_classify", "tb_picture_gallery");
|
||||
.setGenerateTable("tb_version");
|
||||
|
||||
EntityConfig entityConfig = globalConfig.getEntityConfig();
|
||||
if (IS_OLD_VERSION) {
|
||||
|
||||
@@ -37,6 +37,14 @@ public class ShopInfoController {
|
||||
@Resource
|
||||
private CurPictureGalleryService curPictureGalleryService;
|
||||
|
||||
@Resource
|
||||
private CurVersionService curVersionService;
|
||||
|
||||
@RequestMapping("/version")
|
||||
public CzgResult<String> version() {
|
||||
return curVersionService.mergeVersion();
|
||||
}
|
||||
|
||||
@RequestMapping("/picture")
|
||||
public CzgResult<String> gallery() {
|
||||
return curPictureGalleryService.mergePicture();
|
||||
|
||||
80
src/main/java/com/czg/mergedata/cur/entity/CurVersion.java
Normal file
80
src/main/java/com/czg/mergedata/cur/entity/CurVersion.java
Normal file
@@ -0,0 +1,80 @@
|
||||
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-17
|
||||
*/
|
||||
@Data
|
||||
@Builder
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@Table("tb_version")
|
||||
public class CurVersion implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id(keyType = KeyType.Auto)
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* pc 桌面端, manager_app 管理端, phone_book 电话机点餐
|
||||
*/
|
||||
private String source;
|
||||
|
||||
/**
|
||||
* 0 windows,1 安卓,2 iOS
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 版本号
|
||||
*/
|
||||
private String version;
|
||||
|
||||
/**
|
||||
* 0:不强制更新;1:强制更新
|
||||
*/
|
||||
private Integer isForce;
|
||||
|
||||
/**
|
||||
* 更新提示内容
|
||||
*/
|
||||
private String message;
|
||||
|
||||
/**
|
||||
* 下载地址
|
||||
*/
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* 更新者 id
|
||||
*/
|
||||
private Long updateUserId;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private LocalDateTime createTime;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.czg.mergedata.cur.mapper;
|
||||
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.czg.mergedata.cur.entity.CurVersion;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
/**
|
||||
* 版本管理 映射层。
|
||||
*
|
||||
* @author mac
|
||||
* @since 2025-03-17
|
||||
*/
|
||||
public interface CurVersionMapper extends BaseMapper<CurVersion> {
|
||||
|
||||
@Select("truncate tb_version ")
|
||||
void truncateTable();
|
||||
}
|
||||
@@ -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.CurVersion;
|
||||
|
||||
/**
|
||||
* 版本管理 服务层。
|
||||
*
|
||||
* @author mac
|
||||
* @since 2025-03-17
|
||||
*/
|
||||
public interface CurVersionService extends IService<CurVersion> {
|
||||
|
||||
CzgResult<String> mergeVersion();
|
||||
|
||||
}
|
||||
@@ -0,0 +1,68 @@
|
||||
package com.czg.mergedata.cur.service.impl;
|
||||
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.czg.mergedata.common.resp.CzgResult;
|
||||
import com.czg.mergedata.cur.entity.CurVersion;
|
||||
import com.czg.mergedata.cur.mapper.CurVersionMapper;
|
||||
import com.czg.mergedata.cur.service.CurVersionService;
|
||||
import com.czg.mergedata.old.entity.OldVersion;
|
||||
import com.czg.mergedata.old.service.OldVersionService;
|
||||
import com.mybatisflex.core.query.QueryWrapper;
|
||||
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 版本管理 服务层实现。
|
||||
*
|
||||
* @author mac
|
||||
* @since 2025-03-17
|
||||
*/
|
||||
@Service
|
||||
public class CurVersionServiceImpl extends ServiceImpl<CurVersionMapper, CurVersion> implements CurVersionService {
|
||||
|
||||
@Resource
|
||||
private OldVersionService oldVersionService;
|
||||
|
||||
@Override
|
||||
public CzgResult<String> mergeVersion() {
|
||||
getMapper().truncateTable();
|
||||
|
||||
List<CurVersion> curList = new ArrayList<>();
|
||||
|
||||
List<OldVersion> oldVersions = oldVersionService.queryChain().select(OldVersion::getSource).groupBy(OldVersion::getSource).list();
|
||||
|
||||
List<String> sourceList = oldVersions.stream().map(OldVersion::getSource).toList();
|
||||
|
||||
for (String source : sourceList) {
|
||||
OldVersion one = oldVersionService.getOne(QueryWrapper.create().eq(OldVersion::getSource, source).eq(OldVersion::getSel, 1));
|
||||
CurVersion curVersion = new CurVersion();
|
||||
curVersion.setId(Long.valueOf(one.getId()));
|
||||
curVersion.setSource(getSource(one.getSource()));
|
||||
curVersion.setType("pc".equals(curVersion.getSource()) ? "windows" : "android");
|
||||
curVersion.setVersion(one.getVersion());
|
||||
curVersion.setIsForce(one.getIsUp());
|
||||
curVersion.setMessage(one.getMessage());
|
||||
curVersion.setUrl(one.getUrl());
|
||||
curVersion.setUpdateUserId(1L);
|
||||
curVersion.setCreateTime(DateUtil.toLocalDateTime(one.getCreatedAt() == null ? new Date() : new Date(one.getCreatedAt())));
|
||||
curVersion.setUpdateTime(DateUtil.toLocalDateTime(one.getUpdatedAt() == null ? new Date() : new Date(one.getUpdatedAt())));
|
||||
curList.add(curVersion);
|
||||
}
|
||||
|
||||
saveBatch(curList);
|
||||
|
||||
return CzgResult.success("合并成功");
|
||||
}
|
||||
|
||||
private String getSource(String source) {
|
||||
if ("PC".equals(source)) {
|
||||
return "pc";
|
||||
}
|
||||
return source;
|
||||
}
|
||||
}
|
||||
79
src/main/java/com/czg/mergedata/old/entity/OldVersion.java
Normal file
79
src/main/java/com/czg/mergedata/old/entity/OldVersion.java
Normal file
@@ -0,0 +1,79 @@
|
||||
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.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_version")
|
||||
public class OldVersion implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id(keyType = KeyType.Auto)
|
||||
private Integer id;
|
||||
|
||||
/**
|
||||
* LDBL_APP;WX;
|
||||
*/
|
||||
private String source;
|
||||
|
||||
/**
|
||||
* ios;android;
|
||||
*/
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 版本号
|
||||
*/
|
||||
private String version;
|
||||
|
||||
/**
|
||||
* 0:不更新;1:更新
|
||||
*/
|
||||
private Integer isUp;
|
||||
|
||||
/**
|
||||
* 更新提示内容
|
||||
*/
|
||||
private String message;
|
||||
|
||||
/**
|
||||
* 下载地址
|
||||
*/
|
||||
private String url;
|
||||
|
||||
/**
|
||||
* 选中 0否 1是
|
||||
*/
|
||||
private Integer sel;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
private Long createdAt;
|
||||
|
||||
/**
|
||||
* 更新时间
|
||||
*/
|
||||
private Long updatedAt;
|
||||
|
||||
}
|
||||
@@ -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.OldVersion;
|
||||
|
||||
/**
|
||||
* 版本管理 映射层。
|
||||
*
|
||||
* @author mac
|
||||
* @since 2025-03-17
|
||||
*/
|
||||
@UseDataSource("ds2")
|
||||
public interface OldVersionMapper extends BaseMapper<OldVersion> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.czg.mergedata.old.service;
|
||||
|
||||
import com.mybatisflex.core.service.IService;
|
||||
import com.czg.mergedata.old.entity.OldVersion;
|
||||
|
||||
/**
|
||||
* 版本管理 服务层。
|
||||
*
|
||||
* @author mac
|
||||
* @since 2025-03-17
|
||||
*/
|
||||
public interface OldVersionService extends IService<OldVersion> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
package com.czg.mergedata.old.service.impl;
|
||||
|
||||
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||
import com.czg.mergedata.old.entity.OldVersion;
|
||||
import com.czg.mergedata.old.mapper.OldVersionMapper;
|
||||
import com.czg.mergedata.old.service.OldVersionService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* 版本管理 服务层实现。
|
||||
*
|
||||
* @author mac
|
||||
* @since 2025-03-17
|
||||
*/
|
||||
@Service
|
||||
public class OldVersionServiceImpl extends ServiceImpl<OldVersionMapper, OldVersion> implements OldVersionService{
|
||||
|
||||
}
|
||||
7
src/main/resources/mapper/cur/VersionMapper.xml
Normal file
7
src/main/resources/mapper/cur/VersionMapper.xml
Normal 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.CurVersionMapper">
|
||||
|
||||
</mapper>
|
||||
7
src/main/resources/mapper/old/VersionMapper.xml
Normal file
7
src/main/resources/mapper/old/VersionMapper.xml
Normal 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.OldVersionMapper">
|
||||
|
||||
</mapper>
|
||||
@@ -192,4 +192,10 @@
|
||||
- tb_picture_classify 表
|
||||
|
||||
|
||||
### 28. 版本控制
|
||||
> /merge/shopInfo/version
|
||||
#### 执行表
|
||||
- tb_version 表
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user