From e4a56b57d3e10b9b46eaefe5194bbf98fcc45698 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期四, 11 七月 2019 18:41:09 +0800 Subject: [PATCH] Merge branch 'master' into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinOriginServiceImpl.java | 124 +++++++++++++++++++++++++++++++++++------ 1 files changed, 105 insertions(+), 19 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 82ab9fa..ad1567a 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 @@ -23,6 +23,7 @@ import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinRecord; import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinReport; import com.yeshi.fanli.entity.bus.user.UserInfoExtra; +import com.yeshi.fanli.entity.bus.user.UserMoneyExtra; import com.yeshi.fanli.entity.bus.user.UserRank; import com.yeshi.fanli.exception.tlj.UserTaoLiJinOriginException; import com.yeshi.fanli.log.LogHelper; @@ -32,6 +33,7 @@ import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinDetailService; import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService; import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinRecordService; +import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinReportService; import com.yeshi.fanli.service.inter.user.UserInfoExtraService; import com.yeshi.fanli.service.inter.user.UserMoneyExtraService; import com.yeshi.fanli.util.MoneyBigDecimalUtil; @@ -66,6 +68,9 @@ @Resource private UserTaoLiJinRecordService userTaoLiJinRecordService; + + @Resource + private UserTaoLiJinReportService userTaoLiJinReportService; @Override @@ -372,6 +377,7 @@ // 绾㈠寘鏄庣粏 userTaoLiJinDetailService.createAddDetail(taoLiJinOrigin); + // 娑堟伅 executor.execute(new Runnable() { @Override @@ -417,15 +423,72 @@ BigDecimal total = new BigDecimal(0); for (UserTaoLiJinOrigin userTaoLiJinOrigin: list) { - 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(); + UserTaoLiJinReport report = userTaoLiJinReportService.selectByPrimaryKey(rightsId); + Date shareTime = null; + if (report == null) { + shareTime = date; + } else { + shareTime = report.getCreateTime(); + } + + // 娑堟伅 + MsgOtherTaoLiJinContentDTO content = new MsgOtherTaoLiJinContentDTO(); + content.setState("绾㈠寘鏀跺洖"); + content.setSource("浜嶽"+ sd.format(shareTime) + "]鍒涘缓鐨勫垎浜湭琚鍙栭儴鍒�"); + content.setTimeDesc("閫�鍥炰簬" + time); + content.setMoney(userTaoLiJinOrigin.getMoneySurplus()); + content.setReason("鏈瑪閫�鍥炴帹骞跨孩鍖呬粠閫�鍥炴棩璧疯嚦浠婂苟鏈骇鐢熷垎浜褰�"); + content.setResult("闀挎湡鏈娇鐢ㄦ敹鍥�"); + userOtherMsgNotificationService.taoLiJinMsg(uid, "濡傛湁鐤戦棶璇疯仈绯讳汉宸ュ鏈�", content); + + } else { + // 娑堟伅 + MsgOtherTaoLiJinContentDTO content = new MsgOtherTaoLiJinContentDTO(); + content.setState("绾㈠寘鏀跺洖"); + content.setSource(origin.getOrigin().getDesc()); + content.setTimeDesc("鑾峰緱浜�" + time); + content.setMoney(userTaoLiJinOrigin.getMoneySurplus()); + 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); + if (sub.compareTo(new BigDecimal(0)) > 0) { + updateExtra.setTljSelf(sub); + } else { + updateExtra.setTljSelf(new BigDecimal(0)); + } + } + updateExtra.setTlj(MoneyBigDecimalUtil.sub(userMoneyExtra.getTlj(), total)); + updateExtra.setUpdateTime(new Date()); + userMoneyExtraService.updateByPrimaryKeySelective(updateExtra); + // 鎻掑叆鏄庣粏 UserTaoLiJinDetail detail = new UserTaoLiJinDetail(); @@ -433,25 +496,8 @@ detail.setMoney(new BigDecimal("-" + total.toString())); detail.setTitle(TaoLiJinDetailTypeEnum.sendBack.getDesc()); detail.setType(TaoLiJinDetailTypeEnum.sendBack); - detail.setCreateTime(date); + detail.setCreateTime(new Date()); userTaoLiJinDetailService.insertSelective(detail); - - // 娑堟伅 - final BigDecimal totalMoney = total; - executor.execute(new Runnable() { - @Override - public void run() { - try { - MsgOtherTaoLiJinContentDTO content = new MsgOtherTaoLiJinContentDTO(); - content.setState("绾㈠寘鎵i櫎"); - content.setSource("15澶╁唴鏈骇鐢熻繃鎺ㄥ箍绾㈠寘鍒嗕韩璁板綍"); - content.setMoney(totalMoney); - userOtherMsgNotificationService.taoLiJinMsg(uid, "娓呴櫎鍚庢棤娉曟仮澶�", content); - } catch (Exception e) { - LogHelper.errorDetailInfo(e); - } - } - }); } @Override @@ -459,4 +505,44 @@ 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"); + 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