Browse Source

基础配置

master
张彭杰 1 year ago
parent
commit
0edb263d5e
3 changed files with 123 additions and 3 deletions
  1. 6
      dating-agency-mall-server/pom.xml
  2. 23
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/order/user/OrderUserQueryController.java
  3. 97
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/utils/DingTalkWarningUtil.java

6
dating-agency-mall-server/pom.xml

@ -101,6 +101,12 @@
<artifactId>dating-agency-service-sdk</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!-- 本地钉钉SDK -->
<dependency>
<groupId>taobao.sdk.java</groupId>
<artifactId>auto_1479188381469-20191226</artifactId>
<version>1.0.0</version>
</dependency>
</dependencies>
<build>

23
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/order/user/OrderUserQueryController.java

@ -1,10 +1,12 @@
package com.qniao.dam.api.query.order.user;
import com.alibaba.fastjson.JSONObject;
import com.qniao.dam.api.query.order.user.request.UserPageOrderByOperatorQueryParam;
import com.qniao.dam.api.query.order.user.response.GetOrderStatisticsByOperatorVo;
import com.qniao.dam.api.query.order.user.response.UserOrderRecordVo;
import com.qniao.dam.api.query.order.user.response.UserPageOrderByOperatorVo;
import com.qniao.dam.domian.aggregate.order.constant.OrderStatusEnum;
import com.qniao.dam.infrastructure.utils.DingTalkWarningUtil;
import com.qniao.dam.query.order.OrderQueryService;
import com.qniao.dau.infrastructure.constant.RequestHeaderFields;
import com.qniao.domain.QnPage;
@ -14,6 +16,8 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.stream.Collectors;
@RestController
@RequestMapping("user")
@ -22,6 +26,8 @@ public class OrderUserQueryController {
@Resource
private OrderQueryService orderQueryService;
@Resource
private DingTalkWarningUtil dingTalkWarningUtil;
@GetMapping("page/order/by/operator")
@ApiOperation("运营获取订单分页列表")
@ -45,9 +51,20 @@ public class OrderUserQueryController {
@GetMapping("page/user/order/record")
@ApiOperation("客户获取订单记录分页列表")
public QnPage<UserOrderRecordVo> userUserOrderRecord(PageUtil pageUtil,
@RequestParam("miId") Long miId,
@RequestParam("userId") Long userId) {
@RequestParam("miId") Long miId,
@RequestParam("userId") Long userId) {
return orderQueryService.userUserOrderRecord(pageUtil, miId, userId);
}
@GetMapping("test/test")
public void testtest() {
String msg = "用户:就是不吃饭/支付1998/购买活动";
return orderQueryService.userUserOrderRecord(pageUtil,miId,userId);
HashMap<String, String> body = new HashMap<>();
body.put("Msgtype", "markdown");
body.put("content", msg);
body.put("contextSize", "2000");
dingTalkWarningUtil.send("aac04fe8b940a53244d21607ff2801df95b9e8461b30319ef5ea4fd1915903ea", body);
}
}

97
dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/utils/DingTalkWarningUtil.java

@ -0,0 +1,97 @@
package com.qniao.dam.infrastructure.utils;
import cn.hutool.http.HttpUtil;
import com.alibaba.fastjson.JSONObject;
import com.dingtalk.api.DefaultDingTalkClient;
import com.dingtalk.api.DingTalkClient;
import com.dingtalk.api.request.OapiRobotSendRequest;
import com.taobao.api.ApiException;
import com.taobao.api.TaobaoResponse;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import java.util.Map;
@Component
@Slf4j
public class DingTalkWarningUtil {
@Value("${payment-order-paid-dingTalk-token}")
private String paymentOrderPaidToken;
private static Integer contextSize = 600;
private final static String dingTalkUrl = "https://oapi.dingtalk.com/robot/send?access_token=";
/**
* 发送钉钉报错信息
*
* @param data 数据
* @return
*/
public static boolean send(String accessToken, Map<String, String> data) {
OapiRobotSendRequest request = new OapiRobotSendRequest();
if (data.containsKey("Msgtype")) {
request.setMsgtype(data.get("Msgtype"));
} else {
request.setMsgtype("text");
}
OapiRobotSendRequest.Text text = new OapiRobotSendRequest.Text();
String content = "";
if (data.containsKey("time")) {
content = content + data.get("time");
}
if (data.containsKey("traceId")) {
content = content + "[" + data.get("traceId") + "]";
}
if (data.containsKey("requestUri")) {
content = content + "[" + data.get("requestUri") + "]";
}
if (data.containsKey("content")) {
content = content + data.get("content");
}
Integer csize = contextSize;
if (data.containsKey("contextSize")) {
csize = Integer.parseInt(data.get("contextSize"));
}
if (content.length() > csize) {
content = content.substring(0, csize);
}
log.info(content);
if (data.containsKey("Msgtype") && data.get("Msgtype").equals("markdown")) {
OapiRobotSendRequest.Markdown markdown = new OapiRobotSendRequest.Markdown();
markdown.setTitle(data.get("toastType"));
if (data.containsKey("RemindUser")) {
content = "@" + data.get("RemindUser") + " <br>" + content;
}
markdown.setText(content);
request.setMarkdown(markdown);
} else {
if (data.containsKey("toastType")) {
content = data.get("toastType") + content;
}
text.setContent(content);
request.setText(text);
}
try {
TaobaoResponse response = getTalkClient(accessToken).execute(request);
if (response.getErrorCode() != null && !response.getErrorCode().equals("0")) {
log.error("DingTalk接口异常", response);
return false;
}
} catch (ApiException e) {
log.error("DingTalk接口异常", e);
return false;
}
return true;
}
private static DingTalkClient getTalkClient(String accessToken) {
return StringUtils.isNotBlank(accessToken) ? new DefaultDingTalkClient(dingTalkUrl + accessToken) : null;
}
}
Loading…
Cancel
Save