You've already forked FrameTour-BE
Merge remote-tracking branch 'origin/master'
# Conflicts: # src/main/java/com/ycwl/basic/service/impl/pc/OrderServiceImpl.java # src/main/java/com/ycwl/basic/service/pc/OrderService.java
This commit is contained in:
@ -0,0 +1,130 @@
|
||||
package com.ycwl.basic.service.impl.mobile;
|
||||
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.mapper.pc.ScenicMapper;
|
||||
import com.ycwl.basic.mapper.pc.SourceMapper;
|
||||
import com.ycwl.basic.mapper.pc.VideoMapper;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsReqQuery;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsVO;
|
||||
import com.ycwl.basic.model.pc.order.resp.OrderItemVO;
|
||||
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.video.req.VideoReqQuery;
|
||||
import com.ycwl.basic.model.pc.video.resp.VideoRespVO;
|
||||
import com.ycwl.basic.service.mobile.GoodsService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author:longbinbin
|
||||
* @Date:2024/12/5 15:04
|
||||
*/@Service
|
||||
public class GoodsServiceImpl implements GoodsService {
|
||||
@Autowired
|
||||
private VideoMapper videoMapper;
|
||||
@Autowired
|
||||
private SourceMapper sourceMapper;
|
||||
@Autowired
|
||||
private ScenicMapper scenicMapper;
|
||||
|
||||
public ApiResponse<List<GoodsVO>> goodsList(GoodsReqQuery query) {
|
||||
//查询原素材
|
||||
List<GoodsVO> goodsList = new ArrayList<>();
|
||||
|
||||
VideoReqQuery videoReqQuery = new VideoReqQuery();
|
||||
videoReqQuery.setScenicId(query.getScenicId());
|
||||
videoReqQuery.setIsBuy(query.getIsBuy());
|
||||
videoReqQuery.setMemberId(query.getMemberId());
|
||||
//查询成片vlog
|
||||
List<VideoRespVO> videoList = videoMapper.list(videoReqQuery);
|
||||
videoList.forEach(videoRespVO -> {
|
||||
GoodsVO goodsVO = new GoodsVO();
|
||||
goodsVO.setGoodsName(videoRespVO.getTemplateName());
|
||||
goodsVO.setScenicId(videoRespVO.getScenicId());
|
||||
goodsVO.setScenicName(videoRespVO.getScenicName());
|
||||
goodsVO.setLongitude(videoRespVO.getLongitude());
|
||||
goodsVO.setLatitude(videoRespVO.getLatitude());
|
||||
goodsVO.setGoodsType(1);
|
||||
goodsVO.setGoodsId(videoRespVO.getId());
|
||||
goodsVO.setVideoUrl(videoRespVO.getVideoUrl());
|
||||
goodsList.add(goodsVO);
|
||||
});
|
||||
|
||||
|
||||
SourceReqQuery sourceReqQuery = new SourceReqQuery();
|
||||
videoReqQuery.setScenicId(query.getScenicId());
|
||||
videoReqQuery.setIsBuy(query.getIsBuy());
|
||||
videoReqQuery.setMemberId(query.getMemberId());
|
||||
//查询源素材
|
||||
List<SourceRespVO> sourceList = sourceMapper.listGroupByType(sourceReqQuery);
|
||||
sourceList.forEach(sourceRespVO -> {
|
||||
GoodsVO goodsVO = new GoodsVO();
|
||||
Integer type = sourceRespVO.getType();
|
||||
if(type==1){
|
||||
goodsVO.setGoodsName("原片集");
|
||||
}else {
|
||||
goodsVO.setGoodsName("照片集");
|
||||
}
|
||||
goodsVO.setScenicId(sourceRespVO.getScenicId());
|
||||
goodsVO.setScenicName(sourceRespVO.getScenicName());
|
||||
goodsVO.setLongitude(sourceRespVO.getLongitude());
|
||||
goodsVO.setLatitude(sourceRespVO.getLatitude());
|
||||
goodsVO.setGoodsType(2);
|
||||
goodsVO.setSourceType(type);
|
||||
goodsList.add(goodsVO);
|
||||
});
|
||||
|
||||
return ApiResponse.success(goodsList);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<List<SourceRespVO>> sourceGoodsList(GoodsReqQuery query) {
|
||||
SourceReqQuery sourceReqQuery = new SourceReqQuery();
|
||||
sourceReqQuery.setScenicId(query.getScenicId());
|
||||
sourceReqQuery.setIsBuy(query.getIsBuy());
|
||||
sourceReqQuery.setMemberId(query.getMemberId());
|
||||
sourceReqQuery.setType(query.getSourceType());
|
||||
List<SourceRespVO> list = sourceMapper.list(sourceReqQuery);
|
||||
return ApiResponse.success(list);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse queryPrice(GoodsPriceQueryReq queryPriceData) {
|
||||
Integer goodsType = queryPriceData.getGoodsType();
|
||||
|
||||
if(goodsType==1){//成片vlog
|
||||
//成片的价格就是成片所用template的价格
|
||||
Long videoId = queryPriceData.getGoodsId();
|
||||
VideoRespVO videoRespVO = videoMapper.getById(videoId);
|
||||
if(videoRespVO==null){
|
||||
return ApiResponse.fail("该vlog不存在或已失效");
|
||||
}
|
||||
BigDecimal tmplatePrice = videoRespVO.getTmplatePrice();
|
||||
if(tmplatePrice==null){
|
||||
return ApiResponse.fail("该vlog使用的模板价格或状态异常,请联系管理员");
|
||||
}
|
||||
return ApiResponse.success(tmplatePrice);
|
||||
|
||||
}else if(goodsType==2){//原素材
|
||||
//原素材的价格就是原素材对应景区定的价格
|
||||
Long scenicId = queryPriceData.getScenicId();
|
||||
ScenicRespVO scenicRespVO = scenicMapper.getById(scenicId);
|
||||
if(scenicRespVO==null){
|
||||
return ApiResponse.fail("该景区不存在或状态异常,请联系管理员");
|
||||
}
|
||||
BigDecimal price = scenicRespVO.getPrice();
|
||||
if(price==null){
|
||||
return ApiResponse.fail("该景区的原片价格未设定或状态异常,请联系管理员");
|
||||
}
|
||||
return ApiResponse.success(price);
|
||||
}
|
||||
return ApiResponse.fail("不合法的商品,请联系管理员");
|
||||
}
|
||||
}
|
@ -10,6 +10,8 @@ import com.ycwl.basic.model.pc.order.entity.OrderItemEntity;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderAddOrUpdateReq;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderItemDTO;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderReqQuery;
|
||||
import com.ycwl.basic.model.pc.order.resp.OrderAppRespVO;
|
||||
import com.ycwl.basic.model.pc.order.resp.OrderItemVO;
|
||||
import com.ycwl.basic.model.pc.order.resp.OrderRespVO;
|
||||
import com.ycwl.basic.service.pc.OrderService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
@ -109,4 +111,40 @@ public class OrderServiceImpl implements OrderService {
|
||||
}
|
||||
orderMapper.update(orderAddOrUpdateReq);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse getOrderCountByUserId(Long userId) {
|
||||
OrderReqQuery query = new OrderReqQuery();
|
||||
query.setMemberId(userId);
|
||||
return orderMapper.getOrderCount(query);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<PageInfo<OrderAppRespVO>> appPageQuery(OrderReqQuery orderReqQuery) {
|
||||
PageHelper.startPage(orderReqQuery.getPageNum(), orderReqQuery.getPageSize());
|
||||
List<OrderAppRespVO> list = orderMapper.appList(orderReqQuery);
|
||||
for (OrderAppRespVO appRespVO : list) {
|
||||
List<OrderItemVO> orderItemList = appRespVO.getOrderItemList();
|
||||
if(orderItemList!= null && orderItemList.size() > 0){
|
||||
OrderItemVO itemVO = orderItemList.get(0);
|
||||
appRespVO.setScenicName(itemVO.getScenicName());
|
||||
appRespVO.setGoodsName(itemVO.getGoodsName());
|
||||
}
|
||||
}
|
||||
PageInfo<OrderAppRespVO> pageInfo = new PageInfo<>(list);
|
||||
return ApiResponse.success(pageInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ApiResponse<OrderAppRespVO> appDetail(Long id) {
|
||||
OrderAppRespVO orderAppRespVO=orderMapper.appDetail(id);
|
||||
List<OrderItemVO> orderItemList = orderAppRespVO.getOrderItemList();
|
||||
if(orderItemList!= null && orderItemList.size() > 0){
|
||||
OrderItemVO itemVO = orderItemList.get(0);
|
||||
orderAppRespVO.setScenicName(itemVO.getScenicName());
|
||||
orderAppRespVO.setGoodsName(itemVO.getGoodsName());
|
||||
}
|
||||
return ApiResponse.success(orderAppRespVO);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,37 @@
|
||||
package com.ycwl.basic.service.mobile;
|
||||
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsReqQuery;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsVO;
|
||||
import com.ycwl.basic.model.pc.source.resp.SourceRespVO;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author:longbinbin
|
||||
* @Date:2024/12/5 15:03
|
||||
*/
|
||||
public interface GoodsService {
|
||||
|
||||
/**
|
||||
* 查询商品列表
|
||||
* @param query 查询条件
|
||||
* @return
|
||||
*/
|
||||
ApiResponse<List<GoodsVO>> goodsList(GoodsReqQuery query);
|
||||
|
||||
/**
|
||||
* 查询源素材商品列表
|
||||
* @param query
|
||||
* @return
|
||||
*/
|
||||
ApiResponse<List<SourceRespVO>> sourceGoodsList(GoodsReqQuery query);
|
||||
|
||||
/**
|
||||
* 查询订单应付价格
|
||||
* @param queryPriceData
|
||||
* @return
|
||||
*/
|
||||
ApiResponse queryPrice(GoodsPriceQueryReq queryPriceData);
|
||||
}
|
@ -4,6 +4,7 @@ import com.github.pagehelper.PageInfo;
|
||||
import com.ycwl.basic.enums.OrderStateEnum;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderAddOrUpdateReq;
|
||||
import com.ycwl.basic.model.pc.order.req.OrderReqQuery;
|
||||
import com.ycwl.basic.model.pc.order.resp.OrderAppRespVO;
|
||||
import com.ycwl.basic.model.pc.order.resp.OrderRespVO;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
|
||||
@ -22,4 +23,12 @@ public interface OrderService {
|
||||
|
||||
|
||||
void updateOrderState(Long orderSn, OrderStateEnum orderStateEnum, String refundReason);
|
||||
|
||||
ApiResponse getOrderCountByUserId(Long userId);
|
||||
|
||||
ApiResponse<PageInfo<OrderAppRespVO>> appPageQuery(OrderReqQuery orderReqQuery);
|
||||
|
||||
ApiResponse<OrderAppRespVO> appDetail(Long id);
|
||||
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user