| | |
| | | package com.stylefeng.guns; |
| | | |
| | | import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar; |
| | | import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService; |
| | | import com.stylefeng.guns.modular.system.model.Company; |
| | | import com.stylefeng.guns.modular.system.model.Driver; |
| | | import com.stylefeng.guns.modular.system.model.UserInfo; |
| | | import com.stylefeng.guns.modular.system.service.ICompanyService; |
| | | import com.stylefeng.guns.modular.system.service.IDriverService; |
| | | import com.stylefeng.guns.modular.system.service.IUserInfoService; |
| | | import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil; |
| | | import com.stylefeng.guns.modular.system.util.qianyuntong.model.*; |
| | | import com.stylefeng.guns.modular.taxi.service.IPaymentRecordService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.junit.Test; |
| | | import org.junit.runner.RunWith; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.boot.test.context.SpringBootTest; |
| | | import org.springframework.test.context.junit4.SpringRunner; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * SpringBoot方式启动类 |
| | | * |
| | | * @author stylefeng |
| | | * @Date 2017/5/21 12:06 |
| | | */ |
| | | @Slf4j |
| | | @RunWith(SpringRunner.class) |
| | | @SpringBootTest |
| | | public class GunsApplicationTest { |
| | | |
| | | @Autowired |
| | | private IOrderPrivateCarService orderPrivateCarService; |
| | | |
| | | @Autowired |
| | | private IUserInfoService userInfoService; |
| | | |
| | | @Autowired |
| | | private IDriverService driverService; |
| | | @Autowired |
| | | private ICompanyService companyService; |
| | | @Autowired |
| | | private IPaymentRecordService paymentRecordService; |
| | | |
| | | |
| | | |
| | | |
| | | @Test |
| | | public void test(){ |
| | | OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(211); |
| | | //使用备付金进行支付订单 |
| | | TradePayOffData tradePayOffData = new TradePayOffData(); |
| | | tradePayOffData.setPartnerPayId(orderPrivateCar.getTravelId()); |
| | | tradePayOffData.setTotalFee(Double.valueOf(orderPrivateCar.getOrderMoney() * 100).intValue() + ""); |
| | | tradePayOffData.setOrderDesc("完成订单"); |
| | | PayInfo payInfo = OrderUtil.tradePayOff(tradePayOffData); |
| | | String retCode = payInfo.getRetCode(); |
| | | if (!"000000".equals(retCode)) { |
| | | log.error("备付金支付失败:{}", payInfo.getRetMsg()); |
| | | return; |
| | | } |
| | | PayInfoData data = payInfo.getData(); |
| | | String status = data.getStatus(); |
| | | if ("3".equals(status)) { |
| | | log.error("备付金支付失败:{}", payInfo.getRetMsg()); |
| | | return; |
| | | } |
| | | PayInfoData payInfoData = payInfo.getData(); |
| | | PaymentInfo paymentInfo = payInfoData.getPaymentInfos().get(0); |
| | | //支付成功,通知三方 |
| | | PaymentOrderRequest paymentOrderRequest = new PaymentOrderRequest(); |
| | | paymentOrderRequest.setPayItemId(paymentInfo.getPayItemId()); |
| | | paymentOrderRequest.setPaymentInfo(payInfoData.getPaymentInfos()); |
| | | paymentOrderRequest.setOrderId("PR" + orderPrivateCar.getId()); |
| | | paymentOrderRequest.setCharge(BigDecimal.valueOf(orderPrivateCar.getOrderMoney())); |
| | | paymentOrderRequest.setPayTime(data.getPayTime()); |
| | | paymentOrderRequest.setPaymentSerialNumber(payInfoData.getPayId()); |
| | | OrderInfo orderInfo1 = OrderUtil.paymentOrder(paymentOrderRequest); |
| | | |
| | | |
| | | //查询三方订单状态 |
| | | Driver driver1 = driverService.selectById(orderPrivateCar.getDriverId()); |
| | | Company company = companyService.selectById(driver1.getCompanyId()); |
| | | UserInfo userInfo1 = userInfoService.selectById(orderPrivateCar.getUserId()); |
| | | GetTravelItineraryListRequest request = new GetTravelItineraryListRequest(); |
| | | request.setCustomerId(userInfo1.getOnconUUID()); |
| | | request.setOrderNo("PR" + orderPrivateCar.getId()); |
| | | request.setDriverId(driver1.getEmpId().toString()); |
| | | ListPage<List<TravelItinerary>> travelItineraryList = OrderUtil.getTravelItineraryList(request); |
| | | Integer status1 = travelItineraryList.getList().get(0).getStatus(); |
| | | if(9 != status1){ |
| | | //中台修改订单状态 |
| | | ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest(); |
| | | request1.setOrderId(orderPrivateCar.getTravelId()); |
| | | request1.setStatus(9); |
| | | if (null != orderPrivateCar.getDriverId()) { |
| | | request1.setDriverId(driver1.getEmpId().toString()); |
| | | request1.setSupplierShopId(company.getEnterCode()); |
| | | } |
| | | if (2 == orderPrivateCar.getPromotion()) { |
| | | Driver driver2 = driverService.selectById(orderPrivateCar.getPromotionDriverId()); |
| | | request1.setPromoterId(driver2.getEmpId().toString()); |
| | | } |
| | | OrderUtil.modifyTravelItinerary(request1); |
| | | } |
| | | |
| | | String payId = payInfo.getData().getPayId(); |
| | | //copy原始订单后生成追缴单 |
| | | OrderPrivateCar orderPrivateCar1 = new OrderPrivateCar(); |
| | | BeanUtils.copyProperties(orderPrivateCar, orderPrivateCar1); |
| | | orderPrivateCar1.setId(null); |
| | | orderPrivateCar1.setRecoveryOrder(1); |
| | | |
| | | //修改原始订单为支付状态 |
| | | orderPrivateCar.setState(8); |
| | | orderPrivateCar.setPayType(5); |
| | | orderPrivateCar.setPayMoney(orderPrivateCar.getOrderMoney()); |
| | | orderPrivateCarService.updateById(orderPrivateCar); |
| | | //添加三方支付记录 |
| | | try { |
| | | paymentRecordService.saveData(1, orderPrivateCar.getUserId(), 1, orderPrivateCar.getId(), 1, 3, orderPrivateCar.getOrderMoney(), payId, 2); |
| | | } catch (Exception e) { |
| | | throw new RuntimeException(e); |
| | | } |
| | | |
| | | |
| | | Driver driver = driverService.selectById(orderPrivateCar1.getDriverId()); |
| | | UserInfo userInfo = userInfoService.selectById(orderPrivateCar1.getUserId()); |
| | | //调用三方创建订单 |
| | | CreateOrderRequest createOrderRequest = new CreateOrderRequest(); |
| | | createOrderRequest.setTreatShopId(driver.getEmpId().toString()); |
| | | createOrderRequest.setField1("{\"profitSharing\":\"0\",\"isPromote\":\"0\"}"); |
| | | createOrderRequest.setCharge(new BigDecimal(orderPrivateCar1.getOrderMoney())); |
| | | createOrderRequest.setOrderNo("PR" + orderPrivateCar1.getId()); |
| | | createOrderRequest.setCustomerId(userInfo.getOnconUUID()); |
| | | OrderInfo orderInfo = OrderUtil.tradeOrderCreate(createOrderRequest); |
| | | orderPrivateCar1.setTravelId(orderInfo.getOrderId()); |
| | | orderPrivateCar1.setIsCreated(1); |
| | | //保存追缴单 |
| | | orderPrivateCarService.insert(orderPrivateCar1); |
| | | } |
| | | } |
| | | //package com.stylefeng.guns; |
| | | // |
| | | //import com.alibaba.fastjson.JSON; |
| | | //import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar; |
| | | //import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService; |
| | | //import com.stylefeng.guns.modular.system.model.Company; |
| | | //import com.stylefeng.guns.modular.system.model.Driver; |
| | | //import com.stylefeng.guns.modular.system.model.UserInfo; |
| | | //import com.stylefeng.guns.modular.system.service.ICompanyService; |
| | | //import com.stylefeng.guns.modular.system.service.IDriverService; |
| | | //import com.stylefeng.guns.modular.system.service.IUserInfoService; |
| | | //import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil; |
| | | //import com.stylefeng.guns.modular.system.util.qianyuntong.model.*; |
| | | //import com.stylefeng.guns.modular.taxi.service.IPaymentRecordService; |
| | | //import lombok.extern.slf4j.Slf4j; |
| | | //import org.junit.Test; |
| | | //import org.junit.runner.RunWith; |
| | | //import org.springframework.beans.BeanUtils; |
| | | //import org.springframework.beans.factory.annotation.Autowired; |
| | | //import org.springframework.boot.test.context.SpringBootTest; |
| | | //import org.springframework.test.context.junit4.SpringRunner; |
| | | // |
| | | //import java.math.BigDecimal; |
| | | //import java.util.List; |
| | | // |
| | | ///** |
| | | // * SpringBoot方式启动类 |
| | | // * |
| | | // * @author stylefeng |
| | | // * @Date 2017/5/21 12:06 |
| | | // */ |
| | | //@Slf4j |
| | | //@RunWith(SpringRunner.class) |
| | | //@SpringBootTest |
| | | //public class GunsApplicationTest { |
| | | // |
| | | // @Autowired |
| | | // private IOrderPrivateCarService orderPrivateCarService; |
| | | // |
| | | // @Autowired |
| | | // private IUserInfoService userInfoService; |
| | | // |
| | | // @Autowired |
| | | // private IDriverService driverService; |
| | | // @Autowired |
| | | // private ICompanyService companyService; |
| | | // @Autowired |
| | | // private IPaymentRecordService paymentRecordService; |
| | | // |
| | | // |
| | | // |
| | | // |
| | | // @Test |
| | | // public void test(){ |
| | | // OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(228); |
| | | // Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); |
| | | // Company company = companyService.selectById(driver.getCompanyId()); |
| | | // UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId()); |
| | | // if(null == orderPrivateCar.getIsCreated()){ |
| | | // //先调中台创建订单 |
| | | // CreateOrderRequest createOrderRequest = new CreateOrderRequest(); |
| | | // createOrderRequest.setTreatShopId(driver.getEmpId().toString()); |
| | | // createOrderRequest.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"" + (orderPrivateCar.getPromotion() == 2 ? 1 : 0) + "\"}"); |
| | | // createOrderRequest.setCharge(new BigDecimal(orderPrivateCar.getOrderMoney())); |
| | | // createOrderRequest.setOrderNo("PR" + orderPrivateCar.getId()); |
| | | // createOrderRequest.setOrderId(orderPrivateCar.getTravelId()); |
| | | // createOrderRequest.setCustomerId(userInfo.getOnconUUID()); |
| | | // OrderInfo orderInfo = OrderUtil.tradeOrderCreate(createOrderRequest); |
| | | // orderPrivateCar.setIsCreated(1); |
| | | // orderPrivateCar.setTravelId(orderInfo.getOrderId()); |
| | | // orderPrivateCarService.updateById(orderPrivateCar); |
| | | // } |
| | | // //使用备付金进行支付订单 |
| | | // TradePayOffData tradePayOffData = new TradePayOffData(); |
| | | // tradePayOffData.setPartnerPayId(orderPrivateCar.getTravelId()); |
| | | // tradePayOffData.setTotalFee(Double.valueOf(orderPrivateCar.getOrderMoney() * 100).intValue() + ""); |
| | | // tradePayOffData.setOrderDesc("完成订单"); |
| | | // PayInfo payInfo = OrderUtil.tradePayOff(tradePayOffData); |
| | | // String retCode = payInfo.getRetCode(); |
| | | // if (!"000000".equals(retCode)) { |
| | | // log.error("备付金支付失败:{}", payInfo.getRetMsg()); |
| | | // return; |
| | | // } |
| | | // PayInfoData data = payInfo.getData(); |
| | | // String status = data.getStatus(); |
| | | // if ("3".equals(status)) { |
| | | // log.error("备付金支付失败:{}", payInfo.getRetMsg()); |
| | | // return; |
| | | // } |
| | | // if("0".equals(status)){ |
| | | // //查询支付信息 |
| | | // GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest(); |
| | | // getPaymentInfoDataRequest.setPartnerPayId(orderPrivateCar.getTravelId()); |
| | | // GetPaymentInfo getPaymentInfo = OrderUtil.paymentInfo(getPaymentInfoDataRequest); |
| | | // status = getPaymentInfo.getStatus(); |
| | | // } |
| | | // PayInfoData payInfoData = payInfo.getData(); |
| | | // PaymentInfo paymentInfo = payInfoData.getPaymentInfos().get(0); |
| | | // if(!"0".equals(status)){ |
| | | // //支付成功,通知三方 |
| | | // PaymentOrderRequest paymentOrderRequest = new PaymentOrderRequest(); |
| | | // paymentOrderRequest.setPayItemId(paymentInfo.getPayItemId()); |
| | | // paymentOrderRequest.setPaymentInfo(JSON.toJSONString(payInfoData.getPaymentInfos())); |
| | | // paymentOrderRequest.setOrderId(orderPrivateCar.getTravelId()); |
| | | // paymentOrderRequest.setCharge(BigDecimal.valueOf(orderPrivateCar.getOrderMoney())); |
| | | // paymentOrderRequest.setPayTime(data.getPayTime()); |
| | | // paymentOrderRequest.setPaymentSerialNumber(payInfoData.getPayId()); |
| | | // OrderInfo orderInfo1 = OrderUtil.paymentOrder(paymentOrderRequest); |
| | | // |
| | | // //中台修改订单状态 |
| | | // ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest(); |
| | | // request1.setOrderId(orderPrivateCar.getTravelId()); |
| | | // request1.setStatus(9); |
| | | // if (null != orderPrivateCar.getDriverId()) { |
| | | // request1.setDriverId(driver.getEmpId().toString()); |
| | | // request1.setSupplierShopId(company.getEnterCode()); |
| | | // } |
| | | // if (2 == orderPrivateCar.getPromotion()) { |
| | | // Driver driver2 = driverService.selectById(orderPrivateCar.getPromotionDriverId()); |
| | | // request1.setPromoterId(driver2.getEmpId().toString()); |
| | | // } |
| | | // OrderUtil.modifyTravelItinerary(request1); |
| | | // |
| | | // String payId = payInfo.getData().getPayId(); |
| | | // //copy原始订单后生成追缴单 |
| | | // OrderPrivateCar orderPrivateCar1 = new OrderPrivateCar(); |
| | | // BeanUtils.copyProperties(orderPrivateCar, orderPrivateCar1); |
| | | // orderPrivateCar1.setId(null); |
| | | // orderPrivateCar1.setRecoveryOrder(1); |
| | | // |
| | | // //修改原始订单为支付状态 |
| | | // orderPrivateCar.setState(8); |
| | | // orderPrivateCar.setPayType(5); |
| | | // orderPrivateCar.setPayMoney(orderPrivateCar.getOrderMoney()); |
| | | // orderPrivateCarService.updateById(orderPrivateCar); |
| | | // //保存追缴单 |
| | | // orderPrivateCarService.insert(orderPrivateCar1); |
| | | // //添加三方支付记录 |
| | | // try { |
| | | // paymentRecordService.saveData(1, orderPrivateCar.getUserId(), 1, orderPrivateCar.getId(), 1, 3, orderPrivateCar.getOrderMoney(), payId, 2); |
| | | // } catch (Exception e) { |
| | | // throw new RuntimeException(e); |
| | | // } |
| | | // |
| | | // |
| | | // Driver driver1 = driverService.selectById(orderPrivateCar1.getDriverId()); |
| | | // UserInfo userInfo1 = userInfoService.selectById(orderPrivateCar1.getUserId()); |
| | | // Company company1 = companyService.selectById(driver1.getCompanyId()); |
| | | // //调三方订单中心创建行程单 |
| | | // CreateTravelItineraryRequest request = new CreateTravelItineraryRequest(); |
| | | // request.setOrderNo("PR" + orderPrivateCar1.getId()); |
| | | // request.setCustomerId(userInfo1.getOnconUUID()); |
| | | // request.setDriverId(driver1.getEmpId().toString()); |
| | | // request.setSupplierShopId(company1.getEnterCode()); |
| | | // request.setServiceType(2); |
| | | // String travelItinerary = OrderUtil.createTravelItinerary(request); |
| | | // orderPrivateCar1.setTravelId(travelItinerary); |
| | | // orderPrivateCar1.setIsCreated(0); |
| | | // orderPrivateCarService.updateById(orderPrivateCar1); |
| | | // //修改订单状态为待支付 |
| | | // ModifyTravelItineraryRequest modifyTravelItineraryRequest = new ModifyTravelItineraryRequest(); |
| | | // modifyTravelItineraryRequest.setOrderId(orderPrivateCar1.getTravelId()); |
| | | // modifyTravelItineraryRequest.setStatus(orderPrivateCar1.getState()); |
| | | // modifyTravelItineraryRequest.setDriverId(driver1.getEmpId().toString()); |
| | | // modifyTravelItineraryRequest.setSupplierShopId(company1.getEnterCode()); |
| | | // if (2 == orderPrivateCar1.getPromotion()) { |
| | | // Driver driver2 = driverService.selectById(orderPrivateCar1.getPromotionDriverId()); |
| | | // modifyTravelItineraryRequest.setPromoterId(driver2.getEmpId().toString()); |
| | | // } |
| | | // OrderUtil.modifyTravelItinerary(modifyTravelItineraryRequest); |
| | | // } |
| | | // } |
| | | //} |