From bd302407c40d73b3216fe5c38433e08afd9c5962 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期二, 16 九月 2025 09:11:08 +0800 Subject: [PATCH] 修改 --- UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 254 +++++++++++++++++++++++++++++++++++--------------- 1 files changed, 176 insertions(+), 78 deletions(-) diff --git a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java index 20e4ff9..d2c80a8 100644 --- a/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java +++ b/UserZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java @@ -169,10 +169,10 @@ private IOpenCityService openCityService; @Autowired private IServerCarModelService serverCarModelService; -// @Autowired -// private ALiSendSms aLiSendSms; - - + @Autowired + private IAppOpenInfoService appOpenInfoService; + @Resource + private UserInfoMapper userInfoMapper; @Value("${filePath}") private String filePath; @@ -287,7 +287,6 @@ orderPrivateCar.setTravelTime(travelTime); orderPrivateCar.setOrderType(reservation); orderPrivateCar.setOrderSource(orderSource); - orderPrivateCar.setEstimatedPrice(estimatedPrice); if(orderSource == 2){//扫码下单 Driver driver = driverService.selectById(driverId); if(null == driver){ @@ -324,13 +323,21 @@ 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(); @@ -341,8 +348,10 @@ orderPrivateCar.setState(7); if(orderSource == 2){ orderPrivateCar.setOrderMoney(data.get(0).getAmount()); + orderPrivateCar.setEstimatedPrice(data.get(0).getAmount()); }else { orderPrivateCar.setOrderMoney(data.get(carIndex).getAmount()); + orderPrivateCar.setEstimatedPrice(data.get(carIndex).getAmount()); } orderPrivateCar.setPayMethod(0); this.insert(orderPrivateCar); @@ -353,6 +362,11 @@ baseWarpper.setAmount(orderPrivateCar.getOrderMoney()); return ResultUtil.success(baseWarpper); }else { + if(orderSource == 2){ + orderPrivateCar.setEstimatedPrice(data.get(0).getAmount()); + }else { + orderPrivateCar.setEstimatedPrice(data.get(carIndex).getAmount()); + } orderPrivateCar.setIsReassign(1); orderPrivateCar.setIsDelete(1); orderPrivateCar.setPayMethod(1); @@ -891,7 +905,10 @@ if(null == orderPrivateCar){ return ResultUtil.error("取消订单失败,订单信息有误"); } - if(orderPrivateCar.getState() > 5 && orderPrivateCar.getState() != 11){ + if(orderPrivateCar.getPayMethod() == 0 && (Objects.nonNull(orderPrivateCar.getPaymentAdvanceMoney()) && orderPrivateCar.getPaymentAdvanceMoney()>0) && orderPrivateCar.getState() > 5 && orderPrivateCar.getState() != 11){ + return ResultUtil.error("取消订单失败,当前状态无法取消"); + } + if(orderPrivateCar.getPayMethod() == 1 && orderPrivateCar.getState() > 5 && orderPrivateCar.getState() != 11){ return ResultUtil.error("取消订单失败,不合法的操作"); } if(null == orderPrivateCar.getDriverId()){//没有接单的情况 @@ -913,6 +930,26 @@ integer = orderCancelService.saveData(id, 1, "无司机接单", "无司机接单", null, null, 2, 1, uid); orderPrivateCar.setState(10); this.updateById(orderPrivateCar); + if (orderPrivateCar.getPayMethod() == 0 && (Objects.nonNull(orderPrivateCar.getPaymentAdvanceMoney()) && orderPrivateCar.getPaymentAdvanceMoney()>0)) { + // 退款 + if (orderPrivateCar.getPayType() == 1 && orderPrivateCar.getOrderMoney() != 0) {//微信退款 + // 微信退款 + payMoneyUtil.wxRefund(orderPrivateCar.getTransactionId(), orderPrivateCar.getOrderNum(), String.valueOf(orderPrivateCar.getPaymentAdvanceMoney()), String.valueOf(new BigDecimal(orderPrivateCar.getPaymentAdvanceMoney())), "/base/transferWXNotify"); +// orderPrivateCar.setPayMoney(new BigDecimal(orderPrivateCar.getOrderMoney()).doubleValue()); + } + if (orderPrivateCar.getPayType() == 2 && orderPrivateCar.getOrderMoney() != 0) {//支付宝退款 + // 支付宝退款 + payMoneyUtil.aliRefund(orderPrivateCar.getTransactionId(), String.valueOf(new BigDecimal(orderPrivateCar.getPaymentAdvanceMoney()).multiply(new BigDecimal(100)))); +// orderPrivateCar.setPayMoney(new BigDecimal(orderPrivateCar.getOrderMoney()).doubleValue()); + } + if (orderPrivateCar.getPayType() == 3 && orderPrivateCar.getOrderMoney() != 0) {//余额支付 + BigDecimal refundMoney = new BigDecimal(orderPrivateCar.getPaymentAdvanceMoney()); + // 余额退款 + UserInfo userInfo = userInfoMapper.selectById(orderPrivateCar.getUserId()); + userInfo.setBalance(new BigDecimal(userInfo.getBalance()).add(refundMoney).doubleValue()); + userInfoMapper.updateById(userInfo); + } + } } }else { CancleOrder query = cancleOrderService.query(orderPrivateCar.getOrderType(), 1, orderPrivateCar.getCompanyId()); @@ -926,6 +963,26 @@ orderPrivateCar.setState(10); this.updateById(orderPrivateCar); + if (orderPrivateCar.getPayMethod() == 0 && (Objects.nonNull(orderPrivateCar.getPaymentAdvanceMoney()) && orderPrivateCar.getPaymentAdvanceMoney()>0)) { + // 退款 + if (orderPrivateCar.getPayType() == 1 && orderPrivateCar.getOrderMoney() != 0) {//微信退款 + // 微信退款 + payMoneyUtil.wxRefund(orderPrivateCar.getTransactionId(), orderPrivateCar.getOrderNum(), String.valueOf(orderPrivateCar.getPaymentAdvanceMoney()), String.valueOf(new BigDecimal(orderPrivateCar.getPaymentAdvanceMoney())), "/base/transferWXNotify"); +// orderPrivateCar.setPayMoney(new BigDecimal(orderPrivateCar.getOrderMoney()).doubleValue()); + } + if (orderPrivateCar.getPayType() == 2 && orderPrivateCar.getOrderMoney() != 0) {//支付宝退款 + // 支付宝退款 + payMoneyUtil.aliRefund(orderPrivateCar.getTransactionId(), String.valueOf(new BigDecimal(orderPrivateCar.getPaymentAdvanceMoney()).multiply(new BigDecimal(100)))); +// orderPrivateCar.setPayMoney(new BigDecimal(orderPrivateCar.getOrderMoney()).doubleValue()); + } + if (orderPrivateCar.getPayType() == 3 && orderPrivateCar.getOrderMoney() != 0) {//余额支付 + BigDecimal refundMoney = new BigDecimal(orderPrivateCar.getPaymentAdvanceMoney()); + // 余额退款 + UserInfo userInfo = userInfoMapper.selectById(orderPrivateCar.getUserId()); + userInfo.setBalance(new BigDecimal(userInfo.getBalance()).add(refundMoney).doubleValue()); + userInfoMapper.updateById(userInfo); + } + } } this.deleteTask(id);//删除定时任务 @@ -1108,13 +1165,13 @@ Company company = companyService.selectById(orderPrivateCar.getCompanyId()); Double taxi = company.getSpeMoney(); BigDecimal c =new BigDecimal(query.getMoney());//司机收入 - incomeService.saveData(2, orderPrivateCar.getDriverId(), 3, orderPrivateCar.getId(), 1, c.doubleValue()); Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverService.updateById(driver); - + incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 3, orderPrivateCar.getId(), 1, c.doubleValue(),driver.getLaveBusinessMoney()); + this.deleteTask(id);//删除定时任务 // new Thread(new Runnable() { @@ -1158,7 +1215,11 @@ for(int i = 1; i <= querys.size(); i++){ PushOrder pushOrder = pushOrderService.querys(i, 1, query.getId()).get(0); //获取空闲司机 +// List<Driver> list = driverService.queryIdleDriver(1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机 List<Driver> list = driverService.queryIdleDriver(1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机 + List<Driver> list1 = driverService.queryIdleDriver_(1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), 2.0D, null);//所有附近空闲司机 + list.addAll(list1); + list = list.stream().distinct().collect(Collectors.toList()); if(list.size() > 0){ // 查询预约单 List<Integer> driverIds = list.stream().map(Driver::getId).collect(Collectors.toList()); @@ -1170,11 +1231,10 @@ for(Driver driver : list){//开始进行推送 // 判断该司机是否有30分钟内预约单 long count = orderPrivateCars.stream().filter(orderPrivateCar1 -> driver.getId().equals(orderPrivateCar1.getDriverId()) - && DateUtil.dateToLocalDateTime(orderPrivateCar1.getTravelTime()).minusMinutes(query.getLimitationTime()).isBefore(LocalDateTime.now()) - && DateUtil.dateToLocalDateTime(orderPrivateCar1.getTravelTime()).isAfter(LocalDateTime.now())).count(); - if(orderPrivateCar.getOrderType() == 2 && orderPrivateCarDriverIds.contains(driver.getId())){ - continue; - } + && DateUtil.dateToLocalDateTime(orderPrivateCar1.getTravelTime()).minusMinutes(query.getLimitationTime()).isBefore(LocalDateTime.now())).count(); +// if(orderPrivateCar.getOrderType() == 2 && orderPrivateCarDriverIds.contains(driver.getId())){ +// continue; +// } if(count > 0){ continue; } @@ -1203,10 +1263,26 @@ // 第三轮取消订单 orderPrivateCar.setState(10); orderPrivateCarMapper.updateById(orderPrivateCar); + pushUtil.pushOrderState(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0); // 添加站内信 systemNoticeService.addSystemNotice(1, "当前区域未能及时为您匹配到合适车辆。为避免耽误您的行程,系统已自动取消订单,建议您稍后重新尝试。", orderPrivateCar.getUserId(), 1); - // TODO 0731 添加短信发送 - + // 查询是否开启短信通知 + AppOpenInfo appOpenInfo = appOpenInfoService.selectOne(new EntityWrapper<AppOpenInfo>() + .eq("type", 3)); + if(Objects.nonNull(appOpenInfo) && appOpenInfo.getIsOpen() == 1){ + // 添加短信发送 + //发送记录集合 + JSONArray records = new JSONArray(); + JSONObject record = new JSONObject(); + UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId()); + //手机号 + record.put("mobile", userInfo.getPhone()); + //替换变量 + JSONObject param = new JSONObject(); + record.put("tpContent", param); + records.add(record); + SMSUtil.sendSmsTp(380702L, records); + } } } } catch (Exception e) { @@ -1326,36 +1402,36 @@ 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()); +// } +// } +// } +// } @@ -1503,13 +1579,14 @@ 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); @@ -1532,6 +1609,11 @@ 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()));//积分 + } //添加已收入明细 Company company = companyService.selectById(orderPrivateCar.getCompanyId()); Double speMoney = company.getSpeMoney(); @@ -1550,12 +1632,12 @@ c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } incomeService.saveData(1, orderPrivateCar.getCompanyId(), 2, orderPrivateCar.getId(), 1, d.doubleValue()); - incomeService.saveData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue()); Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverService.updateById(driver); + incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getLaveBusinessMoney()); orderPrivateCar.setState(8); }else { if(orderPrivateCar.getOrderSource() == 2){ @@ -1567,13 +1649,14 @@ orderPrivateCar.setOrderMoney(orderMoney); orderPrivateCar.setPayMoney(orderMoney); } - new Thread(new Runnable() { - @Override - public void run() { - pushUtil.pushOrderState(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0); - pushUtil.pushOrderState(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0); - } - }).start(); +// new Thread(new Runnable() { +// @Override +// public void run() { +// pushUtil.pushOrderState(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0); +// pushUtil.pushOrderState(2, orderPrivateCar.getDriverId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), 0); +// } +// }).start(); + userInfoService.updateById(userInfo); systemNoticeService.addSystemNotice(1, "您已使用余额成功完成出行订单支付,谢谢使用!", uid, 1); if(orderPrivateCar.getState() == 1){ this.pushOrder(orderPrivateCar); @@ -1581,6 +1664,7 @@ }else { // 后付 orderPrivateCar.setPayMoney(orderMoney); + orderPrivateCar.setState(8); if(orderPrivateCar.getIsplatPay()==1){ //添加已收入明细 Company company = companyService.selectById(orderPrivateCar.getCompanyId()); @@ -1600,12 +1684,12 @@ c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } incomeService.saveData(1, orderPrivateCar.getCompanyId(), 2, orderPrivateCar.getId(), 1, d.doubleValue()); - incomeService.saveData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue()); Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverService.updateById(driver); + incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getLaveBusinessMoney()); } @@ -1788,12 +1872,12 @@ Company company = companyService.selectById(orderPrivateCar.getCompanyId()); Double taxi = company.getSpeMoney(); BigDecimal c =new BigDecimal(query.getAmount());//司机收入 - incomeService.saveData(2, orderPrivateCar.getDriverId(), 3, orderPrivateCar.getId(), 1, c.doubleValue()); Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverService.updateById(driver); + incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 3, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getLaveBusinessMoney()); this.deleteTask(orderPrivateCar.getId());//删除定时任务 // TODO: 2020/5/24 这里需要给司机和用户推送订单状态 @@ -1843,10 +1927,10 @@ orderPrivateCar.setTransactionId(order_id); this.updateById(orderPrivateCar); - UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId()); - SysIntegral query1 = sysIntegralMapper.query(orderPrivateCar.getCompanyId()); - userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分 - userInfoService.updateById(userInfo); +// UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId()); +// SysIntegral query1 = sysIntegralMapper.query(orderPrivateCar.getCompanyId()); +// userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分 +// userInfoService.updateById(userInfo); //处理优惠券和红包 if(null != orderPrivateCar.getCouponId()){ @@ -1891,12 +1975,12 @@ c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } incomeService.saveData(1, orderPrivateCar.getCompanyId(), 2, orderPrivateCar.getId(), 1, d.doubleValue()); - incomeService.saveData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue()); Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverService.updateById(driver); + incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getLaveBusinessMoney()); }else { if(orderPrivateCar.getOrderSource() == 2){ orderPrivateCar.setState(2); @@ -1929,12 +2013,12 @@ c = new BigDecimal(orderPrivateCar.getOrderMoney()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } incomeService.saveData(1, orderPrivateCar.getCompanyId(), 2, orderPrivateCar.getId(), 1, d.doubleValue()); - incomeService.saveData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue()); Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverService.updateById(driver); + incomeService.saveDriverData(2, orderPrivateCar.getDriverId(), 2, orderPrivateCar.getId(), 1, c.doubleValue(), driver.getLaveBusinessMoney()); } } // TODO: 2020/5/24 这里需要给司机和用户推送订单状态 @@ -1999,19 +2083,23 @@ } 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); } } @@ -2102,6 +2190,16 @@ List<OrderPosition> list = JSONArray.parseArray(sb.toString(), OrderPosition.class); orderServerWarpper.setOrderPositionList(JSONObject.toJSONString(list)); } + // 查询司机服务中的订单 + OrderPrivateCar one = this.selectOne(new EntityWrapper<OrderPrivateCar>() + .eq("driverId", orderPrivateCar.getDriverId()) + .eq("state", 5) + .orderBy("insertTime", false) + .last("LIMIT 1")); + if(Objects.nonNull(one)){ + orderServerWarpper.setLastLon(one.getEndLon()+""); + orderServerWarpper.setLastLat(one.getEndLat()+""); + } return orderServerWarpper; } -- Gitblit v1.7.1