Pu Zhibing
4 天以前 8675ddc7e76f418ee47adc50ee7bac35171a9620
更新司机端中台接口
2个文件已删除
27个文件已修改
693 ■■■■■ 已修改文件
DriverQYTTravel/guns-admin/pom.xml 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/config/SwaggerConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/config/properties/GunsProperties.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineSiteServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Driver.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java 155 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/NettyServiceImpl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ALiApiUtil.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ALiSendSms.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/OssUploadUtil.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java 127 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/EnterpriseUtil.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/UserUtil.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/DeleteStafNodeRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/GetStaffNodeRequest.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/resources/application.yml 90 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/main/resources/redis.properties 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/src/test/java/com/stylefeng/guns/GunsApplicationTest.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverQYTTravel/guns-admin/pom.xml
@@ -111,10 +111,10 @@
            <!--<groupId>org.springframework.session</groupId>-->
            <!--<artifactId>spring-session-data-redis</artifactId>-->
        <!--</dependency>-->
        <!--<dependency>-->
            <!--<groupId>org.springframework.boot</groupId>-->
            <!--<artifactId>spring-boot-starter-data-redis</artifactId>-->
        <!--</dependency>-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.penggle</groupId>
@@ -140,11 +140,6 @@
        <dependency>
            <groupId>io.jsonwebtoken</groupId>
            <artifactId>jjwt</artifactId>
        </dependency>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>2.9.0</version>
        </dependency>
        <dependency>
@@ -249,6 +244,10 @@
            <scope>system</scope>
            <systemPath>${pom.basedir}/lib/javabase64-1.3.1.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
        </dependency>
    </dependencies>
    
    <build>
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/config/SwaggerConfig.java
@@ -36,7 +36,7 @@
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("嘉易行 Doc")
                .title("黔云通 Doc")
                .description("所有接口前需要加 /driver 前缀,例如:/driver/base/agreement/queryByType <br>所有以 /api/*** 路径的接口需要上传签名参数sign")
//                .termsOfServiceUrl("http://git.oschina.net/naan1993/guns")
                .contact("stylefeng")
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/config/properties/GunsProperties.java
@@ -30,6 +30,9 @@
    private Boolean springSessionOpen = false;
    // 文件服务器访问地址
    private String pictureServerAddress;
    /**
     * session 失效时间(默认为30分钟 单位:秒)
     */
@@ -102,4 +105,12 @@
    public void setSessionValidationInterval(Integer sessionValidationInterval) {
        this.sessionValidationInterval = sessionValidationInterval;
    }
    public String getPictureServerAddress() {
        return pictureServerAddress;
    }
    public void setPictureServerAddress(String pictureServerAddress) {
        this.pictureServerAddress = pictureServerAddress;
    }
}
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -1,7 +1,9 @@
package com.stylefeng.guns.modular.api;
import cn.hutool.core.io.FileUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
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;
@@ -12,7 +14,10 @@
import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.*;
import com.stylefeng.guns.modular.system.util.ALiSendSms;
import com.stylefeng.guns.modular.system.util.ResultUtil;
import com.stylefeng.guns.modular.system.util.WeChatUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.SMSUtil;
import com.stylefeng.guns.modular.system.warpper.*;
import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
@@ -21,6 +26,7 @@
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
@@ -41,7 +47,7 @@
public class DriverController {
    @Autowired
    private RedisUtil redisUtil;
    private RedisTemplate redisTemplate;
    @Autowired
    private IDriverService driverService;
@@ -75,10 +81,13 @@
    @Autowired
    private IOrderLogisticsService orderLogisticsService;
    @Autowired
    private GunsProperties gunsProperties;
    /**
     * 获取短信验证码
     *
     * @param phone
     * @return
     */
@@ -104,6 +113,7 @@
    /**
     * 验证短信验证码
     *
     * @param phone
     * @param code
     * @return
@@ -220,6 +230,7 @@
    /**
     * 司机注册审核后的短信
     *
     * @param uid
     * @param type
     * @return
@@ -250,7 +261,8 @@
                    templateCode = "SMS_229613326";//司机注册失败
                    break;
            }
            String s = aLiSendSms.sendSms(driver.getPhone(), templateCode, "{}");
//            String s = aLiSendSms.sendSms(driver.getPhone(), templateCode, "{}");
            SMSUtil.sendVerifyCode(driver.getPhone());
            return ResultUtil.success();
        }catch (Exception e){
            e.printStackTrace();
@@ -1402,6 +1414,7 @@
    @Autowired
    private WeChatUtil weChatUtil;
    @ResponseBody
    @PostMapping("/api/driver/getDriverCode")
    @ApiOperation(value = "获取司机端的二维码", tags = {"司机端-个人中心"}, notes = "")
@@ -1422,9 +1435,14 @@
                    //HttpURLConnection httpURLConnection = weChatUtil.getwxacodeunlimit(appletPath, "d=" + driverId + "&k=" + 0, "release",driverId);
                    InputStream inputStream = weChatUtil.getwxacodeunlimit(appletPath, "driverId=" + driverId , "release");
                    if(inputStream!=null){
                        fileName = OssUploadUtil.ossUploadByStream(driverId,inputStream);
                        System.out.println(fileName);
                        driver.setQrCode(fileName);
                        // 上传文件目录
                        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);
                        driverService.updateById(driver);
                    }
                }
@@ -1459,13 +1477,13 @@
            driver.setAuthState(3);
            driverService.updateById(driver);
            //开始验证当前账号是否在别处登录
            String value = redisUtil.getValue("DRIVER_" + driverId);
            String value = (String) redisTemplate.opsForValue().get("DRIVER_" + driverId);
            if (ToolUtil.isNotEmpty(value)) {//将另外设备上的强迫下线
                //开始清除redis中无效的数据
                String key = redisUtil.getValue("DRIVER_" + driver.getPhone());
                redisUtil.remove(key);//删除个人信息数据
                redisUtil.remove("DRIVER_" + driver.getPhone());//删除后台冻结相关缓存
                redisUtil.remove("DRIVER_" + driverId);//清除存储的token
                String key = (String) redisTemplate.opsForValue().get("DRIVER_" + driver.getPhone());
                redisTemplate.delete(key);//删除个人信息数据
                redisTemplate.delete("DRIVER_" + driver.getPhone());//删除后台冻结相关缓存
                redisTemplate.delete("DRIVER_" + driverId);//清除存储的token
            }
            return ResultUtil.success();
        } catch (Exception e) {
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineSiteServiceImpl.java
@@ -6,7 +6,10 @@
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.crossCity.dao.*;
import com.stylefeng.guns.modular.crossCity.model.*;
import com.stylefeng.guns.modular.crossCity.model.LineShift;
import com.stylefeng.guns.modular.crossCity.model.LineShiftDriver;
import com.stylefeng.guns.modular.crossCity.model.LineSite;
import com.stylefeng.guns.modular.crossCity.model.OrderCrossCity;
import com.stylefeng.guns.modular.crossCity.server.ILineSiteService;
import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
import com.stylefeng.guns.modular.crossCity.warpper.SiteWarpper;
@@ -14,11 +17,11 @@
import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
import com.stylefeng.guns.modular.system.util.DateUtil;
import com.stylefeng.guns.modular.system.util.GDMapElectricFenceUtil;
import com.stylefeng.guns.modular.system.util.RedisUtil;
import com.stylefeng.guns.modular.system.util.SystemException;
import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -51,7 +54,7 @@
    private GDMapElectricFenceUtil gdMapElectricFenceUtil;
    @Autowired
    private RedisUtil redisUtil;
    private RedisTemplate redisTemplate;
    @Autowired
    private IOrderTaxiService orderTaxiService;
@@ -87,7 +90,7 @@
        List<Map<String, Object>> s = lineSiteMapper.queryDriver(lineId, sdf.parse(day), driverId);
        Calendar calendar = Calendar.getInstance();
        calendar.setTime(sdf.parse(day));
        String vehicle = redisUtil.getValue("VEHICLE");
        String vehicle = (String) redisTemplate.opsForValue().get("VEHICLE");
        List<Integer> integers = new ArrayList<>();
        if(ToolUtil.isNotEmpty(vehicle)){
            integers = JSON.parseArray(vehicle).toJavaList(Integer.class);
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/OrderCrossCityServiceImpl.java
@@ -6,7 +6,6 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.account.controller.AppOrderController;
import com.stylefeng.guns.modular.account.unionpay.GetOpenBodySig;
import com.stylefeng.guns.modular.account.unionpay.QrCodeConfiguration;
import com.stylefeng.guns.modular.account.unionpay.Util;
@@ -21,7 +20,6 @@
import com.stylefeng.guns.modular.crossCity.warpper.OrderCrossCityWarpper;
import com.stylefeng.guns.modular.specialTrain.dao.OrderPrivateCarMapper;
import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
import com.stylefeng.guns.modular.system.dao.PhoneMapper;
import com.stylefeng.guns.modular.system.dao.RegionMapper;
import com.stylefeng.guns.modular.system.dao.SysIntegralMapper;
@@ -33,25 +31,20 @@
import com.stylefeng.guns.modular.system.warpper.MerchantCouponListWarpper;
import com.stylefeng.guns.modular.taxi.dao.OrderTaxiMapper;
import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
import io.swagger.models.auth.In;
import org.apache.commons.lang.time.DateFormatUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import javax.annotation.Resource;
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -142,7 +135,7 @@
    private IOrderAdditionalFeeService orderAdditionalFeeService;
    @Autowired
    private RedisUtil redisUtil;
    private RedisTemplate redisTemplate;
    @Autowired
    private IMerchantActivityService merchantActivityService;
@@ -368,13 +361,13 @@
                    }
                    merchantActivityService.updateBatchById(merchantActivities);
                }
                String value = redisUtil.getValue("merchantVoucher");
                String value = (String) redisTemplate.opsForValue().get("merchantVoucher");
                JSONObject jsonObject = JSON.parseObject(value);
                if(null == jsonObject){
                    jsonObject = new JSONObject();
                }
                jsonObject.put(userInfo.getPhone(), listWarppers);
                redisUtil.setStrValue("merchantVoucher", jsonObject.toJSONString());
                redisTemplate.opsForValue().set("merchantVoucher", jsonObject.toJSONString());
                pushUtil.removeTask(orderId, 3);//删除定时任务,结束推送数据
                systemNoticeService.addSystemNotice(1, "司机已结束本次行程,谢谢使用", orderCrossCity.getUserId(), 1);
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/smallLogistics/server/impl/OrderLogisticsServiceImpl.java
@@ -20,6 +20,7 @@
import com.stylefeng.guns.modular.system.util.*;
import com.stylefeng.guns.modular.system.warpper.MerchantCouponListWarpper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -58,7 +59,7 @@
    private IOrderLogisticsSpreadService orderLogisticsSpreadService;
    @Autowired
    private RedisUtil redisUtil;
    private RedisTemplate redisTemplate;
    @Autowired
    private ICompanyService companyService;
@@ -321,13 +322,13 @@
                        }
                        merchantActivityService.updateBatchById(merchantActivities);
                    }
                    String value = redisUtil.getValue("merchantVoucher");
                    String value = (String) redisTemplate.opsForValue().get("merchantVoucher");
                    JSONObject jsonObject = JSON.parseObject(value);
                    if(null == jsonObject){
                        jsonObject = new JSONObject();
                    }
                    jsonObject.put(userInfo.getPhone(), listWarppers);
                    redisUtil.setStrValue("merchantVoucher", jsonObject.toJSONString());
                    redisTemplate.opsForValue().set("merchantVoucher", jsonObject.toJSONString());
                }
                break;
@@ -484,7 +485,7 @@
        orderLogistics.setStartServiceTime(date);
        orderLogistics.setBoardingTime(date);
        String value = redisUtil.getValue("DRIVER" + uid);
        String value = (String) redisTemplate.opsForValue().get("DRIVER" + uid);
        if(ToolUtil.isNotEmpty(value)){
            String[] split = value.split(",");
            Map<String, String> geocode1 = gdMapGeocodingUtil.geocode(split[0], split[1]);
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -17,17 +17,13 @@
import com.stylefeng.guns.modular.system.util.*;
import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
import org.gavaghan.geodesy.Ellipsoid;
import org.gavaghan.geodesy.GeodeticCalculator;
import org.gavaghan.geodesy.GeodeticCurve;
import org.gavaghan.geodesy.GlobalCoordinates;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.BigInteger;
import java.util.*;
@@ -94,8 +90,8 @@
    @Resource
    private CarServiceMapper carServiceMapper;
    @Autowired
    private RedisTemplate redisTemplate;
    /**
@@ -298,8 +294,6 @@
    }
    @Autowired
    private RedisUtil redisUtil;
    /**
     * 获取订单详情页(服务中的页面)
@@ -322,7 +316,7 @@
            if(order!=null){
                orders.addAll(order);
            }
            String value = redisUtil.getValue("DRIVER" + String.valueOf(orderPrivateCar.getDriverId()));
            String value = (String) redisTemplate.opsForValue().get("DRIVER" + String.valueOf(orderPrivateCar.getDriverId()));
            order = this.baseMapper.queryOrderInfo(orderId,5,value.split(",")[0],value.split(",")[1]);
            if(order!=null){
                orders.addAll(order);
@@ -337,7 +331,7 @@
            if(order!=null){
                orders.addAll(order);
            }
            String value = redisUtil.getValue("DRIVER" + String.valueOf(orderPrivateCar.getDriverId()));
            String value = (String) redisTemplate.opsForValue().get("DRIVER" + String.valueOf(orderPrivateCar.getDriverId()));
            order = this.baseMapper.queryOrderInfo(orderPrivateCar.getPid(),5,value.split(",")[0],value.split(",")[1]);
            if(order!=null){
                orders.addAll(order);
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/Driver.java
@@ -344,12 +344,26 @@
     */
    @TableField("appletsOpenId")
    private String appletsOpenId;
    /**
     * 司机二维码
     */
    @TableField("qrCode")
    private String qrCode;
    /**
     * 中台员工ID
     */
    @TableField("empId")
    private Long empId;
    /**
     * 中台员工所属企业ID
     */
    @TableField("enterId")
    private Long enterId;
    /**
     * 中台员工所属企业编号
     */
    @TableField("entercode")
    private String entercode;
    public String getQrCode() {
        return qrCode;
@@ -881,6 +895,30 @@
        this.withdrawPassword = withdrawPassword;
    }
    public Long getEmpId() {
        return empId;
    }
    public void setEmpId(Long empId) {
        this.empId = empId;
    }
    public Long getEnterId() {
        return enterId;
    }
    public void setEnterId(Long enterId) {
        this.enterId = enterId;
    }
    public String getEntercode() {
        return entercode;
    }
    public void setEntercode(String entercode) {
        this.entercode = entercode;
    }
    @Override
    public String toString() {
        return "Driver{" +
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/DriverServiceImpl.java
@@ -1,7 +1,5 @@
package com.stylefeng.guns.modular.system.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.stylefeng.guns.core.common.constant.JwtConstants;
@@ -14,6 +12,11 @@
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.*;
import com.stylefeng.guns.modular.system.util.qianyuntong.EmployeeUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.SMSUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.EditStaffNodeRequest;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.GetStaffNodeRequest;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.StaffNodeInfo;
import com.stylefeng.guns.modular.system.warpper.ActivityWarpper;
import com.stylefeng.guns.modular.system.warpper.BaseWarpper;
import com.stylefeng.guns.modular.system.warpper.LoginWarpper;
@@ -26,6 +29,7 @@
import org.apache.shiro.util.ByteSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -33,6 +37,7 @@
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.TimeUnit;
@Service
@@ -81,7 +86,7 @@
    private DriverOrdersMapper driverOrdersMapper;
    @Autowired
    private RedisUtil redisUtil;
    private RedisTemplate redisTemplate;
    @Autowired
    private ALiSendSms aLiSendSms;
@@ -150,7 +155,7 @@
        String sms = "短信验证码【" + authCode + "】已发到您的手机,验证码将在5分钟后失效,请及时登录!";
        //发送验证码短信
        redisUtil.setStrValue(phone, authCode, 5 * 60);//设置五分钟过期
        redisTemplate.opsForValue().set(phone, authCode, 5, TimeUnit.MINUTES);//设置五分钟过期
        String templateCode = "";
        switch (type){
            case 1:
@@ -166,13 +171,14 @@
                templateCode = "SMS_154775431";//修改密码
                break;
        }
        String sData = aLiSendSms.sendSms(phone, "SMS_229715276", "{\"code\":\"" + authCode + "\"}");
        JSONObject jsonObject = JSON.parseObject(sData);
        String message = jsonObject.getString("Message");
        if(!"OK".equals(message)){
            return ResultUtil.error("");
        }
        System.out.println(sms);
//        String sData = aLiSendSms.sendSms(phone, "SMS_229715276", "{\"code\":\"" + authCode + "\"}");
//        JSONObject jsonObject = JSON.parseObject(sData);
//        String message = jsonObject.getString("Message");
//        if(!"OK".equals(message)){
//            return ResultUtil.error("");
//        }
//        System.out.println(sms);
        SMSUtil.sendVerifyCode(phone);
        return ResultUtil.success();
    }
@@ -186,7 +192,7 @@
     */
    @Override
    public boolean checkCaptcha(String phone, String code) throws Exception {
        Object value = redisUtil.getValue(phone);
        Object value = redisTemplate.opsForValue().get(phone);
        if("1234".equals(code)){
            return true;
        }
@@ -459,6 +465,16 @@
        if(null == driver){
            return ResultUtil.error("账号未注册");
        }
        //查询中台员工数据
        GetStaffNodeRequest request = new GetStaffNodeRequest();
        request.setEmpId(driver.getEmpId());
        request.setEntercode(driver.getEntercode());
        request.setMobile(driver.getPhone());
        StaffNodeInfo staffNode = EmployeeUtil.getStaffNode(request);
        if (null == staffNode || staffNode.getIsValid().equals("0")) {
            return ResultUtil.error("账号未注册");
        }
        if(ToolUtil.isNotEmpty(driver.getIdCard()) && driver.getAuthState() == 1){
            return ResultUtil.error("账号正在审核中,请耐心等待");
        }
@@ -469,7 +485,7 @@
            return ResultUtil.error("密码错误");
        }
        String value = redisUtil.getValue("DEVICE_" + driver.getId());
        String value = (String) redisTemplate.opsForValue().get("DEVICE_" + driver.getId());
        if(ToolUtil.isNotEmpty(value)){
            return ResultUtil.error("当前账户正在车载端登录");
        }
@@ -524,7 +540,7 @@
            }else{
                key = requestHeader;
            }
            String value = redisUtil.getValue(key);
            String value = (String) redisTemplate.opsForValue().get(key);
            return null != value ? Integer.valueOf(value) : null;
        }else{
            return null;
@@ -765,6 +781,33 @@
            return ResultUtil.error("验证码无效");
        }
        Driver driver1 = this.selectById(uid);
        GetStaffNodeRequest request = new GetStaffNodeRequest();
        request.setEmpId(driver1.getEmpId());
        request.setEntercode(driver1.getEntercode());
        request.setMobile(driver1.getPhone());
        StaffNodeInfo staffNode = EmployeeUtil.getStaffNode(request);
        if ("0".equals(staffNode.getIsValid())) {
            return ResultUtil.error("无效的司机账号");
        }
        EditStaffNodeRequest editStaffNodeRequest = new EditStaffNodeRequest();
        editStaffNodeRequest.setEmpId(staffNode.getEmpId());
        editStaffNodeRequest.setMobile(staffNode.getMphone());
        editStaffNodeRequest.setEntercode(staffNode.getEnterNum());
        editStaffNodeRequest.setEnterId(staffNode.getEnterId());
        editStaffNodeRequest.setEmpName(staffNode.getEmpName());
        editStaffNodeRequest.setEmpNickname(staffNode.getEmpNickname());
        editStaffNodeRequest.setLoginNo(staffNode.getLoginNo());
        editStaffNodeRequest.setMphone(phone);
        editStaffNodeRequest.setEmail(staffNode.getEmail());
        editStaffNodeRequest.setDeptId(staffNode.getDeptId());
        editStaffNodeRequest.setPositionId(1);
        editStaffNodeRequest.setSuperLevel(0);
        editStaffNodeRequest.setHideMobile(0);
        Boolean editStaffNode = EmployeeUtil.editStaffNode(editStaffNodeRequest);
        if (!editStaffNode) {
            return ResultUtil.error("修改手机号码失败");
        }
        driver1.setAccount(phone);
        driver1.setPhone(phone);
        this.updateById(driver1);
@@ -1218,9 +1261,9 @@
        boolean passwordTrueFlag = md5CredentialsMatcher.doCredentialsMatch(
                usernamePasswordToken, simpleAuthenticationInfo);
        String s = JwtTokenUtil.generateToken(String.valueOf(driver.getId()));
        redisUtil.setStrValue(s.substring(s.length() - 32), String.valueOf(driver.getId()), 7 * 24 * 60 * 60);
        redisUtil.setStrValue(driver.getPhone(), s.substring(s.length() - 32));
        redisUtil.setStrValue("DRIVER_" + driver.getId(), s);
        redisTemplate.opsForValue().set(s.substring(s.length() - 32), String.valueOf(driver.getId()), 7, TimeUnit.DAYS);
        redisTemplate.opsForValue().set(driver.getPhone(), s.substring(s.length() - 32));
        redisTemplate.opsForValue().set("DRIVER_" + driver.getId(), s);
        LoginWarpper loginWarpper = new LoginWarpper();
@@ -1314,9 +1357,9 @@
        boolean passwordTrueFlag = md5CredentialsMatcher.doCredentialsMatch(
                usernamePasswordToken, simpleAuthenticationInfo);
        String s = JwtTokenUtil.generateToken(String.valueOf(driver.getId()));
        redisUtil.setStrValue(s.substring(s.length() - 32), String.valueOf(driver.getId()), 7 * 24 * 60 * 60);
        redisUtil.setStrValue(driver.getPhone(), s.substring(s.length() - 32));
        redisUtil.setStrValue("DRIVER_" + driver.getId(), s);
        redisTemplate.opsForValue().set(s.substring(s.length() - 32), String.valueOf(driver.getId()), 7, TimeUnit.DAYS);
        redisTemplate.opsForValue().set(driver.getPhone(), s.substring(s.length() - 32));
        redisTemplate.opsForValue().set("DRIVER_" + driver.getId(), s);
        LoginWarpper loginWarpper = new LoginWarpper();
@@ -1400,9 +1443,9 @@
        boolean passwordTrueFlag = md5CredentialsMatcher.doCredentialsMatch(
                usernamePasswordToken, simpleAuthenticationInfo);
        String s = JwtTokenUtil.generateToken(String.valueOf(driver.getId()));
        redisUtil.setStrValue(s.substring(s.length() - 32), String.valueOf(driver.getId()), 7 * 24 * 60 * 60);
        redisUtil.setStrValue(driver.getPhone(), s.substring(s.length() - 32));
        redisUtil.setStrValue("DRIVER_" + driver.getId(), s);
        redisTemplate.opsForValue().set(s.substring(s.length() - 32), String.valueOf(driver.getId()), 7, TimeUnit.DAYS);
        redisTemplate.opsForValue().set(driver.getPhone(), s.substring(s.length() - 32));
        redisTemplate.opsForValue().set("DRIVER_" + driver.getId(), s);
        LoginWarpper loginWarpper = new LoginWarpper();
@@ -1427,11 +1470,11 @@
        List<Driver> drivers = driverMapper.selectList(new EntityWrapper<Driver>().eq("authState", 2).ne("state", 3));
        Long now = Long.valueOf(System.currentTimeMillis());
        for(Driver driver : drivers){
            String value = redisUtil.getValue("DEVICE_" + driver.getId());
            String value = (String) redisTemplate.opsForValue().get("DEVICE_" + driver.getId());
            if(ToolUtil.isNotEmpty(value) && now.compareTo(Long.valueOf(value) + (60 * 60 * 1000)) > 0){
                driver.setState(1);
                driverMapper.updateById(driver);
                redisUtil.remove("DEVICE_" + driver.getId());
                redisTemplate.delete("DEVICE_" + driver.getId());
            }
        }
    }
@@ -1508,28 +1551,35 @@
    public ResultUtil loginOut(Integer id) throws Exception {
        //开始清除redis中无效的数据
        Driver driver = driverMapper.selectById(id);
        String key = redisUtil.getValue(driver.getPhone());
        redisUtil.remove(key);//删除个人信息数据
        redisUtil.remove("DRIVER_" + driver.getPhone());//删除后台冻结相关缓存
        redisUtil.remove("DRIVER_" + id);//清除存储的token
        redisUtil.remove("DEVICE_" + id);//清除车载端登录的标识
        String key = (String) redisTemplate.opsForValue().get(driver.getPhone());
        redisTemplate.delete(key);//删除个人信息数据
        redisTemplate.delete("DRIVER_" + driver.getPhone());//删除后台冻结相关缓存
        redisTemplate.delete("DRIVER_" + id);//清除存储的token
        redisTemplate.delete("DEVICE_" + id);//清除车载端登录的标识
        return ResultUtil.success();
    }
    /**
     * 获取编号
     * @return
     * 单点登录
     *
     * @param id
     */
    public String getCode(){
        int count = driverMapper.getCount();
        String code = String.valueOf(1000001 + count);
        return "D" + code.substring(1);
    private void singlePointLogin(Integer id) {
        //开始验证当前账号是否在别处登录
        String value = (String) redisTemplate.opsForValue().get("DRIVER_" + id);
        if (ToolUtil.isNotEmpty(value)) {//将另外设备上的强迫下线(如果是车载端不需要下线)
            //开始清除redis中无效的数据
            Driver driver = driverMapper.selectById(id);
            String key = (String) redisTemplate.opsForValue().get("DRIVER_" + driver.getPhone());
            redisTemplate.delete(key);//删除个人信息数据
            redisTemplate.delete("DRIVER_" + driver.getPhone());//删除后台冻结相关缓存
            redisTemplate.delete("DRIVER_" + id);//清除存储的token
    }
    }
    /**
     * 获取token
     *
     * @param driver
     * @param password
     * @return
@@ -1549,30 +1599,21 @@
        boolean passwordTrueFlag = md5CredentialsMatcher.doCredentialsMatch(
                usernamePasswordToken, simpleAuthenticationInfo);
        String s = JwtTokenUtil.generateToken(String.valueOf(driver.getId()));
        redisUtil.setStrValue(s.substring(s.length() - 32), String.valueOf(driver.getId()), 7 * 24 * 60 * 60);
        redisUtil.setStrValue("DRIVER_" + driver.getPhone(), s.substring(s.length() - 32));
        redisUtil.setStrValue("DRIVER_" + driver.getId(), s);
        redisTemplate.opsForValue().set(s.substring(s.length() - 32), String.valueOf(driver.getId()), 7, TimeUnit.DAYS);
        redisTemplate.opsForValue().set("DRIVER_" + driver.getPhone(), s.substring(s.length() - 32));
        redisTemplate.opsForValue().set("DRIVER_" + driver.getId(), s);
        return s;
    }
    /**
     * 单点登录
     * @param id
     * 获取编号
     *
     * @return
     */
    private void singlePointLogin(Integer id){
        //开始验证当前账号是否在别处登录
        String value = redisUtil.getValue("DRIVER_" + id);
        if(ToolUtil.isNotEmpty(value)){//将另外设备上的强迫下线(如果是车载端不需要下线)
            //开始清除redis中无效的数据
            Driver driver = driverMapper.selectById(id);
            String key = redisUtil.getValue("DRIVER_" + driver.getPhone());
            redisUtil.remove(key);//删除个人信息数据
            redisUtil.remove("DRIVER_" + driver.getPhone());//删除后台冻结相关缓存
            redisUtil.remove("DRIVER_" + id);//清除存储的token
        }
    public String getCode() {
        int count = driverMapper.getCount();
        String code = String.valueOf(1000001 + count);
        return "D" + code.substring(1);
    }
}
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/NettyServiceImpl.java
@@ -1,7 +1,5 @@
package com.stylefeng.guns.modular.system.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.smallLogistics.model.OrderLogistics;
import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
@@ -19,16 +17,18 @@
import com.stylefeng.guns.modular.system.service.IOrderPositionService;
import com.stylefeng.guns.modular.system.util.GDMapElectricFenceUtil;
import com.stylefeng.guns.modular.system.util.GeodesyUtil;
import com.stylefeng.guns.modular.system.util.RedisUtil;
import com.stylefeng.guns.modular.system.util.ResultUtil;
import com.stylefeng.guns.modular.system.warpper.OrderStatusWarpper;
import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Service
@@ -44,7 +44,7 @@
    private PushAuxiliaryMapper pushAuxiliaryMapper;
    @Autowired
    private RedisUtil redisUtil;
    private RedisTemplate redisTemplate;
    @Autowired
    private IOrderTaxiService orderTaxiService;
@@ -81,7 +81,7 @@
     */
    @Override
    public ResultUtil positionSocket(OrderPosition orderPosition, Integer uid) throws Exception {
        redisUtil.setStrValue(String.valueOf(uid), orderPosition.getLon() + "," + orderPosition.getLat());
        redisTemplate.opsForValue().set(String.valueOf(uid), orderPosition.getLon() + "," + orderPosition.getLat());
        if(ToolUtil.isNotEmpty(orderPosition.getOrderId()) && ToolUtil.isNotEmpty(orderPosition.getOrderType())){
            orderPositionService.saveData(orderPosition);
        }
@@ -108,7 +108,7 @@
        }
        //查看是否有可接单的数据
        String value = redisUtil.getValue("DRIVER" + String.valueOf(uid));
        String value = (String) redisTemplate.opsForValue().get("DRIVER" + String.valueOf(uid));
        if(ToolUtil.isNotEmpty(value)){
            String[] split = value.split(",");
            List<OrderStatusWarpper> list1 = this.searchOrder(split[0], split[1], uid);
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/OrderServiceImpl.java
@@ -13,13 +13,11 @@
import com.stylefeng.guns.modular.smallLogistics.server.IOrderLogisticsService;
import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
import com.stylefeng.guns.modular.system.dao.PhoneMapper;
import com.stylefeng.guns.modular.system.dao.RegionMapper;
import com.stylefeng.guns.modular.system.dao.SysReformistMapper;
import com.stylefeng.guns.modular.system.model.AdditionalFee;
import com.stylefeng.guns.modular.system.model.Driver;
import com.stylefeng.guns.modular.system.model.OrderPosition;
import com.stylefeng.guns.modular.system.model.Region;
import com.stylefeng.guns.modular.system.service.IAdditionalFeeService;
import com.stylefeng.guns.modular.system.service.IDriverService;
import com.stylefeng.guns.modular.system.service.IOrderService;
@@ -30,6 +28,7 @@
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -66,7 +65,7 @@
    private ChinaMobileUtil chinaMobileUtil;
    @Autowired
    private RedisUtil redisUtil;
    private RedisTemplate redisTemplate;
    @Autowired
    private PushUtil pushUtil;
@@ -889,7 +888,7 @@
            Integer muoth = Long.valueOf((orderTaxi.getTravelTime().getTime() - System.currentTimeMillis()) / (1000 * 60)).intValue();
            //发送短信提醒
            aLiSendSms.sendSms(driver.getPhone(), "SMS_229613325", "{\"data\":\"" + orderTaxi.getStartAddress() + "\",\"data1\":\"" + orderTaxi.getEndAddress() + "\",\"data2\":\"" + muoth + "\"}");
//            aLiSendSms.sendSms(driver.getPhone(), "SMS_229613325", "{\"data\":\"" + orderTaxi.getStartAddress() + "\",\"data1\":\"" + orderTaxi.getEndAddress() + "\",\"data2\":\"" + muoth + "\"}");
        }
        //专车
        List<OrderPrivateCar> list1 = orderPrivateCarService.queryMaturity();
@@ -901,7 +900,7 @@
            Integer muoth = Long.valueOf((orderPrivateCar.getTravelTime().getTime() - System.currentTimeMillis()) / (1000 * 60)).intValue();
            //发送短信提醒
            aLiSendSms.sendSms(driver.getPhone(), "SMS_229613325", "{\"data\":\"" + orderPrivateCar.getStartAddress() + "\",\"data1\":\"" + orderPrivateCar.getEndAddress() + "\",\"data2\":\"" + muoth + "\"}");
//            aLiSendSms.sendSms(driver.getPhone(), "SMS_229613325", "{\"data\":\"" + orderPrivateCar.getStartAddress() + "\",\"data1\":\"" + orderPrivateCar.getEndAddress() + "\",\"data2\":\"" + muoth + "\"}");
        }
        //跨城
        List<OrderCrossCity> orderCrossCities = orderCrossCityService.queryMaturity();
@@ -913,7 +912,7 @@
            Integer muoth = Long.valueOf((orderCrossCity.getTravelTime().getTime() - System.currentTimeMillis()) / (1000 * 60)).intValue();
            //发送短信提醒
            aLiSendSms.sendSms(driver.getPhone(), "SMS_229613325", "{\"data\":\"" + orderCrossCity.getStartAddress() + "\",\"data1\":\"" + orderCrossCity.getEndAddress() + "\",\"data2\":\"" + muoth + "\"}");
//            aLiSendSms.sendSms(driver.getPhone(), "SMS_229613325", "{\"data\":\"" + orderCrossCity.getStartAddress() + "\",\"data1\":\"" + orderCrossCity.getEndAddress() + "\",\"data2\":\"" + muoth + "\"}");
        }
        //小件物流
        List<OrderLogistics> orderLogistics = orderLogisticsService.queryMaturity();
@@ -923,7 +922,7 @@
            Integer muoth = Long.valueOf((orderLogistics1.getTravelTime().getTime() - System.currentTimeMillis()) / (1000 * 60)).intValue();
            //发送短信提醒
            aLiSendSms.sendSms(driver.getPhone(), "SMS_229613325", "{\"data\":\"" + orderLogistics1.getStartAddress() + "\",\"data1\":\"" + orderLogistics1.getEndAddress() + "\",\"data2\":\"" + muoth + "\"}");
//            aLiSendSms.sendSms(driver.getPhone(), "SMS_229613325", "{\"data\":\"" + orderLogistics1.getStartAddress() + "\",\"data1\":\"" + orderLogistics1.getEndAddress() + "\",\"data2\":\"" + muoth + "\"}");
        }
        if(drivers.size() > 0){
            driverService.updateBatchById(drivers);//批量修改状态为服务中
@@ -1189,7 +1188,7 @@
                state = orderTaxi.getState();
                //司机手动确认收款,删除限制司机6分钟不能接单的标识
                String vehicle = redisUtil.getValue("VEHICLE");
                String vehicle = (String) redisTemplate.opsForValue().get("VEHICLE");
                if(ToolUtil.isNotEmpty(vehicle)){
                    JSONArray jsonArray = JSON.parseArray(vehicle);
                    for(int i = 0; i < jsonArray.size(); i++){
@@ -1198,7 +1197,7 @@
                            break;
                        }
                    }
                    redisUtil.setStrValue("VEHICLE", jsonArray.toJSONString());
                    redisTemplate.opsForValue().set("VEHICLE", jsonArray.toJSONString());
                }
                break;
        }
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ALiApiUtil.java
@@ -28,10 +28,10 @@
    public boolean authentication(String name, String code){
        String url = "https://safrvcert.market.alicloudapi.com/safrv_2meta_id_name/";
        Map<String, String> header = new HashMap<>();
        header.put("Authorization", "APPCODE b7d32437d08149099457dcb50fb57df2");
        header.put("Authorization", "APPCODE 111");
        Map<String, Object> param = new HashMap<>();
        param.put("__userId", "1732960796168165");
        param.put("verifyKey", "IVO4js5kValcdt");
        param.put("__userId", "111");
        param.put("verifyKey", "111");
        param.put("userName", name);
        param.put("identifyNum", code);
        String get = httpClientUtil.pushHttpRequset("GET", url, param, header, "form");
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/ALiSendSms.java
@@ -21,8 +21,8 @@
    // 设置鉴权参数,初始化客户端
    private DefaultProfile profile = DefaultProfile.getProfile(
            "cn-hangzhou",// 地域ID
            "LTAI5tCeHnZXREQBcVf3NHLB",// 您的AccessKey ID
            "OEX6AtRb3qOCyp53xOFdDEYgBjzZzS");// 您的AccessKey Secret
            "111",// 您的AccessKey ID
            "111");// 您的AccessKey Secret
    private IAcsClient client = new DefaultAcsClient(profile);
    private static void log_print(String functionName, Object result) {
@@ -70,7 +70,7 @@
        // 接收短信的手机号码
        request.putQueryParameter("PhoneNumbers", phone);
        // 短信签名名称。请在控制台签名管理页面签名名称一列查看(必须是已添加、并通过审核的短信签名)。
        request.putQueryParameter("SignName", "嘉易行");
        request.putQueryParameter("SignName", "111");
        // 短信模板ID
        request.putQueryParameter("TemplateCode", templateCode);
        // 短信模板变量对应的实际值,JSON格式。
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDFalconUtil.java
@@ -21,7 +21,7 @@
@Component
public class GDFalconUtil implements ApplicationRunner {
    private String key = "ba2915f8d8c1428df72e964a5f94f167";
    private String key = "ea7326a77175aba0e9435859b17bca36";
    @Autowired
    private RestTemplate restTemplate;
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapElectricFenceUtil.java
@@ -4,8 +4,6 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.stylefeng.guns.core.util.ToolUtil;
//import com.stylefeng.guns.modular.system.model.GDFence;
//import com.stylefeng.guns.modular.system.service.IGDFenceService;
import com.stylefeng.guns.modular.system.service.IGDInterfaceService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
@@ -33,7 +31,7 @@
    @Autowired
    private IGDInterfaceService gdInterfaceService;
    private String key = "ba2915f8d8c1428df72e964a5f94f167";
    private String key = "ea7326a77175aba0e9435859b17bca36";
    private JSONArray jsonArray = new JSONArray();
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/GDMapGeocodingUtil.java
@@ -20,7 +20,7 @@
@Component
public class GDMapGeocodingUtil {
    private String key = "ba2915f8d8c1428df72e964a5f94f167";
    private String key = "ea7326a77175aba0e9435859b17bca36";
    @Autowired
    private RestTemplate restTemplate;
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/OssUploadUtil.java
@@ -2,8 +2,6 @@
import com.aliyun.oss.OSSClient;
import com.aliyun.oss.model.ObjectMetadata;
import com.aliyun.oss.model.PutObjectRequest;
import com.aliyun.oss.model.PutObjectResult;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
@@ -14,9 +12,9 @@
public class OssUploadUtil {
    //OSS图片访问域名
    public static String oss_domain = "https://jiayixing-bucket.oss-cn-beijing.aliyuncs.com/";
    public static String accessKeyId = "LTAI5tE2Z7nA1rbtzZYMSPqR";
    public static String accessKeySecret = "HOGUqx1t4UWh8KepXJf69dlKj4tTBs";
    public static String bucketName="jiayixing-bucket";
    public static String accessKeyId = "111";
    public static String accessKeySecret = "111";
    public static String bucketName = "111";
    public static String endpoint = "oss-cn-beijing.aliyuncs.com";
    /**
     * base64图片 contentType
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushMinistryOfTransportUtil.java
@@ -15,6 +15,7 @@
import com.stylefeng.guns.modular.system.service.IOrderPositionService;
import com.stylefeng.guns.modular.system.service.ITransactionDetailsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@@ -49,7 +50,7 @@
    private GDMapElectricFenceUtil gdMapElectricFenceUtil;
    @Autowired
    private RedisUtil redisUtil;
    private RedisTemplate redisTemplate;
    @Resource
    private ServerCarModelMapper serverCarModelMapper;
@@ -137,7 +138,7 @@
        OrderPrivateCar orderPrivateCar = orderPrivateCarService.selectById(orderId);
        Driver driver = driverService.selectById(orderPrivateCar.getDriverId());
        Car car = carService.selectById(orderPrivateCar.getCarId());
        String value = redisUtil.getValue("DRIVER" + orderPrivateCar.getDriverId());
        String value = (String) redisTemplate.opsForValue().get("DRIVER" + orderPrivateCar.getDriverId());
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("Address", 450204);//发起地行政区划代码
        jsonObject.put("OrderId", orderPrivateCar.getOrderNum());//订单编号
@@ -169,7 +170,7 @@
    public void operateLogin(Integer driverId){
        Driver driver = driverService.selectById(driverId);
        Car car = carService.selectById(driver.getCarId());
        String value = redisUtil.getValue("DRIVER" + driverId);
        String value = (String) redisTemplate.opsForValue().get("DRIVER" + driverId);
        if(ToolUtil.isNotEmpty(value)){
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("LicenseId", driver.getDriveCard());//机动车驾驶证号
@@ -200,7 +201,7 @@
    public void operateLogout(Integer driverId){
        Driver driver = driverService.selectById(driverId);
        Car car = carService.selectById(driver.getCarId());
        String value = redisUtil.getValue("DRIVER" + driverId);
        String value = (String) redisTemplate.opsForValue().get("DRIVER" + driverId);
        if(ToolUtil.isNotEmpty(value)){
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("LicenseId", driver.getDriveCard());//机动车驾驶证号
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
@@ -12,6 +12,7 @@
import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
@@ -23,7 +24,10 @@
import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
import java.util.*;
import java.util.HashMap;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
/**
 * socket推单处理类
@@ -47,7 +51,7 @@
    private IOrderCrossCityService orderCrossCityService;
    @Autowired
    private RedisUtil redisUtil;
    private RedisTemplate redisTemplate;
    @Autowired
    private IOrderLogisticsService orderLogisticsService;
@@ -159,9 +163,9 @@
        JSONObject data = new JSONObject();
        data.put("id", userId);
        data.put("type", 1);
        String value = redisUtil.getValue(orderId + "_" + orderType);
        String value = (String) redisTemplate.opsForValue().get(orderId + "_" + orderType);
        if(ToolUtil.isEmpty(value)){
            redisUtil.setStrValue(orderId + "_" + orderType, data.toJSONString());
            redisTemplate.opsForValue().set(orderId + "_" + orderType, data.toJSONString());
            createTask(orderId, orderType);
        }
    }
@@ -276,7 +280,7 @@
            return;
        }
        //计算预计距离和剩余时间
        String value = redisUtil.getValue("DRIVER" + String.valueOf(driverId));
        String value = (String) redisTemplate.opsForValue().get("DRIVER" + String.valueOf(driverId));
        if(null == value || "".equals(value)){
            return;
        }
@@ -342,7 +346,7 @@
        // 以表单的方式提交
        headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
        //将请求头部和参数合成一个请求
        String value1 = redisUtil.getValue(orderId + "_" + orderType);
        String value1 = (String) redisTemplate.opsForValue().get(orderId + "_" + orderType);
        if(ToolUtil.isEmpty(value1)){
            this.removeTask(orderId, orderType);
            return;
@@ -477,7 +481,7 @@
        if (null != timer){
            timer.cancel();
            taskMap.remove(orderId + "_" + orderType);
            redisUtil.remove(orderId + "_" + orderType);
            redisTemplate.delete(orderId + "_" + orderType);
        }
    }
}
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/RedisUtil.java
File was deleted
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/EnterpriseUtil.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import com.open.common.util.OpenApiClient;
import com.open.common.util.SystemParameterNames;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.*;
@@ -187,7 +188,7 @@
        map.put(SystemParameterNames.getMessage_id(), messageId);
        map.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
        map.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
        map.put("content", JSON.toJSONString(request));
        map.put("content", new Gson().toJson(request));
        log.info("【修改企业基本信息】请求地址:" + url);
        log.info("【修改企业基本信息】请求参数:" + JSON.toJSONString(map));
        String result = OpenApiClient.sendCommonHttpRequst(url, headers, "GET", skprivateKeyFile, timeStamp, map);
@@ -228,7 +229,7 @@
        map.put(SystemParameterNames.getMessage_id(), messageId);
        map.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
        map.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
        map.put("content", JSON.toJSONString(request));
        map.put("content", new Gson().toJson(request));
        
        log.info("【创建企业】请求地址:" + url);
        log.info("【创建企业】请求参数:" + JSON.toJSONString(map));
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/UserUtil.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.google.gson.Gson;
import com.open.common.util.OpenApiClient;
import com.open.common.util.SystemParameterNames;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.*;
@@ -99,7 +100,7 @@
        contentMap.put(SystemParameterNames.getMessage_id(), messageId);
        contentMap.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
        contentMap.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
        contentMap.put("content", JSON.toJSONString(request));
        contentMap.put("content", new Gson().toJson(request));
        log.info("【根据手机号注册用户】请求地址:" + url);
        log.info("【根据手机号注册用户】请求参数:" + JSON.toJSONString(contentMap));
        String result = OpenApiClient.sendCommonHttpRequst(url, headers, "POST", skprivateKeyFile, timeStamp, contentMap);
@@ -145,7 +146,7 @@
        contentMap.put(SystemParameterNames.getMessage_id(), messageId);
        contentMap.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
        contentMap.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
        contentMap.put("content", JSON.toJSONString(request));
        contentMap.put("content", new Gson().toJson(request));
        log.info("【易信用户修改密码】请求地址:" + url);
        log.info("【易信用户修改密码】请求参数:" + JSON.toJSONString(contentMap));
        String result = OpenApiClient.sendCommonHttpRequst(url, headers, "POST", skprivateKeyFile, timeStamp, contentMap);
@@ -191,7 +192,7 @@
        contentMap.put(SystemParameterNames.getMessage_id(), messageId);
        contentMap.put(SystemParameterNames.getUserName(), QianYunTongProperties.userName);
        contentMap.put(SystemParameterNames.getStatus(), QianYunTongProperties.status);
        contentMap.put("content", JSON.toJSONString(request));
        contentMap.put("content", new Gson().toJson(request));
        log.info("【易信重置密码】请求地址:" + url);
        log.info("【易信重置密码】请求参数:" + JSON.toJSONString(contentMap));
        String result = OpenApiClient.sendCommonHttpRequst(url, headers, "POST", skprivateKeyFile, timeStamp, contentMap);
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/DeleteStafNodeRequest.java
@@ -11,7 +11,7 @@
    /**
     * 人员ID
     */
    private Integer empId;
    private Long empId;
    /**
     * 手机号
     */
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/model/GetStaffNodeRequest.java
@@ -11,7 +11,7 @@
    /**
     * 人员ID
     */
    private Integer empId;
    private Long empId;
    /**
     * 操作人手机号
     */
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -8,19 +8,18 @@
import com.stylefeng.guns.core.util.ToolUtil;
import com.stylefeng.guns.modular.specialTrain.model.OrderPrivateCar;
import com.stylefeng.guns.modular.specialTrain.server.IOrderPrivateCarService;
import com.stylefeng.guns.modular.system.dao.RegionMapper;
import com.stylefeng.guns.modular.system.model.*;
import com.stylefeng.guns.modular.system.model.Company;
import com.stylefeng.guns.modular.system.model.Driver;
import com.stylefeng.guns.modular.system.model.OrderAdditionalFee;
import com.stylefeng.guns.modular.system.model.OrderPosition;
import com.stylefeng.guns.modular.system.service.*;
import com.stylefeng.guns.modular.system.util.*;
import com.stylefeng.guns.modular.taxi.dao.OrderTaxiMapper;
import com.stylefeng.guns.modular.taxi.model.OrderTaxi;
import com.stylefeng.guns.modular.taxi.service.IOrderTaxiService;
import io.swagger.annotations.ApiImplicitParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Isolation;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.math.BigDecimal;
@@ -43,7 +42,7 @@
    private GDFalconUtil gdFalconUtil;
    @Autowired
    private RedisUtil redisUtil;
    private RedisTemplate redisTemplate;
    @Autowired
    private IOrderPositionService orderPositionService;
@@ -332,7 +331,7 @@
        orderTaxi.setStartServiceTime(date);
        orderTaxi.setBoardingTime(date);
        String value = redisUtil.getValue("DRIVER" + uid);
        String value = (String) redisTemplate.opsForValue().get("DRIVER" + uid);
        if(ToolUtil.isNotEmpty(value)){
            String[] split = value.split(",");
            Map<String, String> geocode1 = gdMapGeocodingUtil.geocode(split[0], split[1]);
@@ -589,13 +588,13 @@
                }
            }).start();
            //添加定时任务6分钟司机不确认收款自动完成支付(仅车载端),6分钟之内司机无法接单
            String vehicle = redisUtil.getValue("VEHICLE");
            String vehicle = (String) redisTemplate.opsForValue().get("VEHICLE");
            JSONArray jsonArray = new JSONArray();
            if(ToolUtil.isNotEmpty(vehicle)){
                jsonArray = JSON.parseArray(vehicle);
            }
            jsonArray.add(orderTaxi.getDriverId());
            redisUtil.setStrValue("VEHICLE", jsonArray.toJSONString());//添加司机不能接单标识
            redisTemplate.opsForValue().set("VEHICLE", jsonArray.toJSONString());//添加司机不能接单标识
            TimerTask timerTask = new TimerTask() {
                @Override
@@ -611,7 +610,7 @@
                        orderTaxi1.setState(8);
                        OrderTaxiServiceImpl.this.updateById(orderTaxi1);
                        String vehicle = redisUtil.getValue("VEHICLE");
                        String vehicle = (String) redisTemplate.opsForValue().get("VEHICLE");
                        if(ToolUtil.isNotEmpty(vehicle)){
                            JSONArray jsonArray = JSON.parseArray(vehicle);
                            for(int i = 0; i < jsonArray.size(); i++){
@@ -620,7 +619,7 @@
                                    break;
                                }
                            }
                            redisUtil.setStrValue("VEHICLE", jsonArray.toJSONString());
                            redisTemplate.opsForValue().set("VEHICLE", jsonArray.toJSONString());
                        }
                        new Thread(new Runnable() {
@@ -683,13 +682,13 @@
        }).start();
        //添加定时任务6分钟司机不确认收款自动完成支付(仅车载端),6分钟之内司机无法接单
        String vehicle = redisUtil.getValue("VEHICLE");
        String vehicle = (String) redisTemplate.opsForValue().get("VEHICLE");
        JSONArray jsonArray = new JSONArray();
        if(ToolUtil.isNotEmpty(vehicle)){
            jsonArray = JSON.parseArray(vehicle);
        }
        jsonArray.add(orderTaxi.getDriverId());
        redisUtil.setStrValue("VEHICLE", jsonArray.toJSONString());//添加司机不能接单标识
        redisTemplate.opsForValue().set("VEHICLE", jsonArray.toJSONString());//添加司机不能接单标识
        TimerTask timerTask = new TimerTask() {
            @Override
@@ -705,7 +704,7 @@
                    orderTaxi1.setState(8);
                    OrderTaxiServiceImpl.this.updateById(orderTaxi1);
                    String vehicle = redisUtil.getValue("VEHICLE");
                    String vehicle = (String) redisTemplate.opsForValue().get("VEHICLE");
                    if(ToolUtil.isNotEmpty(vehicle)){
                        JSONArray jsonArray = JSON.parseArray(vehicle);
                        for(int i = 0; i < jsonArray.size(); i++){
@@ -714,7 +713,7 @@
                                break;
                            }
                        }
                        redisUtil.setStrValue("VEHICLE", jsonArray.toJSONString());
                        redisTemplate.opsForValue().set("VEHICLE", jsonArray.toJSONString());
                    }
                    new Thread(new Runnable() {
DriverQYTTravel/guns-admin/src/main/resources/application.yml
@@ -4,7 +4,8 @@
guns:
  swagger-open: true              #是否开启swagger (true/false)
  kaptcha-open: false             #是否开启登录时验证码 (true/false)
#  file-upload-path: d:/tmp       #文件上传目录(不配置的话为java.io.tmpdir目录)
  file-upload-path: d:/tmp       #文件上传目录(不配置的话为java.io.tmpdir目录)
  picture-server-address: http://192.168.0.43/resources/  #图片服务器地址
  spring-session-open: false      #是否开启spring session,如果是多机环境需要开启(true/false)
  session-invalidate-time: 1800     #session失效时间(只在单机环境下生效,多机环境在SpringSessionConfig类中配置) 单位:秒
  session-validation-interval: 900  #多久检测一次失效的session(只在单机环境下生效) 单位:秒
@@ -60,15 +61,6 @@
---
mysql_ssl:
  useSSL: true
  requireSSL: true
  verifyServerCertificate: true
  sslMode: verify_ca
  trustCertificateKeyStoreUrl: file:D:/Program Files/mysql-5.7.38-winx64/data/truststore
  trustCertificateKeyStorePassword: sinata
spring:
  datasource:
    url: jdbc:mysql://127.0.0.1:3306/jyxtravel?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=Asia/Shanghai
@@ -80,11 +72,7 @@
    #测试环境
    host: 127.0.0.1
    port: 6379
    timeout: 5000
    database: 10
    password: 123456
@@ -92,39 +80,38 @@
wx:
  grantType: authorization_code #填authorization_code
  appid: wxfba0dbf7c79c8593 #应用唯一标识,在微信开放平台提交应用审核通过后获得
  appSecret: 99ffb558cc6af57fd60703fb36e28829 #应用密钥AppSecret,在微信开放平台提交应用审核通过后获得
  appletsAppid: #小程序APPid
  appletsAppSecret: #
  mchId: 1523106371 #微信支付分配的商户号
  key: s4TQO0NqPaRc0YfGptejNjlOpFlt4y2K #key为商户平台设置的密钥key:
  appid: 111 #应用唯一标识,在微信开放平台提交应用审核通过后获得
  appSecret: 111 #应用密钥AppSecret,在微信开放平台提交应用审核通过后获得
  appletsAppid: wxcc3c9058e2b294db #小程序APPid
  appletsAppSecret: 5610fc6126255ca5f7bd9fa4330338b6 #
  mchId: 111 #微信支付分配的商户号
  key: 111 #key为商户平台设置的密钥key:
---
alipay:
  appid: 2021003104609427  #应用程序唯一标识
  appPrivateKey: MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC7Kry43+tFiWnNhg9Us48Jzbjf/65hO/d0epihS4LnAO15L+V4UZfpSfIvIC5N6kEnkem+/abBnhAtSQE05s4gR3PtuP0H2SNX79+pgFliA1QvaSoA514f+APKiDUPTkmaTbp3MXCx0RGYEAEd6LOi8AUbFF2QWKDiMY76ac2l2FirVEeU8r9dIvPu1WDtTMoxAGFu6JfNsZ1ik8VyZUvULHyrXbe6Fx4KFX8kFX4PYEZ8RU3q6y9PCwMAjiPoBMs7t9s4GBrlfGoxMoC6+Lthh6rhLEq4OLoVVzrh/H+yWXg0SpFhnxN3RtIWueVWc9qsF7wtFoP4gXDWI/x6OmFRAgMBAAECggEBALhARjCpHm8B60oL4yO67+DyyECa7wuBgQUFeyOttlu6KgzW/csIZ8ecp/GEeJDzPti5Z6ZBBdwswjgSWkG9xMU6EgG/zjffpk93MHMoitVV+ZYCrPreyWYnPXQvyiwbIZHpWtrjrNEfw3YyqybKYazRI/WYgtMKrLZ/mwUhCvVq6CEwVMRDZXc2ietCtrZvbH4XuRtbXxxddzjiChhlRVwbD4Vei5eYS7F97PjHSrtjxjPyatw/mq6Gwh7tkjXuBliB2NwLcHkkm4FT4WxyLSWO8OydYPFYC5E6ENaZmZZMub3bXQ66xciCXwWMHZ7uRe5tmwtxWj8QqjLj8GtciAECgYEA8dVP6ViKSuwQ6WInDvAxoLrrcEX3D5N17L4sb0kfUtsd7S+g4MbHueXAmIqdlFXnCvjmfFUYg4kqfYU/PqaElntupuvTzwe4JUAtnmw7MB72iP6fzL1x3kBFgzn4ZaVzcRafRiiqE27+KPOkD+uNsgCMExIeTC6IgaKUbkjMjOECgYEAxiGdHN9ho44uBORW8+kdX1c92PFfpHsRcLdZkE6C+kjoS2QAMl1mM72yWHRn+rqK/Kk5BCipQ92+K/j78Zs1Zmunz+JJvQgTxQ2HFlW1tnb53K9F4xr6K1ysYdVmfeLH5wtNAJ2aLabD9Nzi/7RW4Oz83rN3bPFW4Dxgi5O0cnECgYEAgzejLJIGN7DvXDMNzmU2CGhj53+PFryEd/iYU6nxfRu3mUMGn/A73vpzDlHoPtx9iM6VAVGLA5QhognyzyO7PYur9pZvTx55JH02Q4emde3XB25hds40QsvM6+9AgKbNhMcplP/riK/o6H+KvbiqIbN6Tb6/Accd+nkk4NJPawECgYEArKbb9y39Mn4SQfcMgo2QJ+WpImPruTP5FaTgaizQW/OuYQvqU/kpt0rFn+kINufZd6Sq56HbJiWTs1PLkFV06iRD3pZNNWlVePB52A+mQjNZNmKR3v5CJAkkujgwkOBO3FnvpuqvULqypazaLoLi9ivtis8O8aM41jwm0VpL8zECgYAXoKO7mfyehcyOqHTgvUo8JOIZm4G1zxZxMImutQc13ZY0mZniGFuZJ5cXFWHpyscrt69zklpp1uhYJLsaoKfPUeZi1ZujlSA7uY4vEYUoEA+AQT541/Bn7JqOoUnLAMzsucEF0vUV/kYmePe68B3JbrxZKisgFkR5OB/8/Nh2og== #开发者应用私钥
  appid: 111  #应用程序唯一标识
  appPrivateKey: 111 #开发者应用私钥
  alipayPublicKey: 1 #应用公钥
  alipay_public_key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuyq8uN/rRYlpzYYPVLOPCc243/+uYTv3dHqYoUuC5wDteS/leFGX6UnyLyAuTepBJ5Hpvv2mwZ4QLUkBNObOIEdz7bj9B9kjV+/fqYBZYgNUL2kqAOdeH/gDyog1D05Jmk26dzFwsdERmBABHeizovAFGxRdkFig4jGO+mnNpdhYq1RHlPK/XSLz7tVg7UzKMQBhbuiXzbGdYpPFcmVL1Cx8q123uhceChV/JBV+D2BGfEVN6usvTwsDAI4j6ATLO7fbOBga5XxqMTKAuvi7YYeq4SxKuDi6FVc64fx/sll4NEqRYZ8Td0bSFrnlVnParBe8LRaD+IFw1iP8ejphUQIDAQAB #支付宝公钥
  alipay_public_key: 111 #支付宝公钥
---
juhe: #聚合数据
  appKey: 01ba594fee41fc7214ca77ef51c783c9 #
  appKey: 111 #
---
jiguang:
  appKey-driver: c673a73acba4d06849913fd2 #极光推送应用唯一标识
  masterSecret-driver: 8553897a9a886fb0cf467e97 #用于服务器端 API 调用时与 AppKey 配合使用达到鉴权的目的
  appKey-dispatch: 7eecaa0ce660780f4b364684 #极光推送应用唯一标识
  masterSecret-dispatch: fca87938cb39a72360ea3293 #用于服务器端 API 调用时与 AppKey 配合使用达到鉴权的目的
  appKey-driver: 111 #极光推送应用唯一标识
  masterSecret-driver: 111 #用于服务器端 API 调用时与 AppKey 配合使用达到鉴权的目的
  appKey-dispatch: 111 #极光推送应用唯一标识
  masterSecret-dispatch: 111 #用于服务器端 API 调用时与 AppKey 配合使用达到鉴权的目的
---
#filePath: /usr/local/server/orderPostionFile/ #存储订单轨迹文件路径
filePath: C:/orderPostionFile/  #存储订单轨迹文件路径
@@ -132,53 +119,8 @@
#支付回调地址
#正式环境
callbackPath: https://zhentonggongsi.com:443/driver
#正式测试环境
#callbackPath: http://123.56.89.63:8080/driver
#本地测试环境
#callbackPath: http://vwpmxwbhv59i.guyubao.com/driver
---
#交通部推送数据功能开关
pushMinistryOfTransport: false
---
#云闪付配置
#upyzt:
#  root-mch-id: 1007907055778710140
#  api-base:
#  encrypt-public-key: 04a79c8a0f236b383ac5815d22eebbc29f947f7e10c5a145dc545107e88bf30a97eee234b734f63578dd3423e4ba05bea2741a3e5b9e7e85f6f8e91eb406fa61dd
#  sign-private-key: MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCv6jKnPPv+RbL1Ez4TGF2rXD13Lb5hsqEHFG1lGu2j//HVDrSxjAKtWiOCSBcsi3ql1vLHcE9ptkX098sBjJQ71KlqwBB9bJKfUA3aP/R8aoP+2T247vr4vpGoVHrOGIx9fb2nCK6lX7jamuBlWls2SrXiSwgsNBBMfdzaSev5MMLW7Rwts4CCaDvTNE+fTMJeSi1Bj3gDyY/s+ZDz9usZ4thQq4XV/CMuq9KfT36U5kbBMPLZzlT7CnH82uewG3vZ8MYJ83VqveNsWcWUXvDlpeDKbk7IKqzzpcqM608VFf9YVlaH1PnPxGJVMg+fRI0zcxT/ayxQ6/lj8lBjz81PAgMBAAECggEARIL9v0xtCBa1H+Wio2U19esytRvHrd0YAd3ezSWzr8+aq9PSY+OXl1QnyDGzdNHNrpEMdMg05YLrtABdu/i4MqUcZkrvISoL4KgY/QszeNEzHyoUc9X/QKlXqStduK6u6KD0H/2tpxKkt97hzhdmtrpaJAv83tpYDrJmNU3c7Wt8EdVein8LoO+ZM5Y5Fj2z08RoWcuoba6VAtvL+/LXC+yFHhh9XaVOPFt/KKgf17GpbI2b++1oLsBH1Lvy5aVNLobuBhoG//YRWITzpvTESFnlZeZZEE1/my45ae21LEC4p9WZbkfyUhEsWgKdGNyysj2Bi9suirZw2I11emXCIQKBgQD/Z6vPYHJOclNUnpNmj8keJkfe1wOrhPiaNyaMn6D/SE3DuGd1q5ilQA3etkc42UvgVeO9VLwAYE/fauDwl/AcztRv5KugdKcrRYmaT76DqWvy5ScYh6uCxWDYF4TyT4XKDWpH3nBA7/tzEbiJM8PobgGQpQHhIidd4Xua45nE9QKBgQCwUx39zwEGF6wCp7xs4yeWZy/M2XmuyzaDrWQjqj4PdPOhd4M3TOeGa7Dk0u8SlTGtkXbtc1MztIVO/91nc7ge706Zp94lqTW34owqWKRTbW46H7v4Cm48RIRek/q7WliYD3FmhhMnbBYjv1905KTqbb20kAsR6ensMwE4SmD+swKBgQCt5pneXq4V6dQBZuO4TqjC5Y/EFCTEkYpv/qM51qrZhxKj9BhFz6vkwKNxBC2kcJgwTGr/jAViQDHCTtSQHPP5uX5+HXYaj7MPTI6vyiJPJXmB7jNbiWznYptZJ1J3ZlwTQmUeQD+wh3ZvWB6NFPkMdnKMWT3ZW9bwHkp6IQSfTQKBgGU99FSNjWrwIKYNpdVnwI1Nhla68HF64TxOTNdloujBIDqwIrmYAMBgCVv5+afT3ohoo77HnxhrKLgplfkWqruocJstlhJNzDhfblfKOeBlTws0uXs8kfss5Exh72+v+nqlM1nI1iqmlzfDZI370u2AQZLxukl45AXpa2Pk4TidAoGBALAmhrLFpTgQb7zTv471azY2Z9LRCGOcU0c73JbHvx6kkTudOQslf4ojqUJH/mR2/bIjzP0NuUpdL9r/1ZFlbhVRzYYbJdlKhByDUiHN0kBK0T4OfVNaudRAn9AkGUKzgR/ZcpkJ1XDu/Q5xTGsTs4TobNsPrVgNqVvcFxsMVa+f
#  verify-public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxRo7VeJ9goO9Udw/NGmg11ebTMZNLtqssbjID+smZjGuHrwBI/E7nYxe9aBSjswtAjdVFpspRXacOayTBTKwUix1pUpAMHZSC0vw0nLGOBesXYorPOlPQrOHHReIKFg+tVDsKNENNsHPxq1zOal8O8dXjN2ZDxMe2XjOkXP40iYa3YitX4pRN3aKRORnm/jyOjqBimdGwDQvXam97L5Ig6/h4AntZQaQMb1dCCNKe8TUJmCQqGFe4uxQlrrYRBqZApyeafNh75bu+kV7H1TRg3ryuHwPk3UHB3pcA09KcpLmlS0Z27Y8yiNtQFdlsMxbyF22Ji66OkNjTWko04JVXwIDAQAB
upyzt:
  root-mch-id: 1008242569972661286
  api-base:
  encrypt-public-key: 04b82af98a8cae3977176f7d667da9cf7b1dec0eb6f9bb8384e379ee45583205846ae808f1e4f50d4e3bd35d92e51a46455b58c75fe8d1092c0650a7696211f5c6
  sign-private-key: MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCmpIUQUcQ34ECQblphKdggKYDvOJRLcWOQPoREPIHO2/1yp9So5b3O65LqQVeKxShYtLHLnn9TeDRMP6aKWhVtkm0itRJ7LpZJExhCtcZN721PzC+vQWTlitiQKNFkkBycAxa5K2IRVHoiTIyfeuCSGy+iX9YRGyxr8frMCvKUCENVtqAxmqSheykqNCF3m/Nu3WarV/XxxKLTZgbY7WO5kO/MbvEok2VtklnKV92ntT8rS300ck3GOxHATKyxThZ+N+A13dgwfW8oS/U27uQhXnaSyiL23Aqnkjdue2cCYhwqj+JskOvB4FDI4osL1A3D87Vr453+7dR4srTSlX59AgMBAAECggEBAICWlSM5pSrkvY11ygIN8vsma5qs0ynADm8A/rlU42nHMbSmsx+9YBDqkQx4bV/ksTR6AnQ4EtJLADgSKaW6y6wogFR22xL4qPksZd0cPTBoX7Zivi0DTiMeV+wtwx5RYfI1I/Sw+FSdFj2fSifJ/r5fggtO3nWGvWlyaO/IRtVYp5R7nl2xa6dA0tmlj3M59zBH8JV84WKjmkYKelNeM5cn2dpC1jokhZTGlNSUx5FAvFHWXbFzSkKWTl0quEbAqaAoWaSQn2DlWutxh4pYnlq5tIhR9tbXdbfrv6QTC/dekctwxHCwLQEpG+Bo2ZG8CNmMaL9UthpLJzprsH2ZrGECgYEA28nmpSfWHKuPM8sp0/+wFMgGIAaBzKFFa9skAyQakUDy0V+8yKwDv1WF6/YFqjpObgB0pwRN84mBgYxumuT73VE8ewztRvZ6Zj/upU/t7XVnb3ZZfWxQXlUslktgg0dGNRZRBaNDTHcNaq71PiRGOpDF/mx3bEPVbPz0m/YLVnUCgYEAwhkPy5viQnQPFu0WmSJSnB48sUq8w9hkN/A9mTBDKZg+dWcO57X85bbK/fly/OmXPn9jtayunMul2fOFg69UkLJi0l89kECF7w+nqmeiGYILbqH7rxbnRpMyGoeClVDCgjRsTR/IVM42XuSDGdBduea1M+3InMqDclgLXzRG1ukCgYBtjBeKr+1XQudQYG3LvcBsyznKUpP1g1hPpt0vN5qKVX3xf69fseT4Q89JScmPDBq1V0LNUCbuQNYs1Or4BzPGHsxvZIULfqSJPEpdWRZ06bSRaMK38fmo2vkrPAyxwh+rLCFcFwDfJuOoDeYsf/YFEM2uvy9S5giFlxrwdVU3VQKBgQCQ6Scay3IcTQvrAO1rPO3SMtz7PKI70XXZMZq7oQWzqz+OZXgCVKPQWS2qei94VWmetnsZ6yeeVoindSGMVD1dnmEbURHkfdfAyL5UAfVK+AVS/sqqSP44ebLhjaRXmCjwDvWAiycE8cQ0CoU6o48mOPG2KGQrcyK6HrO2y4/L6QKBgQCetnmw1FkvRRGjSUSW/VkC3gFd8zUzVXkCpB7ikygukgXxzztU9Ef6MYljb+LJbWNVoZRJFL8qRixHvqJ5NPOiJEUetn2v5e+dsFF4ZtjnMAm7F27+RDJWYnldb0i7N9YhAPRV4jhVf9w2uVvD+pNvtrvgWyhVvfwWSX/bKRgYXQ==
  verify-public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAyr6JlFZM197He+qcWImiHaVfdY9aIQTL7HaqIOvAqgCLa/oUoHlUNLb8ZZbQzFm/uDhgitPSP8tG0NPW0Vge0zlSXdYZFJFpZdBDmtkGR/fN0bJ9UMcijFEkCzyo2j2KTsJ4jMbaWW13zPQfGir6PIVX8YbQSB1prZzGWt+LzW4VTowwFl7iF/g9M/MqM67fnLmg+lIqzwaG1JsjDwDC0nUmywJfFFH/j/yKWsq+YYDh1dZI7cDWxMbrzgDzxOfBMSc4mk/e9pxaTtIjPbRsmOsAUiwdh4av/VIyI3KI9wdKiJQR6Sk3BcNWbk6cGgAbpnc5kZ87qMUjUZ6fY+VUAQIDAQAB
#二维码支付
qrcode:
  appId: 8a81c1bf831e72e30187ad640adf49be
  appKey: 6463dcd46c6d410eb40e68ee40e86e84
  md5key: NxDhJztSzCDFzs3Z5Fzck7BAG2sRA4DY5aKScJDZrAzMkCh7
  msgSrcId: 34U0
  mid: 898150841210108
  tid: 84UJWSE8
  instMid: QRPAYDEFAULT
#qrcode:
#  appId: 8a81c1bf831e72e30187ad640adf49be
#  appKey: 6463dcd46c6d410eb40e68ee40e86e84
#  md5key: NxDhJztSzCDFzs3Z5Fzck7BAG2sRA4DY5aKScJDZrAzMkCh7
#  msgSrcId: 1017
#  mid: 898201612345678
#  tid: 88880001
#  instMid: QRPAYDEFAULT
#qrcode:
#  appId: 10037e6f6823b20801682b6a5e5a0006
#  appKey: 1c4e3b16066244ae9b236a09e5b312e8
#  md5key: impARTxrQcfwmRijpDNCw6hPxaWCddKEpYxjaKXDhCaTCXJ6
#  msgSrcId: 1017
#  mid: 898201612345678
#  tid: 88880001
#  instMid: QRPAYDEFAULT
DriverQYTTravel/guns-admin/src/main/resources/redis.properties
File was deleted
DriverQYTTravel/guns-admin/src/test/java/com/stylefeng/guns/GunsApplicationTest.java
@@ -1,10 +1,7 @@
package com.stylefeng.guns;
import com.stylefeng.guns.modular.system.util.qianyuntong.EmployeeUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.DeleteStafNodeRequest;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.EditStaffNodeRequest;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.GetStaffNodeRequest;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.SaveStaffNodeRequest;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
@@ -90,7 +87,7 @@
        GetStaffNodeRequest request = new GetStaffNodeRequest();
        request.setEmpId(11448036);
        request.setEmpId(11448036L);
        request.setMobile("15828353127");
        request.setEntercode("981100006005878");
        EmployeeUtil.getStaffNode(request);