xuhy
2025-04-22 4b2c48677c2b5de7f89ff0d018a55b7916467b27
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/controller/MasterWorkerController.java
@@ -5,8 +5,10 @@
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.admin.entity.MasterWorker;
import com.ruoyi.admin.request.MonitorCodeDTO;
import com.ruoyi.admin.service.MasterWorkerService;
import com.ruoyi.admin.vo.MasterWorkerDetailVO;
import com.ruoyi.admin.vo.MonitorInfoVO;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.utils.StringUtils;
@@ -26,6 +28,7 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -50,6 +53,14 @@
    private EvaluateClient evaluateClient;
    @Resource
    private TokenService tokenService;
    @ApiOperation(value = "设置师傅终端编号")
    @PostMapping(value = "/setMonitorCode")
    public R monitorInfo(@RequestBody MonitorCodeDTO monitorCodeDTO) {
        MasterWorker byId = masterWorkerService.getById(monitorCodeDTO.getId());
        byId.setTerminalCode(monitorCodeDTO.getTerminalCode());
        masterWorkerService.updateById(byId);
        return R.ok();
    }
    /**
     * 师傅列表分页查询 (添加订单-选择师傅列表)
@@ -83,15 +94,16 @@
        if (null != state) {
            wrapper.eq(MasterWorker::getIsEnable, Constants.ONE);
        }
        for (int i = 0; i < cityList.size(); i++) {
            // 最后一跳城市不匹配or条件
            String s = cityList.get(i);
            if (cityList.size() - 1 == i) {
                wrapper.like(MasterWorker::getCityCode, s);
            } else {
                wrapper.like(MasterWorker::getCityCode, s).or();
            }
        }
        wrapper.in(!cityList.isEmpty(),MasterWorker::getCityCode,cityList);
//        for (int i = 0; i < cityList.size(); i++) {
//            // 最后一跳城市不匹配or条件
//            String s = cityList.get(i);
//            if (cityList.size() - 1 == i) {
//                wrapper.like(MasterWorker::getCityCode, s);
//            } else {
//                wrapper.like(MasterWorker::getCityCode, s).or();
//            }
//        }
        return R.ok(wrapper.eq(MasterWorker::getIsDelete, Constants.ZERO)
                .orderByDesc(MasterWorker::getCreateTime).page(Page.of(pageNum, pageSize)));
    }
@@ -196,8 +208,12 @@
        if (!star.isEmpty()) {
            // 总评分 / 评价数量
            double sum = star.stream().mapToDouble(Double::doubleValue).sum();
            workerDetail.setStarRating(new BigDecimal(sum / star.size()));
            BigDecimal average = new BigDecimal(sum / star.size()).setScale(1, RoundingMode.HALF_UP);
            workerDetail.setStarRating(average);
        } else {
            workerDetail.setStarRating(new BigDecimal("0.0"));
        }
        return R.ok(workerDetail);
    }