package com.hai.service.impl; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.hai.common.exception.ErrorCode; import com.hai.common.exception.ErrorHelp; import com.hai.common.exception.SysCode; import com.hai.config.QianZhuConfig; import com.hai.entity.HighChildOrder; import com.hai.entity.HighOrder; import com.hai.entity.HighUser; import com.hai.enum_type.GoodsType; import com.hai.order.model.CreateOrderChildModel; import com.hai.order.model.CreateOrderModel; import com.hai.order.service.OrderService; import com.hai.order.type.OrderChildStatus; import com.hai.order.type.OrderProductType; import com.hai.order.type.OrderStatus; import com.hai.service.HighOrderService; import com.hai.service.HighQzOrderService; import com.hai.service.HighUserService; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.math.BigDecimal; import java.util.ArrayList; import java.util.List; @Service("highQzOrderService") public class HighQzOrderServiceImpl implements HighQzOrderService { @Resource private HighUserService highUserService; @Resource private HighOrderService highOrderService; @Resource private OrderService orderService; @Override @Transactional(rollbackFor=Exception.class,propagation= Propagation.REQUIRES_NEW) public HighOrder assemblyQzOrder(String orderNo,String orderType) throws Exception { // 查询订单 已存在返回订单,未存在创建订单 HighOrder order = highOrderService.getOrderByOrderNo(orderNo); if (order != null) { return order; } HighOrder highOrder = null; JSONObject orderDetail = null; if (orderType.equals("CINEMA")) { orderDetail = QianZhuConfig.getCinemaOrderByOrderNo(orderNo); } /* if (orderType.equals("KFC")) { orderDetail = QianZhuConfig.getKfcOrderByOrderNo(orderNo); }*/ /*if (orderType.equals("MOBILE")) { orderDetail = QianZhuConfig.getMobileOrderByOrderNo(orderNo); }*/ if (orderDetail != null && orderDetail.getBoolean("success") == true) { highOrder = new HighOrder(); JSONObject data = orderDetail.getJSONObject("data"); // 查询用户信息 HighUser highUser = highUserService.findByPhone(data.getString("userMobile")); if (highUser == null) { throw ErrorHelp.genException(SysCode.System, ErrorCode.COMMON_ERROR, "未找到用户"); } CreateOrderModel createOrderModel = new CreateOrderModel(); createOrderModel.setCompanyId(58L); createOrderModel.setProductType(OrderProductType.PRODUCT_TYPE10.getNumber()); createOrderModel.setOrderNo(orderNo); createOrderModel.setMemId(highUser.getId()); createOrderModel.setMemName(highUser.getName()); createOrderModel.setMemPhone(highUser.getPhone()); List<CreateOrderChildModel> orderChildList = new ArrayList<>(); CreateOrderChildModel orderChild = new CreateOrderChildModel(); orderChild.setGoodsType(GoodsType.goodsType5.getType()); orderChildList.add(orderChild); createOrderModel.setChildOrderList(orderChildList); return orderService.createOrder(createOrderModel); } return highOrder; } }