xuhy
2023-04-03 bec9ef7332b0c0d1afc9b28918748efc63a60bcc
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
@@ -3,10 +3,14 @@
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.stylefeng.guns.core.shiro.ShiroKit;
import com.stylefeng.guns.core.util.DateUtil;
import com.stylefeng.guns.modular.system.controller.resp.DataStatisticsOrderYearResp;
import com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp;
import com.stylefeng.guns.modular.system.controller.resp.TOrderResp;
import com.stylefeng.guns.modular.system.controller.resp.TOrderServerResp;
import com.stylefeng.guns.modular.system.dao.TAppUserMapper;
import com.stylefeng.guns.modular.system.dao.TBranchOfficeMapper;
import com.stylefeng.guns.modular.system.dao.TDriverMapper;
import com.stylefeng.guns.modular.system.enums.OrderStateEnum;
import com.stylefeng.guns.modular.system.model.TAppUser;
import com.stylefeng.guns.modular.system.model.TBranchOffice;
import com.stylefeng.guns.modular.system.model.TDriver;
@@ -21,8 +25,10 @@
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
@@ -68,10 +74,27 @@
        model.addAttribute("code",tOrder.getCode());//订单编号
        model.addAttribute("source",tOrder.getSource());//订单来源
        model.addAttribute("startAddress",tOrder.getStartAddress());//起点
        model.addAttribute("startLng",tOrder.getStartLng());// 起点经度
        model.addAttribute("startLat",tOrder.getStartLat());// 起点纬度
        model.addAttribute("endAddress",tOrder.getEndAddress());//终点
        model.addAttribute("startTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getStartTime()));//乘车时间
        model.addAttribute("boardingTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getBoardingTime()));//上车时间
        model.addAttribute("getoffTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getGetoffTime()));//下车时间
        model.addAttribute("endLng",tOrder.getEndLng());// 终点经度
        model.addAttribute("endLat",tOrder.getEndLat());// 终点纬度
        if(Objects.nonNull(tOrder.getStartTime())){
            model.addAttribute("startTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getStartTime()));//乘车时间
        }else {
            model.addAttribute("startTime","");//乘车时间
        }
        if(Objects.nonNull(tOrder.getBoardingTime())){
            model.addAttribute("boardingTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getBoardingTime()));//乘车时间
        }else {
            model.addAttribute("boardingTime","");//乘车时间
        }
        if(Objects.nonNull(tOrder.getGetoffTime())){
            model.addAttribute("getoffTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getGetoffTime()));//乘车时间
        }else {
            model.addAttribute("getoffTime","");//乘车时间
        }
        model.addAttribute("startPrice",tOrder.getStartPrice());//起步价
        model.addAttribute("overDrivePrice",tOrder.getOverDrivePrice());//里程费
        model.addAttribute("waitTimePrice",tOrder.getWaitTimePrice());//等待费
@@ -82,6 +105,7 @@
        model.addAttribute("payType",tOrder.getPayType());//支付方式
        model.addAttribute("discountAmount",tOrder.getDiscountAmount());//折扣金额
        model.addAttribute("userId",tOrder.getUserId());//用户id
        model.addAttribute("routeRecord",tOrder.getRouteRecord());//行程录音
        // 查询用户
        TAppUser tAppUser = tAppUserMapper.selectById(tOrder.getUserId());
@@ -96,15 +120,20 @@
        // 查询司机
        TDriver tDriver = tDriverMapper.selectById(tOrder.getDriverId());
        model.addAttribute("driverName",tDriver.getName());
        model.addAttribute("driverPhone",tDriver.getPhone());
        // 查询司机所属分公司
        TBranchOffice tBranchOffice = tBranchOfficeMapper.selectById(tDriver.getBranchOfficeId());
        if(Objects.nonNull(tBranchOffice)){
            model.addAttribute("branchOfficeName",tBranchOffice.getPrincipal());
        if(Objects.nonNull(tDriver)){
            model.addAttribute("driverName",tDriver.getName());
            model.addAttribute("driverPhone",tDriver.getPhone());
            // 查询司机所属分公司
            TBranchOffice tBranchOffice = tBranchOfficeMapper.selectById(tDriver.getBranchOfficeId());
            if(Objects.nonNull(tBranchOffice)){
                model.addAttribute("branchOfficeName",tBranchOffice.getPrincipal());
            }else {
                model.addAttribute("branchOfficeName","");
            }
        }else {
            model.addAttribute("branchOfficeName","");
            model.addAttribute("driverName","");
            model.addAttribute("driverPhone","");
        }
    }
@@ -114,4 +143,41 @@
        this.orderDetail(orderId,model);
        model.addAttribute("orderId",orderId);
    }
    @Override
    public void getDataStatisticsByYear(Integer agentId,String yearDate, Model model) {
        List<DataStatisticsOrderYearResp> data = tOrderMapper.getDataStatisticsByYear(agentId,yearDate);
        System.err.println(data);
        model.addAttribute("yearResp",data);
    }
    @Override
    public void getDataStatisticsOrderCount(Integer agentId, String monthDate, Model model) {
        List<PerformanceTableResp> list = tOrderMapper.getDataStatisticsOrderCount(agentId,monthDate);
        model.addAttribute("performanceResp",list);
    }
    @Override
    public void getDataStatisticsCount(Integer agentId, Map<String, Integer> map) {
        Integer pendingOrderCount = tOrderMapper.getDataStatisticsCount(agentId, OrderStateEnum.PENDING_ORDER.getCode(), LocalDate.now());
        Integer finishCount = tOrderMapper.getDataStatisticsCount(agentId, OrderStateEnum.FINISH.getCode(),LocalDate.now());
        Integer cancelCount = tOrderMapper.getDataStatisticsCount(agentId, OrderStateEnum.CANCELED.getCode(),LocalDate.now());
        Integer serverCount = tOrderMapper.getDataStatisticsServerCount(agentId, LocalDate.now());
        map.put("pendingOrderCount",pendingOrderCount);
        map.put("finishCount",finishCount);
        map.put("cancelCount",cancelCount);
        map.put("serverCount",serverCount);
    }
    @Override
    public List<TOrderServerResp> getDataStatisticsServerList(Integer agentId) {
        return tOrderMapper.getDataStatisticsServerList(agentId,LocalDate.now());
    }
    @Override
    public List<TOrder> getDataStatisticsAllList(Integer agentId) {
        return tOrderMapper.getDataStatisticsAllList(agentId,LocalDate.now());
    }
}