UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/AgreementController.java
@@ -32,7 +32,7 @@ @PostMapping("/queryByType") @ApiOperation(value = "获取各种协议及H5页面", tags = {"用户端-协议"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "数据类型(1:隐私协议,2:用户协议,3:用户指南,4:法律条款,5:关于我们,6=注册协议,7=取消订单说明,8=充值领券规则设置,9=司机注册协议,10=改派说明,11=跨城出行乘车须知,12:常见问题,13:计价规则,14:包车协议)", name = "type", required = true, dataType = "int") @ApiImplicitParam(value = "数据类型(1:隐私协议,2:用户协议,3:用户指南,4:法律条款,5:关于我们,6=注册协议,7=取消订单说明,8=充值领券规则设置,9=司机注册协议,10=改派说明,11=跨城出行乘车须知,12:常见问题,13:计价规则,14:包车协议 15同城小件物流协议)", name = "type", required = true, dataType = "int") }) public ResultUtil<BaseWarpper> queryByType(Integer type){ try { UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -1291,6 +1291,7 @@ orderCrossCityService.payOrderCrossCityCallback(id, order_id, 1); break; case 4: orderLogisticsService.payOrderLogisticsCallback(id, order_id, 1); break; case 5: break; @@ -1359,16 +1360,14 @@ @PostMapping("/base/wxPayOrderLogisticsSpread") public void wxPayOrderLogisticsSpread(HttpServletRequest request, HttpServletResponse response){ try { Map<String, String> map = icbcPayUtil.payCallback(request); System.err.println("完成订单微信支付回调"); Map<String, String> map = payMoneyUtil.weixinpayCallback(request); System.out.println("wx支付信息:"+map); if(null != map){ String out_trade_no = map.get("out_trade_no"); String order_id = map.get("order_id"); String s = icbcPayUtil.queryTransaction("", order_id); if(s.equals("0")){ icbcPayUtil.answer(response);//回调应答 } if(ToolUtil.isNotEmpty(out_trade_no) && ToolUtil.isNotEmpty(order_id) && s.equals("0")){ String[] split = out_trade_no.split(","); if(ToolUtil.isNotEmpty(out_trade_no) ){ String[] split = out_trade_no.split("_"); Integer id = Integer.valueOf(split[0]); Integer type = Integer.valueOf(split[1]); orderLogisticsService.payOrderLogisticsSpreadCallback(id, order_id, 1); UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/controller/SiteController.java
@@ -91,6 +91,23 @@ return ResultUtil.runErr(); } } @ResponseBody @RequestMapping(value = "/base/site/areaMonitoring1", method = RequestMethod.POST) @ApiOperation(value = "判断一个点是是否在区域范围内", tags = {"用户端-跨城"}, notes = "") @ApiImplicitParams({ @ApiImplicitParam(value = "线路id", name = "lineId", required = true, dataType = "int"), @ApiImplicitParam(value = "行政区域编号(510100)", name = "code", required = true, dataType = "int"), @ApiImplicitParam(value = "经纬度", name = "lonLat", required = true, dataType = "string") }) public ResultUtil areaMonitoring1(Integer lineId, Integer code, String lonLat){ try { boolean b = siteService.areaMonitoring1(lineId, code, lonLat); return ResultUtil.success(b ? 1 : -1); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/LineSiteMapper.java
@@ -19,4 +19,8 @@ */ List<Map<String, Object>> queryDriver(@Param("lineId") Integer lineId, @Param("day") Date day, @Param("driverId") Integer driverId); List<Integer> areaMonitoring1(@Param("lineId") Integer lineId); } UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/LineSiteMapper.xml
@@ -55,4 +55,7 @@ </if> order by a.startTime </select> <select id="areaMonitoring1" resultType="java.lang.Integer"> select siteId from t_line_site where lineId =#{lineId} and type !=1 </select> </mapper> UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/ISiteService.java
@@ -36,4 +36,8 @@ * @throws Exception */ boolean areaMonitoring(Integer siteId, Integer code, String lonLat) throws Exception; boolean areaMonitoring1(Integer lineId, Integer code, String lonLat)throws Exception; } UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -186,10 +186,8 @@ //存储摆渡车无接单后推送标识,实现多个类型的摆渡车订单无人接单后只给前端推送一次 public static Map<Integer, Boolean> pushEndMap = new HashMap<>(); @Autowired private CarMapper carMapper; /** @@ -2567,14 +2565,20 @@ // Company query = companyService.selectById(1); for(int i = 1; i <= 3; i++){ // PushOrder pushOrder = pushOrderService.querys(i, 4, query.getId()).get(0); //获取同线路的同车型的跨城司机 List<Driver> list = driverService.queryDriversByLineAndCarModel(3,orderCrossCity.getServerCarModelId(), orderCrossCity.getLineId()); if(list.size() > 0){ // double driverProportion = pushOrder.getDriverProportion() / 100;//推送占比计算成小数 // int lastIndex = Double.valueOf(list.size() * driverProportion).intValue();//计算占比转成整数(下标截取) // list = list.subList(0, lastIndex);//获取空闲司机中占比数据 List<Integer> collect = list.stream().map(Driver::getCarId).collect(Collectors.toList()); List<Car> cars = carMapper.selectList1( collect); for(Driver driver : list){//开始进行推送 // 判断司机的当前进行的订单 看座位数 Car car1 = cars.stream().filter(car -> car.getId().equals(driver.getCarId())).findFirst().get(); Integer seat = car1.getSeat(); List<OrderCrossCity> orderCrossCities = orderCrossCityMapper.selectList(new EntityWrapper<OrderCrossCity>().eq("driverId", driver.getId()).in("state", Arrays.asList(1,2,3,4,5))); // boolean bo = false; // for(Integer integer : integers){ // if(integer.compareTo(driver.getId()) == 0){ @@ -2585,7 +2589,9 @@ // if(bo){ // continue; // } pushUtil.pushOrderState(2, driver.getId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 10); if(seat>=orderCrossCities.size()){ pushUtil.pushOrderState(2, driver.getId(), orderCrossCity.getId(), 3, orderCrossCity.getState(), 10); } } } Thread.sleep(10 * 1000);//设置等待时间 @@ -2597,31 +2603,21 @@ if(i == 3 && state == 1){ pushUtil.pushEndPush(1, orderCrossCity.getUserId(), orderCrossCity.getId(), 3); orderIds.remove(orderCrossCity.getId()); orderCrossCity.setState(10); orderCrossCityMapper.updateById(orderCrossCity); OrderCancel orderCancel = new OrderCancel(); orderCancel.setOrderId(orderCrossCity.getId()); orderCancel.setOrderType(3); orderCancel.setReason("没有司机接单,系统自动取消订单"); orderCancel.setRemark("没有司机接单,系统自动取消订单"); orderCancel.setState(2); orderCancel.setInsertTime(new Date()); orderCancel.setUserType(2); orderCancelService.insert(orderCancel); //TODO:退款 UserInfo userInfo = userInfoService.selectById (orderCrossCity.getUserId()); userInfo.setBalance (new BigDecimal (userInfo.getBalance ()) .add (new BigDecimal (orderCrossCity.getOrderMoney())) // 余额增加订单金额 .setScale (2, BigDecimal.ROUND_HALF_EVEN) .doubleValue ()); SysIntegral query1 = sysIntegralMapper.query (orderCrossCity.getCompanyId ()); if (query1 != null) { int addIntegral = orderCrossCity.getOrderMoney().intValue () * query1.getIntegral (); // 原增加的积分 userInfo.setIntegral (userInfo.getIntegral () - addIntegral); // 扣除对应积分(确保积分不为负可加额外判断) } transactionDetailsService.saveData (orderCrossCity.getUserId(), "订单取消退款", orderCrossCity.getOrderMoney (), 1, 1, 1, 3, orderCrossCity.getId ()); userInfoService.updateById (userInfo); // orderCrossCity.setState(10); // orderCrossCityMapper.updateById(orderCrossCity); // // OrderCancel orderCancel = new OrderCancel(); // orderCancel.setOrderId(orderCrossCity.getId()); // orderCancel.setOrderType(3); // orderCancel.setReason("没有司机接单,系统自动取消订单"); // orderCancel.setRemark("没有司机接单,系统自动取消订单"); // orderCancel.setState(2); // orderCancel.setInsertTime(new Date()); // orderCancel.setUserType(2); // orderCancelService.insert(orderCancel); // //TODO:退款 // UserInfo userInfo = userInfoService.selectById (orderCrossCity.getUserId()); addCancle(orderCrossCity.getId(),"没有司机接单,系统自动取消订单","没有司机接单,系统自动取消订单",orderCrossCity.getUserId()); } } UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/SiteServiceImpl.java
@@ -2,8 +2,10 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; import com.stylefeng.guns.modular.crossCity.dao.LineSiteMapper; import com.stylefeng.guns.modular.crossCity.dao.LocationMapper; import com.stylefeng.guns.modular.crossCity.dao.SiteMapper; import com.stylefeng.guns.modular.crossCity.model.LineSite; import com.stylefeng.guns.modular.crossCity.model.Site; import com.stylefeng.guns.modular.crossCity.server.ISiteService; import com.stylefeng.guns.modular.crossCity.warpper.SiteWarpper; @@ -24,6 +26,9 @@ @Resource private LocationMapper locationMapper; @Resource private LineSiteMapper lineSiteMapper; @Autowired private GDMapElectricFenceUtil gdMapElectricFenceUtil; @@ -115,6 +120,43 @@ } return false; } @Override public boolean areaMonitoring1(Integer lineId, Integer code, String lonLat) throws Exception { List<Integer> lineSites = lineSiteMapper.areaMonitoring1(lineId); for (Integer lineSite : lineSites) { List<Map<String, Object>> list = this.queryLocation(lineSite); String province = code.toString().substring(0, 2) + "0000"; String city = code.toString().substring(0, 4) + "00"; for (Map<String, Object> map : list) { if (Integer.valueOf(map.get("type").toString()) == 1) {//行政区域 if (null != map.get("districtCode")) { if (code.toString().equals(map.get("districtCode").toString())) { return true; } continue; } if (null != map.get("cityCode")) { if (city.equals(map.get("cityCode").toString())) { return true; } continue; } if (null != map.get("provinceCode")) { if (province.equals(map.get("provinceCode").toString())) { return true; } continue; } } if (Integer.valueOf(map.get("type").toString()) == 2) {//电子围栏 String coordinate = map.get("coordinate").toString(); return ElectricFenceUtil.monitorElectricFenc(coordinate, lonLat); } } } return false; } /** * 根据站点id获取地点区域 UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
@@ -105,6 +105,9 @@ private static List<Integer> orderIds = new ArrayList<>(); @Autowired private PayMoneyUtil payMoneyUtil; /** @@ -122,7 +125,7 @@ return ResultUtil.error("收货地址有误,无法查询具体地址信息"); } List<String> list = (List<String>)geocoding.get("data"); Map<String, String> egeocode = gdMapGeocodingUtil.geocode(list.get(0).split(",")[0], list.get(0).split(",")[1]); Map<String, String> egeocode = gdMapGeocodingUtil.geocode(list.get(0).split(",")[1], list.get(0).split(",")[0]); String ecityCode = egeocode.get("cityCode"); if(!scityCode.equals(ecityCode)){ return ResultUtil.error("已超出服务范围,请重新选择跨城小件物流"); @@ -141,14 +144,14 @@ */ @Override public ResultUtil queryLogisticsUnitPrice(Integer type, String startLonLat, String endAddress, Integer uid) throws Exception { Company query = companyCityService.query(startLonLat.split(",")[0], startLonLat.split(",")[1]); if(null == query){ return ResultUtil.error("预约取货点暂无企业服务"); } // Company query = companyCityService.query(startLonLat.split(",")[0], startLonLat.split(",")[1]); // if(null == query){ // return ResultUtil.error("预约取货点暂无企业服务"); // } Double price1 = 0D; Double price2 = 0D; if(type == 4){//同城 Map<String, Object> query1 = systemPriceMapper.query(query.getId(), type, null); Map<String, Object> query1 = systemPriceMapper.query(1, type, null); if(null == query1){ return ResultUtil.error("请先完善价格设定"); } @@ -157,7 +160,7 @@ price1 = jsonObject.getDouble("num2"); price2 = jsonObject.getDouble("num13"); }else{ Map<String, Object> query1 = systemPriceMapper.query(query.getId(), type, null); Map<String, Object> query1 = systemPriceMapper.query(1, type, null); if(null == query1){ return ResultUtil.error("请先完善价格设定"); } @@ -264,7 +267,7 @@ orderLogistics.setMileage(0D); orderLogistics.setIsReassign(1); orderLogistics.setReassignNotice(0); ResultUtil<Map<String, Double>> price = this.getPrice(type, String.valueOf(startLon), String.valueOf(startLat), location.split(",")[0], location.split(",")[1]); ResultUtil<Map<String, Double>> price = this.getPrice(type, String.valueOf(startLat), String.valueOf(startLon), location.split(",")[0], location.split(",")[1]); if(price.getCode() != 200){ return price; } @@ -299,14 +302,14 @@ * @throws Exception */ public ResultUtil<Map<String, Double>> getPrice(Integer type, String startLon, String startLat, String endLon, String endLat) throws Exception{ Company query = companyCityService.query(startLon, startLat); if(null == query){ return ResultUtil.error("预约取货点暂无企业服务"); } // Company query = companyCityService.query(startLon, startLat); // if(null == query){ // return ResultUtil.error("预约取货点暂无企业服务"); // } Double price1 = 0D; Double price2 = 0D; if(type == 4){//同城 Map<String, Object> query1 = systemPriceMapper.query(query.getId(), type, null); Map<String, Object> query1 = systemPriceMapper.query(1, type, null); Map<String, String> distance = gdMapElectricFenceUtil.getDistance(startLon + "," + startLat, endLon + "," + endLat, 1); String content = String.valueOf(query1.get("content")); JSONObject jsonObject = JSON.parseObject(content); @@ -340,7 +343,7 @@ price2 = jsonObject.getDouble("num22"); } }else{ Map<String, Object> query1 = systemPriceMapper.query(query.getId(), type, null); Map<String, Object> query1 = systemPriceMapper.query(1, type, null); String content = String.valueOf(query1.get("content")); JSONObject jsonObject = JSON.parseObject(content); price1 = jsonObject.getDouble("num1"); @@ -371,9 +374,9 @@ integers = JSON.parseArray(vehicle).toJavaList(Integer.class); } Company query = companyCityService.query(String.valueOf(orderLogistics.getStartLon()), String.valueOf(orderLogistics.getStartLat()));//获取起点所属分公司 List<PushOrder> querys = pushOrderService.querys(null, 1, query.getId());//用专车的推单配置 List<PushOrder> querys = pushOrderService.querys(null, 2, query.getId());//用专车的推单配置 for(int i = 1; i <= querys.size(); i++){ PushOrder pushOrder = pushOrderService.querys(i, 1, query.getId()).get(0); PushOrder pushOrder = pushOrderService.querys(i, 2, query.getId()).get(0); //获取空闲司机 List<Driver> list = driverService.queryIdleDriver(orderLogistics.getType(), null, orderLogistics.getStartLon(), orderLogistics.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机 if(list.size() > 0){ @@ -434,21 +437,10 @@ ResultUtil resultUtil = ResultUtil.success(""); if(payType == 1){//微信支付 String value = redisUtil.getValue("appletOpenId"); String appletsOpenId = null; if(ToolUtil.isNotEmpty(value)){ JSONObject jsonObject = JSON.parseObject(value); appletsOpenId = jsonObject.getString(uid.toString()); }else{ appletsOpenId = userInfo.getAppletsOpenId(); } Map<String, String> map = icbcPayUtil.placeAnOrder(orderId + "," + orderLogistics.getType(), 9, 5, uid.toString(), "小件物流下单支付", orderMoney, callbackPath + "/base/wxPayOrderTaxi", "", type, appletsOpenId); if(map.get("code").equals("200")){ paymentRecordService.saveData(1, orderLogistics.getUserId(), 1, orderId, orderLogistics.getType(), 1, orderMoney, map.get("order_id"), 1);//添加预支付数据 resultUtil = ResultUtil.success(map.get("data")); }else{ resultUtil = ResultUtil.error(map.get("msg"), ""); } String app = type == 1 ? "APP" : "JSAPI"; resultUtil = payMoneyUtil.weixinpay("完成订单", "", orderId + "_4_" + UUIDUtil.getRandomCode(5), orderMoney.toString(), "/base/wxPayOrderTaxi", app, userInfo.getAppletsOpenId()); paymentRecordService.saveData(1, orderLogistics.getUserId(), 1, orderId, 4, 1, Double.valueOf(orderMoney.toString()), "", 1);//添加预支付数据 } if(payType == 2){//支付宝支付 Map<String, String> map = icbcPayUtil.placeAnOrder(orderId + "," + orderLogistics.getType(), 10, 5, uid.toString(), "小件物流下单支付", orderMoney, callbackPath + "/base/aliPayOrderTaxi", "", type, null); @@ -466,8 +458,8 @@ userInfo.setBalance(new BigDecimal(userInfo.getBalance()).subtract(new BigDecimal(orderMoney)).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); SysIntegral query1 = sysIntegralMapper.query(orderLogistics.getCompanyId()); userInfo.setIntegral(userInfo.getIntegral() + (orderMoney.intValue() * query1.getIntegral()));//积分 // SysIntegral query1 = sysIntegralMapper.query(orderLogistics.getCompanyId()); // userInfo.setIntegral(userInfo.getIntegral() + (orderMoney.intValue() * query1.getIntegral()));//积分 //添加交易明细 transactionDetailsService.saveData(uid, "小件物流下单支付", orderMoney, 2, 1, 1, 4, orderId); @@ -515,21 +507,10 @@ ResultUtil resultUtil = ResultUtil.success(""); if(payType == 1){//微信支付 String value = redisUtil.getValue("appletOpenId"); String appletsOpenId = null; if(ToolUtil.isNotEmpty(value)){ JSONObject jsonObject = JSON.parseObject(value); appletsOpenId = jsonObject.getString(uid.toString()); }else{ appletsOpenId = userInfo.getAppletsOpenId(); } Map<String, String> map = icbcPayUtil.placeAnOrder(orderId + "," + orderLogistics.getType(), 9, 5, uid.toString(), "小件物流补差价", orderMoney, callbackPath + "/base/wxPayOrderLogisticsSpread", "", type, appletsOpenId); if(map.get("code").equals("200")){ paymentRecordService.saveData(1, orderLogistics.getUserId(), 1, orderId, orderLogistics.getType(), 1, orderMoney, map.get("order_id"), 1);//添加预支付数据 resultUtil = ResultUtil.success(map.get("data")); }else{ resultUtil = ResultUtil.error(map.get("msg"), ""); } String app = type == 1 ? "APP" : "JSAPI"; resultUtil = payMoneyUtil.weixinpay("完成订单", "", orderId + "_4_" + UUIDUtil.getRandomCode(5), orderMoney.toString(), "/base/wxPayOrderLogisticsSpread", app, userInfo.getAppletsOpenId()); paymentRecordService.saveData(1, orderLogistics.getUserId(), 1, orderId, orderLogistics.getType(), 1, orderMoney, orderLogistics.getId().toString(), 1);//添加预支付数据 } if(payType == 2){//支付宝支付 Map<String, String> map = icbcPayUtil.placeAnOrder(orderId + "," + orderLogistics.getType(), 10, 5, uid.toString(), "小件物流补差价", orderMoney, callbackPath + "/base/aliPayOrderLogisticsSpread", "", type, null); @@ -622,10 +603,10 @@ orderLogistics.setPayMoney(query.getAmount()); this.updateById(orderLogistics); UserInfo userInfo = userInfoService.selectById(orderLogistics.getUserId()); SysIntegral query1 = sysIntegralMapper.query(orderLogistics.getCompanyId()); userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分 userInfoService.updateById(userInfo); // UserInfo userInfo = userInfoService.selectById(orderLogistics.getUserId()); // SysIntegral query1 = sysIntegralMapper.query(orderLogistics.getCompanyId()); // userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分 // userInfoService.updateById(userInfo); query.setState(2); query.setCode(order_id); @@ -669,39 +650,16 @@ orderLogisticsSpread.setPayType(3); orderLogisticsSpreadService.updateById(orderLogisticsSpread); UserInfo userInfo = userInfoService.selectById(orderLogistics.getUserId()); SysIntegral query1 = sysIntegralMapper.query(orderLogistics.getCompanyId()); userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分 userInfoService.updateById(userInfo); // UserInfo userInfo = userInfoService.selectById(orderLogistics.getUserId()); // SysIntegral query1 = sysIntegralMapper.query(orderLogistics.getCompanyId()); // userInfo.setIntegral(userInfo.getIntegral() + (query.getAmount().intValue() * query1.getIntegral()));//积分 // userInfoService.updateById(userInfo); query.setState(2); query.setCode(order_id); paymentRecordService.updateById(query); //添加已收入明细 Company company = companyService.selectById(orderLogistics.getCompanyId()); Double speMoney = orderLogistics.getType() == 4 ? company.getSameLogisticsMoney() : company.getCrossLogisticsMoney(); BigDecimal d = null; BigDecimal c = null; if(company.getIsSpeFixedOrProportional() == 2){//固定 d = new BigDecimal(speMoney); c = new BigDecimal(query.getAmount()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } if(company.getIsSpeFixedOrProportional() == 1){//比例 d = new BigDecimal(query.getAmount()).multiply(new BigDecimal(speMoney).divide(new BigDecimal(100))).setScale(2, BigDecimal.ROUND_HALF_EVEN); c = new BigDecimal(query.getAmount()).subtract(d).setScale(2, BigDecimal.ROUND_HALF_EVEN); } Income income = incomeService.selectOne(new EntityWrapper<Income>().eq("userType", 1).eq("objectId", orderLogistics.getCompanyId()).eq("type", 2).eq("incomeId", orderLogistics.getId()).eq("orderType", orderLogistics.getType())); income.setMoney(income.getMoney() + d.doubleValue()); incomeService.updateById(income); income = incomeService.selectOne(new EntityWrapper<Income>().eq("userType", 2).eq("objectId", orderLogistics.getDriverId()).eq("type", 2).eq("incomeId", orderLogistics.getId()).eq("orderType", orderLogistics.getType())); income.setMoney(income.getMoney() + c.doubleValue()); incomeService.updateById(income); Driver driver = driverService.selectById(orderLogistics.getDriverId()); driver.setBusinessMoney(new BigDecimal(null != driver.getBusinessMoney() ? driver.getBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setLaveBusinessMoney(new BigDecimal(null != driver.getLaveBusinessMoney() ? driver.getLaveBusinessMoney() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driver.setBalance(new BigDecimal(null != driver.getBalance() ? driver.getBalance() : 0).add(c).setScale(2, BigDecimal.ROUND_HALF_EVEN).doubleValue()); driverService.updateById(driver); // TODO: 2020/5/24 这里需要给司机和用户推送订单状态 new Thread(new Runnable() { @@ -812,25 +770,12 @@ userInfoService.updateById(userInfo); }else{ //调用回退接口 PaymentRecord query = paymentRecordService.query(1, orderLogistics.getUserId(), 1, orderLogistics.getId(), orderLogistics.getType(), orderLogistics.getPayType(), 2); boolean b = false; Map<String, Object> merrefund = icbcPayUtil.merrefund(query.getCode(), "", query.getAmount(), orderLogistics.getId() + "_" + orderLogistics.getType(), orderLogistics.getOrderNum()); if (Integer.valueOf(merrefund.get("code").toString()) == 0) { Map<String, Object> refundqry = icbcPayUtil.refundqry("", query.getCode(), orderLogistics.getOrderNum()); if (Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 0) {//成功 b = true; } if (Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 1) {//失败 return ResultUtil.error("订单取消失败(退款不成功)"); } if (Integer.valueOf(refundqry.get("code").toString()) == 0 && Integer.valueOf(refundqry.get("pay_status").toString()) == 2) {//未知 return ResultUtil.error("退款返回未知异常"); } PaymentRecord query = paymentRecordService.query(1, orderLogistics.getUserId(), 1, id, 4, orderLogistics.getPayType(), 2); if(null == query){ return ResultUtil.error("订单还未进行支付"); } if(b){ } Map<String, String> merrefund = payMoneyUtil.wxRefund(query.getCode(), orderLogistics.getOrderNum(), String.valueOf(query.getAmount()), String.valueOf(query.getAmount()), ""); System.err.println("跨城退款数据:::"+merrefund); } //添加交易明细 transactionDetailsService.saveData(orderLogistics.getUserId(), "小件物流取消退款", orderLogistics.getPayMoney(), 1, 1, 1, 4, orderLogistics.getId()); UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/CarMapper.java
@@ -26,4 +26,14 @@ * @throws Exception */ Car query(@Param("licensePlate") String licensePlate) throws Exception; /** * 获取车辆列表 * @param companyId * @return * @throws Exception */ List<Car> selectList1(@Param("list") List<Integer> collect); } UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/CarMapper.xml
@@ -68,4 +68,13 @@ addObjectId as addObjectId from t_car where state = 1 and carLicensePlate = #{licensePlate} </select> <select id="selectList1" resultType="com.stylefeng.guns.modular.system.model.Car" > select t1.id ,t2.seat from t_car t1 left join t_car_model t2 on t1.carModelId = t2.id where t1.id in <foreach collection="list" item="item" index="index" separator="," open="(" close=")"> #{item} </foreach> </select> </mapper> UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/DriverMapper.xml
@@ -393,7 +393,7 @@ updateTime as updateTime, updateUser as updateUser from t_driver where flag != 3 and state = 2 and authState = 2 where flag != 3 and state !=1 and authState = 2 and id in ( select driverId from t_driver_work where startTime < now() and state = 1 and `type` like CONCAT('%', #{type}, '%') UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Car.java
@@ -104,6 +104,18 @@ @TableField("addObjectId") private Integer addObjectId; @TableField(exist = false) private Integer seat; public Integer getSeat() { return seat; } public void setSeat(Integer seat) { this.seat = seat; } public Integer getId() { return id; } UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -198,6 +198,7 @@ @Override public List<Driver> queryDriversByLineAndCarModel(Integer type,Integer serverCarModelId, Integer lineId) throws Exception { List<Driver> drivers = driverMapper.queryDriversByLineAndCarModel( type,serverCarModelId, lineId); return drivers; } } UserOKTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WxMaSubscribeMessageUtil.java
@@ -31,7 +31,7 @@ String url = "https://api.weixin.qq.com/cgi-bin/message/subscribe/send?access_token=" + accessToken; JSONObject data = new JSONObject(); data.put("touser", openId); data.put("template_id", "loQAaLfhJvkkvZL0ILKbwKJiXiHq5db6SLqeLX_V54c "); data.put("template_id", "loQAaLfhJvkkvZL0ILKbwKJiXiHq5db6SLqeLX_V54c"); data.put("page", "/pages/index/index/index" ); // 设置消息内容 @@ -66,6 +66,9 @@ System.out.println("订阅消息结果:" + result); } public static void main(String[] args) { push("oTrbv6_jAjA1HZDa1pc2k9Q35Zqw","张三",10.0); }