From eec7e789a87863c25d92c10ad5dfc22ad80c448d Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期二, 14 七月 2020 12:36:48 +0800
Subject: [PATCH] 系统区分BUG修复
---
fanli/src/main/java/com/yeshi/fanli/service/impl/tlj/UserTaoLiJinOriginServiceImpl.java | 554 -------------------------------------------------------
1 files changed, 2 insertions(+), 552 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 5b1d3dc..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,43 +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.MsgOtherTaoLiJinContentDTO;
-import com.yeshi.fanli.entity.bus.tlj.DeviceTaoLiJinRecord;
-import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinDetail;
-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.service.inter.user.UserMoneyExtraService;
-import com.yeshi.fanli.util.MoneyBigDecimalUtil;
-import com.yeshi.fanli.util.StringUtil;
@Service
public class UserTaoLiJinOriginServiceImpl implements UserTaoLiJinOriginService{
@@ -56,9 +36,6 @@
@Resource
private UserTaoLiJinDetailService userTaoLiJinDetailService;
-
- @Resource
- private DeviceTaoLiJinRecordService deviceTaoLiJinRecordService;
@Resource
private UserOtherMsgNotificationService userOtherMsgNotificationService;
@@ -97,541 +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 (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, "鍙傛暟涓嶈兘涓虹┖");
- }
-
- 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, "鍙傛暟涓嶈兘涓虹┖");
- }
-
- 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, "鐢ㄦ埛鏈櫥褰�");
- }
-
- 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, 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.giveSendBack);
- // 绾㈠寘鏄庣粏
- userTaoLiJinDetailService.createAddDetail(origin);
- 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);
- }
}
--
Gitblit v1.8.0