Browse Source

基础配置

master
张彭杰 1 year ago
parent
commit
0dc813adfa
6 changed files with 102 additions and 23 deletions
  1. 24
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/order/user/OrderUserQueryController.java
  2. 69
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/dingtalk/DingTalkWarningEventHandler.java
  3. 1
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/operationlog/OperationLogEventHandler.java
  4. 1
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/utils/DingTalkWarningUtil.java
  5. 7
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/externalorder/ExternalOrderRelQueryService.java
  6. 23
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/externalorder/impl/ExternalOrderRelQueryServiceImpl.java

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

@ -1,12 +1,10 @@
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;
@ -16,8 +14,6 @@ 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")
@ -26,8 +22,6 @@ public class OrderUserQueryController {
@Resource
private OrderQueryService orderQueryService;
@Resource
private DingTalkWarningUtil dingTalkWarningUtil;
@GetMapping("page/order/by/operator")
@ApiOperation("运营获取订单分页列表")
@ -51,21 +45,9 @@ public class OrderUserQueryController {
@GetMapping("page/user/order/record")
@ApiOperation("客户获取订单记录分页列表")
public QnPage<UserOrderRecordVo> userUserOrderRecord(PageUtil pageUtil,
@RequestParam("miId") Long miId,
@RequestParam("userId") Long userId) {
return orderQueryService.userUserOrderRecord(pageUtil, miId, userId);
}
@GetMapping("test/test")
public void testtest() {
String msg = "用户:就是不吃饭/支付1998/购买活动";
@RequestParam("miId") Long miId,
@RequestParam("userId") Long userId) {
HashMap<String, String> body = new HashMap<>();
body.put("Msgtype", "markdown");
body.put("toastType", "提醒");
body.put("content", msg);
body.put("contextSize", "2000");
dingTalkWarningUtil.send("aac04fe8b940a53244d21607ff2801df95b9e8461b30319ef5ea4fd1915903ea", body);
return orderQueryService.userUserOrderRecord(pageUtil,miId,userId);
}
}

69
dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/dingtalk/DingTalkWarningEventHandler.java

@ -0,0 +1,69 @@
package com.qniao.dam.application.handler.dingtalk;
import com.google.common.eventbus.Subscribe;
import com.qniao.dam.domain.aggregate.activity.entity.Activity;
import com.qniao.dam.domain.aggregate.externalorder.entity.ExternalOrderRel;
import com.qniao.dam.domain.aggregate.order.entity.Order;
import com.qniao.dam.domain.aggregate.order.entity.OrderItem;
import com.qniao.dam.domain.aggregate.order.repository.OrderRepository;
import com.qniao.dam.domian.aggregate.order.event.OrderCompletedEvent;
import com.qniao.dam.infrastructure.persistent.dao.activity.ActivityDao;
import com.qniao.dam.infrastructure.utils.DingTalkWarningUtil;
import com.qniao.dam.query.externalorder.ExternalOrderRelQueryService;
import com.qniao.domain.BaseApplicationService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.Objects;
import java.util.stream.Collectors;
@Component
@Slf4j
public class DingTalkWarningEventHandler extends BaseApplicationService {
@Value("${payment-order-paid-dingTalk-token}")
private String paymentOrderPaidToken;
@Resource
private DingTalkWarningUtil dingTalkWarningUtil;
@Resource
private OrderRepository orderRepository;
@Resource
private ExternalOrderRelQueryService externalOrderRelQueryService;
@Resource
private ActivityDao activityDao;
/**
* 订单已完成事件
*/
@Subscribe
public void handle(OrderCompletedEvent event) {
try {
Order order = orderRepository.load(event.getId());
StringBuilder builder = new StringBuilder();
builder.append("<br> 订单已支付 <br>");
builder.append("订单号:" + order.getOrderCode() + "<br>");
builder.append("客户类型:" + order.getOrderBelonging().getDesc() + "<br>");
builder.append("客户名称:" + order.getOrderBelongName() + "<br>");
builder.append("订单金额:" + order.getSettlementAmount() + "<br>");
builder.append("产品名称:" + order.getOrderItemList().stream().map(OrderItem::getProductTitle).collect(Collectors.joining("、")) + "<br>");
ExternalOrderRel externalOrderRel = externalOrderRelQueryService.queryByOrderId(order.getId());
if (Objects.nonNull(externalOrderRel)) {
Activity activity = activityDao.selectById(externalOrderRel.getExternalId());
if (Objects.nonNull(activity)) {
builder.append("关联活动:" + activity.getActivityName());
}
}
HashMap<String, String> body = new HashMap<>();
body.put("Msgtype", "markdown");
body.put("toastType", "提醒");
body.put("content", builder.toString());
body.put("contextSize", "2000");
dingTalkWarningUtil.send(paymentOrderPaidToken, body);
} catch (Exception e) {
log.error("订单已完成事件处理异常:", e);
}
}
}

1
dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/operationlog/OperationLogEventHandler.java

@ -8,7 +8,6 @@ import com.qniao.dam.domian.aggregate.order.event.OrderCompletedEvent;
import com.qniao.dam.infrastructure.persistent.dao.domain.OrderDao;
import com.qniao.dam.infrastructure.persistent.dao.domain.UserDao;
import com.qniao.dam.query.account.AccountQueryService;
import com.qniao.das.domian.aggregate.certificate.constant.CertificationAuditStatusEnum;
import com.qniao.dau.domain.aggregate.account.entity.Account;
import com.qniao.dau.domain.aggregate.user.entity.User;
import com.qniao.dau.domian.aggregate.account.constant.AccountTypeEnum;

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

@ -9,7 +9,6 @@ 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;

7
dating-agency-mall-server/src/main/java/com/qniao/dam/query/externalorder/ExternalOrderRelQueryService.java

@ -0,0 +1,7 @@
package com.qniao.dam.query.externalorder;
import com.qniao.dam.domain.aggregate.externalorder.entity.ExternalOrderRel;
public interface ExternalOrderRelQueryService {
ExternalOrderRel queryByOrderId(Long orderId);
}

23
dating-agency-mall-server/src/main/java/com/qniao/dam/query/externalorder/impl/ExternalOrderRelQueryServiceImpl.java

@ -0,0 +1,23 @@
package com.qniao.dam.query.externalorder.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qniao.dam.domain.aggregate.externalorder.entity.ExternalOrderRel;
import com.qniao.dam.infrastructure.persistent.dao.domain.ExternalOrderRelDao;
import com.qniao.dam.query.externalorder.ExternalOrderRelQueryService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class ExternalOrderRelQueryServiceImpl implements ExternalOrderRelQueryService {
@Resource
private ExternalOrderRelDao externalOrderRelDao;
@Override
public ExternalOrderRel queryByOrderId(Long orderId) {
return externalOrderRelDao.selectOne(new LambdaQueryWrapper<ExternalOrderRel>()
.eq(ExternalOrderRel::getOrderId, orderId)
.last("limit 1"));
}
}
Loading…
Cancel
Save