From 69ef1fc76ac57e8669cb7bd084c35b0ac447f703 Mon Sep 17 00:00:00 2001
From: yujian <yujian>
Date: 星期五, 08 三月 2019 14:47:46 +0800
Subject: [PATCH] 活跃中自动领取券
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractServiceImpl.java | 76 +++++++++++++++++++++++++++++++++++--
1 files changed, 71 insertions(+), 5 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 9b1e98d..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
@@ -24,11 +24,13 @@
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;
@@ -44,13 +46,15 @@
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.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.hongbao.HongBaoService;
+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;
@@ -65,6 +69,7 @@
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
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,10 +143,19 @@
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;
@@ -189,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("涓嶅瓨鍦ㄨ瀵硅薄");
@@ -245,12 +259,28 @@
AccountDetails ad = AccountDetailsFactory.create("+" + find.getMoney(), AccountDetailsFactory.HUIKUAN, null,
find, find.getUserInfo());
accountDetailsMapper.insertSelective(ad);
+ // 鏂扮増璧勯噾璇︽儏
+ try {
+ 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);
}
/**
@@ -294,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() + ",鎻愪氦杞处鐢宠!");
@@ -446,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(),
@@ -458,6 +516,8 @@
e.printStackTrace();
}
+ // 鏂扮増鎻愮幇
+ userMoneyMsgNotificationService.extractFail(extract, null);
}
}
@@ -481,6 +541,7 @@
Extract updateExtract = new Extract();
updateExtract.setId(extract.getId());
updateExtract.setState(Constant.EXTRACT_PASS);
+ updateExtract.setReceiveTime(new Date());
updateExtract.setReason("鎻愮幇鎴愬姛");
extractMapper.updateByPrimaryKeySelective(updateExtract);
@@ -493,7 +554,8 @@
} catch (Exception e) {
e.printStackTrace();
}
-
+ // 鏂扮増閫氱煡
+ userMoneyMsgNotificationService.extractSuccess(extract);
}
/**
@@ -506,8 +568,8 @@
@Override
public void checkExtract(String uid) throws ExtractException {
- int count = hongBaoMapper.getCountByUidAndState(Long.parseLong(uid), HongBao.STATE_YILINGQU);
- if (count == 0)
+ 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)
@@ -673,4 +735,8 @@
}
+ @Override
+ public double countTodayMoney(Long uid) {
+ return extractMapper.countTodayMoney(uid);
+ }
}
--
Gitblit v1.8.0