From 73b750200f25df08aa64124da49e7461f9de6653 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 13 十二月 2024 15:09:49 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/NTTravel --- ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java | 256 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 247 insertions(+), 9 deletions(-) diff --git a/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java b/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java index 70320cb..61df75f 100644 --- a/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java +++ b/ManagementNTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TReassignController.java @@ -45,6 +45,8 @@ @Autowired private ITOrderPrivateCarService itOrderPrivateCarService; + @Autowired + private ITOrderTransferService orderTransferService; @Autowired private ITOrderCrossCityService itOrderCrossCityService; @@ -109,6 +111,13 @@ return PREFIX + "smallPieceLogistics.html"; } + /** + * 跳转到接送机改派管理首页 + */ + @RequestMapping("/transfer") + public String transfer() { + return PREFIX + "transfer.html"; + } /** * 跳转到添加专车改派管理 @@ -154,6 +163,15 @@ public String tReassign_reassignmentSmall(@PathVariable Integer tReassignId, Model model) { model.addAttribute("tReassignId",tReassignId); return PREFIX + "tReassign_reassignmentSmall.html"; + } + + /** + * 跳转到修改专车改派管理 + */ + @RequestMapping("/tReassign_reassignmentTransfer/{transferId}") + public String tReassign_reassignmentTransfer(@PathVariable Integer transferId, Model model) { + model.addAttribute("transferId",transferId); + return PREFIX + "tReassign_reassignmentTransfer.html"; } /** @@ -232,6 +250,31 @@ return super.packForBT(page); } + /** + * 获取专车改派管理列表 + */ + @RequestMapping(value = "/listTransfer") + @ResponseBody + public Object listTransfer(String insertTime, + String originalDriverName, + String originalDriverPhone, + String orderNum, + String nowDriverName, + String nowDriverPhone, + Integer orderState, + Integer state) { + String beginTime = null; + String endTime = null; + if (SinataUtil.isNotEmpty(insertTime)){ + String[] timeArray = insertTime.split(" - "); + beginTime = timeArray[0]; + endTime = timeArray[1]; + } + Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); + page.setRecords(tReassignService.getTransferOrderList(page,ShiroKit.getUser().getRoleType(),ShiroKit.getUser().getObjectId(),beginTime,endTime,originalDriverName,originalDriverPhone,orderNum,nowDriverName,nowDriverPhone,orderState,state)); + return super.packForBT(page); + } + /** * 选择司机列表 @@ -278,6 +321,21 @@ TOrderLogistics tOrderLogistics = orderLogisticsService.selectById(reassign.getOrderId()); Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); page.setRecords(tReassignService.getCanSelectSmallDriverList(page,tOrderLogistics.getCompanyId(), tOrderLogistics.getType(),name,phone)); + return super.packForBT(page); + } + + /** + * 选择司机列表 + */ + @RequestMapping(value = "/selectTransferDriver/{orderId}") + @ResponseBody + public Object selectTransferDriver(@PathVariable Integer orderId, + String name, + String phone) { + TReassign reassign = tReassignService.selectById(orderId); + TOrderTransfer orderTransfer = orderTransferService.selectById(reassign.getOrderId()); + Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); + page.setRecords(tReassignService.getCanSelectTransferDriverList(page,orderTransfer.getCompanyId(),orderTransfer.getType(),name,phone)); return super.packForBT(page); } @@ -349,7 +407,7 @@ tReassign.setReviewerType(2); tReassignService.updateById(tReassign); //添加交易明细 - transactionDetailsService.saveData(tReassign.getOriginalDriverId(), "直通车改派拒绝退款", money, 1, 1, 2, 1, tReassign.getOrderId()); + transactionDetailsService.saveData(tReassign.getOriginalDriverId(), "跨城改派拒绝退款", money, 1, 1, 2, 1, tReassign.getOrderId()); } if(tReassign.getPayType() == 2){//支付宝 Map<String, String> map = payMoneyUtil.aliRefund(tReassign.getPayOrder(), money.toString()); @@ -358,7 +416,7 @@ tReassign.setReviewerType(2); tReassignService.updateById(tReassign); //添加交易明细 - transactionDetailsService.saveData(tReassign.getOriginalDriverId(), "直通车改派拒绝退款", money, 1, 1, 2, 1, tReassign.getOrderId()); + transactionDetailsService.saveData(tReassign.getOriginalDriverId(), "跨城改派拒绝退款", money, 1, 1, 2, 1, tReassign.getOrderId()); } if(null == map || !"10000".equals(map.get("code"))){ System.err.println(map.get("msg")); @@ -469,7 +527,7 @@ map.put("id", orderCrossCity.getId().toString()); map.put("orderType", "3"); String result = HttpRequestUtil.postRequest(PushURL.cancel_order_url, map); - System.out.println("直通车取消:【orderId="+orderCrossCity.getId().toString()+"】,调用接口:"+result); + System.out.println("跨城取消:【orderId="+orderCrossCity.getId().toString()+"】,调用接口:"+result); //已支付的情况下进行退款操作 @@ -479,7 +537,7 @@ tUser.setBalance(tUser.getBalance().add(orderCrossCity.getPayMoney())); userService.updateById(tUser); //添加交易明细 - transactionDetailsService.saveData(orderCrossCity.getUserId(), "直通车改派取消退款", orderCrossCity.getPayMoney().doubleValue(), 1, 1, 1, 3, tReassign.getOrderId()); + transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城改派取消退款", orderCrossCity.getPayMoney().doubleValue(), 1, 1, 1, 3, tReassign.getOrderId()); }else{ PaymentRecord query = paymentRecordService.query(1, null, null, tReassign.getOrderId(), 3, null, 2).get(0); if(null == query){ @@ -492,14 +550,14 @@ return ResultUtil.error(map1.get("return_msg")); } //添加交易明细 - transactionDetailsService.saveData(query.getUserId(), "直通车改派取消退款", query.getAmount(), 1, 1, query.getType(), 3, orderCrossCity.getId()); + transactionDetailsService.saveData(query.getUserId(), "跨城改派取消退款", query.getAmount(), 1, 1, query.getType(), 3, orderCrossCity.getId()); }else{//支付宝 Map<String, String> map1 = payMoneyUtil.aliRefund(query.getCode(), query.getAmount().toString()); if(!"10000".equals(map1.get("code"))){ return ResultUtil.error(map1.get("msg")); } //添加交易明细 - transactionDetailsService.saveData(query.getUserId(), "直通车改派取消退款", query.getAmount(), 1, 1, query.getType(), 3, orderCrossCity.getId()); + transactionDetailsService.saveData(query.getUserId(), "跨城改派取消退款", query.getAmount(), 1, 1, query.getType(), 3, orderCrossCity.getId()); } } @@ -548,7 +606,7 @@ tReassign.setReviewerType(2); tReassignService.updateById(tReassign); //添加交易明细 - transactionDetailsService.saveData(tReassign.getOriginalDriverId(), "直通车改派拒绝退款", money, 1, 1, 2, 3, tReassign.getOrderId()); + transactionDetailsService.saveData(tReassign.getOriginalDriverId(), "跨城改派拒绝退款", money, 1, 1, 2, 3, tReassign.getOrderId()); } if(tReassign.getPayType() == 2){//支付宝 Map<String, String> map = payMoneyUtil.aliRefund(tReassign.getPayOrder(), money.toString()); @@ -557,7 +615,7 @@ tReassign.setReviewerType(2); tReassignService.updateById(tReassign); //添加交易明细 - transactionDetailsService.saveData(tReassign.getOriginalDriverId(), "直通车改派拒绝退款", money, 1, 1, 2, 3, tReassign.getOrderId()); + transactionDetailsService.saveData(tReassign.getOriginalDriverId(), "跨城改派拒绝退款", money, 1, 1, 2, 3, tReassign.getOrderId()); } if(null == map || !"10000".equals(map.get("code"))){ System.err.println(map.get("msg")); @@ -715,6 +773,125 @@ return SUCCESS_TIP; } + /** + * 操作专车改派管理 + * optType 1=拒绝 2=取消 + */ + @RequestMapping(value = "/optTransfer") + @ResponseBody + public Object optTransfer(@RequestParam Integer transferId,@RequestParam Integer optType) { + try { + ShiroUser user = ShiroKit.getUser(); + TReassign tReassign = tReassignService.selectById(transferId); + Integer state = tReassign.getState(); + if(state == 3){//已改派 + return "不能重复操作"; + } + if(state == 4){//已改派 + return "不能重复操作"; + } + if(state == 5){//已改派 + return "不能重复操作"; + } + if (1 == optType){ + tReassign.setState(5); + tReassignService.updateById(tReassign); + + //还原订单状态 + TOrderTransfer orderTransfer = orderTransferService.selectById(tReassign.getOrderId()); + orderTransfer.setState(orderTransfer.getOldState()); + orderTransferService.updateById(orderTransfer); + }else if (2 == optType){ + tReassign.setState(4); + tReassignService.updateById(tReassign); + + //修改订单状态"已取消" + TOrderTransfer orderTransfer = orderTransferService.selectById(tReassign.getOrderId()); + orderTransfer.setState(10); + orderTransferService.updateById(orderTransfer); + + //修改司机状态"空闲" + TDriver driver = itDriverService.selectById(tReassign.getOriginalDriverId()); + driver.setState(2); + itDriverService.updateById(driver); + + //添加取消记录 + OrderCancel orderCancel = new OrderCancel(); + orderCancel.setOrderId(tReassign.getOrderId()); + orderCancel.setOrderType(tReassign.getOrderType()); + orderCancel.setReason("调度端取消订单"); + orderCancel.setRemark("调度“" + user.getName() + "-" + user.getId() + "”执行取消操作"); + orderCancel.setState(2); + orderCancel.setInsertTime(new Date()); + orderCancel.setUserType(3); + orderCancel.setUserId(user.getId()); + orderCancelMapper.insert(orderCancel); + + //调用推送 + Map<String,String> map = new HashMap<>(); + map.put("id", orderTransfer.getId().toString()); + map.put("orderType", "7"); + String result = HttpRequestUtil.postRequest(PushURL.cancel_order_url, map); + System.out.println("接送机取消:【orderId="+orderTransfer.getId().toString()+"】,调用接口:"+result); + } + + if(state == 2){//退款操作 + SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmssSSS"); + String out_refund_no = sdf.format(new Date()) + "_" + tReassign.getId(); + Double money = tReassign.getMoney(); + if(tReassign.getPayType() == 1){//微信 + Map<String, String> map = payMoneyUtil.wxRefund(tReassign.getPayOrder(), out_refund_no, money.toString(), money.toString(), "/dispatch/base/order/reassignRefundCallback"); + if(null == map || !"SUCCESS".equals(map.get("return_code"))){ + System.err.println(map.get("return_msg")); + return ResultUtil.error(map.get("return_msg")); + } + tReassign.setReviewer(ShiroKit.getUser().getId()); + tReassign.setReviewerType(2); + tReassignService.updateById(tReassign); + //添加交易明细 + transactionDetailsService.saveData(tReassign.getOriginalDriverId(), "接送机改派拒绝退款", money, 1, 1, 2, 7, tReassign.getOrderId()); + } + if(tReassign.getPayType() == 2){//支付宝 + Map<String, String> map = payMoneyUtil.aliRefund(tReassign.getPayOrder(), money.toString()); + if(null != map && "10000".equals(map.get("code"))){ + tReassign.setReviewer(ShiroKit.getUser().getId()); + tReassign.setReviewerType(2); + tReassignService.updateById(tReassign); + //添加交易明细 + transactionDetailsService.saveData(tReassign.getOriginalDriverId(), "接送机改派拒绝退款", money, 1, 1, 2, 7, tReassign.getOrderId()); + } + if(null == map || !"10000".equals(map.get("code"))){ + System.err.println(map.get("msg")); + return ResultUtil.error(map.get("msg")); + } + } + if(tReassign.getPayType() == 3){//余额 + TDriver tDriver = itDriverService.selectById(tReassign.getOriginalDriverId()); + tDriver.setBalance(tDriver.getBalance().add(new BigDecimal(money))); + tDriver.setLaveBusinessMoney(tDriver.getLaveBusinessMoney() + money); + itDriverService.updateById(tDriver); + } + } + + + //增加交易明细 + TPubTransactionDetails details = new TPubTransactionDetails(); + details.setUserId(tReassign.getOriginalDriverId()); + details.setInsertTime(new Date()); + details.setRemark("【接送改派】:改派失败或订单取消"); + details.setMoney(new BigDecimal(tReassign.getMoney())); + details.setState(1); + details.setType(1); + details.setUserType(2); + details.setOrderType(3); + details.setOrderId(tReassign.getOrderId()); + itPubTransactionDetailsService.insert(details); + return SUCCESS_TIP; + }catch (Exception e){ + e.printStackTrace(); + return "ERROR"; + } + } /** * 专车订单改派司机 @@ -868,7 +1045,7 @@ map.put("orderId", tOrderCrossCity.getId().toString()); map.put("orderType", "3"); String result = HttpRequestUtil.postRequest(PushURL.order_push_url, map); - System.out.println("直通车改派:【orderId="+tOrderCrossCity.getId().toString()+"】,调用接口:"+result); + System.out.println("跨城改派:【orderId="+tOrderCrossCity.getId().toString()+"】,调用接口:"+result); return SUCCESS_TIP; } @@ -922,4 +1099,65 @@ System.out.println("小件物流改派:【orderId="+tOrderLogistics.getId().toString()+"】,调用接口:"+result); return SUCCESS_TIP; } + + /** + * 接送机订单改派司机 + */ + @RequestMapping(value = "/selectTransferDriver") + @ResponseBody + public Object selectTransferDriver(@RequestParam Integer orderId,@RequestParam Integer driverId) { + //修改订单 + TReassign tReassign = tReassignService.selectById(orderId); + TOrderTransfer orderTransfer = orderTransferService.selectById(tReassign.getOrderId()); + + //修改之前司机状态 -- 空闲 + TDriver oldDriver = itDriverService.selectById(tReassign.getOriginalDriverId()); + oldDriver.setState(2); + itDriverService.updateById(oldDriver); + + //查找司机对象 + TDriver nowDriver = itDriverService.selectById(driverId); + nowDriver.setState(3); + itDriverService.updateById(nowDriver); + + //修改专车订单 + orderTransfer.setState(orderTransfer.getOldState()); + orderTransfer.setDriverId(driverId); + orderTransfer.setCarId(nowDriver.getCarId()); + orderTransferService.updateById(orderTransfer); + + //修改专车改派订单 + tReassign.setNowDriverId(driverId); + tReassign.setNowCarId(nowDriver.getCarId()); + tReassign.setState(3); + tReassign.setCompleteTime(new Date()); + tReassignService.updateById(tReassign); + + List<Income> incomes = incomeService.selectList(new EntityWrapper<Income>().eq("userType", 2).eq("type", 2).eq("incomeId", orderTransfer.getId()).eq("orderType", orderTransfer.getType())); + for(Income income : incomes){ + income.setObjectId(driverId); + incomeService.updateById(income); + + TDriver driver = itDriverService.selectById(tReassign.getOriginalDriverId()); + driver.setBalance(driver.getBalance().subtract(new BigDecimal(income.getMoney()))); + driver.setBusinessMoney(driver.getBusinessMoney() - income.getMoney()); + driver.setLaveBusinessMoney(driver.getLaveBusinessMoney() - income.getMoney()); + itDriverService.updateById(driver); + + driver = itDriverService.selectById(driverId); + driver.setBalance(driver.getBalance().add(new BigDecimal(income.getMoney()))); + driver.setBusinessMoney(driver.getBusinessMoney() + income.getMoney()); + driver.setLaveBusinessMoney(driver.getLaveBusinessMoney() + income.getMoney()); + itDriverService.updateById(driver); + } + + //增加推送 + Map<String,String> map = new HashMap<>(); + map.put("orderId", orderTransfer.getId().toString()); + map.put("orderType", "7"); + String result = HttpRequestUtil.postRequest(PushURL.order_push_url, map); + System.out.println("接送机改派:【orderId="+orderTransfer.getId().toString()+"】,调用接口:"+result); + return SUCCESS_TIP; + } + } -- Gitblit v1.7.1