|
@@ -117,7 +117,7 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
return false; // 如果获取不到ID,视为操作失败
|
|
return false; // 如果获取不到ID,视为操作失败
|
|
}
|
|
}
|
|
// 保存商品图片信息
|
|
// 保存商品图片信息
|
|
- return saveStoreImages(savedGoodsId, goods.getImgUrl());
|
|
|
|
|
|
+ return saveStoreImages(savedGoodsId, goods);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
@@ -149,7 +149,7 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
}
|
|
}
|
|
|
|
|
|
// 保存商品图片信息
|
|
// 保存商品图片信息
|
|
- if (!saveStoreImages(savedGoodsId, goodsDTO.getImgUrl())) {
|
|
|
|
|
|
+ if (!saveStoreImages(savedGoodsId, goodsDTO )) {
|
|
return false;
|
|
return false;
|
|
}
|
|
}
|
|
goods = secondGoodsMapper.selectById(savedGoodsId);
|
|
goods = secondGoodsMapper.selectById(savedGoodsId);
|
|
@@ -194,6 +194,9 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
|
|
|
|
// 图片审核(循环处理)
|
|
// 图片审核(循环处理)
|
|
List<String> imageUrls = goodsDTO.getImgUrl();
|
|
List<String> imageUrls = goodsDTO.getImgUrl();
|
|
|
|
+ if (!StringUtils.isEmpty(goodsDTO.getHomeImage())){
|
|
|
|
+ imageUrls.add(goodsDTO.getHomeImage());
|
|
|
|
+ }
|
|
if (imageUrls != null && !imageUrls.isEmpty()) {
|
|
if (imageUrls != null && !imageUrls.isEmpty()) {
|
|
StringBuilder failReasonBuilder = new StringBuilder();
|
|
StringBuilder failReasonBuilder = new StringBuilder();
|
|
for (String imageUrl : imageUrls) {
|
|
for (String imageUrl : imageUrls) {
|
|
@@ -254,26 +257,26 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
/**
|
|
/**
|
|
* 保存商品图片信息
|
|
* 保存商品图片信息
|
|
* @param savedGoodsId 保存后的商品ID
|
|
* @param savedGoodsId 保存后的商品ID
|
|
- * @param imgUrl 图片URL列表
|
|
|
|
|
|
+ * @param goods .getimgUrl 图片URL列表
|
|
* @return 保存结果
|
|
* @return 保存结果
|
|
*/
|
|
*/
|
|
- private boolean saveStoreImages(Integer savedGoodsId, List<String> imgUrl) {
|
|
|
|
- if (CollectionUtil.isEmpty(imgUrl)) {
|
|
|
|
|
|
+ private boolean saveStoreImages(Integer savedGoodsId, SecondGoodsVo goods ) {
|
|
|
|
+ if (CollectionUtil.isEmpty(goods.getImgUrl())) {
|
|
return true; // 如果没有图片,则返回成功
|
|
return true; // 如果没有图片,则返回成功
|
|
}
|
|
}
|
|
// 处理 第一个值为视频地址,获取视频第一帧作为商品封面图
|
|
// 处理 第一个值为视频地址,获取视频第一帧作为商品封面图
|
|
- String coverImage = getCoverImageFromVideoOrImage(imgUrl);
|
|
|
|
|
|
+ String coverImage = getCoverImageFromVideoOrImage(goods);
|
|
if (coverImage != null) {
|
|
if (coverImage != null) {
|
|
// 更新商品表封面图字段
|
|
// 更新商品表封面图字段
|
|
- SecondGoods goods = new SecondGoods();
|
|
|
|
- goods.setId(savedGoodsId);
|
|
|
|
- goods.setHomeImage(coverImage);
|
|
|
|
- updateById(goods);
|
|
|
|
|
|
+ SecondGoods secondGoods = new SecondGoods();
|
|
|
|
+ secondGoods.setId(savedGoodsId);
|
|
|
|
+ secondGoods.setHomeImage(coverImage);
|
|
|
|
+ updateById(secondGoods);
|
|
}
|
|
}
|
|
// 保存前先把原有的删除
|
|
// 保存前先把原有的删除
|
|
storeImgMapper.delete(new LambdaUpdateWrapper<StoreImg>().eq(StoreImg::getStoreId, savedGoodsId));
|
|
storeImgMapper.delete(new LambdaUpdateWrapper<StoreImg>().eq(StoreImg::getStoreId, savedGoodsId));
|
|
// 批量保存图片信息
|
|
// 批量保存图片信息
|
|
- for(int i = 0; i < imgUrl.size(); i++){
|
|
|
|
|
|
+ for(int i = 0; i < goods.getImgUrl().size(); i++){
|
|
StoreImg storeImg = new StoreImg();
|
|
StoreImg storeImg = new StoreImg();
|
|
storeImg.setStoreId(savedGoodsId);
|
|
storeImg.setStoreId(savedGoodsId);
|
|
storeImg.setImgType(Constants.ImageType.SECOND_HAND_GOODS);
|
|
storeImg.setImgType(Constants.ImageType.SECOND_HAND_GOODS);
|
|
@@ -284,7 +287,7 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
storeImg.setUpdatedTime(new Date());
|
|
storeImg.setUpdatedTime(new Date());
|
|
storeImg.setCreatedUserId(1);
|
|
storeImg.setCreatedUserId(1);
|
|
storeImg.setUpdatedUserId(1);
|
|
storeImg.setUpdatedUserId(1);
|
|
- storeImg.setImgUrl(imgUrl.get(i));
|
|
|
|
|
|
+ storeImg.setImgUrl(goods.getImgUrl().get(i));
|
|
// 保存图片 插入store_img数据库
|
|
// 保存图片 插入store_img数据库
|
|
storeImgMapper.insert(storeImg);
|
|
storeImgMapper.insert(storeImg);
|
|
}
|
|
}
|
|
@@ -357,18 +360,19 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
|
|
|
|
/**
|
|
/**
|
|
* 判断并获取商品封面图(若第一个链接是视频,则取第一帧)
|
|
* 判断并获取商品封面图(若第一个链接是视频,则取第一帧)
|
|
- * @param imgUrl 商品图片/视频链接列表
|
|
|
|
|
|
+ * @param goodsVo imgUrl 商品图片/视频链接列表
|
|
* @return 封面图URL或处理后的图像标识
|
|
* @return 封面图URL或处理后的图像标识
|
|
*/
|
|
*/
|
|
- public String getCoverImageFromVideoOrImage(List<String> imgUrl) {
|
|
|
|
- if (imgUrl == null || imgUrl.isEmpty()) {
|
|
|
|
|
|
+ public String getCoverImageFromVideoOrImage(SecondGoodsVo goodsVo) {
|
|
|
|
+ if (goodsVo.getImgUrl() == null || goodsVo.getImgUrl().isEmpty()) {
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
|
|
|
|
- String firstUrl = imgUrl.get(0);
|
|
|
|
|
|
+ String firstUrl = goodsVo.getImgUrl().get(0);
|
|
if (isVideoUrl(firstUrl)) {
|
|
if (isVideoUrl(firstUrl)) {
|
|
// 如果是视频,获取第一帧作为封面图
|
|
// 如果是视频,获取第一帧作为封面图
|
|
- return extractFirstFrameAsCover(firstUrl);
|
|
|
|
|
|
+ return goodsVo.getHomeImage();
|
|
|
|
+// return extractFirstFrameAsCover(firstUrl);
|
|
} else {
|
|
} else {
|
|
// 否则直接返回第一个图片链接
|
|
// 否则直接返回第一个图片链接
|
|
return firstUrl;
|
|
return firstUrl;
|