个推推送
This commit is contained in:
parent
a757e65002
commit
dcd8fe9b66
@ -1,7 +1,7 @@
|
||||
package com.suisung.mall.account.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.suisung.mall.common.modules.singlepush.AccountUserBindGeTui;
|
||||
import com.suisung.mall.common.modules.account.AccountUserBindGeTui;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
@Repository
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
package com.suisung.mall.account.service;
|
||||
|
||||
import com.suisung.mall.common.modules.singlepush.AccountUserBindGeTui;
|
||||
import com.suisung.mall.common.modules.account.AccountUserBindGeTui;
|
||||
import com.suisung.mall.core.web.service.IBaseService;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -16,8 +16,8 @@ import com.getui.push.v2.sdk.dto.req.message.ios.IosDTO;
|
||||
import com.suisung.mall.account.service.AccountSinglePushService;
|
||||
import com.suisung.mall.account.service.AccountUserBindGeTuiService;
|
||||
import com.suisung.mall.common.api.CommonResult;
|
||||
import com.suisung.mall.common.modules.account.AccountUserBindGeTui;
|
||||
import com.suisung.mall.common.modules.push.PushTemplate;
|
||||
import com.suisung.mall.common.modules.singlepush.AccountUserBindGeTui;
|
||||
import com.suisung.mall.common.service.impl.SinglePushBaseServiceImpl;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -50,7 +50,6 @@ import com.suisung.mall.common.modules.distribution.ShopDistributionUser;
|
||||
import com.suisung.mall.common.modules.distribution.ShopDistributionUserCommission;
|
||||
import com.suisung.mall.common.modules.pay.PayUserResource;
|
||||
import com.suisung.mall.common.modules.plantform.ShopPlantformSubsiteUser;
|
||||
import com.suisung.mall.common.modules.singlepush.AccountUserBindGeTui;
|
||||
import com.suisung.mall.common.pojo.dto.SmsDto;
|
||||
import com.suisung.mall.common.pojo.req.WxUserInfoReq;
|
||||
import com.suisung.mall.common.service.MessageService;
|
||||
|
||||
@ -5,7 +5,7 @@ import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.suisung.mall.account.mapper.UserDeviceBindMapper;
|
||||
import com.suisung.mall.account.service.AccountUserBindGeTuiService;
|
||||
import com.suisung.mall.common.modules.singlepush.AccountUserBindGeTui;
|
||||
import com.suisung.mall.common.modules.account.AccountUserBindGeTui;
|
||||
import com.suisung.mall.core.web.service.impl.BaseServiceImpl;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -1,4 +1,12 @@
|
||||
package com.suisung.mall.common.modules.singlepush;
|
||||
/*
|
||||
* Copyright (c) 2025. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
|
||||
* Morbi non lorem porttitor neque feugiat blandit. Ut vitae ipsum eget quam lacinia accumsan.
|
||||
* Etiam sed turpis ac ipsum condimentum fringilla. Maecenas magna.
|
||||
* Proin dapibus sapien vel ante. Aliquam erat volutpat. Pellentesque sagittis ligula eget metus.
|
||||
* Vestibulum commodo. Ut rhoncus gravida arcu.
|
||||
*/
|
||||
|
||||
package com.suisung.mall.common.modules.account;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
@ -15,6 +15,7 @@ import org.springframework.amqp.core.Message;
|
||||
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
|
||||
import org.springframework.amqp.rabbit.annotation.RabbitListener;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.data.util.Pair;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -35,15 +36,19 @@ public class OrderPayedListener {
|
||||
|
||||
private static final Logger logger = LoggerFactory.getLogger(OrderPayedListener.class);
|
||||
|
||||
@Lazy
|
||||
@Autowired
|
||||
private ShopOrderBaseService shopOrderBaseService;
|
||||
|
||||
@Lazy
|
||||
@Autowired
|
||||
private ShopOrderInfoService shopOrderInfoService;
|
||||
|
||||
@Lazy
|
||||
@Autowired
|
||||
private SFExpressApiService sfExpressApiService;
|
||||
|
||||
|
||||
/**
|
||||
* RabbitMQ 消息监听入口方法
|
||||
*
|
||||
@ -189,6 +194,11 @@ public class OrderPayedListener {
|
||||
}
|
||||
|
||||
logger.debug("顺丰同城下单成功");
|
||||
|
||||
// 个推推送消息
|
||||
sfExpressApiService.pushMessageToStoreEmployee(null, orderId, "顺丰同城订单[" + orderId + "]已完成配送。", "");
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -148,5 +148,5 @@ public interface SFExpressApiService {
|
||||
* @param payloadJson
|
||||
* @return
|
||||
*/
|
||||
void pushMessage2Employee(Integer storeId, String orderId, String message, String payloadJson);
|
||||
void pushMessageToStoreEmployee(Integer storeId, String orderId, String message, String payloadJson);
|
||||
}
|
||||
|
||||
@ -27,7 +27,6 @@ import com.suisung.mall.common.service.GeTuiPushService;
|
||||
import com.suisung.mall.common.utils.CommonUtil;
|
||||
import com.suisung.mall.common.utils.I18nUtil;
|
||||
import com.suisung.mall.common.utils.JsonUtil;
|
||||
import com.suisung.mall.common.utils.SseEmitterUtil;
|
||||
import com.suisung.mall.shop.order.service.ShopOrderBaseService;
|
||||
import com.suisung.mall.shop.order.service.ShopOrderInfoService;
|
||||
import com.suisung.mall.shop.sfexpress.service.SFExpressApiService;
|
||||
@ -581,7 +580,7 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
|
||||
return new ThirdApiRes().fail(2002, "请求签名sign校验失败!");
|
||||
}
|
||||
|
||||
logger.info("接收顺丰配送状态更改回调返回的 JSON 数据:{}", jsonData);
|
||||
logger.debug("接收顺丰配送状态更改回调返回的 JSON 数据:{}", jsonData);
|
||||
|
||||
// 更改顺丰同城订单状态
|
||||
ShopStoreSfOrder shopStoreSfOrder = toShopStoreSfOrder(jsonData);
|
||||
@ -590,7 +589,7 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
|
||||
Map<String, Object> params = new HashMap<>();
|
||||
params.put("order_id", shopStoreSfOrder.getSf_order_id());
|
||||
ThirdApiRes feedRes = listOrderFeed(params);
|
||||
logger.info("获取配送员物流轨迹:{}", feedRes);
|
||||
// logger.debug("获取配送员物流轨迹:{}", feedRes);
|
||||
if (feedRes != null && feedRes.getError_code().equals(0)) {
|
||||
JSONObject result = JSONUtil.parseObj(feedRes.getResult());
|
||||
if (result != null && result.get("feed") != null) {
|
||||
@ -607,28 +606,33 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
|
||||
Integer orderStatus = 0;
|
||||
Integer orderIsOutStatus = 0;
|
||||
Integer orderIsShippedStatus = 0;
|
||||
String pushRemark = "配送有变动,请留意。";
|
||||
if (shopStoreSfOrder.getOrder_status().equals(StateCode.SF_ORDER_STATUS_RECEIVING)) {
|
||||
// 顺丰同城状态:10-配送员接单/配送员改派;
|
||||
// 商城订单状态:从 2016-已经付款 到 2020-待配货;
|
||||
orderStatus = StateCode.ORDER_STATE_PICKING;
|
||||
orderIsOutStatus = 0;
|
||||
orderIsShippedStatus = 0;
|
||||
pushRemark = "配送员已接单。";
|
||||
} else if (shopStoreSfOrder.getOrder_status().equals(StateCode.SF_ORDER_STATUS_ARRIVED)) {
|
||||
// 顺丰同城状态:12-配送员到店;
|
||||
// 商城订单状态:从 2020-待配货 到 2030; //待发货
|
||||
orderStatus = StateCode.ORDER_STATE_WAIT_SHIPPING;
|
||||
orderIsOutStatus = StateCode.ORDER_PICKING_STATE_YES; // 已出库
|
||||
orderIsShippedStatus = 0;
|
||||
pushRemark = "配送员已到店。";
|
||||
} else if (shopStoreSfOrder.getOrder_status().equals(StateCode.SF_ORDER_STATUS_RECEIVED)) {
|
||||
// 顺丰同城状态:15-配送员配送中(已取货)
|
||||
// 商城订单状态:从 2030-待发货 到 2040-已发货/待收货确认
|
||||
orderStatus = StateCode.ORDER_STATE_SHIPPED;
|
||||
orderIsOutStatus = 0;
|
||||
orderIsShippedStatus = StateCode.ORDER_SHIPPED_STATE_YES; // 已发货
|
||||
pushRemark = "配送员已取货。";
|
||||
} else if (shopStoreSfOrder.getOrder_status().equals(StateCode.SF_ORDER_STATUS_FINISH)) {
|
||||
// 顺丰同城状态:17-配送员妥投完单;
|
||||
// 通知微信用户确认收货
|
||||
wxOrderShippingService.notifyConfirmReceive(shopStoreSfOrder.getShop_order_id());
|
||||
pushRemark = "已完成配送";
|
||||
}
|
||||
|
||||
success = shopOrderInfoService.changeOrderStatus(shopStoreSfOrder.getShop_order_id(), orderStatus, orderIsOutStatus, orderIsShippedStatus);
|
||||
@ -638,9 +642,12 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
|
||||
|
||||
// 注:状态更改之后,给 SSE 监听服务发送更改的数据
|
||||
// logger.debug("准备发送SSE消息...");
|
||||
SseEmitterUtil.sendMessage(shopStoreSfOrder.getSf_order_id(), jsonData);
|
||||
// SseEmitterUtil.sendMessage(shopStoreSfOrder.getSf_order_id(), jsonData);
|
||||
// logger.debug("向 SSE 通道 {} 发送了:{}", shopStoreSfOrder.getSf_order_id(), jsonData);
|
||||
|
||||
// 个推消息推送
|
||||
pushMessageToStoreEmployee(null, shopStoreSfOrder.getShop_order_id(), "顺丰同城订单[" + shopStoreSfOrder.getShop_order_id() + "]" + pushRemark, "");
|
||||
|
||||
return new ThirdApiRes().success("success");
|
||||
}
|
||||
|
||||
@ -709,14 +716,15 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
|
||||
// 注:状态更改之后,给 SSE 监听服务发送更改的数据
|
||||
// logger.debug("准备发送SSE消息...");
|
||||
// SseEmitterUtil.sendMessage(shopStoreSfOrder.getSf_order_id(), jsonData);
|
||||
|
||||
// 个推消息推送
|
||||
pushMessage2Employee(null, shopStoreSfOrder.getShop_order_id(), "顺丰同城订单[" + shopStoreSfOrder.getShop_order_id() + "]已完成配送。", jsonData);
|
||||
pushMessageToStoreEmployee(null, shopStoreSfOrder.getShop_order_id(), "顺丰同城订单[" + shopStoreSfOrder.getShop_order_id() + "]已完成配送。", "");
|
||||
|
||||
return new ThirdApiRes().success("success");
|
||||
}
|
||||
|
||||
/**
|
||||
* 个推推送消息到员工
|
||||
* 个推推送消息到店铺员工
|
||||
*
|
||||
* @param storeId
|
||||
* @param orderId
|
||||
@ -725,7 +733,7 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public void pushMessage2Employee(Integer storeId, String orderId, String message, String payloadJson) {
|
||||
public void pushMessageToStoreEmployee(Integer storeId, String orderId, String message, String payloadJson) {
|
||||
try {
|
||||
List<String> cidList = shopStoreEmployeeService.selectEmployeeGeTuiCidByStoreId(storeId, orderId, false);
|
||||
if (CollUtil.isEmpty(cidList)) {
|
||||
@ -733,6 +741,10 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
|
||||
return;
|
||||
}
|
||||
|
||||
if (StrUtil.isBlank(payloadJson)) {
|
||||
payloadJson = new JSONObject().set("page", "orderDetail").set("orderId", orderId).set("storeId", storeId).toString();
|
||||
}
|
||||
|
||||
// 推送消息到员工
|
||||
Pair<Boolean, String> result = geTuiPushService.pushListMessageToCids(cidList, "", message, "payload", payloadJson);
|
||||
if (!result.getFirst()) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user