From d09284975427910441eeaf59d34a4d50d2fd5fdc Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 24 十二月 2024 19:02:29 +0800 Subject: [PATCH] 修改bug --- UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java | 2 ManagementAHTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/freezingAmountOfWithdrawalSet.html | 2 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml | 2 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java | 100 ++++++------- UserAHTravel/guns-admin/src/main/resources/application.yml | 8 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java | 4 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java | 1 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/OrderCrossCityMapper.xml | 5 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java | 65 ++++---- UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SystemNoticeController.java | 22 ++ UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISystemNoticeService.java | 10 + UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml | 2 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml | 5 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IRegionService.java | 11 + UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SystemNoticeServiceImpl.java | 31 ++++ UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java | 11 + UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/transfer/dao/mapping/OrderTransferMapper.xml | 2 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java | 2 UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java | 73 --------- UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java | 13 + UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/RegionServiceImpl.java | 16 ++ UserAHTravel/guns-admin/pom.xml | 3 22 files changed, 209 insertions(+), 181 deletions(-) diff --git a/ManagementAHTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/freezingAmountOfWithdrawalSet.html b/ManagementAHTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/freezingAmountOfWithdrawalSet.html index 53a5223..47f1d97 100644 --- a/ManagementAHTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/freezingAmountOfWithdrawalSet.html +++ b/ManagementAHTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/freezingAmountOfWithdrawalSet.html @@ -16,7 +16,7 @@ 提现冻结金额额度 <input type="number" min="0" id="withdrawFrozenAmount" value="${item.withdrawFrozenAmount}"/> 元 </div> <div class="form-group"> - <span style="color: red;">注意:司机提现时,系统自动验证待提现余额是都大于冻结金额,若大于则司机可提现金额为余额-冻结金额,若下雨则直接提示不能提现</span> + <span style="color: red;">注意:司机提现时,系统自动验证待提现余额是都大于冻结金额,若大于则司机可提现金额为余额-冻结金额,若小于则直接提示不能提现</span> </div> </div> </div> diff --git a/UserAHTravel/guns-admin/pom.xml b/UserAHTravel/guns-admin/pom.xml index 5f5ce18..62ae5f4 100644 --- a/UserAHTravel/guns-admin/pom.xml +++ b/UserAHTravel/guns-admin/pom.xml @@ -9,8 +9,9 @@ <relativePath>../pom.xml</relativePath> </parent> - <artifactId>guns-admin</artifactId> + <artifactId>user</artifactId> <name>guns-admin</name> + <version>0.0.1</version> <description>guns 的spring boot版本</description> <packaging>jar</packaging> diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java index 7e086e7..d7e56b3 100644 --- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java @@ -1122,44 +1122,41 @@ // 查询当前活动的限制数量 UserCouponRecord userCouponRecords1 = userCouponRecordService.selectById(id); - List<UserCouponRecord> userCouponRecords = userCouponRecordService.selectList(new EntityWrapper<UserCouponRecord>().eq("couponId", userCouponRecords1.getCouponId())); - // 获取活动限制数量 - TActivityGeneralization tActivityGeneralization = activityGeneralizationService.selectById(userCouponRecords.get(0).getCouponActivityId()); - if (tActivityGeneralization == null) { - throw new RuntimeException("未能找到对应的活动信息"); - } - int limitQuantity = tActivityGeneralization.getMonthUseCount(); // 假设limitQuantity字段代表限制数量 - - // 判断当月的优惠券是否超过限制 - Calendar currentCal = Calendar.getInstance(); - int currentMonth = currentCal.get(Calendar.MONTH) + 1; // 当前月份 - - // 统计当月的优惠券使用数量 - int usedThisMonth = 0; - for (UserCouponRecord record : userCouponRecords) { - if (record.getEndTime()==null){ - continue; + TActivityGeneralization tActivityGeneralization = activityGeneralizationService.selectById(userCouponRecords1.getCouponActivityId()); + if (null != tActivityGeneralization && tActivityGeneralization.getStartTime().getTime() <= System.currentTimeMillis() && tActivityGeneralization.getEndTime().getTime() > System.currentTimeMillis()) { + + List<UserCouponRecord> userCouponRecords = userCouponRecordService.selectList(new EntityWrapper<UserCouponRecord>() + .eq("userId", uid).eq("couponId", userCouponRecords1.getCouponId())); + int limitQuantity = tActivityGeneralization.getMonthUseCount(); // 假设limitQuantity字段代表限制数量 + + // 判断当月的优惠券是否超过限制 + Calendar currentCal = Calendar.getInstance(); + int currentMonth = currentCal.get(Calendar.MONTH) + 1; // 当前月份 + + // 统计当月的优惠券使用数量 + int usedThisMonth = 0; + for (UserCouponRecord record : userCouponRecords) { + if (record.getEndTime()==null){ + continue; + } + Calendar recordCal = Calendar.getInstance(); + recordCal.setTime(record.getEndTime()); + int recordMonth = recordCal.get(Calendar.MONTH) + 1; + + // 判断endTime是否在当月 + if (recordMonth == currentMonth) { + usedThisMonth++; + } } - Calendar recordCal = Calendar.getInstance(); - recordCal.setTime(record.getEndTime()); - int recordMonth = recordCal.get(Calendar.MONTH) + 1; - - // 判断endTime是否在当月 - if (recordMonth == currentMonth) { - usedThisMonth++; + + // 判断是否超过限制 + if (usedThisMonth >= limitQuantity) { + return ResultUtil.error("本月使用数量已经超出限制"); + // 这里可以添加更多的逻辑处理,比如抛出异常、记录日志等 } } - - // 判断是否超过限制 - if (usedThisMonth >= limitQuantity) { - return ResultUtil.error("本月使用数量已经超出限制"); - // 这里可以添加更多的逻辑处理,比如抛出异常、记录日志等 - } else { - return ResultUtil.success(); - } - - + return ResultUtil.success(); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SystemNoticeController.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SystemNoticeController.java index 97285ca..d6ebc0f 100644 --- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SystemNoticeController.java +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/SystemNoticeController.java @@ -89,8 +89,26 @@ return ResultUtil.runErr(); } } - - + + + + @ResponseBody + @PostMapping("/queryNoticesInfo") + @ApiOperation(value = "获取系统消息和公告详情", tags = {"用户端-首页"}, notes = "") + @ApiImplicitParams({ + @ApiImplicitParam(value = "数据类型(1=公告,2=系统消息)", name = "type", required = true, dataType = "int"), + @ApiImplicitParam(value = "数据id", name = "id", required = true, dataType = "int"), + @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") + }) + public ResultUtil<Map<String, Object>> queryNoticesInfo(Integer type, Integer id){ + Map<String, Object> map = systemNoticeService.queryNoticesInfo(type, id); + return ResultUtil.success(map); + } + + + + + /** * 阅读操作 * @param id diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java index a3756e2..fc35ab2 100644 --- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserCallbackController.java @@ -176,7 +176,7 @@ SysCouponRecord sysCouponRecord = sysCouponRecordService.selectById(tActivityGeneralization.getCouponId()); int i1 = userCouponRecordService.selectCount(new EntityWrapper<UserCouponRecord>().eq("activityType", 5).eq("couponActivityId", acId).groupBy("userId")); - if (tActivityGeneralization.getParticipateCount()<=i1){ + if (null != tActivityGeneralization.getParticipateCount() && tActivityGeneralization.getParticipateCount()<=i1){ return ResultUtil.error("当前参与人数已满"); } diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java index 291d12a..0404e75 100644 --- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/UserInfoController.java @@ -303,13 +303,13 @@ @ApiImplicitParams({ @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9.....") }) - public ResultUtil<UserInfoWarpper> queryUserInfo(HttpServletRequest request){ + public ResultUtil<UserInfoWarpper> queryUserInfo(String code, HttpServletRequest request){ try { Integer uid = userInfoService.getUserIdFormRedis(request); if(null == uid){ return ResultUtil.tokenErr(); } - Map<String, Object> map = userInfoService.queryUserInfo(uid); + Map<String, Object> map = userInfoService.queryUserInfo(code, uid); return ResultUtil.success(UserInfoWarpper.getUserInfoWarpper(map)); }catch (Exception e){ e.printStackTrace(); diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/OrderCrossCityMapper.xml b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/OrderCrossCityMapper.xml index ca04758..81d2136 100644 --- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/OrderCrossCityMapper.xml +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/dao/mapping/OrderCrossCityMapper.xml @@ -368,7 +368,8 @@ state as state, oldState as oldState, remark as remark, - peopleNumber as num + peopleNumber as num, + carId from t_order_cross_city where userId = #{uid} order by insertTime desc limit #{pageNum}, #{size} </select> @@ -387,7 +388,7 @@ <select id="queryInvoiceOrder" resultType="map"> select - id as id, + id as orderId, DATE_FORMAT(travelTime, '%Y-%m-%d %H:%i') as time, startAddress as startAddress, endAddress as endAddress, diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java index 282bee0..788f312 100644 --- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java @@ -1349,7 +1349,7 @@ public OrderServerWarpper queryOrderServer(Integer orderId, Integer uid) throws Exception { OrderCrossCity orderCrossCity = this.selectById(orderId); //计算预计距离和剩余时间 - String value = redisUtil.getValue("DRIVER" + String.valueOf(orderCrossCity.getDriverId())); + String value = redisUtil.getValue("DRIVER" + orderCrossCity.getDriverId()); if(null == value || "".equals(value)){ System.err.println("司机没有上传位置信息"); @@ -1655,74 +1655,11 @@ } try { if(orderType == 1){//专车 - Thread.sleep(1000); - System.err.println("====="+orderId); OrderPrivateCar orderPrivateCar = orderPrivateCarMapper.selectById(orderId); - System.err.println("====="+orderPrivateCar); - OrderPrivateCarServiceImpl.orderIds.add(orderPrivateCar.getId());//添加记录,防止调用接口重复提醒无人接单 - Company query = companyCityService.query(String.valueOf(orderPrivateCar.getStartLon()), String.valueOf(orderPrivateCar.getStartLat()));//获取起点所属分公司 - List<PushOrder> querys = pushOrderService.querys(null, 1, query.getId());//获取需要推送的次数 - for(int i = 1; i <= querys.size(); i++){ - //订单被抢后的处理 - Integer state = orderPrivateCarMapper.selectById(orderId).getState(); - if(state != 1){ - //关闭其他推送线程 - Set<String> keySet = threadMap.keySet(); - for(String key : keySet){ - if(!key.equals(orderId + "_1")){ - Thread thread1 = threadMap.get(key);//中断线程 - if(null != thread1){ - thread1.interrupt(); - } - threadMap.remove(key); - } - } - //删除其他无效数据 - for(Map<String, Integer> map : datas){ - Integer orderType = map.get("orderType"); - Integer orderId1 = map.get("orderId"); - if(orderType == 1 && orderId != orderPrivateCar.getId()){ - orderPrivateCarMapper.deleteById(orderId1); - } - if(orderType == 2){ - orderTaxiMapper.deleteById(orderId1); - } - } - break; - } - - //开始进行推送的处理 - PushOrder pushOrder = pushOrderService.querys(i, 1, query.getId()).get(0); - //获取空闲司机 - List<Driver> list = driverService.queryIdleDriver(1, orderPrivateCar.getServerCarModelId(), orderPrivateCar.getStartLon(), orderPrivateCar.getStartLat(), pushOrder.getPushDistance(), null);//所有附近空闲司机 - if(list.size() > 0){ - double driverProportion = pushOrder.getDriverProportion() / 100;//推送占比计算成小数 - int lastIndex = Double.valueOf(list.size() * driverProportion).intValue();//计算占比转成整数(下标截取) - list = list.subList(0, lastIndex);//获取空闲司机中占比数据 - for(Driver driver : list){//开始进行推送 - boolean bo = false; - for(Integer integer : integers){ - if(integer.compareTo(driver.getId()) == 0){ - bo = true; - break; - } - } - if(bo){ - continue; - } - pushUtil.pushOrderState(2, driver.getId(), orderPrivateCar.getId(), 1, orderPrivateCar.getState(), pushOrder.getPushTime()); - } - } - - //所有推送完后的处理 - Boolean b = pushEndMap.get(orderPrivateCar.getCrossCityOrderId()); - if(i == querys.size() && state == 1 && (null != b && !b.booleanValue())){ - pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1); - OrderPrivateCarServiceImpl.orderIds.remove(orderPrivateCar.getId()); - pushEndMap.put(orderPrivateCar.getCrossCityOrderId(), Boolean.TRUE);//推送后添加标识 - break; - } - Thread.sleep(pushOrder.getPushTime() * 1000);//设置等待时间 + //推单操作 + if(orderPrivateCar.getState() == 1){ + Integer id = orderPrivateCar.getId(); + redisUtil.addListRight("push_order_ids", id.toString()); } } diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml index 94af681..66f3afb 100644 --- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/dao/mapping/OrderLogisticsMapper.xml @@ -175,7 +175,7 @@ <select id="queryInvoiceOrder" resultType="map"> select - id as id, + id as orderId, DATE_FORMAT(travelTime, '%Y-%m-%d %H:%i') as time, startAddress as startAddress, endAddress as endAddress, diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml index df4edbb..dbb9b74 100644 --- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/dao/mapping/OrderPrivateCarMapper.xml @@ -342,14 +342,15 @@ driverId as driverId, (1) as orderType, state as state, - oldState as oldState + oldState as oldState, + carId from t_order_private_car where userId = #{uid} order by insertTime desc limit #{pageNum}, #{size} </select> <select id="queryInvoiceOrder" resultType="map"> select - id as id, + id as orderId, DATE_FORMAT(travelTime, '%Y-%m-%d %H:%i') as time, startAddress as startAddress, endAddress as endAddress, diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java index 6610910..b6c471e 100644 --- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java @@ -338,7 +338,8 @@ //推单操作 if(orderPrivateCar.getState() == 1){ - this.pushOrder(orderPrivateCar); + Integer id = orderPrivateCar.getId(); + redisUtil.addListRight("push_order_ids", id.toString()); } //添加消息 @@ -521,36 +522,8 @@ if(orderPrivateCar.getState() != 1){ return ResultUtil.error("订单已被司机接单,不能重复推送"); } - //处理摆渡订单的继续推单操作 - if(orderPrivateCar.getType() == 2){ - OrderCrossCityServiceImpl.pushEndMap.put(orderPrivateCar.getCrossCityOrderId(), false);//还原标识数据 - List<OrderPrivateCar> list = this.selectList(new EntityWrapper<OrderPrivateCar>().eq("type", 2).eq("crossCityOrderId", orderPrivateCar.getCrossCityOrderId()).eq("place", orderPrivateCar.getPlace())); - List<Map<String, Integer>> orders = new ArrayList<>(); - for(OrderPrivateCar orderPrivateCar1 : list){ - if(orderPrivateCar1.getState() != 1){ - return ResultUtil.error("订单已被司机接单,推单取消"); - } - Map<String, Integer> map = new HashMap<>(); - map.put("orderType", 1); - map.put("orderId", orderPrivateCar1.getId()); - orders.add(map); - } -// List<OrderTaxi> list1 = orderTaxiService.selectList(new EntityWrapper<OrderTaxi>().eq("type", 2).eq("crossCityOrderId", orderPrivateCar.getCrossCityOrderId()).eq("place", orderPrivateCar.getPlace())); -// for(OrderTaxi orderTaxi : list1){ -// if(orderTaxi.getState() != 1){ -// return ResultUtil.error("订单已被司机接单,推单取消"); -// } -// Map<String, Integer> map = new HashMap<>(); -// map.put("orderType", 2); -// map.put("orderId", orderTaxi.getId()); -// orders.add(map); -// } - //开始重新推单 - orderCrossCityService.pushOrder(orders); - - }else{ - this.pushOrder(orderPrivateCar); - } + //继续将订单添加到推送列表中 + redisUtil.addListLeft("push_order_ids", id.toString()); return ResultUtil.success(); } @@ -852,11 +825,23 @@ public boolean pushOrder1(Integer id){ try { OrderPrivateCar orderPrivateCar = this.selectById(id); + if(1 != orderPrivateCar.getState()){ + return true; + } + long time = System.currentTimeMillis() - orderPrivateCar.getInsertTime().getTime(); Company query = companyCityService.query(String.valueOf(orderPrivateCar.getStartLon()), String.valueOf(orderPrivateCar.getStartLat()));//获取起点所属分公司 + List<PushOrder> querys = pushOrderService.querys(null, 1, query.getId());//获取需要推送的次数 + long pushTime = 0; + if(null != querys && querys.size() > 0){ + pushTime = querys.stream().mapToInt(PushOrder::getPushTime).sum() * 1000; + } + if(time >= pushTime){ + pushUtil.pushEndPush(1, orderPrivateCar.getUserId(), orderPrivateCar.getId(), 1); + return true; + } + List<Driver> drivers = driverMapper.queryIdleDriver_(1, orderPrivateCar.getServerCarModelId(), query.getId()); - System.err.println("当前获取的司机:"+drivers); - - List<Driver> list = new ArrayList<>(); + System.err.println("当前获取的司机:"+ JSON.toJSONString(drivers)); //找出距离最近且评分最高的司机 Double dis = 100000D; @@ -868,6 +853,7 @@ continue; } String value = redisUtil.getValue("DRIVER" + driver.getId()); + System.err.println("------" + value); if(null != value){ Map<String, Double> distance1 = geodesyUtil.getDistance(orderPrivateCar.getStartLon() + "," + orderPrivateCar.getStartLat(), value); double d = Double.valueOf(distance1.get("WGS84")).doubleValue(); @@ -883,6 +869,7 @@ } } } + System.err.println("------" + JSON.toJSONString(driver1)); if(null != driver1){ orderPrivateCar.setDriverId(driver1.getId()); orderPrivateCar.setCarId(driver1.getCarId()); @@ -1394,28 +1381,33 @@ @Override public OrderServerWarpper queryOrderServer(Integer orderId, Integer uid) throws Exception { OrderPrivateCar orderPrivateCar = this.selectById(orderId); - //计算预计距离和剩余时间 - String value = redisUtil.getValue("DRIVER" + String.valueOf(orderPrivateCar.getDriverId())); - if(null == value || "".equals(value)){ - System.err.println("司机没有上传位置信息"); - - //调用获取轨迹中的数据 - List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, 2); - if(list.size() > 0){ - Map<String, Object> map = list.get(list.size() - 1); - value = map.get("lon") + "," + map.get("lat"); - } - - } - Map<String, String> distance = gdMapElectricFenceUtil.getDistance(value, orderPrivateCar.getStartLon() + "," + orderPrivateCar.getStartLat(), 1); + String value = null; 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)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); - t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + ""; + if(null != orderPrivateCar.getDriverId()){ + //计算预计距离和剩余时间 + value = redisUtil.getValue("DRIVER" + orderPrivateCar.getDriverId()); + if(null == value || "".equals(value)){ + System.err.println("司机没有上传位置信息"); + + //调用获取轨迹中的数据 + List<Map<String, Object>> list = orderPositionService.queryTrack(orderId, 2); + if(list.size() > 0){ + Map<String, Object> map = list.get(list.size() - 1); + value = map.get("lon") + "," + map.get("lat"); + } + + } + Map<String, String> distance = gdMapElectricFenceUtil.getDistance(value, orderPrivateCar.getStartLon() + "," + orderPrivateCar.getStartLat(), 1); + + if(null == distance){ + System.err.println("查询距离出错了"); + }else{ + d = new BigDecimal(distance.get("distance")).divide(new BigDecimal(1000), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); + t = new BigDecimal(distance.get("duration")).divide(new BigDecimal(60), new MathContext(2, RoundingMode.HALF_EVEN)).setScale(2, BigDecimal.ROUND_HALF_EVEN).intValue() + ""; + } } + OrderServerWarpper orderServerWarpper = new OrderServerWarpper(); orderServerWarpper.setOrderId(orderPrivateCar.getId()); orderServerWarpper.setOrderType(1); @@ -1432,7 +1424,7 @@ orderServerWarpper.setLaveTime("0"); } if(orderPrivateCar.getState() == 5 || orderPrivateCar.getState() == 6){//服务中 - distance = gdMapElectricFenceUtil.getDistance(value, orderPrivateCar.getEndLon() + "," + orderPrivateCar.getEndLat(), 1); + Map<String, String> distance = gdMapElectricFenceUtil.getDistance(value, orderPrivateCar.getEndLon() + "," + orderPrivateCar.getEndLat(), 1); if(null == distance){ System.err.println("查询距离出错了"); }else{ diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IRegionService.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IRegionService.java new file mode 100644 index 0000000..2b39fd2 --- /dev/null +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IRegionService.java @@ -0,0 +1,11 @@ +package com.stylefeng.guns.modular.system.service; + +import com.baomidou.mybatisplus.service.IService; +import com.stylefeng.guns.modular.system.model.Region; + +/** + * @author zhibing.pu + * @Date 2024/12/18 16:39 + */ +public interface IRegionService extends IService<Region> { +} diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISystemNoticeService.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISystemNoticeService.java index 6d7e663..20e9ec1 100644 --- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISystemNoticeService.java +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ISystemNoticeService.java @@ -36,6 +36,16 @@ * @return */ List<Map<String, Object>> queryList(Integer type, Integer pageNum, Integer size, Integer uid); + + + /** + * 获取系统消息详情 + * @param type + * @param id + * @return + */ + Map<String, Object> queryNoticesInfo(Integer type, Integer id); + /** diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java index 4cebd23..860045f 100644 --- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/IUserInfoService.java @@ -123,7 +123,7 @@ * @return * @throws Exception */ - Map<String, Object> queryUserInfo(Integer uid) throws Exception; + Map<String, Object> queryUserInfo(String code, Integer uid) throws Exception; /** diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/RegionServiceImpl.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/RegionServiceImpl.java new file mode 100644 index 0000000..40bf412 --- /dev/null +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/RegionServiceImpl.java @@ -0,0 +1,16 @@ +package com.stylefeng.guns.modular.system.service.impl; + +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import com.stylefeng.guns.modular.system.dao.RegionMapper; +import com.stylefeng.guns.modular.system.model.Region; +import com.stylefeng.guns.modular.system.service.IRegionService; +import org.springframework.stereotype.Service; + +/** + * @author zhibing.pu + * @Date 2024/12/18 16:40 + */ +@Service +public class RegionServiceImpl extends ServiceImpl<RegionMapper, Region> implements IRegionService { + +} diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SystemNoticeServiceImpl.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SystemNoticeServiceImpl.java index 509814b..17840aa 100644 --- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SystemNoticeServiceImpl.java +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/SystemNoticeServiceImpl.java @@ -4,11 +4,13 @@ import com.stylefeng.guns.modular.system.dao.SystemNoticeMapper; import com.stylefeng.guns.modular.system.dao.TNoticesMapper; import com.stylefeng.guns.modular.system.model.SystemNotice; +import com.stylefeng.guns.modular.system.model.TNotices; import com.stylefeng.guns.modular.system.service.ISystemNoticeService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -77,8 +79,33 @@ } return list; } - - + + + /** + * 获取系统消息详情 + * @param type + * @param id + * @return + */ + @Override + public Map<String, Object> queryNoticesInfo(Integer type, Integer id) { + Map<String, Object> map = new HashMap<>(); + if(type == 1){//系统公告 + SystemNotice systemNotice = systemNoticeMapper.selectById(id); + TNotices tNotices = tNoticesMapper.selectById(systemNotice.getNoticesId()); + map.put("id", id); + map.put("title", tNotices.getTitle()); + map.put("img", tNotices.getImgUrl()); + map.put("content", tNotices.getContent()); + } + if(type == 2){//系统消息 + SystemNotice systemNotice = systemNoticeMapper.selectById(id); + map.put("id", id); + map.put("content", systemNotice.getContent()); + } + return map; + } + /** * 阅读操作 * @param id diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java index 2159f6c..a723452 100644 --- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java @@ -286,7 +286,6 @@ userInfo.setState(1); userInfo.setAvatar("https://anhenew.obs.cn-north-4.myhuaweicloud.com/admin/cca63b23e3a84c89a01e5204c1819497.png"); - this.insert(userInfo); addnewCoupoun(phone,userInfo); @@ -826,7 +825,13 @@ * @throws Exception */ @Override - public Map<String, Object> queryUserInfo(Integer uid) throws Exception { + public Map<String, Object> queryUserInfo(String code, Integer uid) throws Exception { + Map<String, String> map = weChatUtil.code2Session(code); + UserInfo userInfo = userInfoMapper.selectById(uid); + if(ToolUtil.isEmpty(userInfo.getAppletsOpenId())){ + userInfo.setAppletsOpenId(map.get("openid")); + userInfoMapper.updateById(userInfo); + } return userInfoMapper.queryUserInfo(uid, null); } @@ -1312,7 +1317,7 @@ */ private synchronized void addCoupon(UserInfo userInfo) throws Exception{ //添加优惠券 - List<Map<String, Object>> list = userActivityRegisteredService.query(userInfo.getCompanyId()); + List<Map<String, Object>> list = userActivityRegisteredService.query(null == userInfo.getCompanyId() ? 1 : userInfo.getCompanyId()); int num = 0; for(Map<String, Object> map : list){ if(null != map){ diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java index 60d8a1c..34c4111 100644 --- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/WeChatUtil.java @@ -62,6 +62,7 @@ String url = "https://api.weixin.qq.com/sns/jscode2session?appid=" + wxAppletsAppid + "&secret=" + wxAppletsAppSecret + "&js_code=" + jscode + "&grant_type=authorization_code"; String forObject = restTemplate.getForObject(url, String.class); + System.err.println(forObject); JSONObject jsonObject = JSON.parseObject(forObject); int errcode = jsonObject.getIntValue("errcode"); Map<String, String> map = new HashMap<>(); diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java index d3b797c..c57f588 100644 --- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderWarpper.java @@ -50,6 +50,8 @@ @ApiModelProperty("订单类型(1=专车,2=出租车,3=跨城出行,4=同城小件物流,5=跨城小件物流)") private Integer orderType; private Long insertTime; + + private Integer carId; public Integer getOrderId() { return orderId; @@ -194,7 +196,15 @@ public void setDifferenceMoney(Double differenceMoney) { this.differenceMoney = differenceMoney; } - + + public Integer getCarId() { + return carId; + } + + public void setCarId(Integer carId) { + this.carId = carId; + } + @Override public String toString() { return "OrderWarpper{" + @@ -240,6 +250,7 @@ orderWarpper.setCarTime(null != map.get("carTime") ? Double.parseDouble(String.valueOf(map.get("carTime"))) : 0); orderWarpper.setServerCarModel(null != map.get("serverCarModel") ? String.valueOf(map.get("serverCarModel")) : ""); orderWarpper.setDifferenceMoney(null != map.get("differenceMoney") ? Double.valueOf(map.get("differenceMoney").toString()) : 0D); + orderWarpper.setCarId(null != map.get("carId") ? Integer.valueOf(map.get("carId").toString()) : 0); list.add(orderWarpper); } } diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml index 7095723..b06cfcf 100644 --- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/dao/mapping/OrderTaxiMapper.xml @@ -169,7 +169,7 @@ <select id="queryInvoiceOrder" resultType="map"> select - id as id, + id as orderId, DATE_FORMAT(travelTime, '%Y-%m-%d %H:%i') as time, startAddress as startAddress, endAddress as endAddress, diff --git a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/transfer/dao/mapping/OrderTransferMapper.xml b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/transfer/dao/mapping/OrderTransferMapper.xml index 85b1481..d43dcc3 100644 --- a/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/transfer/dao/mapping/OrderTransferMapper.xml +++ b/UserAHTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/transfer/dao/mapping/OrderTransferMapper.xml @@ -349,7 +349,7 @@ <select id="queryInvoiceOrder" resultType="map"> select - id as id, + id as orderId, DATE_FORMAT(travelTime, '%Y-%m-%d %H:%i') as time, startAddress as startAddress, endAddress as endAddress, diff --git a/UserAHTravel/guns-admin/src/main/resources/application.yml b/UserAHTravel/guns-admin/src/main/resources/application.yml index 99b41f4..d84417f 100644 --- a/UserAHTravel/guns-admin/src/main/resources/application.yml +++ b/UserAHTravel/guns-admin/src/main/resources/application.yml @@ -91,10 +91,10 @@ grantType: authorization_code #填authorization_code appid: 111 #应用唯一标识,在微信开放平台提交应用审核通过后获得 appSecret: 111 #应用密钥AppSecret,在微信开放平台提交应用审核通过后获得 - appletsAppid: wxe91f1af7638aa5dd #小程序APPid - appletsAppSecret: a787e1a462715604e0c9528b6d8960d1 # - mchId: 1678345627 #微信支付分配的商户号 - key: E10ADC3949BA59ABBE56E057F20F883E #key为商户平台设置的密钥key: + appletsAppid: wx3f6d567c18a87641 #小程序APPid + appletsAppSecret: 2fc56292246fc573644980890434b157 # + mchId: 1618978168 #微信支付分配的商户号 + key: BTisLYCrwstKZRTBZef5pe51SCA7Kxe1 #key为商户平台设置的密钥key: --- -- Gitblit v1.7.1