package com.ruoyi.iot.service.impl; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.iot.domain.DeviceOrderTime; import com.ruoyi.iot.mapper.DeviceOrderTimeMapper; import com.ruoyi.iot.service.IDeviceOrderTimeService; import org.springframework.stereotype.Service; import javax.annotation.Resource; /** * @author wmz * @version v1.0 * @ClassName DeviceOrderTimeServiceImpl * @description 设备订单超时业务层处理 * @createTime 2023/11/30 14:52 */ @Service public class DeviceOrderTimeServiceImpl extends BaseController implements IDeviceOrderTimeService { @Resource private DeviceOrderTimeMapper deviceOrderTimeMapper; /** * 根据登录的联营商查询接单,完成的超时的时间间隔 * * @param deviceOrderTime * @return * @throws Exception */ @Override public AjaxResult selectDeviceOrderTimeoutById(DeviceOrderTime deviceOrderTime) throws Exception { DeviceOrderTime userDeviceOrderA = deviceOrderTimeMapper.selectDeviceOrderTimeByUserId(deviceOrderTime.getUserId(), deviceOrderTime.getOrderType()); if (userDeviceOrderA != null) { DeviceOrderTime userDeviceOrderB = deviceOrderTimeMapper.selectDeviceOrderTimeoutById(deviceOrderTime); System.out.println(userDeviceOrderB); return AjaxResult.success("查询成功", userDeviceOrderB); } else { deviceOrderTime.setReceiveTimeout(0); deviceOrderTime.setFinishTimeout(0); int row = deviceOrderTimeMapper.insertDeviceOrderTimeout(deviceOrderTime); if (row > 0) { DeviceOrderTime userDeviceOrderC = deviceOrderTimeMapper.selectDeviceOrderTimeoutById(deviceOrderTime); return AjaxResult.success("查询成功", userDeviceOrderC); } else { return AjaxResult.error("添加数据失败"); } } } /** * 根据登录的用户id查询设备订单超时时间间隔信息 * * @param id * @param orderType * @return * @throws Exception */ @Override public DeviceOrderTime selectDeviceOrderTimeByUserId(int id, int orderType) throws Exception { return deviceOrderTimeMapper.selectDeviceOrderTimeByUserId(id, orderType); } /** * 初次登录的用户如果表中没有数据就添加数据 * * @param deviceOrderTime * @return * @throws Exception */ @Override public int insertDeviceOrderTimeout(DeviceOrderTime deviceOrderTime) throws Exception { return deviceOrderTimeMapper.insertDeviceOrderTimeout(deviceOrderTime); } /** * 根据登录的联营商输入的已接单超时时间间隔和已完成的超时时间间隔修改 * * @param orderTime * @return * @throws Exception */ @Override public AjaxResult updateDeviceOrderTimeoutById(DeviceOrderTime orderTime) throws Exception { DeviceOrderTime userDeviceOrder = deviceOrderTimeMapper.selectDeviceOrderTimeByUserId(orderTime.getUserId(), orderTime.getOrderType()); if (userDeviceOrder != null) { return toAjax(deviceOrderTimeMapper.updateDeviceOrderTimeoutById(orderTime)); } else { orderTime.setReceiveTimeout(0); orderTime.setFinishTimeout(0); int rowsB = deviceOrderTimeMapper.insertDeviceOrderTimeout(orderTime); if (rowsB > 0) { return toAjax(deviceOrderTimeMapper.updateDeviceOrderTimeoutById(orderTime)); } else { return AjaxResult.error("添加数据失败"); } } } }