From ba6b508a44cb1f0730c6a27a5d73b8d2ae8f1d4b Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期二, 19 八月 2025 18:43:47 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/QYTDriving

---
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/service/impl/DriverServiceImpl.java |   69 +++++++++++++++++++++++++++++++---
 1 files changed, 62 insertions(+), 7 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..68a4ea6 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
@@ -5,6 +5,7 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.heredata.hos.model.bucket.Bucket;
 import com.supersavedriving.driver.core.common.constant.JwtConstants;
 import com.supersavedriving.driver.core.shiro.ShiroKit;
 import com.supersavedriving.driver.core.shiro.ShiroUser;
@@ -20,6 +21,8 @@
 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.NCOSSUtil;
+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;
@@ -45,6 +48,7 @@
 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.InputStream;
 import java.math.BigDecimal;
@@ -119,6 +123,9 @@
 
     @Autowired
     private WeChatUtil weChatUtil;
+    
+    @Resource
+    private QianYunTongConfig qianYunTongConfig;
 
     @Autowired
     private IDriverOnlineTimeService driverOnlineTimeService;
@@ -209,14 +216,60 @@
     //生成小程序二维码
     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";
+        QianYunTongConfig qianYunTongConfig1 = qianYunTongConfig.getQianYunTongConfig();
+        String bucketName = qianYunTongConfig1.getBucketName();
+        Bucket grjyTest = NCOSSUtil.getBucketInfo(bucketName);
+        if (null == grjyTest) {
+            //创建桶
+            Boolean bucket = NCOSSUtil.createBucket(bucketName);
+            if (!bucket) {
+                throw new RuntimeException("创建存储桶失败");
+            }
+            //设置桶策略
+            String policyText = "{\"Version\":\"2025-06-23\",\"Statement\":[{\"Sid\":\"Stmt20250623\",\"Action\":[\"GetObject\"],\"Effect\":\"Allow\",\"Resource\":\"" + bucketName + "/*\",\"Principal\":\"*\"}]}";
+            Boolean bucketPolicy = NCOSSUtil.setBucketPolicy(bucketName, policyText);
+            if (!bucketPolicy) {
+                throw new RuntimeException("设置桶策略失败");
+            }
+        }
+        //上传对象
+        String key = "imgs/daijia/driver/" + pictureName;
+        String object = NCOSSUtil.putObject(bucketName, key, release);
+        if (null == object) {
+            throw new RuntimeException("上传图片失败");
+        }
+    
+        return "https://traffic.qytzt.cn/v1/AUTH_" + qianYunTongConfig1.getAccount() + "/" + bucketName + "/" + key;
     }
     //司机下单二维码
     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";
+        QianYunTongConfig qianYunTongConfig1 = qianYunTongConfig.getQianYunTongConfig();
+        String bucketName = qianYunTongConfig1.getBucketName();
+        Bucket grjyTest = NCOSSUtil.getBucketInfo(bucketName);
+        if (null == grjyTest) {
+            //创建桶
+            Boolean bucket = NCOSSUtil.createBucket(bucketName);
+            if (!bucket) {
+                throw new RuntimeException("创建存储桶失败");
+            }
+            //设置桶策略
+            String policyText = "{\"Version\":\"2025-06-23\",\"Statement\":[{\"Sid\":\"Stmt20250623\",\"Action\":[\"GetObject\"],\"Effect\":\"Allow\",\"Resource\":\"" + bucketName + "/*\",\"Principal\":\"*\"}]}";
+            Boolean bucketPolicy = NCOSSUtil.setBucketPolicy(bucketName, policyText);
+            if (!bucketPolicy) {
+                throw new RuntimeException("设置桶策略失败");
+            }
+        }
+        //上传对象
+        String key = "imgs/daijia/driver/" + pictureName;
+        String object = NCOSSUtil.putObject(bucketName, key, release);
+        if (null == object) {
+            throw new RuntimeException("上传图片失败");
+        }
+    
+        return "https://traffic.qytzt.cn/v1/AUTH_" + qianYunTongConfig1.getAccount() + "/" + bucketName + "/" + key;
     }
 
 
@@ -506,7 +559,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 +587,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 +629,7 @@
         Double lat = driverPositionWarpper.getLat();
         Integer driverId = driverPositionWarpper.getDriverId();
         Integer orderId = driverPositionWarpper.getOrderId();
-        redisUtil.setStrValue("DRIVER" + driverId, lon + "," + lat, 30);
+        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 +797,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