From 4e4af90184f5fa5b40d87e2d08d9192bfd237ef0 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 30 四月 2021 19:13:58 +0800 Subject: [PATCH] 拼多多备案,京东、拼多多,唯品会,苏宁支持小程序跳转 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/msg/UserOrderMsgNotificationServiceImpl.java | 405 ++++++++++++++++++++++++--------------------------------- 1 files changed, 174 insertions(+), 231 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/msg/UserOrderMsgNotificationServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/msg/UserOrderMsgNotificationServiceImpl.java index 4cc82b2..64c4944 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/msg/UserOrderMsgNotificationServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/msg/UserOrderMsgNotificationServiceImpl.java @@ -1,231 +1,174 @@ -package com.yeshi.fanli.service.impl.order.msg; - -import java.math.BigDecimal; -import java.util.Date; - -import javax.annotation.Resource; - -import org.springframework.stereotype.Service; - -import com.yeshi.fanli.dto.push.PushContentDTO; -import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail; -import com.yeshi.fanli.entity.config.push.PushMsgFactory; -import com.yeshi.fanli.exception.msg.MsgOrderDetailException; -import com.yeshi.fanli.exception.push.PushException; -import com.yeshi.fanli.service.inter.order.msg.MsgOrderDetailService; -import com.yeshi.fanli.service.inter.order.msg.UserOrderMsgNotificationService; -import com.yeshi.fanli.service.inter.push.PushService; -import com.yeshi.fanli.util.factory.msg.MsgOrderDetailFactory; - -@Service -public class UserOrderMsgNotificationServiceImpl implements UserOrderMsgNotificationService { - - @Resource - private MsgOrderDetailService msgOrderDetailService; - - @Resource - private PushService pushService; - - @Override - public void orderFanLiStatistic(Long uid, String orderId, int orderType, BigDecimal payMoney, BigDecimal money, - int goodsCount, int orderState) { - MsgOrderDetail detail = MsgOrderDetailFactory.createFanLiOrder(uid, orderId, orderType, goodsCount, orderState, - payMoney, money, null); - try { - msgOrderDetailService.addMsgOrderDetail(detail, - (payMoney == null || payMoney.compareTo(new BigDecimal(0)) <= 0) ? false : true); - } catch (MsgOrderDetailException e) { - e.printStackTrace(); - } - - if (payMoney != null && payMoney.compareTo(new BigDecimal(0)) > 0) { - PushContentDTO dto = PushMsgFactory.createFanLiOrderStatisticed(orderType, orderId, money); - try { - pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null); - } catch (NumberFormatException e) { - e.printStackTrace(); - } catch (PushException e) { - e.printStackTrace(); - } - } - } - - @Override - public void orderFanLiStateChanged(Long uid, String orderId, int orderType, BigDecimal payMoney, BigDecimal money, - int orderState) { - MsgOrderDetail detail = MsgOrderDetailFactory.createFanLiOrder(uid, orderId, orderType, 0, orderState, payMoney, - money, null); - // 鏆傛椂涓嶆帹閫� - try { - msgOrderDetailService.updateMsgOrderDetail(detail, false); - } catch (MsgOrderDetailException e) { - e.printStackTrace(); - } - - } - - @Override - public void orderShareStatistic(Long uid, String orderId, int orderType, BigDecimal payMoney, BigDecimal money, - int goodsCount, int orderState) { - MsgOrderDetail detail = MsgOrderDetailFactory.createShareOrder(uid, orderId, orderType, goodsCount, orderState, - payMoney, money, null); - try { - msgOrderDetailService.addMsgOrderDetail(detail, - (payMoney == null || payMoney.compareTo(new BigDecimal(0)) <= 0) ? false : true); - } catch (MsgOrderDetailException e) { - e.printStackTrace(); - } - - PushContentDTO dto = PushMsgFactory.createFanLiOrderStatisticed(orderType, orderId, money); - try { - pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null); - } catch (NumberFormatException e) { - e.printStackTrace(); - } catch (PushException e) { - e.printStackTrace(); - } - - } - - @Override - public void orderShareStateChanged(Long uid, String orderId, int orderType, BigDecimal payMoney, BigDecimal money, - int orderState) { - MsgOrderDetail detail = MsgOrderDetailFactory.createShareOrder(uid, orderId, orderType, 0, orderState, payMoney, - money, null); - // 鏆傛椂涓嶆帹閫� - // try { - // msgOrderDetailService.updateMsgOrderDetail(detail, false); - // } catch (MsgOrderDetailException e) { - // e.printStackTrace(); - // } - - } - - @Override - public void orderInviteStatistic(Long uid, String orderId, int orderType, BigDecimal payMoney, BigDecimal money, - int goodsCount, int orderState) { - MsgOrderDetail detail = MsgOrderDetailFactory.createInviteOrder(uid, orderId, orderType, goodsCount, orderState, - payMoney, money, null); - try { - msgOrderDetailService.addMsgOrderDetail(detail, - (money == null || money.compareTo(new BigDecimal(0)) <= 0) ? false : true); - } catch (MsgOrderDetailException e) { - e.printStackTrace(); - } - - PushContentDTO dto = PushMsgFactory.createInviteOrderStatisticed(orderType, orderId, money); - try { - pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null); - } catch (NumberFormatException e) { - e.printStackTrace(); - } catch (PushException e) { - e.printStackTrace(); - } - } - - @Override - public void orderInviteStateChanged(Long uid, String orderId, int orderType, BigDecimal payMoney, BigDecimal money, - int orderState) { - MsgOrderDetail detail = MsgOrderDetailFactory.createInviteOrder(uid, orderId, orderType, 0, orderState, - payMoney, money, null); - // 鏆傛椂涓嶆帹閫� - // try { - // msgOrderDetailService.updateMsgOrderDetail(detail, false); - // } catch (MsgOrderDetailException e) { - // e.printStackTrace(); - // } - - } - - private String getShortName(String name) { - if (name != null && name.length() > 2) { - return name.charAt(0) + "**" + name.charAt(name.length() - 1); - } - return name; - } - - @Override - public void orderShareFirstLevelStatistic(Long uid, String orderId, int orderType, BigDecimal payMoney, - BigDecimal money, int goodsCount, int orderState, String sourceUserName) { - MsgOrderDetail detail = MsgOrderDetailFactory.createInviteOrder(uid, orderId, orderType, goodsCount, orderState, - payMoney, money, String.format("鐢变竴绾ч槦鍛樸��%s銆戝垎浜�", getShortName(sourceUserName))); - try { - msgOrderDetailService.addMsgOrderDetail(detail, - (money == null || money.compareTo(new BigDecimal(0)) <= 0) ? false : true); - } catch (MsgOrderDetailException e) { - e.printStackTrace(); - } - - PushContentDTO dto = PushMsgFactory.createInviteOrderStatisticed(orderType, orderId, money); - try { - pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null); - } catch (NumberFormatException e) { - e.printStackTrace(); - } catch (PushException e) { - e.printStackTrace(); - } - - } - - @Override - public void orderShareFirstLevelStateChanged(Long uid, String orderId, int orderType, BigDecimal payMoney, - BigDecimal money, int orderState) { - MsgOrderDetail detail = MsgOrderDetailFactory.createInviteOrder(uid, orderId, orderType, 0, orderState, - payMoney, money, null); - // 鏆傛椂涓嶆帹閫� - // try { - // msgOrderDetailService.updateMsgOrderDetail(detail, false); - // } catch (MsgOrderDetailException e) { - // e.printStackTrace(); - // } - } - - @Override - public void orderFoundSuccess(Long uid, String orderId, BigDecimal payMoney, int orderType, Date happendDate) { - MsgOrderDetail detail = MsgOrderDetailFactory.createFoundOrder(uid, orderId, true, payMoney, orderType, - happendDate, "濡傛湁鐤戦棶璇疯仈绯讳汉宸ュ鏈�"); - try { - msgOrderDetailService.addMsgOrderDetail(detail, true); - } catch (MsgOrderDetailException e) { - e.printStackTrace(); - } - } - - @Override - public void orderFoundFail(Long uid, String orderId, BigDecimal payMoney, int orderType, Date happendDate) { - MsgOrderDetail detail = MsgOrderDetailFactory.createFoundOrder(uid, orderId, false, payMoney, orderType, - happendDate, "濡傛湁鐤戦棶璇疯仈绯讳汉宸ュ鏈�"); - try { - msgOrderDetailService.addMsgOrderDetail(detail, true); - } catch (MsgOrderDetailException e) { - e.printStackTrace(); - } - } - - @Override - public void orderElmeStatistic(Long uid, String orderId, int orderType, BigDecimal payMoney, BigDecimal money, - int orderState) { - MsgOrderDetail detail = MsgOrderDetailFactory.createElmeOrder(uid, orderId, orderType, orderState, payMoney, - money, null); - try { - msgOrderDetailService.addMsgOrderDetail(detail, - (payMoney == null || payMoney.compareTo(new BigDecimal(0)) <= 0) ? false : true); - } catch (MsgOrderDetailException e) { - e.printStackTrace(); - } - } - - @Override - public void orderElmeStateChanged(Long uid, String orderId, int orderType, BigDecimal payMoney, BigDecimal money, - int orderState) { - MsgOrderDetail detail = MsgOrderDetailFactory.createElmeOrder(uid, orderId, orderType, orderState, payMoney, - money, null); - // 鏆傛椂涓嶆帹閫� - try { - msgOrderDetailService.updateMsgOrderDetail(detail, false); - } catch (MsgOrderDetailException e) { - e.printStackTrace(); - } - } - -} +package com.yeshi.fanli.service.impl.order.msg; + +import java.math.BigDecimal; +import java.util.Date; + +import javax.annotation.Resource; + +import com.yeshi.fanli.entity.SystemEnum; +import com.yeshi.fanli.service.inter.user.UserInfoService; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import com.yeshi.fanli.dto.push.PushContentDTO; +import com.yeshi.fanli.entity.bus.msg.MsgOrderDetail; +import com.yeshi.fanli.entity.config.push.PushMsgFactory; +import com.yeshi.fanli.exception.msg.MsgOrderDetailException; +import com.yeshi.fanli.exception.push.PushException; +import com.yeshi.fanli.service.inter.order.msg.MsgOrderDetailService; +import com.yeshi.fanli.service.inter.order.msg.UserOrderMsgNotificationService; +import com.yeshi.fanli.service.inter.push.PushService; +import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.factory.msg.MsgOrderDetailFactory; + +@Service +public class UserOrderMsgNotificationServiceImpl implements UserOrderMsgNotificationService { + + @Resource + private MsgOrderDetailService msgOrderDetailService; + + @Resource + private PushService pushService; + + @Resource + private UserInfoService userInfoService; + + + @Override + public void orderFanLiStatistic(Long uid, String orderId, int orderType, BigDecimal payMoney, BigDecimal money, + int goodsCount, int orderState, Date downTime) { + // 鏄惁閫氱煡 + boolean needNotify = (payMoney != null && payMoney.compareTo(new BigDecimal(0)) > 0) ? true : false; + // 淇濆瓨娑堟伅鏄庣粏娑堟伅 + addOrderStatistics(uid, orderId, orderType, Constant.TYPE_REBATE, goodsCount, payMoney, money, downTime, null, needNotify); + + SystemEnum system = userInfoService.getUserSystem(uid); + + if (needNotify) { + PushContentDTO dto = PushMsgFactory.createFanLiOrderStatisticed(orderType, orderId, money); + try { + pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null, system); + } catch (NumberFormatException e) { + e.printStackTrace(); + } catch (PushException e) { + e.printStackTrace(); + } + } + } + + + @Override + public void orderShareStatistic(Long uid, String orderId, int orderType, BigDecimal payMoney, BigDecimal money, + int goodsCount, int orderState, Date downTime) { + // 鏄惁閫氱煡 + boolean needNotify = (payMoney != null && payMoney.compareTo(new BigDecimal(0)) > 0) ? true : false; + // 淇濆瓨娑堟伅鏄庣粏娑堟伅 + addOrderStatistics(uid, orderId, orderType, Constant.TYPE_SHAER, goodsCount, payMoney, money, downTime, null, needNotify); + + SystemEnum system = userInfoService.getUserSystem(uid); + + PushContentDTO dto = PushMsgFactory.createShareOrderStatisticed(orderType, orderId, money); + try { + pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null, system); + } catch (NumberFormatException e) { + e.printStackTrace(); + } catch (PushException e) { + e.printStackTrace(); + } + + } + + + @Override + public void orderInviteStatistic(Long uid, String orderId, int orderType, BigDecimal payMoney, BigDecimal money, + BigDecimal subsidy, int goodsCount, int orderState, Date downTime) { + BigDecimal totalMoney = new BigDecimal(0); + if (money != null) { + totalMoney = totalMoney.add(money); + } + if (subsidy != null) { + totalMoney = totalMoney.add(subsidy); + } + + if (totalMoney.compareTo(new BigDecimal(0)) <= 0) { + return; + } + + SystemEnum system = userInfoService.getUserSystem(uid); + + // 淇濆瓨娑堟伅鏄庣粏娑堟伅 + addOrderStatistics(uid, orderId, orderType, Constant.TYPE_INVITE, goodsCount, payMoney, totalMoney, downTime, null, true); + + PushContentDTO dto = PushMsgFactory.createInviteOrderStatisticed(orderType, orderId, money); + try { + pushService.pushZNX(uid, dto.getTitle(), dto.getContent(), null, null, system); + } catch (NumberFormatException e) { + e.printStackTrace(); + } catch (PushException e) { + e.printStackTrace(); + } + } + + /** + * 鍒涘缓璁㈠崟琚粺璁℃秷鎭� + * + * @param uid + * @param orderId 璁㈠崟鍙� + * @param source 璁㈠崟鏉ユ簮锛氭窐瀹濄�佷含涓溿�佸ぉ鐚� + * @param type 璁㈠崟绫诲瀷锛氳嚜璐�佸垎浜�佸洟闃� + * @param goodsCount 鍟嗗搧鏁伴噺 + * @param payMoney 浠樻閲戦 + * @param money 杩斿埄閲戦 + * @param downTime 涓嬪崟鏃堕棿 + * @param beiZhu 澶囨敞淇℃伅 - 闈炲繀濉� + * @return + */ + @Transactional(rollbackFor = Exception.class) + private void addOrderStatistics(Long uid, String orderId, int source, int type, int goodsCount, + BigDecimal payMoney, BigDecimal money, Date downTime, String beiZhu, boolean needNotify) { + try { + MsgOrderDetail detail = MsgOrderDetailFactory.createOrderStatistics(uid, orderId, source, type, goodsCount, payMoney, money, downTime, beiZhu); + // 娑堟伅 + msgOrderDetailService.addMsgOrderDetail(detail, needNotify); + } catch (MsgOrderDetailException e) { + e.printStackTrace(); + } + } + + + @Override + @Transactional(rollbackFor = Exception.class) + public void orderFoundSuccess(Long uid, String orderId, int orderSource, int type, BigDecimal payMoney, BigDecimal money, int goodsCount, Date submitTime) { + try { + MsgOrderDetail detail = MsgOrderDetailFactory.createOrderFoundSuccess(uid, orderId, orderSource, type, goodsCount, payMoney, money, submitTime, ""); + // 娑堟伅 + msgOrderDetailService.addMsgOrderDetail(detail, true); + } catch (MsgOrderDetailException e) { + e.printStackTrace(); + } + + } + + @Override + public void orderFoundFail(Long uid, String orderId) { + try { + MsgOrderDetail detail = MsgOrderDetailFactory.createOrderFoundFail(uid, orderId, ""); + // 娑堟伅 + msgOrderDetailService.addMsgOrderDetail(detail, true); + } catch (MsgOrderDetailException e) { + e.printStackTrace(); + } + } + + + @Override + public void orderInvalidToBusinessRunning(Long uid, String orderId, int orderSource, int type) { + try { + MsgOrderDetail detail = MsgOrderDetailFactory.orderInvalidToBusinessRunning(uid, orderId, orderSource, type); + // 娑堟伅 + msgOrderDetailService.addMsgOrderDetail(detail, true); + } catch (MsgOrderDetailException e) { + e.printStackTrace(); + } + } +} -- Gitblit v1.8.0