From b74ae64915b5f9550e283306a191f964079ae51d Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期四, 11 六月 2020 09:28:26 +0800
Subject: [PATCH] 饿了么订单中商品id改为0
---
fanli/src/main/java/com/yeshi/fanli/service/impl/elme/ElmeOrderProcessServiceImpl.java | 39 +++++++++++++++++++++++++--------------
1 files changed, 25 insertions(+), 14 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/elme/ElmeOrderProcessServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/elme/ElmeOrderProcessServiceImpl.java
index 8507938..2753bfe 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/elme/ElmeOrderProcessServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/elme/ElmeOrderProcessServiceImpl.java
@@ -9,7 +9,9 @@
import org.springframework.transaction.annotation.Transactional;
import com.yeshi.fanli.entity.bus.user.HongBaoV2;
+import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
import com.yeshi.fanli.entity.elme.ElmeHongBaoOrderMap;
import com.yeshi.fanli.entity.elme.ElmeOrder;
import com.yeshi.fanli.exception.elme.ElmeHongBaoOrderMapException;
@@ -21,7 +23,7 @@
import com.yeshi.fanli.service.inter.order.config.HongBaoManageService;
import com.yeshi.fanli.service.inter.order.msg.UserOrderMsgNotificationService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
-import com.yeshi.fanli.util.Constant;
+import com.yeshi.fanli.service.inter.user.tb.UserExtraTaoBaoInfoService;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.elme.ElmeOrderUtil;
@@ -47,7 +49,10 @@
@Resource
private UserOrderMsgNotificationService userOrderMsgNotificationService;
- @Transactional
+ @Resource
+ private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService;
+
+ @Transactional(rollbackFor = Exception.class)
@Override
public void processOrder(ElmeOrder elmeOrder) throws ElmeOrderException {
try {
@@ -62,11 +67,20 @@
ElmeHongBaoOrderMap map = elmeHongBaoOrderMapService.selectByOrderId(elmeOrder.getId());
if (map == null)// 璁㈠崟涓嶅瓨鍦�
{
- String rid = elmeOrder.getRid();
- if (StringUtil.isNullOrEmpty(rid))
+ Long uid = null;
+ if (StringUtil.isNullOrEmpty(elmeOrder.getChannelId())) {// 鏂扮増鏈�
+ UserExtraTaoBaoInfo extra = userExtraTaoBaoInfoService.getByRelationId(elmeOrder.getRid());
+ if (extra != null)
+ uid = extra.getUser().getId();
+ } else {// 鑰佺増鏈�
+ uid = Long.parseLong(elmeOrder.getRid());
+ }
+
+ if (uid == null)
return;
+
// 鏌ヨ鏄犲皠鐢ㄦ埛
- UserInfo user = userInfoService.selectByPKey(Long.parseLong(rid));
+ UserInfo user = userInfoService.selectByPKey(uid);
if (user == null)
return;
// 鍒堕�爃ongbao
@@ -83,9 +97,7 @@
} catch (ElmeHongBaoOrderMapException e) {
throw new ElmeOrderException(e.getCode(), e.getMsg());
}
- // 鍙戦�佹秷鎭�
- userOrderMsgNotificationService.orderElmeStatistic(user.getId(), elmeOrder.getOrderId(),
- Constant.SOURCE_TYPE_ELME, elmeOrder.getPayMoney(), hongBao.getMoney(), hongBao.getState());
+
} else {// 璁㈠崟瀛樺湪
HongBaoV2 oldHongBao = hongBaoV2Service.selectByPrimaryKey(map.getHongBao().getId());
if (oldHongBao == null)
@@ -101,17 +113,15 @@
update.setPreGetTime(hongBao.getPreGetTime());
update.setUpdateTime(new Date());
hongBaoV2Service.updateByPrimaryKeySelective(update);
- // 鍙戦�佹秷鎭�
- userOrderMsgNotificationService.orderElmeStateChanged(oldHongBao.getUserInfo().getId(),
- elmeOrder.getOrderId(), Constant.SOURCE_TYPE_ELME, elmeOrder.getPayMoney(), hongBao.getMoney(),
- hongBao.getState());
+
}
}
}
private HongBaoV2 createHongBao(ElmeOrder elmeOrder, UserInfo userInfo) {
- BigDecimal fanliRate = hongBaoManageService.getFanLiRate(elmeOrder.getOrderDate().getTime());
+ BigDecimal fanliRate = hongBaoManageService.getFanLiRate(UserLevelEnum.daRen,
+ elmeOrder.getOrderDate().getTime());
HongBaoV2 hongBao = new HongBaoV2();
hongBao.setCreateTime(new Date());
hongBao.setGetTime(null);
@@ -120,7 +130,8 @@
new BigDecimal(100)));
if (elmeOrder.getIsSettle() == true)
hongBao.setPreGetTime(new Date(elmeOrder.getOrderDate().getTime() + 1000 * 60 * 60 * 24 * 15L));
- if (elmeOrder.getPayMoney().compareTo(new BigDecimal(0)) <= 0)
+ if (elmeOrder.getPayMoney().compareTo(new BigDecimal(0)) <= 0
+ || (elmeOrder.getState() != null && elmeOrder.getState() == 0))
hongBao.setState(HongBaoV2.STATE_SHIXIAO);
else {
if (elmeOrder.getIsSettle() == true) {
--
Gitblit v1.8.0