8.9
luodangjia
2024-09-06 3701dcb2483643ac40d4b81c021b3d8cdab62402
8.9
51个文件已修改
770 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/MoneyQueryRequest.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Order.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/OrderCountRequest.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/OrderQueryRequest.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/EvaluateFallbackFactory.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/WithdrawFallbackFactory.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/EvaluateClient.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/WithdrawClient.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/request/ChangeDispatchRequest.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/request/EvaluatePageRequest.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/request/OrderCountDataRequest.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/EvaluateController.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/HomePageController.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/SendSmsController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/UserManageController.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/WithdrawController.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Franchisee.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/request/UserDataCountRequest.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/UserService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/OrderServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/UserServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/vo/OrderInfoVO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-admin/src/main/resources/template/订单记录.xlsx 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/EvaluateController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/WithdrawController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/EvaluateMapper.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/WithdrawMapper.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/ChangeDispatchRequest.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/EvaluatePageRequest.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/OrderCountDataRequest.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/EvaluateService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/WithdrawService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/EvaluateServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/WithdrawServiceImpl.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/MoneyQueryRequest.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderCountRequest.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderQueryRequest.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/ChangeDispatchMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/EvaluateMapper.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml 142 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/WithdrawMapper.xml 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/OrderController.java 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/MoneyQueryRequest.java
@@ -15,6 +15,7 @@
    private List<String> cityList;
    private String type;
    private List<String> siteIds;
    public MoneyQueryRequest(List<String> cityList, String type) {
        this.cityList = cityList;
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/Order.java
@@ -61,6 +61,8 @@
    @ApiModelProperty("打印次数")
    @TableField("print_count")
    private Integer printCount;
    @TableField("msg_count")
    private Integer msgCount;
    @ApiModelProperty("回收服务名称")
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/OrderCountRequest.java
@@ -31,5 +31,6 @@
    @ApiModelProperty("结束日期(yyyy-MM-dd格式)")
    private String endTime;
    private String[] siteIds;
}
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/entity/OrderQueryRequest.java
@@ -23,6 +23,7 @@
    @ApiModelProperty("品类")
    private Integer classNameId;
    private Integer serveId;
    @ApiModelProperty("预约姓名")
    private String reservationName;
@@ -79,4 +80,5 @@
    @ApiModelProperty("订单完成结束时间")
    private String completeTimeEnd;
    private String[] siteIds;
}
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/EvaluateFallbackFactory.java
@@ -43,7 +43,7 @@
            }
            @Override
            public R<Page<EvaluatePageVO>> evaluateList1(List<String> cityList, Integer userId, Integer pageNum, Integer pageSize) {
            public R<Page<EvaluatePageVO>> evaluateList1(List<String> cityList, Integer userId, Integer pageNum, Integer pageSize,List<String> siteIds) {
                return R.fail(cause.getMessage());
            }
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/OrderFallbackFactory.java
@@ -44,6 +44,11 @@
            }
            @Override
            public R msgCount(String id) {
                return null;
            }
            @Override
            public R<Order> exchangeOrder(Integer type, String orderId, Integer workerId, String name, String phone) {
                return R.fail(cause.getMessage());
            }
@@ -74,6 +79,10 @@
            }
            @Override
            public R<List<String>> queryPage1(OrderQueryRequest orderQueryRequest) {
                return R.fail(cause.getMessage());            }
            @Override
            public R<OrderPageCountVO> orderPageCount(OrderQueryRequest orderQueryRequest) {
                return R.fail(cause.getMessage());
            }
@@ -98,6 +107,11 @@
            @Override
            public R<List<Integer>> queryIdsBycode(List<String> cityList) {
                return R.fail(cause.getMessage());
            }
            @Override
            public R<List<Integer>> queryIdsBycodeAndSite(List<String> cityList, List<String> siteIds) {
                return null;
            }
            @Override
@@ -127,12 +141,12 @@
            }
            @Override
            public R<Page<Order>> orderList1(Integer userId, List<String> cityList, Integer pageNum, Integer pageSize) {
            public R<Page<Order>> orderList1(Integer userId, List<String> cityList, Integer pageNum, Integer pageSize,List<String> siteIds) {
                return R.fail(cause.getMessage());
            }
            @Override
            public R<Page<Order>> workOrderList(Integer workId, Integer pageNum, Integer pageSize) {
            public R<Page<Order>> workOrderList(Integer workId, Integer pageNum, Integer pageSize,String [] siteIds) {
                return R.fail(cause.getMessage());
            }
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/factory/WithdrawFallbackFactory.java
@@ -25,7 +25,7 @@
            }
            @Override
            public R<Page<UserWithdrawRecordVO>> withdrawPage1(List<String> cityList, String nickname, String userPhone, String applyForTime, Integer state, Integer pageNum, Integer pageSize, List<Integer> userIds) {
            public R<Page<UserWithdrawRecordVO>> withdrawPage1(List<String> cityList, String nickname, String userPhone, String applyForTime, Integer state, Integer pageNum, Integer pageSize, List<Integer> userIds,List<String> siteIds) {
                return R.fail(cause.getMessage());
            }
@@ -75,7 +75,7 @@
            }
            @Override
            public R<Page<UserWithdrawRecordVO>> withdrawList1(List<String> cityList, Integer userId, Integer pageNum, Integer pageSize) {
            public R<Page<UserWithdrawRecordVO>> withdrawList1(List<String> cityList, Integer userId, Integer pageNum, Integer pageSize,List<String> siteIds) {
                return R.fail(cause.getMessage());
            }
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/EvaluateClient.java
@@ -69,7 +69,8 @@
    R<Page<EvaluatePageVO>> evaluateList1(@RequestParam(value = "cityList", required = false) List<String> cityList,
                                          @RequestParam(value = "userId", required = false) Integer userId,
                                         @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                                         @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize);
                                         @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                          @RequestParam("siteIds") List<String> siteIds);
    /**
     * 根据师傅id获取评价列表
     *
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/OrderClient.java
@@ -58,6 +58,8 @@
     */
    @GetMapping(value = "/order/detail")
    R<Order> detail(@RequestParam("id") String id);
    @PostMapping(value = "/order/msgCount")
    R msgCount(@RequestParam("orderId") String orderId);
    /**
     * 更改订单信息
@@ -119,6 +121,9 @@
    @PostMapping(value = "/order/queryPage")
    R<Page<Order>> queryPage(@RequestBody OrderQueryRequest orderQueryRequest);
    @PostMapping(value = "/order/queryPage1")
    R<List<String>> queryPage1(@RequestBody OrderQueryRequest orderQueryRequest);
    /**
     * 订单列表
     *
@@ -146,6 +151,9 @@
    @PostMapping(value = "/order/queryIdsBycode")
    R<List<Integer>> queryIdsBycode(@RequestBody List<String> cityList);
    @PostMapping(value = "/order/queryIdsBycodeAndSite")
    R<List<Integer>> queryIdsBycodeAndSite(@RequestParam("cityList") List<String> cityList,@RequestParam("siteIds")List<String> siteIds);
    /**
     * 更改订单状态且清空到达时间
@@ -196,11 +204,13 @@
    @GetMapping(value = "/order/orderList1")
    R<Page<Order>> orderList1(@RequestParam("userId") Integer userId, @RequestParam("cityList") List<String> cityList,
                             @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                             @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize);
                             @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                              @RequestParam("siteIds") List<String> siteIds);
    @GetMapping(value = "/order/workOrderList")
    R<Page<Order>> workOrderList(@RequestParam("workId") Integer workId,
                             @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                             @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize);
                             @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                 @RequestParam("siteIds") String [] siteIds);
    /**
     * 更改订单提现状态
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/feignClient/WithdrawClient.java
@@ -49,7 +49,8 @@
                                               @RequestParam(value = "state", required = false) Integer state,
                                               @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                                               @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                               @RequestParam(name = "userIds") List<Integer> userIds);
                                               @RequestParam(name = "userIds") List<Integer> userIds,
                                                @RequestParam("siteIds") List<String> siteIds);
    /**
     * 查看提现记录详情
@@ -148,7 +149,8 @@
    R<Page<UserWithdrawRecordVO>> withdrawList1(@RequestParam("cityList") List<String> cityList,
                                                @RequestParam("userId") Integer userId,
                                               @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                                               @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize);
                                               @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                                @RequestParam("siteIds") List<String> siteIds);
    /**
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/request/ChangeDispatchRequest.java
@@ -23,5 +23,6 @@
    private Integer pageSize;
    private List<String> cityList;
    private String [] siteIds;
}
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/request/EvaluatePageRequest.java
@@ -26,4 +26,8 @@
    private List<Integer> userIdList;
    private List<String> siteIds;
}
ruoyi-api/ruoyi-api-order/src/main/java/com/ruoyi/order/api/request/OrderCountDataRequest.java
@@ -21,5 +21,6 @@
    private Integer pageNum;
    private Integer pageSize;
    private List<String> siteIds;
}
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/ChangeDispatchController.java
@@ -2,9 +2,11 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.admin.entity.Franchisee;
import com.ruoyi.admin.entity.MasterWorker;
import com.ruoyi.admin.netty.NettyChannelMap;
import com.ruoyi.admin.netty.NettyWebSocketController;
import com.ruoyi.admin.service.FranchiseeService;
import com.ruoyi.admin.service.MasterWorkerService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.annotation.RequiresPermissions;
@@ -43,7 +45,8 @@
    private MasterWorkerService masterWorkerService;
    @Resource
    private TokenService tokenService;
    @Resource
    private FranchiseeService franchiseeService;
    /**
     * 订单改派分页列表
     *
@@ -75,6 +78,16 @@
        changeDispatchRequest.setPageNum(pageNum);
        changeDispatchRequest.setPageSize(pageSize);
        changeDispatchRequest.setCityList(cityList);
        Integer franchiseeId = loginUser.getSysUser().getFranchiseeId();
        if (franchiseeId!=null) {
            Franchisee byId = franchiseeService.getById(franchiseeId);
            String[] siteIds = byId.getSiteIds().split(",");
            if (loginUser.getIsFranchisee() && siteIds.length == 0) {
                return R.ok(new Page<ChangeDispatch>());
            }
            changeDispatchRequest.setSiteIds(siteIds);
        }
        return dispatchClient.queryPageList(changeDispatchRequest);
    }
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/EvaluateController.java
@@ -2,7 +2,9 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.admin.entity.Franchisee;
import com.ruoyi.admin.entity.User;
import com.ruoyi.admin.service.FranchiseeService;
import com.ruoyi.admin.service.UserService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.StringUtils;
@@ -25,6 +27,7 @@
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@@ -47,7 +50,8 @@
    private TokenService tokenService;
    @Resource
    private UserService userService;
    @Resource
    private FranchiseeService franchiseeService;
    /**
     * 订单评价分页列表
     *
@@ -94,6 +98,20 @@
        evaluatePageRequest.setPageNum(pageNum);
        evaluatePageRequest.setPageSize(pageSize);
        evaluatePageRequest.setUserIdList(userIdList);
        Integer franchiseeId = loginUser.getSysUser().getFranchiseeId();
        String[] siteIds = new String[0];
        if (franchiseeId!=null) {
            Franchisee byId = franchiseeService.getById(franchiseeId);
            siteIds  = byId.getSiteIds().split(",");
            evaluatePageRequest.setSiteIds(Arrays.asList(siteIds));
            if (loginUser.getIsFranchisee() && siteIds.length == 0) {
                return R.ok(new Page<>());
            }
        }
        R<Page<EvaluatePageVO>> r = evaluateClient.queryPageList(evaluatePageRequest);
        if (!r.getData().getRecords().isEmpty()) {
            for (EvaluatePageVO record : r.getData().getRecords()) {
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/FranchiseeController.java
@@ -48,6 +48,8 @@
    private RegionService regionService;
    @Resource
    private MasterWorkerService masterWorkerService;
    @Resource
    private SiteService siteService;
    /**
     * 加盟商信息分页列表
@@ -74,8 +76,19 @@
        wrapper = StringUtils.isNotBlank(head) ? wrapper.like(Franchisee::getHead, head) : wrapper;
        wrapper = StringUtils.isNotBlank(phone) ? wrapper.like(Franchisee::getHeadPhone, phone) : wrapper;
        wrapper = StringUtils.isNotBlank(city) ? wrapper.like(Franchisee::getCity, city) : wrapper;
        return R.ok(wrapper.eq(Franchisee::getIsDelete, 0)
                .orderByDesc(Franchisee::getCreateTime).page(Page.of(pageNum, pageSize)));
        Page<Franchisee> page = wrapper.eq(Franchisee::getIsDelete, 0)
                .orderByDesc(Franchisee::getCreateTime).page(Page.of(pageNum, pageSize));
        for (Franchisee record : page.getRecords()) {
                if (record.getSiteIds()!=null){
                    String[] split = record.getSiteIds().split(",");
                    List<Site> list = siteService.lambdaQuery().in(Site::getId, split).list();
                        //用 , 拼接
                    record.setSiteStr(list.stream().map(Site::getSiteName).collect(Collectors.joining(",")));
                }
        }
        return R.ok(page);
    }
    /**
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/HomePageController.java
@@ -1,6 +1,8 @@
package com.ruoyi.admin.controller;
import com.ruoyi.admin.entity.Franchisee;
import com.ruoyi.admin.request.UserDataCountRequest;
import com.ruoyi.admin.service.FranchiseeService;
import com.ruoyi.admin.service.MasterWorkerService;
import com.ruoyi.admin.service.UserService;
import com.ruoyi.admin.vo.MasterWorkerRankVO;
@@ -21,6 +23,7 @@
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.Arrays;
import java.util.List;
/**
@@ -55,6 +58,19 @@
        if (null == loginUser) {
            return R.loginExpire("登录失效!");
        }
        Integer franchiseeId = loginUser.getSysUser().getFranchiseeId();
        String[] siteIds = new String[0];
        if (franchiseeId!=null){
            Franchisee byId = franchiseeService.getById(franchiseeId);
            siteIds = byId.getSiteIds().split(",");
            if (loginUser.getIsFranchisee()&&siteIds.length==0){
                return R.ok();
            }
        }
        userDataCountRequest.setSiteIds(Arrays.asList(siteIds));
        if (loginUser.getIsFranchisee()||!userDataCountRequest.getCityList().isEmpty()) {
            if (null == userDataCountRequest.getCityList() || userDataCountRequest.getCityList().isEmpty()) {
                userDataCountRequest.setCityList(loginUser.getCityList());
@@ -62,9 +78,9 @@
//            else {
////                userDataCountRequest.getCityList().addAll(loginUser.getCityList());
//            }
            R<List<Integer>> listR = orderClient.queryIdsBycode(userDataCountRequest.getCityList());
            R<List<Integer>> listR = orderClient.queryIdsBycodeAndSite(userDataCountRequest.getCityList(),userDataCountRequest.getSiteIds());
            return R.ok(userService.userDataCount1(userDataCountRequest, listR.getData()));
            return R.ok(userService.userDataCount1(userDataCountRequest, listR.getData(),userDataCountRequest.getSiteIds()));
        }
        return R.ok(userService.userDataCount(userDataCountRequest));
@@ -97,6 +113,8 @@
        return R.ok(userService.userTrends(cityList));
    }
    @Resource
    private FranchiseeService franchiseeService;
    /**
     * 回收订单统计
     *
@@ -117,6 +135,17 @@
//                orderCount.getCityList().addAll(loginUser.getCityList());
            }
        }
        Integer franchiseeId = loginUser.getSysUser().getFranchiseeId();
        String[] siteIds = new String[0];
        if (franchiseeId!=null) {
            Franchisee byId = franchiseeService.getById(franchiseeId);
            siteIds = byId.getSiteIds().split(",");
            orderCount.setSiteIds(siteIds);
            if (loginUser.getIsFranchisee() && siteIds.length == 0) {
                return R.ok(new OrderResultVO());
            }
        }
        orderCount.setSiteIds(siteIds);
        return orderClient.orderCountHome(orderCount);
    }
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/OrderController.java
@@ -3,21 +3,10 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.admin.entity.MasterWorker;
import com.ruoyi.admin.entity.RecoveryClassify;
import com.ruoyi.admin.entity.RecoveryServe;
import com.ruoyi.admin.entity.RecoveryServePrice;
import com.ruoyi.admin.entity.Region;
import com.ruoyi.admin.entity.Site;
import com.ruoyi.admin.entity.*;
import com.ruoyi.admin.netty.NettyChannelMap;
import com.ruoyi.admin.netty.NettyWebSocketController;
import com.ruoyi.admin.service.MasterWorkerService;
import com.ruoyi.admin.service.OrderService;
import com.ruoyi.admin.service.RecoveryClassifyService;
import com.ruoyi.admin.service.RecoveryServePriceService;
import com.ruoyi.admin.service.RecoveryServeService;
import com.ruoyi.admin.service.RegionService;
import com.ruoyi.admin.service.SiteService;
import com.ruoyi.admin.service.*;
import com.ruoyi.admin.utils.DescribeInstances;
import com.ruoyi.admin.vo.OrderByServeRecordVO;
import com.ruoyi.admin.vo.OrderDetailVO;
@@ -54,13 +43,7 @@
import java.nio.file.Files;
import java.nio.file.Paths;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import java.util.Set;
import java.util.*;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
@@ -146,7 +129,8 @@
    @Resource
    private RecoveryClassifyService recoveryClassifyService;
    @Resource
    private FranchiseeService franchiseeService;
    /**
     * 订单列表
     *
@@ -172,7 +156,21 @@
            List<Integer> classIds = recoveryClassifyService.lambdaQuery().eq(RecoveryClassify::getId, orderQueryRequest.getClassNameId()).list().stream().map(RecoveryClassify::getId).collect(Collectors.toList());
            servIds = recoveryServeService.lambdaQuery().eq(BaseEntity::getIsDelete,0).in(RecoveryServe::getClassifyId, classIds).list().stream().map(RecoveryServe::getId).collect(Collectors.toList());
        }
        if(orderQueryRequest.getServeId()!=null){
            servIds.add(orderQueryRequest.getServeId());
        }
        orderQueryRequest.setServIds(servIds);
        Integer franchiseeId = loginUser.getSysUser().getFranchiseeId();
        if (franchiseeId!=null) {
            Franchisee byId = franchiseeService.getById(franchiseeId);
            String[] siteIds = byId.getSiteIds().split(",");
            orderQueryRequest.setSiteIds(siteIds);
            if (loginUser.getIsFranchisee() && siteIds.length == 0) {
                return R.ok(new Page<Order>());
            }
        }
        Page<Order> data = orderClient.queryPage(orderQueryRequest).getData();
        if (null != data) {
            for (Order record : data.getRecords()) {
@@ -225,8 +223,19 @@
            List<Integer> classIds = recoveryClassifyService.lambdaQuery().eq(RecoveryClassify::getId, orderQueryRequest.getClassNameId()).list().stream().map(RecoveryClassify::getId).collect(Collectors.toList());
            servIds = recoveryServeService.lambdaQuery().eq(BaseEntity::getIsDelete,0).in(RecoveryServe::getClassifyId, classIds).list().stream().map(RecoveryServe::getId).collect(Collectors.toList());
        }
        if (orderQueryRequest.getServeId()!=null){
            servIds.add(orderQueryRequest.getServeId());
        }
        orderQueryRequest.setServIds(servIds);
        Integer franchiseeId = loginUser.getSysUser().getFranchiseeId();
        if (franchiseeId!=null) {
            Franchisee byId = franchiseeService.getById(franchiseeId);
            String[] siteIds = byId.getSiteIds().split(",");
            orderQueryRequest.setSiteIds(siteIds);
            if (loginUser.getIsFranchisee() && siteIds.length == 0) {
                return R.ok();
            }
        }
        return R.ok(orderClient.orderPageCount(orderQueryRequest).getData());
    }
@@ -517,8 +526,23 @@
        orderCountDataRequest.setCityList(cityList);
        orderCountDataRequest.setPageNum(pageNum);
        orderCountDataRequest.setPageSize(pageSize);
        Integer franchiseeId = loginUser.getSysUser().getFranchiseeId();
        String[] siteIds = new String[0];
        if (franchiseeId!=null) {
            Franchisee byId = franchiseeService.getById(franchiseeId);
            siteIds  = byId.getSiteIds().split(",");
            orderCountDataRequest.setSiteIds(Arrays.asList(siteIds));
            if (loginUser.getIsFranchisee() && siteIds.length == 0) {
                return R.ok(new Page<>());
            }
        }
        // 远程调用
        Page<OrderCountVO> data = orderClient.orderCount(orderCountDataRequest).getData();
        List<Integer> idList = data.getRecords().stream().map(OrderCountVO::getWorkerId)
                .collect(Collectors.toList());
        List<MasterWorker> masterWorkerList;
@@ -606,6 +630,7 @@
        OrderByServeRecordVO orderByServeRecord = new OrderByServeRecordVO();
        String masterFolderPath = "/usr/local/coordinate/" + id;
//        String masterFolderPath = "F:/DeskTop/coordinate/" + id;
        File masterFolder = new File(masterFolderPath);
//             检查师傅ID的文件夹是否存在,存在就读取轨迹数据
        System.out.println("文件是否存在:" + masterFolder.exists());
@@ -619,6 +644,7 @@
            orderByServeRecord.setCoordinate(coordinateList);
            //获取轨迹标点
            String baseMarkerPath = "/usr/local/marker/" + id;
//            String baseMarkerPath = "F:/DeskTop/marker/" + id;
            //标点根目录
            File markerMasterFolder = new File(baseMarkerPath);
            if (markerMasterFolder.exists()) {
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/SendSmsController.java
@@ -50,6 +50,7 @@
    })
    public R<Object> dispatchSms(@RequestParam String orderId) {
        com.ruoyi.order.api.entity.Order order = orderClient.detail(orderId).getData();
        orderClient.msgCount(orderId);
        if (null == order) {
            return R.fail("订单不存在或已删除!");
        }
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/UserManageController.java
@@ -3,7 +3,9 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.admin.entity.Franchisee;
import com.ruoyi.admin.entity.User;
import com.ruoyi.admin.service.FranchiseeService;
import com.ruoyi.admin.service.UserService;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.exception.GlobalException;
@@ -117,6 +119,8 @@
        return userService.updateBatchById(list) ? R.ok() : R.fail();
    }
    @Resource
    private FranchiseeService franchiseeService;
    /**
     * 用户所关联订单记录分页列表
     *
@@ -145,7 +149,18 @@
        if (loginUser.getCityList()!=null) {
            cityList = loginUser.getCityList();
        }
        R<Page<Order>> iPageR = orderClient.orderList1(userId,cityList, pageNum, pageSize);
        Integer franchiseeId = loginUser.getSysUser().getFranchiseeId();
        String[] siteIds = new String[0];
        if (franchiseeId!=null){
        Franchisee byId = franchiseeService.getById(franchiseeId);
        siteIds = byId.getSiteIds().split(",");
        if (loginUser.getIsFranchisee()&&siteIds.length==0){
            return R.ok();
        }
        }
        R<Page<Order>> iPageR = orderClient.orderList1(userId,cityList, pageNum, pageSize, Arrays.asList(siteIds));
        Page<Order> data = iPageR.getData();
            List<Order> records = data.getRecords();
@@ -176,14 +191,23 @@
        if (null == loginUser) {
            return R.loginExpire("登录失效!");
        }
        R<Page<Order>> iPageR = orderClient.workOrderList(workId, pageNum, pageSize);
        Integer franchiseeId = loginUser.getSysUser().getFranchiseeId();
        String [] siteIds = new String[0];
        if (franchiseeId!=null) {
            Franchisee byId = franchiseeService.getById(franchiseeId);
            siteIds = byId.getSiteIds().split(",");
            if (loginUser.getIsFranchisee() && siteIds.length == 0) {
                return R.ok(new Page<Order>());
            }
        }
        R<Page<Order>> iPageR = orderClient.workOrderList(workId, pageNum, pageSize,siteIds);
        Page<Order> data = iPageR.getData();
        List<Order> records = data.getRecords();
        for (Order record : records) {
            if (record.getAddress()!=null) {
                record.setReservationAddress(record.getReservationAddress() + record.getAddress());
            }
        }
        return R.ok(data);
    }
@@ -209,7 +233,16 @@
                                                @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
        LoginUser loginUser = tokenService.getLoginUser();
        List<String> cityList = loginUser.getCityList();
        return evaluateClient.evaluateList1(cityList,userId, pageNum, pageSize);
        Integer franchiseeId = loginUser.getSysUser().getFranchiseeId();
        String[] siteIds = new String[0];
        if (franchiseeId!=null) {
            Franchisee byId = franchiseeService.getById(franchiseeId);
            siteIds  = byId.getSiteIds().split(",");
            if (loginUser.getIsFranchisee() && siteIds.length == 0) {
                return R.ok(new Page<>());
            }
        }
        return evaluateClient.evaluateList1(cityList,userId, pageNum, pageSize,Arrays.asList(siteIds));
    }
    /**
@@ -286,7 +319,17 @@
        if (loginUser.getCityList()!=null) {
          cityList = loginUser.getCityList();
        }
        return withdrawClient.withdrawList1(cityList,userId, pageNum, pageSize);
        Integer franchiseeId = loginUser.getSysUser().getFranchiseeId();
        String[] siteIds = new String[0];
        if (franchiseeId!=null){
            Franchisee byId = franchiseeService.getById(franchiseeId);
            siteIds = byId.getSiteIds().split(",");
            if (loginUser.getIsFranchisee()&&siteIds.length==0){
                return R.ok();
            }
        }
        return withdrawClient.withdrawList1(cityList,userId, pageNum, pageSize,Arrays.asList(siteIds));
    }
    /**
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/WithdrawController.java
@@ -2,7 +2,9 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.admin.entity.Franchisee;
import com.ruoyi.admin.entity.User;
import com.ruoyi.admin.service.FranchiseeService;
import com.ruoyi.admin.service.UserService;
import com.ruoyi.admin.service.WithdrawService;
import com.ruoyi.common.core.domain.R;
@@ -21,6 +23,8 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@@ -46,6 +50,8 @@
    @Resource
    private TokenService tokenService;
    @Resource
    private FranchiseeService franchiseeService;
    /**
     * 用户所关联提现记录分页列表
     *
@@ -78,8 +84,19 @@
        List<String> cityList = loginUser.getCityList();
        Integer franchiseeId = loginUser.getSysUser().getFranchiseeId();
        String[] siteIds = new String[0];
        if (franchiseeId!=null){
            Franchisee byId = franchiseeService.getById(franchiseeId);
            siteIds = byId.getSiteIds().split(",");
            if (loginUser.getIsFranchisee()&&siteIds.length==0){
                return R.ok();
            }
        }
        Page<UserWithdrawRecordVO> page = withdrawClient.withdrawPage1(cityList,nickname, userPhone, applyForTime,
                state, pageNum, pageSize,userIds).getData();
                state, pageNum, pageSize,userIds, Arrays.asList(siteIds)).getData();
        if (null != page) {
            for (UserWithdrawRecordVO record : page.getRecords()) {
                Integer userId = record.getUserId();
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/entity/Franchisee.java
@@ -86,4 +86,9 @@
    @TableField("city_code")
    private String cityCode;
    @ApiModelProperty("管辖城市二维数组")
    @TableField("site_ids")
    private String siteIds;
    @TableField(exist = false)
    private String siteStr;
}
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/request/UserDataCountRequest.java
@@ -22,5 +22,6 @@
    @ApiModelProperty("统计类型(月度:month;季度:quarter;年度:year)")
    @NotBlank(message = "请选择:统计类型!")
    private String countType;
    private List<String> siteIds;
}
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/UserService.java
@@ -34,5 +34,5 @@
     * @return 统计数据信息
     */
    UserDataCountVO userDataCount(UserDataCountRequest userDataCountRequest);
    UserDataCountVO userDataCount1(UserDataCountRequest userDataCountRequest,List<Integer> userIds);
    UserDataCountVO userDataCount1(UserDataCountRequest userDataCountRequest,List<Integer> userIds,List<String> siteIds);
}
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/OrderServiceImpl.java
@@ -217,6 +217,7 @@
            orderInfo.setOrderNumber(order.getOrderNumber());
            orderInfo.setPlaceOrderTime(order.getCreateTime());
            orderInfo.setState(order.getState());
            orderInfo.setCompleteTime(order.getCompleteTime());
            orderInfo.setReservationRemark(order.getReservationRemark());
        }
        result.setOrderInfo(orderInfo);
@@ -248,8 +249,7 @@
     */
    @Override
    public List<String> queryIdList(OrderQueryRequest orderQueryRequest) {
        // 基础查询
        Page<com.ruoyi.order.api.entity.Order> pageList = orderClient.queryPage(orderQueryRequest).getData();
        return pageList.getRecords().stream().map(com.ruoyi.order.api.entity.Order::getId).collect(Collectors.toList());
        List<String> data = orderClient.queryPage1(orderQueryRequest).getData();
            return data;
    }
}
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/UserServiceImpl.java
@@ -120,7 +120,7 @@
    @Override
    public UserDataCountVO userDataCount1(UserDataCountRequest userDataCountRequest,List<Integer> userIds) {
    public UserDataCountVO userDataCount1(UserDataCountRequest userDataCountRequest,List<Integer> userIds,List<String> siteIds) {
        List<String> cityList = userDataCountRequest.getCityList();
        String type = userDataCountRequest.getCountType();
        if (userIds.isEmpty()){
@@ -158,8 +158,12 @@
        // 结果数据封装
        Long increaseNumber;
        // 交易额
        BigDecimal totalMoney = orderClient.tradeMoney(new MoneyQueryRequest(cityList,userDataCountRequest.getCountType())).getData();
        BigDecimal withdrawalTotalMoney = withdrawClient.withdrawalTotalMoney(new MoneyQueryRequest(cityList, type))
        MoneyQueryRequest moneyQueryRequest1 = new MoneyQueryRequest(cityList, userDataCountRequest.getCountType());
        moneyQueryRequest1.setSiteIds(siteIds);
        BigDecimal totalMoney = orderClient.tradeMoney(moneyQueryRequest1).getData();
        MoneyQueryRequest moneyQueryRequest = new MoneyQueryRequest(cityList, type);
        moneyQueryRequest.setSiteIds(siteIds);
        BigDecimal withdrawalTotalMoney = withdrawClient.withdrawalTotalMoney(moneyQueryRequest)
                .getData();
        if (OrderConstants.QUARTER.equals(type)) {
            // 用户增长数
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/vo/OrderInfoVO.java
@@ -22,6 +22,8 @@
    @ApiModelProperty("下单时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date placeOrderTime;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date completeTime;
    @ApiModelProperty("订单状态(0:待派单;1:待上门;2:待完工;3:已完结;4:已取消;5:已改派)")
    private Integer state;
ruoyi-service/ruoyi-admin/src/main/resources/template/订单记录.xlsx
Binary files differ
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/EvaluateController.java
@@ -117,8 +117,9 @@
    public R<Page<EvaluatePageVO>> evaluateList1(@RequestParam(value = "cityList", required = false) List<String> cityList,
                                                @RequestParam(value = "userId", required = false) Integer userId,
                                                @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                                                @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
        Page<EvaluatePageVO> evaluatePageVOPage = evaluateService.evaluateList1(cityList,userId, Page.of(pageNum, pageSize));
                                                @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                                 @RequestParam("siteIds")List<String> siteIds) {
        Page<EvaluatePageVO> evaluatePageVOPage = evaluateService.evaluateList1(cityList,userId, Page.of(pageNum, pageSize),siteIds);
        return R.ok(evaluatePageVOPage);
    }
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/OrderController.java
@@ -106,6 +106,10 @@
        return R.ok(orderService.queryPage(orderQueryRequest));
    }
    @PostMapping(value = "/queryPage1")
    public R<List<String>> queryPage1(@RequestBody OrderQueryRequest orderQueryRequest) {
        return R.ok(orderService.queryPage1(orderQueryRequest));
    }
    /**
     * 订单列表
     */
@@ -142,7 +146,7 @@
     */
    @ApiOperation(value = "订单列表-增加发送短信次数", tags = {"后台-订单管理"})
    @PostMapping(value = "/msgCount")
    public R<?> messageCount(@RequestParam("orderId") String orderId) {
    public R messageCount(@RequestParam("orderId") String orderId) {
        orderService.messageCount(orderId);
        return R.ok();
    }
@@ -275,6 +279,12 @@
        return R.ok(collect);
    }
    @PostMapping(value = "/queryIdsBycodeAndSite")
    public R<List<Integer>> queryIdsBycodeAndSite(@RequestParam("cityList")  List<String> cityList,@RequestParam("siteIds")List<String> siteIds) {
        List<Integer> collect = orderService.lambdaQuery().eq(BaseEntity::getIsDelete,0).in(!siteIds.isEmpty(),Order::getSiteId,siteIds).in(Order::getCityCode, cityList).list().stream().map(Order::getUserId).collect(Collectors.toList());
        return R.ok(collect);
    }
    /**
     * 更改订单信息
@@ -302,6 +312,8 @@
            order.setServerPhone(phone);
            orderService.updateById(order);
        }
        List<ChangeDispatch> list = changeDispatchService.lambdaQuery().eq(ChangeDispatch::getOrderId, orderId).list();
        changeDispatchService.removeBatchByIds(list);
        return R.ok(order);
    }
@@ -378,7 +390,7 @@
        Order order = orderService.getById(orderRequest.getOrderId());
        if (order.getState()!=6) {
//        if (order.getState()!=6) {
            if ((!Objects.equals(order.getServerId(), orderRequest.getServerId())) || (!Objects.equals(order.getTime(), orderRequest.getTime()))) {
                order.setState(1);
                order.setArriveTime(null);
@@ -387,8 +399,12 @@
                        .eq(Order::getId, order.getId()
                        ).set(Order::getArriveTime, null).update();
                //删除改派管理的订单
                List<ChangeDispatch> list = changeDispatchService.lambdaQuery().eq(ChangeDispatch::getOrderId, order.getId()).list();
                changeDispatchService.removeBatchByIds(list);
            }
        }
//        }
        order.setId(orderRequest.getOrderId());
        order.setCity(orderRequest.getCity());
@@ -484,7 +500,7 @@
    })
    public R<Page<OrderCountVO>> orderCount(@RequestBody OrderCountDataRequest request) {
        return R.ok(orderService.orderCount(request.getWorkerName(), request.getWorkerPhone(), request.getCityList(),
                Page.of(request.getPageNum(), request.getPageSize())));
                Page.of(request.getPageNum(), request.getPageSize()),request.getSiteIds()));
    }
    /**
@@ -564,9 +580,11 @@
    @GetMapping(value = "/orderList1")
    public R<Page<Order>> orderList1(@RequestParam("userId") Integer userId, @RequestParam("cityList") List<String> cityList,
                                    @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                                    @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
                                    @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                     @RequestParam("siteIds") List<String> siteIds
    ) {
        Page<Order> page = orderService.lambdaQuery().eq(Order::getUserId, userId)
                .eq(Order::getIsDelete, 0).in(!cityList.isEmpty(),Order::getCityCode, cityList).page(Page.of(pageNum, pageSize));
                .eq(Order::getIsDelete, 0).in(!siteIds.isEmpty(),Order::getSiteId, siteIds).in(!cityList.isEmpty(),Order::getCityCode, cityList).page(Page.of(pageNum, pageSize));
        return R.ok(page);
    }
@@ -578,9 +596,9 @@
    })
    public R<Page<Order>> workOrderList(@RequestParam("workId") Integer workId,
                                    @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                                    @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
                                    @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,@RequestParam("siteIds") String [] siteIds) {
        Page<Order> page = orderService.lambdaQuery().eq(Order::getServerId, workId)
                .eq(Order::getIsDelete, 0).page(Page.of(pageNum, pageSize));
                .in(siteIds.length>0,Order::getSiteId, siteIds).eq(Order::getIsDelete, 0).page(Page.of(pageNum, pageSize));
        return R.ok(page);
    }
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/controller/WithdrawController.java
@@ -79,8 +79,9 @@
                                                      @RequestParam(value = "state", required = false) Integer state,
                                                      @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                                                      @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                                      @RequestParam(name = "userIds") List<Integer> userIds) {
        return R.ok(withdrawService.withdrawPage1(cityList,userIds,nickname, userPhone, applyForTime, state, Page.of(pageNum, pageSize)));
                                                      @RequestParam(name = "userIds") List<Integer> userIds,
                                                       @RequestParam("siteIds") List<String> siteIds) {
        return R.ok(withdrawService.withdrawPage1(cityList,userIds,nickname, userPhone, applyForTime, state, Page.of(pageNum, pageSize),siteIds));
    }
    /**
     * 查看提现记录详情
@@ -249,8 +250,9 @@
    @GetMapping(value = "/withdrawList1")
    public R<Page<UserWithdrawRecordVO>> withdrawList1(@RequestParam("cityList") List<String> cityList,@RequestParam("userId") Integer userId,
                                                      @RequestParam(name = "pageNum", defaultValue = "1") Integer pageNum,
                                                      @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
        return R.ok(withdrawService.withdrawList1(cityList,userId, Page.of(pageNum, pageSize)));
                                                      @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                                       @RequestParam("siteIds") List<String> siteIds) {
        return R.ok(withdrawService.withdrawList1(cityList,userId, Page.of(pageNum, pageSize),siteIds));
    }
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/EvaluateMapper.java
@@ -8,6 +8,7 @@
import com.ruoyi.order.vo.OrderEvaluateVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
@@ -39,7 +40,7 @@
     * @return 分页列表
     */
    Page<EvaluatePageVO> evaluateList(@Param("userId") Integer userId, Page<EvaluatePageVO> page);
    Page<EvaluatePageVO> evaluateList1(@Param("cityList")  List<String> cityList,@Param("userId") Integer userId, Page<EvaluatePageVO> page);
    Page<EvaluatePageVO> evaluateList1(@Param("cityList")  List<String> cityList, @Param("userId") Integer userId, @Param("siteIds") List<String> siteIds, Page<EvaluatePageVO> page);
    /**
     * 订单与评价列表
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/OrderMapper.java
@@ -27,7 +27,7 @@
     * @param orderState 订单状态
     * @return 本年订单数量
     */
    List<OrderQueryVO> orderCountByYear(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState);
    List<OrderQueryVO> orderCountByYear(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState,@Param("siteIds") List<String> siteIds);
    /**
     * 查询本月订单数量
@@ -36,7 +36,7 @@
     * @param orderState 订单状态
     * @return 本年订单数量
     */
    List<OrderQueryVO> orderCountByMonth(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState);
    List<OrderQueryVO> orderCountByMonth(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState,@Param("siteIds") List<String> siteIds);
    /**
     * 查询本周订单数量
@@ -45,7 +45,7 @@
     * @param orderState 订单状态
     * @return 本年订单数量
     */
    List<OrderQueryVO> orderCountByWeek(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState);
    List<OrderQueryVO> orderCountByWeek(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState,@Param("siteIds") List<String> siteIds);
    /**
     * 查询当天订单数量
@@ -54,7 +54,7 @@
     * @param orderState 订单状态
     * @return 本年订单数量
     */
    List<OrderQueryVO> orderCountByToday(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState);
    List<OrderQueryVO> orderCountByToday(@Param("cityList") List<String> cityList, @Param("orderState") Integer orderState,@Param("siteIds") List<String> siteIds);
    /**
     * 查询整个季度的交易额(订单状态为:已完工)
@@ -93,7 +93,8 @@
     * @return 分页统计
     */
    Page<OrderCountVO> orderCount(@Param("name") String name, @Param("phone") String phone,
                                  @Param("cityList") List<String> cityList, Page<OrderCountVO> page);
                                  @Param("cityList") List<String> cityList, Page<OrderCountVO> page,
                                  @Param("siteIds") List<String> siteIds);
    /**
     * 订单列表
@@ -103,6 +104,7 @@
     * @return 分页
     */
    Page<Order> queryPage(@Param("data") OrderQueryRequest orderQueryRequest, Page<Order> page);
    Page<Order> queryPage1(@Param("data") OrderQueryRequest orderQueryRequest, Page<Order> page);
    /**
     * 订单管理分页模块,订单数量统计
@@ -164,7 +166,7 @@
     * @return 列表
     */
    List<OrderQueryVO> orderCountByTimeRange(@Param("cityList") List<String> cityList, @Param("startTime") String startTime,
                                             @Param("endTime") String endTime, @Param("orderState") Integer orderState);
                                             @Param("endTime") String endTime, @Param("orderState") Integer orderState,@Param("siteIds") List<String> siteIds);
    /**
     * 根据时间范围筛选订单
@@ -177,7 +179,7 @@
     * @return 列表
     */
    List<OrderQueryVO> orderCountByTimeRangeYear(@Param("cityList") List<String> cityList, @Param("startTime") String startTime,
                                                 @Param("endTime") String endTime, @Param("orderState") Integer orderState);
                                                 @Param("endTime") String endTime, @Param("orderState") Integer orderState,@Param("siteIds") List<String> siteIds);
    /**
     * 根据时间范围筛选订单
@@ -190,7 +192,7 @@
     * @return 列表
     */
    List<OrderQueryVO> orderCountByTimeRangeMonth(@Param("cityList") List<String> cityList, @Param("startTime") String startTime,
                                                  @Param("endTime") String endTime, @Param("orderState") Integer orderState);
                                                  @Param("endTime") String endTime, @Param("orderState") Integer orderState,@Param("siteIds") List<String> siteIds);
    List<PaperInVo> papercout(@Param("workId")String workId,@Param("date")String date);
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/mapper/WithdrawMapper.java
@@ -6,6 +6,7 @@
import com.ruoyi.order.vo.UserWithdrawRecordVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestParam;
import java.math.BigDecimal;
import java.util.List;
@@ -37,7 +38,7 @@
    Page<UserWithdrawRecordVO> withdrawPage1(@Param("cityList") List<String> cityList,@Param("userIds")  List<Integer> userIds,@Param("name") String nickname, @Param("phone") String userPhone,
                                            @Param("time") String applyForTime,
                                            @Param("state") Integer state, Page<UserWithdrawRecordVO> page);
                                             @Param("state") Integer state, Page<UserWithdrawRecordVO> page, @Param("siteIds")List<String> siteIds);
    /**
     * 根据所选id导出
@@ -68,7 +69,7 @@
     * @param endDateStr   季度结束时间
     * @return 总金额
     */
    BigDecimal withdrawalTotalMoney(@Param("cityList") List<String> cityList, @Param("start") String startDateStr, @Param("end") String endDateStr);
    BigDecimal withdrawalTotalMoney(@Param("cityList") List<String> cityList, @Param("start") String startDateStr, @Param("end") String endDateStr,@Param("siteIds")List<String> siteIds);
    /**
     * 年度查询
@@ -76,7 +77,7 @@
     * @param cityList 城市列表
     * @return 年度提现总额
     */
    BigDecimal withdrawalTotalMoneyByYear(@Param("cityList") List<String> cityList);
    BigDecimal withdrawalTotalMoneyByYear(@Param("cityList") List<String> cityList,@Param("siteIds")List<String> siteIds);
    /**
     * 月度查询
@@ -84,7 +85,7 @@
     * @param cityList 城市列表
     * @return 年度提现总额
     */
    BigDecimal withdrawalTotalMoneyByMonth(@Param("cityList") List<String> cityList);
    BigDecimal withdrawalTotalMoneyByMonth(@Param("cityList") List<String> cityList,@Param("siteIds")List<String> siteIds);
    /**
     * 用户所关联提现记录分页列表
@@ -94,5 +95,5 @@
     * @return 分页列表
     */
    Page<UserWithdrawRecordVO> withdrawList(@Param("userId") Integer userId, Page<UserWithdrawRecordVO> page);
    Page<UserWithdrawRecordVO> withdrawList1(@Param("cityList") List<String> cityList,@Param("userId") Integer userId, Page<UserWithdrawRecordVO> page);
    Page<UserWithdrawRecordVO> withdrawList1(@Param("cityList") List<String> cityList,@Param("userId") Integer userId, Page<UserWithdrawRecordVO> page,@Param("siteIds")List<String> siteIds);
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/ChangeDispatchRequest.java
@@ -23,5 +23,6 @@
    private Integer pageSize;
    private List<String> cityList;
    private String [] siteIds;
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/EvaluatePageRequest.java
@@ -25,5 +25,6 @@
    private Integer pageSize;
    private List<Integer> userIdList;
    private List<String> siteIds;
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/request/OrderCountDataRequest.java
@@ -21,5 +21,6 @@
    private Integer pageNum;
    private Integer pageSize;
    private List<String> siteIds;
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/EvaluateService.java
@@ -36,7 +36,7 @@
     * @return 分页列表
     */
    Page<EvaluatePageVO> evaluateList(Integer userId, Page<EvaluatePageVO> page);
    Page<EvaluatePageVO> evaluateList1(List<String> cityList,Integer userId, Page<EvaluatePageVO> page);
    Page<EvaluatePageVO> evaluateList1(List<String> cityList,Integer userId, Page<EvaluatePageVO> page,List<String> siteIds);
    /**
     * 订单评价列表
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/OrderService.java
@@ -44,6 +44,7 @@
     * @return 分页
     */
    Page<Order> queryPage(OrderQueryRequest orderQueryRequest);
    List<String> queryPage1(OrderQueryRequest orderQueryRequest);
    /**
     * 订单管理-订单统计
@@ -54,7 +55,7 @@
     * @param page     分页
     * @return 分页统计
     */
    Page<OrderCountVO> orderCount(String name, String phone, List<String> cityList, Page<OrderCountVO> page);
    Page<OrderCountVO> orderCount(String name, String phone, List<String> cityList, Page<OrderCountVO> page,List<String> siteIds);
    /**
     * 订单管理分页模块,订单数量统计
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/WithdrawService.java
@@ -35,7 +35,7 @@
    Page<UserWithdrawRecordVO> withdrawPage(List<Integer> userIds,String nickname, String userPhone, String applyForTime,
                                            Integer state, Page<UserWithdrawRecordVO> page);
    Page<UserWithdrawRecordVO> withdrawPage1(List<String> cityList,List<Integer> userIds,String nickname, String userPhone, String applyForTime,
                                            Integer state, Page<UserWithdrawRecordVO> page);
                                            Integer state, Page<UserWithdrawRecordVO> page,List<String> siteIds);
    /**
@@ -87,7 +87,7 @@
     * @return 分页列表
     */
    Page<UserWithdrawRecordVO> withdrawList(Integer userId, Page<UserWithdrawRecordVO> page);
    Page<UserWithdrawRecordVO> withdrawList1(List<String> cityList,Integer userId, Page<UserWithdrawRecordVO> page);
    Page<UserWithdrawRecordVO> withdrawList1(List<String> cityList,Integer userId, Page<UserWithdrawRecordVO> page,List<String> siteIds);
    /**
     * 用户端-提交提现申请
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/EvaluateServiceImpl.java
@@ -34,8 +34,8 @@
    }
    @Override
    public Page<EvaluatePageVO> evaluateList1(List<String> cityList,Integer userId, Page<EvaluatePageVO> page) {
        return baseMapper.evaluateList1(cityList,userId, page);
    public Page<EvaluatePageVO> evaluateList1(List<String> cityList,Integer userId, Page<EvaluatePageVO> page,List<String> siteIds) {
        return baseMapper.evaluateList1(cityList,userId,siteIds, page);
    }
    @Override
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/OrderServiceImpl.java
@@ -32,10 +32,8 @@
import java.time.Month;
import java.time.Year;
import java.time.temporal.TemporalAdjusters;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.*;
import java.util.stream.Collectors;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -64,16 +62,17 @@
        String countType = orderCount.getCountType();
        String startTime = orderCount.getStartTime();
        String endTime = orderCount.getEndTime();
//        String [] siteIds = orderCount.getSiteIds();
        List<OrderQueryVO> list;
        // 根据查询类型查询订单信息
        if (OrderConstants.YEAR.equals(countType)) {
            list = baseMapper.orderCountByYear(cityList, orderState);
            list = baseMapper.orderCountByYear(cityList, orderState,orderCount.getSiteIds());
        } else if (OrderConstants.MONTH.equals(countType)) {
            list = baseMapper.orderCountByMonth(cityList, orderState);
            list = baseMapper.orderCountByMonth(cityList, orderState, orderCount.getSiteIds());
        } else if (OrderConstants.WEEK.equals(countType)) {
            list = baseMapper.orderCountByWeek(cityList, orderState);
            list = baseMapper.orderCountByWeek(cityList, orderState, orderCount.getSiteIds());
        } else if (OrderConstants.TODAY.equals(countType)) {
            list = baseMapper.orderCountByToday(cityList, orderState);
            list = baseMapper.orderCountByToday(cityList, orderState, orderCount.getSiteIds());
        } else {
            try {
                startTime = startTime + " 00:00:00";
@@ -84,11 +83,11 @@
                long diffInMillis = date2.getTime() - date1.getTime();
                long diffInDays = diffInMillis / (24 * 60 * 60 * 1000);
                if (diffInDays > Constants.YEAR_DAY) {
                    list = baseMapper.orderCountByTimeRangeYear(cityList, startTime, endTime, orderState);
                    list = baseMapper.orderCountByTimeRangeYear(cityList, startTime, endTime, orderState, orderCount.getSiteIds());
                } else if (diffInDays > Constants.THIRTY) {
                    list = baseMapper.orderCountByTimeRangeMonth(cityList, startTime, endTime, orderState);
                    list = baseMapper.orderCountByTimeRangeMonth(cityList, startTime, endTime, orderState, orderCount.getSiteIds());
                } else {
                    list = baseMapper.orderCountByTimeRange(cityList, startTime, endTime, orderState);
                    list = baseMapper.orderCountByTimeRange(cityList, startTime, endTime, orderState, orderCount.getSiteIds());
                }
            } catch (ParseException e) {
                list = new ArrayList<>();
@@ -145,10 +144,18 @@
        return pageList;
    }
    @Override
    public List<String> queryPage1(OrderQueryRequest orderQueryRequest) {
        Page<Order> page = Page.of(orderQueryRequest.getPageNum(), orderQueryRequest.getPageSize());
        // 基础查询
        Page<Order> pageList = baseMapper.queryPage1(orderQueryRequest, page);
        return  pageList.getRecords().stream().map(Order::getId).collect(Collectors.toList());
    }
    @Override
    public Page<OrderCountVO> orderCount(String name, String phone, List<String> cityList, Page<OrderCountVO> page) {
        return baseMapper.orderCount(name, phone, cityList, page);
    public Page<OrderCountVO> orderCount(String name, String phone, List<String> cityList, Page<OrderCountVO> page,List<String>siteIds) {
        return baseMapper.orderCount(name, phone, cityList, page, siteIds);
    }
    @Override
@@ -185,6 +192,9 @@
    @Override
    public BigDecimal tradeMoney(MoneyQueryRequest moneyQueryRequest) {
        if(moneyQueryRequest.getSiteIds()==null){
            moneyQueryRequest.setSiteIds(new ArrayList<>());
        }
        List<String> cityList = moneyQueryRequest.getCityList();
        String type = moneyQueryRequest.getType();
        // 计算当前季度时间所包含时间
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/WithdrawServiceImpl.java
@@ -100,8 +100,8 @@
        return userWithdrawRecordVOPage;
    }
    @Override
    public Page<UserWithdrawRecordVO> withdrawPage1(List<String> cityList,List<Integer> userIds,String nickname, String userPhone, String applyForTime, Integer state, Page<UserWithdrawRecordVO> page) {
        Page<UserWithdrawRecordVO> userWithdrawRecordVOPage = baseMapper.withdrawPage1(cityList,userIds,nickname, userPhone, applyForTime, state, page);
    public Page<UserWithdrawRecordVO> withdrawPage1(List<String> cityList,List<Integer> userIds,String nickname, String userPhone, String applyForTime, Integer state, Page<UserWithdrawRecordVO> page,List<String> siteIds) {
        Page<UserWithdrawRecordVO> userWithdrawRecordVOPage = baseMapper.withdrawPage1(cityList,userIds,nickname, userPhone, applyForTime, state, page,siteIds);
        return userWithdrawRecordVOPage;
    }
@@ -155,15 +155,18 @@
        String startDateStr = String.valueOf(startDate);
        String endDateStr = String.valueOf(endDate);
        BigDecimal withdrawalTotalMoney;
        if (request.getSiteIds()==null){
            request.setSiteIds(new ArrayList<>());
        }
        if (OrderConstants.QUARTER.equals(type)) {
            // 用户提现总额
            withdrawalTotalMoney = baseMapper.withdrawalTotalMoney(cityList, startDateStr, endDateStr);
            withdrawalTotalMoney = baseMapper.withdrawalTotalMoney(cityList, startDateStr, endDateStr,request.getSiteIds());
        } else if (OrderConstants.YEAR.equals(type)) {
            // 用户提现总额
            withdrawalTotalMoney = baseMapper.withdrawalTotalMoneyByYear(cityList);
            withdrawalTotalMoney = baseMapper.withdrawalTotalMoneyByYear(cityList,request.getSiteIds());
        } else if (OrderConstants.MONTH.equals(type)) {
            // 用户提现总额
            withdrawalTotalMoney = baseMapper.withdrawalTotalMoneyByMonth(cityList);
            withdrawalTotalMoney = baseMapper.withdrawalTotalMoneyByMonth(cityList,request.getSiteIds());
        } else {
            // 数量初始化
            withdrawalTotalMoney = BigDecimal.ZERO;
@@ -202,8 +205,8 @@
    }
    @Override
    public Page<UserWithdrawRecordVO> withdrawList1(List<String> cityList,Integer userId, Page<UserWithdrawRecordVO> page) {
        Page<UserWithdrawRecordVO> userWithdrawRecordVOPage = baseMapper.withdrawList1(cityList,userId, page);
    public Page<UserWithdrawRecordVO> withdrawList1(List<String> cityList,Integer userId, Page<UserWithdrawRecordVO> page,List<String> siteIds) {
        Page<UserWithdrawRecordVO> userWithdrawRecordVOPage = baseMapper.withdrawList1(cityList,userId, page,siteIds);
        for (UserWithdrawRecordVO record : userWithdrawRecordVOPage.getRecords()) {
            R<UserDto> user = userClient.getUser(record.getUserId());
            System.err.println("==="+user.getData());
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/MoneyQueryRequest.java
@@ -15,5 +15,6 @@
    private List<String> cityList;
    private String type;
    private List<String> siteIds;
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderCountRequest.java
@@ -31,5 +31,6 @@
    @ApiModelProperty("结束日期(yyyy-MM-dd格式)")
    private String endTime;
    private List<String> siteIds;
}
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/vo/OrderQueryRequest.java
@@ -75,5 +75,6 @@
    @ApiModelProperty("订单完成结束时间")
    private String completeTimeEnd;
    private List<String> siteIds;
}
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/ChangeDispatchMapper.xml
@@ -42,6 +42,12 @@
                    #{city}
                </foreach>
            </if>
            <if test="data.siteIds != null and data.siteIds.length != 0">
                and o.site_id in
                <foreach collection="data.siteIds" item="siteId" open="(" separator="," close=")">
                    #{siteId}
                </foreach>
            </if>
        </where>
        order by c.createTime desc
    </select>
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/EvaluateMapper.xml
@@ -76,6 +76,13 @@
                    #{userId}
                </foreach>
            </if>
            <if test="data.siteIds != null and data.siteIds.size() != 0">
                and o.site_id in
                <foreach collection="data.siteIds" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
        </where>
        order by e.createTime desc
    </select>
@@ -116,6 +123,12 @@
        left join t_order o on e.order_id = o.id
        where e.is_delete = 0
        and o.is_delete = 0
        <if test="siteIds != null and siteIds.size() != 0">
            and o.site_id in
            <foreach collection="siteIds" item="id" open="(" separator="," close=")">
                #{id}
            </foreach>
        </if>
          <if test="cityList != null and cityList.size() != 0">
            and o.city_code in
            <foreach collection="cityList" item="city" open="(" separator="," close=")">
@@ -125,7 +138,6 @@
        <if test="userId != null">
            and e.user_id = #{userId}
        </if>
        order by e.createTime desc
    </select>
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -5,6 +5,8 @@
    <resultMap id="BaseResultMap" type="com.ruoyi.order.entity.Order">
        <id column="id" property="id"/>
        <result column="site_id" property="siteId"/>
        <result column="msg_count" property="msgCount"/>
        <result column="complete_time" property="completeTime"/>
        <result column="accept_time" property="acceptTime"/>
        <result column="order_number" property="orderNumber"/>
        <result column="order_money" property="orderMoney"/>
@@ -50,6 +52,12 @@
            <if test="orderState != null">
                and state = #{orderState}
            </if>
            <if test="siteIds != null and siteIds.size() != 0">
                and site_id in
                <foreach collection="siteIds" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
        </where>
        GROUP BY dateTime
        order by dateTime
@@ -72,6 +80,12 @@
            </if>
            <if test="orderState != null">
                and state = #{orderState}
            </if>
            <if test="siteIds != null and siteIds.size() != 0">
                and site_id in
                <foreach collection="siteIds" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
        </where>
        GROUP BY dateTime
@@ -97,6 +111,12 @@
            <if test="orderState != null">
                and state = #{orderState}
            </if>
            <if test="siteIds != null and siteIds.size() != 0">
                and site_id in
                <foreach collection="siteIds" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
        </where>
        GROUP BY dateTime
        order by dateTime
@@ -119,6 +139,12 @@
            </if>
            <if test="orderState != null">
                and state = #{orderState}
            </if>
            <if test="siteIds != null and siteIds.size() != 0">
                and site_id in
                <foreach collection="siteIds" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
        </where>
        GROUP BY dateTime
@@ -195,10 +221,96 @@
        <if test="name != null and name != ''">
            and o.server_name like concat('%', #{name}, '%')
        </if>
        <if test="siteIds != null and siteIds.size() != 0">
            and o.site_id in
            <foreach collection="siteIds" item="id" open="(" separator="," close=")">
                #{id}
            </foreach>
        </if>
        GROUP BY o.server_id
    </select>
    <select id="queryPage" resultMap="BaseResultMap">
        select *
        from t_order o
        <where>
            o.is_delete = 0
            <if test="data.fake != null ">
                and o.fake = #{data.fake}
            </if>
            <if test="data.address != null and data.address != ''">
                and o.reservation_address like concat('%', #{data.address}, '%')
            </if>
            <if test="data.orderNumber != null and data.orderNumber != ''">
                and o.order_number like concat('%', #{data.orderNumber}, '%')
            </if>
            <if test="data.cityName != null and data.cityName != ''">
                and o.city like concat('%', #{data.cityName}, '%')
            </if>
            <if test="data.cityList != null and data.cityList.size() != 0">
                and o.city_code in
                <foreach collection="data.cityList" item="c" open="(" separator="," close=")">
                    #{c}
                </foreach>
            </if>
            <if test="data.servIds != null and data.servIds.size() != 0">
                and o.serve_id in
                <foreach collection="data.servIds" item="c" open="(" separator="," close=")">
                    #{c}
                </foreach>
            </if>
            <if test="data.reservationName != null and data.reservationName != ''">
                and o.reservation_name like concat('%', #{data.reservationName}, '%')
            </if>
            <if test="data.reservationPhone != null and data.reservationPhone != ''">
                and o.reservation_phone like concat('%', #{data.reservationPhone}, '%')
            </if>
            <if test="data.state != null">
                and o.state = #{data.state}
            </if>
            <if test="data.type != null">
                and o.type = #{data.type}
            </if>
            <if test="data.workerName != null and data.workerName != ''">
                and o.server_name like concat('%', #{data.workerName}, '%')
            </if>
            <if test="data.workerPhone != null and data.workerPhone != ''">
                and o.server_phone like concat('%', #{data.workerPhone}, '%')
            </if>
            <if test="data.serveName != null and data.serveName != ''">
                and o.site_name like concat('%', #{data.serveName}, '%')
            </if>
            <if test="data.orderTimeStart != null and data.orderTimeStart != ''">
                and DATE(o.createTime) <![CDATA[ >= ]]> #{data.orderTimeStart}
            </if>
            <if test="data.orderTimeEnd != null and data.orderTimeEnd != ''">
                and DATE(o.createTime) <![CDATA[ <= ]]> #{data.orderTimeEnd}
            </if>
            <if test="data.startTime != null and data.startTime != ''">
                and STR_TO_DATE(SUBSTRING_INDEX(time, ' - ', 1), '%Y-%m-%d %H:%i') <![CDATA[ >= ]]> #{data.startTime}
            </if>
            <if test="data.endTime != null and data.endTime != ''">
                AND STR_TO_DATE(SUBSTRING_INDEX(time, ' - ', -1), '%Y-%m-%d %H:%i') <![CDATA[ <= ]]> #{data.endTime}
            </if>
            <if test="data.completeTimeStart != null and data.completeTimeStart != ''">
                and DATE(o.complete_time) <![CDATA[ >= ]]> #{data.completeTimeStart}
            </if>
            <if test="data.completeTimeEnd != null and data.completeTimeEnd != ''">
                and DATE(o.complete_time) <![CDATA[ <= ]]> #{data.completeTimeEnd}
            </if>
            <if test="data.siteIds != null and data.siteIds.size() != 0">
                and o.site_id in
                <foreach collection="data.siteIds" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
        </where>
        order by o.createTime desc
    </select>
    <select id="queryPage1" resultMap="BaseResultMap">
        select *
        from t_order o
        <where>
@@ -331,6 +443,18 @@
            </if>
            <if test="data.endTime != null and data.endTime != ''">
                AND STR_TO_DATE(SUBSTRING_INDEX(time, ' - ', -1), '%Y-%m-%d %H:%i') <![CDATA[ <= ]]> #{data.endTime}
            </if>
            <if test="data.siteIds != null and data.siteIds.size() != 0">
                and o.site_id in
                <foreach collection="data.siteIds" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
            <if test="data.completeTimeStart != null and data.completeTimeStart != ''">
                and DATE(o.complete_time) <![CDATA[ >= ]]> #{data.completeTimeStart}
            </if>
            <if test="data.completeTimeEnd != null and data.completeTimeEnd != ''">
                and DATE(o.complete_time) <![CDATA[ <= ]]> #{data.completeTimeEnd}
            </if>
        </where>
    </select>
@@ -481,6 +605,12 @@
            <if test="endTime != null and endTime != ''">
                and createTime <![CDATA[ <= ]]> #{endTime}
            </if>
            <if test="siteIds != null and siteIds.size() != 0">
                and site_id in
                <foreach collection="siteIds" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
        </where>
        GROUP BY dateTime
        order by dateTime
@@ -506,6 +636,12 @@
            </if>
            <if test="endTime != null and endTime != ''">
                and createTime <![CDATA[ <= ]]> #{endTime}
            </if>
            <if test="siteIds != null and siteIds.size() != 0">
                and site_id in
                <foreach collection="siteIds" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
        </where>
        GROUP BY dateTime
@@ -535,6 +671,12 @@
            <if test="endTime != null and endTime != ''">
                and createTime <![CDATA[ <= ]]> #{endTime}
            </if>
            <if test="siteIds != null and siteIds.size() != 0">
                and site_id in
                <foreach collection="siteIds" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
        </where>
        GROUP BY dateTime
        order by dateTime
ruoyi-service/ruoyi-order/src/main/resources/mapper/order/WithdrawMapper.xml
@@ -46,6 +46,7 @@
    <select id="withdrawPage1" resultMap="voMap">
        SELECT *
        FROM t_withdraw w
        left join t_order o on w.order_id = o.id
        <where>
            w.is_delete = 0
@@ -70,6 +71,12 @@
            </if>
            <if test="state != null">
                and w.state = #{state}
            </if>
            <if test="siteIds != null and siteIds.size() != 0">
                and o.site_id in
                <foreach collection="siteIds" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
        </where>
        order by w.apply_for_time desc
@@ -126,6 +133,7 @@
    <select id="withdrawalTotalMoney" resultType="java.math.BigDecimal">
        SELECT sum(w.apply_for_money)
        FROM t_withdraw w
        left join t_order o on w.order_id = o.id
        <where>
            w.is_delete = 0 and w.state = 1
            <if test="start != null and start != ''">
@@ -140,12 +148,21 @@
                #{id}
                </foreach>
            </if>
            <if test="siteIds != null and siteIds.size() != 0">
                and o.site_id in
                <foreach collection="siteIds" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
        </where>
    </select>
    <select id="withdrawalTotalMoneyByYear" resultType="java.math.BigDecimal">
        SELECT sum(w.apply_for_money)
        FROM t_withdraw w
        left join t_order o on w.order_id = o.id
        <where>
            YEAR(w.createTime) = YEAR(NOW())
              and w.is_delete = 0 and w.state = 1
@@ -155,12 +172,19 @@
                    #{id}
                </foreach>
            </if>
            <if test="siteIds != null and siteIds.size() != 0">
                and o.site_id in
                <foreach collection="siteIds" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
        </where>
    </select>
    <select id="withdrawalTotalMoneyByMonth" resultType="java.math.BigDecimal">
        SELECT sum(w.apply_for_money)
        FROM t_withdraw w
        left join t_order o on w.order_id = o.id
        <where>
            YEAR(w.createTime) = YEAR(NOW())
              AND MONTH(w.createTime) = MONTH(NOW())
@@ -168,6 +192,12 @@
          <if test="cityList != null and cityList.size() != 0">
                and w.city_code in
                <foreach collection="cityList" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
            <if test="siteIds != null and siteIds.size() != 0">
                and o.site_id in
                <foreach collection="siteIds" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
@@ -190,6 +220,7 @@
    <select id="withdrawList1" resultMap="voMap">
        SELECT *
        FROM t_withdraw w
        left join t_order o on w.order_id = o.id
        <where>
            w.is_delete = 0
            <if test="cityList != null and cityList.size() != 0">
@@ -201,6 +232,12 @@
            <if test="userId != null and userId != ''">
                and w.user_id = #{userId}
            </if>
            <if test="siteIds != null and siteIds.size() != 0">
                and o.site_id in
                <foreach collection="siteIds" item="id" open="(" separator="," close=")">
                    #{id}
                </foreach>
            </if>
        </where>
        order by w.apply_for_time desc
    </select>
ruoyi-service/ruoyi-worker/src/main/java/com/ruoyi/worker/controller/OrderController.java
@@ -32,6 +32,9 @@
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.time.Duration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -78,11 +81,11 @@
    /**
     * linux服务器保存订单轨迹文件夹
     */
    // private static final String BASE_PATH = "/usr/local/coordinate/";
    private static final String BASE_PATH = "F:/DeskTop/coordinate/";
    // private static final String BASE_MARKER_PATH = "/usr/local/marker/";
     private static final String BASE_PATH = "/usr/local/coordinate/";
//    private static final String BASE_PATH = "F:/DeskTop/coordinate/";
     private static final String BASE_MARKER_PATH = "/usr/local/marker/";
//    private static final String BASE_PATH = "D:/Desktop/coordinate/";
    private static final String BASE_MARKER_PATH = "F:/DeskTop/marker/";
//    private static final String BASE_MARKER_PATH = "F:/DeskTop/marker/";
    /**
     * 师傅端-获取订单列表
     *
@@ -281,7 +284,7 @@
        }
        return orderClient.orderSubmit(orderSubmitRequest);
    }
    private static final double EARTH_RADIUS_METERS = 6371000.0;
    /**
     * 师傅端-定时调度记录师傅所走路线经纬度
     *
@@ -295,6 +298,9 @@
            @ApiImplicitParam(value = "纬度", name = "latitude", dataType = "Integer", required = true)
    })
    public R<Boolean> coordinate(@RequestParam Double longitude, @RequestParam Double latitude) {
        System.err.println("调用记录经纬度"+ LocalDateTime.now());
        LoginUserInfo loginWorker = tokenService.getLoginUserByWorker();
        if (null == loginWorker) {
            return R.loginExpire("登录失效!");
@@ -355,7 +361,81 @@
                return R.fail(e.getMessage());
            }
        }
        //拿到三十分钟之前的时间,并已 yyyy-MM-dd HH:mm格式存储
        // 当前时间
        LocalDateTime now = LocalDateTime.now();
        // 减去三十分钟
        LocalDateTime thirtyMinutesAgo = now.minusMinutes(10);
        // 定义日期时间格式
        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm");
        // 格式化时间
        String formattedTime = thirtyMinutesAgo.format(formatter);
        String nowStr = now.format(formatter);
        redisService.setCacheObject("MARK:"+workerId+":"+nowStr,longitude + "," + latitude);
        String cacheObject = redisService.getCacheObject("MARK:" + workerId + ":" + formattedTime);
        if (cacheObject!=null){
            String cacheObject1 = redisService.getCacheObject("TIME:" + workerId);
            if (cacheObject1==null){
                cacheObject1 = "2000-09-06 20:24:10.740";
            }
        // 定义日期时间格式
        DateTimeFormatter formatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
        // 解析字符串为 LocalDateTime
        LocalDateTime localDateTime = LocalDateTime.parse(cacheObject1, formatter1);
            if (isWithinTwoMinutes(localDateTime, now)){
            //计算两点之间的距离
            String[] split = cacheObject.split(",");
            String longitude1 = split[0];
            String latitude1 = split[1];
            double longitude1Double = Double.parseDouble(longitude1);
            double latitude1Double = Double.parseDouble(latitude1);
            double lat1Rad = Math.toRadians(latitude);
            double lon1Rad = Math.toRadians(longitude);
            double lat2Rad = Math.toRadians(latitude1Double);
            double lon2Rad = Math.toRadians(longitude1Double);
            // 计算经纬度差值
            double dlon = lon2Rad - lon1Rad;
            double dlat = lat2Rad - lat1Rad;
            // Haversine 公式
            double a = Math.pow(Math.sin(dlat / 2), 2) +
                    Math.cos(lat1Rad) * Math.cos(lat2Rad) *
                            Math.pow(Math.sin(dlon / 2), 2);
            double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
            // 计算距离
            double distance = EARTH_RADIUS_METERS * c;
            System.err.println("-----当前距离"+distance);
            //如果超出一定范围,存入Mark文件
            if (distance<50){
                redisService.setCacheObject("TIME:"+workerId,LocalDateTime.now());
                marker(longitude,latitude);
            }
            }
        }
        return R.ok();
    }
    public static boolean isWithinTwoMinutes(LocalDateTime dateTime1, LocalDateTime dateTime2) {
        // 计算两个时间之间的差值
        Duration duration = Duration.between(dateTime1, dateTime2);
        // 检查差值是否小于等于2分钟
        long minutes = Math.abs(duration.toMinutes());
        return minutes >= 10;
    }
    /**
     * 师傅端-定时调度记录师傅当天的轨迹标点
@@ -370,14 +450,15 @@
            @ApiImplicitParam(value = "纬度", name = "latitude", dataType = "Integer", required = true)
    })
    public R<Boolean> marker(@RequestParam Double longitude, @RequestParam Double latitude) {
        System.err.println("调用标点"+ LocalDateTime.now());
        LoginUserInfo loginWorker = tokenService.getLoginUserByWorker();
        if (null == loginWorker) {
            return R.loginExpire("登录失效!");
        }
        // 获取当天时间
        String today = DateUtils.dateTimeNow("yyyy-MM-dd");
        Integer workerId = 1;
        // Integer workerId = loginWorker.getUserid();
//        Integer workerId = 1;
         Integer workerId = loginWorker.getUserid();
        ServeCoordinate serveCoordinate = new ServeCoordinate();
        serveCoordinate.setWorkerId(workerId);
        serveCoordinate.setDate(today);
@@ -433,6 +514,16 @@
        }
        return R.ok();
    }
//    @ApiOperation(value = "算经纬度", tags = {"师傅端-订单列表"})
//    @GetMapping(value = "/distance")
//    @ApiImplicitParams({
//            @ApiImplicitParam(value = "经度", name = "longitude", dataType = "Integer", required = true),
//            @ApiImplicitParam(value = "纬度", name = "latitude", dataType = "Integer", required = true)
//    })
//    public R<Boolean> distance(@RequestParam Double longitude1, @RequestParam Double latitude1,@RequestParam Double longitude2, @RequestParam Double latitude2) {
//
//
//    }
    @ApiOperation(value = "上传经纬度", tags = {"师傅端-首页"})
    @GetMapping(value = "/putLocation")