From 729a5a0592cac7750e8b476c5fcb25bfc3ff8d25 Mon Sep 17 00:00:00 2001
From: liujie <1793218484@qq.com>
Date: 星期日, 27 七月 2025 09:06:31 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/QianYunTong

---
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java |   80 ++++++++++++----------------------------
 1 files changed, 24 insertions(+), 56 deletions(-)

diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
index de9e68d..aae9336 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -7,6 +7,7 @@
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.stylefeng.guns.config.properties.GunsProperties;
 import com.stylefeng.guns.core.util.DateUtil;
@@ -39,6 +40,8 @@
 import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.ResponseEntity;
+import org.springframework.http.*;
+import org.springframework.util.Base64Utils;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
 import org.springframework.web.bind.annotation.*;
@@ -55,6 +58,7 @@
 import java.text.MessageFormat;
 import java.text.SimpleDateFormat;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
 /**
@@ -529,13 +533,11 @@
 
 
     @ApiOperation(value = "个人的小程序码(分享码)/链接", tags = {"司机端-首页"}, notes = "")
-    @GetMapping("/api/driver/person-code")
+    @GetMapping("/api/driver/personCode")
     @ApiImplicitParams({
             @ApiImplicitParam(name = "Authorization", value = "Bearer +token", required = true, dataType = "String", paramType = "header", defaultValue = "Bearer eyJhbGciOiJIUzUxMiJ9....."),
     })
-    public ResultUtil<HashMap<String, String>> createQRcode(HttpServletRequest request) {
-        InputStream inputStream = null;
-        OutputStream outputStream = null;
+    public ResultUtil<HashMap<String, Object>> personCode(HttpServletRequest request) {
         try {
             Integer uid = driverService.getUserIdFormRedis(request);
             if (null == uid) {
@@ -543,37 +545,26 @@
             }
             Driver driver = driverService.selectById(uid);
             String accessToken=null;
+            Object img = redisTemplate.opsForValue().get("DRIVER_WX_IMG" + uid);
             // 获取调用凭证accessToken
-            if(ToolUtil.isEmpty(driver.getShareImg())|| ToolUtil.isEmpty(driver.getShareImg())){
+            if(ToolUtil.isEmpty(driver.getShareLink())|| ToolUtil.isEmpty(img)){
                 accessToken = getAccessToken();
             }
-            String img=driver.getShareImg();
             int index=0;
 
-            if(ToolUtil.isEmpty(driver.getShareImg())) {
-                index=1;
+            if(ToolUtil.isEmpty(img)) {
                 RestTemplate rest = new RestTemplate();
-                String imgUrl = "";
                 String url = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=" + accessToken;
                 Map<String, Object> param = new HashMap<>();
                 param.put("path", "pages/home/home?driverId=" + uid);
                 param.put("width", 430); //二维码尺寸
-                MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
-                HttpEntity requestEntity = new HttpEntity(param, headers);
-                ResponseEntity<byte[]> entity = rest.exchange(url, HttpMethod.POST, requestEntity, byte[].class, new Object[0]);
-                byte[] result = entity.getBody();
-                inputStream = new ByteArrayInputStream(result);
+                HttpRequest post = HttpUtil.createPost(url);
+                post.body(JSON.toJSONString(param));
 
-                SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
-                // 最后上传生成的文件名
-                String finalFileName = System.currentTimeMillis() + "" + new SecureRandom().nextInt(0x0400) + ".jpg";
-                // oss中的文件夹名
-                String objectName = sdf.format(new Date()) + "/" + finalFileName;
-                String key = "imgs/management/" + objectName;
-                String object = NCOSSUtil.putObject(qianYunTongConfig.getBucketName(), key, inputStream);
-                System.out.println(object);
-                driver.setShareImg(object);
-                img= object;
+                byte[] result = post.execute().bodyBytes();
+                // base64
+                img = Base64.getEncoder().encodeToString(result);
+                redisTemplate.opsForValue().set("DRIVER_WX_IMG" + uid, img,30, TimeUnit.DAYS);
             }
 
             String urlLink = driver.getShareLink();
@@ -598,42 +589,13 @@
                 driverService.updateById(driver);
             }
 
-            HashMap<String, String> stringStringHashMap = new HashMap<>();
+            HashMap<String, Object> stringStringHashMap = new HashMap<>();
             stringStringHashMap.put("url_link",urlLink);
             stringStringHashMap.put("img",img);
-
-
-//            inputStream = new ByteArrayInputStream(result);
-//
-//            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
-//            // 最后上传生成的文件名
-//            String finalFileName = System.currentTimeMillis() + "" + new SecureRandom().nextInt(0x0400) + ".jpg";
-//            // oss中的文件夹名
-//            String objectName = sdf.format(new Date()) + "/" + finalFileName;
-//            // 上传oss
-////            ossUtil.uploadFile2OSS(inputStream, objectName);
-////            //获取文件的URl地址
-////            imgUrl = ossUtil.getImgUrl(objectName);
-//            log.info("imgUrl: "+imgUrl);
             return ResultUtil.success(stringStringHashMap);
 
         } catch (Exception e) {
             log.error("调用小程序生成微信永久小程序码URL接口异常", e);
-        }finally {
-            if(inputStream != null){
-                try {
-                    inputStream.close();
-                } catch (IOException e) {
-                    e.printStackTrace();
-                }
-            }
-            if(outputStream != null){
-                try {
-                    outputStream.close();
-                } catch (IOException e) {
-                    e.printStackTrace();
-                }
-            }
         }
         return ResultUtil.error("获取二维码失败");
     }
@@ -1617,9 +1579,10 @@
     @ApiOperation(value = "通过区code获取服务商", tags = {"司机端-注册"}, notes = "")
     @ApiImplicitParams({
             @ApiImplicitParam(value = "区code", name = "areaCode", required = true, dataType = "String"),
+            @ApiImplicitParam(value = "name", name = "name", required = false, dataType = "String"),
 
     })
-    public ResultUtil<List<CompanyVo>> getCompany(String areaCode){
+    public ResultUtil<List<CompanyVo>> getCompany(String areaCode,String name){
         try {
 
             ArrayList<CompanyVo> companyVos = new ArrayList<>();
@@ -1627,7 +1590,12 @@
             if(companyCities.isEmpty()){
                 return ResultUtil.success(companyVos);
             }
-            List<Company> companies = companyService.selectList(new EntityWrapper<Company>().ne("type", 1).ne("flag", 3).in("id", companyCities.stream().map(CompanyCity::getCompanyId).collect(Collectors.toList())));
+            Wrapper<Company> in = new EntityWrapper<Company>().ne("type", 1).ne("flag", 3).in("id", companyCities.stream().map(CompanyCity::getCompanyId).collect(Collectors.toList()));
+
+            if(ToolUtil.isNotEmpty( name)){
+                in.like("name", name);
+            }
+            List<Company> companies = companyService.selectList(in);
             for (Company company : companies) {
                 CompanyVo companyVo = new CompanyVo(company.getId(), company.getName());
                 companyVos.add(companyVo);

--
Gitblit v1.7.1