This commit is contained in:
2025-05-04 10:51:27 +08:00
parent 6197f13e8e
commit ef978529ac
16 changed files with 157 additions and 41 deletions

View File

@@ -48,4 +48,6 @@ public interface GoodsService {
List<GoodsUrlVO> sourceGoodsListPreview(GoodsReqQuery query);
List<GoodsUrlVO> sourceGoodsListDownload(GoodsReqQuery query);
Integer sourceGoodsCount(GoodsReqQuery query);
}

View File

@@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.extra.qrcode.QrCodeUtil;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.ycwl.basic.biz.OrderBiz;
import com.ycwl.basic.biz.TaskStatusBiz;
@@ -199,6 +200,8 @@ public class GoodsServiceImpl implements GoodsService {
goodsDetailVO.setScenicName(sourceRespVO.getScenicName());
goodsDetailVO.setGoodsType(sourceType);
goodsDetailVO.setGoodsId(sourceRespVO.getId());
goodsDetailVO.setIsFree(sourceRespVO.getIsFree());
goodsDetailVO.setIsBuy(sourceRespVO.getIsBuy());
if (sourceRespVO.getVideoUrl() != null) {
try {
URL url = new URL(sourceRespVO.getVideoUrl());
@@ -278,9 +281,14 @@ public class GoodsServiceImpl implements GoodsService {
paramJson.entrySet().stream()
.filter(entry -> StringUtils.isNumeric(entry.getKey()))
.forEach(entry -> {
if (templatePlaceholder.contains(entry.getKey())) {
deviceCount.getAndIncrement();
templatePlaceholder.remove(entry.getKey());
JSONArray jsonArray = paramJson.getJSONArray(entry.getKey());
if (jsonArray != null && !jsonArray.isEmpty()) {
for (Object ignored : jsonArray) {
if (templatePlaceholder.contains(entry.getKey())) {
deviceCount.getAndIncrement();
templatePlaceholder.remove(entry.getKey());
}
}
}
});
}
@@ -573,14 +581,9 @@ public class GoodsServiceImpl implements GoodsService {
if (face == null) {
return Collections.emptyList();
}
IsBuyRespVO isBuy = orderBiz.isBuy(face.getMemberId(), query.getScenicId(), query.getSourceType(), query.getFaceId());
if (!isBuy.isBuy()) {
return Collections.emptyList();
}
Integer sourceType = query.getSourceType();
SourceReqQuery sourceReqQuery = new SourceReqQuery();
sourceReqQuery.setScenicId(query.getScenicId());
sourceReqQuery.setIsBuy(query.getIsBuy());
sourceReqQuery.setScenicId(face.getScenicId());
sourceReqQuery.setMemberId(face.getMemberId());
sourceReqQuery.setType(sourceType);
sourceReqQuery.setFaceId(query.getFaceId());
@@ -598,6 +601,21 @@ public class GoodsServiceImpl implements GoodsService {
return goodsUrlVO;
}).collect(Collectors.toList());
}
long count = list.stream().filter((item) -> {
if (item.getIsFree() > 0) {
return false;
}
if (item.getIsBuy() > 0) {
return false;
}
return true;
}).count();
if (count > 0) {
IsBuyRespVO isBuy = orderBiz.isBuy(face.getMemberId(), query.getScenicId(), query.getSourceType(), query.getFaceId());
if (!isBuy.isBuy()) {
return Collections.emptyList();
}
}
List<GoodsUrlVO> defaultUrlList = list.stream().map(source -> {
GoodsUrlVO goodsUrlVO = new GoodsUrlVO();
goodsUrlVO.setGoodsType(source.getType());
@@ -678,4 +696,20 @@ public class GoodsServiceImpl implements GoodsService {
}
return defaultUrlList;
}
@Override
public Integer sourceGoodsCount(GoodsReqQuery query) {
FaceEntity face = faceRepository.getFace(query.getFaceId());
if (face == null) {
return 0;
}
Integer sourceType = query.getSourceType();
SourceReqQuery sourceReqQuery = new SourceReqQuery();
sourceReqQuery.setScenicId(query.getScenicId());
sourceReqQuery.setIsBuy(query.getIsBuy());
sourceReqQuery.setMemberId(face.getMemberId());
sourceReqQuery.setType(sourceType);
sourceReqQuery.setFaceId(query.getFaceId());
return sourceMapper.countUser(sourceReqQuery);
}
}