From b63cc5c46404ba8c149f9f7527e9af11e0b44360 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期三, 16 十月 2019 18:02:21 +0800 Subject: [PATCH] 淘礼金获得 + 赠送 + 相关活动清理 --- fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinOriginServiceImpl.java | 584 ---------------------------------------------------------- 1 files changed, 1 insertions(+), 583 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 8aaad4b..02ad80f 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 @@ -1,45 +1,23 @@ package com.yeshi.fanli.service.impl.tlj; import java.math.BigDecimal; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.Date; import java.util.List; import javax.annotation.Resource; import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; -import org.yeshi.utils.DateUtil; import com.yeshi.fanli.dao.mybatis.tlj.UserTaoLiJinOriginMapper; -import com.yeshi.fanli.dto.msg.MsgOtherGiveContentDTO; -import com.yeshi.fanli.dto.msg.MsgOtherTaoLiJinContentDTO; -import com.yeshi.fanli.entity.bus.tlj.DeviceTaoLiJinRecord; -import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinDetail; -import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinGiveRecord; -import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinDetail.TaoLiJinDetailTypeEnum; import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinOrigin; -import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinOrigin.TaoLiJinOriginEnum; -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; import com.yeshi.fanli.service.inter.money.UserMoneyExtraService; import com.yeshi.fanli.service.inter.msg.UserOtherMsgNotificationService; import com.yeshi.fanli.service.inter.tlj.ConfigTaoLiJinService; -import com.yeshi.fanli.service.inter.tlj.DeviceTaoLiJinRecordService; 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.util.MoneyBigDecimalUtil; -import com.yeshi.fanli.util.StringUtil; @Service public class UserTaoLiJinOriginServiceImpl implements UserTaoLiJinOriginService{ @@ -58,9 +36,6 @@ @Resource private UserTaoLiJinDetailService userTaoLiJinDetailService; - - @Resource - private DeviceTaoLiJinRecordService deviceTaoLiJinRecordService; @Resource private UserOtherMsgNotificationService userOtherMsgNotificationService; @@ -99,571 +74,14 @@ public UserTaoLiJinOrigin getRankByThisMonth(long uid, String type) { return userTaoLiJinOriginMapper.getRankByThisMonth(uid, type); } - - @Override - public boolean hasRankHongBao(long uid) { - UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); - if (userInfoExtra == null) { - return false; - } - - // 绛夌骇楠岃瘉 - UserRank userRank = userInfoExtra.getUserRank(); - if (userRank == null || userRank.getId() <= 1) { - return false; - } - - // 鏄惁宸查鍙� - long countRan = userTaoLiJinOriginMapper.countRankByThisMonth(uid); - if (countRan > 0) { - return false; - } - return true; - } - - - @Override - public void synchDeviceHongbao(long uid, String device) { - // 鏄惁宸查鍙� - long count = userTaoLiJinOriginMapper.countByUidAndType(uid, TaoLiJinOriginEnum.newbiesWin.name()); - if (count > 0) { - return; - } - - // 璁惧鏄惁宸查鍙� - DeviceTaoLiJinRecord record = deviceTaoLiJinRecordService.getByDevice(device); - if (record == null) { - return; - } - - try { - addNewbiesWinMoney(uid); - } catch (UserTaoLiJinOriginException e) { - LogHelper.errorDetailInfo(e); - } - } - - - @Override - @Transactional - public UserTaoLiJinOrigin addNewbiesWinMoney(Long uid) throws UserTaoLiJinOriginException{ - if(1>0) - throw new UserTaoLiJinOriginException(1, "鎺ュ彛宸蹭笅绾�"); - if (uid == null) { - throw new UserTaoLiJinOriginException(1, "鍙傛暟涓嶈兘涓虹┖"); - } - String value = configTaoLiJinService.getValueByKey("hongbao_newbies",null); - if (StringUtil.isNullOrEmpty(value)) { - throw new UserTaoLiJinOriginException(1, "绯荤粺绾㈠寘涓嶅瓨鍦�"); - } - BigDecimal money = new BigDecimal(value); - - // 鏄惁鍙互鑷喘 - boolean canSelfBuy = userInfoExtraService.isNewUser(uid); - // 娣诲姞鐢ㄦ埛绾㈠寘 - userMoneyExtraService.addTaoLiJin(uid, money, canSelfBuy); - // 娣诲姞鏂板璁板綍 - UserTaoLiJinOrigin origin = saveOrigin(uid, canSelfBuy?2:1, money, TaoLiJinOriginEnum.newbiesWin); - // 绾㈠寘鏄庣粏 - userTaoLiJinDetailService.createAddDetail(origin); - // 娑堟伅 - executor.execute(new Runnable() { - @Override - public void run() { - try { - String source = ""; - if(canSelfBuy) { - source = "鏂颁汉绾㈠寘"; - } else { - source = "鍒嗕韩绾㈠寘"; - } - - MsgOtherTaoLiJinContentDTO content = new MsgOtherTaoLiJinContentDTO(); - content.setState("绾㈠寘澧炲姞"); - content.setSource(source); - content.setMoney(money); - userOtherMsgNotificationService.taoLiJinMsg(uid, "", content); - } catch (Exception e) { - LogHelper.errorDetailInfo(e); - } - } - }); - - return origin; - } - - - @Override - @Transactional - public UserTaoLiJinOrigin addRankWinMoney(Long uid, UserRank userRank) throws UserTaoLiJinOriginException{ - if (uid == null || userRank == null) { - throw new UserTaoLiJinOriginException(1, "鍙傛暟涓嶈兘涓虹┖"); - } - - if(1>0) - throw new UserTaoLiJinOriginException(1, "鎺ュ彛宸蹭笅绾�"); - - String key = ""; - if (userRank.getId() == 2) { - key = "hongbao_rank_silver"; - } else if (userRank.getId() == 3) { - key = "hongbao_rank_gold"; - } else if (userRank.getId() == 4) { - key = "hongbao_rank_platinum"; - } else { - throw new UserTaoLiJinOriginException(2, "鐢ㄦ埛绛夌骇涓嶈冻"); - } - - String value = configTaoLiJinService.getValueByKey(key,null); - if (StringUtil.isNullOrEmpty(value)) { - throw new UserTaoLiJinOriginException(1, "绯荤粺绾㈠寘涓嶅瓨鍦�"); - } - BigDecimal money = new BigDecimal(value); - - // 娣诲姞绾㈠寘浣欓 - userMoneyExtraService.addTaoLiJin(uid, money, false); - // 娣诲姞鏂板璁板綍 - UserTaoLiJinOrigin origin = saveOrigin(uid, 1, money, TaoLiJinOriginEnum.rankWin); - // 绾㈠寘鏄庣粏 - userTaoLiJinDetailService.createAddDetail(origin); - // 娑堟伅 - executor.execute(new Runnable() { - @Override - public void run() { - try { - String beizhu = "涓婃湀璐︽埛绛夌骇" + userRank.getName(); - MsgOtherTaoLiJinContentDTO content = new MsgOtherTaoLiJinContentDTO(); - content.setState("绾㈠寘澧炲姞"); - content.setSource("璐︽埛绛夌骇绂忓埄"); - content.setMoney(money); - userOtherMsgNotificationService.taoLiJinMsg(uid, beizhu, content); - } catch (Exception e) { - LogHelper.errorDetailInfo(e); - } - } - }); - return origin; - } - - - @Override - @Transactional - public UserTaoLiJinOrigin addInviteWinMoney(Long uid, String inviteName) throws UserTaoLiJinOriginException{ - if (uid == null || StringUtil.isNullOrEmpty(inviteName)) { - throw new UserTaoLiJinOriginException(1, "鍙傛暟涓嶈兘涓虹┖"); - } - - if(1>0) - 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 origin = saveOrigin(uid, 1, money, TaoLiJinOriginEnum.inviteWin); - // 绾㈠寘鏄庣粏 - userTaoLiJinDetailService.createAddDetail(origin); - // 娑堟伅 - executor.execute(new Runnable() { - @Override - public void run() { - try { - String beizhu = "鎴愬姛閭�璇烽槦鍛�" + inviteName; - MsgOtherTaoLiJinContentDTO content = new MsgOtherTaoLiJinContentDTO(); - content.setState("绾㈠寘澧炲姞"); - content.setSource("閭�璇烽槦鍛樺鍔�"); - content.setMoney(money); - userOtherMsgNotificationService.taoLiJinMsg(uid, beizhu, content); - } catch (Exception e) { - LogHelper.errorDetailInfo(e); - } - } - }); - return origin; - } - - - @Override - @Transactional - public UserTaoLiJinOrigin addShareWinMoney(Long uid) throws UserTaoLiJinOriginException{ - if (uid == null) { - throw new UserTaoLiJinOriginException(1, "鐢ㄦ埛鏈櫥褰�"); - } - - if(1>0) - throw new UserTaoLiJinOriginException(1, "鎺ュ彛宸蹭笅绾�"); - - String value = configTaoLiJinService.getValueByKey("hongbao_share",null); - if (StringUtil.isNullOrEmpty(value)) { - throw new UserTaoLiJinOriginException(1, "绯荤粺绾㈠寘涓嶅瓨鍦�"); - } - BigDecimal money = new BigDecimal(value); - - // 娣诲姞鐢ㄦ埛绾㈠寘 - userMoneyExtraService.addTaoLiJin(uid, money, false); - // 娣诲姞鏂板璁板綍 - UserTaoLiJinOrigin origin = saveOrigin(uid, 1, money, TaoLiJinOriginEnum.shareWin); - // 绾㈠寘鏄庣粏 - userTaoLiJinDetailService.createAddDetail(origin); -// // 娑堟伅 -// executor.execute(new Runnable() { -// @Override -// public void run() { -// try { -// String beizhu = "杩�30澶╀骇鐢熻繃鍒嗕韩锛堜粎涓�娆″鍔憋級"; -// MsgOtherTaoLiJinContentDTO content = new MsgOtherTaoLiJinContentDTO(); -// content.setState("绾㈠寘澧炲姞"); -// content.setSource("鍒嗕韩璁㈠崟濂栧姳"); -// content.setMoney(money); -// userOtherMsgNotificationService.taoLiJinMsg(uid, beizhu, content); -// } catch (Exception e) { -// LogHelper.errorDetailInfo(e); -// } -// } -// }); - return origin; - } - - - // 娣诲姞鏂板璁板綍 - public UserTaoLiJinOrigin saveOrigin(Long uid, int type, BigDecimal money, TaoLiJinOriginEnum originEnum) { - UserTaoLiJinOrigin taoLiJinOrigin = new UserTaoLiJinOrigin(); - taoLiJinOrigin.setUid(uid); - taoLiJinOrigin.setType(type); - taoLiJinOrigin.setOrigin(originEnum); - taoLiJinOrigin.setMoney(money); - taoLiJinOrigin.setMoneySurplus(money); - taoLiJinOrigin.setCreateTime(new Date()); - taoLiJinOrigin.setUpdateTime(new Date()); - taoLiJinOrigin.setRemark(originEnum.getDesc()); - userTaoLiJinOriginMapper.insertSelective(taoLiJinOrigin); - return taoLiJinOrigin; - } - - - - @Override - @Transactional - public void refundMoney(UserTaoLiJinReport report) throws UserTaoLiJinOriginException{ - if (report == null) { - throw new UserTaoLiJinOriginException(1, "鍙傛暟涓嶈兘涓虹┖"); - } - String rightsId = report.getId(); - BigDecimal refundAmount = report.getRefundAmount(); - - // 宸查��鍥炵殑閲戦 - BigDecimal moneyOrigin = userTaoLiJinOriginMapper.countMoneyByOrigin(rightsId, TaoLiJinOriginEnum.refund.name()); - if (refundAmount.compareTo(moneyOrigin) < 1) { - return; - } - - // 鏌ヨ鐢ㄦ埛淇℃伅 - UserTaoLiJinRecord record = userTaoLiJinRecordService.getByRightsId(rightsId); - if (record == null) { - return; - } - Long uid = record.getUid(); - - // 璁$畻鏈閫�鍥炵殑閲戦 - BigDecimal money = MoneyBigDecimalUtil.sub(refundAmount, moneyOrigin); - - // 娣诲姞鐢ㄦ埛绾㈠寘 - userMoneyExtraService.addTaoLiJin(uid, money, false); - - // 娣诲姞鏂板璁板綍 - UserTaoLiJinOrigin taoLiJinOrigin = new UserTaoLiJinOrigin(); - taoLiJinOrigin.setUid(uid); - taoLiJinOrigin.setType(1); - taoLiJinOrigin.setRightsId(rightsId); - taoLiJinOrigin.setMoney(money); - taoLiJinOrigin.setMoneySurplus(money); - taoLiJinOrigin.setOrigin(TaoLiJinOriginEnum.refund); - taoLiJinOrigin.setRemark(TaoLiJinOriginEnum.refund.getDesc()); - taoLiJinOrigin.setCreateTime(new Date()); - taoLiJinOrigin.setUpdateTime(new Date()); - userTaoLiJinOriginMapper.insertSelective(taoLiJinOrigin); - - // 绾㈠寘鏄庣粏 - userTaoLiJinDetailService.createAddDetail(taoLiJinOrigin); - - // 娑堟伅 - executor.execute(new Runnable() { - @Override - public void run() { - try { - String beizhu = "鍏卞垱寤猴細" + record.getTotalNum() + "涓�,宸查鍙�"+report.getWinNum()+"涓紝鍓╀綑"+report.getRefundNum()+ "涓��鍥�"; - SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd hh.mm"); - String time = sd.format(record.getCreateTime()); - MsgOtherTaoLiJinContentDTO content = new MsgOtherTaoLiJinContentDTO(); - content.setState("绾㈠寘閫�鍥�"); - content.setSource(time + " 鍒涘缓鐨勫垎浜褰�"); - content.setMoney(money); - - userOtherMsgNotificationService.taoLiJinMsg(uid, beizhu, content); - } catch (Exception e) { - LogHelper.errorDetailInfo(e); - } - } - }); - } - - @Override - public void overdueHongBao(Long uid) { - if (uid == null) { - return; - } - - // 15澶╁墠杩囨湡- 闈炵瓑绾х孩鍖� - try { - Date date = DateUtil.reduceDay(14, new Date()); - List<UserTaoLiJinOrigin> list = userTaoLiJinOriginMapper.getOverdueTaoLiJin(uid, date); - executeOverdueHongBao(uid, date, list); - } catch (ParseException e) { - e.printStackTrace(); - } - - // 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(); - } - } - - - 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) { - 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); - - if (refund) { - 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(moneySurplus); - content.setReason("鏈瑪閫�鍥炴帹骞跨孩鍖呬粠閫�鍥炴棩璧疯嚦浠婂苟鏈骇鐢熷垎浜褰�"); - content.setResult("闀挎湡鏈娇鐢ㄦ敹鍥�"); - userOtherMsgNotificationService.taoLiJinMsg(uid, "濡傛湁鐤戦棶璇疯仈绯讳汉宸ュ鏈�", content); - - } else { - // 娑堟伅 - MsgOtherTaoLiJinContentDTO content = new MsgOtherTaoLiJinContentDTO(); - content.setState("绾㈠寘鏀跺洖"); - content.setSource(originEnum.getDesc()); - content.setTimeDesc("鑾峰緱浜�" + time); - content.setMoney(moneySurplus); - content.setReason("鏈瑪鎺ㄥ箍绾㈠寘浠庤幏寰楁棩璧疯嚦浠婂苟鏈骇鐢熷垎浜褰�"); - content.setResult("闀挎湡鏈娇鐢ㄦ敹鍥�"); - userOtherMsgNotificationService.taoLiJinMsg(uid, "濡傛湁鐤戦棶璇疯仈绯讳汉宸ュ鏈�", content); - } - } - - // 鐢ㄦ埛鍓╀綑娣樼ぜ閲� - 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(); - detail.setUid(uid); - detail.setMoney(new BigDecimal("-" + total.toString())); - detail.setTitle(TaoLiJinDetailTypeEnum.sendBack.getDesc()); - detail.setType(TaoLiJinDetailTypeEnum.sendBack); - 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); - } + - - @Override - @Transactional - public void exchangeMoney(Long uid, BigDecimal money) throws UserTaoLiJinOriginException{ - if (uid == null || money == null) { - throw new UserTaoLiJinOriginException(1, "鍙傛暟涓嶈兘涓虹┖"); - } - // 娣诲姞鐢ㄦ埛绾㈠寘 - userMoneyExtraService.addTaoLiJin(uid, money, false); - // 娣诲姞鏂板璁板綍 - UserTaoLiJinOrigin origin = saveOrigin(uid, 1, money, TaoLiJinOriginEnum.exchange); - // 绾㈠寘鏄庣粏 - userTaoLiJinDetailService.createAddDetail(origin); - } - - - @Override - @Transactional - public UserTaoLiJinOrigin receiveFriendsGive(Long uid, BigDecimal money) throws UserTaoLiJinOriginException{ - if (uid == null || money == null) { - throw new UserTaoLiJinOriginException(1, "鍙傛暟涓嶈兘涓虹┖"); - } - - // 娣诲姞绾㈠寘浣欓 - userMoneyExtraService.addTaoLiJin(uid, money, false); - // 娣诲姞鏂板璁板綍 - UserTaoLiJinOrigin origin = saveOrigin(uid, 1, money, TaoLiJinOriginEnum.friendsGive); - // 绾㈠寘鏄庣粏 - userTaoLiJinDetailService.createAddDetail(origin); - // 娑堟伅 - executor.execute(new Runnable() { - @Override - public void run() { - try { - MsgOtherTaoLiJinContentDTO content = new MsgOtherTaoLiJinContentDTO(); - content.setState("绾㈠寘澧炲姞"); - content.setSource("濂藉弸璧犻��"); - content.setMoney(money); - userOtherMsgNotificationService.taoLiJinMsg(uid, "", content); - } catch (Exception e) { - LogHelper.errorDetailInfo(e); - } - } - }); - return origin; - } - - - - @Override - @Transactional - public void giveSendBack(Long uid, UserTaoLiJinGiveRecord record) throws UserTaoLiJinOriginException{ - if (uid == null || record == null) { - throw new UserTaoLiJinOriginException(1, "鍙傛暟涓嶈兘涓虹┖"); - } - - BigDecimal money = record.getAmount(); - - // 娣诲姞绾㈠寘浣欓 - userMoneyExtraService.addTaoLiJin(uid, money, false); - // 娣诲姞鏂板璁板綍 - saveOrigin(uid, 1, money, TaoLiJinOriginEnum.giveSendBack); - // 绾㈠寘鏄庣粏 - UserTaoLiJinDetail detail = new UserTaoLiJinDetail(); - detail.setUid(uid); - detail.setMoney(money); - detail.setType(TaoLiJinDetailTypeEnum.giveBack); - detail.setTitle(TaoLiJinDetailTypeEnum.giveBack.getDesc()); - detail.setCreateTime(new Date()); - userTaoLiJinDetailService.insertSelective(detail); - - - executor.execute(new Runnable() { - @Override - public void run() { - // 閫�鍥炴秷鎭� - String beiZhu = "璇峰埌鎴戠殑-鎺ㄥ箍绾㈠寘鏌ョ湅"; - SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm"); - MsgOtherGiveContentDTO msgOther = new MsgOtherGiveContentDTO(); - msgOther.setType(MsgOtherGiveContentDTO.TYEP_TLJ); - msgOther.setTitle("鎺ㄥ箍绾㈠寘閫�鍥�"); - msgOther.setGiveType("浣犺禒閫佺殑楼"+ money + "鍏冩帹骞跨孩鍖呮湭琚鍙�"); - msgOther.setGiveTime(sd.format(record.getGiveTime())); - msgOther.setReturnTime(sd.format(new Date())); - userOtherMsgNotificationService.tokenGiveMsg(record.getGiveUid(), beiZhu, msgOther); - } - }); - - } } -- Gitblit v1.8.0