longz
2026-06-04 da780b14b8db78043d2c0f27d3bfd73111e6d550
DriverYKDTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/crossCity/server/impl/LineSiteServiceImpl.java
@@ -31,6 +31,7 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.stream.Collectors;
@@ -149,9 +150,8 @@
                }
                if(lineShift.getId().intValue() == Integer.valueOf(map.get("id").toString()).intValue()){
                    b = false;
                    String content = String.valueOf(map.get("content"));
                    JSONObject jsonObject = JSON.parseObject(content);
                    map.put("price", jsonObject.getString("num1"));
                    BigDecimal price = getDefaultDestinationPrice(map);
                    map.put("price", price == null ? "0" : price.toPlainString());
                    data = map;
                    list.add(data);
                }
@@ -165,6 +165,26 @@
        return list;
    }
    private BigDecimal getDefaultDestinationPrice(Map<String, Object> map) {
        if (map == null) {
            return null;
        }
        Integer totalSeat = map.get("totalSeat") == null ? null : Integer.valueOf(map.get("totalSeat").toString());
        BigDecimal price = totalSeat != null && totalSeat == 6 ? getBigDecimal(map.get("defaultPrice7")) : getBigDecimal(map.get("defaultPrice5"));
        return price == null ? getBigDecimal(map.get("defaultPrice5")) : price;
    }
    private BigDecimal getBigDecimal(Object value) {
        if (value == null || ToolUtil.isEmpty(String.valueOf(value))) {
            return null;
        }
        try {
            return new BigDecimal(String.valueOf(value));
        } catch (Exception e) {
            return null;
        }
    }
    /**
     * 根据司机排班数据id获取数据(剩余座位号和总座位数)