Pu Zhibing
2025-07-30 5529834203a3a03958954d7d344fbbb24d0a31e0
添加首页地图车辆相关皆苦
11个文件已修改
4364 ■■■■ 已修改文件
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java 4206 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserInfo.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java 64 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/SMSUtil.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/DriverPosition.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/ServerCarModelWarpper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -14,12 +14,9 @@
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.geo.GeoResult;
import org.springframework.data.geo.GeoResults;
import org.springframework.data.geo.Point;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.NearQuery;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -140,19 +137,15 @@
    })
    public ResultUtil<List<Map<String, Object>>> queryNearbyCar(String lon, String lat){
        //mongodb查询附近5公里范围内的坐标
        NearQuery query = NearQuery.near(new Point(Double.parseDouble(lon), Double.parseDouble(lat)));
        query.query(Query.query(Criteria.where("point")));
        query.maxDistance(5000);
        GeoResults<DriverPosition> results = mongoTemplate.geoNear(query, DriverPosition.class);
        Query query = Query.query(Criteria.where("point").nearSphere(new Point(Double.parseDouble(lon), Double.parseDouble(lat))).maxDistance(5000));
        List<DriverPosition> driverPositions = mongoTemplate.find(query, DriverPosition.class);
        List<Map<String, Object>> collect = new ArrayList<>();
        if(collect.size() > 0){
            List<GeoResult<DriverPosition>> content1 = results.getContent();
            List<DriverPosition> positionList = content1.stream().map(GeoResult::getContent).collect(Collectors.toList());
            List<Integer> driverIds = positionList.stream().map(DriverPosition::getDriverId).collect(Collectors.toList());
            List<Driver> drivers = driverService.selectList(new EntityWrapper<Driver>().in("driverId", driverIds)
        if(driverPositions.size() > 0){
            List<Integer> driverIds = driverPositions.stream().map(DriverPosition::getDriverId).collect(Collectors.toList());
            List<Driver> drivers = driverService.selectList(new EntityWrapper<Driver>().in("id", driverIds)
                    .eq("authState", 2).eq("state", 2));
            collect = drivers.stream().map(driver -> {
                Optional<DriverPosition> driverPosition = positionList.stream().filter(position -> position.getDriverId().equals(driver.getId())).findFirst();
                Optional<DriverPosition> driverPosition = driverPositions.stream().filter(position -> position.getDriverId().equals(driver.getId())).findFirst();
                Map<String, Object> map = new HashMap<>();
                map.put("driverId", driver.getId());
                map.put("name", driver.getName());
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/OrderController.java
Diff too large
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/UserInfo.java
@@ -145,6 +145,11 @@
     */
    private Date bindExpireDate;
    /**
     * 中台用户ID
     */
    @TableField("onconUUID")
    private String onconUUID;
    public Integer getBindDriverId() {
        return bindDriverId;
@@ -353,7 +358,15 @@
    public void setAppletsOpenId(String appletsOpenId) {
        this.appletsOpenId = appletsOpenId;
    }
    public String getOnconUUID() {
        return onconUUID;
    }
    public void setOnconUUID(String onconUUID) {
        this.onconUUID = onconUUID;
    }
    @Override
    public String toString() {
        return "UserInfo{" +
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/ServerCarModelServiceImpl.java
@@ -157,6 +157,7 @@
                
                serverCarModelWarpper.setContentExclusive(contentExclusive);
                serverCarModelWarpper.setContentPrice(contentPrice);
                serverCarModelWarpper.setWaitPrice(jsonObject);
                
                serverCarModelWarpper.setAmount(this.calculationPrice(contentExclusive, distance, duration, wait, waitMoney));
                serverCarModelWarpper.setBuyNowAmount(this.calculationPrice(contentPrice, distance, duration, wait, waitMoney));
@@ -296,7 +297,7 @@
        serverCarModelWarpper.setContentNotTwo(new JSONObject());
        serverCarModelWarpper.setContentPutThree(new JSONObject());
        serverCarModelWarpper.setContentNotThree(new JSONObject());
        serverCarModelWarpper.setContentExclusive(new JSONObject());
        serverCarModelWarpper.setContentExclusive(jsonObject);
        serverCarModelWarpper.setContentPrice(new JSONObject());
        
        return serverCarModelWarpper;
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/UserInfoServiceImpl.java
@@ -27,7 +27,6 @@
import com.stylefeng.guns.modular.taxi.model.PaymentRecord;
import com.stylefeng.guns.modular.taxi.service.IPaymentRecordService;
import com.stylefeng.guns.modular.taxi.service.ITransactionDetailsService;
import org.apache.commons.lang.time.DateUtils;
import org.apache.shiro.authc.SimpleAuthenticationInfo;
import org.apache.shiro.authc.UsernamePasswordToken;
import org.apache.shiro.authc.credential.HashedCredentialsMatcher;
@@ -51,7 +50,6 @@
import java.net.URLConnection;
import java.security.spec.AlgorithmParameterSpec;
import java.text.SimpleDateFormat;
import java.time.LocalDateTime;
import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Lock;
@@ -236,6 +234,7 @@
        }
        //调中台接口查询用户
        List<QYTUserInfo> infoByPhone = UserUtil.getUserInfoByPhone(phone);
        String onconUUID = null;
        if (null == infoByPhone || infoByPhone.isEmpty()) {
            RegisterViaMobileRequest request = new RegisterViaMobileRequest();
            request.setMobile(phone);
@@ -248,6 +247,7 @@
            if (!"0".equals(register.getStatus())) {
                return ResultUtil.error(register.getDesc());
            }
            onconUUID = register.getOnconUUID();
        } else {
            boolean b = this.checkCaptcha(phone, code);
            if (!b) {
@@ -265,6 +265,9 @@
            userInfo.setConsumption(0D);
            userInfo.setBalance(0D);
            userInfo.setState(1);
            if(null != onconUUID){
                userInfo.setOnconUUID(onconUUID);
            }
            //用户所属企业
            if(null != registAreaCode){
@@ -868,7 +871,8 @@
            nickName = userInfo.getNickName();
        }
        //调中台接口查询用户
        List<QYTUserInfo> infoByPhone = UserUtil.getUserInfoByPhone(phone);
        String onconUUID = null;
                List<QYTUserInfo> infoByPhone = UserUtil.getUserInfoByPhone(phone);
        if (null == infoByPhone || infoByPhone.isEmpty()) {
            RegisterViaMobileRequest request = new RegisterViaMobileRequest();
            request.setMobile(phone);
@@ -881,6 +885,7 @@
            if (!"0".equals(register.getStatus())) {
                return ResultUtil.error(register.getDesc());
            }
            onconUUID = register.getOnconUUID();
        } else {
            boolean b = this.checkCaptcha(phone, code);
            if (!b) {
@@ -895,6 +900,7 @@
            userInfo1.setAvatar(userInfo.getAvatar());
            userInfo1.setSex(userInfo.getSex());
            userInfo1.setNickName(userInfo.getNickName());
            userInfo1.setOnconUUID(onconUUID);
            this.updateById(userInfo1);
        
            if (ToolUtil.isNotEmpty(loginType) && loginType.equals("Applets")) {//小程序登录后绑定手机号码
@@ -944,7 +950,7 @@
            loginWarpper.setPhone(2);
            return ResultUtil.success(loginWarpper);
        }
        userInfo.setOnconUUID(onconUUID);
        userInfo.setPhone(phone);
        userInfo.setUpdateTime(new Date());
        userInfo.setUpdateUser(userInfo.getId());
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/PushUtil.java
@@ -29,7 +29,7 @@
@Component
public class PushUtil {
    
    private final String socket_uri = "http://172.21.35.142:6000";
    private final String socket_uri = "http://127.0.0.1:6000";
    @Autowired
    private IOrderTaxiService orderTaxiService;
    
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/TaskUtil.java
@@ -1,16 +1,27 @@
package com.stylefeng.guns.modular.system.util;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.stylefeng.guns.modular.account.controller.AppOrderController;
import com.stylefeng.guns.modular.crossCity.server.IOrderCrossCityService;
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.model.UserInfo;
import com.stylefeng.guns.modular.system.service.IUserCouponRecordService;
import com.stylefeng.guns.modular.system.service.IUserInfoService;
import com.stylefeng.guns.modular.system.service.IUserMerchantCouponService;
import com.stylefeng.guns.modular.system.util.qianyuntong.SMSUtil;
import com.stylefeng.guns.modular.system.util.qianyuntong.model.SendSmsRequest;
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.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
@@ -43,6 +54,9 @@
    @Autowired
    private  ChinaMobileUtil chinaMobileUtil;
    @Autowired
    private IUserInfoService userInfoService;
@@ -52,7 +66,6 @@
    @Scheduled(fixedRate = 1000 * 60)
    public void taskMinute(){
        try {
            //修改过期的优惠券
            userCouponRecordService.updateTimeOut();
            //修改过期的商家优惠券
@@ -71,16 +84,41 @@
    }
//
//    /**
//     * 每月第一天的1点执行的任务
//     */
//    @Scheduled(cron = "0 0 1 1 * *")
//    public void taskMonth(){
//        try {
//
//        }catch (Exception e){
//            e.printStackTrace();
//        }
//    }
    /**
     * 每天中午12点发送提醒短信
     */
    @Scheduled(cron = "0 0 12 * * ?")
    public void taskMonth(){
        try {
            List<OrderPrivateCar> orderPrivateCars = orderPrivateCarService.selectList(new EntityWrapper<OrderPrivateCar>().eq("isDelete", 1)
                    .eq("state", 7).eq("abnormal", 1)
                    .last(" and now() > DATE_ADD(endServiceTime, INTERVAL 24 HOUR)"));
            for (OrderPrivateCar orderPrivateCar : orderPrivateCars) {
                UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId());
                SendSmsRequest request = new SendSmsRequest();
                request.setDestAddress(userInfo.getPhone());
                request.setTemplateId("TPL202507300002");
                Map<String, String> templateParams = new HashMap<>();
                request.setTemplateParams(templateParams);
                request.setSpId("Y86asr7J");
                SMSUtil.sendSms(request);
            }
            List<OrderTaxi> orderTaxis = orderTaxiService.selectList(new EntityWrapper<OrderTaxi>().eq("isDelete", 1)
                    .eq("state", 7).eq("abnormal", 1)
                    .last(" and now() > DATE_ADD(endServiceTime, INTERVAL 24 HOUR)"));
            for (OrderTaxi orderTaxi : orderTaxis) {
                UserInfo userInfo = userInfoService.selectById(orderTaxi.getUserId());
                SendSmsRequest request = new SendSmsRequest();
                request.setDestAddress(userInfo.getPhone());
                request.setTemplateId("TPL202507300002");
                Map<String, String> templateParams = new HashMap<>();
                request.setTemplateParams(templateParams);
                request.setSpId("Y86asr7J");
                SMSUtil.sendSms(request);
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/OrderUtil.java
@@ -26,19 +26,19 @@
//        CreateTravelItineraryRequest request = new CreateTravelItineraryRequest();
//        request.setScene("TRAFFIC");
//        request.setPartnerId("522700");
//        request.setOrderNo("0123456");
//        request.setOrderNo("01234567890");
//        request.setCustomerId("11448156");
//        request.setDriverId("11448158");
//        request.setSupplierShopId("981100006005951");
//        request.setServiceType(1);
//        String travelItinerary = createTravelItinerary(request);
//        System.err.println(travelItinerary);//1948685426689200128
//        System.err.println(travelItinerary);//1950363840206753792
        
        //修改行程状态
//        ModifyTravelItineraryRequest request = new ModifyTravelItineraryRequest();
//        request.setScene("TRAFFIC");
//        request.setPartnerId("522700");
//        request.setOrderId("1948685426689200128");
//        request.setOrderId("1950363840206753792");
//        request.setStatus(7);
//        request.setDriverId("11448158");
//        request.setSupplierShopId("981100006005951");
@@ -53,18 +53,18 @@
//        tradeOrderCreateData.setField1("{\"profitSharing\":\"1\",\"isPromote\":\"0\"}");
//        tradeOrderCreateData.setCharge(new BigDecimal("0.01"));
//        tradeOrderCreateData.setChannelSource("GRJYCXWXXCX");
//        tradeOrderCreateData.setOrderId("1948685426689200128");
//        tradeOrderCreateData.setOrderNo("0123456");
//        tradeOrderCreateData.setOrderId("1950363840206753792");
//        tradeOrderCreateData.setOrderNo("01234567890");
//        tradeOrderCreateData.setCustomerId("11448156");
//        tradeOrderCreateData.setPayPartnerId("5400004");
//        tradeOrderCreateData.setPartnerPayId("1948685426689200128");
//        tradeOrderCreateData.setPartnerPayId("1950363840206753792");
//        tradeOrderCreateData.setCurrency("RMB");
//        tradeOrderCreateData.setTotalFee("1");
//        tradeOrderCreateData.setRetUrl("/home/");
//        tradeOrderCreateData.setRetUrl("pages/advoad-city-search/advoad-message/electronic-wait-pay/electronic-wait-pay");
//        tradeOrderCreateData.setClientIp("127.0.0.1");
//        tradeOrderCreateData.setNeedLoginFlag("N");
//        tradeOrderCreateData.setOrderDesc("出行订单支付");
//        tradeOrderCreateData.setAccessMode("H5");
//        tradeOrderCreateData.setAccessMode("APP");
//
//        List<GoodsInfoRequest> goodsInfo = new ArrayList<>();
//        GoodsInfoRequest goodsInfoRequest = new GoodsInfoRequest();
@@ -79,7 +79,7 @@
//        tradeOrderCreateData.setGoodsInfo(goodsInfo);
//        TradeOrderCreate tradeOrderCreate = tradeOrderCreate1(tradeOrderCreateData);
//        System.err.println(tradeOrderCreate);
//        //TradeOrderCreate(orderInfo=OrderInfo(orderId=1948685426689200128, status=null), payInfo=PayInfo(retCode=000000, retMsg=success, success=true, data=PayInfoData(redirectUrl=https://qhsctest.qytzt.cn/gray/mobile/index.html?f=allCashDesk&accessToken=5nUBXayFpfZz%2FXUZiMu9L61szNy2MhjTJ938TeNnX0U%3D, payId=540000420250725000135548, status=null, payTime=null, payFee=null, paymentInfos=null), sign=c9d849ee21dcc401cee968d4d31de04f))
        //TradeOrderCreate(orderInfo=OrderInfo(orderId=1950072223939842048, status=null), payInfo=PayInfo(retCode=000000, retMsg=success, success=true, data=PayInfoData(redirectUrl=https://qhsctest.qytzt.cn/gray/mobile/index.html?f=allCashDesk&accessToken=It5FPM1DUjzwIAin7zwiHvUANWKC6I5USCLE8EKoRkg%3D, payId=540000420250729000135600, status=null, payTime=null, payFee=null, paymentInfos=null), sign=525cb843b1eeb5a0451eeb5fbbe02f0f))
        
        //查询支付单信息
//        GetPaymentInfoDataRequest getPaymentInfoDataRequest = new GetPaymentInfoDataRequest();
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/qianyuntong/SMSUtil.java
@@ -70,12 +70,12 @@
    public static void main(String[] args) {
        SendSmsRequest request = new SendSmsRequest();
        request.setDestAddress("15828353127");
        request.setTemplateId("TPL202410290001");
        request.setTemplateId("TPL202507300002");
        Map<String, String> templateParams = new HashMap<>();
        templateParams.put("code", "1234");
//        templateParams.put("code", "1234");
        request.setTemplateParams(templateParams);
        request.setCode("code");
        request.setSpId("T8d5hdfg");
//        request.setCode("code");
        request.setSpId("Y86asr7J");
        SMSUtil.sendSms(request);
    }
    
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/DriverPosition.java
@@ -13,6 +13,10 @@
@Document(collection = "driver_position")
public class DriverPosition {
    @Id
    private String id;
    /**
     * 司机id
     */
    private Integer driverId;
    /**
     * 点位
UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/ServerCarModelWarpper.java
@@ -64,6 +64,8 @@
    private JSONObject contentExclusive;//独享
    @ApiModelProperty("一口价规则")
    private JSONObject contentPrice;//一口价
    @ApiModelProperty("等待费规则")
    private JSONObject waitPrice;//等待费
    @ApiModelProperty("计价说明(拼车)")
    private String fareTypeNote1;
@@ -362,4 +364,13 @@
        }
        return data;
    }
    public JSONObject getWaitPrice() {
        return waitPrice;
    }
    public void setWaitPrice(JSONObject waitPrice) {
        this.waitPrice = waitPrice;
    }
}