From bed24ea3fdeee959b85b699a82d53c5112adb219 Mon Sep 17 00:00:00 2001 From: liusheng <337615773@qq.com> Date: 星期四, 25 五月 2023 16:57:42 +0800 Subject: [PATCH] 代码提交 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/DingTalkController.java | 107 ++++++++--------------------------------------------- 1 files changed, 17 insertions(+), 90 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/DingTalkController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/DingTalkController.java index 2b5f8a3..118f53b 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/DingTalkController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/smartor/DingTalkController.java @@ -11,11 +11,14 @@ import com.dingtalk.api.response.OapiMessageCorpconversationAsyncsendV2Response; import com.dingtalk.api.response.OapiUserListidResponse; import com.ruoyi.common.core.controller.BaseController; +import com.smartor.domain.DingTalkReqVo; +import com.smartor.service.DingTalkService; import com.taobao.api.ApiException; import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.context.annotation.PropertySource; +import org.springframework.web.bind.annotation.*; import java.util.ArrayList; import java.util.List; @@ -28,103 +31,27 @@ */ @RestController @RequestMapping("/smartor/dingtalk") +@PropertySource(value = {"classpath:application-druid.yml"}) public class DingTalkController extends BaseController { - @Value("appid") - private String dingAppid = "dingn8iip5ubj7clrrsv"; + @Value("${dingAppid}") + private String dingAppid; - @Value("appSecret") - private String dingAppSecret = "qlEK8D3oOVwGPOTiBQIBYTqQVlAfy9S_qQizEQFjJdSScwemWFryg4gbneu-NqWD"; + @Value("${dingAppSecret}") + private String dingAppSecret; + + @Autowired + private DingTalkService dingTalkService; /** * 鍙戦�侀拤閽夋秷鎭� * - * @param mobile - * @param park - * @param alarmCode - * @param severityDesc + * @param dingTalkReqVo 鍙戦�佸唴瀹� * @throws ApiException */ - public void sendNotification(String mobile, String park, String alarmCode, String severityDesc) throws ApiException { - // Log.info("鍙戦�侀拤閽夐�氱煡"); - String accessToken = getAccessToken(); - if (StringUtils.isBlank(mobile)) { - return; - } - DingTalkClient client3 = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/user/listid"); - - OapiUserListidRequest request2 = new OapiUserListidRequest(); - request2.setDeptId(675909059L); // 璁剧疆瑕佽幏鍙栫殑閮ㄩ棬 ID锛岃繖閲屼互鏍归儴闂ㄤ负渚� - // 璁剧疆閮ㄩ棬 ID锛屽鏋滆幏鍙栨墍鏈夊憳宸ユ墜鏈哄彿锛屽彲浠ヨ缃负鏍归儴闂ㄧ殑 ID - OapiUserListidResponse response2 = client3.execute(request2, accessToken); - String body = response2.getBody(); - // 瑙f瀽涓篔SONObject - JSONObject jsonObject = JSONObject.parseObject(body); - // 鎻愬彇鍑篔SONArray - JSONArray jsonArray = new JSONArray(jsonObject.getJSONObject("result").getJSONArray("userid_list")); - // 灏咼SONArray杞负List鍒楄〃 - String str = JSONObject.toJSONString(jsonArray); - List<String> list = JSONObject.parseObject(str, List.class); - - //userid鏁扮粍 - for (String urid : list) { - DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2"); - OapiMessageCorpconversationAsyncsendV2Request request = new OapiMessageCorpconversationAsyncsendV2Request(); - request.setUseridList(urid); - request.setAgentId(1779052814L); - request.setToAllUser(false); - OapiMessageCorpconversationAsyncsendV2Request.Msg msg = new OapiMessageCorpconversationAsyncsendV2Request.Msg(); - msg.setOa(new OapiMessageCorpconversationAsyncsendV2Request.OA()); - msg.getOa().setMessageUrl("www.baidu.com"); - msg.getOa().setPcMessageUrl("www.baidu.com"); - msg.getOa().setHead(new OapiMessageCorpconversationAsyncsendV2Request.Head()); - msg.getOa().getHead().setText("text"); - msg.getOa().getHead().setBgcolor("FFBBBBBB"); - msg.getOa().setBody(new OapiMessageCorpconversationAsyncsendV2Request.Body()); - msg.getOa().getBody().setContent("msg淇℃伅"); - OapiMessageCorpconversationAsyncsendV2Request.Form formPark = new OapiMessageCorpconversationAsyncsendV2Request.Form(); - formPark.setKey(null); - formPark.setValue(null); - OapiMessageCorpconversationAsyncsendV2Request.Form formAlarmCode = new OapiMessageCorpconversationAsyncsendV2Request.Form(); - formAlarmCode.setKey("宸ュ伐宸 "); - formAlarmCode.setValue(alarmCode); - OapiMessageCorpconversationAsyncsendV2Request.Form formSeverityDesc = new OapiMessageCorpconversationAsyncsendV2Request.Form(); - formSeverityDesc.setKey("鏋楄瑕佽瑕�"); - formSeverityDesc.setValue(severityDesc); - OapiMessageCorpconversationAsyncsendV2Request.Form formConner = new OapiMessageCorpconversationAsyncsendV2Request.Form(); - formConner.setKey("鍘呭湪鍦�"); - ArrayList<OapiMessageCorpconversationAsyncsendV2Request.Form> objects = new ArrayList<>(); - objects.add(formPark); - objects.add(formSeverityDesc); - objects.add(formAlarmCode); - objects.add(formConner); - msg.getOa().getBody().setForm(objects); - msg.setMsgtype("oa"); - request.setMsg(msg); - // log.info("鑾峰彇鍙戦�侀�氱煡娑堟伅浣撳拰鑾峰彇鍙戦�侀�氱煡浜哄畬鎴�"); - OapiMessageCorpconversationAsyncsendV2Response response = client.execute(request, accessToken); - // log.info("鍙戦�佹秷鎭槸鍚︽垚鍔�"+response.isSuccess()); - System.out.println(response.isSuccess()); - // log.info("娑堟伅浠诲姟ID"+response.getTaskId()); - System.out.println(response.getTaskId()); - } - } - - - /** - * 鑾峰彇 access_token - */ - private String getAccessToken() throws ApiException { - DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken"); - OapiGettokenRequest request = new OapiGettokenRequest(); - //Appkey - request.setAppkey(dingAppid); - //Appsecret - request.setAppsecret(dingAppSecret); - /*璇锋眰鏂瑰紡*/ - request.setHttpMethod("GET"); - OapiGettokenResponse response = client.execute(request); - return response.getAccessToken(); + @PostMapping("/sendNotification") + public void sendNotification(@RequestBody DingTalkReqVo dingTalkReqVo) throws ApiException { + dingTalkService.sendNotification(dingTalkReqVo); } } -- Gitblit v1.9.3