From 3758c5dec1b37a58ea2dc2123c90415349dccee3 Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 11 一月 2019 16:21:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
fanli/src/main/java/com/yeshi/fanli/service/impl/order/PidOrderServiceImpl.java | 95 +++++++++++++++++++----------------------------
1 files changed, 39 insertions(+), 56 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/PidOrderServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/PidOrderServiceImpl.java
index 274515f..f62f34d 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/order/PidOrderServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/order/PidOrderServiceImpl.java
@@ -31,11 +31,13 @@
import com.yeshi.fanli.entity.taobao.PidUser;
import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig;
+import com.yeshi.fanli.exception.share.UserShareGoodsRecordException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.order.PidOrderService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.service.inter.user.UserNotificationService;
+import com.yeshi.fanli.service.inter.user.UserShareGoodsGroupService;
import com.yeshi.fanli.util.CMQManager;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
@@ -43,6 +45,7 @@
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.factory.AccountDetailsFactory;
import com.yeshi.fanli.util.factory.HongBaoFactory;
+import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
import com.yeshi.fanli.util.taobao.TaoBaoOrderUtil;
@Service
@@ -88,6 +91,12 @@
@Resource
private RedisManager redisManager;
+
+ // @Resource
+ // private LostOrderService lostOrderService;
+
+ @Resource
+ private UserShareGoodsGroupService userShareGoodsGroupService;
@Override
@Transactional
@@ -201,11 +210,13 @@
while (its.hasNext()) {
String orderId = its.next();
// 璁㈠崟閿佸畾
-// if (isRedisLockOrder(orderId))
-// continue;
-// redisLockOrder(orderId);
+ // if (isRedisLockOrder(orderId))
+ // continue;
+ // redisLockOrder(orderId);
doPidOrder(orderId);
-// redisUnlockOrder(orderId);
+ // 澶勭悊璁㈠崟鎵惧洖
+ // lostOrderService.processSuceess(orderId);
+ // redisUnlockOrder(orderId);
}
}
@@ -247,16 +258,18 @@
@Override
@Transactional
public void doPidOrder(String orderId) {
- Map<String, String> convertMap = hongBaoManageService.convertMap();
- BigDecimal rate = new BigDecimal(convertMap.get("hongbao_goods_proportion")).divide(new BigDecimal(100));
List<PidOrder> orders = pidOrderMapper.getPidOrderListByOrderId(orderId);
// 鍙湅鏈夌敤鎴稩d鐨勬儏鍐�
if (orders.get(0).getUserInfo() != null) {
+ // 鏍规嵁绗竴涓殑璁㈠崟鍒涘缓鏃堕棿鏉ョ‘瀹氳繑鍒╂瘮渚�
+ BigDecimal rate = hongBaoManageService.getShareRate(orders.get(0).getOrderCreateTime().getTime())
+ .divide(new BigDecimal("100"));
List<HongBao> hbList = hongBaoMapper.selectByOrderId(orderId);
if (hbList.size() <= 0) {// 杩樻病鏈夊姞鍏ョ孩鍖�
// 鍔犲叆绾㈠寘
for (PidOrder order : orders) {
+
// 闃叉鍚屼竴璁㈠崟鍙锋潵婧愪簬涓嶅悓鐨凱ID
if (order.getUserInfo() == null)
continue;
@@ -267,7 +280,10 @@
HongBao.TYPE_SHARE_GOODS, HongBao.STATE_BUKELINGQU, new Date().getTime(),
new Date().getTime(), 0, "192.168.1.1", "绯荤粺娣诲姞");
hongBao.setOrderId(order.getOrderId());
- hongBao.setPayMoney(order.getPayMoney());
+ if ("璁㈠崟缁撶畻".equalsIgnoreCase(order.getState()))
+ hongBao.setPayMoney(order.getFinalMoney());
+ else
+ hongBao.setPayMoney(order.getPayMoney());
if (order.getBalanceTime() != null)
hongBao.setBalanceTime(order.getBalanceTime());
@@ -279,6 +295,19 @@
}
hongBaoMapper.insertSelective(hongBao);
+
+ //缁熻鍒嗕韩璁㈠崟鐨勬暟鎹�
+ try {
+ hongBao.setAuctionId(order.getAuctionId());
+ userShareGoodsGroupService.updateOrderRecord(hongBao);
+ } catch (UserShareGoodsRecordException e1) {
+ try {
+ LogHelper.errorDetailInfo(e1);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
try {
// 绗笁鏂规彁鎴愯鍗曡缁熻鐨勯�氱煡
@@ -447,22 +476,6 @@
// 缁撶畻鍒拌处鎴�
@Override
- public void balanceOrder() {
- // 鑾峰彇鍒拌鏈�25鏃ュ彲缁撶畻鐨勮鍗�
- List<PidOrder> list = pidOrderMapper.getCanBalanceList(1000);
- if (list != null) {
- Map<String, List<PidOrder>> map = parseOrderMap(list);
- Iterator<String> its = map.keySet().iterator();
- while (its.hasNext()) {
- String orderId = its.next();
- List<PidOrder> orders = map.get(orderId);
- for (int i = 0; i < orders.size(); i++)
- balanceOrder(orders.get(i));
- }
- }
- }
-
- @Override
public void compareOrderAndHongBao() {
List<PidOrder> list = pidOrderMapper.selectByState("璁㈠崟浠樻", 100);
list.addAll(pidOrderMapper.selectByState("璁㈠崟缁撶畻", 100));
@@ -492,39 +505,6 @@
}
}
- @Transactional
- @Override
- public void balanceOrder(PidOrder pidOrder) {
- if (pidOrder.getHongBao() == null)
- return;
- // 鏌ユ壘绾㈠寘
- HongBao hongBao = hongBaoMapper.selectByPrimaryKey(pidOrder.getHongBao().getId());
- if (hongBao.getState() == HongBao.STATE_SHIXIAO || hongBao.getState() == HongBao.STATE_YILINGQU)
- return;
-
- HongBao updateHongBao = new HongBao();
- updateHongBao.setId(hongBao.getId());
- updateHongBao.setGetTime(System.currentTimeMillis());
- updateHongBao.setState(HongBao.STATE_YILINGQU);
- hongBaoMapper.updateByPrimaryKeySelective(updateHongBao);
-
- // 鍔犲叆鐢ㄦ埛浣欓
- userInfoMapper.addHongBaoByUid(hongBao.getUserInfo().getId(), hongBao.getMoney());
- // 鍔犲叆璐︽埛鏄庣粏
- AccountDetails ad = AccountDetailsFactory.create("+" + hongBao.getMoney(), AccountDetailsFactory.SHARE_GOODS,
- null, null, hongBao.getUserInfo());
- accountDetailsMapper.insertSelective(ad);
- try {
- userNotificationService.tiChengRecieved(hongBao.getUserInfo().getId(), hongBao.getMoney());
- } catch (Exception e) {
- }
-
- PidOrder updatePidOrder = new PidOrder();
- updatePidOrder.setId(pidOrder.getId());
- updatePidOrder.setAccountBalance(true);
- updatePidOrder.setAccountBalanceTime(new Date());
- pidOrderMapper.updateByPrimaryKeySelective(updatePidOrder);
- }
@Override
public void weiQuan(String orderId) {
@@ -560,6 +540,9 @@
AccountDetails ad = AccountDetailsFactory.create("-" + hongBao.getMoney(),
AccountDetailsFactory.SHARE_GOODS_DRAWBACK, null, null, hongBao.getUserInfo());
accountDetailsMapper.insertSelective(ad);
+
+
+
// 缁存潈閫氱煡
try {
--
Gitblit v1.8.0