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