|
|
@@ -2,8 +2,11 @@ package com.yc.ship.module.trade.service.notify;
|
|
|
|
|
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
|
|
import com.yc.ship.framework.common.util.date.DateUtils;
|
|
|
+import com.yc.ship.module.system.api.notify.NotifyMessageSendApi;
|
|
|
+import com.yc.ship.module.system.api.notify.dto.NotifySendSingleToUserReqDTO;
|
|
|
import com.yc.ship.module.trade.controller.admin.notify.vo.NotifyInsuranceReqVO;
|
|
|
import com.yc.ship.module.trade.dal.dataobject.insurance.InsuranceDO;
|
|
|
+import com.yc.ship.module.trade.dal.dataobject.order.TradeOrderDO;
|
|
|
import com.yc.ship.module.trade.dal.mysql.insurance.InsuranceMapper;
|
|
|
import com.yc.ship.module.trade.enums.InsuranceStatusEnum;
|
|
|
import com.yc.ship.module.trade.service.order.TradeOrderRepositoryService;
|
|
|
@@ -12,6 +15,8 @@ import org.springframework.stereotype.Service;
|
|
|
import javax.annotation.Resource;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.time.format.DateTimeFormatter;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
|
|
|
/**
|
|
|
* 第三方调用通知的具体处理业务
|
|
|
@@ -23,12 +28,15 @@ public class NotifyServiceImpl implements NotifyService {
|
|
|
private InsuranceMapper insuranceMapper;
|
|
|
@Resource
|
|
|
private TradeOrderRepositoryService tradeOrderRepositoryService;
|
|
|
+ @Resource
|
|
|
+ private NotifyMessageSendApi notifyMessageSendApi;
|
|
|
@Override
|
|
|
public Boolean notifyInsurance(NotifyInsuranceReqVO reqVO) {
|
|
|
String status = reqVO.getStatus();
|
|
|
String externalPolicyNumber = reqVO.getExternalPolicyNumber();
|
|
|
String policyNo = reqVO.getPolicyNo();
|
|
|
String downloadUrl = reqVO.getDownloadUrl();
|
|
|
+ String msg = reqVO.getMsg();
|
|
|
// String successDate = reqVO.getSuccessDate();
|
|
|
Long id = Long.valueOf(externalPolicyNumber);
|
|
|
String service = reqVO.getService();
|
|
|
@@ -46,6 +54,18 @@ public class NotifyServiceImpl implements NotifyService {
|
|
|
|
|
|
}else if ("FAIL".equals(status)) {
|
|
|
insuranceDO.setInsuranceStatus(InsuranceStatusEnum.FAIL.getValue());
|
|
|
+ // 发送站内信
|
|
|
+ TradeOrderDO orderDO = tradeOrderRepositoryService.getById(insuranceDO.getOrderId());
|
|
|
+ String insuranceNo = insuranceDO.getInsuranceNo();
|
|
|
+
|
|
|
+ Map<String,Object> templateData = new HashMap<>();
|
|
|
+ templateData.put("orderNo",insuranceNo);
|
|
|
+ templateData.put("msg",msg);
|
|
|
+ NotifySendSingleToUserReqDTO reqDTO = new NotifySendSingleToUserReqDTO();
|
|
|
+ reqDTO.setUserId(Long.parseLong(orderDO.getCreator()));
|
|
|
+ reqDTO.setTemplateParams(templateData);
|
|
|
+ reqDTO.setTemplateCode("send_insurance_fail");
|
|
|
+ notifyMessageSendApi.sendSingleMessageToMember(reqDTO);
|
|
|
}
|
|
|
insuranceMapper.updateById(insuranceDO);
|
|
|
tradeOrderRepositoryService.updateOrderInsureStatus(insuranceDO.getOrderId(),insuranceDO.getInsuranceStatus());
|