|
|
@@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollectionUtil;
|
|
|
import com.alibaba.fastjson2.JSON;
|
|
|
import com.alibaba.fastjson2.JSONArray;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
-import com.alibaba.nacos.api.config.annotation.NacosValue;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
@@ -17,7 +16,6 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
-import org.springframework.cloud.context.config.annotation.RefreshScope;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
import shop.alien.entity.SecondVideoTask;
|
|
|
@@ -43,7 +41,6 @@ import shop.alien.util.common.VideoUtils;
|
|
|
import shop.alien.util.common.safe.*;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
-import java.text.SimpleDateFormat;
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.Arrays;
|
|
|
import java.util.Collections;
|
|
|
@@ -166,8 +163,8 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
|
// 3. 获取商品图片列表
|
|
|
QueryWrapper<StoreImg> imageQueryWrapper = new QueryWrapper<>();
|
|
|
imageQueryWrapper.lambda()
|
|
|
- .eq(StoreImg::getStoreId, record.getGoodsId())
|
|
|
- .eq(StoreImg::getImgType, Constants.ImageType.SECOND_HAND_GOODS)
|
|
|
+ .eq(StoreImg::getStoreId, record.getId())
|
|
|
+ .eq(StoreImg::getImgType, Constants.ImageType.SECOND_HAND_RECORD)
|
|
|
.eq(StoreImg::getDeleteFlag, Constants.DeleteFlag.NOT_DELETED)
|
|
|
.orderByAsc(StoreImg::getImgSort);
|
|
|
List<StoreImg> imageList = storeImgMapper.selectList(imageQueryWrapper);
|
|
|
@@ -177,6 +174,8 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
|
List<String> imageUrls = imageList.stream()
|
|
|
.map(StoreImg::getImgUrl)
|
|
|
.collect(Collectors.toList());
|
|
|
+ List<Map<String, Object>> imgList = processReportImages(imageUrls);
|
|
|
+ detailVo.setImgList(imgList);
|
|
|
detailVo.setImageUrls(imageUrls);
|
|
|
}
|
|
|
|
|
|
@@ -250,6 +249,8 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
|
List<String> imageUrls = imageList.stream()
|
|
|
.map(StoreImg::getImgUrl)
|
|
|
.collect(Collectors.toList());
|
|
|
+ List<Map<String, Object>> imgList = processReportImages(imageUrls);
|
|
|
+ goodsInfo.setImgList(imgList);
|
|
|
goodsInfo.setImgUrl(imageUrls);
|
|
|
}
|
|
|
SecondGoodsDetailVo.setGoodsInfo(goodsInfo);
|
|
|
@@ -261,9 +262,10 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
|
* @param goods 商品信息
|
|
|
*/
|
|
|
@Override
|
|
|
- public void recordGoodsOperation(SecondGoods goods) {
|
|
|
+ public void recordGoodsOperation(SecondGoods goods,String operationName) {
|
|
|
try {
|
|
|
SecondGoodsRecord record = new SecondGoodsRecord();
|
|
|
+ record.setOperationName(operationName);
|
|
|
record.setGoodsId(goods.getId());
|
|
|
record.setTitle(goods.getTitle());
|
|
|
record.setDescription(goods.getDescription());
|
|
|
@@ -299,11 +301,44 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
|
record.setAddressText(goods.getAddressText());
|
|
|
|
|
|
secondGoodsRecordMapper.insert(record);
|
|
|
+ // 保存图片信息
|
|
|
+ saveRecordGoodsImages(record);
|
|
|
} catch (Exception e) {
|
|
|
log.error("记录商品操作历史时发生异常", e);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 保存二手商品记录图片类型信息
|
|
|
+ *
|
|
|
+ * @param record 保存后的商品记录
|
|
|
+ */
|
|
|
+ private void saveRecordGoodsImages(SecondGoodsRecord record ) {
|
|
|
+ // 获取商品图片列表
|
|
|
+ QueryWrapper<StoreImg> query = new QueryWrapper<>();
|
|
|
+ query.lambda().eq(StoreImg::getStoreId, record.getGoodsId())
|
|
|
+ .eq(StoreImg::getImgType, Constants.ImageType.SECOND_HAND_GOODS);
|
|
|
+ List<StoreImg> storeImgs = storeImgMapper.selectList(query);
|
|
|
+ // 保存前先把原有的删除
|
|
|
+ storeImgs.forEach(storeImgModel -> {
|
|
|
+ StoreImg storeImg = new StoreImg();
|
|
|
+ storeImg.setStoreId(record.getId());
|
|
|
+ storeImg.setImgType(Constants.ImageType.SECOND_HAND_RECORD);
|
|
|
+ storeImg.setImgSort(storeImgModel.getImgSort());
|
|
|
+ storeImg.setImgDescription("二手商品记录图片类型");
|
|
|
+ storeImg.setDeleteFlag(Constants.DeleteFlag.NOT_DELETED);
|
|
|
+ storeImg.setCreatedTime(new Date());
|
|
|
+ storeImg.setUpdatedTime(new Date());
|
|
|
+ storeImg.setCreatedUserId(1);
|
|
|
+ storeImg.setUpdatedUserId(1);
|
|
|
+ storeImg.setImgUrl(storeImgModel.getImgUrl());
|
|
|
+ // 保存图片 插入store_img数据库
|
|
|
+ storeImgMapper.insert(storeImg);
|
|
|
+
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 批量转换举报信息为SecondReportingVo对象
|
|
|
* @param reports 举报信息列表
|
|
|
@@ -373,7 +408,8 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
|
}
|
|
|
// 处理举报凭证图片
|
|
|
if (StringUtils.hasText(report.getReportEvidenceImg())) {
|
|
|
- List<Map<String, Object>> imgList = processReportImages(report.getReportEvidenceImg());
|
|
|
+ List<String> urlList = Arrays.asList(report.getReportEvidenceImg().split(","));
|
|
|
+ List<Map<String, Object>> imgList = processReportImages(urlList);
|
|
|
reportingVo.setImgList(imgList);
|
|
|
}
|
|
|
|
|
|
@@ -385,12 +421,11 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
|
|
|
|
/**
|
|
|
* 处理举报凭证图片
|
|
|
- * @param reportEvidenceImg 图片URL字符串
|
|
|
+ * @param urlList 图片URL集合
|
|
|
* @return 图片列表
|
|
|
*/
|
|
|
- private List<Map<String, Object>> processReportImages(String reportEvidenceImg) {
|
|
|
+ private List<Map<String, Object>> processReportImages(List<String> urlList) {
|
|
|
List<Map<String, Object>> list = new ArrayList<>();
|
|
|
- List<String> urlList = Arrays.asList(reportEvidenceImg.split(","));
|
|
|
List<String> videoList = new ArrayList<>();
|
|
|
List<String> videoFileType = Arrays.asList("mp4", "avi", "flv", "mkv", "rmvb", "wmv", "3gp", "mov");
|
|
|
|
|
|
@@ -556,7 +591,16 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
|
// 发送审核成功消息
|
|
|
sendMessage(goods);
|
|
|
// 上架 记录商品操作历史
|
|
|
- recordGoodsOperation(goods);
|
|
|
+ String operationName = "";
|
|
|
+ QueryWrapper<SecondGoodsRecord> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("goods_id", goods.getId());
|
|
|
+ List<SecondGoodsRecord> recordList = secondGoodsRecordMapper.selectList(queryWrapper);
|
|
|
+ if (CollectionUtil.isNotEmpty(recordList)){
|
|
|
+ operationName = "重新发布";
|
|
|
+ }else {
|
|
|
+ operationName = "首次发布";
|
|
|
+ }
|
|
|
+ recordGoodsOperation(goods, operationName);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -740,7 +784,7 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
|
updateById(goods);
|
|
|
createGoodsAudit(goods, "", SecondGoodsStatusEnum.UNDER_REVIEW.getCode());
|
|
|
// 审核中,记录操作历史
|
|
|
- recordGoodsOperation(goods);
|
|
|
+// recordGoodsOperation(goods);
|
|
|
return true; // 异步处理,直接返回
|
|
|
}
|
|
|
}
|
|
|
@@ -756,7 +800,16 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
|
// 发送审核成功消息
|
|
|
sendMessage(goods);
|
|
|
// 审核成功,记录操作历史
|
|
|
- recordGoodsOperation(goods);
|
|
|
+ String operationName = "";
|
|
|
+ QueryWrapper<SecondGoodsRecord> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.eq("goods_id", goods.getId());
|
|
|
+ List<SecondGoodsRecord> recordList = secondGoodsRecordMapper.selectList(queryWrapper);
|
|
|
+ if (CollectionUtil.isNotEmpty(recordList)){
|
|
|
+ operationName = "重新发布";
|
|
|
+ }else {
|
|
|
+ operationName = "首次发布";
|
|
|
+ }
|
|
|
+ recordGoodsOperation(goods, operationName);
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
@@ -823,7 +876,7 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
|
updateById(secondGoods);
|
|
|
}
|
|
|
// 保存前先把原有的删除
|
|
|
- storeImgMapper.delete(new LambdaUpdateWrapper<StoreImg>().eq(StoreImg::getStoreId, savedGoodsId));
|
|
|
+ storeImgMapper.delete(new LambdaUpdateWrapper<StoreImg>().eq(StoreImg::getStoreId, savedGoodsId).eq(StoreImg::getImgType, Constants.ImageType.SECOND_HAND_GOODS));
|
|
|
// 批量保存图片信息
|
|
|
for(int i = 0; i < goods.getImgUrl().size(); i++){
|
|
|
StoreImg storeImg = new StoreImg();
|
|
|
@@ -1379,7 +1432,17 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
|
|
|
// 发送审核成功消息
|
|
|
sendMessage(goods);
|
|
|
// 审核成功,记录操作历史
|
|
|
- recordGoodsOperation(goods);
|
|
|
+ // 审核成功,记录操作历史
|
|
|
+ String operationName = "";
|
|
|
+ QueryWrapper<SecondGoodsRecord> queryRecordWrapper = new QueryWrapper<>();
|
|
|
+ queryRecordWrapper.eq("goods_id", goods.getId());
|
|
|
+ List<SecondGoodsRecord> recordList = secondGoodsRecordMapper.selectList(queryRecordWrapper);
|
|
|
+ if (CollectionUtil.isNotEmpty(recordList)){
|
|
|
+ operationName = "重新发布";
|
|
|
+ }else {
|
|
|
+ operationName = "首次发布";
|
|
|
+ }
|
|
|
+ recordGoodsOperation(goods, operationName);
|
|
|
} else {
|
|
|
// 审核不通过
|
|
|
goods.setGoodsStatus(SecondGoodsStatusEnum.REVIEW_FAILED.getCode());
|