From 06adee38b826bca6108867ee46f9150d73ef9cd0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A3=B7=E5=8F=B6?= <14103883+leaf-phos@user.noreply.gitee.com> Date: Wed, 23 Apr 2025 18:35:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/bst/device/domain/DeviceVO.java | 3 -- .../ruoyi/bst/device/mapper/DeviceMapper.xml | 9 +++-- .../com/ruoyi/bst/model/domain/ModelVO.java | 4 -- .../ruoyi/bst/model/mapper/ModelMapper.xml | 6 --- .../bst/order/domain/bo/OrderCreateBO.java | 4 ++ .../service/impl/OrderConverterImpl.java | 15 ++++++++ .../service/impl/OrderValidatorImpl.java | 7 +++- .../impl/ReconciliationDateServiceImpl.java | 9 +++-- .../web/bst/ReconciliationDateController.java | 37 ------------------- 9 files changed, 35 insertions(+), 59 deletions(-) diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/DeviceVO.java b/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/DeviceVO.java index 979fddf..58cee12 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/DeviceVO.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/device/domain/DeviceVO.java @@ -2,7 +2,6 @@ package com.ruoyi.bst.device.domain; import java.math.BigDecimal; import java.time.LocalTime; -import java.util.List; import org.springframework.format.annotation.DateTimeFormat; @@ -29,8 +28,6 @@ public class DeviceVO extends Device { private BigDecimal modelLowVoltage; @ApiModelProperty("车型续航") private BigDecimal modelFullEndurance; - @ApiModelProperty("车型套餐ID列表") - private List modelSuitIds; // 运营区 @ApiModelProperty("运营区名称") diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/device/mapper/DeviceMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/device/mapper/DeviceMapper.xml index 7e64eb9..ec70254 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/device/mapper/DeviceMapper.xml +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/device/mapper/DeviceMapper.xml @@ -50,7 +50,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" bm.name as model_name, bm.full_voltage as model_full_voltage, bm.low_voltage as model_low_voltage, - bm.suit_ids as model_suit_ids, bm.full_endurance as model_full_endurance, ba.name as area_name, ba.user_id as area_user_id, @@ -123,6 +122,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and bd.last_user_id = #{query.lastUserId} and bul.nick_name like concat('%', #{query.lastUserName}, '%') and bul.user_name like concat('%', #{query.lastUserPhone}, '%') + and mch.nick_name like concat('%', #{query.mchName}, '%') and find_in_set(#{query.suitId}, bm.suit_ids) @@ -414,7 +414,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update bst_device - set mch_id = null + set mch_id = null, + model_id = null where id in #{id} @@ -432,7 +433,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + - + diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/model/domain/ModelVO.java b/ruoyi-service/src/main/java/com/ruoyi/bst/model/domain/ModelVO.java index 4caa5d2..0a1fd81 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/model/domain/ModelVO.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/model/domain/ModelVO.java @@ -7,10 +7,6 @@ import lombok.Data; @Data public class ModelVO extends Model { - - @ApiModelProperty("运营区名称") - private String areaName; - @ApiModelProperty("用户名称") private String userName; diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/model/mapper/ModelMapper.xml b/ruoyi-service/src/main/java/com/ruoyi/bst/model/mapper/ModelMapper.xml index 8eb2316..1faa2d1 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/model/mapper/ModelMapper.xml +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/model/mapper/ModelMapper.xml @@ -9,7 +9,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select bm.id, - bm.area_id, bm.user_id, bm.name, bm.full_voltage, @@ -20,26 +19,22 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" bm.deleted, bm.low_battery_reminder_switch, bm.low_battery_reminder, - ba.name as area_name, su.nick_name as user_name from bst_model bm - left join bst_area ba on bm.area_id = ba.id left join sys_user su on bm.user_id = su.user_id and bm.id = #{query.id} - and bm.area_id = #{query.areaId} and bm.user_id = #{query.userId} and bm.name like concat('%', #{query.name}, '%') and bm.deleted = #{query.deleted} and bm.deleted = false and bm.low_battery_reminder_switch = #{query.lowBatteryReminderSwitch} - and ba.name like concat('%', #{query.areaName}, '%') and su.nick_name like concat('%', #{query.userName}, '%') and bm.id in @@ -111,7 +106,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - area_id = #{data.areaId}, user_id = #{data.userId}, name = #{data.name}, full_voltage = #{data.fullVoltage}, diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/order/domain/bo/OrderCreateBO.java b/ruoyi-service/src/main/java/com/ruoyi/bst/order/domain/bo/OrderCreateBO.java index 076c6cb..fa1ddb7 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/order/domain/bo/OrderCreateBO.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/order/domain/bo/OrderCreateBO.java @@ -7,6 +7,7 @@ import com.ruoyi.bst.area.domain.AreaVO; import com.ruoyi.bst.areaJoin.domain.AreaJoinVO; import com.ruoyi.bst.channel.domain.ChannelVO; import com.ruoyi.bst.device.domain.DeviceVO; +import com.ruoyi.bst.model.domain.ModelVO; import com.ruoyi.bst.order.domain.Order; import com.ruoyi.bst.order.domain.dto.OrderCreateDTO; import com.ruoyi.bst.order.domain.vo.OrderPrePriceVO; @@ -31,6 +32,9 @@ public class OrderCreateBO { // 设备 private DeviceVO device; + // 车型 + private ModelVO model; + // 运营区 private AreaVO area; diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderConverterImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderConverterImpl.java index 3d5c8af..5f6ed33 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderConverterImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderConverterImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.bst.order.service.impl; import java.time.LocalDateTime; +import java.util.Collections; import java.util.List; import java.util.Objects; @@ -23,6 +24,9 @@ import com.ruoyi.bst.device.service.DeviceIotService; import com.ruoyi.bst.device.service.DeviceService; import com.ruoyi.bst.locationLog.domain.vo.LocationLogPositionVO; import com.ruoyi.bst.locationLog.service.LocationLogService; +import com.ruoyi.bst.model.domain.ModelVO; +import com.ruoyi.bst.model.service.ModelAssembler; +import com.ruoyi.bst.model.service.ModelService; import com.ruoyi.bst.order.domain.Order; import com.ruoyi.bst.order.domain.OrderVO; import com.ruoyi.bst.order.domain.bo.OrderChangeBO; @@ -102,6 +106,12 @@ public class OrderConverterImpl implements OrderConverter{ @Autowired private OrderValidator orderValidator; + @Autowired + private ModelService modelService; + + @Autowired + private ModelAssembler modelAssembler; + @Override public OrderPrePriceVO toOrderPrePriceVO(OrderCalcPrePriceDTO dto) { if (dto == null) { @@ -134,6 +144,11 @@ public class OrderConverterImpl implements OrderConverter{ AreaVO area = areaService.selectAreaById(device.getAreaId()); bo.setArea(area); + // 车型 + ModelVO model = modelService.selectModelById(device.getModelId()); + modelAssembler.assembleSuitIds(Collections.singletonList(model)); + bo.setModel(model); + // 查询设备所属人的加盟信息 AreaJoinVO areaJoin = areaJoinService.selectByUserArea(device.getMchId(), device.getAreaId()); bo.setAreaJoin(areaJoin); diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderValidatorImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderValidatorImpl.java index fe78c9d..7c38434 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderValidatorImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/order/service/impl/OrderValidatorImpl.java @@ -18,6 +18,7 @@ import com.ruoyi.bst.device.domain.DeviceQuery; import com.ruoyi.bst.device.domain.DeviceVO; import com.ruoyi.bst.device.domain.enums.DeviceStatus; import com.ruoyi.bst.device.service.DeviceService; +import com.ruoyi.bst.model.domain.ModelVO; import com.ruoyi.bst.order.domain.OrderQuery; import com.ruoyi.bst.order.domain.OrderVO; import com.ruoyi.bst.order.domain.bo.OrderCreateBO; @@ -67,7 +68,11 @@ public class OrderValidatorImpl implements OrderValidator{ // 套餐 SuitVO suit = bo.getSuit(); ServiceUtil.assertion(suit == null, "ID为%s的套餐不存在", dto.getSuitId()); - ServiceUtil.assertion(CollectionUtils.isEmptyElement(device.getModelSuitIds()) || !device.getModelSuitIds().contains(suit.getId()), "ID为%s的套餐不可在ID为%s的车辆使用", dto.getSuitId(), dto.getDeviceId()); + + // 车型 + ModelVO model = bo.getModel(); + ServiceUtil.assertion(model == null, "ID为%s的车型不存在", device.getModelId()); + ServiceUtil.assertion(CollectionUtils.isEmptyElement(model.getSuitIds()) || !model.getSuitIds().contains(suit.getId()), "ID为%s的套餐不可在ID为%s的车辆使用", dto.getSuitId(), dto.getDeviceId()); ServiceUtil.assertion(suit.getSeconds() == null || suit.getSeconds() <= 0, "ID为%s的套餐时长不能为0或小于0", dto.getSuitId()); // 用户 diff --git a/ruoyi-service/src/main/java/com/ruoyi/bst/reconciliationDate/service/impl/ReconciliationDateServiceImpl.java b/ruoyi-service/src/main/java/com/ruoyi/bst/reconciliationDate/service/impl/ReconciliationDateServiceImpl.java index 25c1cdb..a5e3200 100644 --- a/ruoyi-service/src/main/java/com/ruoyi/bst/reconciliationDate/service/impl/ReconciliationDateServiceImpl.java +++ b/ruoyi-service/src/main/java/com/ruoyi/bst/reconciliationDate/service/impl/ReconciliationDateServiceImpl.java @@ -19,6 +19,7 @@ import com.ruoyi.bst.reconciliationDate.domain.ReconciliationDateQuery; import com.ruoyi.bst.reconciliationDate.domain.ReconciliationDateVO; import com.ruoyi.bst.reconciliationDate.mapper.ReconciliationDateMapper; import com.ruoyi.bst.reconciliationDate.service.ReconciliationDateService; +import com.ruoyi.bst.reconciliationDate.utils.ReconciliationDateUtil; import com.ruoyi.bst.refund.domain.RefundQuery; import com.ruoyi.bst.refund.service.RefundDashboard; import com.ruoyi.common.utils.MathUtils; @@ -190,10 +191,10 @@ public class ReconciliationDateServiceImpl implements ReconciliationDateService // 差额 po.setDifference(MathUtils.subtractDecimal(po.getActualAmount(), po.getActualBonus())); - // if (ReconciliationDateUtil.isEmpty(po)) { - // log.error("渠道对账数据为空,date={}, channel={}, areaId={}", date, channel, areaId); - // return 0; - // } + if (ReconciliationDateUtil.isEmpty(po)) { + log.error("渠道对账数据为空,date={}, channel={}, areaId={}", date, channel, areaId); + return 0; + } return this.insertReconciliationDate(po); } diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/bst/ReconciliationDateController.java b/ruoyi-web/src/main/java/com/ruoyi/web/bst/ReconciliationDateController.java index ea04a3d..041875c 100644 --- a/ruoyi-web/src/main/java/com/ruoyi/web/bst/ReconciliationDateController.java +++ b/ruoyi-web/src/main/java/com/ruoyi/web/bst/ReconciliationDateController.java @@ -6,16 +6,12 @@ import javax.servlet.http.HttpServletResponse; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.security.access.prepost.PreAuthorize; -import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import com.ruoyi.bst.reconciliationDate.domain.ReconciliationDate; import com.ruoyi.bst.reconciliationDate.domain.ReconciliationDateQuery; import com.ruoyi.bst.reconciliationDate.domain.ReconciliationDateVO; import com.ruoyi.bst.reconciliationDate.service.ReconciliationDateService; @@ -74,37 +70,4 @@ public class ReconciliationDateController extends BaseController { return success(reconciliationDateService.selectReconciliationDateById(id)); } - - /** - * 新增渠道对账 - */ - @PreAuthorize("@ss.hasPermi('bst:reconciliationDate:add')") - @Log(title = "渠道对账", businessType = BusinessType.INSERT) - @PostMapping - public AjaxResult add(@RequestBody ReconciliationDate reconciliationDate) - { - return toAjax(reconciliationDateService.insertReconciliationDate(reconciliationDate)); - } - - /** - * 修改渠道对账 - */ - @PreAuthorize("@ss.hasPermi('bst:reconciliationDate:edit')") - @Log(title = "渠道对账", businessType = BusinessType.UPDATE) - @PutMapping - public AjaxResult edit(@RequestBody ReconciliationDate reconciliationDate) - { - return toAjax(reconciliationDateService.updateReconciliationDate(reconciliationDate)); - } - - /** - * 删除渠道对账 - */ - @PreAuthorize("@ss.hasPermi('bst:reconciliationDate:remove')") - @Log(title = "渠道对账", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) - { - return toAjax(reconciliationDateService.deleteReconciliationDateByIds(ids)); - } }