From 736ab0090700c75af37b8a3456b01609e4e2d329 Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期三, 17 七月 2024 11:09:40 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/2.0' into 2.0 --- UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java | 325 ++++++++++++++++++++++++++--------------------------- 1 files changed, 160 insertions(+), 165 deletions(-) diff --git a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java index e399c8d..776556e 100644 --- a/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java +++ b/UserIGOTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java @@ -380,7 +380,6 @@ public void run() { pushUtil.pushOrderState(1, orderCrossCity.getUserId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); - pushUtil.pushDriverPosition(orderCrossCity.getId(), 3); } }).start(); @@ -454,7 +453,6 @@ public void run() { pushUtil.pushOrderState(1, orderCrossCity.getUserId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); - pushUtil.pushDriverPosition(orderCrossCity.getId(), 3); } }).start(); @@ -745,13 +743,13 @@ return ResultUtil.error("获取数据失败,订单信息有误"); } double amount = 0; - CancleOrder query = cancleOrderService.query(1, 3, orderCrossCity.getCompanyId()); - if(null != orderCrossCity.getDriverId() && - (orderCrossCity.getSnatchOrderTime().getTime() + query.getMinuteNum() * 60 * 1000) < new Date().getTime()){//收费的情况 - if(null != query){ - amount += query.getMoney(); - } - } +// CancleOrder query = cancleOrderService.query(1, 3, orderCrossCity.getCompanyId()); +// if(null != orderCrossCity.getDriverId() && +// (orderCrossCity.getSnatchOrderTime().getTime() + query.getMinuteNum() * 60 * 1000) < new Date().getTime()){//收费的情况 +// if(null != query){ +// amount += query.getMoney(); +// } +// } BaseWarpper baseWarpper = new BaseWarpper(); baseWarpper.setAmount(amount); return ResultUtil.success(baseWarpper); @@ -787,70 +785,70 @@ orderCancel = orderCancelService.selectById(cancleId); } - CancleOrder query = cancleOrderService.query(1, 3, orderCrossCity.getCompanyId()); - if(null != query){ - if(payType == 1){//微信支付 - orderCancel.setPayType(1); - orderCancelService.updateById(orderCancel); - resultUtil = payMoneyUtil.weixinpay("订单取消",id +"",id + "_3_fei",query.getMoney()+"","/base/wxCancelOrderTaxi","JSAPI",userInfo.getAppletsOpenId()); - if(resultUtil.getCode()==200){ - paymentRecordService.saveData(1, null, null, id, 3, 1, query.getMoney(), null, 1);//添加预支付数据 - resultUtil = resultUtil; - }else{ - resultUtil = ResultUtil.error(language == 1 ? "获取支付信息失败" : language == 2 ? "Failed to obtain payment information" : "Impossible d’obtenir les informations de paiement", ""); - } - } - if(payType == 2){//支付宝支付 - orderCancel.setPayType(2); - orderCancelService.updateById(orderCancel); - resultUtil = payMoneyUtil.alipay("订单取消","订单取消",id + ",3",query.getMoney()+"","/base/aliCancelOrderTaxi"); - if(resultUtil.getCode()==200){ - paymentRecordService.saveData(1, null, null, id, 3, 2, query.getMoney(), null, 1);//添加预支付数据 - resultUtil = resultUtil; - }else{ - resultUtil = ResultUtil.error(language == 1 ? "获取支付信息失败" : language == 2 ? "Failed to obtain payment information" : "Impossible d’obtenir les informations de paiement", ""); - } - } - if(payType == 3){//余额支付 - if(userInfo.getBalance() != null && userInfo.getBalance() < query.getMoney()){ - return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient balance" : "Solde insuffisant"); - } - - userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(query.getMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); - //添加交易明细 - transactionDetailsService.saveData(uid, "取消订单", query.getMoney(), 2, 1, 1, 3, id); - userInfoService.updateById(userInfo); - - //解除小号绑定 - if(orderCrossCity.getBindId() != null){ - chinaMobileUtil.midAxbUnBindSend(orderCrossCity.getBindId(),orderCrossCity.getTelX()); - } - - orderCrossCity.setState(10); - orderCrossCity.setTelX(""); - orderCrossCity.setBindId(""); - this.updateById(orderCrossCity); - - orderCancel.setState(2); - orderCancel.setPayType(3); - orderCancelService.updateById(orderCancel); - - //添加已收入明细 - incomeService.saveData(1, orderCrossCity.getCompanyId(), 3, orderCrossCity.getId(), 3, query.getMoney()); - - this.deleteTask(id);//删除定时任务 - -// new Thread(new Runnable() { -// @Override -// public void run() { -// pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); -// } -// }).start(); - - //添加消息 - systemNoticeService.addSystemNotice(1, "您已使用余额成功支付取消订单费用,谢谢使用!", orderCrossCity.getUserId(), 1); - } - } +// CancleOrder query = cancleOrderService.query(1, 3, orderCrossCity.getCompanyId()); +// if(null != query){ +// if(payType == 1){//微信支付 +// orderCancel.setPayType(1); +// orderCancelService.updateById(orderCancel); +// resultUtil = payMoneyUtil.weixinpay("订单取消",id +"",id + "_3_fei",query.getMoney()+"","/base/wxCancelOrderTaxi","JSAPI",userInfo.getAppletsOpenId()); +// if(resultUtil.getCode()==200){ +// paymentRecordService.saveData(1, null, null, id, 3, 1, query.getMoney(), null, 1);//添加预支付数据 +// resultUtil = resultUtil; +// }else{ +// resultUtil = ResultUtil.error(language == 1 ? "获取支付信息失败" : language == 2 ? "Failed to obtain payment information" : "Impossible d’obtenir les informations de paiement", ""); +// } +// } +// if(payType == 2){//支付宝支付 +// orderCancel.setPayType(2); +// orderCancelService.updateById(orderCancel); +// resultUtil = payMoneyUtil.alipay("订单取消","订单取消",id + ",3",query.getMoney()+"","/base/aliCancelOrderTaxi"); +// if(resultUtil.getCode()==200){ +// paymentRecordService.saveData(1, null, null, id, 3, 2, query.getMoney(), null, 1);//添加预支付数据 +// resultUtil = resultUtil; +// }else{ +// resultUtil = ResultUtil.error(language == 1 ? "获取支付信息失败" : language == 2 ? "Failed to obtain payment information" : "Impossible d’obtenir les informations de paiement", ""); +// } +// } +// if(payType == 3){//余额支付 +// if(userInfo.getBalance() != null && userInfo.getBalance() < query.getMoney()){ +// return ResultUtil.error(language == 1 ? "账户余额不足" : language == 2 ? "Insufficient balance" : "Solde insuffisant"); +// } +// +// userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(query.getMoney())).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); +// //添加交易明细 +// transactionDetailsService.saveData(uid, "取消订单", query.getMoney(), 2, 1, 1, 3, id); +// userInfoService.updateById(userInfo); +// +// //解除小号绑定 +// if(orderCrossCity.getBindId() != null){ +// chinaMobileUtil.midAxbUnBindSend(orderCrossCity.getBindId(),orderCrossCity.getTelX()); +// } +// +// orderCrossCity.setState(10); +// orderCrossCity.setTelX(""); +// orderCrossCity.setBindId(""); +// this.updateById(orderCrossCity); +// +// orderCancel.setState(2); +// orderCancel.setPayType(3); +// orderCancelService.updateById(orderCancel); +// +// //添加已收入明细 +// incomeService.saveData(1, orderCrossCity.getCompanyId(), 3, orderCrossCity.getId(), 3, query.getMoney()); +// +// this.deleteTask(id);//删除定时任务 +// +//// new Thread(new Runnable() { +//// @Override +//// public void run() { +//// pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); +//// } +//// }).start(); +// +// //添加消息 +// systemNoticeService.addSystemNotice(1, "您已使用余额成功支付取消订单费用,谢谢使用!", orderCrossCity.getUserId(), 1); +// } +// } return resultUtil; } @@ -992,10 +990,7 @@ }else{//随机金额 Double startMoney = Double.valueOf(String.valueOf(query.get("startMoney"))); Double endMoney = Double.valueOf(String.valueOf(query.get("endMoney"))); - int i = new BigDecimal(endMoney).subtract(new BigDecimal(startMoney)).intValue(); - Random random = new Random(); - int num = random.nextInt(i); - money = new BigDecimal(startMoney).add(new BigDecimal(num)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); + money = new BigDecimal(startMoney + (Math.random() * (endMoney - startMoney))).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue(); } //判断当前红包是否大于剩余可领取总金额 if(money.compareTo(Double.valueOf(query.get("lavePrice").toString())) > 0){ @@ -1009,10 +1004,10 @@ //添加临时红包数据 UserRedPacketRecord userRedPacketRecord = new UserRedPacketRecord(); userRedPacketRecord.setMoney(money); + userRedPacketRecord.setRemainingAmount(money); Calendar calendar = Calendar.getInstance(); calendar.setTime(new Date()); calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH) + Integer.valueOf(String.valueOf(query.get("effective")))); - userRedPacketRecord.setExpirationTime(calendar.getTime()); userRedPacketRecord.setInsertTime(new Date()); userRedPacketRecord.setCompanyId(Integer.valueOf(String.valueOf(query.get("companyId")))); userRedPacketRecord.setState(0); @@ -1219,93 +1214,93 @@ } //还原座位 - CancleOrder query1 = cancleOrderService.query(1, 3, orderCrossCity.getCompanyId()); - if (null != query1) { - integer = orderCancelService.saveData(id, 3, reason, remark, null, null, 2, 1, uid); - orderCrossCity.setState(10); - this.updateById(orderCrossCity); - - if(orderCrossCity.getState() != 7){//已经支付的情况推送给司机提醒 - new Thread(new Runnable() { - @Override - public void run() { - pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); - System.err.println("推送取消操作---------------------"); - } - }).start(); - } - - //修改司机座位 - LineShiftDriver lineShiftDriver = lineShiftDriverMapper.selectById(orderCrossCity.getLineShiftDriverId()); - lineShiftDriver.setLaveSeat(lineShiftDriver.getLaveSeat() + orderCrossCity.getPeopleNumber()); - lineShiftDriver.setLaveSeatNumber(lineShiftDriver.getLaveSeatNumber() + (orderCrossCity.getTravelMode() == 1 ? "," : "") + orderCrossCity.getSeatNumber()); - lineShiftDriverMapper.updateById(lineShiftDriver); - - //修改司机为空闲 - List<OrderCrossCity> orderCrossCities = orderCrossCityMapper.queryByDriverId(orderCrossCity.getDriverId(), 2, 3, 4, 5, 11); - if(orderCrossCities.size() == 0){ - Driver driver = driverService.selectById(orderCrossCity.getDriverId()); - driver.setState(2); - driverService.updateById(driver); - } - }else{ - return ResultUtil.error("请完善后台取消规则设置"); - } - - //已支付的情况下进行退款操作 - if(null != orderCrossCity.getPayType() && null != orderCrossCity.getPayMoney()){ - if(orderCrossCity.getPayType() == 3){//余额支付 - UserInfo userInfo = userInfoService.selectById(orderCrossCity.getUserId()); - userInfo.setBalance(userInfo.getBalance() + orderCrossCity.getPayMoney()); - userInfoService.updateById(userInfo); - //添加交易明细 - transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", orderCrossCity.getPayMoney(), 1, 1, 1, 3, id); - }else{ - PaymentRecord query = paymentRecordService.query(1, null, null, id, 3, null, 2); - if(null == query){ - return ResultUtil.error("订单还未进行支付"); - } - if(orderCrossCity.getPayType() == 1){ - payMoneyUtil.wxRefund(query.getCode(),id + ",3",query.getAmount()+"",query.getAmount()+"",""); - transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", query.getAmount(), 1, 1, 1, 3, id); - }else{ - payMoneyUtil.aliRefund(query.getCode(),query.getAmount()+""); - transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", query.getAmount(), 1, 1, 1, 3, id); - } - /*Map<String, Object> merrefund = icbcPayUtil.merrefund(query.getCode(), "", query.getAmount(), id + "_3", orderCrossCity.getOrderNum()); - if(Integer.valueOf(merrefund.get("code").toString()) == 0){ - Map<String, Object> refundqry = icbcPayUtil.refundqry("", query.getCode(), orderCrossCity.getOrderNum()); - if(Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 0){//成功 - //添加交易明细 - transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", query.getAmount(), 1, 1, 1, 3, id); - } - if(Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 1){//失败 - return ResultUtil.error("订单取消失败(退款不成功)"); - } - if(Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 2){//未知 - return ResultUtil.error("退款返回未知异常"); - } - }*/ - } - - //添加负的收入明细 - List<Income> incomes = incomeService.selectList(new EntityWrapper<Income>().eq("type", 2).eq("incomeId", id).eq("orderType", 3)); - for(Income income : incomes){ - if(income.getUserType() == 2){//处理司机的收入 - Driver driver = driverService.selectById(income.getObjectId()); - driver.setBalance(driver.getBalance() - income.getMoney()); - driver.setBusinessMoney(driver.getBusinessMoney() - income.getMoney()); - driver.setLaveBusinessMoney(driver.getLaveBusinessMoney() - income.getMoney()); - driverService.updateById(driver); - } - Income income1 = new Income(); - BeanUtils.copyProperties(income, income1); - income1.setMoney(income.getMoney() * -1); - income1.setId(null); - income1.setInsertTime(new Date()); - incomeService.insert(income1); - } - } +// CancleOrder query1 = cancleOrderService.query(1, 3, orderCrossCity.getCompanyId()); +// if (null != query1) { +// integer = orderCancelService.saveData(id, 3, reason, remark, null, null, 2, 1, uid); +// orderCrossCity.setState(10); +// this.updateById(orderCrossCity); +// +// if(orderCrossCity.getState() != 7){//已经支付的情况推送给司机提醒 +// new Thread(new Runnable() { +// @Override +// public void run() { +// pushUtil.pushOrderState(2, orderCrossCity.getDriverId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 0); +// System.err.println("推送取消操作---------------------"); +// } +// }).start(); +// } +// +// //修改司机座位 +// LineShiftDriver lineShiftDriver = lineShiftDriverMapper.selectById(orderCrossCity.getLineShiftDriverId()); +// lineShiftDriver.setLaveSeat(lineShiftDriver.getLaveSeat() + orderCrossCity.getPeopleNumber()); +// lineShiftDriver.setLaveSeatNumber(lineShiftDriver.getLaveSeatNumber() + (orderCrossCity.getTravelMode() == 1 ? "," : "") + orderCrossCity.getSeatNumber()); +// lineShiftDriverMapper.updateById(lineShiftDriver); +// +// //修改司机为空闲 +// List<OrderCrossCity> orderCrossCities = orderCrossCityMapper.queryByDriverId(orderCrossCity.getDriverId(), 2, 3, 4, 5, 11); +// if(orderCrossCities.size() == 0){ +// Driver driver = driverService.selectById(orderCrossCity.getDriverId()); +// driver.setState(2); +// driverService.updateById(driver); +// } +// }else{ +// return ResultUtil.error("请完善后台取消规则设置"); +// } +// +// //已支付的情况下进行退款操作 +// if(null != orderCrossCity.getPayType() && null != orderCrossCity.getPayMoney()){ +// if(orderCrossCity.getPayType() == 3){//余额支付 +// UserInfo userInfo = userInfoService.selectById(orderCrossCity.getUserId()); +// userInfo.setBalance(userInfo.getBalance() + orderCrossCity.getPayMoney()); +// userInfoService.updateById(userInfo); +// //添加交易明细 +// transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", orderCrossCity.getPayMoney(), 1, 1, 1, 3, id); +// }else{ +// PaymentRecord query = paymentRecordService.query(1, null, null, id, 3, null, 2); +// if(null == query){ +// return ResultUtil.error("订单还未进行支付"); +// } +// if(orderCrossCity.getPayType() == 1){ +// payMoneyUtil.wxRefund(query.getCode(),id + ",3",query.getAmount()+"",query.getAmount()+"",""); +// transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", query.getAmount(), 1, 1, 1, 3, id); +// }else{ +// payMoneyUtil.aliRefund(query.getCode(),query.getAmount()+""); +// transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", query.getAmount(), 1, 1, 1, 3, id); +// } +// /*Map<String, Object> merrefund = icbcPayUtil.merrefund(query.getCode(), "", query.getAmount(), id + "_3", orderCrossCity.getOrderNum()); +// if(Integer.valueOf(merrefund.get("code").toString()) == 0){ +// Map<String, Object> refundqry = icbcPayUtil.refundqry("", query.getCode(), orderCrossCity.getOrderNum()); +// if(Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 0){//成功 +// //添加交易明细 +// transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城订单取消退款", query.getAmount(), 1, 1, 1, 3, id); +// } +// if(Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 1){//失败 +// return ResultUtil.error("订单取消失败(退款不成功)"); +// } +// if(Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 2){//未知 +// return ResultUtil.error("退款返回未知异常"); +// } +// }*/ +// } +// +// //添加负的收入明细 +// List<Income> incomes = incomeService.selectList(new EntityWrapper<Income>().eq("type", 2).eq("incomeId", id).eq("orderType", 3)); +// for(Income income : incomes){ +// if(income.getUserType() == 2){//处理司机的收入 +// Driver driver = driverService.selectById(income.getObjectId()); +// driver.setBalance(driver.getBalance() - income.getMoney()); +// driver.setBusinessMoney(driver.getBusinessMoney() - income.getMoney()); +// driver.setLaveBusinessMoney(driver.getLaveBusinessMoney() - income.getMoney()); +// driverService.updateById(driver); +// } +// Income income1 = new Income(); +// BeanUtils.copyProperties(income, income1); +// income1.setMoney(income.getMoney() * -1); +// income1.setId(null); +// income1.setInsertTime(new Date()); +// incomeService.insert(income1); +// } +// } //添加消息 systemNoticeService.addSystemNotice(1, "您已成功取消出行订单,谢谢使用!", orderCrossCity.getUserId(), 1); -- Gitblit v1.7.1