| | |
| | | driver.setState(3); |
| | | driverService.updateById(driver); |
| | | } |
| | | |
| | | // 查询城市的订单额度 |
| | | OpenCity openCity = openCityService.selectOne(new EntityWrapper<OpenCity>() |
| | | .eq("code", cityCode) |
| | | .ne("flag", 3) |
| | | .orderBy("orderMagnitude", false) |
| | | .last("LIMIT 1")); |
| | | if(Objects.isNull(openCity)){ |
| | | String city = cityCode.substring(0, 4) + "00"; |
| | | openCity = openCityService.selectOne(new EntityWrapper<OpenCity>() |
| | | .eq("code", city) |
| | | .ne("flag", 3) |
| | | .orderBy("orderMagnitude", false) |
| | | .last("LIMIT 1")); |
| | | } |
| | | |
| | | // 查询预估价格 |
| | | ResultUtil<List<ServerCarModelWarpper>> listResultUtil = serverCarModelService.queryServerCarModel(startLon + "," + startLat, endLon + "," + endLat, 1); |
| | | List<ServerCarModelWarpper> data = listResultUtil.getData(); |
| | |
| | | return ResultUtil.error("订单不在待支付状态,不允许支付", ""); |
| | | } |
| | | PaymentRecord query3 = paymentRecordService.query(1, null, null, orderId, 1, null, 1); |
| | | if(null != query3){ |
| | | ResultUtil<Map<String, Object>> resultUtil1 = payMoneyUtil.queryWXOrder("", query3.getSerialNumber(), "JSAPI"); |
| | | if (resultUtil1.getCode() == 200) { |
| | | /** |
| | | * SUCCESS--支付成功 |
| | | * REFUND--转入退款 |
| | | * NOTPAY--未支付 |
| | | * CLOSED--已关闭 |
| | | * REVOKED--已撤销(刷卡支付) |
| | | * USERPAYING--用户支付中 |
| | | * PAYERROR--支付失败(其他原因,如银行返回失败) |
| | | * ACCEPT--已接收,等待扣款 |
| | | */ |
| | | String result_code = resultUtil1.getData().get("result_code").toString(); |
| | | if("SUCCESS".equals(result_code)){ |
| | | String s = resultUtil1.getData().get("trade_state").toString(); |
| | | if ("REFUND".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s)) { |
| | | payMoneyUtil.closeWXOrder(query3.getSerialNumber()); |
| | | paymentRecordService.deleteById(query3.getId()); |
| | | } |
| | | if ("SUCCESS".equals(s) || "ACCEPT".equals(s)) { |
| | | return ResultUtil.error("不允许重复支付"); |
| | | } |
| | | if ("NOTPAY".equals(s) || "USERPAYING".equals(s)) { |
| | | payMoneyUtil.closeWXOrder(query3.getSerialNumber()); |
| | | paymentRecordService.deleteById(query3.getId()); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | // if(null != query3){ |
| | | // ResultUtil<Map<String, Object>> resultUtil1 = payMoneyUtil.queryWXOrder("", query3.getSerialNumber(), "JSAPI"); |
| | | // if (resultUtil1.getCode() == 200) { |
| | | // /** |
| | | // * SUCCESS--支付成功 |
| | | // * REFUND--转入退款 |
| | | // * NOTPAY--未支付 |
| | | // * CLOSED--已关闭 |
| | | // * REVOKED--已撤销(刷卡支付) |
| | | // * USERPAYING--用户支付中 |
| | | // * PAYERROR--支付失败(其他原因,如银行返回失败) |
| | | // * ACCEPT--已接收,等待扣款 |
| | | // */ |
| | | // String result_code = resultUtil1.getData().get("result_code").toString(); |
| | | // if("SUCCESS".equals(result_code)){ |
| | | // String s = resultUtil1.getData().get("trade_state").toString(); |
| | | // if ("REFUND".equals(s) || "CLOSED".equals(s) || "REVOKED".equals(s) || "PAYERROR".equals(s)) { |
| | | // payMoneyUtil.closeWXOrder(query3.getSerialNumber()); |
| | | // paymentRecordService.deleteById(query3.getId()); |
| | | // } |
| | | // if ("SUCCESS".equals(s) || "ACCEPT".equals(s)) { |
| | | // return ResultUtil.error("不允许重复支付"); |
| | | // } |
| | | // if ("NOTPAY".equals(s) || "USERPAYING".equals(s)) { |
| | | // payMoneyUtil.closeWXOrder(query3.getSerialNumber()); |
| | | // paymentRecordService.deleteById(query3.getId()); |
| | | // } |
| | | // } |
| | | // } |
| | | // } |
| | | |
| | | |
| | | |
| | |
| | | |
| | | userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); |
| | | |
| | | SysIntegral query1 = sysIntegralMapper.query(orderPrivateCar.getCompanyId()); |
| | | userInfo.setIntegral(userInfo.getIntegral() + (orderMoney.intValue() * query1.getIntegral()));//积分 |
| | | |
| | | // SysIntegral query1 = sysIntegralMapper.query(orderPrivateCar.getCompanyId()); |
| | | // if(Objects.nonNull(query1)){ |
| | | // userInfo.setIntegral(userInfo.getIntegral() + (orderMoney.intValue() * query1.getIntegral()));//积分 |
| | | // } |
| | | |
| | | //添加交易明细 |
| | | transactionDetailsService.saveData(uid, "完成订单", orderMoney, 2, 1, 1, 1, orderId); |
| | | userInfoService.updateById(userInfo); |
| | | |
| | | |
| | | // orderPrivateCar.setState(8); |
| | | orderPrivateCar.setPayType(3); |
| | | // orderPrivateCar.setPayMoney(orderMoney); |
| | |
| | | if(Objects.nonNull(orderPrivateCar.getPaymentAdvanceMoney()) && orderPrivateCar.getPaymentAdvanceMoney() > 0){ |
| | | orderPrivateCar.setPayMoney(new BigDecimal(orderMoney).add(new BigDecimal(orderPrivateCar.getPaymentAdvanceMoney())).doubleValue()); |
| | | orderPrivateCar.setOrderMoney(orderPrivateCar.getPayMoney()); |
| | | |
| | | SysIntegral query1 = sysIntegralMapper.query(orderPrivateCar.getCompanyId()); |
| | | if(Objects.nonNull(query1)){ |
| | | userInfo.setIntegral(userInfo.getIntegral() + (orderMoney.intValue() * query1.getIntegral()));//积分 |
| | | } |
| | | userInfoService.updateById(userInfo); |
| | | //添加已收入明细 |
| | | Company company = companyService.selectById(orderPrivateCar.getCompanyId()); |
| | | Double speMoney = company.getSpeMoney(); |
| | |
| | | } |
| | | if(Integer.valueOf(String.valueOf(map.get("state"))) == 7){ |
| | | OrderPrivateCar orderPrivateCar = orderPrivateCarMapper.selectById(orderId); |
| | | UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(Integer.valueOf(String.valueOf(map.get("companyId")))); |
| | | if(null != query2){ |
| | | Integer orderNum=this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("userId",orderPrivateCar.getUserId()).eq("activityId",query2.getId()).last(" and to_days(getoffTime) = to_days(now())")); |
| | | if(query2.getDistance()*1000>orderPrivateCar.getMileage() && query2.getOrderNum()>orderNum){ |
| | | Double special = query2.getSpecial(); |
| | | orderPrivateCar.setDiscount(special); |
| | | Double orderMoney = orderPrivateCar.getOrderMoney(); |
| | | double v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); |
| | | if(orderMoney.compareTo(v) > 0){ |
| | | map.put("discountMoney",orderMoney - v); |
| | | Object companyId = map.get("companyId"); |
| | | if(Objects.nonNull(companyId)){ |
| | | UserActivityDiscount1 query2 = userActivityDiscount1Mapper.query(Integer.valueOf(String.valueOf(map.get("companyId")))); |
| | | if(null != query2){ |
| | | Integer orderNum=this.selectCount(new EntityWrapper<OrderPrivateCar>().eq("userId",orderPrivateCar.getUserId()).eq("activityId",query2.getId()).last(" and to_days(getoffTime) = to_days(now())")); |
| | | if(query2.getDistance()*1000>orderPrivateCar.getMileage() && query2.getOrderNum()>orderNum){ |
| | | Double special = query2.getSpecial(); |
| | | orderPrivateCar.setDiscount(special); |
| | | Double orderMoney = orderPrivateCar.getOrderMoney(); |
| | | double v = new BigDecimal(orderMoney).multiply(new BigDecimal(special / 10)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); |
| | | if(orderMoney.compareTo(v) > 0){ |
| | | map.put("discountMoney",orderMoney - v); |
| | | } |
| | | } |
| | | } |
| | | |
| | | }else{ |
| | | map.put("discountMoney",0); |
| | | } |
| | | } |
| | | |