From d2ee731b6a64fa002bceddebf0cc59c78b6c17ce Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 27 二月 2019 10:12:31 +0800
Subject: [PATCH] 邀请成功消息提醒

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractServiceImpl.java |   94 ++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 81 insertions(+), 13 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractServiceImpl.java
index 5373f3c..6438b10 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractServiceImpl.java
@@ -2,7 +2,6 @@
 
 import java.io.Serializable;
 import java.math.BigDecimal;
-import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -25,33 +24,37 @@
 import com.yeshi.fanli.dao.mybatis.ExtractAuditRecordMapper;
 import com.yeshi.fanli.dao.mybatis.ExtractMapper;
 import com.yeshi.fanli.dao.mybatis.ExtractRecordMapper;
+import com.yeshi.fanli.dao.mybatis.HongBaoV2Mapper;
 import com.yeshi.fanli.dao.mybatis.MoneyRecordMapper;
 import com.yeshi.fanli.dao.mybatis.PayInfoMapper;
 import com.yeshi.fanli.dao.mybatis.SystemMapper;
 import com.yeshi.fanli.dao.mybatis.UserInfoMapper;
 import com.yeshi.fanli.dao.mybatis.hongbao.HongBaoMapper;
+import com.yeshi.fanli.dao.mybatis.money.UserMoneyDetailMapper;
 import com.yeshi.fanli.dao.user.AccountDetailsDao;
 import com.yeshi.fanli.dao.user.AccountMessageDao;
 import com.yeshi.fanli.dao.user.ExtractDao;
 import com.yeshi.fanli.dao.user.ExtractRecordDao;
 import com.yeshi.fanli.dao.user.MoneyRecordDao;
 import com.yeshi.fanli.entity.bus.user.AccountDetails;
-import com.yeshi.fanli.entity.bus.user.AlipayAccountValidNormalHistory;
 import com.yeshi.fanli.entity.bus.user.AlipayTransferResultInfo;
 import com.yeshi.fanli.entity.bus.user.Extract;
 import com.yeshi.fanli.entity.bus.user.ExtractAuditRecord;
 import com.yeshi.fanli.entity.bus.user.ExtractRecord;
+import com.yeshi.fanli.entity.bus.user.HongBao;
 import com.yeshi.fanli.entity.bus.user.MoneyRecord;
 import com.yeshi.fanli.entity.bus.user.PayInfo;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.common.AdminUser;
-import com.yeshi.fanli.exception.AlipayAccountException;
-import com.yeshi.fanli.exception.AlipayTransferException;
+import com.yeshi.fanli.entity.money.UserMoneyDetail;
+import com.yeshi.fanli.exception.ExtractException;
 import com.yeshi.fanli.exception.NotExistObjectException;
 import com.yeshi.fanli.exception.ObjectStateException;
+import com.yeshi.fanli.exception.money.UserMoneyDetailException;
 import com.yeshi.fanli.log.LogHelper;
 import com.yeshi.fanli.service.inter.config.ConfigService;
 import com.yeshi.fanli.service.inter.config.SystemConfigService;
+import com.yeshi.fanli.service.inter.msg.UserMoneyMsgNotificationService;
 import com.yeshi.fanli.service.inter.push.PushService;
 import com.yeshi.fanli.service.inter.user.AccountDetailsService;
 import com.yeshi.fanli.service.inter.user.AccountMessageService;
@@ -60,14 +63,13 @@
 import com.yeshi.fanli.service.inter.user.MoneyRecordService;
 import com.yeshi.fanli.service.inter.user.UserInfoService;
 import com.yeshi.fanli.service.inter.user.UserNotificationService;
-import com.yeshi.fanli.util.BeanUtil;
 import com.yeshi.fanli.util.CMQManager;
 import com.yeshi.fanli.util.Constant;
 import com.yeshi.fanli.util.GsonUtil;
 import com.yeshi.fanli.util.MoneyBigDecimalUtil;
-import com.yeshi.fanli.util.StringUtil;
 import com.yeshi.fanli.util.TimeUtil;
 import com.yeshi.fanli.util.factory.AccountDetailsFactory;
+import com.yeshi.fanli.util.factory.UserMoneyDetailFactory;
 
 import net.sf.json.JSONObject;
 
@@ -138,13 +140,22 @@
 	private SystemMapper systemMapper;
 
 	@Resource
-	private HongBaoMapper hongBaoService;
+	private HongBaoMapper hongBaoMapper;
+
+	@Resource
+	private HongBaoV2Mapper hongBaoV2Mapper;
 
 	@Resource
 	private PushService pushService;
 
 	@Resource
 	private UserNotificationService userNotificationService;
+
+	@Resource
+	private UserMoneyDetailMapper userMoneyDetailMapper;
+
+	@Resource
+	private UserMoneyMsgNotificationService userMoneyMsgNotificationService;
 
 	@Resource
 	private AlipayAccountValidNormalHistoryMapper alipayAccountValidNormalHistoryMapper;
@@ -192,7 +203,7 @@
 	@Transactional
 	public synchronized void rejectExtract(long id, String reason, long extractTime, AdminUser admin)
 			throws ObjectStateException, NotExistObjectException {
-		Extract find = extractDao.find(Extract.class, id);
+		Extract find = extractMapper.selectByPrimaryKey(id);
 
 		if (find == null) {
 			throw new NotExistObjectException("涓嶅瓨鍦ㄨ瀵硅薄");
@@ -248,12 +259,28 @@
 		AccountDetails ad = AccountDetailsFactory.create("+" + find.getMoney(), AccountDetailsFactory.HUIKUAN, null,
 				find, find.getUserInfo());
 		accountDetailsMapper.insertSelective(ad);
+		// 鏂扮増璧勯噾璇︽儏
 		try {
-			userNotificationService.extractWrong(user.getId(),
+			UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createExtractReject(find);
+			userMoneyDetail.setId(ad.getId());
+			userMoneyDetailMapper.insert(userMoneyDetail);
+		} catch (UserMoneyDetailException e2) {
+			try {
+				LogHelper.errorDetailInfo(e2);
+			} catch (Exception e3) {
+				e3.printStackTrace();
+			}
+		}
+
+		try {
+			userNotificationService.extractWrong(user.getId(), find,
 					TimeUtil.getGernalTime(find.getExtractTime(), "yyyy-MM-dd HH:mm"));
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
+
+		// 鏂扮増閫氱煡
+		userMoneyMsgNotificationService.extractFail(find, reason);
 	}
 
 	/**
@@ -297,7 +324,22 @@
 				extract, user);
 		accountDetailsMapper.insertSelective(ad);
 
+		// 鏂扮増璧勯噾璇︽儏
+		try {
+			UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createExtract(extract);
+			userMoneyDetail.setId(ad.getId());
+			userMoneyDetailMapper.insert(userMoneyDetail);
+		} catch (UserMoneyDetailException e2) {
+			try {
+				LogHelper.errorDetailInfo(e2);
+			} catch (Exception e1) {
+				e1.printStackTrace();
+			}
+		}
+
 		userNotificationService.extractApply(extract.getUserInfo().getId());
+		// 娣诲姞鏂扮増閫氱煡
+		userMoneyMsgNotificationService.extractApplay(extract);
 
 		if ("鏄�".equals(autoExtract)) {
 			LogHelper.userInfo("uid=" + user.getId() + ",鎻愪氦杞处鐢宠!");
@@ -449,6 +491,19 @@
 					null, extract, extract.getUserInfo());
 			accountDetailsMapper.insertSelective(ad);
 
+			// 鏂扮増璧勯噾璇︽儏
+			try {
+				UserMoneyDetail userMoneyDetail = UserMoneyDetailFactory.createExtractReject(extract);
+				userMoneyDetail.setId(ad.getId());
+				userMoneyDetailMapper.insert(userMoneyDetail);
+			} catch (UserMoneyDetailException e2) {
+				try {
+					LogHelper.errorDetailInfo(e2);
+				} catch (Exception e1) {
+					e1.printStackTrace();
+				}
+			}
+
 			try {
 
 				userNotificationService.extractTransferFail(user.getId(),
@@ -461,6 +516,8 @@
 				e.printStackTrace();
 			}
 
+			// 鏂扮増鎻愮幇
+			userMoneyMsgNotificationService.extractFail(extract, null);
 		}
 	}
 
@@ -484,11 +541,12 @@
 		Extract updateExtract = new Extract();
 		updateExtract.setId(extract.getId());
 		updateExtract.setState(Constant.EXTRACT_PASS);
+		updateExtract.setReceiveTime(new Date());
 		updateExtract.setReason("鎻愮幇鎴愬姛");
 		extractMapper.updateByPrimaryKeySelective(updateExtract);
 
 		try {
-			userNotificationService.extractSuccess(extract.getUserInfo().getId(),
+			userNotificationService.extractSuccess(extract.getUserInfo().getId(), extract,
 					TimeUtil.getGernalTime(extract.getExtractTime(), "yyyy-MM-dd HH:mm"));
 
 			LogHelper.userInfo("鏀粯瀹濊浆璐︽垚鍔�:[鎻愮幇IP锛�" + extract.getIp() + ",鎵�杞处鍙�:" + extract.getAccount() + ",鐪熷疄濮撳悕锛�"
@@ -496,7 +554,8 @@
 		} catch (Exception e) {
 			e.printStackTrace();
 		}
-
+		// 鏂扮増閫氱煡
+		userMoneyMsgNotificationService.extractSuccess(extract);
 	}
 
 	/**
@@ -508,8 +567,13 @@
 	}
 
 	@Override
-	public List<Integer> checkExtract(String uid) {
-		return extractMapper.checkExtract(uid);
+	public void checkExtract(String uid) throws ExtractException {
+		Long count = hongBaoV2Mapper.countByUidAndState(Long.parseLong(uid), HongBao.STATE_YILINGQU);
+		if (count == null || count == 0)
+			throw new ExtractException(1, "娌℃湁宸插埌璐︾殑绾㈠寘");
+		List<Integer> list = extractMapper.checkExtract(uid);
+		if (list != null && list.size() > 0 && list.get(0) == 0)
+			throw new ExtractException(2, "缁撶畻璧勯噾寮傚父");
 	}
 
 	@Override
@@ -671,4 +735,8 @@
 
 	}
 
+	@Override
+	public double countTodayMoney(Long uid) {
+		return extractMapper.countTodayMoney(uid);
+	}
 }

--
Gitblit v1.8.0