Commit 7eacb69a by ping.wu

通知小助手发送申请退款公众号订阅消息

parent 6c053fc7
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
<dependency> <dependency>
<groupId>com.freemud.sdk.api.assortment</groupId> <groupId>com.freemud.sdk.api.assortment</groupId>
<artifactId>assortment-messagepush-sdk</artifactId> <artifactId>assortment-messagepush-sdk</artifactId>
<version>2.2.RELEASE</version> <version>2.5.1-SNAPSHOT</version>
<exclusions> <exclusions>
<exclusion> <exclusion>
<groupId>cn.freemud.commons</groupId> <groupId>cn.freemud.commons</groupId>
......
package cn.freemud.amp.body;
import com.freemud.sdk.api.assortment.message.entity.MpTemplateMsg;
import lombok.Data;
/**
* All rights Reserved, Designed By www.freemud.cn
*
* @version V1.0
* @Title: MessagePushNewMqBody
* @Package cn.freemud.amp.body
* @Description:
* @author: ping1.wu
* @date: 2019/12/18 18:17
* @Copyright: 2019 www.freemud.cn Inc. All rights reserved.
* 注意:本内容仅限于上海非码科技内部传阅,禁止外泄以及用于其他的商业目
*/
@Data
public class MessagePushNewMqBody {
private String partnerId;
private String storeId;
private String wxappid;
private String accessToken;
private MpTemplateMsg template;
private String orderId;
public MessagePushNewMqBody() {
}
}
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
package cn.freemud.service.impl; package cn.freemud.service.impl;
import cn.freemud.adapter.*; import cn.freemud.adapter.*;
import cn.freemud.amp.body.MessagePushNewMqBody;
import cn.freemud.amqp.Header; import cn.freemud.amqp.Header;
import cn.freemud.amqp.MQAction; import cn.freemud.amqp.MQAction;
import cn.freemud.amqp.MQMessage; import cn.freemud.amqp.MQMessage;
...@@ -48,10 +49,12 @@ import com.alibaba.fastjson.JSONObject; ...@@ -48,10 +49,12 @@ import com.alibaba.fastjson.JSONObject;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentCloudPrinter; import com.freemud.api.assortment.datamanager.entity.db.AssortmentCloudPrinter;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerConfig; import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformPartnerConfig;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformWxapp; import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformWxapp;
import com.freemud.api.assortment.datamanager.entity.db.AssortmentOpenPlatformWxappAuthorizer;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo; import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.api.assortment.datamanager.manager.AssortmentCloudPrinterManager; import com.freemud.api.assortment.datamanager.manager.AssortmentCloudPrinterManager;
import com.freemud.api.assortment.datamanager.enums.IappIdType; import com.freemud.api.assortment.datamanager.enums.IappIdType;
import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerConfigManager; import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformPartnerConfigManager;
import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformWxappAuthorizerManager;
import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformWxappManager; import com.freemud.api.assortment.datamanager.manager.AssortmentOpenPlatformWxappManager;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager; import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
import com.freemud.api.assortment.datamanager.meal.MealCacheManager; import com.freemud.api.assortment.datamanager.meal.MealCacheManager;
...@@ -77,6 +80,9 @@ import com.freemud.application.sdk.api.storecenter.response.StoreResponse; ...@@ -77,6 +80,9 @@ import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.application.sdk.api.storecenter.service.StoreCenterService; import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
import com.freemud.application.sdk.api.structure.request.PushMessageNoticeDto; import com.freemud.application.sdk.api.structure.request.PushMessageNoticeDto;
import com.freemud.application.sdk.api.structure.service.MessageCenterClient; import com.freemud.application.sdk.api.structure.service.MessageCenterClient;
import com.freemud.sdk.api.assortment.message.config.MessageOfficialRefundPushMqConfig;
import com.freemud.sdk.api.assortment.message.entity.MpTemplateMsg;
import com.freemud.sdk.api.assortment.message.entity.TemplateKeyword;
import com.freemud.sdk.api.assortment.message.enums.MessageEventType; import com.freemud.sdk.api.assortment.message.enums.MessageEventType;
import com.freemud.sdk.api.assortment.message.request.MessagePushOrderTemplateRequest; import com.freemud.sdk.api.assortment.message.request.MessagePushOrderTemplateRequest;
import com.freemud.sdk.api.assortment.message.request.MessageTemplateRequest; import com.freemud.sdk.api.assortment.message.request.MessageTemplateRequest;
...@@ -195,6 +201,8 @@ public class OrderServiceImpl implements Orderservice { ...@@ -195,6 +201,8 @@ public class OrderServiceImpl implements Orderservice {
private PaymentNewService paymentNewService; private PaymentNewService paymentNewService;
@Autowired @Autowired
private ActivityApplicationClient activityApplicationClient; private ActivityApplicationClient activityApplicationClient;
@Autowired
private AssortmentOpenPlatformWxappAuthorizerManager wxappAuthorizerManager;
...@@ -1145,6 +1153,8 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1145,6 +1153,8 @@ public class OrderServiceImpl implements Orderservice {
if (orderBean.getAmount() > 0) { if (orderBean.getAmount() > 0) {
sendPosMessage(partnerId, orderBean.getShopId()); sendPosMessage(partnerId, orderBean.getShopId());
} }
//通知小助手发送申请退款公众号订阅消息
sendApplyRefundSubscriptionNotice(orderBean,var1);
//已接单可发起退款申请,查询门店有无云打印机,有则打印退款申请小票 //已接单可发起退款申请,查询门店有无云打印机,有则打印退款申请小票
printApplyRefundSmallTicket(orderBean, orderRefundVo); printApplyRefundSmallTicket(orderBean, orderRefundVo);
} }
...@@ -2028,6 +2038,64 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2028,6 +2038,64 @@ public class OrderServiceImpl implements Orderservice {
} }
/** /**
* 通知小助手发送申请退款公众号订阅消息
* @param orderBean
*/
public void sendApplyRefundSubscriptionNotice(OrderBean orderBean,OrderRefundRequest request) {
LogUtil.debug("sendApplyRefundSubscriptionNotice", JSONObject.toJSONString(request), null);
String partnerId = orderBean.getCompanyId();
String shopId = orderBean.getShopId();
if(orderBean.getExtInfo() == null){
return;
}
OrderExtInfoDto extInfo = JSONObject.parseObject(orderBean.getExtInfo(), OrderExtInfoDto.class);
if(extInfo == null || extInfo.getAppid() == null){
return;
}
AssortmentOpenPlatformWxappAuthorizer authorizerAppid = wxappAuthorizerManager.findAuthorizerByWxAppId(extInfo.getAppid());
if(authorizerAppid == null){
return;
}
String accessToken = authorizerAppid.getAuthorizerAccessToken();
String orderId = orderBean.getOid();
MpTemplateMsg template = new MpTemplateMsg();
MpTemplateMsg.TemplateMsgData data = new MpTemplateMsg.TemplateMsgData();
TemplateKeyword first = new TemplateKeyword();
first.setValue("用户申请退款");
TemplateKeyword keyword1 = new TemplateKeyword();
keyword1.setValue(orderId);
TemplateKeyword keyword2 = new TemplateKeyword();
Double amount = orderBean.getAmount() / 100.0D;
keyword2.setValue(amount.toString()+ " 元");
TemplateKeyword keyword3 = new TemplateKeyword();
keyword3.setValue(orderBean.getGmtPay() == null ? "" : DateUtil.convert2String(new Date(orderBean.getGmtPay()), "yyyy-MM-dd HH:mm:ss"));
TemplateKeyword keyword4 = new TemplateKeyword();
keyword4.setValue(orderBean.getUserName());
TemplateKeyword keyword5 = new TemplateKeyword();
keyword5.setValue(orderBean.getPhone());
TemplateKeyword remark = new TemplateKeyword();
remark.setValue(request.getReason()+","+request.getRemark());
data.setFirst(first);
data.setKeyword1(keyword1);
data.setKeyword2(keyword2);
data.setKeyword3(keyword3);
data.setKeyword4(keyword4);
data.setKeyword5(keyword5);
data.setRemark(remark);
template.setData(data);
MessagePushNewMqBody messagePushMqBody = new MessagePushNewMqBody();
messagePushMqBody.setPartnerId(partnerId);
messagePushMqBody.setAccessToken(accessToken);
messagePushMqBody.setTemplate(template);
messagePushMqBody.setStoreId(shopId);
messagePushMqBody.setOrderId(orderId);
messagePushMqBody.setWxappid(extInfo.getAppid());
Header header = new Header(MQAction.INSERT.getAction(), "order-application-service-api", orderId, MessageOfficialRefundPushMqConfig.MESSAGE_PUSH_ORDER_REFUND_QUEUE);
MQMessage<MessagePushNewMqBody> message = new MQMessage<>(header, messagePushMqBody);
mqService.convertAndSend(MessageOfficialRefundPushMqConfig.MESSAGE_PUSH_EXCHANGE_TOPIC, MessageOfficialRefundPushMqConfig.MESSAGE_PUSH_ORDER_REFUND_QUEUE_EKY, message);
}
/**
* 申请退款小票打印 * 申请退款小票打印
* *
* @param orderBean * @param orderBean
......
...@@ -16,6 +16,7 @@ import cn.freemud.adapter.OrderAdapter; ...@@ -16,6 +16,7 @@ import cn.freemud.adapter.OrderAdapter;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.dto.OrderExtInfoDto; import cn.freemud.entities.dto.OrderExtInfoDto;
import cn.freemud.entities.dto.OrderRefundDto; import cn.freemud.entities.dto.OrderRefundDto;
import cn.freemud.entities.dto.QueryOrderByIdResponseDto;
import cn.freemud.entities.dto.QueryOrdersResponseDto; import cn.freemud.entities.dto.QueryOrdersResponseDto;
import cn.freemud.entities.dto.activity.ShareDiscountActivityDto; import cn.freemud.entities.dto.activity.ShareDiscountActivityDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto; import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
...@@ -27,12 +28,11 @@ import cn.freemud.service.impl.OrderServiceImpl; ...@@ -27,12 +28,11 @@ import cn.freemud.service.impl.OrderServiceImpl;
import cn.freemud.service.thirdparty.PaymentClient; import cn.freemud.service.thirdparty.PaymentClient;
import cn.freemud.utils.ValidationCode; import cn.freemud.utils.ValidationCode;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.freemud.sdk.api.assortment.order.request.order.AssortmentGroupCreateOrderRequest; import com.alibaba.fastjson.JSONObject;
import com.freemud.sdk.api.assortment.order.request.order.AssortmentGroupOrderAffirmRequest; import com.freemud.sdk.api.assortment.order.request.order.*;
import com.freemud.sdk.api.assortment.order.request.order.AssortmentGroupOrderClearRequest;
import com.freemud.sdk.api.assortment.order.request.order.CancelOrderRequest;
import com.freemud.sdk.api.assortment.order.response.order.AssortmentAffirmGroupOrderResponse; import com.freemud.sdk.api.assortment.order.response.order.AssortmentAffirmGroupOrderResponse;
import com.freemud.sdk.api.assortment.order.response.order.CreateOrderResponse; import com.freemud.sdk.api.assortment.order.response.order.CreateOrderResponse;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrderByIdResponse;
import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService; import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.google.gson.Gson; import com.google.gson.Gson;
...@@ -76,6 +76,23 @@ public class OrderServiceTest { ...@@ -76,6 +76,23 @@ public class OrderServiceTest {
System.out.println("baseResponse : " + baseResponse); System.out.println("baseResponse : " + baseResponse);
} }
@Test
public void sendApplyRefundSubscriptionNoticeTest() {
OrderRefundRequest request = new OrderRefundRequest();
request.setReason("下错单");
request.setRemark("不要了");
BaseQueryOrderRequest baseQueryOrderRequest = new BaseQueryOrderRequest();
baseQueryOrderRequest.setOrderId("16420126386356464000002");
QueryOrderByIdResponse queryOrderByIdResponse = orderCenterSdkService.queryOrderById(baseQueryOrderRequest);
String string = JSONObject.toJSONString(queryOrderByIdResponse);
JSONObject jsonObject = JSONObject.parseObject(string);
QueryOrderByIdResponseDto orderByIdResponseDto = jsonObject.toJavaObject(QueryOrderByIdResponseDto.class);
QueryOrdersResponseDto.DataBean.OrderBean orderBean = orderByIdResponseDto.getData();
orderService.sendApplyRefundSubscriptionNotice(orderBean,request);
}
@Test @Test
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment