package com.by4cloud.platformx.device.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.by4cloud.platformx.common.core.util.R; import com.by4cloud.platformx.device.constant.CommonStatusContant; import com.by4cloud.platformx.device.entity.DeviceInventory; import com.by4cloud.platformx.device.entity.ResidualRecycle; import com.by4cloud.platformx.device.mapper.DeviceInventoryMapper; import com.by4cloud.platformx.device.mapper.ResidualRecycleMapper; import com.by4cloud.platformx.device.service.ResidualRecycleService; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; /** * 残体回收 * * @author syt * @date 2025-04-23 10:28:34 */ @Service @AllArgsConstructor public class ResidualRecycleServiceImpl extends ServiceImpl implements ResidualRecycleService { private final DeviceInventoryMapper inventoryMapper; @Override public R approvedById(Long id) { ResidualRecycle residualRecycle = baseMapper.selectById(id); residualRecycle.setStatus(CommonStatusContant.RESIDUAL_RECYCLE_STATUS_HANDLING); baseMapper.updateById(residualRecycle); return R.ok(); } @Override public R updateByIdNew(ResidualRecycle residualRecycle) { if (residualRecycle.getStatus()==CommonStatusContant.RESIDUAL_RECYCLE_STATUS_HANDLING){ residualRecycle.setStatus(CommonStatusContant.RESIDUAL_RECYCLE_STATUS_COMPLETE); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("device_id",residualRecycle.getDeviceId()); queryWrapper.eq("serial_no",residualRecycle.getSerialNo()); DeviceInventory inventory = inventoryMapper.selectOne(queryWrapper); if (inventory!=null){ if (residualRecycle.getHandleMethod()==CommonStatusContant.RESIDUAL_RECYCLE_METHOD_DISASSEMBE_RECYCLE|| residualRecycle.getHandleMethod()==CommonStatusContant.RESIDUAL_RECYCLE_METHOD_TRANSFER_PROFESSIONAL_INSTITUTION){ inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_RECYCLE); inventoryMapper.updateById(inventory); }else if (residualRecycle.getHandleMethod()==CommonStatusContant.RESIDUAL_RECYCLE_METHOD_CYCLE_RENTING){ inventory.setInventoryStatus(CommonStatusContant.DEVICE_INVENTORY_USABLE); inventoryMapper.updateById(inventory); } } } baseMapper.updateById(residualRecycle); return R.ok(); } }