driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java
@@ -19,15 +19,19 @@ import com.supersavedriving.driver.modular.system.util.ResultUtil; import com.supersavedriving.driver.modular.system.util.UUIDUtil; import com.supersavedriving.driver.modular.system.util.juhe.OCRUtil; import com.supersavedriving.driver.modular.system.util.qianyuntong.EmployeeUtil; import com.supersavedriving.driver.modular.system.util.qianyuntong.SMSUtil; import com.supersavedriving.driver.modular.system.util.qianyuntong.UserUtil; import com.supersavedriving.driver.modular.system.util.qianyuntong.model.AddAccountInfoRequest; import com.supersavedriving.driver.modular.system.util.qianyuntong.model.QYTUserInfo; import com.supersavedriving.driver.modular.system.util.qianyuntong.model.SendSmsRequest; import com.supersavedriving.driver.modular.system.util.separateAccounts.StrUtil; import com.supersavedriving.driver.modular.system.util.separateAccounts.TransferUtil; import com.supersavedriving.driver.modular.system.util.zhenglian.TokenUtil; import com.supersavedriving.driver.modular.system.util.zhenglian.ZhengLianUtil; import com.supersavedriving.driver.modular.system.util.zhenglian.model.TokenRequest; import com.supersavedriving.driver.modular.system.util.zhenglian.model.TradeTerminalInfo; import com.supersavedriving.driver.modular.system.util.zhenglian.model.ZLUserInfo; import com.supersavedriving.driver.modular.system.warpper.*; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -43,6 +47,8 @@ import java.io.File; import java.io.InputStream; import java.io.PrintWriter; import java.net.InetAddress; import java.net.NetworkInterface; import java.time.LocalDateTime; import java.util.HashMap; import java.util.List; @@ -1430,13 +1436,48 @@ "\t 09 开通支付账户\n" + "\t 10 打开付款码", name = "type", required = true, dataType = "String"), }) public ResponseWarpper<String> getZLToken(String ip, String mac, String type, HttpServletRequest request){ public ResponseWarpper<String> getZLToken(String ip, String mac, String type){ try { Integer uid = driverService.getUserByRequest(); if(null == uid){ return ResponseWarpper.tokenErr(); } Driver driver = driverService.selectById(uid); //获取证联数据 if(null == driver.getCustId() || 0 == driver.getAccOpenFlag()){ TradeTerminalInfo tradeTerminalInfo = new TradeTerminalInfo(); tradeTerminalInfo.setTerminal("1"); InetAddress inetAddress = InetAddress.getLocalHost(); tradeTerminalInfo.setIp(inetAddress.getHostAddress()); NetworkInterface networkInterface = NetworkInterface.getByInetAddress(inetAddress); byte[] mac1 = networkInterface.getHardwareAddress(); StringBuilder macAddress = new StringBuilder(); for (int i = 0; i < mac1.length; i++) { macAddress.append(String.format("%02X%s", mac1[i], (i < mac1.length - 1) ? "-" : "")); } tradeTerminalInfo.setMac(macAddress.toString()); ZLUserInfo userInfo = ZhengLianUtil.getUserInfo(driver.getEmpId().toString(), tradeTerminalInfo); if(null != userInfo){ driver.setCustId(userInfo.getCustId()); driver.setAccOpenFlag(userInfo.getAccOpenFlag()); driverService.updateById(driver); } } //同步到中台 if(null != driver.getAccOpenFlag() && 1 == driver.getAccOpenFlag() && 0 == driver.getIsSynchronous()){ AddAccountInfoRequest request = new AddAccountInfoRequest(); request.setCustId(driver.getCustId()); request.setAccountNo(driver.getEmpId().toString()); request.setAccountName(driver.getName()); request.setMobile(driver.getPhone()); Integer status = EmployeeUtil.addAccountInfo(request); if(0 == status){ driver.setIsSynchronous(1); driverService.updateById(driver); } } TokenRequest tokenRequest = new TokenRequest(); tokenRequest.setAppUserId(driver.getEmpId().toString()); tokenRequest.setUserName(driver.getName()); driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/OrderController.java
@@ -388,6 +388,10 @@ return new ResponseWarpper(500, e.getMessage()); } } @ResponseBody @PostMapping("/api/order/transferOrderVerify") // @ServiceLog(name = "司机转单操作", url = "/api/order/transferOrder") driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java
@@ -23,6 +23,7 @@ import com.supersavedriving.driver.modular.system.util.MiniPay.MiniAppPay; import com.supersavedriving.driver.modular.system.util.mongodb.model.Location; import com.supersavedriving.driver.modular.system.util.qianyuntong.QianYunTongConfig; import com.supersavedriving.driver.modular.system.util.qianyuntong.UserUtil; import com.supersavedriving.driver.modular.system.util.rongyun.RongYunUtil; import com.supersavedriving.driver.modular.system.util.weChat.WeChatUtil; import com.supersavedriving.driver.modular.system.util.weChat.model.Code2Session; @@ -165,6 +166,10 @@ if(null != driver && driver.getApprovalStatus() == 2){ return ResultUtil.error("该手机账号已审核通过,请直接登录。"); } Boolean b = UserUtil.idCardAuth(driverRegisterWarpper.getName(), driverRegisterWarpper.getIdcard()); if(b){ return ResultUtil.error("姓名和身份证号码不匹配"); } //账号审核拒绝后的处理 if(null != driver && driver.getApprovalStatus() == 3){ @@ -184,6 +189,8 @@ }catch (Exception e){ return ResultUtil.error(e.getMessage()); } driver.setSex(1); driver.setPassword(ShiroKit.md5("123456", salt)); driver.setCreateTime(new Date()); this.insert(driver); String s = wechatMiniProgramORCode(driver.getId()); @@ -611,7 +618,7 @@ Double lat = driverPositionWarpper.getLat(); Integer driverId = driverPositionWarpper.getDriverId(); Integer orderId = driverPositionWarpper.getOrderId(); log.info("存储地理空间:{}", driverPositionWarpper); // log.info("存储地理空间:{}", driverPositionWarpper); redisUtil.setStrValue("daijia:DRIVER" + driverId, lon + "," + lat, 30); Query query = Query.query(Criteria.where("driverId").is(driverId)); Location old = this.mongoTemplate.findOne(query, Location.class); @@ -655,7 +662,6 @@ driver1.setReferralCode(s); this.updateById(driver1); } // promotionWarpper.setUrl("https://chaoshengdaijia.com/share/driverShare/index.html?inviterId=" + uid); promotionWarpper.setUrl(driver1.getReferralCode()); int user =0; List<AppUser> appUsers = appUserService.selectList(new EntityWrapper<AppUser>().eq("inviterType", 2).eq("inviterId", uid).eq("status", 1)); @@ -797,8 +803,12 @@ driverInfo.setOnline(second); } driverInfo.setWechatAuthorization(driver.getOpenid() == null ? 0 : 1); Agent agent = agentService.selectById(driver.getAgentId()); driverInfo.setServiceCalls(agent.getServiceCalls()); driverInfo.setServiceCalls(""); SystemConfig systemConfig = systemConfigService.selectOne(new EntityWrapper<SystemConfig>().eq("type", 7).eq("companyType", 1).eq("status", 2)); if(null != systemConfig){ JSONObject jsonObject = JSON.parseObject(systemConfig.getContent()); driverInfo.setServiceCalls(jsonObject.getString("num1")); } if (driverInfo.getWithdrawBalance()==null){ driverInfo.setWithdrawBalance(0.00); } driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverWorkServiceImpl.java
@@ -137,12 +137,12 @@ List<Driver> drivers = driverService.selectList(new EntityWrapper<Driver>().eq("approvalStatus", 2).eq("status", 1).lt("balance", num1)); for (Driver driver : drivers) { if (driver.getVipEndTime()==null||driver.getVipEndTime().isBefore(LocalDateTime.now())){ DriverWork driverWork = this.selectOne(new EntityWrapper<DriverWork>().eq("driverId", driver.getId()).eq("status", 1)); if(null != driverWork){ driverWork.setStatus(2); driverWork.setOffWorkTime(new Date()); this.updateById(driverWork); } DriverWork driverWork = this.selectOne(new EntityWrapper<DriverWork>().eq("driverId", driver.getId()).eq("status", 1)); if(null != driverWork){ driverWork.setStatus(2); driverWork.setOffWorkTime(new Date()); this.updateById(driverWork); } }else { if (driver.getBalance()<num1){ DriverWork driverWork = this.selectOne(new EntityWrapper<DriverWork>().eq("driverId", driver.getId()).eq("status", 1)); driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/OrderServiceImpl.java
@@ -770,50 +770,13 @@ */ @Override public List<HallOrderList> queryOrderHall(Integer uid, Integer pageNum, Integer pageSize) throws Exception { Driver driver = driverService.selectById(uid); //获取证联数据 if(null == driver.getCustId() || 0 == driver.getAccOpenFlag()){ TradeTerminalInfo tradeTerminalInfo = new TradeTerminalInfo(); tradeTerminalInfo.setTerminal("1"); InetAddress inetAddress = InetAddress.getLocalHost(); String ip = inetAddress.getHostAddress(); tradeTerminalInfo.setIp(ip); NetworkInterface networkInterface = NetworkInterface.getByInetAddress(inetAddress); byte[] mac = networkInterface.getHardwareAddress(); StringBuilder macAddress = new StringBuilder(); for (int i = 0; i < mac.length; i++) { macAddress.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : "")); } tradeTerminalInfo.setMac(macAddress.toString()); ZLUserInfo userInfo = ZhengLianUtil.getUserInfo(driver.getEmpId().toString(), tradeTerminalInfo); if(null != userInfo){ driver.setCustId(userInfo.getCustId()); driver.setAccOpenFlag(userInfo.getAccOpenFlag()); driverService.updateById(driver); } } //同步到中台 if(null != driver.getAccOpenFlag() && 1 == driver.getAccOpenFlag() && 0 == driver.getIsSynchronous()){ AddAccountInfoRequest request = new AddAccountInfoRequest(); request.setCustId(driver.getCustId()); request.setAccountNo(driver.getEmpId().toString()); request.setAccountName(driver.getName()); request.setMobile(driver.getPhone()); Integer status = EmployeeUtil.addAccountInfo(request); if(0 == status){ driver.setIsSynchronous(1); driverService.updateById(driver); } } pageNum = (pageNum - 1) * pageSize; String value = redisUtil.getValue("daijia:DRIVER" + uid); List<HallOrderList> hallOrderLists = this.baseMapper.queryOrderHall(pageNum, pageSize); List<HallOrderList> lists = new ArrayList<>(); hallOrderLists.forEach(hallOrderList -> { if(ToolUtil.isEmpty(hallOrderList.getAvatar())){ hallOrderList.setAvatar("https://csxdj.obs.cn-south-1.myhuaweicloud.com:443/66cc269703a84e4da87fb21e2c21ab1f.png"); hallOrderList.setAvatar("https://traffic.qytzt.cn/v1/AUTH_d8bef0a04db511f0b79d01a3e2b7587e/qyt20250702/imgs/management/d081e7a9-13d4-4eec-afb6-afd10885a664.png"); } hallOrderList.setCurrentDistance(0D); if(ToolUtil.isNotEmpty(value)){ @@ -1066,7 +1029,7 @@ orderInfoWarpper.setBalance(null == appUser ? 0D : appUser.getAccountBalance()); orderInfoWarpper.setCurrentDistance(0D); if(ToolUtil.isEmpty(orderInfoWarpper.getAvatar())){ orderInfoWarpper.setAvatar("https://csxdj.obs.cn-south-1.myhuaweicloud.com:443/66cc269703a84e4da87fb21e2c21ab1f.png"); orderInfoWarpper.setAvatar("https://traffic.qytzt.cn/v1/AUTH_d8bef0a04db511f0b79d01a3e2b7587e/qyt20250702/imgs/management/d081e7a9-13d4-4eec-afb6-afd10885a664.png"); } String value = redisUtil.getValue("daijia:DRIVER" + uid); orderInfoWarpper.setPickUpTime(0); driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/TOrderCheckServiceImpl.java
@@ -73,7 +73,7 @@ } CheckOrderInfoWarpper orderInfoWarpper = this.baseMapper.queryOrderInfo(orderId); if(ToolUtil.isEmpty(orderInfoWarpper.getAvatar())){ orderInfoWarpper.setAvatar("https://csxdj.obs.cn-south-1.myhuaweicloud.com:443/66cc269703a84e4da87fb21e2c21ab1f.png"); orderInfoWarpper.setAvatar("https://traffic.qytzt.cn/v1/AUTH_d8bef0a04db511f0b79d01a3e2b7587e/qyt20250702/imgs/management/d081e7a9-13d4-4eec-afb6-afd10885a664.png"); } orderInfoWarpper.setDriverId(order.getDriverId()); Driver driver = driverService.selectById(orderInfoWarpper.getDriverId()); user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/AppUserServiceImpl.java
@@ -190,6 +190,25 @@ } JSONObject phone = JSON.parseObject(decrypt); String purePhoneNumber = phone.getString("purePhoneNumber"); //调中台接口查询用户 List<QYTUserInfo> infoByPhone = UserUtil.getUserInfoByPhone(purePhoneNumber); String onconUUID = null; if (null == infoByPhone || infoByPhone.isEmpty()) { RegisterViaMobileRequest request = new RegisterViaMobileRequest(); request.setMobile(purePhoneNumber); request.setEncryptType("aesbase64"); request.setPassword(AESUtils.encryptBase64("123456")); request.setNickname("亲爱的用户"); RegisterViaMobile register = UserUtil.registerViaMobile(request); if (!"0".equals(register.getStatus())) { return ResultUtil.error(register.getDesc()); } onconUUID = register.getOnconUUID(); }else{ onconUUID = UserUtil.getOnconUUIDByMobile(purePhoneNumber); } AppUser appUser = this.selectOne(new EntityWrapper<AppUser>().eq("phone", purePhoneNumber).ne("status", 3)); if(null == appUser){ appUser = new AppUser(); @@ -202,10 +221,17 @@ appUser.setStatus(1); appUser.setCreateTime(new Date()); appUser.setIsException(1); appUser.setOnconUUID(onconUUID); if(null != signInToRegister.getInviterId()){ appUser.setInviterId(signInToRegister.getInviterId()); appUser.setInviterType(signInToRegister.getInviterType()); } //同步用户数据到打车系统 String s = AppUserUtil.addUser(purePhoneNumber, "", "", onconUUID); if(ToolUtil.isEmpty(s)){ return ResultUtil.error("登录失败"); } appUser.setTaxiUserId(Integer.valueOf(s)); this.insert(appUser); //发送优惠券 boolean lock = redisUtil.lock(5); @@ -267,7 +293,9 @@ if (!"1234".equals(code) && (null == value || !code.equals(String.valueOf(value)))) { return ResultUtil.paranErr("无效的验证码"); } if(ToolUtil.isEmpty(verificationCodeLogin.getJscode())){ return ResultUtil.paranErr("无效的jscode"); } Code2Session code2Session = weChatUtil.code2Session(verificationCodeLogin.getJscode()); if(null != code2Session.getErrcode() && code2Session.getErrcode() != 0){ return ResultUtil.error(code2Session.getErrmsg()); @@ -297,6 +325,8 @@ return ResultUtil.error(register.getDesc()); } onconUUID = register.getOnconUUID(); }else{ onconUUID = UserUtil.getOnconUUIDByMobile(phone); } if(null == appUser){ @@ -310,12 +340,10 @@ appUser.setStatus(1); appUser.setCreateTime(new Date()); appUser.setIsException(1); appUser.setOnconUUID(onconUUID); if(null != verificationCodeLogin.getInviterId()){ appUser.setInviterId(verificationCodeLogin.getInviterId()); appUser.setInviterType(verificationCodeLogin.getInviterType()); } if(null != onconUUID){ appUser.setOnconUUID(onconUUID); } //同步用户数据到打车系统 String s = AppUserUtil.addUser(phone, code, verificationCodeLogin.getAreaCode(), onconUUID); user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/DriverServiceImpl.java
@@ -103,7 +103,7 @@ // 构造query对象 Query query = Query.query(Criteria.where("location").withinSphere(circle)); List<Location> locations = mongoTemplate.find(query, Location.class); log.info("地理空间检索结果:{}", locations); // log.info("地理空间检索结果:{}", locations); List<Integer> collect = locations.stream().map(Location::getDriverId).collect(Collectors.toList()); if(collect.size() == 0){ return list; user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/OrderServiceImpl.java
@@ -533,7 +533,7 @@ request.setCustomerId(appUser.getOnconUUID()); request.setDriverId(driver.getEmpId().toString()); request.setSupplierShopId(branchOffice.getEnterCode()); request.setServiceType(2); request.setServiceType(5); String travelItinerary = OrderUtil.createTravelItinerary(request); order.setTravelId(travelItinerary); this.insertOrUpdate(order); @@ -753,12 +753,10 @@ @Override public void run() { Order order1 = OrderServiceImpl.this.selectById(order.getId()); if(order1.getState() != 101 && order1.getState() != 201 && order1.getState() != 301 && order1.getDriverId().compareTo(driver1.getId()) != 0){ if(order1.getState() == 201 || order1.getState() == 301 || (order1.getState() == 101 && null == order1.getDriverId())){ driver1.setServerStatus(1); driverService.updateById(driver1); } if(order1.getState() == 201 || order1.getState() == 301 || (order1.getState() == 101 && null == order1.getDriverId())){ }else if(order1.getState() != 101 && order1.getState() != 201 && order1.getState() != 301 && order1.getDriverId().compareTo(driver1.getId()) != 0){ driver1.setServerStatus(1); driverService.updateById(driver1); } @@ -1186,6 +1184,7 @@ if(null == order.getIsCreated() || 0 == order.getIsCreated()){ //调用中台创建订单及拉起支付接口 TradeOrderCreateData tradeOrderCreateData = new TradeOrderCreateData(); tradeOrderCreateData.setOrderId(order.getTravelId()); tradeOrderCreateData.setTreatShopId(driver.getEmpId().toString()); tradeOrderCreateData.setField1("{\"profitSharing\":\"1\",\"isCompensate\":\"0\",\"isPromote\":\"0\"}"); tradeOrderCreateData.setCharge(new BigDecimal(payMoney).setScale(2, RoundingMode.HALF_EVEN)); user/guns-admin/src/main/java/com/supersavedriving/user/modular/system/service/impl/TOrderCheckServiceImpl.java
@@ -396,7 +396,7 @@ } CheckOrderInfoWarpper orderInfoWarpper = this.baseMapper.queryOrderInfo(orderId); if(ToolUtil.isEmpty(orderInfoWarpper.getAvatar())){ orderInfoWarpper.setAvatar("https://csxdj.obs.cn-south-1.myhuaweicloud.com:443/66cc269703a84e4da87fb21e2c21ab1f.png"); orderInfoWarpper.setAvatar("https://traffic.qytzt.cn/v1/AUTH_d8bef0a04db511f0b79d01a3e2b7587e/qyt20250702/imgs/management/d081e7a9-13d4-4eec-afb6-afd10885a664.png"); } orderInfoWarpper.setDriverId(order.getDriverId()); Driver driver = driverService.selectById(orderInfoWarpper.getDriverId());