luodangjia
2024-11-06 81ef7d6574713bfb7872bbc32050b46134b37afe
11.6
13个文件已修改
1个文件已添加
489 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/ChangeDispatch.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/request/ChangeDispatchRequest.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/ChangeDispatchController.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/utils/vx/HttpUtil.java 390 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/vo/OrderReasinDto.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/vo/PayDto.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/resources/template/加盟商余额记录.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChangeDispatchController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/ChangeDispatch.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/ChangeDispatch.java
@@ -79,4 +79,11 @@
    @TableField("city_code")
    private String cityCode;
    @TableField(exist = false)
    private String reservationName;
    @TableField(exist = false)
    private String reservationPhone;
    @TableField(exist = false)
    private String reservationAddress;
}
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
@@ -248,7 +248,7 @@
            }
            @Override
            public R<Boolean> updateArrivalTime(String orderId, Date arriveTime) {
            public R<Boolean> updateArrivalTime(String orderId, String arriveTime) {
                return null;
            }
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
@@ -427,5 +427,5 @@
                      @RequestParam("pageNum") Integer pageNum,
                      @RequestParam("pageSize") Integer pageSize);
    @GetMapping(value = "/order/updateArrivalTime")
    R<Boolean> updateArrivalTime(@RequestParam("orderId")String orderId,@RequestParam("arriveTime")Date arriveTime);
    R<Boolean> updateArrivalTime(@RequestParam("orderId")String orderId,@RequestParam("arriveTime")String arriveTime);
}
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/request/ChangeDispatchRequest.java
@@ -24,5 +24,6 @@
    private List<String> cityList;
    private String [] siteIds;
    private String reservationAddress;
}
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/ChangeDispatchController.java
@@ -12,7 +12,9 @@
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.common.security.service.TokenService;
import com.ruoyi.order.api.entity.ChangeDispatch;
import com.ruoyi.order.api.entity.Order;
import com.ruoyi.order.api.feignClient.ExchangeDispatchClient;
import com.ruoyi.order.api.feignClient.OrderClient;
import com.ruoyi.order.api.request.ChangeDispatchRequest;
import com.ruoyi.system.api.model.LoginUser;
import io.netty.channel.ChannelHandlerContext;
@@ -24,6 +26,7 @@
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@@ -148,7 +151,8 @@
    public R<Boolean> refuse(@RequestParam("id") String id) {
        return dispatchClient.refuseChangeDispatch(id);
    }
    @Resource
    private OrderClient orderClient;
    /**
     * 订单改派师傅
     *
@@ -162,7 +166,8 @@
            @ApiImplicitParam(value = "改派订单id", name = "changeId", dataType = "Integer", required = true),
            @ApiImplicitParam(value = "师傅id", name = "workerId", dataType = "Integer", required = true)
    })
    public R<String> changeWorker(@RequestParam String changeId, @RequestParam Integer workerId) {
    public R<String> changeWorker(@RequestParam String changeId, @RequestParam Integer workerId,@RequestParam String orderId,@RequestParam String reason,
                                  @RequestParam  String arriveTime) {
        MasterWorker masterWorker = masterWorkerService.lambdaQuery()
                .eq(MasterWorker::getId, workerId).eq(MasterWorker::getIsDelete, 0).one();
        if (null == masterWorker) {
@@ -170,11 +175,17 @@
        }
        Boolean data = dispatchClient.changeWorker(changeId, workerId, masterWorker.getRealName(),
                masterWorker.getPhone()).getData();
        if (null != data && data) {
            ChannelHandlerContext context = NettyChannelMap.getData(String.valueOf(workerId));
            if (null != context) {
                NettyWebSocketController.sendMsgToClient(context, "您有一条新的订单,请注意查收!");
            }
            dispatchClient.changeReason(orderId, reason);
            orderClient.updateArrivalTime(orderId,arriveTime);
            return R.ok();
//            try {
//                WebSocketServer.sendInfo("您有一条新的订单,请注意查收!", String.valueOf(workerId));
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java
@@ -17,6 +17,7 @@
import com.ruoyi.admin.utils.WeChatUtil;
import com.ruoyi.admin.vo.InfoDto;
import com.ruoyi.admin.vo.MoneyRecentQuery;
import com.ruoyi.admin.vo.PayDto;
import com.ruoyi.admin.vo.RencentBalance;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.domain.R;
@@ -137,6 +138,16 @@
        return R.ok(balance3);
    }
    @ApiOperation(value = "详情",tags = {"师傅段2.0-统一充值扣款列表"})
    @PostMapping(value = "/change/detail")
    public R<TFranchiseeBalanceChange> detail1(@RequestParam Integer id) throws AlipayApiException {
        TFranchiseeBalanceChange byId = balanceChangeService.getById(id);
        return R.ok(byId);
    }
    @ApiOperation(value = "扣款记录及充值记录", tags = {"后台2.0-统一充值扣款列表","师傅段2.0-统一充值扣款列表"})
    @PostMapping(value = "/recent/money/list")
    public R<Page<TFranchiseeBalanceChange>> recentmoneylist(@RequestBody MoneyRecentQuery moneyRecentQuery) {
@@ -150,12 +161,15 @@
        for (TFranchiseeBalanceChange record : page.getRecords()) {
            Franchisee franchisee = franchiseeService.getById(record.getFranchiseeId());
            String siteIds = franchisee.getSiteIds();
            if (franchisee.getSiteIds()!=null) {
                String siteIds = franchisee.getSiteIds();
                List<Site> list1 = siteService.lambdaQuery().in(Site::getId, siteIds.split(",")).list();
                record.setList1(list1);
            }
            String cityCode = franchisee.getCityCode();
            List<Region> list = regionService.lambdaQuery().in(Region::getCode, cityCode.split(",")).list();
            List<Site> list1 = siteService.lambdaQuery().in(Site::getId, siteIds.split(",")).list();
            record.setList(list);
            record.setList1(list1);
            record.setFranchiseeName(franchisee.getName());
        }
        return R.ok(page);
@@ -323,11 +337,18 @@
                tFranchiseeBalanceChange.setAmount(money);
                tFranchiseeBalanceChange.setIs_pay(0);
                tFranchiseeBalanceChange.setFranchiseeName(byId.getName());
                tFranchiseeBalanceChange.setFranchiseeId(String.valueOf(userid));
                tFranchiseeBalanceChange.setFranchiseeId(String.valueOf(byId.getId()));
                tFranchiseeBalanceChange.setType(2);
                tFranchiseeBalanceChange.setCode(code);
                balanceChangeService.save(tFranchiseeBalanceChange);
                return R.ok(prepay.getCodeUrl());
                PayDto payDto = new PayDto();
                payDto.setOrderId(tFranchiseeBalanceChange.getId());
                payDto.setQrCode(prepay.getCodeUrl());
                return R.ok(payDto);
            } catch (HttpException e) { // 发送HTTP请求失败
//                log.error("发送HTTP请求失败: {}", e.getHttpRequest());
            } catch (ServiceException e) { // 服务返回状态小于200或大于等于300,例如500
@@ -340,6 +361,18 @@
            return null;
    }
    @ApiOperation(value = "轮询获取支付状态",tags = {"后台2.0-加盟商列表余额"})
    @PostMapping(value = "/code/check")
    public R buy(@RequestParam Integer orderId) throws AlipayApiException {
        TFranchiseeBalanceChange byId = balanceChangeService.getById(orderId);
        if (byId.getIs_pay()==1){
            return R.ok(true);
        }else {
            return R.ok(false);
        }
    }
    @Resource
    private NotificationParser notificationParser;
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java
@@ -436,13 +436,14 @@
        // 订单派单
        boolean result = true;
        if (Constants.TWO.equals(orderId.getType())) {
            orderClient.updateArrivalTime(order.getId(),orderReasinDto.getArriveTime());
            if (order.getState().equals(Constants.SIX) || order.getState().equals(Constants.THREE)) {
                orderClient.updateState(order.getId(), Constants.ONE);
                //如果是待改派,将上门时间设置为最新的,并且更新再投原因
                if (order.getState().equals(Constants.SIX)){
                    dispatchClient.changeReason(order.getId(), orderReasinDto.getReason());
                    orderClient.updateArrivalTime(order.getId(),orderReasinDto.getArriveTime());
                    dispatchClient.changeReason(order.getId(), "");
                }
            }
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/utils/vx/HttpUtil.java
@@ -1,195 +1,195 @@
package com.ruoyi.admin.utils.vx;
import lombok.extern.slf4j.Slf4j;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
import static com.wechat.pay.contrib.apache.httpclient.constant.WechatPayHttpHeaders.WECHAT_PAY_SERIAL;
import static org.apache.http.HttpHeaders.ACCEPT;
import static org.apache.http.HttpHeaders.CONTENT_TYPE;
import static org.apache.http.entity.ContentType.APPLICATION_JSON;
/**
 * 微信支付专用类 请求操作方法
 *
 * @author hjl
 */
@Slf4j
public class HttpUtil {
    /**
     * 发起批量转账API 批量转账到零钱
     *
     * @param requestUrl        请求路径
     * @param requestJson       组合参数
     * @param wechatPayserialNo 商户证书序列号
     * @param privatekeypath    商户私钥证书路径
     */
    public static String postTransBatRequest(
            String requestUrl,
            String requestJson,
            String wechatPayserialNo,
            String mchId,
            String privatekeypath, String url) {
        CloseableHttpResponse response;
        HttpEntity entity;
        CloseableHttpClient httpClient = null;
        try {
            HttpPost httpPost = createHttpPost(requestUrl, requestJson, wechatPayserialNo, mchId, privatekeypath, url);
            httpClient = HttpClients.createDefault();
            //发起转账请求
            response = httpClient.execute(httpPost);
            log.info("response:{}", response);
            //获取返回的数据
            entity = response.getEntity();
            log.info("-----getHeaders.Request-ID:" + response.getHeaders("Request-ID"));
            return EntityUtils.toString(entity);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 关闭流
            try {
                if (httpClient != null) {
                    httpClient.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }
    /**
     * 账单查询
     *
     * @param requestUrl        请求完整地址
     * @param wechatPayserialNo 商户证书序列号
     * @param privatekeypath    商户私钥证书路径
     */
    public static String getTransBatRequest(
            String requestUrl,
            String wechatPayserialNo,
            String mchId,
            String privatekeypath, String url) {
        CloseableHttpResponse response;
        HttpEntity entity;
        CloseableHttpClient httpClient = null;
        try {
            HttpGet httpPost = createHttpGet(requestUrl, wechatPayserialNo, mchId, privatekeypath, url);
            httpClient = HttpClients.createDefault();
            //发起转账请求
            response = httpClient.execute(httpPost);
            log.info("response:{}", response);
            //获取返回的数据
            entity = response.getEntity();
            log.info("-----getHeaders.Request-ID:" + response.getHeaders("Request-ID"));
            return EntityUtils.toString(entity);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            // 关闭流
            try {
                if (httpClient != null) {
                    httpClient.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        return null;
    }
    /**
     * @param requestUrl        请求完整地址
     * @param requestJson       请求参数
     * @param wechatPayserialNo 支付证书序列号
     * @param mchId             商户号
     * @param privatekeypath    私钥路径
     * @param servletPath       相对路径
     */
    private static HttpPost createHttpPost(String requestUrl,
                                           String requestJson,
                                           String wechatPayserialNo,
                                           String mchId,
                                           String privatekeypath, String servletPath) {
        //商户私钥证书
        HttpPost httpPost = new HttpPost(requestUrl);
        // NOTE: 建议指定charset=utf-8。低于4.4.6版本的HttpCore,不能正确的设置字符集,可能导致签名错误
        httpPost.addHeader(ACCEPT, APPLICATION_JSON.toString());
        httpPost.addHeader(CONTENT_TYPE, APPLICATION_JSON.toString());
        //"55E551E614BAA5A3EA38AE03849A76D8C7DA735A");
        httpPost.addHeader(WECHAT_PAY_SERIAL, wechatPayserialNo);
        //-------------------------核心认证 start-----------------------------------------------------------------
        String strToken = null;
        try {
            log.info("requestJson:{}", requestJson);
            strToken = WechatPayV3Util.getToken("POST",
                    servletPath,
                    requestJson, mchId, wechatPayserialNo, privatekeypath);
        } catch (Exception e) {
            log.error("createHttpPost error:", e);
            e.printStackTrace();
        }
        StringEntity reqEntity = new StringEntity(requestJson, APPLICATION_JSON);
        log.info("token " + strToken);
        // 添加认证信息
        httpPost.addHeader("Authorization",
                "WECHATPAY2-SHA256-RSA2048" + " "
                        + strToken);
        //---------------------------核心认证 end---------------------------------------------------------------
        httpPost.setEntity(reqEntity);
        return httpPost;
    }
    /**
     * 创建get 请求
     *
     * @param requestUrl        请求完整地址
     * @param wechatPayserialNo 支付证书序列号
     * @param mchId             商户号
     * @param privatekeypath    私钥路径
     * @param servletPath       相对路径  请求地址上如果有参数 则此处需要带上参数
     * @return HttpGet
     */
    private static HttpGet createHttpGet(String requestUrl,
                                         String wechatPayserialNo,
                                         String mchId,
                                         String privatekeypath, String servletPath) {
        //商户私钥证书
        HttpGet httpGet = new HttpGet(requestUrl);
        // NOTE: 建议指定charset=utf-8。低于4.4.6版本的HttpCore,不能正确的设置字符集,可能导致签名错误
        httpGet.addHeader("Content-Type", "application/json");
        httpGet.addHeader("Accept", "application/json");
        //"55E551E614BAA5A3EA38AE03849A76D8C7DA735A");
        httpGet.addHeader("Wechatpay-Serial", wechatPayserialNo);
        //-------------------------核心认证 start-----------------------------------------------------------------
        String strToken = null;
        try {
            strToken = WechatPayV3Util.getToken("GET",
                    servletPath,
                    "", mchId, wechatPayserialNo, privatekeypath);
        } catch (Exception e) {
            log.error("createHttpGet error:", e);
            e.printStackTrace();
        }
        log.info("token " + strToken);
        // 添加认证信息
        httpGet.addHeader("Authorization",
                "WECHATPAY2-SHA256-RSA2048" + " "
                        + strToken);
        //---------------------------核心认证 end---------------------------------------------------------------
        return httpGet;
    }
}
//package com.ruoyi.admin.utils.vx;
//
//import lombok.extern.slf4j.Slf4j;
//import org.apache.http.HttpEntity;
//import org.apache.http.client.methods.CloseableHttpResponse;
//import org.apache.http.client.methods.HttpGet;
//import org.apache.http.client.methods.HttpPost;
//import org.apache.http.entity.StringEntity;
//import org.apache.http.impl.client.CloseableHttpClient;
//import org.apache.http.impl.client.HttpClients;
//import org.apache.http.util.EntityUtils;
//
//import java.io.IOException;
//
//import static com.wechat.pay.contrib.apache.httpclient.constant.WechatPayHttpHeaders.WECHAT_PAY_SERIAL;
//import static org.apache.http.HttpHeaders.ACCEPT;
//import static org.apache.http.HttpHeaders.CONTENT_TYPE;
//import static org.apache.http.entity.ContentType.APPLICATION_JSON;
//
//
///**
// * 微信支付专用类 请求操作方法
// *
// * @author hjl
// */
//@Slf4j
//public class HttpUtil {
//
//    /**
//     * 发起批量转账API 批量转账到零钱
//     *
//     * @param requestUrl        请求路径
//     * @param requestJson       组合参数
//     * @param wechatPayserialNo 商户证书序列号
//     * @param privatekeypath    商户私钥证书路径
//     */
//    public static String postTransBatRequest(
//            String requestUrl,
//            String requestJson,
//            String wechatPayserialNo,
//            String mchId,
//            String privatekeypath, String url) {
//        CloseableHttpResponse response;
//        HttpEntity entity;
//        CloseableHttpClient httpClient = null;
//        try {
//            HttpPost httpPost = createHttpPost(requestUrl, requestJson, wechatPayserialNo, mchId, privatekeypath, url);
//            httpClient = HttpClients.createDefault();
//            //发起转账请求
//            response = httpClient.execute(httpPost);
//            log.info("response:{}", response);
//            //获取返回的数据
//            entity = response.getEntity();
//            log.info("-----getHeaders.Request-ID:" + response.getHeaders("Request-ID"));
//            return EntityUtils.toString(entity);
//        } catch (Exception e) {
//            e.printStackTrace();
//        } finally {
//            // 关闭流
//            try {
//                if (httpClient != null) {
//                    httpClient.close();
//                }
//            } catch (IOException e) {
//                e.printStackTrace();
//            }
//        }
//        return null;
//    }
//
//
//    /**
//     * 账单查询
//     *
//     * @param requestUrl        请求完整地址
//     * @param wechatPayserialNo 商户证书序列号
//     * @param privatekeypath    商户私钥证书路径
//     */
//    public static String getTransBatRequest(
//            String requestUrl,
//            String wechatPayserialNo,
//            String mchId,
//            String privatekeypath, String url) {
//        CloseableHttpResponse response;
//        HttpEntity entity;
//        CloseableHttpClient httpClient = null;
//        try {
//            HttpGet httpPost = createHttpGet(requestUrl, wechatPayserialNo, mchId, privatekeypath, url);
//            httpClient = HttpClients.createDefault();
//            //发起转账请求
//            response = httpClient.execute(httpPost);
//            log.info("response:{}", response);
//            //获取返回的数据
//            entity = response.getEntity();
//            log.info("-----getHeaders.Request-ID:" + response.getHeaders("Request-ID"));
//            return EntityUtils.toString(entity);
//        } catch (Exception e) {
//            e.printStackTrace();
//        } finally {
//            // 关闭流
//            try {
//                if (httpClient != null) {
//                    httpClient.close();
//                }
//            } catch (IOException e) {
//                e.printStackTrace();
//            }
//        }
//        return null;
//    }
//
//    /**
//     * @param requestUrl        请求完整地址
//     * @param requestJson       请求参数
//     * @param wechatPayserialNo 支付证书序列号
//     * @param mchId             商户号
//     * @param privatekeypath    私钥路径
//     * @param servletPath       相对路径
//     */
//    private static HttpPost createHttpPost(String requestUrl,
//                                           String requestJson,
//                                           String wechatPayserialNo,
//                                           String mchId,
//                                           String privatekeypath, String servletPath) {
//        //商户私钥证书
//        HttpPost httpPost = new HttpPost(requestUrl);
//        // NOTE: 建议指定charset=utf-8。低于4.4.6版本的HttpCore,不能正确的设置字符集,可能导致签名错误
//        httpPost.addHeader(ACCEPT, APPLICATION_JSON.toString());
//        httpPost.addHeader(CONTENT_TYPE, APPLICATION_JSON.toString());
//        //"55E551E614BAA5A3EA38AE03849A76D8C7DA735A");
//        httpPost.addHeader(WECHAT_PAY_SERIAL, wechatPayserialNo);
//
//        //-------------------------核心认证 start-----------------------------------------------------------------
//        String strToken = null;
//        try {
//            log.info("requestJson:{}", requestJson);
//            strToken = WechatPayV3Util.getToken("POST",
//                    servletPath,
//                    requestJson, mchId, wechatPayserialNo, privatekeypath);
//        } catch (Exception e) {
//            log.error("createHttpPost error:", e);
//            e.printStackTrace();
//        }
//        StringEntity reqEntity = new StringEntity(requestJson, APPLICATION_JSON);
//        log.info("token " + strToken);
//        // 添加认证信息
//        httpPost.addHeader("Authorization",
//                "WECHATPAY2-SHA256-RSA2048" + " "
//                        + strToken);
//        //---------------------------核心认证 end---------------------------------------------------------------
//        httpPost.setEntity(reqEntity);
//        return httpPost;
//    }
//
//    /**
//     * 创建get 请求
//     *
//     * @param requestUrl        请求完整地址
//     * @param wechatPayserialNo 支付证书序列号
//     * @param mchId             商户号
//     * @param privatekeypath    私钥路径
//     * @param servletPath       相对路径  请求地址上如果有参数 则此处需要带上参数
//     * @return HttpGet
//     */
//    private static HttpGet createHttpGet(String requestUrl,
//                                         String wechatPayserialNo,
//                                         String mchId,
//                                         String privatekeypath, String servletPath) {
//        //商户私钥证书
//        HttpGet httpGet = new HttpGet(requestUrl);
//        // NOTE: 建议指定charset=utf-8。低于4.4.6版本的HttpCore,不能正确的设置字符集,可能导致签名错误
//        httpGet.addHeader("Content-Type", "application/json");
//        httpGet.addHeader("Accept", "application/json");
//        //"55E551E614BAA5A3EA38AE03849A76D8C7DA735A");
//        httpGet.addHeader("Wechatpay-Serial", wechatPayserialNo);
//        //-------------------------核心认证 start-----------------------------------------------------------------
//        String strToken = null;
//        try {
//            strToken = WechatPayV3Util.getToken("GET",
//                    servletPath,
//                    "", mchId, wechatPayserialNo, privatekeypath);
//        } catch (Exception e) {
//            log.error("createHttpGet error:", e);
//            e.printStackTrace();
//        }
//
//        log.info("token " + strToken);
//        // 添加认证信息
//        httpGet.addHeader("Authorization",
//                "WECHATPAY2-SHA256-RSA2048" + " "
//                        + strToken);
//        //---------------------------核心认证 end---------------------------------------------------------------
//        return httpGet;
//    }
//}
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/vo/OrderReasinDto.java
@@ -9,4 +9,4 @@
    Integer workerId;
    List<ReassinDto> reassinDtos;
    String reason;
     Date arriveTime;}
     String arriveTime;}
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/vo/PayDto.java
New file
@@ -0,0 +1,9 @@
package com.ruoyi.admin.vo;
import lombok.Data;
@Data
public class PayDto {
    private Integer orderId;
    private String qrCode;
}
ruoyi-service/ruoyi-admin/src/main/resources/template/加盟商余额记录.xlsx
Binary files differ
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/ChangeDispatchController.java
@@ -200,7 +200,7 @@
    public void changeReason(@RequestParam("id")String id,@RequestParam("reason") String reason) {
        ChangeDispatch one = changeDispatchService.lambdaQuery().eq(ChangeDispatch::getOrderId, id).orderByDesc(BaseEntity::getCreateTime).last("limit 1").one();
        one.setState(1);
        one.setApplyReason(reason);
//        one.setApplyReason(reason);
        changeDispatchService.updateById(one);
    }
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
@@ -517,9 +517,10 @@
    }
    @GetMapping(value = "/updateArrivalTime")
    public R<Boolean> updateArrivalTime(@RequestParam("orderId")String orderId,@RequestParam("arriveTime")Date arriveTime) {
    public R<Boolean> updateArrivalTime(@RequestParam("orderId")String orderId,@RequestParam("arriveTime")String arriveTime) {
        Order byId = orderService.getById(orderId);
        byId.setArriveTime(arriveTime);
        byId.setTime(arriveTime);
        orderService.updateById(byId);
        return R.ok();
    }
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/entity/ChangeDispatch.java
@@ -76,6 +76,12 @@
    @ApiModelProperty("城市编码")
    @TableField("city_code")
    private String cityCode;
    @TableField(exist = false)
    private String reservationName;
    @TableField(exist = false)
    private String reservationPhone;
    @TableField(exist = false)
    private String reservationAddress;
}