DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineSiteServiceImpl.java
@@ -254,7 +254,7 @@ map.put("name", s.get("name").toString()); name = s.get("cityName").toString(); code = s.get("cityCode").toString(); if(null == s.get("name")){ if(null == s.get("lonLat")){ String location = gdMapGeocodingUtil.geocoding(name + s.get("name").toString()); map.put("lonLat", location); Site site = new Site(); @@ -262,7 +262,7 @@ site.setLonLat(location); siteMapper.updateById(site); }else{ map.put("lonLat", s.get("name").toString()); map.put("lonLat", s.get("lonLat").toString()); } data.add(map); } DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -590,8 +590,11 @@ }else{ key = requestHeader; } String value = (String) redisTemplate.opsForValue().get(key); return null != value ? Integer.valueOf(value) : null; Object o = redisTemplate.opsForValue().get(key); if(o == null || "null".equals(o.toString())){ return null; } return Integer.valueOf(o.toString()); }else{ return null; } DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java
@@ -11,6 +11,8 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.HashSet; import java.util.Set; @@ -32,10 +34,14 @@ @Autowired private IUserMerchantCouponService userMerchantCouponService; @Autowired private UserWithdrawalService userWithdrawalService; public Set<Integer> driverIds = new HashSet<>();//存储需要提醒司机预约单的司机id private String ip = null; @@ -45,20 +51,23 @@ */ @Scheduled(fixedRate = 1000 * 60) public void taskMinute(){ try { //修改满足活动条件的数据(在线时长,订单量) driverService.taskMinute(); //处于预约单 orderService.reservationOrder(); //处理车载端断电后的自动下班 driverService.taskOffWork(); //处理结束订单后30分钟解绑小号功能 orderService.taskMidAxbUnBindSend(); //修改过期的商家券 userMerchantCouponService.updateExpired(); } catch (Exception e) { e.printStackTrace(); if(null != ip && "10.31.182.11".equals(ip)){ try { //修改满足活动条件的数据(在线时长,订单量) driverService.taskMinute(); //处于预约单 orderService.reservationOrder(); //处理车载端断电后的自动下班 driverService.taskOffWork(); //处理结束订单后30分钟解绑小号功能 orderService.taskMidAxbUnBindSend(); //修改过期的商家券 userMerchantCouponService.updateExpired(); } catch (Exception e) { e.printStackTrace(); } } } @@ -69,14 +78,17 @@ */ @Scheduled(fixedRate = 1000 * 60 * 5) public void taskFiveMinute(){ try { for (Integer id: driverIds){ jgPushUtil.push(1, "您的预约订单出行时间就要到了,请尽快前往预约地点接乘客", "DRIVER" + id); if(null != ip && "10.31.182.11".equals(ip)){ try { for (Integer id: driverIds){ jgPushUtil.push(1, "您的预约订单出行时间就要到了,请尽快前往预约地点接乘客", "DRIVER" + id); } this.driverIds.clear(); } catch (Exception e) { e.printStackTrace(); } this.driverIds.clear(); } catch (Exception e) { e.printStackTrace(); } } @@ -85,12 +97,15 @@ */ @Scheduled(cron = "0 0 0 * * *") public void taskDay() { try { //生成当天的司机活动 driverService.addTodayActivity(); } catch (Exception e) { e.printStackTrace(); if(null != ip && "10.31.182.11".equals(ip)){ try { //生成当天的司机活动 driverService.addTodayActivity(); } catch (Exception e) { e.printStackTrace(); } } } @@ -102,5 +117,14 @@ int port = webServer.getPort(); // 打印端口号 System.out.println("Spring Boot应用已启动,访问端口:" + port); InetAddress inetAddress = null; try { inetAddress = InetAddress.getLocalHost(); } catch (UnknownHostException e) { throw new RuntimeException(e); } System.out.println("本机 IP 地址: " + inetAddress.getHostAddress()); this.ip = inetAddress.getHostAddress(); } } UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
@@ -28,10 +28,7 @@ import com.stylefeng.guns.modular.system.util.*; import com.stylefeng.guns.modular.system.util.qianyuntong.EmployeeUtil; import com.stylefeng.guns.modular.system.util.qianyuntong.OrderUtil; import com.stylefeng.guns.modular.system.util.qianyuntong.model.AddAccountInfoRequest; import com.stylefeng.guns.modular.system.util.qianyuntong.model.ModifyTravelItineraryRequest; import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTPaymentCallback; import com.stylefeng.guns.modular.system.util.qianyuntong.model.QYTPaymentCallbackData; import com.stylefeng.guns.modular.system.util.qianyuntong.model.*; import com.stylefeng.guns.modular.system.util.zhenglian.ZhengLianUtil; import com.stylefeng.guns.modular.system.util.zhenglian.model.TradeTerminalInfo; import com.stylefeng.guns.modular.system.util.zhenglian.model.ZLUserInfo; @@ -180,6 +177,10 @@ /*顺风车司机*/ @Autowired private IDriverRideService driverRideService; @Autowired private IOrderPrivateCarService iOrderPrivateCarService; @Autowired private IIncomeService incomeService; /** @@ -2703,4 +2704,89 @@ } } /** * 手动生成追缴单 * @param orderId * @return */ @PostMapping("/base/saveCopyOrder") public ResultUtil saveCopyOrder(Integer orderId){ try { OrderPrivateCar orderPrivateCar = iOrderPrivateCarService.selectById(orderId); Double orderMoney = (2 == orderPrivateCar.getAbnormal() && 2 == orderPrivateCar.getAbnormalStatus() ? orderPrivateCar.getResponsibilityMoney().doubleValue() : orderPrivateCar.getOrderMoney()); //copy原始订单后生成追缴单 OrderPrivateCar orderPrivateCar1 = new OrderPrivateCar(); BeanUtils.copyProperties(orderPrivateCar, orderPrivateCar1); orderPrivateCar1.setId(null); orderPrivateCar1.setRecoveryOrder(1); orderPrivateCar1.setIsGenerateRecoveryOrder(0); orderPrivateCar1.setOldOrderId(orderPrivateCar.getId()); orderPrivateCar1.setRecoveryOrderCreateDate(new Date()); orderPrivateCar1.setAbnormal(1); orderPrivateCar1.setResponsibilityType(null); orderPrivateCar1.setResponsibilityMoney(null); orderPrivateCar1.setAbnormalRemark(null); orderPrivateCar1.setAbnormalIntro(null); orderPrivateCar1.setPromotionMoney(null); orderPrivateCar1.setPromotionDriverId(null); orderPrivateCar1.setPromotionActivityId(null); orderPrivateCar1.setSuccessTime(null); orderPrivateCar1.setPromotion(1); orderPrivateCar1.setPromotionPhone(null); orderPrivateCar1.setPromotionUser(null); //修改原始订单为支付状态 orderPrivateCar.setState(9); orderPrivateCar.setPayType(5); orderPrivateCar.setPayMoney(orderMoney); orderPrivateCar.setPayTime(new Date()); orderPrivateCar.setIsGenerateRecoveryOrder(1); //添加收入 Map<String, Object> map = incomeService.saveIncome(orderPrivateCar.getId(), 1, orderMoney); orderPrivateCar.setSplitAllocation(JSON.toJSONString(map)); orderPrivateCarService.updateById(orderPrivateCar); //保存追缴单 orderPrivateCarService.insert(orderPrivateCar1); //添加三方支付记录 try { paymentRecordService.saveData(1, orderPrivateCar.getUserId(), 1, orderPrivateCar.getId(), 1, 3, orderMoney, "", 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); //修改订单状态为待支付 if(ToolUtil.isNotEmpty(orderPrivateCar1.getTravelId())){ 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); } }catch (Exception e){ e.printStackTrace(); } return ResultUtil.success(); } } UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -1689,14 +1689,6 @@ CancleOrder query = cancleOrderService.query(1, 3, openCity.getId()); if (null != query) { if (payType == 1) {//微信支付 String value = (String) redisTemplate.opsForValue().get("appletOpenId"); String appletsOpenId = null; if (ToolUtil.isNotEmpty(value)) { JSONObject jsonObject = JSON.parseObject(value); appletsOpenId = jsonObject.getString(uid.toString()); } else { appletsOpenId = userInfo.getAppletsOpenId(); } orderCancel.setPayType(1); orderCancelService.updateById(orderCancel); UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -484,6 +484,27 @@ //添加消息 systemNoticeService.addSystemNotice(1, "您的快车订单已下单成功,我们正在为您指派司机,请稍后!", orderPrivateCar.getUserId(), 1); baseWarpper.setId(orderPrivateCar.getId()); if(null != orderPrivateCar.getDriverId()){ Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId()); Company company = companyService.selectById(driver.getCompanyId()); //调三方订单中心创建行程单 CreateTravelItineraryRequest request = new CreateTravelItineraryRequest(); request.setOrderNo("PR" + orderPrivateCar.getId()); request.setCustomerId(userInfo.getOnconUUID()); request.setDriverId(driver.getEmpId().toString()); request.setSupplierShopId(company.getEnterCode()); if(orderPrivateCar.getPromotion() !=null && 2 == orderPrivateCar.getPromotion()){ Driver driver1 = driverService.selectById(orderPrivateCar.getPromotionDriverId()); request.setPromoterId(driver1.getEmpId().toString()); } request.setServiceType(2); String travelItinerary = OrderUtil.createTravelItinerary(request); orderPrivateCar.setTravelId(travelItinerary); this.insertOrUpdate(orderPrivateCar); } } catch (Exception e) { e.printStackTrace(); } finally { @@ -721,22 +742,6 @@ orderPrivateCar.setPromotionDriverId(promotion1); } Company company = companyService.selectById(driver.getCompanyId()); //调三方订单中心创建行程单 CreateTravelItineraryRequest request = new CreateTravelItineraryRequest(); request.setOrderNo("PR" + orderPrivateCar.getId()); request.setCustomerId(userInfo.getOnconUUID()); request.setDriverId(driver.getEmpId().toString()); request.setSupplierShopId(company.getEnterCode()); if(orderPrivateCar.getPromotion() !=null && 2 == orderPrivateCar.getPromotion()){ Driver driver1 = driverService.selectById(orderPrivateCar.getPromotionDriverId()); request.setPromoterId(driver1.getEmpId().toString()); } request.setServiceType(2); String travelItinerary = OrderUtil.createTravelItinerary(request); orderPrivateCar.setTravelId(travelItinerary); this.insertOrUpdate(orderPrivateCar); //修改总订单人数 OrderPrivateCar orderPrivateCar2 = new OrderPrivateCar(); orderPrivateCar2.setSpellSuccess(1); @@ -772,6 +777,24 @@ //添加消息 systemNoticeService.addSystemNotice(1, "您的快车订单已下单成功,我们正在为您指派司机,请稍后!", orderPrivateCar.getUserId(), 1); baseWarpper.setId(orderPrivateCar.getId()); if(null != orderPrivateCar.getDriverId()){ Driver driver = driverService.selectById(orderPrivateCar.getDriverId()); Company company = companyService.selectById(driver.getCompanyId()); //调三方订单中心创建行程单 CreateTravelItineraryRequest request = new CreateTravelItineraryRequest(); request.setOrderNo("PR" + orderPrivateCar.getId()); request.setCustomerId(userInfo.getOnconUUID()); request.setDriverId(driver.getEmpId().toString()); request.setSupplierShopId(company.getEnterCode()); if(orderPrivateCar.getPromotion() !=null && 2 == orderPrivateCar.getPromotion()){ Driver driver1 = driverService.selectById(orderPrivateCar.getPromotionDriverId()); request.setPromoterId(driver1.getEmpId().toString()); } request.setServiceType(2); String travelItinerary = OrderUtil.createTravelItinerary(request); orderPrivateCar.setTravelId(travelItinerary); this.insertOrUpdate(orderPrivateCar); } } catch (Exception e) { e.printStackTrace(); } finally { @@ -1138,14 +1161,6 @@ CancleOrder query = cancleOrderService.query(orderPrivateCar.getOrderType(), 1, openCity.getId()); if (null != query) { if (payType == 1) {//微信支付 String value = (String) redisTemplate.opsForValue().get("appletOpenId"); String appletsOpenId = null; if (ToolUtil.isNotEmpty(value)) { JSONObject jsonObject = JSON.parseObject(value); appletsOpenId = jsonObject.getString(uid.toString()); } else { appletsOpenId = userInfo.getAppletsOpenId(); } orderCancel.setPayType(1); orderCancelService.updateById(orderCancel); String app = type == 1 ? "APP" : "JSAPI"; UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -599,15 +599,6 @@ } if (type == 2) {//小程序登录 String value = (String) redisTemplate.opsForValue().get("appletOpenId"); JSONObject jsonObject = null; if (ToolUtil.isNotEmpty(value)) { jsonObject = JSON.parseObject(value); } else { jsonObject = new JSONObject(); } jsonObject.put(userInfo.getId().toString(), userInfo.getAppletsOpenId()); redisTemplate.opsForValue().set("appletOpenId", jsonObject.toJSONString()); //调用单点登录的逻辑 this.singlePointLogin(userInfo.getId(), loginType); String token = this.getToken(userInfo, "", loginType); @@ -651,7 +642,8 @@ */ @Override public ResultUtil<LoginWarpper> wxLogins(Integer type, String openid, String unionid, String jscode, String registIp, String registAreaCode, Integer sex, String nickName, String avatar,String loginType,String phone,String encryptedData, String iv) throws Exception { String registAreaCode, Integer sex, String nickName, String avatar,String loginType, String phone,String encryptedData, String iv) throws Exception { UserInfo userInfo = null; String sessionKey=null; if(type == 2){//小程序 @@ -741,7 +733,7 @@ }else { userInfo.setCompanyId(1); } if(null == userInfo.getId()){ if(null != userInfo.getId()){ userInfoMapper.updateById(userInfo); }else{ this.insert(userInfo); @@ -764,15 +756,6 @@ } if (type == 2) {//小程序登录 String value = (String) redisTemplate.opsForValue().get("appletOpenId"); JSONObject jsonObject = null; if (ToolUtil.isNotEmpty(value)) { jsonObject = JSON.parseObject(value); } else { jsonObject = new JSONObject(); } jsonObject.put(userInfo.getId().toString(), userInfo.getAppletsOpenId()); redisTemplate.opsForValue().set("appletOpenId", jsonObject.toJSONString()); //调用单点登录的逻辑 this.singlePointLogin(userInfo.getId(), loginType); String token = this.getToken(userInfo, "", loginType); @@ -822,51 +805,6 @@ return null; } public static String sendGet(String url, String param) { String result = ""; BufferedReader in = null; try { String urlNameString = url + "?" + param; URL realUrl = new URL(urlNameString); // 打开和URL之间的连接 URLConnection connection = realUrl.openConnection(); // 设置通用的请求属性 connection.setRequestProperty("accept", "*/*"); connection.setRequestProperty("connection", "Keep-Alive"); connection.setRequestProperty("User-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"); connection.setRequestProperty("Authorization", "Token iVXSeqMEhdYvAj2bgA8tiWdE"); // 建立实际的连接 connection.connect(); // 获取所有响应头字段 Map<String, List<String>> map = connection.getHeaderFields(); // 遍历所有的响应头字段 for (String key : map.keySet()) { System.out.println(key + "--->" + map.get(key)); } // 定义 BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader( connection.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送GET请求出现异常!" + e); e.printStackTrace(); } // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } /** * 忘记密码操作 @@ -949,21 +887,6 @@ userInfo1.setNickName(userInfo.getNickName()); userInfo1.setOnconUUID(onconUUID); this.updateById(userInfo1); if (ToolUtil.isNotEmpty(loginType) && loginType.equals("Applets")) {//小程序登录后绑定手机号码 String value = (String) redisTemplate.opsForValue().get("appletOpenId"); JSONObject jsonObject = null; if (ToolUtil.isNotEmpty(value)) { jsonObject = JSON.parseObject(value); jsonObject.remove(userInfo.getId().toString());//删除原有账号缓存的数据 } else { jsonObject = new JSONObject(); } jsonObject.put(userInfo1.getId().toString(), userInfo.getAppletsOpenId()); redisTemplate.opsForValue().set("appletOpenId", jsonObject.toJSONString()); } this.deleteById(userInfo.getId());//删除原有数据 //还原之前账号领取的注册优惠券 @@ -1026,8 +949,11 @@ }else{ key = requestHeader; } String value = (String) redisTemplate.opsForValue().get(key); return null != value ? Integer.valueOf(value) : null; Object o = redisTemplate.opsForValue().get(key); if(null == o || "null".equals(o.toString())){ return null; } return Integer.valueOf(o.toString()); }else{ return null; } @@ -1086,14 +1012,6 @@ return ResultUtil.error("支付金额必须大于0元"); } if(payType == 1){//微信支付 String value = (String) redisTemplate.opsForValue().get("appletOpenId"); String appletsOpenId = null; if(ToolUtil.isNotEmpty(value)){ JSONObject jsonObject = JSON.parseObject(value); appletsOpenId = jsonObject.getString(uid.toString()); }else{ appletsOpenId = userInfo.getAppletsOpenId(); } Integer integer = paymentRecordService.saveData(2, uid, 1, null, null, 1, money, "", 1);//添加预支付数据 String app = type == 1 ? "APP" : "JSAPI"; return payMoneyUtil.weixinpay("余额充值", uid.toString(), integer.toString(), money.toString(), "/base/wxCancelUserBalance", app, userInfo.getAppletsOpenId()); @@ -1305,16 +1223,6 @@ Map<String, String> map = weChatUtil.code2Session(jscode); String openid = map.get("openid"); String unionid = map.get("unionid"); //将当前小程序openid存储到缓存中用后面的支付时使用 String value = (String) redisTemplate.opsForValue().get("appletOpenId"); JSONObject jsonObject = null; if(ToolUtil.isNotEmpty(value)){ jsonObject = JSON.parseObject(value); }else{ jsonObject = new JSONObject(); } jsonObject.put(userId.toString(), openid); redisTemplate.opsForValue().set("appletOpenId", jsonObject.toJSONString()); return ResultUtil.success(); } @@ -1590,20 +1498,20 @@ * @return */ private String getToken(UserInfo userInfo, String password,String type) throws Exception{ if(ToolUtil.isEmpty(type))type="APP"; // if(ToolUtil.isEmpty(type))type="APP"; //封装请求账号密码为shiro可验证的token UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken(userInfo.getPhone(), password.toCharArray()); String credentials = userInfo.getPassWord(); ByteSource credentialsSalt = new Md5Hash(salt); SimpleAuthenticationInfo simpleAuthenticationInfo = new SimpleAuthenticationInfo( new ShiroUser(), credentials, credentialsSalt, ""); // UsernamePasswordToken usernamePasswordToken = new UsernamePasswordToken(userInfo.getPhone(), password.toCharArray()); // String credentials = userInfo.getPassWord(); // ByteSource credentialsSalt = new Md5Hash(salt); // SimpleAuthenticationInfo simpleAuthenticationInfo = new SimpleAuthenticationInfo( // new ShiroUser(), credentials, credentialsSalt, ""); //校验用户账号密码 HashedCredentialsMatcher md5CredentialsMatcher = new HashedCredentialsMatcher(); md5CredentialsMatcher.setHashAlgorithmName(ShiroKit.hashAlgorithmName); md5CredentialsMatcher.setHashIterations(ShiroKit.hashIterations); boolean passwordTrueFlag = md5CredentialsMatcher.doCredentialsMatch( usernamePasswordToken, simpleAuthenticationInfo); // HashedCredentialsMatcher md5CredentialsMatcher = new HashedCredentialsMatcher(); // md5CredentialsMatcher.setHashAlgorithmName(ShiroKit.hashAlgorithmName); // md5CredentialsMatcher.setHashIterations(ShiroKit.hashIterations); // boolean passwordTrueFlag = md5CredentialsMatcher.doCredentialsMatch( // usernamePasswordToken, simpleAuthenticationInfo); String s = JwtTokenUtil.generateToken(String.valueOf(userInfo.getId())); redisTemplate.opsForValue().set(s.substring(s.length() - 32), String.valueOf(userInfo.getId()), 30, TimeUnit.DAYS); redisTemplate.opsForValue().set("USER_" + type + "_" + userInfo.getPhone(), s.substring(s.length() - 32)); UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java
@@ -22,10 +22,15 @@ import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.web.context.WebServerInitializedEvent; import org.springframework.boot.web.server.WebServer; import org.springframework.context.ApplicationListener; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.math.BigDecimal; import java.net.InetAddress; import java.net.UnknownHostException; import java.util.*; @@ -34,7 +39,7 @@ */ @Slf4j @Component public class TaskUtil { public class TaskUtil implements ApplicationListener<WebServerInitializedEvent> { @Autowired private IUserCouponRecordService userCouponRecordService; @@ -72,6 +77,8 @@ private IDriverService driverService; @Autowired private ICompanyService companyService; private String ip = null; /** @@ -79,62 +86,61 @@ */ @Scheduled(fixedRate = 1000 * 60) public void taskMinute() { try { //处理超时未支付的订单 timoutNoPayment(); //修改过期的优惠券 userCouponRecordService.updateTimeOut(); //修改过期的商家优惠券 userMerchantCouponService.updateExpired(); } catch (Exception e) { e.printStackTrace(); if(null != ip && "10.31.182.11".equals(ip)){ try { //处理超时未支付的订单 timoutNoPayment(); //修改过期的优惠券 userCouponRecordService.updateTimeOut(); //修改过期的商家优惠券 userMerchantCouponService.updateExpired(); } catch (Exception e) { e.printStackTrace(); } } } /** * 每天的凌晨执行的任务 */ @Scheduled(fixedRate = 1000 * 60) public void taskDay() { } /** * 每天中午12点发送提醒短信 */ @Scheduled(cron = "0 0 12 * * ?") public void taskMonth() { try { List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().eq("isDelete", 1) .eq("state", 7).eq("abnormal", 1) .last(" and now() > DATE_ADD(endServiceTime, INTERVAL 24 HOUR)")); for (OrderPrivateCar orderPrivateCar : orderPrivateCars) { UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId()); SendSmsRequest request = new SendSmsRequest(); request.setDestAddress(userInfo.getPhone()); request.setTemplateId("TPL202507300002"); Map<String, String> templateParams = new HashMap<>(); request.setTemplateParams(templateParams); request.setSpId("Y86asr7J"); SMSUtil.sendSms(request); if(null != ip && "10.31.182.11".equals(ip)){ try { List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().eq("isDelete", 1) .eq("state", 7).eq("abnormal", 1) .last(" and now() > DATE_ADD(endServiceTime, INTERVAL 24 HOUR)")); for (OrderPrivateCar orderPrivateCar : orderPrivateCars) { UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId()); SendSmsRequest request = new SendSmsRequest(); request.setDestAddress(userInfo.getPhone()); request.setTemplateId("TPL202507300002"); Map<String, String> templateParams = new HashMap<>(); request.setTemplateParams(templateParams); request.setSpId("Y86asr7J"); SMSUtil.sendSms(request); } List<OrderTaxi> orderTaxis = orderTaxiService.selectList(new EntityWrapper<OrderTaxi>().eq("isDelete", 1) .eq("state", 7).eq("abnormal", 1) .last(" and now() > DATE_ADD(endServiceTime, INTERVAL 24 HOUR)")); for (OrderTaxi orderTaxi : orderTaxis) { UserInfo userInfo = userInfoService.selectById(orderTaxi.getUserId()); SendSmsRequest request = new SendSmsRequest(); request.setDestAddress(userInfo.getPhone()); request.setTemplateId("TPL202507300002"); Map<String, String> templateParams = new HashMap<>(); request.setTemplateParams(templateParams); request.setSpId("Y86asr7J"); SMSUtil.sendSms(request); } } catch (Exception e) { e.printStackTrace(); } List<OrderTaxi> orderTaxis = orderTaxiService.selectList(new EntityWrapper<OrderTaxi>().eq("isDelete", 1) .eq("state", 7).eq("abnormal", 1) .last(" and now() > DATE_ADD(endServiceTime, INTERVAL 24 HOUR)")); for (OrderTaxi orderTaxi : orderTaxis) { UserInfo userInfo = userInfoService.selectById(orderTaxi.getUserId()); SendSmsRequest request = new SendSmsRequest(); request.setDestAddress(userInfo.getPhone()); request.setTemplateId("TPL202507300002"); Map<String, String> templateParams = new HashMap<>(); request.setTemplateParams(templateParams); request.setSpId("Y86asr7J"); SMSUtil.sendSms(request); } } catch (Exception e) { e.printStackTrace(); } } @@ -297,4 +303,22 @@ } } } @Override public void onApplicationEvent(WebServerInitializedEvent event) { // 获取环境对象 WebServer webServer = event.getWebServer(); // 获取端口号 int port = webServer.getPort(); // 打印端口号 System.out.println("Spring Boot应用已启动,访问端口:" + port); InetAddress inetAddress = null; try { inetAddress = InetAddress.getLocalHost(); } catch (UnknownHostException e) { throw new RuntimeException(e); } System.out.println("本机 IP 地址: " + inetAddress.getHostAddress()); this.ip = inetAddress.getHostAddress(); } } UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -615,14 +615,6 @@ System.out.println("取消订单:" + query); if (null != query) { if (payType == 1) {//微信支付 String value = (String) redisTemplate.opsForValue().get("appletOpenId"); String appletsOpenId = null; if (ToolUtil.isNotEmpty(value)) { JSONObject jsonObject = JSON.parseObject(value); appletsOpenId = jsonObject.getString(uid.toString()); } else { appletsOpenId = userInfo.getAppletsOpenId(); } orderCancel.setPayType(1); orderCancelService.updateById(orderCancel); String app = type == 1 ? "APP" : "JSAPI";