diff --git a/dating-agency-mall-server/pom.xml b/dating-agency-mall-server/pom.xml index 7d8d338..5507d12 100644 --- a/dating-agency-mall-server/pom.xml +++ b/dating-agency-mall-server/pom.xml @@ -101,6 +101,12 @@ dating-agency-service-sdk 0.0.1-SNAPSHOT + + + taobao.sdk.java + auto_1479188381469-20191226 + 1.0.0 + diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/order/user/OrderUserQueryController.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/order/user/OrderUserQueryController.java index e6723d4..bc3626a 100644 --- a/dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/order/user/OrderUserQueryController.java +++ b/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 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 body = new HashMap<>(); + body.put("Msgtype", "markdown"); + body.put("content", msg); + body.put("contextSize", "2000"); + dingTalkWarningUtil.send("aac04fe8b940a53244d21607ff2801df95b9e8461b30319ef5ea4fd1915903ea", body); } } diff --git a/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/utils/DingTalkWarningUtil.java b/dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/utils/DingTalkWarningUtil.java new file mode 100644 index 0000000..24356e1 --- /dev/null +++ b/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 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") + "
" + 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; + } + +}