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 | 161 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 153 insertions(+), 8 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 9d206de..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; @@ -15,8 +16,10 @@ 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; @@ -686,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); @@ -717,6 +720,7 @@ } } + return uidSets.size(); } @Override @@ -752,6 +756,12 @@ } catch (OrderMoneySettleException e) { e.printStackTrace(); } + + try { + orderMoneySettleService.inviteSettleDY(uid, maxPreGetTime); + } catch (OrderMoneySettleException e) { + e.printStackTrace(); + } } @Override @@ -784,6 +794,12 @@ try { orderMoneySettleService.shareSettleSuning(uid, maxPreGetTime); + } catch (OrderMoneySettleException e) { + e.printStackTrace(); + } + + try { + orderMoneySettleService.shareSettleDY(uid, maxPreGetTime); } catch (OrderMoneySettleException e) { e.printStackTrace(); } @@ -976,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)) @@ -1301,7 +1320,7 @@ } /** - * 澶勭悊浜笢杩斿埄璁㈠崟 + * 澶勭悊鍞搧浼氳繑鍒╄鍗� * * @param vipShopOrder * @param uid @@ -1437,8 +1456,10 @@ } } + + /** - * 澶勭悊鎷煎澶氳嚜璐繑鍒╄鍗� + * 澶勭悊鑻忓畞鑷喘杩斿埄璁㈠崟 * * @param suningOrder * @param uid @@ -1514,7 +1535,7 @@ } /** - * 澶勭悊鎷煎澶氬垎浜鍗� + * 澶勭悊鑻忓畞鍒嗕韩璁㈠崟 * * @param suningOrder * @param uid @@ -1546,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) { // 鏍规嵁璁㈠崟鍙锋煡璇㈡窐瀹濊鍗� -- Gitblit v1.8.0