From 81da61b828e29b7745e1382dfbbaeb685dc083ef Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 23 一月 2024 17:17:55 +0800 Subject: [PATCH] 抖音转链修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java | 393 +++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 316 insertions(+), 77 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java index 54323a3..31e7355 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java @@ -1,6 +1,7 @@ package com.yeshi.fanli.service.impl.order; import java.math.BigDecimal; +import java.math.RoundingMode; import java.util.ArrayList; import java.util.Date; import java.util.HashMap; @@ -13,7 +14,12 @@ import javax.annotation.Resource; +import com.yeshi.fanli.entity.SystemEnum; +import com.yeshi.fanli.entity.SystemPIDInfo; +import com.yeshi.fanli.entity.dy.DYOrder; +import com.yeshi.fanli.service.manger.PIDManager; import com.yeshi.fanli.service.manger.order.TeamRewardManager; +import com.yeshi.fanli.util.goods.douyin.DYUtil; import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; @@ -167,18 +173,24 @@ @Resource private TeamRewardManager teamRewardManager; + @Resource + private PIDManager pidManager; + /** * 鏄惁鏄垎浜鍗� * * @param order * @return */ - private boolean isShareOrder(TaoBaoOrder order) { + private boolean isShareOrder(SystemEnum system, TaoBaoOrder order) { + + String specialRelationId = pidManager.getPidCache(system, Constant.SOURCE_TYPE_TAOBAO, SystemPIDInfo.PidType.fanliChannel); + List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID); String pid = String.format("mm_%s_%s_%s", configList.get(0).getAccountId(), order.getSourceMediaId(), order.getAdPositionId()); if (!StringUtil.isNullOrEmpty(order.getSpecialId()) - || pid.equalsIgnoreCase(TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID)) {// 璁剧疆娓犻亾ID褰撳仛浼氬憳杩愯惀ID鐨勪綅缃甀D + || pid.equalsIgnoreCase(specialRelationId)) {// 璁剧疆娓犻亾ID褰撳仛浼氬憳杩愯惀ID鐨勪綅缃甀D return false; } else if (!StringUtil.isNullOrEmpty(order.getRelationId())) { return true; @@ -198,6 +210,44 @@ } } + //鑾峰彇鎺ㄥ箍浣嶇被鍨� + private SystemPIDInfo.PidType getPidType(int sourceType, String pid) { + List<SystemPIDInfo> pidInfoList = pidManager.listPidInfoByPidCache(pid, sourceType); + if ((pidInfoList == null || pidInfoList.size() == 0) && sourceType == Constant.SOURCE_TYPE_TAOBAO) { + pidInfoList = pidManager.listPidInfoByPidCache(pid, Constant.SOURCE_TYPE_ELME); + } + + SystemPIDInfo.PidType pidType = null; + if (pidInfoList != null && pidInfoList.size() > 0) { + pidType = pidInfoList.get(0).getPidType(); + } + return pidType; + } + + //鏍规嵁PID鑾峰彇绯荤粺 + private List<SystemEnum> getPidSystems(String pid) { + List<SystemEnum> systemList = new ArrayList<>(); + List<SystemPIDInfo> pidInfoList = pidManager.listPidInfoByPidCache(pid, null); + + if (pidInfoList != null) { + for (SystemPIDInfo pidInfo : pidInfoList) { + systemList.add(pidInfo.getSystem()); + } + } + return systemList; + } + + private Set<Integer> getPidSourceTypes(String pid) { + Set<Integer> sourceTypes = new HashSet<>(); + List<SystemPIDInfo> pidInfoList = pidManager.listPidInfoByPidCache(pid, null); + if (pidInfoList != null) { + for (SystemPIDInfo pidInfo : pidInfoList) { + sourceTypes.add(pidInfo.getSourceType()); + } + } + return sourceTypes; + } + @Override public synchronized void processOrder(Map<String, List<TaoBaoOrder>> orders) { List<TaoBaoUnionConfig> configList = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID); @@ -214,37 +264,48 @@ List<TaoBaoOrder> list = orders.get(orderId); String pid = String.format("mm_%s_%s_%s", configList.get(0).getAccountId(), list.get(0).getSourceMediaId(), list.get(0).getAdPositionId()); - if ("楗夸簡涔�".equalsIgnoreCase(list.get(0).getOrderType()) - && !pid.equalsIgnoreCase(TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT)) { - // 楗夸簡涔堣鍗曞紑濮嬪綊鍏ュ埌娣樺疂璁㈠崟 - if (TimeUtil.convertToTimeTemp(list.get(0).getCreateTime(), - "yyyy-MM-dd HH:mm:ss") >= Constant.NEW_ORDER_FANLI_RULE_TIME) { - fanliOrderMap.put(orderId, list); - } else { - elmeOrderMap.put(orderId, list); - } - } else if ("鍙g".equalsIgnoreCase(list.get(0).getOrderType()) - && pid.equalsIgnoreCase(TaoBaoConstant.TAOBAO_KOUBEI_PID)) {// 鍙g鑷喘 - fanliOrderMap.put(orderId, list); - } else { - if (!StringUtil.isNullOrEmpty(list.get(0).getSpecialId()) - || pid.equalsIgnoreCase(TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID)) {// 璁剧疆娓犻亾ID褰撳仛浼氬憳杩愯惀ID鐨勪綅缃甀D - fanliOrderMap.put(orderId, list); - } else if (!StringUtil.isNullOrEmpty(list.get(0).getRelationId())) { - shareOrderMap.put(orderId, list); - } else { - // 閫氳繃绾㈠寘鏌ヨ - CommonOrder commonOrder = commonOrderService - .selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO, list.get(0).getTradeId()); - if (commonOrder != null) { - HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrder.getId()); - if (hongBaoOrder != null && hongBaoOrder.getHongBaoV2() != null - && hongBaoOrder.getHongBaoV2().getType() == HongBaoV2.TYPE_SHARE_GOODS) { - shareOrderMap.put(orderId, list); - continue; - } + + SystemPIDInfo.PidType pidType = getPidType(Constant.SOURCE_TYPE_TAOBAO, pid); + + //--------鍒嗙鑷喘,鍒嗕韩,楗夸簡涔堣鍗曠被鍨�------- + if (pidType != null) { + if ("楗夸簡涔�".equalsIgnoreCase(list.get(0).getOrderType()) + && pidType != SystemPIDInfo.PidType.share) { + // 楗夸簡涔堣鍗曞紑濮嬪綊鍏ュ埌娣樺疂璁㈠崟 + if (TimeUtil.convertToTimeTemp(list.get(0).getCreateTime(), + "yyyy-MM-dd HH:mm:ss") >= Constant.NEW_ORDER_FANLI_RULE_TIME) { + fanliOrderMap.put(orderId, list); + } else { + elmeOrderMap.put(orderId, list); } + } else { + if (!StringUtil.isNullOrEmpty(list.get(0).getSpecialId()) + || pidType == SystemPIDInfo.PidType.fanliChannel) {// 璁剧疆娓犻亾ID褰撳仛浼氬憳杩愯惀ID鐨勪綅缃甀D + fanliOrderMap.put(orderId, list); + } else if (!StringUtil.isNullOrEmpty(list.get(0).getRelationId())) { + shareOrderMap.put(orderId, list); + } else { + // 閫氳繃绾㈠寘鏌ヨ + CommonOrder commonOrder = commonOrderService + .selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO, list.get(0).getTradeId()); + + if (commonOrder != null) { + HongBaoOrder hongBaoOrder = hongBaoOrderMapper.selectByCommonOrderId(commonOrder.getId()); + if (hongBaoOrder != null && hongBaoOrder.getHongBaoV2() != null + && hongBaoOrder.getHongBaoV2().getType() == HongBaoV2.TYPE_SHARE_GOODS) { + shareOrderMap.put(orderId, list); + continue; + } + } + fanliOrderMap.put(orderId, list); + } + } + } else { + if ("鍙g".equalsIgnoreCase(list.get(0).getOrderType()) + && pid.equalsIgnoreCase(TaoBaoConstant.TAOBAO_KOUBEI_PID)) {// 鍙g鑷喘 + fanliOrderMap.put(orderId, list); + } else { fanliOrderMap.put(orderId, list); } } @@ -628,7 +689,7 @@ } @Override - public void fanliShare(Date maxTime) { + public int fanliShare(Date maxTime) { // 鏌ュ嚭閭�璇疯禋鐨勭敤鎴稩D List<Integer> typeList = new ArrayList<>(); typeList.add(HongBaoV2.TYPE_SHARE_GOODS); @@ -659,6 +720,7 @@ } } + return uidSets.size(); } @Override @@ -691,6 +753,12 @@ try { orderMoneySettleService.inviteSettleSuning(uid, maxPreGetTime); + } catch (OrderMoneySettleException e) { + e.printStackTrace(); + } + + try { + orderMoneySettleService.inviteSettleDY(uid, maxPreGetTime); } catch (OrderMoneySettleException e) { e.printStackTrace(); } @@ -729,6 +797,12 @@ } catch (OrderMoneySettleException e) { e.printStackTrace(); } + + try { + orderMoneySettleService.shareSettleDY(uid, maxPreGetTime); + } catch (OrderMoneySettleException e) { + e.printStackTrace(); + } } @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class) @@ -746,26 +820,30 @@ String pid = String.format("mm_%s_%s_%s", configList.get(0).getAccountId(), orderList.get(0).getSourceMediaId(), orderList.get(0).getAdPositionId()); + SystemPIDInfo.PidType pidType = getPidType(Constant.SOURCE_TYPE_TAOBAO, pid); + List<SystemEnum> systemList = getPidSystems(pid); + Set<Integer> sourceTypes = getPidSourceTypes(pid); + Order oldOrder = orderMapper.selectOrderByOrderIdAndOrderType(orderId, Constant.SOURCE_TYPE_TAOBAO); // 鍘熸潵涓嶅瓨鍦ㄨ鍗� Long uid = null; if (oldOrder == null) { Long targetUid = null; - if (pid.equalsIgnoreCase(TaoBaoConstant.TAOBAO_RELATION_AS_SPECIAL_PID) + if (pidType != null && pidType == SystemPIDInfo.PidType.fanliChannel && !StringUtil.isNullOrEmpty(orderList.get(0).getRelationId())) {// 澶勭悊闈炶繑鍒╁晢鍝佸簱鐨勫晢鍝� targetUid = taoBaoBuyRelationMapService.selectUidByRelationId(orderList.get(0).getRelationId()); - } else if ((pid.equalsIgnoreCase(TaoBaoConstant.TAOBAO_ELEME_PID) + } else if ((sourceTypes.contains(Constant.SOURCE_TYPE_ELME) || pid.equalsIgnoreCase(TaoBaoConstant.TAOBAO_KOUBEI_PID)) && !StringUtil.isNullOrEmpty(orderList.get(0).getRelationId())) {// 澶勭悊楗夸簡涔�,鍙g鐨勮鍗� UserExtraTaoBaoInfo extraInfo = userExtraTaoBaoInfoService - .getByRelationId(orderList.get(0).getRelationId(), null); + .getByRelationId(orderList.get(0).getRelationId(), systemList); if (extraInfo != null) { targetUid = extraInfo.getUser().getId(); } } else if (!StringUtil.isNullOrEmpty(orderList.get(0).getSpecialId())) { UserExtraTaoBaoInfo info = userExtraTaoBaoInfoService - .getBySpecialId(orderList.get(0).getSpecialId(), null); + .getBySpecialId(orderList.get(0).getSpecialId(), systemList); if (info != null && info.getUser() != null) targetUid = info.getUser().getId(); } @@ -903,7 +981,8 @@ if (order == null || order.getOrderItemList() == null || order.getOrderItemList().size() == 0) return false; Long positionId = order.getOrderItemList().get(0).getPositionId(); - if (positionId == JDApiUtil.POSITION_SHARE) {// 鍒嗕韩璁㈠崟 + SystemPIDInfo.PidType pidType = getPidType(Constant.SOURCE_TYPE_JD, positionId + ""); + if (pidType != null && pidType == SystemPIDInfo.PidType.share) {// 鍒嗕韩璁㈠崟 return true; } return false; @@ -913,10 +992,13 @@ public void processJDOrder(JDOrder order) { if (order == null || order.getOrderItemList() == null || order.getOrderItemList().size() == 0) return; - // 鎷嗗崟鐨勪笉鍋氬鐞� - if (order.getValidCode() == 2) - return; - + // 鎷嗗崟涓斾笉鍦╟ommonorder涓殑涓嶅仛澶勭悊 + if (order.getValidCode() == 2) { + List<CommonOrder> list= commonOrderService.listBySourceTypeAndOrderId(Constant.SOURCE_TYPE_JD,order.getOrderId()+""); + if(list==null||list.size()==0) { + return; + } + } // 鏍规嵁ext1涓巗ubUnionId璺熷崟 String uidStr = order.getExt1(); if (StringUtil.isNullOrEmpty(uidStr)) @@ -926,15 +1008,21 @@ if (!StringUtil.isNullOrEmpty(uidStr) && NumberUtil.isNumeric(uidStr)) uid = Long.parseLong(uidStr); Long positionId = order.getOrderItemList().get(0).getPositionId(); - if (positionId == JDApiUtil.POSITION_FANLI)// 杩斿埄璁㈠崟 - { - processFanLiJDOrder(order, uid); - lostOrderService.processSuceess(order.getOrderId() + "", Constant.SOURCE_TYPE_JD); - } else if (positionId == JDApiUtil.POSITION_SHARE) {// 鍒嗕韩璁㈠崟 - if (uid == null)// 鍒嗕韩璁㈠崟涓嶅厑璁告壘鍥� - return; - processShareJDOrder(order, uid); - } else {// 澶勭悊鏄惁鏈夎鍗曟壘鍥炵殑鐘舵�� + SystemPIDInfo.PidType pidType = getPidType(Constant.SOURCE_TYPE_JD, positionId + ""); + + if (pidType != null) { + if (pidType == SystemPIDInfo.PidType.fanli)// 杩斿埄璁㈠崟 + { + processFanLiJDOrder(order, uid); + lostOrderService.processSuceess(order.getOrderId() + "", Constant.SOURCE_TYPE_JD); + } else if (pidType == SystemPIDInfo.PidType.share) {// 鍒嗕韩璁㈠崟 + if (uid == null)// 鍒嗕韩璁㈠崟涓嶅厑璁告壘鍥� + return; + processShareJDOrder(order, uid); + } else {// 澶勭悊鏄惁鏈夎鍗曟壘鍥炵殑鐘舵�� + processFanLiJDOrder(order, null); + } + } else { processFanLiJDOrder(order, null); } } @@ -1057,7 +1145,9 @@ */ private boolean isShareOrder(PDDOrder pddOrder) { String positionId = pddOrder.getpId(); - if (PinDuoDuoApiUtil.PID_SHARE.equalsIgnoreCase(positionId)) + SystemPIDInfo.PidType pidType = getPidType(Constant.SOURCE_TYPE_PDD, positionId); + + if (pidType != null && pidType == SystemPIDInfo.PidType.share) return true; else return false; @@ -1075,15 +1165,20 @@ if (!StringUtil.isNullOrEmpty(customParameters)) uid = Long.parseLong(PinDuoDuoUtil.getUidFromCustomParams(customParameters)); String positionId = pddOrder.getpId(); - if (PinDuoDuoApiUtil.PID_FANLI.equalsIgnoreCase(positionId))// 杩斿埄璁㈠崟 - { - processFanLiPDDOrder(pddOrder, uid); - lostOrderService.processSuceess(pddOrder.getOrderSn(), Constant.SOURCE_TYPE_PDD); - } else if (PinDuoDuoApiUtil.PID_SHARE.equalsIgnoreCase(positionId)) {// 鍒嗕韩璁㈠崟 - if (uid == null)// 鍒嗕韩璁㈠崟涓嶅厑璁告壘鍥� - return; - processSharePDDOrder(pddOrder, uid); - } else {// 澶勭悊鏄惁鏈夎鍗曟壘鍥炵殑鐘舵�� + SystemPIDInfo.PidType pidType = getPidType(Constant.SOURCE_TYPE_PDD, positionId); + if (pidType != null) { + if (pidType == SystemPIDInfo.PidType.fanli)// 杩斿埄璁㈠崟 + { + processFanLiPDDOrder(pddOrder, uid); + lostOrderService.processSuceess(pddOrder.getOrderSn(), Constant.SOURCE_TYPE_PDD); + } else if (pidType == SystemPIDInfo.PidType.share) {// 鍒嗕韩璁㈠崟 + if (uid == null)// 鍒嗕韩璁㈠崟涓嶅厑璁告壘鍥� + return; + processSharePDDOrder(pddOrder, uid); + } else {// 澶勭悊鏄惁鏈夎鍗曟壘鍥炵殑鐘舵�� + processFanLiPDDOrder(pddOrder, null); + } + } else { processFanLiPDDOrder(pddOrder, null); } } @@ -1225,7 +1320,7 @@ } /** - * 澶勭悊浜笢杩斿埄璁㈠崟 + * 澶勭悊鍞搧浼氳繑鍒╄鍗� * * @param vipShopOrder * @param uid @@ -1341,21 +1436,30 @@ if (!StringUtil.isNullOrEmpty(uidStr)) uid = Long.parseLong(uidStr); String positionId = suningOrder.getPositionId(); - if (SuningApiUtil.PID_BUY.equalsIgnoreCase(positionId))// 杩斿埄璁㈠崟 - { - processFanLiSuningOrder(suningOrder, uid); - lostOrderService.processSuceess(suningOrder.getOrderCode(), Constant.SOURCE_TYPE_SUNING); - } else if (PinDuoDuoApiUtil.PID_SHARE.equalsIgnoreCase(positionId)) {// 鍒嗕韩璁㈠崟 - if (uid == null)// 鍒嗕韩璁㈠崟涓嶅厑璁告壘鍥� - return; - processShareSuningOrder(suningOrder, uid); - } else {// 澶勭悊鏄惁鏈夎鍗曟壘鍥炵殑鐘舵�� + + SystemPIDInfo.PidType pidType = getPidType(Constant.SOURCE_TYPE_SUNING, positionId); + + if (pidType != null) { + if (pidType == SystemPIDInfo.PidType.fanli)// 杩斿埄璁㈠崟 + { + processFanLiSuningOrder(suningOrder, uid); + lostOrderService.processSuceess(suningOrder.getOrderCode(), Constant.SOURCE_TYPE_SUNING); + } else if (pidType == SystemPIDInfo.PidType.share) {// 鍒嗕韩璁㈠崟 + if (uid == null)// 鍒嗕韩璁㈠崟涓嶅厑璁告壘鍥� + return; + processShareSuningOrder(suningOrder, uid); + } else {// 澶勭悊鏄惁鏈夎鍗曟壘鍥炵殑鐘舵�� + processFanLiSuningOrder(suningOrder, null); + } + } else { processFanLiSuningOrder(suningOrder, null); } } + + /** - * 澶勭悊鎷煎澶氳嚜璐繑鍒╄鍗� + * 澶勭悊鑻忓畞鑷喘杩斿埄璁㈠崟 * * @param suningOrder * @param uid @@ -1431,7 +1535,7 @@ } /** - * 澶勭悊鎷煎澶氬垎浜鍗� + * 澶勭悊鑻忓畞鍒嗕韩璁㈠崟 * * @param suningOrder * @param uid @@ -1463,6 +1567,130 @@ } } + + @Override + public void processDYOrder(DYOrder order) { + if (order == null) + return; + + + // 鏍规嵁ext1涓巗ubUnionId璺熷崟 + String extra_info = order.getExternal_info(); + + Long uid = DYUtil.getUid(extra_info); + String type = DYUtil.getTypeFromExtraInfo(extra_info); + if ("buy".equalsIgnoreCase(type))// 杩斿埄璁㈠崟 + { + processFanLiDYOrder(order, uid); + lostOrderService.processSuceess(order.getOrder_id() + "", Constant.SOURCE_TYPE_DY); + } else if ("share".equalsIgnoreCase(type)) {// 鍒嗕韩璁㈠崟 + if (uid == null)// 鍒嗕韩璁㈠崟涓嶅厑璁告壘鍥� + return; + processShareDYOrder(order, uid); + } else {// 澶勭悊鏄惁鏈夎鍗曟壘鍥炵殑鐘舵�� + processFanLiDYOrder(order, null); + } + } + + /** + * 澶勭悊鎶栭煶杩斿埄璁㈠崟 + * + * @param dyOrder + * @param uid + */ + private void processFanLiDYOrder(DYOrder dyOrder, Long uid) { + + BigDecimal totalMoney = new BigDecimal(dyOrder.getTotal_pay_amount()).divide(new BigDecimal(100),2, RoundingMode.FLOOR); + + // 鍔犲叆璁㈠崟 + Order oldOrder = orderMapper.selectOrderByOrderIdAndOrderType(dyOrder.getOrder_id() + "", + Constant.SOURCE_TYPE_DY); + if (uid == null && oldOrder != null && oldOrder.getBeizhu() != null && oldOrder.getBeizhu().contains("琛ュ崟")) + uid = oldOrder.getUserInfo().getId(); + + if (uid == null) + return; + + if (oldOrder == null)// 鏂板 + { + Order order = new Order(); + order.setBeizhu("鎶栭煶杩斿埄璁㈠崟"); + order.setCreatetime(System.currentTimeMillis()); + order.setOrderId(dyOrder.getOrder_id() + ""); + order.setOrderType(Constant.SOURCE_TYPE_DY); + order.setState( + (dyOrder.getFlow_point().equalsIgnoreCase(DYOrder.FLOW_POINT_REFUND)) ? Order.STATE_SHIXIAO : Order.STATE_YIZHIFU); + order.setUserInfo(new UserInfo(uid)); + order.setVersion(2); + order.setThirdCreateTime(new Date(TimeUtil.convertToTimeTemp(dyOrder.getPay_success_time(),"yyyy-MM-dd HH:mm:ss"))); + order.setMoney(totalMoney); + // 鍔犲叆鍒拌鍗曡〃 + orderMapper.insertSelective(order); + } else { + Order updateOrder = new Order(); + updateOrder.setId(oldOrder.getId()); + updateOrder.setMoney(totalMoney); + orderMapper.updateByPrimaryKeySelective(updateOrder); + } + + try { + List<CommonOrderAddResultDTO> commonOrderList = commonOrderService.addDYOrder(dyOrder, uid); + addHongBaoWithMQ(commonOrderList, dyOrder.getOrder_id() + "", uid, Constant.SOURCE_TYPE_DY, + HongBaoV2.TYPE_ZIGOU); + + if (isCommonOrderAllAdd(commonOrderList)) { + Order order = new Order(); + order.setOrderId(dyOrder.getOrder_id()); + order.setOrderType(Constant.SOURCE_TYPE_DY); + order.setUserInfo(new UserInfo(uid)); + try { + if (Constant.ENABLE_MQ) + PlaceOrderCMQManager.getInstance().addPlaceOrderMsg(order); + } catch (Exception e) { + } + } + } catch (CommonOrderException e) { + try { + LogHelper.errorDetailInfo(e, "addDYOrder鎴朼ddHongBao鍑洪敊", "璁㈠崟鍙�:" + dyOrder.getOrder_id()); + } catch (Exception e1) { + e1.printStackTrace(); + } + } + } + + /** + * 澶勭悊鎶栭煶鍒嗕韩璁㈠崟 + * + * @param dyOrder + * @param uid + */ + private void processShareDYOrder(DYOrder dyOrder, Long uid) { + try { + List<CommonOrderAddResultDTO> commonOrderList = commonOrderService.addDYOrder(dyOrder, uid); + addHongBaoWithMQ(commonOrderList, dyOrder.getOrder_id() + "", uid, Constant.SOURCE_TYPE_DY, + HongBaoV2.TYPE_SHARE_GOODS); + if (isCommonOrderAllAdd(commonOrderList)) { + Order order = new Order(); + order.setOrderId(dyOrder.getOrder_id()); + order.setOrderType(Constant.SOURCE_TYPE_DY); + order.setUserInfo(new UserInfo(uid)); + try { + if (Constant.ENABLE_MQ) + PlaceOrderCMQManager.getInstance().addPlaceOrderMsg(order); + } catch (Exception e) { + } + } + } catch (CommonOrderException e) { + try { + LogHelper.errorDetailInfo(e, "addDYOrder鎴朼ddHongBao鍑洪敊", "璁㈠崟鍙�:" + dyOrder.getOrder_id()); + } catch (Exception e1) { + e1.printStackTrace(); + } + } + } + + + @Override public void repairCommonOrderByByTaoBaoOrder(String orderId) { // 鏍规嵁璁㈠崟鍙锋煡璇㈡窐瀹濊鍗� @@ -1485,9 +1713,12 @@ @Override public boolean isShareOrder(CommonOrder commonOrder) { + //鑾峰彇绯荤粺 + UserInfo user = userInfoMapper.selectByPrimaryKey(commonOrder.getUserInfo().getId()); + SystemEnum system = user.getSystem(); switch (commonOrder.getSourceType()) { case Constant.SOURCE_TYPE_TAOBAO: - return isShareOrder(taoBaoOrderService.selectByTradeId(commonOrder.getTradeId())); + return isShareOrder(system, taoBaoOrderService.selectByTradeId(commonOrder.getTradeId())); case Constant.SOURCE_TYPE_JD: return isShareOrder(jdOrderService.selectDetailByOrderId(Long.parseLong(commonOrder.getOrderNo()))); case Constant.SOURCE_TYPE_PDD: @@ -1688,14 +1919,22 @@ else result = hongBaoV2AddManager.addHongBao(coList, hongBaoType); } catch (HongBaoException e) { - try { - LogHelper.errorDetailInfo(e, "addJDOrder鎴朼ddHongBao鍑洪敊", "璁㈠崟鍙�:" + orderId); - } catch (Exception e1) { - e1.printStackTrace(); + if (e.getCode() != HongBaoException.CODE_ORDER_WEIQUAN) { + try { + LogHelper.errorDetailInfo(e, "addJDOrder鎴朼ddHongBao鍑洪敊", "璁㈠崟鍙�:" + orderId); + } catch (Exception e1) { + e1.printStackTrace(); + } } + } catch (UserAccountException e) { } + if (result == null) { + return; + } + + if (!Constant.IS_TEST) if (result.getResultCode() == HongBaoAddResult.CODE_ADD) {// 鍙彂閫佹柊澧炴秷鎭� OrderMQMsg mqMsg = new OrderMQMsg(orderId, sourceType, uid, OrderMQMsg.HANDLE_TYPE_ADD, -- Gitblit v1.8.0