You've already forked FrameTour-BE
删除无用字段,后台添加更多商品信息
This commit is contained in:
@ -3,7 +3,9 @@ package com.ycwl.basic.model.mobile.goods;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Date;
|
||||
@ -21,14 +23,8 @@ public class GoodsDetailVO {
|
||||
private Long scenicId;
|
||||
@ApiModelProperty("景区名称")
|
||||
private String scenicName;
|
||||
@ApiModelProperty("经度")
|
||||
private BigDecimal longitude;
|
||||
@ApiModelProperty("纬度")
|
||||
private BigDecimal latitude;
|
||||
@ApiModelProperty("商品类型 1:成片视频 2:源素材")
|
||||
private Integer goodsType;
|
||||
@ApiModelProperty("源素材类型 1:视频 2:图片")
|
||||
private Integer sourceType;
|
||||
@ApiModelProperty("商品id goodsType=1时为videoId,goodsType=2时为sourceId")
|
||||
private Long goodsId;
|
||||
@ApiModelProperty("模版封面图片")
|
||||
@ -44,4 +40,8 @@ public class GoodsDetailVO {
|
||||
@ApiModelProperty("是否已购买 0否 1是")
|
||||
private Integer isBuy;
|
||||
private Integer isFree;
|
||||
private Integer parts;
|
||||
public Integer getSourceType() {
|
||||
return goodsType;
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package com.ycwl.basic.model.pc.order.resp;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsDetailVO;
|
||||
import com.ycwl.basic.model.pc.order.entity.OrderItemEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
@ -111,6 +112,7 @@ public class OrderRespVO {
|
||||
private List<OrderItemVO> orderItemList;
|
||||
private Long scenicId;
|
||||
private String scenicName;
|
||||
private List<GoodsDetailVO> goodsList;
|
||||
|
||||
public BigDecimal getDiscountPrice() {
|
||||
if (slashPrice == null) {
|
||||
|
@ -26,10 +26,6 @@ public class SourceRespVO {
|
||||
private Long scenicId;
|
||||
@ApiModelProperty("景区名称")
|
||||
private String scenicName;
|
||||
@ApiModelProperty("经度")
|
||||
private BigDecimal longitude;
|
||||
@ApiModelProperty("纬度")
|
||||
private BigDecimal latitude;
|
||||
/**
|
||||
* 来源设备id
|
||||
*/
|
||||
|
@ -198,10 +198,7 @@ public class GoodsServiceImpl implements GoodsService {
|
||||
}
|
||||
goodsDetailVO.setScenicId(sourceRespVO.getScenicId());
|
||||
goodsDetailVO.setScenicName(sourceRespVO.getScenicName());
|
||||
goodsDetailVO.setLongitude(sourceRespVO.getLongitude());
|
||||
goodsDetailVO.setLatitude(sourceRespVO.getLatitude());
|
||||
goodsDetailVO.setGoodsType(sourceType);
|
||||
goodsDetailVO.setSourceType(sourceType);
|
||||
goodsDetailVO.setGoodsId(sourceRespVO.getId());
|
||||
if (sourceRespVO.getVideoUrl() != null) {
|
||||
try {
|
||||
|
@ -1,5 +1,7 @@
|
||||
package com.ycwl.basic.service.pc.impl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.biz.CouponBiz;
|
||||
@ -10,6 +12,7 @@ import com.ycwl.basic.constant.NumberConstant;
|
||||
import com.ycwl.basic.enums.*;
|
||||
import com.ycwl.basic.exception.AppException;
|
||||
import com.ycwl.basic.mapper.*;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsDetailVO;
|
||||
import com.ycwl.basic.model.mobile.order.IsBuyRespVO;
|
||||
import com.ycwl.basic.model.mobile.order.OrderAppPageReq;
|
||||
import com.ycwl.basic.model.mobile.order.PriceObj;
|
||||
@ -31,18 +34,22 @@ import com.ycwl.basic.model.pc.price.entity.PriceConfigEntity;
|
||||
import com.ycwl.basic.model.pc.price.resp.GoodsListRespVO;
|
||||
import com.ycwl.basic.model.pc.source.entity.SourceEntity;
|
||||
import com.ycwl.basic.model.pc.task.entity.TaskEntity;
|
||||
import com.ycwl.basic.model.pc.template.resp.TemplateRespVO;
|
||||
import com.ycwl.basic.model.pc.video.entity.VideoEntity;
|
||||
import com.ycwl.basic.model.wx.WXPayOrderReqVO;
|
||||
import com.ycwl.basic.repository.FaceRepository;
|
||||
import com.ycwl.basic.repository.PriceRepository;
|
||||
import com.ycwl.basic.repository.TemplateRepository;
|
||||
import com.ycwl.basic.repository.VideoRepository;
|
||||
import com.ycwl.basic.repository.VideoTaskRepository;
|
||||
import com.ycwl.basic.service.mobile.WxPayService;
|
||||
import com.ycwl.basic.service.pc.OrderService;
|
||||
import com.ycwl.basic.service.task.impl.TaskTaskServiceImpl;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import com.ycwl.basic.utils.BigDecimalUtil;
|
||||
import com.ycwl.basic.utils.SnowFlakeUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@ -90,6 +97,10 @@ public class OrderServiceImpl implements OrderService {
|
||||
private FaceRepository faceRepository;
|
||||
@Autowired
|
||||
private CouponBiz couponBiz;
|
||||
@Autowired
|
||||
private TemplateRepository templateRepository;
|
||||
@Autowired
|
||||
private TaskTaskServiceImpl taskTaskService;
|
||||
|
||||
@Override
|
||||
public ApiResponse<PageInfo<OrderRespVO>> pageQuery(OrderReqQuery query) {
|
||||
@ -141,28 +152,84 @@ public class OrderServiceImpl implements OrderService {
|
||||
public ApiResponse<OrderRespVO> detail(Long orderId) {
|
||||
OrderRespVO byId = orderMapper.getById(orderId);
|
||||
List<OrderItemVO> orderItemList = byId.getOrderItemList();
|
||||
List<GoodsDetailVO> goodsList = new ArrayList<>();
|
||||
List<Integer> _f = new ArrayList<>();
|
||||
orderItemList.forEach(item -> {
|
||||
if (Integer.valueOf(1).equals(item.getGoodsType())) { // 原片 goodsId就是人脸ID
|
||||
List<SourceEntity> memberVideoEntityList = sourceMapper.listVideoByFaceRelation(byId.getMemberId(), item.getGoodsId());
|
||||
item.setCoverList(memberVideoEntityList.stream().map(SourceEntity::getUrl).collect(Collectors.toList()));
|
||||
if (!_f.contains(1)) {
|
||||
_f.add(1);
|
||||
if (!memberVideoEntityList.isEmpty()) {
|
||||
for (SourceEntity sourceEntity : memberVideoEntityList) {
|
||||
GoodsDetailVO goods = new GoodsDetailVO();
|
||||
goods.setGoodsId(sourceEntity.getId());
|
||||
goods.setGoodsName("录像集录像");
|
||||
goods.setUrl(sourceEntity.getUrl());
|
||||
goods.setGoodsType(sourceEntity.getType());
|
||||
goods.setScenicId(sourceEntity.getScenicId());
|
||||
goods.setUrl(sourceEntity.getVideoUrl());
|
||||
goods.setTemplateCoverUrl(sourceEntity.getUrl());
|
||||
goods.setCreateTime(sourceEntity.getCreateTime());
|
||||
goodsList.add(goods);
|
||||
}
|
||||
}
|
||||
item.setShootingTime(memberVideoEntityList.get(0).getCreateTime());
|
||||
}
|
||||
} else if (Integer.valueOf(2).equals(item.getGoodsType())) { // 照片 goodsId就是人脸ID
|
||||
List<SourceEntity> memberVideoEntityList = sourceMapper.listImageByFaceRelation(byId.getMemberId(), item.getGoodsId());
|
||||
item.setCoverList(memberVideoEntityList.stream().map(SourceEntity::getUrl).collect(Collectors.toList()));
|
||||
if (!_f.contains(2)) {
|
||||
_f.add(2);
|
||||
if (!memberVideoEntityList.isEmpty()) {
|
||||
for (SourceEntity sourceEntity : memberVideoEntityList) {
|
||||
GoodsDetailVO goods = new GoodsDetailVO();
|
||||
goods.setGoodsId(sourceEntity.getId());
|
||||
goods.setGoodsName("照片集照片");
|
||||
goods.setUrl(sourceEntity.getUrl());
|
||||
goods.setGoodsType(sourceEntity.getType());
|
||||
goods.setScenicId(sourceEntity.getScenicId());
|
||||
goods.setUrl(sourceEntity.getUrl());
|
||||
goods.setTemplateCoverUrl(sourceEntity.getUrl());
|
||||
goods.setScenicId(sourceEntity.getScenicId());
|
||||
goods.setCreateTime(sourceEntity.getCreateTime());
|
||||
goodsList.add(goods);
|
||||
}
|
||||
}
|
||||
item.setShootingTime(memberVideoEntityList.get(0).getCreateTime());
|
||||
}
|
||||
} else {
|
||||
item.setCoverList(Collections.singletonList(item.getCoverUrl()));
|
||||
VideoEntity videoMapperById = videoRepository.getVideoByTaskId(item.getGoodsId());
|
||||
VideoEntity videoMapperById = videoRepository.getVideo(item.getGoodsId());
|
||||
if (videoMapperById != null) {
|
||||
TaskEntity task = videoTaskRepository.getTaskById(videoMapperById.getTaskId());
|
||||
TemplateRespVO template = templateRepository.getTemplate(videoMapperById.getTemplateId());
|
||||
GoodsDetailVO goods = new GoodsDetailVO();
|
||||
goods.setGoodsId(videoMapperById.getId());
|
||||
goods.setGoodsName(template.getName());
|
||||
goods.setUrl(videoMapperById.getVideoUrl());
|
||||
goods.setGoodsType(0);
|
||||
goods.setTemplateCoverUrl(template.getCoverUrl());
|
||||
long deviceCount;
|
||||
if (task.getTaskParams() == null) {
|
||||
deviceCount = 1;
|
||||
} else {
|
||||
JSONObject paramJson = JSON.parseObject(task.getTaskParams());
|
||||
List<String> templatePlaceholder = templateRepository.getTemplatePlaceholder(task.getTemplateId());
|
||||
deviceCount = paramJson.keySet().stream()
|
||||
.filter(StringUtils::isNumeric)
|
||||
.filter(templatePlaceholder::contains)
|
||||
.count();
|
||||
}
|
||||
goods.setCreateTime(videoTaskRepository.getTaskShotDate(task.getId()));
|
||||
goods.setParts(Math.toIntExact(deviceCount));
|
||||
goodsList.add(goods);
|
||||
item.setShootingTime(videoTaskRepository.getTaskShotDate(videoMapperById.getTaskId()));
|
||||
item.setVideoUrl(videoMapperById.getVideoUrl());
|
||||
}
|
||||
}
|
||||
});
|
||||
byId.setGoodsList(goodsList);
|
||||
return ApiResponse.success(byId);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user