From 50350c428347d68ea1c8fa4fcc7633e4dc2550bc Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期五, 17 十月 2025 16:55:04 +0800
Subject: [PATCH] 修改bug

---
 driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java |  178 ++++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 133 insertions(+), 45 deletions(-)

diff --git a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java
index f019773..c3b94da 100644
--- a/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java
+++ b/driver/guns-admin/src/main/java/com/supersavedriving/driver/modular/system/api/DriverController.java
@@ -1,46 +1,54 @@
 package com.supersavedriving.driver.modular.system.api;
 
-import com.alibaba.fastjson.JSONObject;
+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;
 import com.baomidou.mybatisplus.mapper.Wrapper;
-import com.heredata.hos.model.bucket.Bucket;
+import com.supersavedriving.driver.core.util.ToolUtil;
 import com.supersavedriving.driver.modular.system.dao.MonthOrderMapper;
 import com.supersavedriving.driver.modular.system.model.*;
 import com.supersavedriving.driver.modular.system.service.*;
 import com.supersavedriving.driver.modular.system.util.ALiSendSms;
 import com.supersavedriving.driver.modular.system.util.MallBook.model.InterfaceResponse;
 import com.supersavedriving.driver.modular.system.util.MiniPay.MiniAppPay;
-import com.supersavedriving.driver.modular.system.util.juhe.OCRUtil;
-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.qianyuntong.SMSUtil;
-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.warpper.*;
-import com.supersavedriving.driver.core.util.ToolUtil;
 import com.supersavedriving.driver.modular.system.util.RedisUtil;
 import com.supersavedriving.driver.modular.system.util.ResultUtil;
 import com.supersavedriving.driver.modular.system.util.UUIDUtil;
-import com.supersavedriving.driver.modular.system.warpper.DriverPositionWarpper;
-import com.supersavedriving.driver.modular.system.warpper.DriverRegisterWarpper;
-import com.supersavedriving.driver.modular.system.warpper.PromotionWarpper;
-import com.supersavedriving.driver.modular.system.warpper.TokenWarpper;
+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;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
-import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+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;
@@ -86,8 +94,6 @@
     @Autowired
     private ISystemConfigService systemConfigService;
 
-
-
     @Autowired
     private IEditionService editionService;
 
@@ -99,9 +105,12 @@
 
     @Autowired
     private TCheckFacilitatorService checkFacilitatorService;
-    
-    @Resource
-    private QianYunTongConfig qianYunTongConfig;
+
+    @Value("${filePath}")
+    private String filePath;
+
+    @Value("${qyt.admin_url}")
+    private String adminUrl;
 
 
 
@@ -164,6 +173,8 @@
             return new ResponseWarpper(500, e.getMessage());
         }
     }
+
+
     @ResponseBody
     @PostMapping("/base/driver/orcPhoto")
 //    @ServiceLog(name = "司机注册申请", url = "/base/driver/driverRegister")
@@ -216,7 +227,7 @@
                     return ResponseWarpper.success(ResultUtil.error("账号已冻结"));
                 }
             }
-            String numberRandom = UUIDUtil.getNumberRandom(4);
+            String numberRandom = UUIDUtil.getNumberRandom(5);
             SendSmsRequest request = new SendSmsRequest();
             request.setDestAddress(phone);
             request.setTemplateId("TPL202410290001");
@@ -920,7 +931,6 @@
 
     /**
      * 账户余额充值支付回调
-     * @param response
      */
     @ResponseBody
     @PostMapping("/base/driver/balanceRechargeCallback")
@@ -1072,6 +1082,13 @@
             if(null == uid){
                 return ResponseWarpper.tokenErr();
             }
+            Driver driver1 = driverService.selectById(uid);
+            BranchOffice branchOffice = branchOfficeService.selectById(driver1.getBranchOfficeId());
+            List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(driver1.getPhone(), branchOffice.getEnterCode());
+            if (null == userInfoByPhone || userInfoByPhone.size() == 0) {
+                return new ResponseWarpper(500, "账号未注册");
+            }
+
             ResultUtil resultUtil = driverService.updatePassword(uid, oldPass, newPass);
             return ResponseWarpper.success(resultUtil);
         }catch (Exception e){
@@ -1097,6 +1114,12 @@
             Integer uid = driverService.getUserByRequest();
             if(null == uid){
                 return ResponseWarpper.tokenErr();
+            }
+            Driver driver1 = driverService.selectById(uid);
+            BranchOffice branchOffice = branchOfficeService.selectById(driver1.getBranchOfficeId());
+            List<QYTUserInfo> userInfoByPhone = UserUtil.getUserInfoByPhone(driver1.getPhone(), branchOffice.getEnterCode());
+            if (null == userInfoByPhone || userInfoByPhone.size() == 0) {
+                return new ResponseWarpper(500, "账号未注册");
             }
             ResultUtil resultUtil = driverService.recoverPassword(uid, password);
             return ResponseWarpper.success(resultUtil);
@@ -1179,29 +1202,15 @@
             InputStream inputStream = file.getInputStream();
             String name = file.getOriginalFilename();
             name = UUIDUtil.getRandomCode() + name.substring(name.lastIndexOf("."));
-            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("设置桶策略失败");
-                }
+            File file1 = FileUtil.writeFromStream(inputStream, new File(filePath + name));
+            HttpRequest post = HttpUtil.createPost(adminUrl + "/upload/image");
+            post.form("file", file1);
+            HttpResponse execute = post.execute();
+            int status = execute.getStatus();
+            if(200 != status){
+                throw new RuntimeException("上传图片异常");
             }
-            //上传对象
-            String key = "imgs/daijia/user/" + name;
-            String object = NCOSSUtil.putObject(bucketName, key, inputStream);
-            if (null == object) {
-                throw new RuntimeException("上传图片失败");
-            }
-            return ResponseWarpper.success("https://traffic.qytzt.cn/v1/AUTH_" + qianYunTongConfig1.getAccount() + "/" + bucketName + "/" + key);
+            return ResponseWarpper.success(execute.body());
         }catch (Exception e){
             e.printStackTrace();
             return new ResponseWarpper(500, e.getMessage());
@@ -1408,4 +1417,83 @@
             e.printStackTrace();
         }
     }
+
+
+
+
+    @ResponseBody
+    @PostMapping("/api/driver/getZLToken")
+    @ApiOperation(value = "获取证联token(黔云通)", tags = {"司机端-首页"}, notes = "")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
+            @ApiImplicitParam(value = "当前设备IP地址", name = "ip", required = true, dataType = "String"),
+            @ApiImplicitParam(value = "当前设备mac地址", name = "mac", required = true, dataType = "String"),
+            @ApiImplicitParam(value = "01 证联收银台支付\n" +
+                    "\t 04 HOME 页\n" +
+                    "\t 06 申请免密签约\n" +
+                    "\t 07 商户收银台支付\n" +
+                    "\t 08 开户(绑卡)\n" +
+                    "\t 09 开通支付账户\n" +
+                    "\t 10 打开付款码", name = "type", required = true, dataType = "String"),
+    })
+    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());
+            tokenRequest.setCertNo(driver.getIdcard());
+            tokenRequest.setPhone(driver.getPhone());
+            TradeTerminalInfo tradeTerminalInfo = new TradeTerminalInfo();
+            tradeTerminalInfo.setIp(ip);
+            tradeTerminalInfo.setTerminal("1");
+            tradeTerminalInfo.setMac(mac);
+            tokenRequest.setTradeTerminalInfo(tradeTerminalInfo);
+            tokenRequest.setType(type);
+            String token = TokenUtil.getToken(tokenRequest);
+            return ResponseWarpper.success(token);
+        }catch (Exception e){
+            e.printStackTrace();
+            return new ResponseWarpper(500, e.getMessage());
+        }
+    }
 }

--
Gitblit v1.7.1