From 5dacdee9b54c78372b68140e2b068d03a620eab9 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期三, 02 七月 2025 19:00:52 +0800 Subject: [PATCH] 修改bug --- ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java | 202 ++++++++++++-------------------------------------- 1 files changed, 48 insertions(+), 154 deletions(-) diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java index 106abe8..869cec6 100644 --- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java +++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderCrossCityController.java @@ -1,44 +1,41 @@ package com.stylefeng.guns.modular.system.controller.specialTrain; -import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.core.base.controller.BaseController; +import com.stylefeng.guns.core.beetl.ShiroExtUtil; import com.stylefeng.guns.core.common.constant.factory.PageFactory; -import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.shiro.ShiroUser; import com.stylefeng.guns.core.util.SinataUtil; import com.stylefeng.guns.core.util.ToolUtil; -import com.stylefeng.guns.modular.cloudPayment.example.AllocationExample; -import com.stylefeng.guns.modular.cloudPayment.req.AllocationReq; import com.stylefeng.guns.modular.system.controller.general.TDriverController; -import com.stylefeng.guns.modular.system.controller.util.Base64Util; import com.stylefeng.guns.modular.system.controller.util.GetOpenBodySig; -import com.stylefeng.guns.modular.system.controller.util.Util; import com.stylefeng.guns.modular.system.dao.LineShiftDriverMapper; import com.stylefeng.guns.modular.system.dao.OrderCancelMapper; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; -import com.stylefeng.guns.modular.system.util.*; -import com.unionpay.upyzt.exception.UpyztException; -import com.unionpay.upyzt.resp.AllocationResp; +import com.stylefeng.guns.modular.system.util.HttpRequestUtil; +import com.stylefeng.guns.modular.system.util.PayMoneyUtil; +import com.stylefeng.guns.modular.system.util.PushURL; +import com.stylefeng.guns.modular.system.util.ResultUtil; import org.apache.commons.lang.time.DateFormatUtils; import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.stereotype.Controller; -import org.springframework.web.bind.annotation.*; -import org.springframework.ui.Model; import org.springframework.beans.factory.annotation.Autowired; -import com.stylefeng.guns.core.log.LogObjectHolder; +import org.springframework.data.domain.Sort; +import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; +import org.springframework.stereotype.Controller; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.InputStreamReader; import java.math.BigDecimal; -import java.util.*; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * 跨城出行订单控制器 @@ -57,21 +54,24 @@ @Autowired private ITServerCarmodelService tServerCarmodelService; - + @Autowired private ITLineService itLineService; - + @Autowired private ITOrderPositionService tOrderPositionService; - + private ResultUtil resultUtil; - + @Autowired private ITUserService userService; - - @Value("${filePath}") - private String filePath; - + + @Resource + private MongoTemplate mongoTemplate; + @Resource + private ShiroExtUtil shiroExtUtil; + + /** * 跳转到跨城出行订单首页 */ @@ -79,7 +79,7 @@ public String index(Model model) { //服务快车车型 List<TServerCarmodel> carmodelList = tServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 2).eq("state", 1)); - model.addAttribute("carmodelList",carmodelList); + model.addAttribute("carmodelList", carmodelList); //线路 List<TLine> lineList = itLineService.selectList(new EntityWrapper<TLine>().last(" where not FIND_IN_SET(state,'3')")); model.addAttribute("lineList",lineList); @@ -104,41 +104,28 @@ model.addAttribute("tOrderCrossCityId",tOrderCrossCityId); return PREFIX + "tOrderCrossCity_track.html"; } - + /** * 获取订单轨迹 + * * @param orderDetailId * @return */ @ResponseBody @RequestMapping(value = "/getOrderTrack", method = RequestMethod.POST) - public ResultUtil getOrderTrack(String orderDetailId){ - if(ToolUtil.isNotEmpty(orderDetailId)){ + public ResultUtil getOrderTrack(Integer orderDetailId) { + if (ToolUtil.isNotEmpty(orderDetailId)) { try { - //将数据存储到文件中 - File file = new File(filePath + orderDetailId + "_3.txt"); - if(!file.exists()){ - return ResultUtil.success(new ArrayList<>()); - } - //读取文件(字符流) - BufferedReader in = new BufferedReader(new InputStreamReader(new FileInputStream(file),"UTF-8")); - //循环取出数据 - String str = null; - StringBuffer sb = new StringBuffer(); - while ((str = in.readLine()) != null) { - sb.append(str); - } - List<TOrderPosition> list = JSONArray.parseArray(sb.toString(), TOrderPosition.class); -// List<TOrderPosition> list = tOrderPositionService.selectList(new EntityWrapper<TOrderPosition>().eq("orderType", 3).eq("orderId", orderDetailId).orderBy("insertTime")); - /*if(list.size() == 0){ - return ResultUtil.error("该订单没有运行轨迹"); - }*/ - resultUtil = ResultUtil.success(list); - }catch (Exception e){ + Query query = new Query() + .addCriteria(Criteria.where("orderId").is(orderDetailId).and("orderType").is(3)) + .with(new Sort(Sort.Direction.ASC, "insertTime")); + List<TOrderPosition> positions = mongoTemplate.find(query, TOrderPosition.class); + resultUtil = ResultUtil.success(positions); + } catch (Exception e) { e.printStackTrace(); resultUtil = ResultUtil.runErr(); } - }else { + } else { resultUtil = ResultUtil.paranErr(); } return resultUtil; @@ -168,7 +155,7 @@ endTime = timeArray[1]; } Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage(); - page.setRecords(tOrderCrossCityService.getCrossCityOrderList(page,beginTime,endTime,ShiroKit.getUser().getRoleType(),ShiroKit.getUser().getObjectId(),orderNum,orderSource,userName,userPhone,passengers,passengersPhone,serverCarModelId,driver,lineId,state)); + page.setRecords(tOrderCrossCityService.getCrossCityOrderList(page, beginTime, endTime, shiroExtUtil.getUser().getRoleType(), shiroExtUtil.getUser().getObjectId(), orderNum, orderSource, userName, userPhone, passengers, passengersPhone, serverCarModelId, driver, lineId, state)); return super.packForBT(page); } @@ -204,16 +191,16 @@ @ResponseBody public Object cancel(@RequestParam Integer tOrderCrossCityId) throws Exception { TOrderCrossCity tOrderCrossCity = tOrderCrossCityService.selectById(tOrderCrossCityId); - ShiroUser user = ShiroKit.getUser(); - + ShiroUser user = shiroExtUtil.getUser(); + TOrderCrossCity orderCrossCity = tOrderCrossCityService.selectById(tOrderCrossCityId); - if(orderCrossCity.getState() > 5 && orderCrossCity.getState() != 11 && orderCrossCity.getState() != 7){ + if (orderCrossCity.getState() > 5 && orderCrossCity.getState() != 11 && orderCrossCity.getState() != 7) { return ResultUtil.error("订单状态不在可取消范围内"); } orderCrossCity.setState(10); tOrderCrossCityService.updateById(orderCrossCity); - - if(orderCrossCity.getDriverId() != null){ + + if (orderCrossCity.getDriverId() != null) { //修改司机信息 LineShiftDriver lineShiftDriver = lineShiftDriverMapper.selectById(orderCrossCity.getLineShiftDriverId()); lineShiftDriver.setLaveSeat(lineShiftDriver.getLaveSeat() + orderCrossCity.getPeopleNumber() > lineShiftDriver.getTotalSeat() ? @@ -248,7 +235,6 @@ if(orderCrossCity.getPayType()==5){ TDriver driver = tDriverService.selectById(orderCrossCity.getDriverId()); if(orderCrossCity.getPayMoney().doubleValue()>0) { - createAllocationReq(1, driver.getId(), 1, orderCrossCity.getPayMoney().doubleValue()); } } @@ -260,9 +246,6 @@ transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城出行取消退款", orderCrossCity.getPayMoney().doubleValue(), 1, 1, 1, 3, tOrderCrossCityId); if(orderCrossCity.getPayMoney().doubleValue()>0){ if(orderCrossCity.getOrderSource()==4){ - tDriverController.createAllocationReq(1,orderCrossCity.getDriverId(),1,orderCrossCity.getPayMoney().doubleValue()); - }else { - createAllocationReqUser(1,userInfo.getId(),1,orderCrossCity.getPayMoney().doubleValue()); } } }else{ @@ -290,14 +273,7 @@ userService.updateById(userInfo); //添加交易明细 transactionDetailsService.saveData(orderCrossCity.getUserId(), "跨城出行取消退款", orderCrossCity.getPayMoney().doubleValue(), 1, 1, 1, 3, tOrderCrossCityId); - if(orderCrossCity.getPayMoney().doubleValue()>0) { - if (orderCrossCity.getOrderSource() == 4) { - // 退给司机 - createAllocationReq(1, orderCrossCity.getDriverId(), 1, orderCrossCity.getPayMoney().doubleValue()); - } else { - createAllocationReqUser(1, orderCrossCity.getUserId(), 1, orderCrossCity.getPayMoney().doubleValue()); - } - } + System.out.println("退款"); String billNo = orderCrossCity.getBillNo(); // cancleMoney(orderCrossCity.getPayMoney(),billNo); @@ -363,14 +339,8 @@ tOrderCrossCityService.updateById(tOrderCrossCity); return SUCCESS_TIP; } -// appId: 8a81c1bf831e72e30187ad640adf49be -// appKey: 6463dcd46c6d410eb40e68ee40e86e84 -// md5key: NxDhJztSzCDFzs3Z5Fzck7BAG2sRA4DY5aKScJDZrAzMkCh7 -// msgSrcId: 34U0 -// mid: 898150841210108 -// tid: 84UJWSE8 -// instMid: QRPAYDEFAULT - + + public static ResultUtil cancleMoney(BigDecimal amount,String no) throws Exception { JSONObject json = new JSONObject(); json.put("requestTimestamp", DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss")); // 报文请求时间 @@ -399,81 +369,5 @@ @Autowired private IUserWithdrawalService userWithdrawalService; - public String createAllocationReq(Integer companyId,Integer userId,int type,double money){ - List<TEnterpriseWithdrawal> tEnterpriseWithdrawals = tEnterpriseWithdrawalService.selectList(new EntityWrapper<TEnterpriseWithdrawal>().eq("companyId", companyId)); - TDriver tUser = tDriverService.selectById(userId); - List<UserWithdrawal> userWithdrawals = userWithdrawalService.selectList(new EntityWrapper<UserWithdrawal>().eq("phone", tUser.getPhone())); - if(userWithdrawals.size()==0){ - return "error"; - } - AllocationReq allocationReq= new AllocationReq(); - allocationReq.setOutOrderNo(ToolUtil.getRandomString(32)); - if(type==1){ - - allocationReq.setPayBalanceAcctId(tEnterpriseWithdrawals.get(0).getBalanceAcctId()); - allocationReq.setRecvBalanceAcctId(userWithdrawals.get(0).getBalanceAcctId()); - - allocationReq.setPassword(Base64Util.decode(tEnterpriseWithdrawals.get(0).getTransactionAuthorizationCode())); - }else { - allocationReq.setRecvBalanceAcctId(tEnterpriseWithdrawals.get(0).getBalanceAcctId()); - allocationReq.setPayBalanceAcctId(userWithdrawals.get(0).getBalanceAcctId()); - allocationReq.setPassword(Base64Util.decode(userWithdrawals.get(0).getTransactionAuthorizationCode())); - } - money=money*100; - allocationReq.setAmount((int)money); - allocationReq.setProductName("分账"); - allocationReq.setProductCount(1); - allocationReq.setOrderNo(ToolUtil.getRandomString(32)); - allocationReq.setOrderAmount(1l); - try { - AllocationResp allocationResp = AllocationExample.create(allocationReq); - System.out.println(allocationResp); - return "ok"; - } catch (UpyztException e) { - e.printStackTrace(); - return e.getMessage(); - } - - } - public String createAllocationReqUser(Integer companyId,Integer userId,int type,double money){ - List<TEnterpriseWithdrawal> tEnterpriseWithdrawals = tEnterpriseWithdrawalService.selectList(new EntityWrapper<TEnterpriseWithdrawal>().eq("companyId", companyId)); - TUser tUser = userService.selectById(userId); - List<UserWithdrawal> userWithdrawals = userWithdrawalService.selectList(new EntityWrapper<UserWithdrawal>().eq("phone", tUser.getPhone())); - if(userWithdrawals.size()==0){ - return "error"; - } - AllocationReq allocationReq= new AllocationReq(); - allocationReq.setOutOrderNo(ToolUtil.getRandomString(32)); - if(type==1){ - - allocationReq.setPayBalanceAcctId(tEnterpriseWithdrawals.get(0).getBalanceAcctId()); - allocationReq.setRecvBalanceAcctId(userWithdrawals.get(0).getBalanceAcctId()); - - allocationReq.setPassword(Base64Util.decode(tEnterpriseWithdrawals.get(0).getTransactionAuthorizationCode())); - }else { - allocationReq.setRecvBalanceAcctId(tEnterpriseWithdrawals.get(0).getBalanceAcctId()); - allocationReq.setPayBalanceAcctId(userWithdrawals.get(0).getBalanceAcctId()); - allocationReq.setPassword(Base64Util.decode(userWithdrawals.get(0).getTransactionAuthorizationCode())); - } - money=money*100; - allocationReq.setAmount((int)money); - allocationReq.setProductName("分账"); - allocationReq.setProductCount(1); - allocationReq.setOrderNo(ToolUtil.getRandomString(32)); - allocationReq.setOrderAmount(1l); - try { - AllocationResp allocationResp = AllocationExample.create(allocationReq); - System.out.println(allocationResp); - return "ok"; - } catch (UpyztException e) { - e.printStackTrace(); - return e.getMessage(); - } - - } - - public static void main(String[] args) throws Exception { - ResultUtil resultUtil = cancleMoney(new BigDecimal(0.01), "34U02023062418175413584261700"); - } } -- Gitblit v1.7.1