You've already forked FrameTour-BE
修改bug,添加数据统计相关类
This commit is contained in:
@@ -9,10 +9,8 @@ import com.ycwl.basic.enums.GoodsTypeEnum;
|
||||
import com.ycwl.basic.enums.OrderStateEnum;
|
||||
import com.ycwl.basic.enums.SourceTypeNameEnum;
|
||||
import com.ycwl.basic.exception.AppException;
|
||||
import com.ycwl.basic.mapper.pc.OrderMapper;
|
||||
import com.ycwl.basic.mapper.pc.OrderOperationMapper;
|
||||
import com.ycwl.basic.mapper.pc.SourceMapper;
|
||||
import com.ycwl.basic.mapper.pc.VideoMapper;
|
||||
import com.ycwl.basic.mapper.pc.*;
|
||||
import com.ycwl.basic.model.jwt.JwtInfo;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsDetailVO;
|
||||
import com.ycwl.basic.model.mobile.goods.GoodsPriceQueryReq;
|
||||
import com.ycwl.basic.model.mobile.order.OrderAppPageReq;
|
||||
@@ -31,12 +29,12 @@ import com.ycwl.basic.model.pc.source.entity.SourceEntity;
|
||||
import com.ycwl.basic.model.pc.video.entity.VideoEntity;
|
||||
import com.ycwl.basic.model.wx.WXPayOrderReqVO;
|
||||
import com.ycwl.basic.model.wx.WxPayRespVO;
|
||||
import com.ycwl.basic.service.mobile.AppMemberService;
|
||||
import com.ycwl.basic.service.mobile.GoodsService;
|
||||
import com.ycwl.basic.service.mobile.WxPayService;
|
||||
import com.ycwl.basic.service.pc.OrderService;
|
||||
import com.ycwl.basic.utils.ApiResponse;
|
||||
import com.ycwl.basic.utils.BigDecimalUtil;
|
||||
import com.ycwl.basic.utils.JwtTokenUtil;
|
||||
import com.ycwl.basic.utils.SnowFlakeUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -67,7 +65,7 @@ public class OrderServiceImpl implements OrderService {
|
||||
private WxPayService wxPayService;
|
||||
|
||||
@Autowired
|
||||
private AppMemberService memberService;
|
||||
private MemberMapper memberMapper;
|
||||
@Autowired
|
||||
private GoodsService goodsService;
|
||||
@Autowired
|
||||
@@ -96,20 +94,35 @@ public class OrderServiceImpl implements OrderService {
|
||||
public ApiResponse<WxPayRespVO> add(OrderAddReq order) throws Exception {
|
||||
Long orderId = SnowFlakeUtil.getLongId();
|
||||
order.setId(orderId);
|
||||
JwtInfo worker = JwtTokenUtil.getWorker();
|
||||
Long userId = worker.getUserId();
|
||||
MemberRespVO memberRespVO = memberMapper.getById(userId);
|
||||
order.setMemberId(userId);
|
||||
order.setOpenid(memberRespVO.getOpenId());
|
||||
|
||||
/* 成片的时候子订单只会有一个,素材的时候 子订单多个且价格与子订单数量无关,只与子订单商品对应景区定义的价格相同*/
|
||||
List<GoodsDetailVO> goodsItemList = order.getGoodsItemList();
|
||||
GoodsDetailVO goodsDetailVO = goodsItemList.get(NumberConstant.ZERO);
|
||||
GoodsPriceQueryReq goodsPriceQueryReq = new GoodsPriceQueryReq();
|
||||
goodsPriceQueryReq.setGoodsId(goodsDetailVO.getGoodsId());
|
||||
goodsPriceQueryReq.setGoodsType(order.getGoodsType());
|
||||
goodsPriceQueryReq.setScenicId(order.getScenicId());
|
||||
BigDecimal price = goodsService.queryPrice(goodsPriceQueryReq).getData();
|
||||
order.setPrice(price);
|
||||
order.setPayPrice(price);
|
||||
|
||||
int add = orderMapper.add(order);
|
||||
if (add == NumberConstant.ZERO) {
|
||||
return ApiResponse.fail("订单添加失败");
|
||||
} else {
|
||||
List<GoodsDetailVO> goodsItemList = order.getGoodsItemList();
|
||||
GoodsDetailVO goodsDetailVO = goodsItemList.get(NumberConstant.ZERO);
|
||||
Integer goodsType = goodsDetailVO.getGoodsType();
|
||||
Integer goodsType = order.getGoodsType();
|
||||
List<OrderItemEntity> orderItems = new ArrayList<>();
|
||||
goodsItemList.forEach(goodsDto -> {
|
||||
Long goodsId = goodsDto.getGoodsId();
|
||||
OrderItemEntity orderItemEntity = new OrderItemEntity();
|
||||
orderItemEntity.setId(SnowFlakeUtil.getLongId());
|
||||
orderItemEntity.setOrderId(orderId);
|
||||
orderItemEntity.setGoodsType(goodsDto.getGoodsType());
|
||||
orderItemEntity.setGoodsType(goodsType);
|
||||
orderItemEntity.setGoodsId(goodsId);
|
||||
orderItems.add(orderItemEntity);
|
||||
|
||||
@@ -132,23 +145,22 @@ public class OrderServiceImpl implements OrderService {
|
||||
return ApiResponse.fail("订单添加失败");
|
||||
}
|
||||
|
||||
//封装微信支付请求
|
||||
WxPayRespVO wxPayRespVO = initiatePayment(orderId, goodsDetailVO);
|
||||
return ApiResponse.success(wxPayRespVO);
|
||||
//TODO 封装微信支付请求
|
||||
// WxPayRespVO wxPayRespVO = initiatePayment(order, goodsDetailVO);
|
||||
// return ApiResponse.success(wxPayRespVO);
|
||||
return ApiResponse.success(null);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 发起支付
|
||||
* @param orderId 订单id
|
||||
* @param order 订单
|
||||
* @param goodsDetailVO 商品详情
|
||||
* @return 支付请求结果
|
||||
*/
|
||||
private WxPayRespVO initiatePayment(Long orderId,GoodsDetailVO goodsDetailVO) throws Exception {
|
||||
private WxPayRespVO initiatePayment(OrderAddReq order,GoodsDetailVO goodsDetailVO) throws Exception {
|
||||
WXPayOrderReqVO wxPayOrderReqVO = new WXPayOrderReqVO();
|
||||
|
||||
Integer goodsType = goodsDetailVO.getGoodsType();
|
||||
Long goodsId = goodsDetailVO.getGoodsId();
|
||||
Integer goodsType = order.getGoodsType();
|
||||
|
||||
String goodsName = null;
|
||||
if (goodsType == NumberConstant.ONE) {
|
||||
@@ -158,18 +170,9 @@ public class OrderServiceImpl implements OrderService {
|
||||
goodsName = SourceTypeNameEnum.getRemark(sourceType);
|
||||
}
|
||||
|
||||
/* 成片的时候子订单只会有一个,素材的时候 子订单多个且价格与子订单数量无关,只与子订单商品对应景区定义的价格相同*/
|
||||
GoodsPriceQueryReq goodsPriceQueryReq = new GoodsPriceQueryReq();
|
||||
goodsPriceQueryReq.setGoodsId(goodsId);
|
||||
goodsPriceQueryReq.setGoodsType(goodsType);
|
||||
goodsPriceQueryReq.setScenicId(goodsDetailVO.getScenicId());
|
||||
BigDecimal price = goodsService.queryPrice(goodsPriceQueryReq).getData();
|
||||
|
||||
MemberRespVO memberRespVO = memberService.getUserInfo().getData();
|
||||
|
||||
wxPayOrderReqVO.setOpenId(memberRespVO.getOpenId())
|
||||
.setOrderSn(orderId)
|
||||
.setTotalPrice(BigDecimalUtil.convertToCents(price))
|
||||
wxPayOrderReqVO.setOpenId(order.getOpenid())
|
||||
.setOrderSn(order.getId())
|
||||
.setTotalPrice(BigDecimalUtil.convertToCents(order.getPrice()))
|
||||
.setGoodsName(goodsName);
|
||||
|
||||
return wxPayService.createOrder(wxPayOrderReqVO);
|
||||
|
||||
Reference in New Issue
Block a user