From 3ac30b4c17cf071ce9c66a59c069ab83efae6d2d Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期一, 14 十月 2019 17:44:13 +0800
Subject: [PATCH] Merge branch 'div' of ssh://193.112.35.168:29418/fanli-server into div

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java |   67 +++++++++++++++++++++++++++++++++
 1 files changed, 67 insertions(+), 0 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 b495b03..c2b3dc3 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
@@ -31,6 +31,8 @@
 import com.yeshi.fanli.entity.bus.user.Order;
 import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
+import com.yeshi.fanli.entity.elme.ElmeHongBaoOrderMap;
+import com.yeshi.fanli.entity.elme.ElmeOrder;
 import com.yeshi.fanli.entity.jd.JDOrder;
 import com.yeshi.fanli.entity.jd.JDOrderItem;
 import com.yeshi.fanli.entity.money.UserMoneyDetail;
@@ -48,6 +50,8 @@
 import com.yeshi.fanli.exception.order.OrderItemException;
 import com.yeshi.fanli.exception.order.TaoBaoWeiQuanException;
 import com.yeshi.fanli.log.LogHelper;
+import com.yeshi.fanli.service.inter.elme.ElmeHongBaoOrderMapService;
+import com.yeshi.fanli.service.inter.elme.ElmeOrderService;
 import com.yeshi.fanli.service.inter.hongbao.AccountDetailsHongBaoMapService;
 import com.yeshi.fanli.service.inter.money.UserMoneyService;
 import com.yeshi.fanli.service.inter.money.msg.UserMoneyMsgNotificationService;
@@ -1490,7 +1494,70 @@
 
 				}
 		}
+	}
 
+	public void elmeFanli() {
+
+	}
+
+	// 楗夸簡涔堣鍗�
+	@Resource
+	private ElmeHongBaoOrderMapService elmeHongBaoOrderMapService;
+
+	@Resource
+	private ElmeOrderService elmeOrderService;
+
+	/**
+	 * 鑾峰彇楗夸簡涔堝彲浠ヨ繑鍒╃殑绾㈠寘
+	 * 
+	 * @return
+	 */
+	@Override
+	public List<HongBaoV2> getCanBalanceElmeFanliHongBao() {
+		List<Integer> list = new ArrayList<>();
+		list.add(HongBaoV2.TYPE_ELME);
+		return hongBaoV2Mapper.listCanBalanceHongBaoByTypeAndUid(list, null, 0, 1000);
+	}
+
+	@Override
+	@Transactional
+	public void elmeFanli(Long hongBaoId) {
+		// 鏌ヨ璇︽儏
+		HongBaoV2 hongBao = hongBaoV2Mapper.selectByPrimaryKeyForUpdate(hongBaoId);
+		if (hongBao.getType() == HongBaoV2.TYPE_ELME && hongBao.getState() == HongBaoV2.STATE_KELINGQU
+				&& hongBao.getPreGetTime() != null && System.currentTimeMillis() > hongBao.getPreGetTime().getTime()) {// 鍙互鍒拌处浜�
+			// 鍒ゆ柇鐢ㄦ埛鐘舵��
+			UserInfo user = userInfoMapper.selectByPrimaryKey(hongBao.getUserInfo().getId());
+			if (user == null || user.getState() != UserInfo.STATE_NORMAL)
+				return;
+			ElmeHongBaoOrderMap map = elmeHongBaoOrderMapService.selectByHongBaoId(hongBaoId);
+			if (map == null)
+				return;
+			ElmeOrder order = elmeOrderService.selectByPrimaryKey(map.getElmeOrder().getId());
+			if (order == null)
+				return;
+
+			// 鍒拌处锛屽姞鏁版嵁
+			HongBaoV2 update = new HongBaoV2(hongBao.getId());
+			update.setUpdateTime(new Date());
+			update.setGetTime(new Date());
+			update.setState(HongBaoV2.STATE_YILINGQU);
+			hongBaoV2Mapper.updateByPrimaryKeySelective(update);
+			// 澧炲姞璧勯噾
+			UserMoneyDetail detail = null;
+			try {
+				detail = UserMoneyDetailFactory.createElmeFanLi(hongBao.getUserInfo().getId(), order.getOrderId(),
+						hongBao.getId(), hongBao.getMoney());
+			} catch (UserMoneyDetailException e) {
+				e.printStackTrace();
+			}
+			userMoneyService.addUserMoney(hongBao.getUserInfo().getId(), hongBao.getMoney(), detail);
+			BigDecimal balance = userInfoMapper.selectByPrimaryKey(hongBao.getUserInfo().getId()).getMyHongBao();
+			// 娣诲姞娑堟伅
+			userMoneyMsgNotificationService.elmeFanli(hongBao.getUserInfo().getId(), order.getOrderId(),
+					hongBao.getMoney(), balance);
+		}
+		// 杩斿埄鍒拌处
 	}
 
 }

--
Gitblit v1.8.0