diff --git a/ridelease-system/src/main/java/com/ruoyi/system/domain/model/RlModel.java b/ridelease-system/src/main/java/com/ruoyi/system/domain/model/RlModel.java index 8c63252..053e093 100644 --- a/ridelease-system/src/main/java/com/ruoyi/system/domain/model/RlModel.java +++ b/ridelease-system/src/main/java/com/ruoyi/system/domain/model/RlModel.java @@ -14,7 +14,6 @@ import java.math.BigDecimal; * @date 2024-05-13 */ @Data -//@Builder public class RlModel extends BaseEntity { private static final long serialVersionUID = 1L; @@ -54,4 +53,7 @@ public class RlModel extends BaseEntity @Excel(name = "图片") private String picture; + /** 描述 */ + private String description; + } diff --git a/ridelease-system/src/main/java/com/ruoyi/system/domain/order/RlOrder.java b/ridelease-system/src/main/java/com/ruoyi/system/domain/order/RlOrder.java index 1072d28..40975f0 100644 --- a/ridelease-system/src/main/java/com/ruoyi/system/domain/order/RlOrder.java +++ b/ridelease-system/src/main/java/com/ruoyi/system/domain/order/RlOrder.java @@ -68,7 +68,7 @@ public class RlOrder extends BaseEntity private String type; /** 订单总金额(元) */ - @Excel(name = "订单总金额", readConverterExp = "元=") + @Excel(name = "订单总金额", readConverterExp = "元") private BigDecimal totalFee; /** 实际支付金额 */ @@ -83,6 +83,10 @@ public class RlOrder extends BaseEntity @Excel(name = "调度费") private BigDecimal dispatchFee; + /** 配送费 */ + @Excel(name = "配送费") + private BigDecimal deliveryFee; + /** 租赁费 */ @Excel(name = "租赁费") private BigDecimal leaseFee; diff --git a/ridelease-system/src/main/java/com/ruoyi/system/domain/store/StoreVo.java b/ridelease-system/src/main/java/com/ruoyi/system/domain/store/StoreVo.java index 35402ca..accdaec 100644 --- a/ridelease-system/src/main/java/com/ruoyi/system/domain/store/StoreVo.java +++ b/ridelease-system/src/main/java/com/ruoyi/system/domain/store/StoreVo.java @@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.EqualsAndHashCode; +import java.math.BigDecimal; import java.util.List; /** @@ -27,5 +28,8 @@ public class StoreVo extends Store { @ApiModelProperty("车型列表") private List models; + @ApiModelProperty("最低价") + private BigDecimal bottomPrice; + } diff --git a/ridelease-system/src/main/java/com/ruoyi/system/service/impl/RlOrderServiceImpl.java b/ridelease-system/src/main/java/com/ruoyi/system/service/impl/RlOrderServiceImpl.java index 26ff91f..6f4d16d 100644 --- a/ridelease-system/src/main/java/com/ruoyi/system/service/impl/RlOrderServiceImpl.java +++ b/ridelease-system/src/main/java/com/ruoyi/system/service/impl/RlOrderServiceImpl.java @@ -192,6 +192,10 @@ public class RlOrderServiceImpl implements IRlOrderService order.setOrderNo(orderNo); order.setPaid(ServiceConstants.ORDER_PAY_STATUS_NON_PAYMENT); order.setType(type); + + /** 计算价格 */ + onceMoreCalculatePrice(order); + Integer deliveryMethod = order.getDeliveryMethod(); if(ServiceConstants.DELIVERY_METHOD_SELF_PICKUP == deliveryMethod){ order.setStatus(ServiceConstants.ORDER_STATUS_TO_BE_TAKEN); @@ -210,6 +214,15 @@ public class RlOrderServiceImpl implements IRlOrderService return responseVO; } + private void onceMoreCalculatePrice(RlOrderQuery order) { + PriceVO priceVO = calculatePrice(order); + order.setDeposit(priceVO.getDeposit()); + order.setLeaseFee(priceVO.getRent()); + order.setDispatchFee(priceVO.getDeliveryFee()); + order.setTotalFee(priceVO.getTotalFee()); + order.setPayFee(priceVO.getTotalFee()); + } + /** 解析地址 */ private void analyzeAddress(RlOrderQuery order) { String address = cityService.getAddressByLocation(order.getPickupLon(),order.getPickupLat()); diff --git a/ridelease-system/src/main/java/com/ruoyi/system/service/store/impl/StoreServiceImpl.java b/ridelease-system/src/main/java/com/ruoyi/system/service/store/impl/StoreServiceImpl.java index 8619b40..a497b72 100644 --- a/ridelease-system/src/main/java/com/ruoyi/system/service/store/impl/StoreServiceImpl.java +++ b/ridelease-system/src/main/java/com/ruoyi/system/service/store/impl/StoreServiceImpl.java @@ -450,6 +450,14 @@ public class StoreServiceImpl implements RlStoreService .map(store -> { List list = modelService.selectEModelListByStoreId(store.getStoreId()); store.setModels(list); + /** 日均 */ + // 计算最低价格 + BigDecimal minPrice = list.stream() + .map(RlModelVO::getPrice) // 获取每个模型的价格 + .filter(Objects::nonNull) // 过滤掉可能为 null 的价格 + .min(BigDecimal::compareTo) // 找到最小值 + .orElse(BigDecimal.ZERO); // 如果列表为空,返回 BigDecimal.ZERO + store.setBottomPrice(minPrice); /** 多少辆可租 */ Integer integer = deviceService.selectRentalDeviceCountByStoreId(store.getStoreId(),null); store.setRentalCar(integer); diff --git a/ridelease-system/src/main/resources/mapper/system/RlModelMapper.xml b/ridelease-system/src/main/resources/mapper/system/RlModelMapper.xml index 54f8829..3b101be 100644 --- a/ridelease-system/src/main/resources/mapper/system/RlModelMapper.xml +++ b/ridelease-system/src/main/resources/mapper/system/RlModelMapper.xml @@ -7,13 +7,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select model_id, model, full_voltage, low_voltage, full_endurance, create_by, create_time, update_by, update_time, remark, intro, agent_id, deposit, picture from rl_model + select model_id, model, full_voltage, low_voltage, full_endurance, create_by, create_time, update_by, update_time, remark, intro, agent_id, deposit, picture, description from rl_model select m.model_id, m.model, m.full_voltage, m.low_voltage, m.full_endurance, m.create_by, m.create_time, - m.update_by, m.update_time, m.remark, m.intro, m.agent_id, m.deposit, m.picture from rl_model m + m.update_by, m.update_time, m.remark, m.intro, m.agent_id, m.deposit, m.picture, m.description from rl_model m where m.agent_id = #{agentId} @@ -54,6 +54,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" m.agent_id, m.deposit, m.picture, + m.description, fr.price, fr.rental_unit FROM @@ -84,6 +85,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" agent_id, deposit, picture, + description, #{modelId}, @@ -100,6 +102,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{agentId}, #{deposit}, #{picture}, + #{description}, @@ -119,6 +122,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" agent_id = #{agentId}, deposit = #{deposit}, picture = #{picture}, + description = #{description}, where model_id = #{modelId} diff --git a/ridelease-system/src/main/resources/mapper/system/RlOrderMapper.xml b/ridelease-system/src/main/resources/mapper/system/RlOrderMapper.xml index 39922dc..6dbe9e3 100644 --- a/ridelease-system/src/main/resources/mapper/system/RlOrderMapper.xml +++ b/ridelease-system/src/main/resources/mapper/system/RlOrderMapper.xml @@ -7,7 +7,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select order_id, order_no, out_trade_no, user_id, rule_id, device_mac, sn, pay_time, pay_type, paid, type, total_fee, pay_fee, deposit, overdue_fee, dispatch_fee, + select order_id, order_no, out_trade_no, user_id, rule_id, device_mac, sn, pay_time, pay_type, paid, type, total_fee, pay_fee, deposit, overdue_fee, dispatch_fee,delivery_fee, lease_fee, mark, duration, status, create_time, return_time, deposit_deduction, deposit_order_no, deduction_amount, used_sn, change_reason, auto_refund_deposit, rental_unit, handling_charge, platform_service_fee, operator_dividend, pay_channel, delivery_method, pickup_time, agent_id, store_id, pickup_city, pickup_loc, pickup_lon, pickup_lat, model_id, expiry_time, original_order_no, num, price, explain, @@ -32,6 +32,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" o.deposit, o.overdue_fee, o.dispatch_fee, + o.delivery_fee, o.lease_fee, o.mark, o.duration, @@ -119,6 +120,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and o.pay_fee = #{payFee} and o.deposit = #{deposit} and o.dispatch_fee = #{dispatchFee} + and o.delivery_fee = #{deliveryFee} and o.lease_fee = #{leaseFee} and o.mark = #{mark} and o.duration = #{duration} @@ -180,6 +182,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" deposit, overdue_fee, dispatch_fee, + delivery_fee, lease_fee, mark, duration, @@ -230,6 +233,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{deposit}, #{overdueFee}, #{dispatchFee}, + #{deliveryFee}, #{leaseFee}, #{mark}, #{duration}, @@ -284,6 +288,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" deposit = #{deposit}, overdue_fee = #{overdueFee}, dispatch_fee = #{dispatchFee}, + delivery_fee = #{deliveryFee}, lease_fee = #{leaseFee}, mark = #{mark}, duration = #{duration}, @@ -339,6 +344,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" deposit = #{deposit}, overdue_fee = #{overdueFee}, dispatch_fee = #{dispatchFee}, + delivery_fee = #{deliveryFee}, lease_fee = #{leaseFee}, mark = #{mark}, duration = #{duration},