| | |
| | | import com.stylefeng.guns.modular.shunfeng.util.OrdersUtil; |
| | | import com.stylefeng.guns.modular.shunfeng.util.SensitiveWordUtil; |
| | | import com.stylefeng.guns.modular.system.dao.SensitiveWordsMapper; |
| | | import com.stylefeng.guns.modular.system.model.SensitiveWords; |
| | | import com.stylefeng.guns.modular.system.model.TCarBrand; |
| | | import com.stylefeng.guns.modular.system.model.UserInfo; |
| | | import com.stylefeng.guns.modular.system.model.*; |
| | | import com.stylefeng.guns.modular.system.service.ICompanyService; |
| | | import com.stylefeng.guns.modular.system.service.ISystemNoticeService; |
| | | import com.stylefeng.guns.modular.system.service.ITCarBrandService; |
| | | import com.stylefeng.guns.modular.system.service.IUserInfoService; |
| | |
| | | import com.stylefeng.guns.modular.system.util.GDMapElectricFenceUtil; |
| | | import com.stylefeng.guns.modular.system.util.PushUtil; |
| | | import com.stylefeng.guns.modular.system.util.ResultUtil; |
| | | import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil; |
| | | import com.stylefeng.guns.modular.system.util.qianyuntong.UserUtil; |
| | | import com.stylefeng.guns.modular.system.util.qianyuntong.model.*; |
| | | import io.swagger.annotations.*; |
| | | import net.sf.json.JSONObject; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.util.*; |
| | | |
| | | /** |
| | |
| | | |
| | | @Autowired |
| | | private IFinancialService financialService; |
| | | |
| | | @Autowired |
| | | private ICompanyService companyService; |
| | | |
| | | |
| | | |
| | |
| | | driverRide.setBrandId(brandId); |
| | | driverRide.setUserId(userId); |
| | | driverRide.setByInviteCode(inviteCodeRide); |
| | | driverRide.setCompanyId(1); |
| | | driverRide.setCarType(carType); |
| | | driverRide.setCarNum(carNum); |
| | | driverRide.setLicense(license); |
| | |
| | | } |
| | | |
| | | |
| | | private Integer getState(Integer state){ |
| | | switch (state){ |
| | | case 1: |
| | | return 7; |
| | | case 2: |
| | | return 1; |
| | | case 3: |
| | | return 4; |
| | | case 4: |
| | | return 5; |
| | | case 5: |
| | | return 8; |
| | | case 6: |
| | | return 10; |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | |
| | | //用户取消退款 |
| | | public void userCancelTuik(OrderRide orderRide){ |
| | |
| | | }else if(orderRide.getPayType()==2){ |
| | | //微信 |
| | | Integer money = new Double(orderRide.getMoney() * 100).intValue(); |
| | | Integer tMoney_ = new Double(orderRide.getTuiMoney()* 100).intValue(); |
| | | PayUtil.refundForWxpay(1, financial.getLsType(), orderRide.getOrderNum(), finNum, money,tMoney_ , "2"); |
| | | // Integer tMoney_ = new Double(orderRide.getTuiMoney()* 100).intValue(); |
| | | // PayUtil.refundForWxpay(1, financial.getLsType(), orderRide.getOrderNum(), finNum, money,tMoney_ , "2"); |
| | | |
| | | //中台订单退款操作 |
| | | if(ToolUtil.isNotEmpty(orderRide.getZttravelId())){ |
| | | UserInfo userInfo = userInfoService.selectById(orderRide.getUserId()); |
| | | TradeOrderRefundRequest request = new TradeOrderRefundRequest(); |
| | | request.setPartnerPayId(orderRide.getZttravelId()); |
| | | request.setPayId(financial.getLsType()); |
| | | request.setRefundTotalFee(money + ""); |
| | | request.setRemark("顺风车订单取消退款"); |
| | | request.setRefundType("RF"); |
| | | |
| | | RefundInfoRequest refundInfo = new RefundInfoRequest(); |
| | | refundInfo.setPayItemId(orderRide.getZttravelId()); |
| | | refundInfo.setPayId(financial.getLsType()); |
| | | refundInfo.setTradeFee(money + ""); |
| | | request.setRefundInfos(new ArrayList<RefundInfoRequest>(){{ |
| | | add(refundInfo); |
| | | }}); |
| | | TradeOrderRefund tradeOrderRefund = OrderUtil.tradeOrderRefund(request); |
| | | //退款通知 |
| | | OrderRefundNoticeRequest request2 = new OrderRefundNoticeRequest(); |
| | | request2.setOrderId(orderRide.getZttravelId()); |
| | | request2.setRefundPayNum(tradeOrderRefund.getRefundId()); |
| | | request2.setRefundType("5"); |
| | | request2.setApplyRefundCharge(BigDecimal.valueOf(orderRide.getMoney())); |
| | | request2.setActualRefundCharge(BigDecimal.valueOf(orderRide.getMoney())); |
| | | request2.setRefundAccount(userInfo.getOnconUUID()); |
| | | request2.setRemark("顺风车订单取消退款"); |
| | | OrderUtil.orderRefundNotice(request2); |
| | | } |
| | | |
| | | |
| | | }else if(orderRide.getPayType()==3){ |
| | | |
| | | } |
| | |
| | | f.setOrderType(4); |
| | | f.setLx(1); |
| | | financialService.insert(f); |
| | | }else{ |
| | | //未支付的情况取消订单 |
| | | if(ToolUtil.isNotEmpty(orderRide.getZttravelId())){ |
| | | OrderUtil.tradeOrderCancel(orderRide.getZttravelId()); |
| | | } |
| | | } |
| | | /*添加系统消息*/ |
| | | try { |
| | |
| | | if(orderRide!=null && orderRide.getState()==6){ |
| | | return ResultUtil.error("用户已取消该行程"); |
| | | } |
| | | UserInfo userInfo=userInfoService.selectById(driverRide.getUserId()); |
| | | if(orderTravel!=null){ |
| | | if(type==1){//1确认同行 一个行程只能匹配一个订单 |
| | | if(orderTravel.getState()==3){ |
| | |
| | | driverRide.setTotalOrders(driverRide.getTotalOrders()+1); |
| | | driverRideService.updateById(driverRide); |
| | | /*修改用户接单数和司机提成*/ |
| | | UserInfo userInfo=userInfoService.selectById(driverRide.getUserId()); |
| | | |
| | | userInfo.setBalance(userInfo.getBalance()+(orderRide.getMoney()-orderRide.getPlatformMoney())); |
| | | userInfo.setTotalOrders(userInfo.getTotalOrders() + 1); |
| | | userInfoService.updateById(userInfo); |
| | |
| | | throw new RuntimeException(e); |
| | | } |
| | | } |
| | | |
| | | if(null != orderRide.getZttravelId()){ |
| | | //中台修改订单状态 |
| | | ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest(); |
| | | request.setOrderId(orderRide.getZttravelId()); |
| | | request.setStatus(getState(orderRide.getState())); |
| | | if (null != orderRide.getDriverId()) { |
| | | request.setDriverId(driverRide.getEmpId().toString()); |
| | | } |
| | | OrderUtil.modifyTravelItinerary(request); |
| | | } |
| | | |
| | | pushUtil.pushOrderState(1, orderRide.getUserId(), orderRide.getId(), 8, orderRide.getState(), null); |
| | | return ResultUtil.success(""); |
| | | } catch (Exception e) { |