This commit is contained in:
parent
2ff33b9c00
commit
0571be26d9
7
pom.xml
7
pom.xml
|
|
@ -90,6 +90,13 @@
|
||||||
<artifactId>fastjson2</artifactId>
|
<artifactId>fastjson2</artifactId>
|
||||||
<version>2.0.54</version>
|
<version>2.0.54</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba</groupId>
|
||||||
|
<artifactId>easyexcel</artifactId>
|
||||||
|
<version>4.0.3</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,8 @@ public class CodeGen {
|
||||||
private final static String DATABASE = "czg_cashier_test";
|
private final static String DATABASE = "czg_cashier_test";
|
||||||
private final static String OLD_DATABASE = "fycashier";
|
private final static String OLD_DATABASE = "fycashier";
|
||||||
|
|
||||||
// private final static boolean IS_OLD_VERSION = false;
|
private final static boolean IS_OLD_VERSION = false;
|
||||||
private final static boolean IS_OLD_VERSION = true;
|
// private final static boolean IS_OLD_VERSION = true;
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
//配置数据源
|
//配置数据源
|
||||||
|
|
@ -81,7 +81,7 @@ public class CodeGen {
|
||||||
//设置表前缀和只生成哪些表,setGenerateTable 未配置时,生成所有表
|
//设置表前缀和只生成哪些表,setGenerateTable 未配置时,生成所有表
|
||||||
globalConfig.getStrategyConfig()
|
globalConfig.getStrategyConfig()
|
||||||
.setTablePrefix("tb_")
|
.setTablePrefix("tb_")
|
||||||
.setGenerateTable("tb_shop_share_record", "tb_shop_share", "tb_shop_song_order", "tb_shop_song");
|
.setGenerateTable("tb_picture_classify", "tb_picture_gallery");
|
||||||
|
|
||||||
EntityConfig entityConfig = globalConfig.getEntityConfig();
|
EntityConfig entityConfig = globalConfig.getEntityConfig();
|
||||||
if (IS_OLD_VERSION) {
|
if (IS_OLD_VERSION) {
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,14 @@ public class ShopInfoController {
|
||||||
@Resource
|
@Resource
|
||||||
private CurShopShareService curShopShareService;
|
private CurShopShareService curShopShareService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CurPictureGalleryService curPictureGalleryService;
|
||||||
|
|
||||||
|
@RequestMapping("/picture")
|
||||||
|
public CzgResult<String> gallery() {
|
||||||
|
return curPictureGalleryService.mergePicture();
|
||||||
|
}
|
||||||
|
|
||||||
@RequestMapping("/share")
|
@RequestMapping("/share")
|
||||||
public CzgResult<String> share() {
|
public CzgResult<String> share() {
|
||||||
return curShopShareService.mergeShopShare();
|
return curShopShareService.mergeShopShare();
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,70 @@
|
||||||
|
package com.czg.mergedata.cur.entity;
|
||||||
|
|
||||||
|
import com.mybatisflex.annotation.Column;
|
||||||
|
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_picture_classify")
|
||||||
|
public class CurPictureClassify implements Serializable {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
@Id(keyType = KeyType.Auto)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 店铺id
|
||||||
|
*/
|
||||||
|
private Long shopId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 分类名称
|
||||||
|
*/
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 排序值
|
||||||
|
*/
|
||||||
|
private Integer sort;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单位来源 1-系统预设 0-商家创建
|
||||||
|
*/
|
||||||
|
private Integer isSystem;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
@Column(onInsertValue = "now()")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 逻辑删除 1-是 0-否
|
||||||
|
*/
|
||||||
|
private Integer isDel;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,65 @@
|
||||||
|
package com.czg.mergedata.cur.entity;
|
||||||
|
|
||||||
|
import com.mybatisflex.annotation.Column;
|
||||||
|
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_picture_gallery")
|
||||||
|
public class CurPictureGallery implements Serializable {
|
||||||
|
|
||||||
|
@Serial
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* id
|
||||||
|
*/
|
||||||
|
@Id(keyType = KeyType.Auto)
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 店铺id
|
||||||
|
*/
|
||||||
|
private Long shopId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图片分类id
|
||||||
|
*/
|
||||||
|
private Long pictureClassifyId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图片URL地址
|
||||||
|
*/
|
||||||
|
private String url;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 创建时间
|
||||||
|
*/
|
||||||
|
@Column(onInsertValue = "now()")
|
||||||
|
private LocalDateTime createTime;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 逻辑删除 1-是 0-否
|
||||||
|
*/
|
||||||
|
private Integer isDel;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
package com.czg.mergedata.cur.mapper;
|
||||||
|
|
||||||
|
import com.mybatisflex.core.BaseMapper;
|
||||||
|
import com.czg.mergedata.cur.entity.CurPictureClassify;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图片分类 映射层。
|
||||||
|
*
|
||||||
|
* @author mac
|
||||||
|
* @since 2025-03-15
|
||||||
|
*/
|
||||||
|
public interface CurPictureClassifyMapper extends BaseMapper<CurPictureClassify> {
|
||||||
|
@Select("truncate tb_picture_classify")
|
||||||
|
void truncateTable();
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
package com.czg.mergedata.cur.mapper;
|
||||||
|
|
||||||
|
import com.mybatisflex.core.BaseMapper;
|
||||||
|
import com.czg.mergedata.cur.entity.CurPictureGallery;
|
||||||
|
import org.apache.ibatis.annotations.Select;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图库 映射层。
|
||||||
|
*
|
||||||
|
* @author mac
|
||||||
|
* @since 2025-03-15
|
||||||
|
*/
|
||||||
|
public interface CurPictureGalleryMapper extends BaseMapper<CurPictureGallery> {
|
||||||
|
@Select("truncate tb_picture_gallery")
|
||||||
|
void truncateTable();
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.czg.mergedata.cur.service;
|
||||||
|
|
||||||
|
import com.mybatisflex.core.service.IService;
|
||||||
|
import com.czg.mergedata.cur.entity.CurPictureClassify;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图片分类 服务层。
|
||||||
|
*
|
||||||
|
* @author mac
|
||||||
|
* @since 2025-03-15
|
||||||
|
*/
|
||||||
|
public interface CurPictureClassifyService extends IService<CurPictureClassify> {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -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.CurPictureGallery;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图库 服务层。
|
||||||
|
*
|
||||||
|
* @author mac
|
||||||
|
* @since 2025-03-15
|
||||||
|
*/
|
||||||
|
public interface CurPictureGalleryService extends IService<CurPictureGallery> {
|
||||||
|
|
||||||
|
CzgResult<String> mergePicture();
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,18 @@
|
||||||
|
package com.czg.mergedata.cur.service.impl;
|
||||||
|
|
||||||
|
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||||
|
import com.czg.mergedata.cur.entity.CurPictureClassify;
|
||||||
|
import com.czg.mergedata.cur.mapper.CurPictureClassifyMapper;
|
||||||
|
import com.czg.mergedata.cur.service.CurPictureClassifyService;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图片分类 服务层实现。
|
||||||
|
*
|
||||||
|
* @author mac
|
||||||
|
* @since 2025-03-15
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class CurPictureClassifyServiceImpl extends ServiceImpl<CurPictureClassifyMapper, CurPictureClassify> implements CurPictureClassifyService{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,123 @@
|
||||||
|
package com.czg.mergedata.cur.service.impl;
|
||||||
|
|
||||||
|
import com.alibaba.excel.EasyExcel;
|
||||||
|
import com.alibaba.excel.read.builder.ExcelReaderBuilder;
|
||||||
|
import com.czg.mergedata.common.resp.CzgResult;
|
||||||
|
import com.czg.mergedata.cur.entity.CurPictureClassify;
|
||||||
|
import com.czg.mergedata.cur.entity.CurPictureGallery;
|
||||||
|
import com.czg.mergedata.cur.mapper.CurPictureClassifyMapper;
|
||||||
|
import com.czg.mergedata.cur.mapper.CurPictureGalleryMapper;
|
||||||
|
import com.czg.mergedata.cur.service.CurPictureClassifyService;
|
||||||
|
import com.czg.mergedata.cur.service.CurPictureGalleryService;
|
||||||
|
import com.mybatisflex.spring.service.impl.ServiceImpl;
|
||||||
|
import jakarta.annotation.Resource;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 图库 服务层实现。
|
||||||
|
*
|
||||||
|
* @author mac
|
||||||
|
* @since 2025-03-15
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class CurPictureGalleryServiceImpl extends ServiceImpl<CurPictureGalleryMapper, CurPictureGallery> implements CurPictureGalleryService {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CurPictureClassifyMapper curPictureClassifyMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CurPictureClassifyService curPictureClassifyService;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Transactional
|
||||||
|
public CzgResult<String> mergePicture() {
|
||||||
|
getMapper().truncateTable();
|
||||||
|
curPictureClassifyMapper.truncateTable();
|
||||||
|
|
||||||
|
execClassify();
|
||||||
|
execGallery();
|
||||||
|
|
||||||
|
return CzgResult.success("合并成功");
|
||||||
|
}
|
||||||
|
|
||||||
|
private void execClassify() {
|
||||||
|
String property = System.getProperty("user.dir");
|
||||||
|
String path = property + "/src/main/resources/file/ims_ybo2ov2_img_category.xls";
|
||||||
|
|
||||||
|
ExcelReaderBuilder builder = EasyExcel.read(path);
|
||||||
|
|
||||||
|
List<Map<Integer, String>> listMap = builder.sheet().doReadSync();
|
||||||
|
|
||||||
|
List<CurPictureClassify> curPictureClassifyList = new ArrayList<>();
|
||||||
|
for (Map<Integer, String> map : listMap) {
|
||||||
|
CurPictureClassify curPictureClassify = new CurPictureClassify();
|
||||||
|
curPictureClassify.setId(Long.valueOf(map.get(0)));
|
||||||
|
curPictureClassify.setShopId(1L);
|
||||||
|
curPictureClassify.setName(String.valueOf(map.get(1)));
|
||||||
|
curPictureClassify.setSort(1);
|
||||||
|
curPictureClassify.setIsSystem(1);
|
||||||
|
curPictureClassify.setIsDel(0);
|
||||||
|
|
||||||
|
curPictureClassifyList.add(curPictureClassify);
|
||||||
|
}
|
||||||
|
|
||||||
|
curPictureClassifyService.saveBatch(curPictureClassifyList);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void execGallery() {
|
||||||
|
String property = System.getProperty("user.dir");
|
||||||
|
String path = property + "/src/main/resources/file/ims_ybo2ov2_img_file.xls";
|
||||||
|
|
||||||
|
ExcelReaderBuilder builder = EasyExcel.read(path);
|
||||||
|
|
||||||
|
List<Map<Integer, String>> listMap = builder.sheet().doReadSync();
|
||||||
|
|
||||||
|
Map<Long, Long> shopCategoryIdMap = new HashMap<>();
|
||||||
|
|
||||||
|
List<CurPictureGallery> curPictureGalleryList = new ArrayList<>();
|
||||||
|
|
||||||
|
for (Map<Integer, String> map : listMap) {
|
||||||
|
long deleted = Long.parseLong(map.get(5));
|
||||||
|
CurPictureGallery curPictureGallery = new CurPictureGallery();
|
||||||
|
curPictureGallery.setUrl(String.valueOf(map.get(3)));
|
||||||
|
curPictureGallery.setIsDel(deleted == 0L ? 0 : 1);
|
||||||
|
|
||||||
|
Long shopId = Long.parseLong(map.get(1));
|
||||||
|
if (shopId == 0L) {
|
||||||
|
curPictureGallery.setShopId(1L);
|
||||||
|
|
||||||
|
long categoryId = Long.parseLong(map.get(2));
|
||||||
|
curPictureGallery.setPictureClassifyId(categoryId);
|
||||||
|
} else {
|
||||||
|
curPictureGallery.setShopId(shopId);
|
||||||
|
|
||||||
|
Long categoryId = shopCategoryIdMap.get(shopId);
|
||||||
|
if (categoryId == null) {
|
||||||
|
CurPictureClassify curPictureClassify = new CurPictureClassify();
|
||||||
|
curPictureClassify.setShopId(shopId);
|
||||||
|
curPictureClassify.setName("默认分类");
|
||||||
|
curPictureClassify.setSort(1);
|
||||||
|
curPictureClassify.setIsSystem(0);
|
||||||
|
curPictureClassify.setIsDel(0);
|
||||||
|
|
||||||
|
curPictureClassifyService.save(curPictureClassify);
|
||||||
|
|
||||||
|
categoryId = curPictureClassify.getId();
|
||||||
|
shopCategoryIdMap.put(shopId, categoryId);
|
||||||
|
}
|
||||||
|
|
||||||
|
curPictureGallery.setPictureClassifyId(categoryId);
|
||||||
|
}
|
||||||
|
|
||||||
|
curPictureGalleryList.add(curPictureGallery);
|
||||||
|
}
|
||||||
|
|
||||||
|
saveBatch(curPictureGalleryList);
|
||||||
|
}
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -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.CurPictureClassifyMapper">
|
||||||
|
|
||||||
|
</mapper>
|
||||||
|
|
@ -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.CurPictureGalleryMapper">
|
||||||
|
|
||||||
|
</mapper>
|
||||||
|
|
@ -185,4 +185,11 @@
|
||||||
- tb_shop_song_order 表
|
- tb_shop_song_order 表
|
||||||
|
|
||||||
|
|
||||||
|
### 27. 图库
|
||||||
|
> /merge/shopInfo/picture
|
||||||
|
#### 执行表
|
||||||
|
- tb_picture_gallery 表
|
||||||
|
- tb_picture_classify 表
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue