bug修复等

This commit is contained in:
Jerry Yan 2025-01-08 14:45:17 +08:00
parent cfc870edb6
commit a329100212
8 changed files with 124 additions and 108 deletions

View File

@ -41,8 +41,7 @@ public class AppGoodsController {
@ApiOperation("源素材(原片/照片)商品列表")
@PostMapping("/sourceGoodsList")
public ApiResponse<List<GoodsDetailVO>> sourceGoodsList(@RequestBody GoodsReqQuery query) {
query.setMemberId(Long.valueOf(BaseContextHandler.getUserId()));
return goodsService.sourceGoodsList(query);
return goodsService.sourceGoodsList(Long.valueOf(BaseContextHandler.getUserId()), query);
}
@ApiOperation("成片vlog商品详情")

View File

@ -14,8 +14,6 @@ public class GoodsReqQuery {
@ApiModelProperty("是否已购买 0否 1是")
private Integer isBuy;
private Long faceId;
@ApiModelProperty(value = "用户id", hidden = true)
private Long memberId;
@ApiModelProperty("景区id")
private Long scenicId;
@ApiModelProperty("源素材商品类型 1视频 2图像")

View File

@ -7,6 +7,7 @@ import com.ycwl.basic.biz.OrderBiz;
import com.ycwl.basic.constant.BaseContextHandler;
import com.ycwl.basic.mapper.*;
import com.ycwl.basic.model.jwt.JwtInfo;
import com.ycwl.basic.model.mobile.goods.GoodsPageVO;
import com.ycwl.basic.model.mobile.order.IsBuyRespVO;
import com.ycwl.basic.model.mobile.scenic.ScenicAppVO;
import com.ycwl.basic.model.mobile.scenic.ScenicDeviceCountVO;
@ -36,6 +37,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Authorlongbinbin
@ -132,24 +134,27 @@ public class AppScenicServiceImpl implements AppScenicService {
SourceReqQuery sourceReqQuery = new SourceReqQuery();
sourceReqQuery.setScenicId(faceRespVO.getScenicId());
sourceReqQuery.setFaceId(faceId);
sourceReqQuery.setMemberId(userId);
//查询源素材
List<SourceRespVO> sourceList = sourceMapper.listGroupByType(sourceReqQuery);
List<SourceRespVO> sourceList = sourceMapper.queryByRelation(sourceReqQuery);
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(faceRespVO.getScenicId());
sourceList.stream().filter(item -> {
if (item.getType() == 1) {
sourceList.stream().collect(Collectors.groupingBy(SourceRespVO::getType)).keySet()
.stream()
.filter(type -> {
if (Integer.valueOf(1).equals(type)) {
if (Integer.valueOf(1).equals(scenicConfig.getDisableSourceVideo())) {
return false;
}
} else if (item.getType() == 2) {
} else if (Integer.valueOf(2).equals(type)) {
if (Integer.valueOf(1).equals(scenicConfig.getDisableSourceImage())) {
return false;
}
}
return true;
}).forEach(sourceRespVO -> {
})
.forEach(type -> {
ContentPageVO contentPageVO = new ContentPageVO();
Integer type = sourceRespVO.getType();
if (type == 1) {
contentPageVO.setName("原片集");
} else {
@ -163,6 +168,8 @@ public class AppScenicServiceImpl implements AppScenicService {
} else {
contentPageVO.setIsBuy(0);
}
contentPageVO.setScenicId(faceRespVO.getScenicId());
contentPageVO.setTemplateCoverUrl(sourceList.get(0).getUrl());
contentPageVO.setContentType(2);
contentList.add(contentPageVO);
});

View File

@ -1,23 +1,21 @@
package com.ycwl.basic.service.impl.mobile;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.ycwl.basic.constant.BaseContextHandler;
import com.ycwl.basic.mapper.*;
import com.ycwl.basic.model.mobile.goods.*;
import com.ycwl.basic.model.pc.face.resp.FaceRespVO;
import com.ycwl.basic.model.pc.scenic.entity.ScenicConfigEntity;
import com.ycwl.basic.model.pc.scenic.resp.ScenicRespVO;
import com.ycwl.basic.model.pc.source.req.SourceReqQuery;
import com.ycwl.basic.model.pc.source.resp.SourceRespVO;
import com.ycwl.basic.model.pc.task.entity.TaskEntity;
import com.ycwl.basic.model.pc.task.resp.TaskRespVO;
import com.ycwl.basic.model.pc.video.entity.MemberVideoEntity;
import com.ycwl.basic.model.pc.video.req.VideoReqQuery;
import com.ycwl.basic.model.pc.video.resp.VideoRespVO;
import com.ycwl.basic.repository.ScenicRepository;
import com.ycwl.basic.repository.VideoTaskRepository;
import com.ycwl.basic.service.impl.pc.TaskServiceImpl;
import com.ycwl.basic.service.impl.task.TaskTaskServiceImpl;
import com.ycwl.basic.service.mobile.GoodsService;
import com.ycwl.basic.repository.TemplateRepository;
import com.ycwl.basic.service.task.TaskService;
@ -31,15 +29,14 @@ import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
/**
* @Authorlongbinbin
* @Date2024/12/5 15:04
*/@Service
*/
@Service
public class GoodsServiceImpl implements GoodsService {
@Autowired
private VideoMapper videoMapper;
@ -55,14 +52,16 @@ public class GoodsServiceImpl implements GoodsService {
private VideoTaskRepository videoTaskRepository;
@Autowired
private TaskService taskTaskService;
@Autowired
private ScenicRepository scenicRepository;
public ApiResponse<List<GoodsPageVO>> goodsList(GoodsReqQuery query) {
//查询原素材
List<GoodsPageVO> goodsList = new ArrayList<>();
VideoReqQuery videoReqQuery = new VideoReqQuery();
videoReqQuery.setScenicId(query.getScenicId());
videoReqQuery.setIsBuy(query.getIsBuy());
videoReqQuery.setFaceId(query.getFaceId());
videoReqQuery.setMemberId(Long.valueOf(BaseContextHandler.getUserId()));
//查询成片vlog
List<VideoRespVO> videoList = videoMapper.queryByRelation(videoReqQuery);
@ -79,18 +78,31 @@ public class GoodsServiceImpl implements GoodsService {
goodsList.add(goodsPageVO);
});
SourceReqQuery sourceReqQuery = new SourceReqQuery();
sourceReqQuery.setScenicId(query.getScenicId());
sourceReqQuery.setIsBuy(query.getIsBuy());
sourceReqQuery.setFaceId(query.getFaceId());
sourceReqQuery.setMemberId(Long.valueOf(BaseContextHandler.getUserId()));
//查询源素材
List<SourceRespVO> sourceList = sourceMapper.queryByRelation(sourceReqQuery);
ScenicConfigEntity scenicConfig = scenicRepository.getScenicConfig(query.getScenicId());
List<GoodsPageVO> sourceGoods = sourceList.stream().collect(Collectors.groupingBy(SourceRespVO::getFaceId)).entrySet().stream().flatMap((faceEntry) -> {
Long faceId = faceEntry.getKey();
List<SourceRespVO> goods = faceEntry.getValue();
return goods.stream().collect(Collectors.groupingBy(SourceRespVO::getType)).keySet().stream().map(type -> {
return goods.stream().collect(Collectors.groupingBy(SourceRespVO::getType)).keySet().stream().filter(type -> {
if (Integer.valueOf(1).equals(type)) {
if (Integer.valueOf(1).equals(scenicConfig.getDisableSourceVideo())) {
return false;
}
} else if (Integer.valueOf(2).equals(type)) {
if (Integer.valueOf(1).equals(scenicConfig.getDisableSourceImage())) {
return false;
}
}
return true;
}).map(type -> {
GoodsPageVO goodsPageVO = new GoodsPageVO();
goodsPageVO.setTemplateCoverUrl(goods.get(0).getUrl());
goodsPageVO.setFaceId(faceId);
if (type == 1) {
goodsPageVO.setGoodsName("原片集");
@ -114,12 +126,12 @@ public class GoodsServiceImpl implements GoodsService {
}
@Override
public ApiResponse<List<GoodsDetailVO>> sourceGoodsList(GoodsReqQuery query) {
public ApiResponse<List<GoodsDetailVO>> sourceGoodsList(Long userId, GoodsReqQuery query) {
Integer sourceType = query.getSourceType();
SourceReqQuery sourceReqQuery = new SourceReqQuery();
sourceReqQuery.setScenicId(query.getScenicId());
sourceReqQuery.setIsBuy(query.getIsBuy());
sourceReqQuery.setMemberId(query.getMemberId());
sourceReqQuery.setMemberId(userId);
sourceReqQuery.setType(sourceType);
sourceReqQuery.setFaceId(query.getFaceId());
List<SourceRespVO> list = sourceMapper.listUser(sourceReqQuery);

View File

@ -57,7 +57,7 @@ public class FaceServiceImpl implements FaceService {
@Value("${face.score}")
private float faceScore;
private final float strictScore = 0.90F;
private final float strictScore = 0.75F;
@Autowired
private TaskService taskTaskService;
@Autowired

View File

@ -21,10 +21,12 @@ public interface GoodsService {
/**
* 查询源素材商品列表
*
* @param userId
* @param query
* @return
*/
ApiResponse<List<GoodsDetailVO>> sourceGoodsList(GoodsReqQuery query);
ApiResponse<List<GoodsDetailVO>> sourceGoodsList(Long userId, GoodsReqQuery query);
/**
* 查询订单应付价格

View File

@ -137,9 +137,11 @@
left join scenic sc on sc.id = so.scenic_id
where
ms.member_id = #{memberId}
<if test="faceId!= null">and ms.face_id = #{faceId} </if>
<if test="type!=null">and ms.type = #{type} </if>
<if test="scenicId!= null">and ms.scenic_id = #{scenicId} </if>
<if test="isBuy!=null">and ms.is_buy = #{isBuy}</if>
order by so.create_time desc
</select>
<select id="querySameVideo" resultType="com.ycwl.basic.model.pc.source.entity.SourceEntity">
select *

View File

@ -99,11 +99,7 @@
<if test="isBuy!=null">and mv.is_buy = #{isBuy}</if>
<if test="startTime!= null">and v.create_time &gt;= #{startTime} </if>
<if test="endTime!= null">and v.create_time &lt;= #{endTime} </if>
<if test="faceId!= null">
and mv.task_id in (
select id from task where face_id = #{faceId}
)
</if>
<if test="faceId!= null">and mv.face_id = #{faceId} </if>
</where>
order by v.create_time desc
</select>