package com.gs.dingtalk.controller; import com.gs.dingtalk.config.ResultMessage; import com.gs.dingtalk.dto.QaMsgDto; import com.gs.dingtalk.service.MesQaDingtalkService; import com.gs.dingtalk.dto.Result; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.*; /** * MES QA 钉钉消息推送控制器 */ @RestController @RequestMapping("MesQaDingtalk") @RequiredArgsConstructor @CrossOrigin(origins = "*") //跨域请求 public class MesQaDingtalkController { private final MesQaDingtalkService mesQaDingtalkService; /** * 统一发送QA消息 * 根据QaMsgDto.qaType的值来调用相应的方法 * 首件首检完成 -> sendQaMsgSJ * 巡检检验完成 -> sendQaMsgXJ * 入库检检验完成 -> sendQaMsgRKJ */ @PostMapping("/sendQaMsg") public ResultMessage sendQaMsg(@RequestBody QaMsgDto dto) { try { String qaType = dto.getQaType(); if ("首件首检完成".equals(qaType)) { mesQaDingtalkService.sendQaMsgSJ(dto); } else if ("巡检检验完成".equals(qaType)) { mesQaDingtalkService.sendQaMsgXJ(dto); } else if ("入库检检验完成".equals(qaType)) { mesQaDingtalkService.sendQaMsgRKJ(dto); } else { return ResultMessage.error("未知的QA类型: " + qaType); } return ResultMessage.ok(); } catch (Exception e) { return ResultMessage.error("QA消息发送失败: " + e.getMessage()); } } /** * 发送首件检验消息 */ @PostMapping("/sendQaMsgSJ") public ResultMessage sendQaMsgSJ(@RequestBody QaMsgDto dto) { try { mesQaDingtalkService.sendQaMsgSJ(dto); return ResultMessage.ok(); } catch (Exception e) { return ResultMessage.error("首件检验消息发送失败: " + e.getMessage()); } } /** * 发送巡检消息 */ @PostMapping("/sendQaMsgXJ") public ResultMessage sendQaMsgXJ(@RequestBody QaMsgDto dto) { try { mesQaDingtalkService.sendQaMsgXJ(dto); return ResultMessage.ok(); } catch (Exception e) { return ResultMessage.error("巡检消息发送失败: " + e.getMessage()); } } /** * 发送入库检消息 */ @PostMapping("/sendQaMsgRKJ") public ResultMessage sendQaMsgRKJ(@RequestBody QaMsgDto dto) { try { mesQaDingtalkService.sendQaMsgRKJ(dto); return ResultMessage.ok(); } catch (Exception e) { return ResultMessage.error("入库检消息发送失败: " + e.getMessage()); } } }