| | |
| | | private String callbackPath; |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 出租车下单操作 |
| | | * |
| | | * @param orderTaxi |
| | | * @param uid |
| | | * @return |
| | |
| | | // orderTaxi.setTrackId(track); |
| | | // |
| | | //调用移动的小号接口 |
| | | Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); |
| | | if(String.valueOf(map.get("code")).equals("200")){ |
| | | orderTaxi.setTelX(map.get("telX")); |
| | | orderTaxi.setBindId(map.get("bindId")); |
| | | } |
| | | // Map<String, String> map = chinaMobileUtil.midAxbBindSend(orderTaxi.getPassengersPhone(), driver.getPhone(), (System.currentTimeMillis() + 86400000)); |
| | | // if (String.valueOf(map.get("code")).equals("200")) { |
| | | // orderTaxi.setTelX(map.get("telX")); |
| | | // orderTaxi.setBindId(map.get("bindId")); |
| | | // } |
| | | |
| | | driver.setState(3); |
| | | driverService.updateById(driver); |
| | |
| | | |
| | | /** |
| | | * 继续执行推动等待操作 |
| | | * |
| | | * @param id |
| | | * @throws Exception |
| | | */ |
| | |
| | | |
| | | /** |
| | | * 获取取消订单需要支付的金额(包含小费) |
| | | * |
| | | * @param id |
| | | * @return |
| | | * @throws Exception |
| | |
| | | return ResultUtil.error("获取数据失败,订单信息有误"); |
| | | } |
| | | double amount = 0; |
| | | CancleOrder query = cancleOrderService.query(orderTaxi.getOrderType(), 2, orderTaxi.getCompanyId()); |
| | | OpenCity openCity = openCityService.openCity1(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString()); |
| | | CancleOrder query = cancleOrderService.query(orderTaxi.getOrderType(), 2, openCity.getId()); |
| | | if(null == query){ |
| | | return ResultUtil.error("请先完善取消规则"); |
| | | } |
| | |
| | | |
| | | /** |
| | | * 添加订单取消 |
| | | * |
| | | * @param id |
| | | * @param reason |
| | | * @param remark |
| | |
| | | this.updateById(orderTaxi); |
| | | } |
| | | }else { |
| | | CancleOrder query = cancleOrderService.query(orderTaxi.getOrderType(), 2, orderTaxi.getCompanyId()); |
| | | OpenCity openCity = openCityService.openCity1(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString()); |
| | | CancleOrder query = cancleOrderService.query(orderTaxi.getOrderType(), 2, openCity.getId()); |
| | | if (null != query) { |
| | | if ((orderTaxi.getSnatchOrderTime().getTime() + query.getMinuteNum() * 60 * 1000) < System.currentTimeMillis() && query.getMoney().compareTo(0D) > 0) {//收费的情况 |
| | | orderTaxi.setState(12); |
| | |
| | | |
| | | /** |
| | | * 取消订单操作 |
| | | * |
| | | * @param id |
| | | * @return |
| | | * @throws Exception |
| | |
| | | orderCancel = orderCancelService.selectById(cancleId); |
| | | } |
| | | |
| | | CancleOrder query = cancleOrderService.query(orderTaxi.getOrderType(), 2, orderTaxi.getCompanyId()); |
| | | OpenCity openCity = openCityService.openCity1(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString()); |
| | | CancleOrder query = cancleOrderService.query(orderTaxi.getOrderType(), 2, openCity.getId()); |
| | | System.out.println("取消订单:"+query); |
| | | if(null != query){ |
| | | if(payType == 1){//微信支付 |
| | |
| | | |
| | | /** |
| | | * 删除定时任务 |
| | | * |
| | | * @param orderId |
| | | */ |
| | | @Override |
| | |
| | | |
| | | /** |
| | | * 获取用户余额和可用优惠券数量 |
| | | * |
| | | * @param uid |
| | | * @return |
| | | * @throws Exception |
| | |
| | | |
| | | /** |
| | | * 获取最优数据 |
| | | * |
| | | * @param orderTaxi |
| | | * @param price |
| | | * @param id |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 获取优惠券列表 |
| | | * |
| | | * @param orderId |
| | | * @return |
| | | * @throws Exception |
| | |
| | | |
| | | /** |
| | | * 订单完成支付订单操作 |
| | | * |
| | | * @param payType 1=微信,2=支付宝,3=余额 |
| | | * @param orderId |
| | | * @return |
| | |
| | | |
| | | userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | |
| | | SysIntegral query1 = sysIntegralMapper.query(orderTaxi.getCompanyId()); |
| | | OpenCity openCity = openCityService.openCity1(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString()); |
| | | SysIntegral query1 = sysIntegralMapper.query(openCity.getId()); |
| | | userInfo.setIntegral(userInfo.getIntegral() + (orderMoney.intValue() * query1.getIntegral()));//积分 |
| | | |
| | | //添加交易明细 |
| | |
| | | |
| | | userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | |
| | | SysIntegral query1 = sysIntegralMapper.query(orderTaxi.getCompanyId()); |
| | | OpenCity openCity = openCityService.openCity1(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString()); |
| | | SysIntegral query1 = sysIntegralMapper.query(openCity.getId()); |
| | | if(null != query1){ |
| | | userInfo.setIntegral(userInfo.getIntegral() + (orderMoney.intValue() * query1.getIntegral()));//积分 |
| | | } |
| | |
| | | this.updateAllColumnById(orderTaxi); |
| | | return resultUtil; |
| | | } |
| | | |
| | | @Autowired |
| | | private AppOrderController appOrderController; |
| | | |
| | | /** |
| | | * 手动完成订单操作 |
| | | * |
| | | * @param orderId |
| | | * @param orderType |
| | | * @return |
| | |
| | | |
| | | /** |
| | | * 获取用户的订单列表 |
| | | * |
| | | * @param uid |
| | | * @param pageNum |
| | | * @param size |
| | |
| | | |
| | | /** |
| | | * 获取历史消费记录 |
| | | * |
| | | * @param uid |
| | | * @return |
| | | * @throws Exception |
| | |
| | | |
| | | /** |
| | | * 获取红包使用记录 |
| | | * |
| | | * @param uid |
| | | * @return |
| | | * @throws Exception |
| | |
| | | |
| | | /** |
| | | * 获取用户单发票页面的订单列表 |
| | | * |
| | | * @param type 开票状态(1=未开票,2=已开票) |
| | | * @param startTime 订单开始时间 |
| | | * @param endTime 订单结束时间 |
| | |
| | | |
| | | /** |
| | | * 获取订单详情 |
| | | * |
| | | * @param orderId |
| | | * @return |
| | | */ |
| | |
| | | if(map.get("abnormalIntro")!=null){ |
| | | map.put("appealStatus", 1); |
| | | } |
| | | |
| | | String driverId = (String) redisTemplate.opsForValue().get("DEVICE_" + map.get("driverId")); |
| | | map.put("device", ToolUtil.isNotEmpty(driverId) ? 2 : 1); |
| | | map.put("orderType", 2); |
| | |
| | | |
| | | /** |
| | | * 获取下单推送完后没有司机下单的提醒 |
| | | * |
| | | * @return |
| | | * @throws Exception |
| | | */ |
| | |
| | | endPushWarpper.setOrderId(orderTaxi.getId()); |
| | | endPushWarpper.setOrderType(2); |
| | | endPushWarpper.setState(1); |
| | | List<PushOrder> querys = pushOrderService.querys(null, 2, orderTaxi.getCompanyId());//获取需要推送的次数 |
| | | OpenCity openCity = openCityService.openCity1(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString()); |
| | | List<PushOrder> querys = pushOrderService.querys(null, 2, openCity.getId());//获取需要推送的次数 |
| | | int time = 0; |
| | | for(int i = 1; i <= querys.size()+5; i++){ |
| | | PushOrder pushOrder = pushOrderService.querys(i, 2, orderTaxi.getCompanyId()).get(0); |
| | | int finalI = i; |
| | | PushOrder pushOrder = querys.stream().filter(s -> s.getType() == (finalI <= 3 ? finalI : 3)).findFirst().orElse(null); |
| | | time += pushOrder.getPushTime() * 1000; |
| | | } |
| | | //当前时间减去推单总时间大于下单时间 |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 获取服务中的订单数据 |
| | | * |
| | | * @param uid |
| | | * @return |
| | | * @throws Exception |
| | |
| | | |
| | | /** |
| | | * 评论成功后获取红包金额 |
| | | * |
| | | * @param orderId |
| | | * @return |
| | | * @throws Exception |
| | |
| | | |
| | | /** |
| | | * 分享成功后添加红包 |
| | | * |
| | | * @param orderId |
| | | * @return |
| | | * @throws Exception |
| | |
| | | |
| | | /** |
| | | * 获取订单数据 |
| | | * |
| | | * @param uid |
| | | * @param state |
| | | * @return |
| | |
| | | |
| | | /** |
| | | * 订单支付完成后的处理 |
| | | * |
| | | * @param id 订单=id |
| | | * @param order_id 工行支付单号 |
| | | * @param type 1=微信,2=支付宝 |
| | |
| | | orderTaxi.setPayMoney(query.getAmount()); |
| | | |
| | | UserInfo userInfo = userInfoService.selectById(orderTaxi.getUserId()); |
| | | SysIntegral query1 = sysIntegralMapper.query(orderTaxi.getCompanyId()); |
| | | OpenCity openCity = openCityService.openCity1(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString()); |
| | | SysIntegral query1 = sysIntegralMapper.query(openCity.getId()); |
| | | userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分 |
| | | userInfoService.updateById(userInfo); |
| | | |
| | |
| | | |
| | | /** |
| | | * 取消订单支付后的处理 |
| | | * |
| | | * @param id 订单=id |
| | | * @param order_id 工行支付单号 |
| | | * @param type 1=微信,2=支付宝 |
| | |
| | | |
| | | /** |
| | | * 推送订单给司机抢单 |
| | | * |
| | | * @param orderTaxi |
| | | * @throws Exception |
| | | */ |
| | |
| | | if (ToolUtil.isNotEmpty(vehicle)) { |
| | | integers = JSON.parseArray(vehicle).toJavaList(Integer.class); |
| | | } |
| | | Company query = companyCityService.query(String.valueOf(orderTaxi.getStartLon()), String.valueOf(orderTaxi.getStartLat()));//获取起点所属分公司 |
| | | List<PushOrder> querys = pushOrderService.querys(null, 2, query.getId());//获取需要推送的次数 |
| | | |
| | | OpenCity openCity = openCityService.openCity1(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString()); |
| | | List<PushOrder> querys = pushOrderService.querys(null, 2, openCity.getId());//获取需要推送的次数 |
| | | //整轮派单结束,若无司机接单,系统自动增加派单5轮,若增加5轮后任无司机接单,则系统结束派单,乘客端显示无司机接单、是否再次打车 |
| | | for (int i = 1; i <= querys.size()+5; i++) { |
| | | PushOrder pushOrder = pushOrderService.querys(i, 2, query.getId()).get(0); |
| | | int finalI = i; |
| | | PushOrder pushOrder = querys.stream().filter(s -> s.getType() == (finalI <= 3 ? finalI : 3)).findFirst().orElse(null); |
| | | System.out.println("pushOrder:" + pushOrder); |
| | | //获取空闲司机 |
| | | List<Driver> list = driverService.queryIdleDriver(2, orderTaxi.getStartLon(), orderTaxi.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机 |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public synchronized String getOrderNum() throws Exception{ |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); |
| | |
| | | // } |
| | | userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(money)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | |
| | | SysIntegral query1 = sysIntegralMapper.query(orderTaxi.getCompanyId()); |
| | | OpenCity openCity = openCityService.openCity1(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString()); |
| | | SysIntegral query1 = sysIntegralMapper.query(openCity.getId()); |
| | | userInfo.setIntegral(userInfo.getIntegral() + (money.intValue() * query1.getIntegral()));//积分 |
| | | |
| | | //添加交易明细 |
| | |
| | | query.setCode(order_id); |
| | | paymentRecordService.updateById(query); |
| | | |
| | | SysIntegral query1 = sysIntegralMapper.query(orderTaxi.getCompanyId()); |
| | | OpenCity openCity = openCityService.openCity1(orderTaxi.getStartLon().toString(), orderTaxi.getStartLat().toString()); |
| | | SysIntegral query1 = sysIntegralMapper.query(openCity.getId()); |
| | | userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分 |
| | | |
| | | //添加交易明细 |