From 6dbd3b95671e6ac00a442b9866331397af1b10ba Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 08 八月 2025 09:58:46 +0800 Subject: [PATCH] 修改bug --- UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java | 281 ++++++++----- UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java | 17 UserQYTTravel/guns-admin/src/test/java/com/stylefeng/guns/GunsApplicationTest.java | 319 ++++++++------- UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java | 17 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/GoodsInfo.java | 8 UserQYTTravel/guns-admin/src/main/resources/application.yml | 2 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/OrderTravelMapper.xml | 12 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/PaymentInfoRequest.java | 12 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/PayInfoController.java | 10 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 17 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/rideCommentController.java | 249 +++++------ UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/task/base/AbstractJob.java | 4 /dev/null | 20 - UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/GetPaymentInfo.java | 8 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/CreateOrderRequest.java | 4 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/UserInfoWarpper.java | 24 + UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java | 111 ++-- UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java | 60 +- UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/PaymentOrderRequest.java | 2 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/OrderRideMapper.xml | 16 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserInfoMapper.xml | 4 21 files changed, 686 insertions(+), 511 deletions(-) diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java index b1de16d..9733c66 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java @@ -868,7 +868,7 @@ * @return */ @ResponseBody - @GetMapping("/base/user/addAppUser") + @PostMapping("/base/user/addAppUser") public String addAppUser(String phone, String code, String areaCode){ try { return userInfoService.addAppUser(phone, code, areaCode); @@ -900,4 +900,19 @@ return false; } } + + /** + * 代驾系统验根据用户id获取电话号码 + * @param id + * @return + */ + @ResponseBody + @GetMapping("/base/user/getUserPhone/{id}") + public String getUserPhone(@PathVariable("id") Integer id){ + UserInfo userInfo = userInfoService.selectById(id); + if(null != userInfo){ + return userInfo.getPhone(); + } + return null; + } } diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java index 9605ec5..8c96289 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java @@ -2100,64 +2100,67 @@ @Override public OrderServerWarpper queryOrderServer(Integer orderId, Integer uid) throws Exception { OrderCrossCity orderCrossCity = this.selectById(orderId); - //计算预计距离和剩余时间 - String value = (String) redisTemplate.opsForValue().get("DRIVER" + String.valueOf(orderCrossCity.getDriverId())); - if (null == value || "".equals(value)) { - System.err.println("司机没有上传位置信息"); + if(null != orderCrossCity){ + //计算预计距离和剩余时间 + String value = (String) redisTemplate.opsForValue().get("DRIVER" + String.valueOf(orderCrossCity.getDriverId())); + if (null == value || "".equals(value)) { + System.err.println("司机没有上传位置信息"); + + //调用获取轨迹中的数据 + List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, 3); + if (list.size() > 0) { + Map<String, Object> map = list.get(list.size() - 1); + value = map.get("lon") + "," + map.get("lat"); + } + } - //调用获取轨迹中的数据 - List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, 3); - if (list.size() > 0) { - Map<String, Object> map = list.get(list.size() - 1); - value = map.get("lon") + "," + map.get("lat"); + OrderServerWarpper orderServerWarpper = new OrderServerWarpper(); + orderServerWarpper.setOrderId(orderCrossCity.getId()); + orderServerWarpper.setOrderType(3); + orderServerWarpper.setState(orderCrossCity.getState()); + orderServerWarpper.setLon(null != value ? value.split(",")[0] : "0.0"); + orderServerWarpper.setLat(null != value ? value.split(",")[1] : "0.0"); + orderServerWarpper.setReassignNotice(orderCrossCity.getReassignNotice()); + if (orderCrossCity.getState() == 2 || orderCrossCity.getState() == 3) {//前往预约地 + // TODO: 2023/11/4 无法修改 + Map<String, String> distance = gdMapElectricFenceUtil.getDistance(value, orderCrossCity.getStartLon() + "," + orderCrossCity.getStartLat(), 1); + String d = "0"; + String t = "0"; + if (null == distance) { + System.err.println("查询距离出错了"); + } else { + d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString(); + t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + ""; + } + orderServerWarpper.setReservationMileage(d); + orderServerWarpper.setReservationTime(t); + orderServerWarpper.setServedMileage("0"); + orderServerWarpper.setServedTime("0"); + orderServerWarpper.setLaveMileage("0"); + orderServerWarpper.setLaveTime("0"); } - } - - OrderServerWarpper orderServerWarpper = new OrderServerWarpper(); - orderServerWarpper.setOrderId(orderCrossCity.getId()); - orderServerWarpper.setOrderType(3); - orderServerWarpper.setState(orderCrossCity.getState()); - orderServerWarpper.setLon(null != value ? value.split(",")[0] : "0.0"); - orderServerWarpper.setLat(null != value ? value.split(",")[1] : "0.0"); - orderServerWarpper.setReassignNotice(orderCrossCity.getReassignNotice()); - if (orderCrossCity.getState() == 2 || orderCrossCity.getState() == 3) {//前往预约地 - // TODO: 2023/11/4 无法修改 - Map<String, String> distance = gdMapElectricFenceUtil.getDistance(value, orderCrossCity.getStartLon() + "," + orderCrossCity.getStartLat(), 1); - String d = "0"; - String t = "0"; - if (null == distance) { - System.err.println("查询距离出错了"); - } else { - d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString(); - t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + ""; + if (orderCrossCity.getState() == 5 || orderCrossCity.getState() == 6) {//服务中 + // TODO: 2023/11/4 无法修改 + Map<String, String> distance = gdMapElectricFenceUtil.getDistance(value, orderCrossCity.getEndLon() + "," + orderCrossCity.getEndLat(), 1); + String d = "0"; + String t = "0"; + if (null == distance) { + System.err.println("查询距离出错了"); + } else { + d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString(); + t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + ""; + } + orderServerWarpper.setReservationMileage("0"); + orderServerWarpper.setReservationTime("0"); + orderServerWarpper.setServedMileage(String.valueOf(orderCrossCity.getMileage() / 1000)); + orderServerWarpper.setServedTime(Long.valueOf((new Date().getTime() - orderCrossCity.getStartServiceTime().getTime()) / 60000).intValue() + ""); + orderServerWarpper.setLaveMileage(d); + orderServerWarpper.setLaveTime(t); } - orderServerWarpper.setReservationMileage(d); - orderServerWarpper.setReservationTime(t); - orderServerWarpper.setServedMileage("0"); - orderServerWarpper.setServedTime("0"); - orderServerWarpper.setLaveMileage("0"); - orderServerWarpper.setLaveTime("0"); + + return orderServerWarpper; } - if (orderCrossCity.getState() == 5 || orderCrossCity.getState() == 6) {//服务中 - // TODO: 2023/11/4 无法修改 - Map<String, String> distance = gdMapElectricFenceUtil.getDistance(value, orderCrossCity.getEndLon() + "," + orderCrossCity.getEndLat(), 1); - String d = "0"; - String t = "0"; - if (null == distance) { - System.err.println("查询距离出错了"); - } else { - d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).toString(); - t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).intValue() + ""; - } - orderServerWarpper.setReservationMileage("0"); - orderServerWarpper.setReservationTime("0"); - orderServerWarpper.setServedMileage(String.valueOf(orderCrossCity.getMileage() / 1000)); - orderServerWarpper.setServedTime(Long.valueOf((new Date().getTime() - orderCrossCity.getStartServiceTime().getTime()) / 60000).intValue() + ""); - orderServerWarpper.setLaveMileage(d); - orderServerWarpper.setLaveTime(t); - } - - return orderServerWarpper; + return new OrderServerWarpper(); } diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/PayInfoController.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/PayInfoController.java index e87993b..6dfa73e 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/PayInfoController.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/PayInfoController.java @@ -4,7 +4,6 @@ import com.stylefeng.guns.modular.shunfeng.model.OrderRide; import com.stylefeng.guns.modular.shunfeng.model.vo.ApiJson; import com.stylefeng.guns.modular.shunfeng.service.IOrderRideService; -import com.stylefeng.guns.modular.shunfeng.service.IParamService; import com.stylefeng.guns.modular.shunfeng.service.ITimeTaskService; import com.stylefeng.guns.modular.system.model.UserInfo; import com.stylefeng.guns.modular.system.service.ISystemNoticeService; @@ -32,8 +31,6 @@ public class PayInfoController { @Autowired - private IParamService paramService; - @Autowired private IOrderRideService orderRideService; @Autowired private ITimeTaskService timeTaskService; @@ -53,6 +50,13 @@ * @param couponId * @return */ + @ResponseBody + @PostMapping("/payBalanceRide") + @ApiOperation(value = "余额支付", httpMethod = "POST") + @ApiImplicitParams({ + @ApiImplicitParam(name = "orderId", value = "订单id", dataType = "int"), + @ApiImplicitParam(name = "couponId", value = "优惠券id", dataType = "int"), + }) public Object payBalanceRide(Integer orderId,Integer couponId){ try { OrderRide orderRide=orderRideService.selectById(orderId); diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/rideCommentController.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/rideCommentController.java index 88e5876..03cba5a 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/rideCommentController.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/controller/rideCommentController.java @@ -14,12 +14,15 @@ import com.stylefeng.guns.modular.shunfeng.util.SensitiveWordUtil; import com.stylefeng.guns.modular.system.dao.SensitiveWordsMapper; import com.stylefeng.guns.modular.system.model.SensitiveWords; +import com.stylefeng.guns.modular.system.model.TCarBrand; import com.stylefeng.guns.modular.system.model.UserInfo; import com.stylefeng.guns.modular.system.service.ISystemNoticeService; +import com.stylefeng.guns.modular.system.service.ITCarBrandService; import com.stylefeng.guns.modular.system.service.IUserInfoService; import com.stylefeng.guns.modular.system.util.DateUtil; import com.stylefeng.guns.modular.system.util.GDMapElectricFenceUtil; import com.stylefeng.guns.modular.system.util.PushUtil; +import com.stylefeng.guns.modular.system.util.ResultUtil; import com.stylefeng.guns.modular.system.util.qianyuntong.UserUtil; import io.swagger.annotations.*; import net.sf.json.JSONObject; @@ -50,9 +53,6 @@ /*顺风车设置*/ @Autowired private IParamRideService paramRideService; - /*系统设置*/ - @Autowired - private IParamService paramService; /*定时任务*/ @Autowired private ITimeTaskService timeTaskService; @@ -61,7 +61,7 @@ private IDriverRideService driverRideService; /*顺风车品牌*/ @Autowired - private IBrandService brandService; + private ITCarBrandService carBrandService; /*评价*/ @Autowired private IEvaluateService evaluateService; @@ -111,7 +111,7 @@ public Object authentication(Integer userId,String name,String identity,Integer type) { try { if (userId == null || userId == 0) { - return ApiJson.returnNG("userId不能为空"); + return ResultUtil.paranErr("userId不能为空"); } /*发布顺风车行程实名认证*/ UserApply apply=new UserApply(); @@ -129,6 +129,7 @@ /*修改用户实名认证通过*/ UserInfo userInfo=new UserInfo(); userInfo.setId(userId); + userInfo.setIsAuth(2); String sex = identity.substring(16, 17); //取指定位置的值(16位之后,17位结束;) int b = Integer.parseInt(sex);//强制类型转换 if (b % 2 == 0) { @@ -145,11 +146,11 @@ applyService.insert(apply); Map<String,Object> reMap=new HashMap<>(); reMap.put("auditState", aBoolean); - return ApiJson.returnOK(reMap); + return ResultUtil.success(reMap); } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG("异常"); + return ResultUtil.error("异常"); } /** @@ -164,7 +165,7 @@ public Object authentication(Integer userId,String headImg) { // try { // if (userId == null || userId == 0) { -// return ApiJson.returnNG("userId不能为空"); +// return ResultUtil.paranErr("userId不能为空"); // } // /*查询实名认证信息*/ // UserApply apply=applyService.selectOne(new EntityWrapper<UserApply>().eq("userId",userId) @@ -202,7 +203,7 @@ // } catch (Exception e) { // e.printStackTrace(); // } - return ApiJson.returnNG("异常"); + return ResultUtil.paranErr("异常"); } /** @@ -214,12 +215,12 @@ @ApiOperation(value = "获取车辆品牌列表", httpMethod = "GET") public Object getBrandList(){ try { - List<Brand> brands=brandService.selectList(null); - return ApiJson.returnOK(brands); + List<TCarBrand> tCarBrands = carBrandService.selectList(null); + return ApiJson.returnOK(tCarBrands); } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG("异常"); + return ResultUtil.error("异常"); } /** @@ -238,10 +239,10 @@ public Object homeOrderCount(Integer userId,Integer type){ try { if(ToolUtil.isEmpty(userId)){ - return ApiJson.returnNG("userId不能为空"); + return ResultUtil.paranErr("userId不能为空"); } if(ToolUtil.isEmpty(type)){ - return ApiJson.returnNG("type不能为空"); + return ResultUtil.paranErr("type不能为空"); } Integer count=0; @@ -260,7 +261,7 @@ } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG("获取异常"); + return ResultUtil.error("获取异常"); } /** @@ -279,10 +280,10 @@ public Object homeOrderList(Integer userId,Integer type,Integer current,Integer size){ try { if(ToolUtil.isEmpty(userId)){ - return ApiJson.returnNG("userId不能为空"); + return ResultUtil.paranErr("userId不能为空"); } if(ToolUtil.isEmpty(type)){ - return ApiJson.returnNG("type不能为空"); + return ResultUtil.paranErr("type不能为空"); } List<OrderRideVo> rideVoList=new ArrayList<>(); OrderRideVo orderRideVo=new OrderRideVo(); @@ -305,7 +306,7 @@ } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG("获取异常"); + return ResultUtil.error("获取异常"); } /** @@ -366,7 +367,7 @@ } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG("获取异常"); + return ResultUtil.error("获取异常"); } /** @@ -401,22 +402,22 @@ String endName,Double money,Integer isDai,String lxPhone){ try { if(ToolUtil.isEmpty(userId)){ - return ApiJson.returnNG("userId不能为空"); + return ResultUtil.paranErr("userId不能为空"); } if(ToolUtil.isEmpty(startTime)){ - return ApiJson.returnNG("startTime不能为空"); + return ResultUtil.paranErr("startTime不能为空"); } if(ToolUtil.isEmpty(num)){ - return ApiJson.returnNG("num不能为空"); + return ResultUtil.paranErr("num不能为空"); } if(ToolUtil.isEmpty(startName)){ - return ApiJson.returnNG("startName不能为空"); + return ResultUtil.paranErr("startName不能为空"); } if(ToolUtil.isEmpty(endName)){ - return ApiJson.returnNG("endName不能为空"); + return ResultUtil.paranErr("endName不能为空"); } if(ToolUtil.isEmpty(money)){ - return ApiJson.returnNG("money不能为空"); + return ResultUtil.paranErr("money不能为空"); } /*用户只能发布一个进行中的行程*/ /*EntityWrapper<OrderRide> entityWrapper=new EntityWrapper(); @@ -424,7 +425,7 @@ entityWrapper.in("state","1,2,3,4"); Integer count=orderRideService.selectCount(entityWrapper); if(count>0){ - return ApiJson.returnNG("还有进行中的订单"); + return ResultUtil.paranErr("还有进行中的订单"); }*/ /*用户可以发布多个订单*/ ParamRide paramRide=paramRideService.selectOne(new EntityWrapper<ParamRide>().eq("type",2)); @@ -455,15 +456,9 @@ orderRide.setState(1);//未支付状态 orderRideService.insert(orderRide); //todo 定时人数 自动取消订单 - Param param = paramService.selectOne(new EntityWrapper<Param>().eq("type", 21));//顺风车支付倒计时设置(分钟) Integer time =10; Map<String,Object> reMap=new HashMap<>(); - if(param != null){ - time=Integer.parseInt(param.getContext()); - reMap.put("djs",time); - }else{ - reMap.put("djs",time); - } + reMap.put("djs",time); reMap.put("orderId",orderRide.getId()); reMap.put("addTime",orderRide.getAddTime()); // 添加定时任务信息 @@ -479,11 +474,11 @@ maps.put("orderId",orderRide.getId()); maps.put("timeTaskId",timeTask.getId()); QuartzManager.addJob(CourseExamineRide.class,(CourseExamineRide.DSCE+orderRide.getId()).toUpperCase(), TimeJobType.UNLOCK, DateUtil.getDate_strYMdHms(System.currentTimeMillis() + 1000*60*time) , maps); - return ApiJson.returnOK(orderRide.getId()); + return ResultUtil.success(orderRide.getId()); } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG("异常"); + return ResultUtil.error("异常"); } /** @@ -512,19 +507,19 @@ public Object driverAddTravel(Integer driverId,String startTime,Integer num,String startName,String endName,Double startLat,Double startLon,Double endLat,Double endLon){ try { if(ToolUtil.isEmpty(driverId)){ - return ApiJson.returnNG("driverId不能为空"); + return ResultUtil.paranErr("driverId不能为空"); } if(ToolUtil.isEmpty(startTime)){ - return ApiJson.returnNG("startTime不能为空"); + return ResultUtil.paranErr("startTime不能为空"); } if(ToolUtil.isEmpty(num)){ - return ApiJson.returnNG("num不能为空"); + return ResultUtil.paranErr("num不能为空"); } if(ToolUtil.isEmpty(startName)){ - return ApiJson.returnNG("startName不能为空"); + return ResultUtil.paranErr("startName不能为空"); } if(ToolUtil.isEmpty(endName)){ - return ApiJson.returnNG("endName不能为空"); + return ResultUtil.paranErr("endName不能为空"); } /*用户的资料过期了不可以发布行程*/ DriverRide driverRide=driverRideService.selectById(driverId); @@ -535,7 +530,7 @@ || DateUtil.getDate(driverRide.getDutyInsuranceTime(), "yyyy-MM-dd").getTime()-new Date().getTime()<0 || DateUtil.getDate(driverRide.getAnnualInspectionTime(), "yyyy-MM-dd").getTime()-new Date().getTime()<0 ){ - return ApiJson.returnNG("您的证件已过期,请重新上传资料"); + return ResultUtil.error("您的证件已过期,请重新上传资料"); } } /*1一个司机可以创建多个行程*/ @@ -560,7 +555,7 @@ } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG("异常"); + return ResultUtil.error("异常"); } @@ -607,46 +602,46 @@ String businessInsuranceTime,String businessInsuranceImg,String dutyInsuranceTime,String dutyInsuranceImg,String annualInspectionTime,String annualInspectionImg){ try { if(ToolUtil.isEmpty(userId)){ - return ApiJson.returnNG("userId不能为空"); + return ResultUtil.paranErr("userId不能为空"); } if(ToolUtil.isEmpty(carType)){ - return ApiJson.returnNG("carType不能为空"); + return ResultUtil.paranErr("carType不能为空"); } if(ToolUtil.isEmpty(brandId)){ - return ApiJson.returnNG("brandId不能为空"); + return ResultUtil.paranErr("brandId不能为空"); } if(ToolUtil.isEmpty(carNum)){ - return ApiJson.returnNG("carNum不能为空"); + return ResultUtil.paranErr("carNum不能为空"); } if(ToolUtil.isEmpty(license)){ - return ApiJson.returnNG("license不能为空"); + return ResultUtil.paranErr("license不能为空"); } if(ToolUtil.isEmpty(licenseImg)){ - return ApiJson.returnNG("licenseImg不能为空"); + return ResultUtil.paranErr("licenseImg不能为空"); } if(ToolUtil.isEmpty(comInsuranceTime)){ - return ApiJson.returnNG("comInsuranceTime不能为空"); + return ResultUtil.paranErr("comInsuranceTime不能为空"); } if(ToolUtil.isEmpty(comInsuranceImg)){ - return ApiJson.returnNG("comInsuranceImg不能为空"); + return ResultUtil.paranErr("comInsuranceImg不能为空"); } if(ToolUtil.isEmpty(businessInsuranceTime)){ - return ApiJson.returnNG("businessInsuranceTime不能为空"); + return ResultUtil.paranErr("businessInsuranceTime不能为空"); } if(ToolUtil.isEmpty(businessInsuranceImg)){ - return ApiJson.returnNG("businessInsuranceImg不能为空"); + return ResultUtil.paranErr("businessInsuranceImg不能为空"); } if(ToolUtil.isEmpty(dutyInsuranceTime)){ - return ApiJson.returnNG("dutyInsuranceTime不能为空"); + return ResultUtil.paranErr("dutyInsuranceTime不能为空"); } if(ToolUtil.isEmpty(dutyInsuranceImg)){ - return ApiJson.returnNG("dutyInsuranceImg不能为空"); + return ResultUtil.paranErr("dutyInsuranceImg不能为空"); } if(ToolUtil.isEmpty(annualInspectionTime)){ - return ApiJson.returnNG("annualInspectionTime不能为空"); + return ResultUtil.paranErr("annualInspectionTime不能为空"); } if(ToolUtil.isEmpty(annualInspectionImg)){ - return ApiJson.returnNG("annualInspectionImg不能为空"); + return ResultUtil.paranErr("annualInspectionImg不能为空"); } DriverRide driverRide=new DriverRide(); driverRide.setBrandId(brandId); @@ -710,7 +705,7 @@ } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG("异常"); + return ResultUtil.error("异常"); } /** @@ -724,19 +719,19 @@ public Object driverInfo(Integer driverId){ try { if(ToolUtil.isEmpty(driverId)){ - return ApiJson.returnNG("driverId不能为空"); + return ResultUtil.paranErr("driverId不能为空"); } DriverRide driverRide=driverRideService.selectById(driverId); /*获取司机品牌id*/ - Brand b=brandService.selectById(driverRide.getBrandId()); - if(b!=null){ - driverRide.setCarType(b.getName()); + TCarBrand tCarBrand = carBrandService.selectById(driverRide.getBrandId()); + if(tCarBrand!=null){ + driverRide.setCarType(tCarBrand.getName()); } return ApiJson.returnOK(driverRide); } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG("异常"); + return ResultUtil.error("异常"); } /** @@ -755,10 +750,10 @@ public Object cancelServiceMoney(Integer orderId,Integer type){ try { if(ToolUtil.isEmpty(orderId)){ - return ApiJson.returnNG("orderId不能为空"); + return ResultUtil.paranErr("orderId不能为空"); } if(ToolUtil.isEmpty(type)){ - return ApiJson.returnNG("type不能为空"); + return ResultUtil.paranErr("type不能为空"); } Double serviceMoney=0d; if(type==1){//用户 @@ -800,11 +795,11 @@ } orderTravelService.updateById(orderTravel);//更新取消服务费 } - return ApiJson.returnOK(serviceMoney); + return ResultUtil.success(serviceMoney); } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG("异常"); + return ResultUtil.error("异常"); } /** @@ -819,14 +814,14 @@ public Object userCancel(Integer orderId){ try { if(ToolUtil.isEmpty(orderId)){ - return ApiJson.returnNG("orderId不能为空"); + return ResultUtil.paranErr("orderId不能为空"); } /*查看这个订单是否在进行中*/ OrderRide orderRide=orderRideService.selectById(orderId); if(orderRide!=null){ /*查询该订单是否已经取消*/ if(orderRide.getState()==6){ - return ApiJson.returnNG("该订单已取消"); + return ResultUtil.error("该订单已取消"); } //用户取消给司机推送 if(orderRide.getDriverId()!=null) { @@ -844,11 +839,11 @@ orderTravelService.updateById(orderTravel); } } - return ApiJson.returnOK(""); + return ResultUtil.success(""); } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG("异常"); + return ResultUtil.error("异常"); } //用户取消退款 public void userCancelTuik(OrderRide orderRide){ @@ -905,12 +900,12 @@ public Object driverCancel(Integer orderId){ try { if(ToolUtil.isEmpty(orderId)){ - return ApiJson.returnNG("orderId不能为空"); + return ResultUtil.paranErr("orderId不能为空"); } OrderTravel orderTravel=orderTravelService.selectById(orderId); if(orderTravel!=null){ if(orderTravel.getState()==6){ - return ApiJson.returnNG("该订单已取消"); + return ResultUtil.error("该订单已取消"); } DriverRide driverRide=driverRideService.selectById(orderTravel.getDriverId()); if(orderTravel.getServiceMoney()!=null && orderTravel.getServiceMoney()>0){ @@ -961,11 +956,11 @@ } } - return ApiJson.returnOK(""); + return ResultUtil.success(""); } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG("异常"); + return ResultUtil.error("异常"); } /** @@ -986,10 +981,10 @@ public Object driverOperation(Integer userOrderId,Integer type,Integer driverOrderId){ try { if(ToolUtil.isEmpty(driverOrderId)){ - return ApiJson.returnNG("driverOrderId不能为空"); + return ResultUtil.paranErr("driverOrderId不能为空"); } if(ToolUtil.isEmpty(type)){ - return ApiJson.returnNG("type不能为空"); + return ResultUtil.paranErr("type不能为空"); } OrderTravel orderTravel=orderTravelService.selectById(driverOrderId);//司机行程 /*用户的资料过期了不可以发布行程*/ @@ -1000,17 +995,17 @@ || DateUtil.getDate(driverRide.getDutyInsuranceTime(), "yyyy-MM-dd").getTime()-new Date().getTime()<0 || DateUtil.getDate(driverRide.getAnnualInspectionTime(), "yyyy-MM-dd").getTime()-new Date().getTime()<0 ){ - return ApiJson.returnNG("您的证件已过期,请重新上传资料"); + return ResultUtil.error("您的证件已过期,请重新上传资料"); } } OrderRide orderRide=orderRideService.selectById(userOrderId); if(orderRide!=null && orderRide.getState()==6){ - return ApiJson.returnNG("用户已取消该行程"); + return ResultUtil.error("用户已取消该行程"); } if(orderTravel!=null){ if(type==1){//1确认同行 一个行程只能匹配一个订单 if(orderTravel.getState()==3){ - return ApiJson.returnNG("该行程已经绑定了用户订单"); + return ResultUtil.error("该行程已经绑定了用户订单"); } orderTravel.setState(3); //绑定司机行程、设置用户订单状态 @@ -1045,11 +1040,7 @@ if(ToolUtil.isNotEmpty(driverRide.getByInviteCode())){ /*计算推广用户的提成*/ UserInfo userInfo1=userInfoService.selectOne(new EntityWrapper<UserInfo>().eq("inviteCodeRide",driverRide.getByInviteCode())); - Param param=paramService.selectOne(new EntityWrapper<Param>().eq("type",22)); Double discount=100d; - if(param!=null){ - discount=Double.valueOf(param.getContext()); - } Double money=orderRide.getMoney()*discount/100;//提成金额 userInfoService.updateById(userInfo1); @@ -1079,11 +1070,11 @@ } } pushUtil.pushOrderState(1, orderRide.getUserId(), orderRide.getId(), 8, orderRide.getState(), null); - return ApiJson.returnOK(""); + return ResultUtil.success(""); } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG("异常"); + return ResultUtil.error("异常"); } /** * 用户评价 @@ -1107,16 +1098,16 @@ public Object evaluate(Integer orderId,Integer driverId,Integer userId,Integer score,String content){ try { if(userId == null || userId == 0){ - return ApiJson.returnNG("userId不能为空"); + return ResultUtil.paranErr("userId不能为空"); } if(driverId == null || driverId == 0){ - return ApiJson.returnNG("driverId不能为空"); + return ResultUtil.paranErr("driverId不能为空"); } if(orderId == null || orderId == 0){ - return ApiJson.returnNG("orderId不能为空"); + return ResultUtil.paranErr("orderId不能为空"); } if(score == null || score == 0){ - return ApiJson.returnNG("score不能为空"); + return ResultUtil.paranErr("score不能为空"); } Evaluate evaluate=new Evaluate(); evaluate.setAddTime(new Date()); @@ -1134,7 +1125,7 @@ SensitiveWordUtil.init(sensitiveWordSet); boolean result = SensitiveWordUtil.contains(content); if(result){ - return ApiJson.returnNG("评价内容包含敏感词"); + return ResultUtil.error("评价内容包含敏感词"); } } evaluate.setContent(content); @@ -1161,11 +1152,11 @@ orderRideService.updateById(orderTaxi); evaluateService.insert(evaluate); /*需要反订单数据*/ - return ApiJson.returnOK(orderId); + return ResultUtil.success(orderId); } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG(""); + return ResultUtil.error(""); } /** @@ -1191,13 +1182,13 @@ public Object complaints(Integer driverId,Integer userId,String content,String reMark,Integer type,Integer orderId) { try { if (userId == null || userId == 0) { - return ApiJson.returnNG("userId不能为空"); + return ResultUtil.paranErr("userId不能为空"); } if (driverId == null || driverId == 0) { - return ApiJson.returnNG("driverId不能为空"); + return ResultUtil.paranErr("driverId不能为空"); } if (orderId == null || orderId == 0) { - return ApiJson.returnNG("orderId不能为空"); + return ResultUtil.paranErr("orderId不能为空"); } Complaints complaints=new Complaints(); complaints.setAddTime(new Date()); @@ -1212,7 +1203,7 @@ SensitiveWordUtil.init(sensitiveWordSet); boolean result = SensitiveWordUtil.contains(content); if(result){ - return ApiJson.returnNG("投诉内容包含敏感词"); + return ResultUtil.error("投诉内容包含敏感词"); } complaints.setContent(content); complaints.setReMark(reMark); @@ -1240,11 +1231,11 @@ orderTravel.setIsComplaint(2); orderTravelService.updateById(orderTravel); } - return ApiJson.returnOK("投诉成功"); + return ResultUtil.success("投诉成功"); } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG(""); + return ResultUtil.error(""); } /** * 用户邀请司机接单(需要发送消息) @@ -1262,10 +1253,10 @@ public Object myOrders(Integer orderId,Integer userId){ try { if(ToolUtil.isEmpty(orderId)){ - return ApiJson.returnNG("orderId不能为空"); + return ResultUtil.paranErr("orderId不能为空"); } if(ToolUtil.isEmpty(userId)){ - return ApiJson.returnNG("userId不能为空"); + return ResultUtil.paranErr("userId不能为空"); } OrderTravel orderTravel=orderTravelService.selectById(orderId); UserInfo userInfo_=userInfoService.selectOne(new EntityWrapper<UserInfo>().eq("driverId",orderTravel.getDriverId()));//司机用户 @@ -1280,11 +1271,11 @@ throw new RuntimeException(e); } } - return ApiJson.returnOK("邀请成功"); + return ResultUtil.success("邀请成功"); } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG("异常"); + return ResultUtil.error("异常"); } /** * 用户订单匹配列表页面,用户订单去匹配司机的行程 @@ -1306,16 +1297,16 @@ public Object userMatchingOrderList(Integer orderId,Integer current,Integer size,Integer type,Double lon,Double lat){ try { if(ToolUtil.isEmpty(orderId)){ - return ApiJson.returnNG("orderId不能为空"); + return ResultUtil.paranErr("orderId不能为空"); } if(ToolUtil.isEmpty(type)){ - return ApiJson.returnNG("type不能为空"); + return ResultUtil.paranErr("type不能为空"); } if(ToolUtil.isEmpty(lon)){ - return ApiJson.returnNG("lon不能为空"); + return ResultUtil.paranErr("lon不能为空"); } if(ToolUtil.isEmpty(lat)){ - return ApiJson.returnNG("lat不能为空"); + return ResultUtil.paranErr("lat不能为空"); } OrderRide orderRide=orderRideService.selectById(orderId); current=current==null?1:current; @@ -1330,11 +1321,11 @@ orderRideVo.setNum(orderRide.getNum()); orderRideVo.setType(type+1);//搜索条件:1默认排序(根据线路、时间,人数综合匹配排序721),2时间最早,3距离最近 List<OrderRideVo> orderRides=orderTravelService.getOrderTravel(orderRideVo); - return ApiJson.returnOK(orderRides); + return ResultUtil.success(orderRides); } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG("异常"); + return ResultUtil.error("异常"); } /** @@ -1360,16 +1351,16 @@ try { try { if(ToolUtil.isEmpty(orderId)){ - return ApiJson.returnNG("orderId不能为空"); + return ResultUtil.paranErr("orderId不能为空"); } if(ToolUtil.isEmpty(type)){ - return ApiJson.returnNG("type不能为空"); + return ResultUtil.paranErr("type不能为空"); } if(ToolUtil.isEmpty(lon)){ - return ApiJson.returnNG("lon不能为空"); + return ResultUtil.paranErr("lon不能为空"); } if(ToolUtil.isEmpty(lat)){ - return ApiJson.returnNG("lat不能为空"); + return ResultUtil.paranErr("lat不能为空"); } OrderTravel orderTravel=orderTravelService.selectById(orderId); current=current==null?1:current; @@ -1384,14 +1375,14 @@ orderRideVo.setLat(lat); orderRideVo.setType(type+1);//搜索条件:1默认排序(根据线路、时间,人数综合匹配排序721),2时间最早,3距离最近,4价格最低 List<OrderRideVo> orderRides=orderRideService.getOrderRide(orderRideVo); - return ApiJson.returnOK(orderRides); + return ResultUtil.success(orderRides); } catch (Exception e) { e.printStackTrace(); } } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG("异常"); + return ResultUtil.error("异常"); } /** @@ -1412,10 +1403,10 @@ public Object orderInfo(Integer orderId,Integer type,Double lon,Double lat) { try { if(ToolUtil.isEmpty(orderId)){ - return ApiJson.returnNG("orderId不能为空"); + return ResultUtil.paranErr("orderId不能为空"); } if(ToolUtil.isEmpty(type)){ - return ApiJson.returnNG("type不能为空"); + return ResultUtil.paranErr("type不能为空"); } //取司机的经纬度 OrderRideInfoVo orderRideInfoVo=new OrderRideInfoVo(); @@ -1429,19 +1420,13 @@ orderRideInfoVo=orderTravelService.getOrderInfo(orderRideInfoVo); } /*获取顺风车订单支付倒计时*/ - Param param = paramService.selectOne(new EntityWrapper<Param>().eq("type", 21));//顺风车支付倒计时设置(分钟) Integer time =10; - if(param != null){ - time=Integer.parseInt(param.getContext()); - orderRideInfoVo.setDjs(time); - }else{ - orderRideInfoVo.setDjs(time); - } - return ApiJson.returnOK(orderRideInfoVo); + orderRideInfoVo.setDjs(time); + return ResultUtil.success(orderRideInfoVo); } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG("异常"); + return ResultUtil.error("异常"); } /** @@ -1456,10 +1441,10 @@ public Object orderInfo(String inviteCode,Integer type) { try { if(ToolUtil.isEmpty(inviteCode)){ - return ApiJson.returnNG("inviteCode不能为空"); + return ResultUtil.paranErr("inviteCode不能为空"); } if(ToolUtil.isEmpty(type)){ - return ApiJson.returnNG("type不能为空"); + return ResultUtil.paranErr("type不能为空"); } Integer count=0; if(type==1){ @@ -1467,11 +1452,11 @@ }else { count=userInfoService.selectCount(new EntityWrapper<UserInfo>().eq("inviteCodeRide",inviteCode)); } - return ApiJson.returnOK(count); + return ResultUtil.success(count); } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG("异常"); + return ResultUtil.error("异常"); } /** @@ -1486,7 +1471,7 @@ public Object orderInfo(Integer driverId) { try { if(ToolUtil.isEmpty(driverId)){ - return ApiJson.returnNG("driverId不能为空"); + return ResultUtil.paranErr("driverId不能为空"); } DriverRide driverRide=driverRideService.selectById(driverId); Integer count=0; @@ -1499,11 +1484,11 @@ count=1; } } - return ApiJson.returnOK(count); + return ResultUtil.success(count); } catch (Exception e) { e.printStackTrace(); } - return ApiJson.returnNG("异常"); + return ResultUtil.error("异常"); } } diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/BrandMapper.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/BrandMapper.java deleted file mode 100644 index 8428b6c..0000000 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/BrandMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.stylefeng.guns.modular.shunfeng.dao; - -import com.baomidou.mybatisplus.mapper.BaseMapper; -import com.stylefeng.guns.modular.shunfeng.model.Brand; - -/** - * <p> - * 顺风车品牌 Mapper 接口 - * </p> - * - * @author wumeng123 - * @since 2020-04-27 - */ -public interface BrandMapper extends BaseMapper<Brand> { - -} diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/ParamMapper.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/ParamMapper.java deleted file mode 100644 index 0d07bb6..0000000 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/ParamMapper.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.stylefeng.guns.modular.shunfeng.dao; - -import com.baomidou.mybatisplus.mapper.BaseMapper; -import com.stylefeng.guns.modular.shunfeng.model.Param; - -/** - * <p> - * 系统设置; InnoDB free: 6144 kB Mapper 接口 - * </p> - * - * @author wumeng123 - * @since 2019-06-11 - */ -public interface ParamMapper extends BaseMapper<Param> { - -} diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/BrandMapper.xml b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/BrandMapper.xml deleted file mode 100644 index 79ca86b..0000000 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/BrandMapper.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.stylefeng.guns.modular.shunfeng.dao.BrandMapper"> - - <!-- 通用查询映射结果 --> - <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.shunfeng.model.Brand"> - <id column="id" property="id" /> - <result column="name" property="name" /> - <result column="addTime" property="addTime" /> - </resultMap> - - <!-- 通用查询结果列 --> - <sql id="Base_Column_List"> - id, name, addTime - </sql> - -</mapper> diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/OrderRideMapper.xml b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/OrderRideMapper.xml index 051501f..788a0d4 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/OrderRideMapper.xml +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/OrderRideMapper.xml @@ -31,11 +31,11 @@ </sql> <!--用户顺风车订单 type :1待处理的订单,2根据线路、时间,人数综合匹配排序 3按时间排序最早,4距离最近排序,5价格最高 and r.startTime>=now()--> <select id="getOrderRide" resultType="com.stylefeng.guns.modular.shunfeng.model.vo.OrderRideVo"> - select r.*,_fnGetDistance(#{lon},#{lat}, r.startLon, r.startLat) as distance,u.headImg,u.sex,u.totalOrders,u.nickName as name, + select r.*,calculate_distance(#{lat},#{lon},r.startLat, r.startLon) as distance,u.avatar as headImg,u.sex,u.totalOrders,u.nickName as name, r.id as userOrderId,t.id as driverOrderId from app_order_ride r left join app_order_travel t on r.travelId=t.id - left join app_user_info u on r.userId=u.id - left join app_user_info u1 on r.driverId=u1.driverId + left join t_user u on r.userId=u.id + left join t_user u1 on r.driverId=u1.driverId <where> <if test="userId!=null"> and r.userId = #{userId} @@ -51,13 +51,13 @@ order by r.startTime desc </if> <if test="type==2"> - order by _fnGetDistance(#{lon},#{lat}, r.startLon, r.startLat) asc,r.startTime desc,(r.num-#{num}) asc + order by calculate_distance(#{lat},#{lon},r.startLat, r.startLon) asc,r.startTime desc,(r.num-#{num}) asc </if> <if test="type==3"> order by r.startTime asc </if> <if test="type==4"> - order by _fnGetDistance(#{lon},#{lat}, r.startLon, r.startLat) asc + order by calculate_distance(#{lat},#{lon},r.startLat, r.startLon) asc </if> <if test="type==5"> order by r.money desc @@ -79,11 +79,11 @@ <!--获取订单详情--> <select id="getOrderInfo" resultType="com.stylefeng.guns.modular.shunfeng.model.vo.OrderRideInfoVo"> select r.addTime,r.startTime,r.endName,r.startName,r.money,r.id as userOrderId,r.state,t.id as driverOrderId,r.isEvaluate,t.isComplaint, - r.num,r.userId,r.driverId ,u.headImg,CASE when r.isDai=1 then r.lxPhone else u.phone end as phone,u.sex,u.nickName as name,u.totalOrders, - _fnGetDistance(#{lon},#{lat}, r.startLon, r.startLat) as distance + r.num,r.userId,r.driverId ,u.avatar as headImg,CASE when r.isDai=1 then r.lxPhone else u.phone end as phone,u.sex,u.nickName as name,u.totalOrders, + calculate_distance(#{lat},#{lon},r.startLat, r.startLon) as distance from (select * from app_order_ride where id=#{userOrderId}) r left join app_order_travel t on r.travelId=t.id left join app_driver_ride d on d.id=r.driverId - left join app_user_info u on r.userId=u.id + left join t_user u on r.userId=u.id </select> </mapper> diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/OrderTravelMapper.xml b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/OrderTravelMapper.xml index a88fcf9..bacd4ab 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/OrderTravelMapper.xml +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/OrderTravelMapper.xml @@ -25,11 +25,11 @@ </sql> <!--顺风车司机订单行程 type :1待处理的订单,2根据线路、时间,人数综合匹配排序 3按时间排序,4距离最近排序 and r.startTime>=now()--> <select id="getOrderTravel" resultType="com.stylefeng.guns.modular.shunfeng.model.vo.OrderRideVo"> - select r.*,_fnGetDistance(#{lon},#{lat}, r.startLon, r.startLat) as distance,d.totalOrders,u.sex,u.headImg,u.realName as name, + select r.*,calculate_distance(#{lat},#{lon},r.startLat, r.startLon) as distance,d.totalOrders,u.sex,u.avatar as headImg,u.nickName as name, r.id as driverOrderId,i.id as userOrderId from app_order_travel r left join app_order_ride i on i.travelId=r.id - left join app_user_info u on u.driverId = r.driverId + left join t_user u on u.driverId = r.driverId left join app_driver_ride d on d.id=r.driverId <where> <if test="driverId!=null"> @@ -46,24 +46,24 @@ order by r.startTime desc </if> <if test="type==2"> - order by _fnGetDistance(#{lon},#{lat}, r.startLon, r.startLat) asc,r.startTime desc,(r.num-#{num}) asc + order by calculate_distance(#{lat},#{lon}, r.startLat,r.startLon) asc,r.startTime desc,(r.num-#{num}) asc </if> <if test="type==3"> order by r.startTime asc </if> <if test="type==4"> - order by _fnGetDistance(#{lon},#{lat}, r.startLon, r.startLat) asc + order by calculate_distance(#{lat},#{lon}, r.startLat,r.startLon) asc </if> LIMIT #{current},#{size} </select> <!--根据订单id获取订单详情--> <select id="getOrderInfo" resultType="com.stylefeng.guns.modular.shunfeng.model.vo.OrderRideInfoVo"> select t.addTime,r.startTime,r.endName,r.startName,r.money,r.id as userOrderId,r.state,t.id as driverOrderId,r.isComplaint,r.num, - r.userId,r.driverId,u.headImg,u.phone,u.sex,u.realName as name,d.carNum,d.carType,d.totalOrders,IFNULL(format(d.evaluateScore/d.evaluateNum,2),0)as evaluateScore,r.evaluateScoreUser,r.isEvaluate + r.userId,r.driverId,u.avatar as headImg,u.phone,u.sex,u.nickName as realName as name,d.carNum,d.carType,d.totalOrders,IFNULL(format(d.evaluateScore/d.evaluateNum,2),0)as evaluateScore,r.evaluateScoreUser,r.isEvaluate ,r.content from (select * from app_order_travel where id= #{driverOrderId}) t left join app_order_ride r on t.id=r.travelId left join app_driver_ride d on d.id=t.driverId - left join app_user_info u on d.id=u.driverId + left join t_user u on d.id=u.driverId </select> </mapper> diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/ParamMapper.xml b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/ParamMapper.xml deleted file mode 100644 index 283bdee..0000000 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/dao/mapping/ParamMapper.xml +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> -<mapper namespace="com.stylefeng.guns.modular.shunfeng.dao.ParamMapper"> - - <!-- 通用查询映射结果 --> - <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.shunfeng.model.Param"> - <id column="id" property="id" /> - <result column="type" property="type" /> - <result column="context" property="context" /> - </resultMap> - - <!-- 通用查询结果列 --> - <sql id="Base_Column_List"> - id, type, context - </sql> - -</mapper> diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/model/Brand.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/model/Brand.java deleted file mode 100644 index b71bf80..0000000 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/model/Brand.java +++ /dev/null @@ -1,77 +0,0 @@ -package com.stylefeng.guns.modular.shunfeng.model; - -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import java.util.Date; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.activerecord.Model; -import com.baomidou.mybatisplus.annotations.TableName; -import java.io.Serializable; - -/** - * <p> - * 顺风车品牌 - * </p> - * - * @author wumeng123 - * @since 2020-04-27 - */ -@TableName("app_brand") -public class Brand extends Model<Brand> { - - private static final long serialVersionUID = 1L; - - /** - * ID - */ - @TableId(value = "id", type = IdType.AUTO) - private Integer id; - /** - * 品牌名称 - */ - private String name; - /** - * 添加时间 - */ - private Date addTime; - - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Date getAddTime() { - return addTime; - } - - public void setAddTime(Date addTime) { - this.addTime = addTime; - } - - @Override - protected Serializable pkVal() { - return this.id; - } - - @Override - public String toString() { - return "Brand{" + - "id=" + id + - ", name=" + name + - ", addTime=" + addTime + - "}"; - } -} diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/model/Param.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/model/Param.java deleted file mode 100644 index b2d2998..0000000 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/model/Param.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.stylefeng.guns.modular.shunfeng.model; - -import java.io.Serializable; - -import com.baomidou.mybatisplus.enums.IdType; -import com.baomidou.mybatisplus.annotations.TableId; -import com.baomidou.mybatisplus.activerecord.Model; -import com.baomidou.mybatisplus.annotations.TableName; -import java.io.Serializable; - -/** - * <p> - * 系统设置; InnoDB free: 6144 kB - * </p> - * - * @author wumeng123 - * @since 2019-06-11 - */ -@TableName("app_param") -public class Param extends Model<Param> { - - private static final long serialVersionUID = 1L; - - @TableId(value = "id", type = IdType.AUTO) - private Integer id; - /** - * 1=城乡票务支付倒计时设置(分钟) 2=实时班线支付倒计时设置(分钟) 3=全国客服电话 4=关于我们 5=常见问题 6=用户协议, 7=司机待接单自动取消时间(s) ,8=法律条款与平台规则, 9=出租车服务协议, 10=报警电话 , 11=监督电话 , 12=投诉电话,13=推单设置,14=出租车取消规则 ,15=司机改派费用 - */ - private Integer type; - /** - * 内容 - */ - private String context; - - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public Integer getType() { - return type; - } - - public void setType(Integer type) { - this.type = type; - } - - public String getContext() { - return context; - } - - public void setContext(String context) { - this.context = context; - } - - @Override - protected Serializable pkVal() { - return this.id; - } - - @Override - public String toString() { - return "Param{" + - "id=" + id + - ", type=" + type + - ", context=" + context + - "}"; - } -} diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/service/IBrandService.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/service/IBrandService.java deleted file mode 100644 index e130e3a..0000000 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/service/IBrandService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.stylefeng.guns.modular.shunfeng.service; - -import com.baomidou.mybatisplus.service.IService; -import com.stylefeng.guns.modular.shunfeng.model.Brand; - -/** - * <p> - * 顺风车品牌 服务类 - * </p> - * - * @author wumeng123 - * @since 2020-04-27 - */ -public interface IBrandService extends IService<Brand> { - -} diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/service/IParamService.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/service/IParamService.java deleted file mode 100644 index 30ef33b..0000000 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/service/IParamService.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.stylefeng.guns.modular.shunfeng.service; - -import com.baomidou.mybatisplus.service.IService; -import com.stylefeng.guns.modular.shunfeng.model.Param; - -/** - * <p> - * 系统设置; InnoDB free: 6144 kB 服务类 - * </p> - * - * @author wumeng123 - * @since 2019-06-11 - */ -public interface IParamService extends IService<Param> { - -} diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/service/impl/BrandServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/service/impl/BrandServiceImpl.java deleted file mode 100644 index c6db61b..0000000 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/service/impl/BrandServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.stylefeng.guns.modular.shunfeng.service.impl; - -import com.baomidou.mybatisplus.service.impl.ServiceImpl; -import com.stylefeng.guns.modular.shunfeng.dao.BrandMapper; -import com.stylefeng.guns.modular.shunfeng.model.Brand; -import com.stylefeng.guns.modular.shunfeng.service.IBrandService; -import org.springframework.stereotype.Service; - -/** - * <p> - * 顺风车品牌 服务实现类 - * </p> - * - * @author wumeng123 - * @since 2020-04-27 - */ -@Service -public class BrandServiceImpl extends ServiceImpl<BrandMapper, Brand> implements IBrandService { - -} diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/service/impl/ParamServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/service/impl/ParamServiceImpl.java deleted file mode 100644 index d1e7916..0000000 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/service/impl/ParamServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.stylefeng.guns.modular.shunfeng.service.impl; - -import com.baomidou.mybatisplus.service.impl.ServiceImpl; -import com.stylefeng.guns.modular.shunfeng.dao.ParamMapper; -import com.stylefeng.guns.modular.shunfeng.model.Param; -import com.stylefeng.guns.modular.shunfeng.service.IParamService; -import org.springframework.stereotype.Service; - -/** - * <p> - * 系统设置; InnoDB free: 6144 kB 服务实现类 - * </p> - * - * @author wumeng123 - * @since 2019-06-11 - */ -@Service -public class ParamServiceImpl extends ServiceImpl<ParamMapper, Param> implements IParamService { - -} diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/task/base/AbstractJob.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/task/base/AbstractJob.java index 4977ffa..2dac69a 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/task/base/AbstractJob.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/shunfeng/task/base/AbstractJob.java @@ -3,7 +3,6 @@ import com.stylefeng.guns.core.util.SpringContextHolder; import com.stylefeng.guns.modular.shunfeng.service.IOrderRideService; -import com.stylefeng.guns.modular.shunfeng.service.IParamService; import com.stylefeng.guns.modular.shunfeng.service.ITimeTaskService; import org.quartz.Job; import org.quartz.JobExecutionContext; @@ -22,14 +21,11 @@ protected ITimeTaskService timeTaskService; - protected IParamService paramService; - protected IOrderRideService orderRideService; public AbstractJob(){ this.timeTaskService = SpringContextHolder.getBean( ITimeTaskService.class); - this.paramService = SpringContextHolder.getBean( IParamService.class); this.orderRideService = SpringContextHolder.getBean( IOrderRideService.class); } diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java index c1209cb..2c34d14 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java @@ -2204,7 +2204,12 @@ //调用中台创建订单及拉起支付接口 TradeOrderCreateData tradeOrderCreateData = new TradeOrderCreateData(); tradeOrderCreateData.setTreatShopId(driver.getEmpId().toString()); - tradeOrderCreateData.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"" + (orderPrivateCar.getPromotion() == 2 ? 1 : 0) + "\"}"); + //追缴单不要分账 + if(0 == orderPrivateCar.getRecoveryOrder()){ + tradeOrderCreateData.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"" + (orderPrivateCar.getPromotion() == 2 ? 1 : 0) + "\"}"); + }else{ + tradeOrderCreateData.setField1("{\"profitSharing\":\"0\",\"isPromote\":\"0\"}"); + } tradeOrderCreateData.setCharge(new BigDecimal(orderMoney)); tradeOrderCreateData.setOrderId(orderPrivateCar.getTravelId()); tradeOrderCreateData.setOrderNo("PR" + orderPrivateCar.getId()); @@ -2218,6 +2223,11 @@ List<GoodsInfoRequest> goodsInfo = new ArrayList<>(); GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest(); goodsInfoRequest.setSubOpenId(userInfo.getAppletsOpenId()); + if(0 == orderPrivateCar.getRecoveryOrder()){ + goodsInfoRequest.setProfitSharing("1"); + }else{ + goodsInfoRequest.setProfitSharing("0"); + } goodsInfo.add(goodsInfoRequest); tradeOrderCreateData.setGoodsInfo(goodsInfo); TradeOrderCreate tradeOrderCreate = OrderUtil.tradeOrderCreate1(tradeOrderCreateData); @@ -2238,6 +2248,11 @@ List<GoodsInfoRequest> goodsInfo = new ArrayList<>(); GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest(); goodsInfoRequest.setSubOpenId(userInfo.getAppletsOpenId()); + if(0 == orderPrivateCar.getRecoveryOrder()){ + goodsInfoRequest.setProfitSharing("1"); + }else{ + goodsInfoRequest.setProfitSharing("0"); + } goodsInfo.add(goodsInfoRequest); tradePayOff1Data.setGoodsInfo(goodsInfo); PayInfo payInfo = OrderUtil.tradePayOff1(tradePayOff1Data); diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserInfoMapper.xml b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserInfoMapper.xml index da723c4..cb70a5a 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserInfoMapper.xml +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/UserInfoMapper.xml @@ -162,7 +162,9 @@ a.emergencyContactNumber as emergencyContactNumber, a.balance as balance, if((select count(1) from t_user_taxi_card where userId = #{uid}) = 0, 0, 1) as payTaxiCar, - if((select id from t_merchant where auditStatus = 2 and userType = 1 and userId = a.id and state = 1) is null, 0, 1) as merchant + if((select id from t_merchant where auditStatus = 2 and userType = 1 and userId = a.id and state = 1) is null, 0, 1) as merchant, + a.isDriverRide, + a.driverId from t_user a where 1 = 1 <if test="null != uid"> and a.id = #{uid} diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java index bdb40ce..dab81c8 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java @@ -1,6 +1,7 @@ package com.stylefeng.guns.modular.system.util; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.stylefeng.guns.modular.account.controller.AppOrderController; import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService; @@ -84,7 +85,7 @@ //修改过期的商家优惠券 userMerchantCouponService.updateExpired(); //处理超时未支付的订单 -// timoutNoPayment(); + timoutNoPayment(); } catch (Exception e) { e.printStackTrace(); } @@ -142,9 +143,26 @@ */ public void timoutNoPayment() { List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().eq("state", 7) - .eq("isDelete", 1).eq("recoveryOrder", 0).last(" and now() >= DATE_ADD(insertTime, INTERVAL 30 MINUTE)")); + .eq("isDelete", 1).eq("recoveryOrder", 0).last(" and now() >= DATE_ADD(insertTime, INTERVAL 72 HOUR)")); for (OrderPrivateCar orderPrivateCar : orderPrivateCars) { try { + Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); + Company company = companyService.selectById(driver.getCompanyId()); + UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId()); + if(null == orderPrivateCar.getIsCreated()){ + //先调中台创建订单 + CreateOrderRequest createOrderRequest = new CreateOrderRequest(); + createOrderRequest.setTreatShopId(driver.getEmpId().toString()); + createOrderRequest.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"" + (orderPrivateCar.getPromotion() == 2 ? 1 : 0) + "\"}"); + createOrderRequest.setCharge(new BigDecimal(orderPrivateCar.getOrderMoney())); + createOrderRequest.setOrderNo("PR" + orderPrivateCar.getId()); + createOrderRequest.setOrderId(orderPrivateCar.getTravelId()); + createOrderRequest.setCustomerId(userInfo.getOnconUUID()); + OrderInfo orderInfo = OrderUtil.tradeOrderCreate(createOrderRequest); + orderPrivateCar.setIsCreated(1); + orderPrivateCar.setTravelId(orderInfo.getOrderId()); + orderPrivateCarService.updateById(orderPrivateCar); + } //使用备付金进行支付订单 TradePayOffData tradePayOffData = new TradePayOffData(); tradePayOffData.setPartnerPayId(orderPrivateCar.getTravelId()); @@ -154,44 +172,40 @@ String retCode = payInfo.getRetCode(); if (!"000000".equals(retCode)) { log.error("备付金支付失败:{}", payInfo.getRetMsg()); - continue; + return; } PayInfoData data = payInfo.getData(); String status = data.getStatus(); if ("3".equals(status)) { log.error("备付金支付失败:{}", payInfo.getRetMsg()); - continue; + return; + } + if("0".equals(status)){ + //查询支付信息 + GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest(); + getPaymentInfoDataRequest.setPartnerPayId(orderPrivateCar.getTravelId()); + GetPaymentInfo getPaymentInfo = OrderUtil.paymentInfo(getPaymentInfoDataRequest); + status = getPaymentInfo.getStatus(); } PayInfoData payInfoData = payInfo.getData(); PaymentInfo paymentInfo = payInfoData.getPaymentInfos().get(0); - //支付成功,通知三方 - PaymentOrderRequest paymentOrderRequest = new PaymentOrderRequest(); - paymentOrderRequest.setPayItemId(paymentInfo.getPayItemId()); - paymentOrderRequest.setPaymentInfo(payInfoData.getPaymentInfos()); - paymentOrderRequest.setOrderId("PR" + orderPrivateCar.getId()); - paymentOrderRequest.setCharge(BigDecimal.valueOf(orderPrivateCar.getOrderMoney())); - paymentOrderRequest.setPayTime(data.getPayTime()); - paymentOrderRequest.setPaymentSerialNumber(payInfoData.getPayId()); - OrderInfo orderInfo1 = OrderUtil.paymentOrder(paymentOrderRequest); - - - //查询三方订单状态 - Driver driver1 = driverService.selectById(orderPrivateCar.getDriverId()); - Company company = companyService.selectById(driver1.getCompanyId()); - UserInfo userInfo1 = userInfoService.selectById(orderPrivateCar.getUserId()); - GetTravelItineraryListRequest request = new GetTravelItineraryListRequest(); - request.setCustomerId(userInfo1.getOnconUUID()); - request.setOrderNo("PR" + orderPrivateCar.getId()); - request.setDriverId(driver1.getEmpId().toString()); - ListPage<List<TravelItinerary>> travelItineraryList = OrderUtil.getTravelItineraryList(request); - Integer status1 = travelItineraryList.getList().get(0).getStatus(); - if(9 != status1){ + if(!"0".equals(status)){ + //支付成功,通知三方 + PaymentOrderRequest paymentOrderRequest = new PaymentOrderRequest(); + paymentOrderRequest.setPayItemId(paymentInfo.getPayItemId()); + paymentOrderRequest.setPaymentInfo(JSON.toJSONString(payInfoData.getPaymentInfos())); + paymentOrderRequest.setOrderId(orderPrivateCar.getTravelId()); + paymentOrderRequest.setCharge(BigDecimal.valueOf(orderPrivateCar.getOrderMoney())); + paymentOrderRequest.setPayTime(data.getPayTime()); + paymentOrderRequest.setPaymentSerialNumber(payInfoData.getPayId()); + OrderInfo orderInfo1 = OrderUtil.paymentOrder(paymentOrderRequest); + //中台修改订单状态 ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest(); request1.setOrderId(orderPrivateCar.getTravelId()); request1.setStatus(9); if (null != orderPrivateCar.getDriverId()) { - request1.setDriverId(driver1.getEmpId().toString()); + request1.setDriverId(driver.getEmpId().toString()); request1.setSupplierShopId(company.getEnterCode()); } if (2 == orderPrivateCar.getPromotion()) { @@ -199,38 +213,55 @@ request1.setPromoterId(driver2.getEmpId().toString()); } OrderUtil.modifyTravelItinerary(request1); + + String payId = payInfo.getData().getPayId(); + //copy原始订单后生成追缴单 + OrderPrivateCar orderPrivateCar1 = new OrderPrivateCar(); + BeanUtils.copyProperties(orderPrivateCar, orderPrivateCar1); + orderPrivateCar1.setId(null); + orderPrivateCar1.setRecoveryOrder(1); + + //修改原始订单为支付状态 + orderPrivateCar.setState(9); + orderPrivateCar.setPayType(5); + orderPrivateCar.setPayMoney(orderPrivateCar.getOrderMoney()); + orderPrivateCarService.updateById(orderPrivateCar); + //保存追缴单 + orderPrivateCarService.insert(orderPrivateCar1); + //添加三方支付记录 + try { + paymentRecordService.saveData(1, orderPrivateCar.getUserId(), 1, orderPrivateCar.getId(), 1, 3, orderPrivateCar.getOrderMoney(), payId, 2); + } catch (Exception e) { + throw new RuntimeException(e); + } + + + Driver driver1 = driverService.selectById(orderPrivateCar1.getDriverId()); + UserInfo userInfo1 = userInfoService.selectById(orderPrivateCar1.getUserId()); + Company company1 = companyService.selectById(driver1.getCompanyId()); + //调三方订单中心创建行程单 + CreateTravelItineraryRequest request = new CreateTravelItineraryRequest(); + request.setOrderNo("PR" + orderPrivateCar1.getId()); + request.setCustomerId(userInfo1.getOnconUUID()); + request.setDriverId(driver1.getEmpId().toString()); + request.setSupplierShopId(company1.getEnterCode()); + request.setServiceType(2); + String travelItinerary = OrderUtil.createTravelItinerary(request); + orderPrivateCar1.setTravelId(travelItinerary); + orderPrivateCar1.setIsCreated(0); + orderPrivateCarService.updateById(orderPrivateCar1); + //修改订单状态为待支付 + ModifyTravelItineraryRequest modifyTravelItineraryRequest = new ModifyTravelItineraryRequest(); + modifyTravelItineraryRequest.setOrderId(orderPrivateCar1.getTravelId()); + modifyTravelItineraryRequest.setStatus(orderPrivateCar1.getState()); + modifyTravelItineraryRequest.setDriverId(driver1.getEmpId().toString()); + modifyTravelItineraryRequest.setSupplierShopId(company1.getEnterCode()); + if (2 == orderPrivateCar1.getPromotion()) { + Driver driver2 = driverService.selectById(orderPrivateCar1.getPromotionDriverId()); + modifyTravelItineraryRequest.setPromoterId(driver2.getEmpId().toString()); + } + OrderUtil.modifyTravelItinerary(modifyTravelItineraryRequest); } - - String payId = payInfo.getData().getPayId(); - //copy原始订单后生成追缴单 - OrderPrivateCar orderPrivateCar1 = new OrderPrivateCar(); - BeanUtils.copyProperties(orderPrivateCar, orderPrivateCar1); - orderPrivateCar1.setId(null); - orderPrivateCar1.setRecoveryOrder(1); - - //修改原始订单为支付状态 - orderPrivateCar.setState(8); - orderPrivateCar.setPayType(5); - orderPrivateCar.setPayMoney(orderPrivateCar.getOrderMoney()); - orderPrivateCarService.updateById(orderPrivateCar); - //添加三方支付记录 - paymentRecordService.saveData(1, orderPrivateCar.getUserId(), 1, orderPrivateCar.getId(), 1, 3, orderPrivateCar.getOrderMoney(), payId, 2); - - - Driver driver = driverService.selectById(orderPrivateCar1.getDriverId()); - UserInfo userInfo = userInfoService.selectById(orderPrivateCar1.getUserId()); - //调用三方创建订单 - CreateOrderRequest createOrderRequest = new CreateOrderRequest(); - createOrderRequest.setTreatShopId(driver.getEmpId().toString()); - createOrderRequest.setField1("{\"profitSharing\":\"0\",\"isPromote\":\"0\"}"); - createOrderRequest.setCharge(new BigDecimal(orderPrivateCar1.getOrderMoney())); - createOrderRequest.setOrderNo("PR" + orderPrivateCar1.getId()); - createOrderRequest.setCustomerId(userInfo.getOnconUUID()); - OrderInfo orderInfo = OrderUtil.tradeOrderCreate(createOrderRequest); - orderPrivateCar1.setTravelId(orderInfo.getOrderId()); - orderPrivateCar1.setIsCreated(1); - //保存追缴单 - orderPrivateCarService.insert(orderPrivateCar1); } catch (Exception e) { e.printStackTrace(); } @@ -241,6 +272,23 @@ .eq("isDelete", 1).eq("recoveryOrder", 0).last(" and now() >= DATE_ADD(insertTime, INTERVAL 24 HOUR)")); for (OrderTaxi orderTaxi : orderTaxis) { try { + Driver driver = driverService.selectById(orderTaxi.getDriverId()); + Company company = companyService.selectById(driver.getCompanyId()); + UserInfo userInfo = userInfoService.selectById(orderTaxi.getUserId()); + if(null == orderTaxi.getIsCreated()){ + //先调中台创建订单 + CreateOrderRequest createOrderRequest = new CreateOrderRequest(); + createOrderRequest.setTreatShopId(driver.getEmpId().toString()); + createOrderRequest.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"" + (orderTaxi.getPromotion() == 2 ? 1 : 0) + "\"}"); + createOrderRequest.setCharge(new BigDecimal(orderTaxi.getOrderMoney())); + createOrderRequest.setOrderNo("TA" + orderTaxi.getId()); + createOrderRequest.setOrderId(orderTaxi.getTravelId()); + createOrderRequest.setCustomerId(userInfo.getOnconUUID()); + OrderInfo orderInfo = OrderUtil.tradeOrderCreate(createOrderRequest); + orderTaxi.setIsCreated(1); + orderTaxi.setTravelId(orderInfo.getOrderId()); + orderTaxiService.updateById(orderTaxi); + } //使用备付金进行支付订单 TradePayOffData tradePayOffData = new TradePayOffData(); tradePayOffData.setPartnerPayId(orderTaxi.getTravelId()); @@ -250,31 +298,40 @@ String retCode = payInfo.getRetCode(); if (!"000000".equals(retCode)) { log.error("备付金支付失败:{}", payInfo.getRetMsg()); - continue; + return; } PayInfoData data = payInfo.getData(); String status = data.getStatus(); if ("3".equals(status)) { log.error("备付金支付失败:{}", payInfo.getRetMsg()); - continue; + return; } - //查询三方订单状态 - Driver driver1 = driverService.selectById(orderTaxi.getDriverId()); - Company company = companyService.selectById(driver1.getCompanyId()); - UserInfo userInfo1 = userInfoService.selectById(orderTaxi.getUserId()); - GetTravelItineraryListRequest request = new GetTravelItineraryListRequest(); - request.setCustomerId(userInfo1.getOnconUUID()); - request.setOrderNo("TA" + orderTaxi.getId()); - request.setDriverId(driver1.getEmpId().toString()); - ListPage<List<TravelItinerary>> travelItineraryList = OrderUtil.getTravelItineraryList(request); - Integer status1 = travelItineraryList.getList().get(0).getStatus(); - if(8 != status1){ + if("0".equals(status)){ + //查询支付信息 + GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest(); + getPaymentInfoDataRequest.setPartnerPayId(orderTaxi.getTravelId()); + GetPaymentInfo getPaymentInfo = OrderUtil.paymentInfo(getPaymentInfoDataRequest); + status = getPaymentInfo.getStatus(); + } + PayInfoData payInfoData = payInfo.getData(); + PaymentInfo paymentInfo = payInfoData.getPaymentInfos().get(0); + if(!"0".equals(status)){ + //支付成功,通知三方 + PaymentOrderRequest paymentOrderRequest = new PaymentOrderRequest(); + paymentOrderRequest.setPayItemId(paymentInfo.getPayItemId()); + paymentOrderRequest.setPaymentInfo(JSON.toJSONString(payInfoData.getPaymentInfos())); + paymentOrderRequest.setOrderId(orderTaxi.getTravelId()); + paymentOrderRequest.setCharge(BigDecimal.valueOf(orderTaxi.getOrderMoney())); + paymentOrderRequest.setPayTime(data.getPayTime()); + paymentOrderRequest.setPaymentSerialNumber(payInfoData.getPayId()); + OrderInfo orderInfo1 = OrderUtil.paymentOrder(paymentOrderRequest); + //中台修改订单状态 ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest(); request1.setOrderId(orderTaxi.getTravelId()); - request1.setStatus(8); + request1.setStatus(9); if (null != orderTaxi.getDriverId()) { - request1.setDriverId(driver1.getEmpId().toString()); + request1.setDriverId(driver.getEmpId().toString()); request1.setSupplierShopId(company.getEnterCode()); } if (2 == orderTaxi.getPromotion()) { @@ -282,37 +339,55 @@ request1.setPromoterId(driver2.getEmpId().toString()); } OrderUtil.modifyTravelItinerary(request1); + + String payId = payInfo.getData().getPayId(); + //copy原始订单后生成追缴单 + OrderTaxi orderTaxi1 = new OrderTaxi(); + BeanUtils.copyProperties(orderTaxi, orderTaxi1); + orderTaxi1.setId(null); + orderTaxi1.setRecoveryOrder(1); + + //修改原始订单为支付状态 + orderTaxi.setState(9); + orderTaxi.setPayType(5); + orderTaxi.setPayMoney(orderTaxi.getOrderMoney()); + orderTaxiService.updateById(orderTaxi); + //保存追缴单 + orderTaxiService.insert(orderTaxi1); + //添加三方支付记录 + try { + paymentRecordService.saveData(1, orderTaxi.getUserId(), 1, orderTaxi.getId(), 2, 3, orderTaxi.getOrderMoney(), payId, 2); + } catch (Exception e) { + throw new RuntimeException(e); + } + + + Driver driver1 = driverService.selectById(orderTaxi1.getDriverId()); + UserInfo userInfo1 = userInfoService.selectById(orderTaxi1.getUserId()); + Company company1 = companyService.selectById(driver1.getCompanyId()); + //调三方订单中心创建行程单 + CreateTravelItineraryRequest request = new CreateTravelItineraryRequest(); + request.setOrderNo("TA" + orderTaxi1.getId()); + request.setCustomerId(userInfo1.getOnconUUID()); + request.setDriverId(driver1.getEmpId().toString()); + request.setSupplierShopId(company1.getEnterCode()); + request.setServiceType(1); + String travelItinerary = OrderUtil.createTravelItinerary(request); + orderTaxi1.setTravelId(travelItinerary); + orderTaxi1.setIsCreated(0); + orderTaxiService.updateById(orderTaxi1); + //修改订单状态为待支付 + ModifyTravelItineraryRequest modifyTravelItineraryRequest = new ModifyTravelItineraryRequest(); + modifyTravelItineraryRequest.setOrderId(orderTaxi1.getTravelId()); + modifyTravelItineraryRequest.setStatus(orderTaxi1.getState()); + modifyTravelItineraryRequest.setDriverId(driver1.getEmpId().toString()); + modifyTravelItineraryRequest.setSupplierShopId(company1.getEnterCode()); + if (2 == orderTaxi1.getPromotion()) { + Driver driver2 = driverService.selectById(orderTaxi1.getPromotionDriverId()); + modifyTravelItineraryRequest.setPromoterId(driver2.getEmpId().toString()); + } + OrderUtil.modifyTravelItinerary(modifyTravelItineraryRequest); } - - String payId = payInfo.getData().getPayId(); - //copy原始订单后生成追缴单 - OrderTaxi orderTaxi1 = new OrderTaxi(); - BeanUtils.copyProperties(orderTaxi, orderTaxi1); - orderTaxi1.setId(null); - orderTaxi1.setRecoveryOrder(1); - - //修改原始订单为支付状态 - orderTaxi.setState(8); - orderTaxi.setPayType(5); - orderTaxi.setPayMoney(orderTaxi.getOrderMoney()); - orderTaxiService.updateById(orderTaxi); - //添加三方支付记录 - paymentRecordService.saveData(1, orderTaxi.getUserId(), 1, orderTaxi.getId(), 2, 3, orderTaxi.getOrderMoney(), payId, 2); - - Driver driver = driverService.selectById(orderTaxi1.getDriverId()); - UserInfo userInfo = userInfoService.selectById(orderTaxi1.getUserId()); - //调用三方创建订单 - CreateOrderRequest createOrderRequest = new CreateOrderRequest(); - createOrderRequest.setTreatShopId(driver.getEmpId().toString()); - createOrderRequest.setField1("{\"profitSharing\":\"0\",\"isPromote\":\"0\"}"); - createOrderRequest.setCharge(new BigDecimal(orderTaxi1.getOrderMoney())); - createOrderRequest.setOrderNo("TA" + orderTaxi1.getId()); - createOrderRequest.setCustomerId(userInfo.getOnconUUID()); - OrderInfo orderInfo = OrderUtil.tradeOrderCreate(createOrderRequest); - orderTaxi1.setTravelId(orderInfo.getOrderId()); - orderTaxi1.setIsCreated(1); - //保存追缴单 - orderTaxiService.insert(orderTaxi1); } catch (Exception e) { e.printStackTrace(); } diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java index bab37c5..9ccb662 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java @@ -92,30 +92,30 @@ // System.err.println(getPaymentInfo); //拉起支付 - TradePayOff1Data tradePayOff1Data = new TradePayOff1Data(); - tradePayOff1Data.setPartnerId("5400004"); - tradePayOff1Data.setScene("TRAFFIC"); - tradePayOff1Data.setPartnerPayId("1951088602595872768"); - tradePayOff1Data.setCurrency("RMB"); - tradePayOff1Data.setTotalFee("1"); - tradePayOff1Data.setRetUrl("pages/advoad-city-search/advoad-message/electronic-wait-pay/electronic-wait-pay"); - tradePayOff1Data.setClientIp("127.0.0.1"); - tradePayOff1Data.setNeedLoginFlag("N"); - tradePayOff1Data.setOrderDesc("出行订单支付"); - tradePayOff1Data.setAccessMode("APP"); - List<GoodsInfoRequest> goodsInfo = new ArrayList<>(); - GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest(); - goodsInfoRequest.setId("981100006005901"); - goodsInfoRequest.setSubAppId("wxcc3c9058e2b294db"); - goodsInfoRequest.setSubOpenId("oVLur61wBKJEO7QPR1dsmzS5TSfs"); - goodsInfoRequest.setProfitSharing("1"); - goodsInfoRequest.setAreaInfo("520100"); - goodsInfoRequest.setPayType("0"); - goodsInfoRequest.setBusinessType("10408"); - goodsInfo.add(goodsInfoRequest); - tradePayOff1Data.setGoodsInfo(goodsInfo); - PayInfo payInfo = tradePayOff1(tradePayOff1Data); - System.err.println(payInfo); +// TradePayOff1Data tradePayOff1Data = new TradePayOff1Data(); +// tradePayOff1Data.setPartnerId("5400004"); +// tradePayOff1Data.setScene("TRAFFIC"); +// tradePayOff1Data.setPartnerPayId("1951088602595872768"); +// tradePayOff1Data.setCurrency("RMB"); +// tradePayOff1Data.setTotalFee("1"); +// tradePayOff1Data.setRetUrl("pages/advoad-city-search/advoad-message/electronic-wait-pay/electronic-wait-pay"); +// tradePayOff1Data.setClientIp("127.0.0.1"); +// tradePayOff1Data.setNeedLoginFlag("N"); +// tradePayOff1Data.setOrderDesc("出行订单支付"); +// tradePayOff1Data.setAccessMode("APP"); +// List<GoodsInfoRequest> goodsInfo = new ArrayList<>(); +// GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest(); +// goodsInfoRequest.setId("981100006005901"); +// goodsInfoRequest.setSubAppId("wxcc3c9058e2b294db"); +// goodsInfoRequest.setSubOpenId("oVLur61wBKJEO7QPR1dsmzS5TSfs"); +// goodsInfoRequest.setProfitSharing("1"); +// goodsInfoRequest.setAreaInfo("520100"); +// goodsInfoRequest.setPayType("0"); +// goodsInfoRequest.setBusinessType("10408"); +// goodsInfo.add(goodsInfoRequest); +// tradePayOff1Data.setGoodsInfo(goodsInfo); +// PayInfo payInfo = tradePayOff1(tradePayOff1Data); +// System.err.println(payInfo); //PayInfo(retCode=000000, retMsg=success, success=true, data=PayInfoData(redirectUrl=https://qhsctest.qytzt.cn/gray/mobile/index.html?f=allCashDesk&accessToken=5nUBXayFpfZz%2FXUZiMu9LzeRXmqmlqaCS%2BHfu5udIt4%3D, payId=540000420250725000135549, status=null, payTime=null, payFee=null, paymentInfos=null), sign=8154ba2728280900b122c56352c1c7fe) @@ -190,7 +190,7 @@ tradePayOff1Data.getGoodsInfo().forEach(goodsInfoRequest -> { goodsInfoRequest.setId("981100006005901"); goodsInfoRequest.setSubAppId("wxcc3c9058e2b294db"); - goodsInfoRequest.setProfitSharing("1"); + goodsInfoRequest.setAreaInfo("520100"); goodsInfoRequest.setPayType("0"); goodsInfoRequest.setBusinessType("10408"); @@ -396,7 +396,6 @@ tradeOrderCreateData.getGoodsInfo().forEach(goodsInfoRequest -> { goodsInfoRequest.setId("981100006005901"); goodsInfoRequest.setSubAppId("wxcc3c9058e2b294db"); - goodsInfoRequest.setProfitSharing("1"); goodsInfoRequest.setAreaInfo("520100"); goodsInfoRequest.setPayType("0"); goodsInfoRequest.setBusinessType("10408"); @@ -520,13 +519,18 @@ List<PaymentInfoRequest> paymentInfoRequests = new ArrayList<>(); PaymentInfoRequest paymentInfoRequest = new PaymentInfoRequest(); paymentInfoRequest.setPayModeId("501212"); + paymentInfoRequest.setRealFee(tradePayOffData.getTotalFee().toString()); + paymentInfoRequest.setTradeFee(tradePayOffData.getTotalFee().toString()); + paymentInfoRequest.setAccountTyp("501"); paymentInfoRequests.add(paymentInfoRequest); tradePayOffData.setPaymentInfos(paymentInfoRequests); List<GoodsInfo> goodsInfo = new ArrayList<>(); GoodsInfo goodsInfo1 = new GoodsInfo(); - goodsInfo1.setMerchantCode("B00000872"); + goodsInfo1.setMerchantCode("B00000905"); goodsInfo1.setCustId("CB0000004686"); goodsInfo1.setCustName("证联消费平台交易客户"); + goodsInfo1.setBusinessType("10408"); + goodsInfo1.setAgreementNo("00000000468618354161754464398681"); goodsInfo1.setProfitSharing("1"); goodsInfo.add(goodsInfo1); tradePayOffData.setGoodsInfo(goodsInfo); @@ -664,7 +668,7 @@ log.info("【(补偿单)支付成功通知】请求结果:" + result); JSONObject jsonObject = JSON.parseObject(result); String resCode = jsonObject.getString("resCode"); - if (!"0".equals(resCode)) { + if (!"000000".equals(resCode)) { log.error("【(补偿单)支付成功通知】失败:" + jsonObject.getString("resMsg")); throw new RuntimeException("【(补偿单)支付成功通知】失败:" + jsonObject.getString("resMsg")); } diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/CreateOrderRequest.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/CreateOrderRequest.java index bb03e00..2201301 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/CreateOrderRequest.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/CreateOrderRequest.java @@ -39,6 +39,10 @@ */ private String channelSource; /** + * 行程单ID + */ + private String orderId; + /** * 业务侧订单号 */ private String orderNo; diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/GetPaymentInfo.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/GetPaymentInfo.java index 4718623..7ce17dc 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/GetPaymentInfo.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/GetPaymentInfo.java @@ -39,6 +39,14 @@ */ private String totalFee; /** + * 支付工单状态 + * 0 待支付 + * 1 部分支付成功 + * 2 支付成功 + * 3 支付失败 + */ + private String status; + /** * 商品信息 */ private List<GoodsInfoRequest> goodsInfo; diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/GoodsInfo.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/GoodsInfo.java index ab3509f..8776fcc 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/GoodsInfo.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/GoodsInfo.java @@ -21,6 +21,14 @@ */ private String custName; /** + *交通场景固定值 + */ + private String businessType; + /** + * 免密支付协议号 + */ + private String agreementNo; + /** * 分账标识。0:不分账,1:分账 */ private String profitSharing; diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/PaymentInfoRequest.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/PaymentInfoRequest.java index dbd52bc..5747bf2 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/PaymentInfoRequest.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/PaymentInfoRequest.java @@ -12,4 +12,16 @@ * 支付模式。此场景下默认传501212(测试和生产一致) */ private String payModeId; + /** + * 支付金额 + */ + private String realFee; + /** + * + */ + private String tradeFee; + /** + * 账户类型 501 + */ + private String accountTyp; } diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/PaymentOrderRequest.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/PaymentOrderRequest.java index 3e893d1..4d2151c 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/PaymentOrderRequest.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/PaymentOrderRequest.java @@ -26,7 +26,7 @@ /** * 支付明细json串 */ - private List<PaymentInfo> paymentInfo; + private String paymentInfo; /** * 订单ID */ diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/UserInfoWarpper.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/UserInfoWarpper.java index 877a8c1..28e6a48 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/UserInfoWarpper.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/UserInfoWarpper.java @@ -49,6 +49,10 @@ private Integer merchant; @ApiModelProperty("是否进件(0=否,1=是)") private Integer isCould; + @ApiModelProperty("是否为顺风车司机(0否,1是)") + private Integer isDriverRide; + @ApiModelProperty("顺风车司机id") + private Integer driverId; public Integer getIsCould() { return isCould; @@ -177,7 +181,23 @@ public void setMerchant(Integer merchant) { this.merchant = merchant; } - + + public Integer getIsDriverRide() { + return isDriverRide; + } + + public void setIsDriverRide(Integer isDriverRide) { + this.isDriverRide = isDriverRide; + } + + public Integer getDriverId() { + return driverId; + } + + public void setDriverId(Integer driverId) { + this.driverId = driverId; + } + @Override public String toString() { return "UserInfoWarpper{" + @@ -218,6 +238,8 @@ userInfoWarpper.setPayTaxiCar(null != map.get("payTaxiCar") ? Integer.valueOf(String.valueOf(map.get("payTaxiCar"))) : 0); userInfoWarpper.setMerchant(null != map.get("merchant") ? Integer.valueOf(String.valueOf(map.get("merchant"))) : 0); userInfoWarpper.setIsCould(Integer.valueOf(String.valueOf(map.get("isCloud")))); + userInfoWarpper.setIsDriverRide(null != map.get("isDriverRide") ? Integer.valueOf(String.valueOf(map.get("isDriverRide"))) : 0); + userInfoWarpper.setDriverId(null != map.get("driverId") ? Integer.valueOf(String.valueOf(map.get("driverId"))) : 0); } return userInfoWarpper; diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java index 7605286..e586502 100644 --- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java +++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java @@ -1615,7 +1615,12 @@ //调用中台创建订单及拉起支付接口 TradeOrderCreateData tradeOrderCreateData = new TradeOrderCreateData(); tradeOrderCreateData.setTreatShopId(driver.getEmpId().toString()); - tradeOrderCreateData.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"" + (orderTaxi.getPromotion() == 2 ? 1 : 0) + "\"}"); + //追缴单不要分账 + if(0 == orderTaxi.getRecoveryOrder()){ + tradeOrderCreateData.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"" + (orderTaxi.getPromotion() == 2 ? 1 : 0) + "\"}"); + }else{ + tradeOrderCreateData.setField1("{\"profitSharing\":\"0\",\"isPromote\":\"0\"}"); + } tradeOrderCreateData.setCharge(new BigDecimal(orderMoney)); tradeOrderCreateData.setOrderId(orderTaxi.getTravelId()); tradeOrderCreateData.setOrderNo("TA" + orderTaxi.getId()); @@ -1629,6 +1634,11 @@ List<GoodsInfoRequest> goodsInfo = new ArrayList<>(); GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest(); goodsInfoRequest.setSubOpenId(userInfo.getAppletsOpenId()); + if(0 == orderTaxi.getRecoveryOrder()){ + goodsInfoRequest.setProfitSharing("1"); + }else{ + goodsInfoRequest.setProfitSharing("0"); + } goodsInfo.add(goodsInfoRequest); tradeOrderCreateData.setGoodsInfo(goodsInfo); TradeOrderCreate tradeOrderCreate = OrderUtil.tradeOrderCreate1(tradeOrderCreateData); @@ -1649,6 +1659,11 @@ List<GoodsInfoRequest> goodsInfo = new ArrayList<>(); GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest(); goodsInfoRequest.setSubOpenId(userInfo.getAppletsOpenId()); + if(0 == orderTaxi.getRecoveryOrder()){ + goodsInfoRequest.setProfitSharing("1"); + }else{ + goodsInfoRequest.setProfitSharing("0"); + } goodsInfo.add(goodsInfoRequest); tradePayOff1Data.setGoodsInfo(goodsInfo); PayInfo payInfo = OrderUtil.tradePayOff1(tradePayOff1Data); diff --git a/UserQYTTravel/guns-admin/src/main/resources/application.yml b/UserQYTTravel/guns-admin/src/main/resources/application.yml index 326b544..d16acea 100644 --- a/UserQYTTravel/guns-admin/src/main/resources/application.yml +++ b/UserQYTTravel/guns-admin/src/main/resources/application.yml @@ -53,7 +53,7 @@ eureka: client: service-url: #注册中心地址 - defaultZone: http://sinata:sinata@192.168.110.111:8000/eureka #启用身份验证的方式连接 + defaultZone: http://sinata:sinata@192.168.110.85:8000/eureka #启用身份验证的方式连接 register-with-eureka: true #在注册中心进行注册 fetch-registry: true #从Eureka中获取注册信息。 diff --git a/UserQYTTravel/guns-admin/src/test/java/com/stylefeng/guns/GunsApplicationTest.java b/UserQYTTravel/guns-admin/src/test/java/com/stylefeng/guns/GunsApplicationTest.java index a48da21..8fdc73c 100644 --- a/UserQYTTravel/guns-admin/src/test/java/com/stylefeng/guns/GunsApplicationTest.java +++ b/UserQYTTravel/guns-admin/src/test/java/com/stylefeng/guns/GunsApplicationTest.java @@ -1,146 +1,173 @@ -package com.stylefeng.guns; - -import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar; -import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService; -import com.stylefeng.guns.modular.system.model.Company; -import com.stylefeng.guns.modular.system.model.Driver; -import com.stylefeng.guns.modular.system.model.UserInfo; -import com.stylefeng.guns.modular.system.service.ICompanyService; -import com.stylefeng.guns.modular.system.service.IDriverService; -import com.stylefeng.guns.modular.system.service.IUserInfoService; -import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil; -import com.stylefeng.guns.modular.system.util.qianyuntong.model.*; -import com.stylefeng.guns.modular.taxi.service.IPaymentRecordService; -import lombok.extern.slf4j.Slf4j; -import org.junit.Test; -import org.junit.runner.RunWith; -import org.springframework.beans.BeanUtils; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.test.context.SpringBootTest; -import org.springframework.test.context.junit4.SpringRunner; - -import java.math.BigDecimal; -import java.util.List; - -/** - * SpringBoot方式启动类 - * - * @author stylefeng - * @Date 2017/5/21 12:06 - */ -@Slf4j -@RunWith(SpringRunner.class) -@SpringBootTest -public class GunsApplicationTest { - - @Autowired - private IOrderPrivateCarService orderPrivateCarService; - - @Autowired - private IUserInfoService userInfoService; - - @Autowired - private IDriverService driverService; - @Autowired - private ICompanyService companyService; - @Autowired - private IPaymentRecordService paymentRecordService; - - - - - @Test - public void test(){ - OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(211); - //使用备付金进行支付订单 - TradePayOffData tradePayOffData = new TradePayOffData(); - tradePayOffData.setPartnerPayId(orderPrivateCar.getTravelId()); - tradePayOffData.setTotalFee(Double.valueOf(orderPrivateCar.getOrderMoney() * 100).intValue() + ""); - tradePayOffData.setOrderDesc("完成订单"); - PayInfo payInfo = OrderUtil.tradePayOff(tradePayOffData); - String retCode = payInfo.getRetCode(); - if (!"000000".equals(retCode)) { - log.error("备付金支付失败:{}", payInfo.getRetMsg()); - return; - } - PayInfoData data = payInfo.getData(); - String status = data.getStatus(); - if ("3".equals(status)) { - log.error("备付金支付失败:{}", payInfo.getRetMsg()); - return; - } - PayInfoData payInfoData = payInfo.getData(); - PaymentInfo paymentInfo = payInfoData.getPaymentInfos().get(0); - //支付成功,通知三方 - PaymentOrderRequest paymentOrderRequest = new PaymentOrderRequest(); - paymentOrderRequest.setPayItemId(paymentInfo.getPayItemId()); - paymentOrderRequest.setPaymentInfo(payInfoData.getPaymentInfos()); - paymentOrderRequest.setOrderId("PR" + orderPrivateCar.getId()); - paymentOrderRequest.setCharge(BigDecimal.valueOf(orderPrivateCar.getOrderMoney())); - paymentOrderRequest.setPayTime(data.getPayTime()); - paymentOrderRequest.setPaymentSerialNumber(payInfoData.getPayId()); - OrderInfo orderInfo1 = OrderUtil.paymentOrder(paymentOrderRequest); - - - //查询三方订单状态 - Driver driver1 = driverService.selectById(orderPrivateCar.getDriverId()); - Company company = companyService.selectById(driver1.getCompanyId()); - UserInfo userInfo1 = userInfoService.selectById(orderPrivateCar.getUserId()); - GetTravelItineraryListRequest request = new GetTravelItineraryListRequest(); - request.setCustomerId(userInfo1.getOnconUUID()); - request.setOrderNo("PR" + orderPrivateCar.getId()); - request.setDriverId(driver1.getEmpId().toString()); - ListPage<List<TravelItinerary>> travelItineraryList = OrderUtil.getTravelItineraryList(request); - Integer status1 = travelItineraryList.getList().get(0).getStatus(); - if(9 != status1){ - //中台修改订单状态 - ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest(); - request1.setOrderId(orderPrivateCar.getTravelId()); - request1.setStatus(9); - if (null != orderPrivateCar.getDriverId()) { - request1.setDriverId(driver1.getEmpId().toString()); - request1.setSupplierShopId(company.getEnterCode()); - } - if (2 == orderPrivateCar.getPromotion()) { - Driver driver2 = driverService.selectById(orderPrivateCar.getPromotionDriverId()); - request1.setPromoterId(driver2.getEmpId().toString()); - } - OrderUtil.modifyTravelItinerary(request1); - } - - String payId = payInfo.getData().getPayId(); - //copy原始订单后生成追缴单 - OrderPrivateCar orderPrivateCar1 = new OrderPrivateCar(); - BeanUtils.copyProperties(orderPrivateCar, orderPrivateCar1); - orderPrivateCar1.setId(null); - orderPrivateCar1.setRecoveryOrder(1); - - //修改原始订单为支付状态 - orderPrivateCar.setState(8); - orderPrivateCar.setPayType(5); - orderPrivateCar.setPayMoney(orderPrivateCar.getOrderMoney()); - orderPrivateCarService.updateById(orderPrivateCar); - //添加三方支付记录 - try { - paymentRecordService.saveData(1, orderPrivateCar.getUserId(), 1, orderPrivateCar.getId(), 1, 3, orderPrivateCar.getOrderMoney(), payId, 2); - } catch (Exception e) { - throw new RuntimeException(e); - } - - - Driver driver = driverService.selectById(orderPrivateCar1.getDriverId()); - UserInfo userInfo = userInfoService.selectById(orderPrivateCar1.getUserId()); - //调用三方创建订单 - CreateOrderRequest createOrderRequest = new CreateOrderRequest(); - createOrderRequest.setTreatShopId(driver.getEmpId().toString()); - createOrderRequest.setField1("{\"profitSharing\":\"0\",\"isPromote\":\"0\"}"); - createOrderRequest.setCharge(new BigDecimal(orderPrivateCar1.getOrderMoney())); - createOrderRequest.setOrderNo("PR" + orderPrivateCar1.getId()); - createOrderRequest.setCustomerId(userInfo.getOnconUUID()); - OrderInfo orderInfo = OrderUtil.tradeOrderCreate(createOrderRequest); - orderPrivateCar1.setTravelId(orderInfo.getOrderId()); - orderPrivateCar1.setIsCreated(1); - //保存追缴单 - orderPrivateCarService.insert(orderPrivateCar1); - } -} +//package com.stylefeng.guns; +// +//import com.alibaba.fastjson.JSON; +//import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar; +//import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService; +//import com.stylefeng.guns.modular.system.model.Company; +//import com.stylefeng.guns.modular.system.model.Driver; +//import com.stylefeng.guns.modular.system.model.UserInfo; +//import com.stylefeng.guns.modular.system.service.ICompanyService; +//import com.stylefeng.guns.modular.system.service.IDriverService; +//import com.stylefeng.guns.modular.system.service.IUserInfoService; +//import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil; +//import com.stylefeng.guns.modular.system.util.qianyuntong.model.*; +//import com.stylefeng.guns.modular.taxi.service.IPaymentRecordService; +//import lombok.extern.slf4j.Slf4j; +//import org.junit.Test; +//import org.junit.runner.RunWith; +//import org.springframework.beans.BeanUtils; +//import org.springframework.beans.factory.annotation.Autowired; +//import org.springframework.boot.test.context.SpringBootTest; +//import org.springframework.test.context.junit4.SpringRunner; +// +//import java.math.BigDecimal; +//import java.util.List; +// +///** +// * SpringBoot方式启动类 +// * +// * @author stylefeng +// * @Date 2017/5/21 12:06 +// */ +//@Slf4j +//@RunWith(SpringRunner.class) +//@SpringBootTest +//public class GunsApplicationTest { +// +// @Autowired +// private IOrderPrivateCarService orderPrivateCarService; +// +// @Autowired +// private IUserInfoService userInfoService; +// +// @Autowired +// private IDriverService driverService; +// @Autowired +// private ICompanyService companyService; +// @Autowired +// private IPaymentRecordService paymentRecordService; +// +// +// +// +// @Test +// public void test(){ +// OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(228); +// Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); +// Company company = companyService.selectById(driver.getCompanyId()); +// UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId()); +// if(null == orderPrivateCar.getIsCreated()){ +// //先调中台创建订单 +// CreateOrderRequest createOrderRequest = new CreateOrderRequest(); +// createOrderRequest.setTreatShopId(driver.getEmpId().toString()); +// createOrderRequest.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"" + (orderPrivateCar.getPromotion() == 2 ? 1 : 0) + "\"}"); +// createOrderRequest.setCharge(new BigDecimal(orderPrivateCar.getOrderMoney())); +// createOrderRequest.setOrderNo("PR" + orderPrivateCar.getId()); +// createOrderRequest.setOrderId(orderPrivateCar.getTravelId()); +// createOrderRequest.setCustomerId(userInfo.getOnconUUID()); +// OrderInfo orderInfo = OrderUtil.tradeOrderCreate(createOrderRequest); +// orderPrivateCar.setIsCreated(1); +// orderPrivateCar.setTravelId(orderInfo.getOrderId()); +// orderPrivateCarService.updateById(orderPrivateCar); +// } +// //使用备付金进行支付订单 +// TradePayOffData tradePayOffData = new TradePayOffData(); +// tradePayOffData.setPartnerPayId(orderPrivateCar.getTravelId()); +// tradePayOffData.setTotalFee(Double.valueOf(orderPrivateCar.getOrderMoney() * 100).intValue() + ""); +// tradePayOffData.setOrderDesc("完成订单"); +// PayInfo payInfo = OrderUtil.tradePayOff(tradePayOffData); +// String retCode = payInfo.getRetCode(); +// if (!"000000".equals(retCode)) { +// log.error("备付金支付失败:{}", payInfo.getRetMsg()); +// return; +// } +// PayInfoData data = payInfo.getData(); +// String status = data.getStatus(); +// if ("3".equals(status)) { +// log.error("备付金支付失败:{}", payInfo.getRetMsg()); +// return; +// } +// if("0".equals(status)){ +// //查询支付信息 +// GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest(); +// getPaymentInfoDataRequest.setPartnerPayId(orderPrivateCar.getTravelId()); +// GetPaymentInfo getPaymentInfo = OrderUtil.paymentInfo(getPaymentInfoDataRequest); +// status = getPaymentInfo.getStatus(); +// } +// PayInfoData payInfoData = payInfo.getData(); +// PaymentInfo paymentInfo = payInfoData.getPaymentInfos().get(0); +// if(!"0".equals(status)){ +// //支付成功,通知三方 +// PaymentOrderRequest paymentOrderRequest = new PaymentOrderRequest(); +// paymentOrderRequest.setPayItemId(paymentInfo.getPayItemId()); +// paymentOrderRequest.setPaymentInfo(JSON.toJSONString(payInfoData.getPaymentInfos())); +// paymentOrderRequest.setOrderId(orderPrivateCar.getTravelId()); +// paymentOrderRequest.setCharge(BigDecimal.valueOf(orderPrivateCar.getOrderMoney())); +// paymentOrderRequest.setPayTime(data.getPayTime()); +// paymentOrderRequest.setPaymentSerialNumber(payInfoData.getPayId()); +// OrderInfo orderInfo1 = OrderUtil.paymentOrder(paymentOrderRequest); +// +// //中台修改订单状态 +// ModifyTravelItineraryRequest request1 = new ModifyTravelItineraryRequest(); +// request1.setOrderId(orderPrivateCar.getTravelId()); +// request1.setStatus(9); +// if (null != orderPrivateCar.getDriverId()) { +// request1.setDriverId(driver.getEmpId().toString()); +// request1.setSupplierShopId(company.getEnterCode()); +// } +// if (2 == orderPrivateCar.getPromotion()) { +// Driver driver2 = driverService.selectById(orderPrivateCar.getPromotionDriverId()); +// request1.setPromoterId(driver2.getEmpId().toString()); +// } +// OrderUtil.modifyTravelItinerary(request1); +// +// String payId = payInfo.getData().getPayId(); +// //copy原始订单后生成追缴单 +// OrderPrivateCar orderPrivateCar1 = new OrderPrivateCar(); +// BeanUtils.copyProperties(orderPrivateCar, orderPrivateCar1); +// orderPrivateCar1.setId(null); +// orderPrivateCar1.setRecoveryOrder(1); +// +// //修改原始订单为支付状态 +// orderPrivateCar.setState(8); +// orderPrivateCar.setPayType(5); +// orderPrivateCar.setPayMoney(orderPrivateCar.getOrderMoney()); +// orderPrivateCarService.updateById(orderPrivateCar); +// //保存追缴单 +// orderPrivateCarService.insert(orderPrivateCar1); +// //添加三方支付记录 +// try { +// paymentRecordService.saveData(1, orderPrivateCar.getUserId(), 1, orderPrivateCar.getId(), 1, 3, orderPrivateCar.getOrderMoney(), payId, 2); +// } catch (Exception e) { +// throw new RuntimeException(e); +// } +// +// +// Driver driver1 = driverService.selectById(orderPrivateCar1.getDriverId()); +// UserInfo userInfo1 = userInfoService.selectById(orderPrivateCar1.getUserId()); +// Company company1 = companyService.selectById(driver1.getCompanyId()); +// //调三方订单中心创建行程单 +// CreateTravelItineraryRequest request = new CreateTravelItineraryRequest(); +// request.setOrderNo("PR" + orderPrivateCar1.getId()); +// request.setCustomerId(userInfo1.getOnconUUID()); +// request.setDriverId(driver1.getEmpId().toString()); +// request.setSupplierShopId(company1.getEnterCode()); +// request.setServiceType(2); +// String travelItinerary = OrderUtil.createTravelItinerary(request); +// orderPrivateCar1.setTravelId(travelItinerary); +// orderPrivateCar1.setIsCreated(0); +// orderPrivateCarService.updateById(orderPrivateCar1); +// //修改订单状态为待支付 +// ModifyTravelItineraryRequest modifyTravelItineraryRequest = new ModifyTravelItineraryRequest(); +// modifyTravelItineraryRequest.setOrderId(orderPrivateCar1.getTravelId()); +// modifyTravelItineraryRequest.setStatus(orderPrivateCar1.getState()); +// modifyTravelItineraryRequest.setDriverId(driver1.getEmpId().toString()); +// modifyTravelItineraryRequest.setSupplierShopId(company1.getEnterCode()); +// if (2 == orderPrivateCar1.getPromotion()) { +// Driver driver2 = driverService.selectById(orderPrivateCar1.getPromotionDriverId()); +// modifyTravelItineraryRequest.setPromoterId(driver2.getEmpId().toString()); +// } +// OrderUtil.modifyTravelItinerary(modifyTravelItineraryRequest); +// } +// } +//} -- Gitblit v1.7.1