|
|
@@ -15,6 +15,7 @@ import com.cyksj.model.manage.views.OrderDonView;
|
|
|
import com.cyksj.model.request.OrderCommentReq;
|
|
|
import com.cyksj.redis.RedisService;
|
|
|
import com.cyksj.service.order.OrderCommentFrontService;
|
|
|
+import com.cyksj.service.market.ThirdPartyFileUploadService;
|
|
|
import com.ejlchina.searcher.BeanSearcher;
|
|
|
import com.ejlchina.searcher.param.Operator;
|
|
|
import com.ejlchina.searcher.util.MapUtils;
|
|
|
@@ -23,6 +24,9 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.List;
|
|
|
+import java.util.Arrays;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
/*
|
|
|
*项目名: netflix
|
|
|
@@ -44,8 +48,20 @@ public class OrderCommentFrontServiceImpl implements OrderCommentFrontService {
|
|
|
|
|
|
private final RedisService redisService;
|
|
|
|
|
|
+ private final ThirdPartyFileUploadService thirdPartyFileUploadService;
|
|
|
+
|
|
|
@Override
|
|
|
- public void saveComment(OrderCommentReq request) {
|
|
|
+ public void saveComment(OrderCommentReq request, MultipartFile[] files) {
|
|
|
+ if (files != null && files.length > 9) {
|
|
|
+ throw BusinessRuntimeException.getInstance("最多上传9张图片");
|
|
|
+ }
|
|
|
+ if (files != null && files.length > 0) {
|
|
|
+ String picture = Arrays.stream(files)
|
|
|
+ .filter(file -> file != null && !file.isEmpty())
|
|
|
+ .map(thirdPartyFileUploadService::uploadImage)
|
|
|
+ .collect(Collectors.joining(","));
|
|
|
+ request.setPicture(picture);
|
|
|
+ }
|
|
|
Long orderId = request.getOrderId();
|
|
|
Long userId = request.getUserId();
|
|
|
List<Long> userIds = request.getUserIds();
|
|
|
@@ -66,7 +82,8 @@ public class OrderCommentFrontServiceImpl implements OrderCommentFrontService {
|
|
|
if (request.getContent().length() > 1000) {
|
|
|
throw BusinessRuntimeException.getInstance("评论内容过多");
|
|
|
}
|
|
|
- if (StrUtil.isNotBlank(request.getPicture()) && request.getPicture().length() > 2000) {
|
|
|
+ // 最多9张图片的CDN地址以逗号拼接保存,不能沿用单图2000字符限制。
|
|
|
+ if (StrUtil.isNotBlank(request.getPicture()) && request.getPicture().length() > 10000) {
|
|
|
throw BusinessRuntimeException.getInstance("图片过多");
|
|
|
}
|
|
|
if (Constant.noOrderStatus.contains(orderDonView.getStatus().name())) {
|