liujie
2023-08-16 5cb1979f05446792cc33a8cb6b7aaae906da5a70
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java
@@ -25,6 +25,8 @@
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.math.MathContext;
import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
@@ -81,6 +83,8 @@
        model.addAttribute("endAddress",tOrder.getEndAddress());//终点
        model.addAttribute("endLng",tOrder.getEndLng());// 终点经度
        model.addAttribute("endLat",tOrder.getEndLat());// 终点纬度
        model.addAttribute("boardingAddress", tOrder.getBoardingAddress());//上车点
        model.addAttribute("debusAddress", tOrder.getDebusAddress());//下车点
        if(Objects.nonNull(tOrder.getStartTime())){
            model.addAttribute("startTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getStartTime()));//乘车时间
@@ -99,7 +103,7 @@
        }
        model.addAttribute("startPrice",tOrder.getStartPrice());//起步价
        model.addAttribute("overDrivePrice",tOrder.getOverDrivePrice());//里程费
        model.addAttribute("waitTimePrice",tOrder.getWaitTimePrice());//等待费
        model.addAttribute("waitTimePrice",tOrder.getWaitTimePrice().add(tOrder.getOutWaitTimePrice()));//等待费
        model.addAttribute("badWeatherPrice",tOrder.getBadWeatherPrice());//恶劣天气费用
        model.addAttribute("orderMoney",tOrder.getOrderMoney());//实际费用
        model.addAttribute("payMoney",tOrder.getPayMoney());//实际支付费用
@@ -111,6 +115,21 @@
        model.addAttribute("userPhone",tOrder.getUserPhone());//用户手机号
        model.addAttribute("userName",tOrder.getUserName());//用户名称
        if(null != tOrder.getActualMileage()){
            model.addAttribute("actualMileage",new BigDecimal(tOrder.getActualMileage() / 1000).setScale(2, RoundingMode.HALF_EVEN).doubleValue());//用户名称
        }else{
            model.addAttribute("actualMileage", 0);
        }
        if(null != tOrder.getGetoffTime() && null != tOrder.getBoardingTime()){
            long t = tOrder.getGetoffTime().getTime() - tOrder.getBoardingTime().getTime();
            int ti = Long.valueOf(t / 1000).intValue();
            Integer s = ti % 60;
            Integer m = ti / 60;
            model.addAttribute("time", (m < 10 ? ("0" + m) : m) + ":" + (s < 10 ? ("0" + s) : s));//用户名称
        }else{
            model.addAttribute("time", 0);
        }
        // 查询用户
        TAppUser tAppUser = tAppUserMapper.selectById(tOrder.getUserId());
        if(Objects.nonNull(tAppUser)){
@@ -118,7 +137,7 @@
            if(1 == tAppUser.getHavDiscount()){
                BigDecimal subtract = tOrder.getOrderMoney().subtract(tOrder.getDiscountedPrice());
                // 计算95折优惠金额
                BigDecimal multiply = subtract.multiply(new BigDecimal("0.05")).setScale(2);
                BigDecimal multiply = subtract.multiply(new BigDecimal("0.05"), new MathContext(2, RoundingMode.HALF_EVEN));
                model.addAttribute("multiply",multiply);
            }else {
                model.addAttribute("multiply",0);