| | |
| | | import com.ruoyi.device.mapper.DeviceMaintenanceMapper; |
| | | import com.ruoyi.device.pojo.DeviceMaintenance; |
| | | import com.ruoyi.device.service.IDeviceMaintenanceService; |
| | | import com.ruoyi.project.system.service.ISysNoticeService; |
| | | import com.ruoyi.project.system.service.impl.UnipushService; |
| | | import com.ruoyi.project.system.domain.SysNotice; |
| | | import java.util.Collections; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import com.ruoyi.device.vo.DeviceMaintenanceVo; |
| | | import com.ruoyi.device.vo.DeviceRepairVo; |
| | | import com.ruoyi.framework.web.domain.AjaxResult; |
| | |
| | | |
| | | @Service |
| | | @RequiredArgsConstructor |
| | | @Slf4j |
| | | public class DeviceMaintenanceServiceImpl extends ServiceImpl<DeviceMaintenanceMapper, DeviceMaintenance> implements IDeviceMaintenanceService { |
| | | |
| | | private final DeviceMaintenanceMapper deviceMaintenanceMapper; |
| | |
| | | private final SparePartsRequisitionRecordService sparePartsRequisitionRecordService; |
| | | private final IDeviceRepairSparePartService deviceRepairSparePartService; |
| | | private final FileUtil fileUtil; |
| | | private final ISysNoticeService sysNoticeService; |
| | | private final UnipushService unipushService; |
| | | |
| | | @Override |
| | | public IPage<DeviceMaintenanceDto> queryPage(Page page, DeviceMaintenanceDto deviceMaintenanceDto) { |
| | |
| | | if (save){ |
| | | // 处理图片上传 |
| | | fileUtil.saveStorageAttachmentByRecordTypeAndRecordId("file", RecordTypeEnum.DEVICE_MAINTENANCE, deviceMaintenance.getId(), deviceMaintenance.getStorageBlobDTOs()); |
| | | |
| | | // 推送系统消息给执行人 |
| | | if (deviceMaintenance.getExecutorId() != null) { |
| | | SysNotice notice = new SysNotice(); |
| | | notice.setNoticeTitle("新保养计划提醒"); |
| | | notice.setNoticeType("1"); // 1 通知 |
| | | String dateStr = deviceMaintenance.getMaintenancePlanTime() != null ? |
| | | deviceMaintenance.getMaintenancePlanTime().toLocalDate().toString() : |
| | | java.time.LocalDate.now().toString(); |
| | | notice.setNoticeContent("你有一个新的设备保养计划 ," + dateStr + " " + deviceMaintenance.getDeviceName()); |
| | | notice.setStatus("0"); // 正常 |
| | | notice.setConsigneeId(deviceMaintenance.getExecutorId()); |
| | | try { |
| | | Long currentUserId = SecurityUtils.getLoginUser().getUserId(); |
| | | notice.setSenderId(currentUserId); |
| | | } catch (Exception e) { |
| | | notice.setSenderId(0L); // 兜底 |
| | | } |
| | | notice.setTenantId(deviceMaintenance.getTenantId()); |
| | | sysNoticeService.insertNotice(notice); |
| | | |
| | | try { |
| | | unipushService.sendClientMessage(Collections.singletonList(notice)); |
| | | } catch (Exception e) { |
| | | log.error("推送新保养计划系统消息失败", e); |
| | | } |
| | | } |
| | | |
| | | return AjaxResult.success(); |
| | | } |
| | | return AjaxResult.error(); |