From 8c6123908fd6bc5a02938dd1e69750b277aa5c6a Mon Sep 17 00:00:00 2001
From: yj <Administrator@192>
Date: 星期一, 09 三月 2020 16:27:38 +0800
Subject: [PATCH] 添加领取人明细 + 口令筛选商品
---
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java | 100 +++++++++++++++++++++++++++++++++-----------------
1 files changed, 66 insertions(+), 34 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 951c95d..737adf6 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
@@ -24,8 +24,6 @@
import com.aliyun.openservices.ons.api.transaction.TransactionProducer;
import com.aliyun.openservices.ons.api.transaction.TransactionStatus;
import com.google.gson.Gson;
-import com.opensymphony.xwork2.util.Element;
-import com.sun.org.apache.xml.internal.serializer.ElemDesc;
import com.yeshi.fanli.dao.mybatis.HongBaoV2Mapper;
import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
import com.yeshi.fanli.dao.mybatis.money.UserMoneyDetailMapper;
@@ -62,7 +60,9 @@
import com.yeshi.fanli.exception.order.TaoBaoWeiQuanException;
import com.yeshi.fanli.exception.user.UserAccountException;
import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.log.OrderLogHelper;
import com.yeshi.fanli.service.inter.elme.ElmeHongBaoOrderMapService;
+import com.yeshi.fanli.service.inter.elme.ElmeOrderProcessService;
import com.yeshi.fanli.service.inter.elme.ElmeOrderService;
import com.yeshi.fanli.service.inter.hongbao.AccountDetailsHongBaoMapService;
import com.yeshi.fanli.service.inter.money.UserMoneyService;
@@ -80,7 +80,7 @@
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
-import com.yeshi.fanli.service.manger.HongBaoV2AddManager;
+import com.yeshi.fanli.service.manger.order.HongBaoV2AddManager;
import com.yeshi.fanli.util.CMQManager;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
@@ -264,6 +264,13 @@
elmeOrder.setIsSettle(true);
else
elmeOrder.setIsSettle(false);
+
+ if (!taoBaoOrder.getOrderState().equalsIgnoreCase("璁㈠崟澶辨晥"))
+ elmeOrder.setState(1);
+ else {
+ elmeOrder.setState(0);
+ elmeOrder.setPayMoney(new BigDecimal(0));
+ }
elmeOrder.setTrackPid(
String.format("mm_124933865_%s_%s", taoBaoOrder.getSourceMediaId(), taoBaoOrder.getAdPositionId()));
if (!StringUtil.isNullOrEmpty(taoBaoOrder.getRelationId())) {
@@ -281,10 +288,11 @@
for (TaoBaoOrder taoBaoOrder : orderList) {
ElmeOrder elmeOrder = createElmeOrder(taoBaoOrder);
try {
- elmeOrderService.addOrder(elmeOrder);
+ elmeOrderProcessService.processOrder(elmeOrder);
} catch (ElmeOrderException e) {
e.printStackTrace();
}
+
}
}
}
@@ -410,7 +418,7 @@
private HongBaoOrderMapper hongBaoOrderMapper;
@Override
- @Transactional
+ @Transactional(rollbackFor = Exception.class)
public void fanli(HongBaoV2 hb1) throws TaoBaoWeiQuanException {
// 鏌ヨ鏈�鏂扮殑绾㈠寘鏁版嵁
hb1 = hongBaoV2Mapper.selectByPrimaryKeyForUpdate(hb1.getId());
@@ -477,18 +485,27 @@
String key = mainUser.getId() + "-" + UUID.randomUUID().toString();
msg.setKey(key);
try {
- orderTransactionProducer.send(msg, new LocalTransactionExecuter() {
- @Override
- public TransactionStatus execute(Message arg0, Object arg1) {
- try {
- orderMoneySettleService.ziGouSettle(hongBaoOrder.getCommonOrder().getOrderNo(),
- hongBaoOrder.getCommonOrder().getSourceType(), key);
- return TransactionStatus.CommitTransaction;
- } catch (Exception e) {
- return TransactionStatus.RollbackTransaction;
+ if (!Constant.IS_TEST)
+ orderTransactionProducer.send(msg, new LocalTransactionExecuter() {
+ @Override
+ public TransactionStatus execute(Message arg0, Object arg1) {
+ try {
+ orderMoneySettleService.ziGouSettle(hongBaoOrder.getCommonOrder().getOrderNo(),
+ hongBaoOrder.getCommonOrder().getSourceType(), key);
+ return TransactionStatus.CommitTransaction;
+ } catch (Exception e) {
+ e.printStackTrace();
+ return TransactionStatus.RollbackTransaction;
+ }
}
+ }, null);
+ else {
+ try {
+ orderMoneySettleService.ziGouSettle(hongBaoOrder.getCommonOrder().getOrderNo(),
+ hongBaoOrder.getCommonOrder().getSourceType(), key);
+ } catch (Exception e) {
}
- }, null);
+ }
} catch (Exception e) {
LogHelper.mqError(e.getMessage(), msg.getTopic(), msg.getTag(), new Gson().toJson(mqMsg));
}
@@ -517,13 +534,8 @@
if (orderList != null && orderList.size() > 0 & !StringUtil.isNullOrEmpty(orderList.get(0).getSettlementTime()))
order.setJieSuanTime(
new Date(TimeUtil.convertToTimeTemp(orderList.get(0).getSettlementTime(), "yyyy-MM-dd HH:mm:ss")));
- // if (order.getJieSuanTime().getTime() >=
- // TimeUtil.convertToTimeTemp("2018-08-05", "yyyy-MM-dd")) {
- // return;
- // }
- // TODO 澶勭悊缁存潈鎴愬姛浣嗘槸宸插埌璐︾殑璁㈠崟
-
+ // 澶勭悊缁存潈鎴愬姛浣嗘槸宸插埌璐︾殑璁㈠崟
if (order.getJieSuanTime().getTime() > TimeUtil.convertToTimeTemp("2019-01-01", "yyyy-MM-dd")) {// 缁撶畻鏃堕棿鍦�2鏈�1鍙风殑寮�濮嬪鐞嗗凡鍒拌处浣嗘槸缁存潈鐨�
CommonOrder commonOrder = commonOrderService.selectBySourceTypeAndTradeId(Constant.SOURCE_TYPE_TAOBAO,
order.getOrderItemId());
@@ -534,15 +546,34 @@
TaoBaoWeiQuanDrawBack drawBack = taoBaoWeiQuanDrawBackService
.selectByOrderItemId(order.getOrderItemId());
if (drawBack == null) {// 杩樻湭鎵f
+ OrderLogHelper.taoBaoWeiQuan("宸插埌璐︽湭鎵f澶勭悊:瀛愯鍗曞彿:" + order.getOrderItemId());
try {
- taoBaoWeiQuanDrawBackService.doWeiQuanFanli(order.getOrderId());
+ taoBaoWeiQuanDrawBackService.doWeiQuanFanli(order.getOrderId(), true);
taoBaoWeiQuanDrawBackService.doWeiQuanShare(order.getOrderId());
taoBaoWeiQuanDrawBackService.doWeiQuanInvite(order.getOrderId());
} catch (TaoBaoWeiQuanException e) {
try {
- LogHelper.errorDetailInfo(e, null, "璁㈠崟鍙�:" + order.getOrderId());
+ LogHelper.errorDetailInfo(e, "鍒拌处鍚庡鐞嗙淮鏉冩墸娆惧嚭閿�", "璁㈠崟鍙�:" + order.getOrderId());
} catch (Exception e1) {
e1.printStackTrace();
+ }
+ }
+ } else {
+ // 鏌ヨ瀛愮孩鍖呮槸鍚﹀凡鍒拌处
+ List<HongBaoV2> children = hongBaoV2Service
+ .listChildrenById(hongBaoOrder.getHongBaoV2().getId());
+ for (HongBaoV2 hongBaoV2 : children) {
+ if (hongBaoV2.getState() == HongBaoV2.STATE_YILINGQU) {
+ try {
+ taoBaoWeiQuanDrawBackService.doWeiQuanInvite(order.getOrderId());
+ } catch (TaoBaoWeiQuanException e) {
+ try {
+ LogHelper.errorDetailInfo(e, "鍒拌处鍚庡鐞嗙淮鏉冩墸娆惧嚭閿�", "璁㈠崟鍙�:" + order.getOrderId());
+ } catch (Exception e1) {
+ e1.printStackTrace();
+ }
+ }
+ break;
}
}
}
@@ -583,9 +614,7 @@
} catch (OrderMoneySettleException e) {
e.printStackTrace();
}
- if (1 > 0)
- return;
- //
+
try {
orderMoneySettleService.inviteSettleJD(uid);
} catch (OrderMoneySettleException e) {
@@ -1196,6 +1225,9 @@
@Resource
private ElmeOrderService elmeOrderService;
+ @Resource
+ private ElmeOrderProcessService elmeOrderProcessService;
+
/**
* 鑾峰彇楗夸簡涔堝彲浠ヨ繑鍒╃殑绾㈠寘
*
@@ -1261,13 +1293,12 @@
@Transactional
private void addHongBaoWithMQ(List<CommonOrderAddResultDTO> commonOrderList, String orderId, Long uid,
int sourceType, int hongBaoType) {
-
final List<CommonOrder> coList = convertCommonOrder(commonOrderList);
int resultCode = 0;
try {
long time = TimeUtil.convertToTimeTemp("2019-12-06", "yyyy-MM-dd");
if (!Constant.IS_TEST)
- time = TimeUtil.convertToTimeTemp("2020-01-01", "yyyy-MM-dd");
+ time = TimeUtil.convertToTimeTemp("2019-12-20", "yyyy-MM-dd");
if (coList.get(0).getThirdCreateTime().getTime() < time)
resultCode = hongBaoV2Service.addHongBao(coList, hongBaoType);
@@ -1282,12 +1313,13 @@
} catch (UserAccountException e) {
}
- if (resultCode == 1) {// 鍙彂閫佹柊澧炴秷鎭�
- OrderMQMsg mqMsg = new OrderMQMsg(orderId, sourceType, uid, OrderMQMsg.HANDLE_TYPE_ADD,
- isCommonOrderValid(coList), 0, new Date());
- Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderStatistic, mqMsg);
- producer.send(msg);
- }
+ if (!Constant.IS_TEST)
+ if (resultCode == 1) {// 鍙彂閫佹柊澧炴秷鎭�
+ OrderMQMsg mqMsg = new OrderMQMsg(orderId, sourceType, uid, OrderMQMsg.HANDLE_TYPE_ADD,
+ isCommonOrderValid(coList), 0, new Date());
+ Message msg = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.orderStatistic, mqMsg);
+ producer.send(msg);
+ }
}
/**
--
Gitblit v1.8.0