package com.gs.xky.controller;
|
|
import com.gs.xky.config.ResultMessage;
|
import com.gs.xky.dto.NumbericalDto;
|
import com.gs.xky.service.DingtalkInfoService;
|
import lombok.RequiredArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.web.bind.annotation.PostMapping;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RestController;
|
|
/**
|
* 钉钉消息发送控制器
|
*
|
* @author 28567
|
* @description 提供钉钉消息发送相关的REST接口
|
* @createDate 2025-01-27
|
*/
|
@RestController
|
@RequestMapping("/api/dingtalk")
|
@RequiredArgsConstructor
|
@Slf4j
|
public class DingtalkController {
|
|
private final DingtalkInfoService dingtalkInfoService;
|
|
/**
|
* 发送钉钉消息
|
*
|
* @param numbericalDto 包含检验单号的请求参数
|
* @return ResultMessage 操作结果
|
*/
|
@PostMapping("/sendMessage")
|
public ResultMessage sendMessage(@RequestBody NumbericalDto numbericalDto) {
|
try {
|
log.info("开始发送钉钉消息,检验单号:{}", numbericalDto.getReleaseNo());
|
|
// 参数校验
|
if (numbericalDto == null || numbericalDto.getReleaseNo() == null || numbericalDto.getReleaseNo().trim().isEmpty()) {
|
log.warn("检验单号不能为空");
|
return ResultMessage.error("检验单号不能为空");
|
}
|
|
// 调用服务层发送消息
|
boolean result = dingtalkInfoService.sendMessage(numbericalDto.getReleaseNo());
|
|
if (result) {
|
log.info("钉钉消息发送成功,检验单号:{}", numbericalDto.getReleaseNo());
|
return ResultMessage.ok();
|
} else {
|
log.warn("钉钉消息发送失败,检验单号:{}", numbericalDto.getReleaseNo());
|
return ResultMessage.error("钉钉消息发送失败");
|
}
|
|
} catch (Exception e) {
|
log.error("发送钉钉消息时发生异常,检验单号:{}", numbericalDto != null ? numbericalDto.getReleaseNo() : "null", e);
|
return ResultMessage.error(e);
|
}
|
}
|
}
|