From 954dd6d15ad6a32098f252e7db52459231566b2b Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 10 九月 2025 17:28:24 +0800
Subject: [PATCH] 提交代码

---
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java |   55 ++++++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 46 insertions(+), 9 deletions(-)

diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java
index dec6d88..b1ef427 100644
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java
@@ -1,6 +1,9 @@
 package com.supersavedriving.driver.modular.system.service.impl;
 
-import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.http.HttpRequest;
+import cn.hutool.http.HttpResponse;
+import cn.hutool.http.HttpUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
@@ -18,12 +21,13 @@
 import com.supersavedriving.driver.modular.system.util.MallBook.util.TrhRequest;
 import com.supersavedriving.driver.modular.system.util.*;
 import com.supersavedriving.driver.modular.system.util.MiniPay.MiniAppPay;
-import com.supersavedriving.driver.modular.system.util.huawei.OBSUtil;
 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.rongyun.RongYunUtil;
 import com.supersavedriving.driver.modular.system.util.weChat.WeChatUtil;
 import com.supersavedriving.driver.modular.system.util.weChat.model.Code2Session;
 import com.supersavedriving.driver.modular.system.warpper.*;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang.StringUtils;
 import org.apache.shiro.authc.SimpleAuthenticationInfo;
 import org.apache.shiro.authc.UsernamePasswordToken;
@@ -45,7 +49,9 @@
 import org.springframework.web.context.request.RequestContextHolder;
 import org.springframework.web.context.request.ServletRequestAttributes;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.io.File;
 import java.io.InputStream;
 import java.math.BigDecimal;
 import java.math.BigInteger;
@@ -62,6 +68,7 @@
 * @author pzb
 * @Date 2023/2/8 18:52
 */
+@Slf4j
 @Service
 public class DriverServiceImpl extends ServiceImpl<DriverMapper, Driver> implements IDriverService {
 
@@ -86,6 +93,9 @@
 
     @Value("${filePath}")
     private String filePath;
+
+    @Value("${qyt.admin_url}")
+    private String adminUrl;
 
     @Autowired
     private IAppUserService appUserService;
@@ -119,6 +129,9 @@
 
     @Autowired
     private WeChatUtil weChatUtil;
+    
+    @Resource
+    private QianYunTongConfig qianYunTongConfig;
 
     @Autowired
     private IDriverOnlineTimeService driverOnlineTimeService;
@@ -209,14 +222,30 @@
     //生成小程序二维码
     public String wechatMiniProgramORCode(Integer driverId) throws Exception{
         InputStream release = weChatUtil.getwxacodeunlimit("pages/index/index", "driverId=" + driverId, "release");
-        String s = OssUploadUtil.ossUpload(release, "driver_" + driverId + "_" + UUIDUtil.getNumberRandom(5) + ".jpg");
-        return s;
+        String pictureName = "driver_" + driverId + ".png";
+        File file = FileUtil.writeFromStream(release, new File(filePath + pictureName));
+        HttpRequest post = HttpUtil.createPost(adminUrl + "/upload/image");
+        post.form("file", file);
+        HttpResponse execute = post.execute();
+        int status = execute.getStatus();
+        if(200 != status){
+            throw new RuntimeException("上传图片异常");
+        }
+        return execute.body();
     }
     //司机下单二维码
     public String wechatMiniOrderQRCode(Integer driverId) throws Exception{
         InputStream release = weChatUtil.getwxacodeunlimitOrder("pages/index/index", "driverIds=" + driverId, "release");
-        String s = OssUploadUtil.ossUpload(release, "driverOrder_" + driverId + "_" + UUIDUtil.getNumberRandom(5) + ".jpg");
-        return s;
+        String pictureName = "driver_" + driverId + ".png";
+        File file = FileUtil.writeFromStream(release, new File(filePath + pictureName));
+        HttpRequest post = HttpUtil.createPost(adminUrl + "/upload/image");
+        post.form("file", file);
+        HttpResponse execute = post.execute();
+        int status = execute.getStatus();
+        if(200 != status){
+            throw new RuntimeException("上传图片异常");
+        }
+        return execute.body();
     }
 
 
@@ -339,6 +368,11 @@
         return ResultUtil.success(tokenWarpper);
     }
 
+
+    public static void main(String[] args) {
+        String s = ShiroKit.md5(MD5AndKL.MD5("123456"), "i#sm4");
+        System.out.println(s);
+    }
 
     /**
      * 司机密码登录
@@ -506,7 +540,7 @@
         if(null == driverWork){
             return ResultUtil.error("请先上班");
         }
-        String value = redisUtil.getValue("DRIVER" + uid);
+        String value = redisUtil.getValue("daijia:DRIVER" + uid);
         List<String> list = new ArrayList<>();
         if(ToolUtil.isNotEmpty(value)){
             String[] split = value.split(",");
@@ -534,7 +568,7 @@
                         i = 3;
                     }
                 }
-                String value1 = redisUtil.getValue("DRIVER" + s.getDriverId());
+                String value1 = redisUtil.getValue("daijia:DRIVER" + s.getDriverId());
                 if(s.getDriverId().compareTo(uid) != 0 && ToolUtil.isNotEmpty(value1)){
                     list.add(s.getLocation().getX() + "," + s.getLocation().getY()+","+i+","+driver.getName());
                 }
@@ -576,7 +610,8 @@
         Double lat = driverPositionWarpper.getLat();
         Integer driverId = driverPositionWarpper.getDriverId();
         Integer orderId = driverPositionWarpper.getOrderId();
-        redisUtil.setStrValue("DRIVER" + driverId, lon + "," + lat, 30);
+        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);
         if (Objects.isNull(old)) {
@@ -744,6 +779,8 @@
                 .eq("state", 2).last(" and failureTime > now() order by failureTime limit 0, 1"));
         if(null != youTuiDriver){
             driverInfo.setYouTuiEnd(youTuiDriver.getType() == 1 ? youTuiDriver.getFailureTime().getTime() : youTuiDriver.getEndTime().getTime());
+            driverInfo.setType(youTuiDriver.getType());
+            driverInfo.setSurplusQuantity(youTuiDriver.getSurplusQuantity());
         }
         List<Integer> state = Arrays.asList(107, 108, 109);
         int count = orderService.selectCount(new EntityWrapper<Order>().eq("driverId", uid).eq("status", 1).in("state", state).last(" and DATE_FORMAT(createTime, '%Y-%m-%d') = DATE_FORMAT(now(), '%Y-%m-%d')"));

--
Gitblit v1.7.1