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