| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- package com.inspur.source.controller;
- import cn.dev33.satoken.annotation.SaIgnore;
- import com.inspur.device.domain.SmsbDeviceTask;
- import com.inspur.device.domain.bo.HttpHeartbeatReq;
- import com.inspur.device.domain.constants.DeviceTaskConstants;
- import com.inspur.device.domain.vo.*;
- import com.inspur.device.mapper.SmsbDeviceTaskMapper;
- import com.inspur.device.service.*;
- import com.inspur.source.domain.vo.FrontItemSourceVO;
- import com.inspur.source.domain.vo.FrontPushInfoVo;
- import com.inspur.source.service.ISmsbItemPushDeviceService;
- import com.inspur.source.service.ISmsbItemPushService;
- import jakarta.validation.constraints.NotNull;
- import lombok.RequiredArgsConstructor;
- import org.dromara.common.core.domain.R;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.validation.annotation.Validated;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.multipart.MultipartFile;
- import java.util.List;
- /**
- * 前端设备接口
- *
- * @author lihao16
- */
- @Validated
- @RequiredArgsConstructor
- @RestController
- @RequestMapping("/front")
- public class SmsbFrontController {
- private final ISmsbItemPushService smsbItemPushService;
- private final SmsbDeviceTaskMapper smsbDeviceTaskMapper;
- private final ISmsbItemPushDeviceService smsbItemPushDeviceService;
- @Autowired
- private ISmsbOtaRecordService iSmsbOtaRecordService;
- @Autowired
- private ISmsbDeviceService smsbDeviceService;
- @Autowired
- private ISmsbDeviceLoginService smsbDeviceLoginService;
- @Autowired
- private ISmsbDeviceAuthService smsbDeviceAuthService;
- @Autowired
- private ISmsbDeviceTaskService smsbDeviceTaskService;
- /**
- * 根据设备identifier 获取该设备最新内容下发记录
- *
- * @param identifier 主键
- */
- @SaIgnore
- @GetMapping("/push/{identifier}")
- public R<List<FrontPushInfoVo>> getItemPushInfo(@NotNull(message = "identifier不能为空") @PathVariable String identifier) {
- return smsbItemPushService.getItemPushInfo(identifier);
- }
- @SaIgnore
- @GetMapping("/itemSource/{itemId}")
- public R<List<FrontItemSourceVO>> getItemSourceList(@NotNull(message = "identifier不能为空") @PathVariable Long itemId) {
- return smsbItemPushService.getItemSourceList(itemId);
- }
- /**
- * 根据设备identifier 获取该设备最新内容下发记录
- *
- * @param pushId
- * @param identifier 主键
- */
- @SaIgnore
- @GetMapping("/push/update/end/{identifier}/{pushId}")
- public R<Void> itemUpdateEnd(@NotNull(message = "identifier不能为空") @PathVariable String identifier,
- @NotNull(message = "pushId不能为空") @PathVariable Long pushId) {
- return smsbItemPushService.itemUpdateEnd(identifier,pushId);
- }
- /**
- * 根据设备identifier 获取OTA 信息
- *
- * @param identifier 主键
- */
- @SaIgnore
- @GetMapping("/ota/check/{identifier}")
- public R<SmsbOtaRecordVo> deviceCheckOta(@NotNull(message = "identifier不能为空") @PathVariable String identifier) {
- return iSmsbOtaRecordService.deviceCheckOta(identifier);
- }
- /**
- * 前端设备上传截图
- *
- * @param identifier 主键
- */
- @SaIgnore
- @PostMapping("/screenshot/upload")
- public R<Void> screenshotUpload(@RequestParam("identifier") String identifier,@RequestParam("timestamp") Long timestamp,
- @RequestBody MultipartFile file) {
- return smsbDeviceService.screenshotUpload(identifier,timestamp, file);
- }
- /**
- * 前端设备心跳接口
- *
- * @param requestParam 主键
- */
- @SaIgnore
- @PostMapping("/heartbeat")
- public R<HttpHeartbeatRspVo> heartbeat(@RequestBody HttpHeartbeatReq requestParam) {
- return smsbDeviceService.heartbeat(requestParam);
- }
- /**
- * 前端设备登录接口
- *
- * @param requestParam 主键
- */
- @SaIgnore
- @PostMapping("/login")
- public R<String> deviceLogin(@RequestBody HttpHeartbeatReq requestParam) {
- return smsbDeviceLoginService.deviceLogin(requestParam);
- }
- /**
- * 前端设备登录接口
- *
- * @param requestParam 主键
- */
- @SaIgnore
- @PostMapping("/auth")
- public R<String> deviceAuth(@RequestBody HttpHeartbeatReq requestParam) {
- return smsbDeviceAuthService.deviceAuth(requestParam);
- }
- /**
- * 前端设备登录接口
- *
- * @param identifier
- * @param taskType
- */
- @SaIgnore
- @GetMapping("/task")
- public R<SmsbDeviceTaskVo> getDeviceTask(@RequestParam("identifier") String identifier,@RequestParam("taskType") Integer taskType) {
- return smsbDeviceTaskService.getDeviceTask(identifier,taskType);
- }
- /**
- * 前端设备上报任务状态接口
- *
- * @param taskId
- * @param taskStatus
- */
- @SaIgnore
- @GetMapping("/task/status")
- public R<Void> uploadTaskStatus(@RequestParam("taskId") Long taskId,@RequestParam("taskStatus") Integer taskStatus) {
- SmsbDeviceTask smsbDeviceTask = smsbDeviceTaskMapper.selectById(taskId);
- // 如果是任务完成且为时间线更新任务
- if (taskStatus.equals(DeviceTaskConstants.DEVICE_TASK_STATUS_END)
- && smsbDeviceTask.getTaskType().equals(DeviceTaskConstants.DEVICE_TASK_PLAY_LINE_UPDATE)) {
- smsbItemPushDeviceService.updateDevicePushStatus(3,smsbDeviceTask);
- }
- return smsbDeviceTaskService.uploadTaskStatus(taskId,taskStatus,smsbDeviceTask);
- }
- /**
- * 前端设备多功能卡上报
- *
- * @param frontMultiCardUploadVo
- */
- @SaIgnore
- @PostMapping("/multiCard")
- public R<Void> uploadTaskStatus(@RequestBody FrontMultiCardUploadVo frontMultiCardUploadVo) {
- return smsbDeviceService.uploadMultiCard(frontMultiCardUploadVo);
- }
- }
|