From aa72a1d1d8c792b322281f5ab01996bc62820b13 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期二, 16 九月 2025 15:31:07 +0800 Subject: [PATCH] 修改bug及数据加密传输 --- DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java | 72 +++++++++++++++++++++-------------- 1 files changed, 43 insertions(+), 29 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 21605f4..f2ed023 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 @@ -9,7 +9,6 @@ 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; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity; @@ -24,7 +23,6 @@ import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.ResultUtil; import com.stylefeng.guns.modular.system.util.WeChatUtil; -import com.stylefeng.guns.modular.system.util.qianyuntong.QianYunTongConfig; import com.stylefeng.guns.modular.system.util.zhenglian.CallbackUtil; import com.stylefeng.guns.modular.system.util.zhenglian.TokenUtil; import com.stylefeng.guns.modular.system.util.zhenglian.model.MessageBody; @@ -51,6 +49,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.io.File; import java.io.InputStream; import java.math.BigDecimal; import java.text.MessageFormat; @@ -103,9 +102,6 @@ @Autowired private IOrderLogisticsService orderLogisticsService; - - @Autowired - private GunsProperties gunsProperties; @Autowired private ICompanyService companyService; @@ -115,9 +111,6 @@ @Autowired private TDriverPromotionActivityService driverPromotionActivityService; - - @Autowired - private QianYunTongConfig qianYunTongConfig; @Value("${wx.url}") private String ACCESS_TOKEN_URL; @@ -136,6 +129,12 @@ @Autowired private WeChatUtil weChatUtil; + + @Value("${filePath}") + private String filePath; + + @Value("${qyt.admin_url}") + private String adminUrl; /** * 获取短信验证码 @@ -530,9 +529,11 @@ return ResultUtil.tokenErr(); } Driver driver = driverService.selectById(uid); - String areaCode = driver.getAreaCode(); + String areaCode = driver.getPlaceOfEmployment(); TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>() .eq("districtCode", areaCode) + .eq("state", 1) + .eq("remove", 0) .eq("status", 2) .last("LIMIT 1")); if(tDriverPromotionActivity!=null){ @@ -565,13 +566,16 @@ accessToken = getAccessToken(); } int index=0; - - if(ToolUtil.isEmpty(img)) { + String urlLink = driver.getShareLink(); + if(ToolUtil.isEmpty(img) || ToolUtil.isEmpty(urlLink)) { RestTemplate rest = new RestTemplate(); - String url = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=" + accessToken; +// String url = "https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode?access_token=" + accessToken; + String url = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken; Map<String, Object> param = new HashMap<>(); - param.put("path", "pages/home/home?driverId=" + uid); + param.put("page", "pages/home/home"); param.put("width", 430); //二维码尺寸 + param.put("scene", "driverId=" + uid); + param.put("env_version", "trial"); //正式版为 "release",体验版为 "trial",开发版为 "develop"。默认是正式版。 HttpRequest post = HttpUtil.createPost(url); post.body(JSON.toJSONString(param)); @@ -581,7 +585,6 @@ redisTemplate.opsForValue().set("DRIVER_WX_IMG" + uid, img,30, TimeUnit.DAYS); } - String urlLink = driver.getShareLink(); if(ToolUtil.isEmpty(urlLink)) { index=1; String url1 = "https://api.weixin.qq.com/wxa/generate_urllink?access_token=" + accessToken; @@ -746,6 +749,7 @@ if(null == position){ position = new DriverPosition(); } + position.setDriverId(orderPosition.getDriverId()); position.setPoint(point); mongoTemplate.save(position); //处理业务上的功能 @@ -1605,7 +1609,7 @@ if(companyCities.isEmpty()){ return ResultUtil.success(companyVos); } - Wrapper<Company> in = 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>().eq("type", 2).ne("flag", 3).in("id", companyCities.stream().map(CompanyCity::getCompanyId).collect(Collectors.toList())); if(ToolUtil.isNotEmpty( name)){ in.like("name", name); @@ -1765,17 +1769,19 @@ if (fileName == null || "".equals(fileName)) { String appletPath = "pages/home/scanPage/scanPage"; //HttpURLConnection httpURLConnection = weChatUtil.getwxacodeunlimit(appletPath, "d=" + driverId + "&k=" + 0, "release",driverId); - InputStream inputStream = weChatUtil.getwxacodeunlimit(appletPath, "driverId=" + driverId, "release"); + InputStream inputStream = weChatUtil.getwxacodeunlimit(appletPath, "driverId=" + driverId, "trial"); if (inputStream != null) { - // 上传文件目录 - fileName = UUID.randomUUID().toString() + ".png"; - String fileSavePath = gunsProperties.getFileUploadPath() + "img\\"; - FileUtil.writeFromStream(inputStream, fileName); - String pictureName = gunsProperties.getPictureServerAddress() + "img/" + fileName; -// fileName = OssUploadUtil.ossUploadByStream(driverId, inputStream); - System.out.println(pictureName); - driver.setQrCode(pictureName); + File file = FileUtil.writeFromStream(inputStream, new File(filePath + "/" + UUID.randomUUID().toString() + ".png")); + 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("上传图片异常"); + } + driver.setQrCode(execute.body()); driverService.updateById(driver); + fileName = driver.getQrCode(); } } return ResultUtil.success(fileName); @@ -1809,13 +1815,13 @@ driver.setAuthState(3); driverService.updateById(driver); //开始验证当前账号是否在别处登录 - String value = (String) redisTemplate.opsForValue().get("DRIVER_" + driverId); + String value = (String) redisTemplate.opsForValue().get("dache:DRIVER_" + driverId); if (ToolUtil.isNotEmpty(value)) {//将另外设备上的强迫下线 //开始清除redis中无效的数据 - String key = (String) redisTemplate.opsForValue().get("DRIVER_" + driver.getPhone()); + String key = (String) redisTemplate.opsForValue().get("dache:DRIVER_" + driver.getPhone()); redisTemplate.delete(key);//删除个人信息数据 - redisTemplate.delete("DRIVER_" + driver.getPhone());//删除后台冻结相关缓存 - redisTemplate.delete("DRIVER_" + driverId);//清除存储的token + redisTemplate.delete("dache:DRIVER_" + driver.getPhone());//删除后台冻结相关缓存 + redisTemplate.delete("dache:DRIVER_" + driverId);//清除存储的token } return ResultUtil.success(); } catch (Exception e) { @@ -1831,8 +1837,15 @@ @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 ResultUtil<String> getZLToken(String ip, String mac, HttpServletRequest request){ + public ResultUtil<String> getZLToken(String ip, String mac, String type, HttpServletRequest request){ try { Integer driverId = driverService.getUserIdFormRedis(request); if (null == driverId) { @@ -1849,6 +1862,7 @@ tradeTerminalInfo.setTerminal("1"); tradeTerminalInfo.setMac(mac); tokenRequest.setTradeTerminalInfo(tradeTerminalInfo); + tokenRequest.setType(type); String token = TokenUtil.getToken(tokenRequest); return ResultUtil.success(token); }catch (Exception e){ -- Gitblit v1.7.1