From d28bed1a1275131a5ca37f7da37961e2b518ac07 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期一, 26 八月 2019 13:44:00 +0800 Subject: [PATCH] 淘礼金创建异常处理 --- fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinOriginServiceImpl.java | 128 +++++++++++++++++++++++++++++++----------- 1 files changed, 94 insertions(+), 34 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinOriginServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinOriginServiceImpl.java index 184b22f..55b62f9 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinOriginServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinOriginServiceImpl.java @@ -148,7 +148,7 @@ if (uid == null) { throw new UserTaoLiJinOriginException(1, "鍙傛暟涓嶈兘涓虹┖"); } - String value = configTaoLiJinService.getValueByKey("hongbao_newbies"); + String value = configTaoLiJinService.getValueByKey("hongbao_newbies",null); if (StringUtil.isNullOrEmpty(value)) { throw new UserTaoLiJinOriginException(1, "绯荤粺绾㈠寘涓嶅瓨鍦�"); } @@ -207,7 +207,7 @@ throw new UserTaoLiJinOriginException(2, "鐢ㄦ埛绛夌骇涓嶈冻"); } - String value = configTaoLiJinService.getValueByKey(key); + String value = configTaoLiJinService.getValueByKey(key,null); if (StringUtil.isNullOrEmpty(value)) { throw new UserTaoLiJinOriginException(1, "绯荤粺绾㈠寘涓嶅瓨鍦�"); } @@ -246,7 +246,7 @@ throw new UserTaoLiJinOriginException(1, "鍙傛暟涓嶈兘涓虹┖"); } - String value = configTaoLiJinService.getValueByKey("hongbao_invite"); + String value = configTaoLiJinService.getValueByKey("hongbao_invite",null); if (StringUtil.isNullOrEmpty(value)) { throw new UserTaoLiJinOriginException(1, "绯荤粺绾㈠寘涓嶅瓨鍦�"); } @@ -285,7 +285,7 @@ throw new UserTaoLiJinOriginException(1, "鐢ㄦ埛鏈櫥褰�"); } - String value = configTaoLiJinService.getValueByKey("hongbao_share"); + String value = configTaoLiJinService.getValueByKey("hongbao_share",null); if (StringUtil.isNullOrEmpty(value)) { throw new UserTaoLiJinOriginException(1, "绯荤粺绾㈠寘涓嶅瓨鍦�"); } @@ -404,35 +404,58 @@ @Override public void overdueHongBao(Long uid) { - // 15澶╁墠杩囨湡 - Date date = null; + if (uid == null) { + return; + } + + // 15澶╁墠杩囨湡- 闈炵瓑绾х孩鍖� try { - date = DateUtil.reduceDay(15, new Date()); + Date date = DateUtil.reduceDay(14, new Date()); + List<UserTaoLiJinOrigin> list = userTaoLiJinOriginMapper.getOverdueTaoLiJin(uid, date); + executeOverdueHongBao(uid, date, list); } catch (ParseException e) { e.printStackTrace(); } - if (date == null) { - return; + // 30澶╁墠杩囨湡 - 绛夌骇绾㈠寘 + try { + Date date = DateUtil.reduceDay(29, new Date()); + List<UserTaoLiJinOrigin> list = userTaoLiJinOriginMapper.getOverdueTaoLiJinByRank(uid, date); + executeOverdueHongBao(uid, date, list); + } catch (ParseException e) { + e.printStackTrace(); } - - List<UserTaoLiJinOrigin> list = userTaoLiJinOriginMapper.getOverdueTaoLiJin(uid, date); + } + + + public void executeOverdueHongBao(Long uid, Date date, List<UserTaoLiJinOrigin> list) { if (list == null || list.size() == 0) { return; } - + BigDecimal total = new BigDecimal(0); - for (UserTaoLiJinOrigin userTaoLiJinOrigin: list) { + for (UserTaoLiJinOrigin userTaoLiJinOrigin : list) { + SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH.mm"); + String time = sd.format(userTaoLiJinOrigin.getCreateTime()); + + BigDecimal moneySurplus = userTaoLiJinOrigin.getMoneySurplus(); + total = MoneyBigDecimalUtil.add(total, moneySurplus); + + String rightsId = null; + boolean refund = false; + TaoLiJinOriginEnum originEnum = userTaoLiJinOrigin.getOrigin(); + if (TaoLiJinOriginEnum.refund.equals(originEnum)) { + refund = true; + rightsId = userTaoLiJinOrigin.getRightsId(); + } + UserTaoLiJinOrigin origin = new UserTaoLiJinOrigin(); origin.setId(userTaoLiJinOrigin.getId()); origin.setMoneySurplus(new BigDecimal(0)); origin.setUpdateTime(new Date()); userTaoLiJinOriginMapper.updateByPrimaryKeySelective(origin); - - SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd hh.mm"); - String time = sd.format(userTaoLiJinOrigin.getCreateTime()); - if (origin.getOrigin().equals(TaoLiJinOriginEnum.refund)) { - String rightsId = userTaoLiJinOrigin.getRightsId(); + + if (refund) { UserTaoLiJinReport report = userTaoLiJinReportService.selectByPrimaryKey(rightsId); Date shareTime = null; if (report == null) { @@ -440,42 +463,39 @@ } else { shareTime = report.getCreateTime(); } - + // 娑堟伅 MsgOtherTaoLiJinContentDTO content = new MsgOtherTaoLiJinContentDTO(); content.setState("绾㈠寘鏀跺洖"); - content.setSource("浜嶽"+ sd.format(shareTime) + "]鍒涘缓鐨勫垎浜湭琚鍙栭儴鍒�"); + content.setSource("浜嶽" + sd.format(shareTime) + "]鍒涘缓鐨勫垎浜湭琚鍙栭儴鍒�"); content.setTimeDesc("閫�鍥炰簬" + time); - content.setMoney(userTaoLiJinOrigin.getMoneySurplus()); + content.setMoney(moneySurplus); content.setReason("鏈瑪閫�鍥炴帹骞跨孩鍖呬粠閫�鍥炴棩璧疯嚦浠婂苟鏈骇鐢熷垎浜褰�"); content.setResult("闀挎湡鏈娇鐢ㄦ敹鍥�"); userOtherMsgNotificationService.taoLiJinMsg(uid, "濡傛湁鐤戦棶璇疯仈绯讳汉宸ュ鏈�", content); - + } else { // 娑堟伅 MsgOtherTaoLiJinContentDTO content = new MsgOtherTaoLiJinContentDTO(); content.setState("绾㈠寘鏀跺洖"); - content.setSource(origin.getOrigin().getDesc()); + content.setSource(originEnum.getDesc()); content.setTimeDesc("鑾峰緱浜�" + time); - content.setMoney(userTaoLiJinOrigin.getMoneySurplus()); + content.setMoney(moneySurplus); content.setReason("鏈瑪鎺ㄥ箍绾㈠寘浠庤幏寰楁棩璧疯嚦浠婂苟鏈骇鐢熷垎浜褰�"); content.setResult("闀挎湡鏈娇鐢ㄦ敹鍥�"); userOtherMsgNotificationService.taoLiJinMsg(uid, "濡傛湁鐤戦棶璇疯仈绯讳汉宸ュ鏈�", content); } - - - total = MoneyBigDecimalUtil.add(total, userTaoLiJinOrigin.getMoneySurplus()); } - + // 鐢ㄦ埛鍓╀綑娣樼ぜ閲� UserMoneyExtra userMoneyExtra = userMoneyExtraService.selectByPrimaryKey(uid); if (userMoneyExtra == null || userMoneyExtra.getTlj() == null) { return; } - + UserMoneyExtra updateExtra = new UserMoneyExtra(); updateExtra.setUid(uid); - + BigDecimal tljSelf = userMoneyExtra.getTljSelf(); if (tljSelf != null && tljSelf.compareTo(new BigDecimal(0)) > 0) { // 鍓╀綑娣樼ぜ閲�-- 鑷喘 BigDecimal sub = MoneyBigDecimalUtil.sub(tljSelf, total); @@ -484,12 +504,11 @@ } else { updateExtra.setTljSelf(new BigDecimal(0)); } - } + } updateExtra.setTlj(MoneyBigDecimalUtil.sub(userMoneyExtra.getTlj(), total)); updateExtra.setUpdateTime(new Date()); userMoneyExtraService.updateByPrimaryKeySelective(updateExtra); - - + // 鎻掑叆鏄庣粏 UserTaoLiJinDetail detail = new UserTaoLiJinDetail(); detail.setUid(uid); @@ -499,10 +518,51 @@ detail.setCreateTime(new Date()); userTaoLiJinDetailService.insertSelective(detail); } - + + @Override public List<UserTaoLiJinOrigin> getSurplusLiJin(long uid) { return userTaoLiJinOriginMapper.getSurplusLiJin(uid); } + + @Override + @Transactional + public void addInviteWinMoneyByHand(Long uid, String inviteName, Date date) throws UserTaoLiJinOriginException { + if (uid == null || StringUtil.isNullOrEmpty(inviteName)) { + throw new UserTaoLiJinOriginException(1, "鍙傛暟涓嶈兘涓虹┖"); + } + + String value = configTaoLiJinService.getValueByKey("hongbao_invite",null); + if (StringUtil.isNullOrEmpty(value)) { + throw new UserTaoLiJinOriginException(1, "绯荤粺绾㈠寘涓嶅瓨鍦�"); + } + BigDecimal money = new BigDecimal(value); + + // 娣诲姞鐢ㄦ埛绾㈠寘 + userMoneyExtraService.addTaoLiJin(uid, money, false); + + // 娣诲姞鏂板璁板綍 + UserTaoLiJinOrigin taoLiJinOrigin = new UserTaoLiJinOrigin(); + taoLiJinOrigin.setUid(uid); + taoLiJinOrigin.setType(1); + taoLiJinOrigin.setOrigin(TaoLiJinOriginEnum.inviteWin); + taoLiJinOrigin.setMoney(money); + taoLiJinOrigin.setMoneySurplus(money); + taoLiJinOrigin.setCreateTime(date); + taoLiJinOrigin.setUpdateTime(date); + taoLiJinOrigin.setRemark(TaoLiJinOriginEnum.inviteWin.getDesc()); + userTaoLiJinOriginMapper.insertSelective(taoLiJinOrigin); + + // 鏄庣粏 + UserTaoLiJinDetail detail = new UserTaoLiJinDetail(); + detail.setUid(uid); + detail.setMoney(money); + detail.setType(TaoLiJinDetailTypeEnum.add); + detail.setTitle(TaoLiJinDetailTypeEnum.add.getDesc()); + detail.setDescInfo("鏉ユ簮锛�" + TaoLiJinOriginEnum.inviteWin.getDesc()); + detail.setCreateTime(date); + userTaoLiJinDetailService.insertSelective(detail); + } + } -- Gitblit v1.8.0