From fd21d973d2cd05f251cbe17adc581aea5adc8760 Mon Sep 17 00:00:00 2001
From: yujian <yujian@123.com>
Date: 星期二, 15 十月 2019 09:32:12 +0800
Subject: [PATCH] 品牌更新暂注释
---
fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java | 766 ++++++++++++++++++++++++++++++++++------------------------
1 files changed, 442 insertions(+), 324 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java
index 8370794..8850fd9 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java
@@ -8,10 +8,12 @@
import javax.annotation.Resource;
+import org.springframework.context.annotation.Lazy;
import org.springframework.core.task.TaskExecutor;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.mybatis.user.TokenRecordMapper;
+import com.yeshi.fanli.dto.msg.MsgInviteContentDTO;
import com.yeshi.fanli.dto.msg.MsgOtherGiveContentDTO;
import com.yeshi.fanli.entity.bus.tlj.UserTaoLiJinGiveRecord;
import com.yeshi.fanli.entity.bus.user.TokenRecord;
@@ -20,12 +22,14 @@
import com.yeshi.fanli.entity.bus.user.UserInfoExtra;
import com.yeshi.fanli.entity.bus.user.UserSystemCoupon;
import com.yeshi.fanli.entity.bus.user.UserSystemCouponGiveRecord;
+import com.yeshi.fanli.entity.bus.user.UserSystemCouponRecord;
+import com.yeshi.fanli.entity.system.SystemCoupon;
import com.yeshi.fanli.entity.system.SystemCoupon.CouponTypeEnum;
import com.yeshi.fanli.exception.tlj.UserTaoLiJinOriginException;
import com.yeshi.fanli.exception.user.TokenRecordException;
import com.yeshi.fanli.exception.user.UserInfoExtraException;
import com.yeshi.fanli.log.LogHelper;
-import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce;
+import com.yeshi.fanli.service.inter.config.SystemCouponService;
import com.yeshi.fanli.service.inter.msg.UserOtherMsgNotificationService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinGiveRecordService;
import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService;
@@ -33,9 +37,14 @@
import com.yeshi.fanli.service.inter.user.UserInfoExtraService;
import com.yeshi.fanli.service.inter.user.UserInfoService;
import com.yeshi.fanli.service.inter.user.UserSystemCouponGiveRecordService;
+import com.yeshi.fanli.service.inter.user.UserSystemCouponRecordService;
import com.yeshi.fanli.service.inter.user.UserSystemCouponService;
+import com.yeshi.fanli.service.inter.user.integral.IntegralGetService;
+import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
+import com.yeshi.fanli.service.inter.user.invite.UserInviteMsgNotificationService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.StringUtil;
+import com.yeshi.fanli.util.TokenUtil;
import com.yeshi.fanli.vo.msg.TokenVO;
@Service
@@ -43,7 +52,7 @@
@Resource(name = "taskExecutor")
private TaskExecutor executor;
-
+
@Resource
private TokenRecordMapper tokenRecordMapper;
@@ -51,6 +60,7 @@
private UserInfoService userInfoService;
@Resource
+ @Lazy
private UserSystemCouponService userSystemCouponService;
@Resource
@@ -63,16 +73,28 @@
private UserInfoExtraService userInfoExtraService;
@Resource
+ private UserSystemCouponRecordService userSystemCouponRecordService;
+
+ @Resource
private UserSystemCouponGiveRecordService userSystemCouponGiveRecordService;
-
+
@Resource
private UserTaoLiJinOriginService userTaoLiJinOriginService;
-
+
@Resource
private UserOtherMsgNotificationService userOtherMsgNotificationService;
+ @Lazy
+ @Resource
+ private IntegralGetService integralGetService;
+ @Resource
+ private SystemCouponService systemCouponService;
+ @Resource
+ private UserInviteMsgNotificationService userInviteMsgNotificationService;
+
+
@Override
public void insertSelective(TokenRecord record) {
record.setCreateTime(new Date());
@@ -80,6 +102,12 @@
tokenRecordMapper.insertSelective(record);
}
+
+ @Override
+ public void updateByPrimaryKeySelective(TokenRecord record) {
+ tokenRecordMapper.updateByPrimaryKeySelective(record);
+ }
+
@Override
public TokenRecord getNearByTypeAndIdentify(String type, String identify) {
return tokenRecordMapper.getNearByTypeAndIdentify(type, identify);
@@ -87,21 +115,143 @@
@Override
public TokenVO discernToken(String token, Long uid) throws TokenRecordException {
-
- // TODO token 楠岃瘉
-
- TokenRecord rokenRecord = tokenRecordMapper.getByToken(token);
+ // 瑙f瀽鍙d护
+ String parseToken = TokenUtil.parseToken(token);
+ if (StringUtil.isNullOrEmpty(parseToken))
+ throw new TokenRecordException(1, "鏈彂鐜板彛浠�");
+
+ TokenRecord rokenRecord = tokenRecordMapper.getByToken(parseToken);
if (rokenRecord == null)
throw new TokenRecordException(1, "鍙d护涓嶅瓨鍦�");
+
+ Long uidToken = rokenRecord.getUid();
+ if (uid != null && uidToken != null && uid.longValue() == uidToken.longValue())
+ throw new TokenRecordException(1, "涓嶈兘鑷繁璧犻�佺粰鑷繁");
Date now = new Date();
Date endTimeToken = rokenRecord.getEndTime();
- if (endTimeToken != null && endTimeToken.getTime() < now.getTime())
- throw new TokenRecordException(1, "鍙d护宸插け鏁�");
-
Integer stateTtoken = rokenRecord.getState();
- if (stateTtoken != null && stateTtoken == 1)
+ if (endTimeToken != null && endTimeToken.getTime() < now.getTime()
+ || (stateTtoken != null && stateTtoken == 1) || StringUtil.isNullOrEmpty(rokenRecord.getIdentify()))
throw new TokenRecordException(1, "鍙d护宸插け鏁�");
+
+
+ Integer num = 1;
+ Integer type = 0;
+ boolean state = false;
+ List<String> tips = new ArrayList<String>();
+ String identify = rokenRecord.getIdentify();
+
+ TokenTypeEnum tokenType = rokenRecord.getType();
+ if (tokenType == TokenTypeEnum.freeCoupon) {
+ type = 10;
+ UserSystemCouponGiveRecord giveRecord = userSystemCouponGiveRecordService
+ .selectByPrimaryKey(Long.parseLong(identify));
+ if (giveRecord == null)
+ throw new TokenRecordException(1, "璧犻�佽褰曚笉瀛樺湪");
+
+ Date endTime = giveRecord.getEndTime();
+ if (endTime != null && endTime.getTime() < now.getTime())
+ throw new TokenRecordException(1, "璧犻�佽褰曞凡杩囨湡");
+
+ // 鐢ㄦ埛鍒镐俊鎭�
+ UserSystemCoupon userCoupon = userSystemCouponService.selectByPrimaryKey(giveRecord.getCouponId());
+ if (userCoupon == null || userCoupon.getGive() == null || !userCoupon.getGive())
+ throw new TokenRecordException(1, "鍒镐笉瀛樺湪鎴栭潪璧犻�佺姸鎬�");
+
+ if (userCoupon.getState() == UserSystemCoupon.STATE_OVERDUE) {
+ tips.add("鍝庡憖锛岃繖寮犲厤鍗曞埜宸插け鏁堜簡锛�");
+ } else if (userCoupon.getState() == UserSystemCoupon.STATE_END_USE) {
+ tips.add("鍝庡憖锛岃繖寮犲厤鍗曞埜宸茶棰嗗彇浜嗭紒");
+ } else if (userCoupon.getState() == UserSystemCoupon.STATE_IN_USE) {
+ if (uid == null || uid <= 0)
+ throw new TokenRecordException(1001, "娓╅Θ鎻愮ず锛孾鍏嶅崟鍒竇闇�瑕佺櫥褰曞悗棰嗗彇");
+
+ state = true;
+ UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
+ if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) {
+ tips.add("纭棰嗗彇鍚庯紝浣犲皢鎴愪负璧犻�佽�呯殑涓�绾ч槦鍛橈紱");
+ tips.add("鑾疯禒鐨勫厤鍗曞埜锛岄渶瑕佹縺娲诲悗鎵嶈兘浣跨敤锛岃鎯呭弬瑙佸厤鍗曞埜婵�娲昏鍒欙紱");
+ tips.add("鎴愬姛棰嗗彇鍚庯紝璇峰埌鈥滄垜鐨�-绂忓埄涓績鈥濇煡鐪嬨��");
+ } else {
+ tips.add("鑾疯禒鐨勫厤鍗曞埜锛岄渶瑕佹縺娲诲悗鎵嶈兘浣跨敤锛岃鎯呭弬瑙佸厤鍗曞埜婵�娲昏鍒欙紱");
+ tips.add("鎴愬姛棰嗗彇鍚庯紝璇峰埌鈥滄垜鐨�-绂忓埄涓績鈥濇煡鐪嬨��");
+ }
+ } else {
+ throw new TokenRecordException(1, "鍙d护宸插け鏁�");
+ }
+ } else if (tokenType == TokenTypeEnum.rebatePercentCoupon) {
+ type = 11;
+
+ // 璧犻�佽褰�
+ UserSystemCouponGiveRecord giveRecord = userSystemCouponGiveRecordService
+ .selectByPrimaryKey(Long.parseLong(identify));
+ if (giveRecord == null)
+ throw new TokenRecordException(1, "璧犻�佽褰曚笉瀛樺湪");
+
+ Date endTime = giveRecord.getEndTime();
+ if (endTime != null && endTime.getTime() < now.getTime())
+ throw new TokenRecordException(1, "璧犻�佽褰曞凡杩囨湡");
+
+ UserSystemCoupon userCoupon = userSystemCouponService.selectByPrimaryKey(giveRecord.getCouponId());
+ if (userCoupon == null || userCoupon.getGive() == null || !userCoupon.getGive())
+ throw new TokenRecordException(1, "鍒镐笉瀛樺湪鎴栭潪璧犻�佺姸鎬�");
+
+
+ if (userCoupon.getState() == UserSystemCoupon.STATE_OVERDUE) {
+ tips.add("鍝庡憖锛岃繖寮犺繑鍒╁鍔卞埜宸插け鏁堜簡锛�");
+ } else if (userCoupon.getState() == UserSystemCoupon.STATE_END_USE) {
+ tips.add("鍝庡憖锛岃繖寮犺繑鍒╁鍔卞埜宸茶棰嗗彇浜嗭紒");
+ } else if (userCoupon.getState() == UserSystemCoupon.STATE_IN_USE) {
+ if (uid == null || uid <= 0)
+ throw new TokenRecordException(1001, "娓╅Θ鎻愮ず锛孾杩斿埄濂栧姳鍒竇闇�瑕佺櫥褰曞悗棰嗗彇");
+
+ state = true;
+ UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
+ if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) {
+ tips.add("纭棰嗗彇鍚庯紝浣犲皢鎴愪负璧犻�佽�呯殑涓�绾ч槦鍛橈紱");
+ tips.add("鏉挎牀蹇渷濂栧姳鍒革紝鍙敤浜庘�滃凡鍒拌处鈥濈殑杩斿埄璁㈠崟锛屽湪杩斿埄鐨勫熀纭�涓婂啀鑾峰緱涓�瀹氭瘮渚嬬殑杩斿埄锛�");
+ tips.add("鎴愬姛棰嗗彇鍚庯紝璇峰埌鈥滄垜鐨�-绂忓埄涓績鈥濅腑鏌ョ湅銆�");
+ } else {
+ tips.add("鏉挎牀蹇渷濂栧姳鍒革紝鍙敤浜庘�滃凡鍒拌处鈥濈殑杩斿埄璁㈠崟锛屽湪杩斿埄鐨勫熀纭�涓婂啀鑾峰緱涓�瀹氭瘮渚嬬殑杩斿埄锛�");
+ tips.add("鎴愬姛棰嗗彇鍚庯紝璇峰埌鈥滄垜鐨�-绂忓埄涓績鈥濅腑鏌ョ湅銆�");
+ }
+ } else {
+ throw new TokenRecordException(1, "鍙d护宸插け鏁�");
+ }
+ } else if (tokenType == TokenTypeEnum.taoLiJin) {
+ type = 12;
+
+ UserTaoLiJinGiveRecord giveRecord = userTaoLiJinGiveRecordService.selectByPrimaryKey(Long.parseLong(identify));
+ if (giveRecord == null)
+ throw new TokenRecordException(1, "鍙d护宸插け鏁�");
+
+ BigDecimal amount = giveRecord.getAmount();
+ num = Integer.parseInt(amount.setScale(0).toString());
+
+ if(giveRecord.getState() == UserTaoLiJinGiveRecord.STATE_OVERDUE) {
+ tips.add("鍝庡憖锛屾帹骞跨孩鍖呭凡澶辨晥浜嗭紒");
+ } else if (giveRecord.getState() == UserTaoLiJinGiveRecord.STATE_RECEIVE) {
+ tips.add("鍝庡憖锛屾帹骞跨孩鍖呭凡琚鍙栦簡锛�");
+ } else if (giveRecord.getState() == UserTaoLiJinGiveRecord.STATE_INIT) {
+ if (uid == null || uid <= 0)
+ throw new TokenRecordException(1001, "娓╅Θ鎻愮ず锛孾鎺ㄥ箍绾㈠寘]闇�瑕佺櫥褰曞悗棰嗗彇");
+ state = true;
+ UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
+ if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) {
+ tips.add("纭棰嗗彇鍚庯紝浣犲皢鎴愪负璧犻�佽�呯殑涓�绾ч槦鍛橈紱");
+ tips.add("鎺ㄥ箍绾㈠寘锛屽彲鍒嗕韩鐖嗘鍟嗗搧锛岃鍒嗕韩璁㈠崟鎴愬崟鐜囨洿楂橈紱");
+ tips.add("鎴愬姛棰嗗彇鍚庯紝璇峰埌鈥滄垜鐨�-鎺ㄥ箍绾㈠寘鈥濅腑鏌ョ湅銆�");
+ } else {
+ tips.add("鎺ㄥ箍绾㈠寘锛屽彲鍒嗕韩鐖嗘鍟嗗搧锛岃鍒嗕韩璁㈠崟鎴愬崟鐜囨洿楂橈紱");
+ tips.add("鎴愬姛棰嗗彇鍚庯紝璇峰埌鈥滄垜鐨�-鎺ㄥ箍绾㈠寘鈥濅腑鏌ョ湅銆�");
+ }
+ } else {
+ throw new TokenRecordException(1, "鍙d护澶辨晥");
+ }
+ } else {
+ throw new TokenRecordException(1, "鏃犲搴旂被鍨�");
+ }
String nickName = null;
String portrait = null;
@@ -115,7 +265,7 @@
}
if (StringUtil.isNullOrEmpty(nickName))
- nickName = Constant.systemCommonConfig.getDefaultNickName();
+ nickName = Constant.systemCommonConfig.getDefaultNickName() + inviteId;
if (StringUtil.isNullOrEmpty(portrait))
portrait = Constant.systemCommonConfig.getDefaultPortrait();
@@ -123,125 +273,19 @@
if (nickName.length() > 6) {
nickName = nickName.substring(0, 6) + "...";
}
-
+
TokenVO tokenVO = new TokenVO();
- tokenVO.setToken(token);
+ tokenVO.setAmount(num);
+ tokenVO.setToken(parseToken);
tokenVO.setNickName(nickName + "璧犻��");
tokenVO.setPortrait(portrait);
-
- String identify = rokenRecord.getIdentify();
- if (StringUtil.isNullOrEmpty(identify))
- throw new TokenRecordException(1, "鍙d护鏍囪瘑涓嶅瓨鍦�");
-
- Integer type = 0;
- boolean state = false;
- List<String> tips = new ArrayList<String>();
- TokenTypeEnum tokenType = rokenRecord.getType();
- if (tokenType == TokenTypeEnum.freeCoupon) {
- type = 10;
- UserSystemCoupon userCoupon = userSystemCouponService.selectByPrimaryKey(Long.parseLong(identify));
- if (userCoupon == null) {
- tips.add("鍝庡憖锛岃繖寮犲厤鍗曞埜宸插け鏁堜簡锛�");
- } else {
- Boolean give = userCoupon.getGive();
- if (give == null)
- give = false;
-
- if (userCoupon.getState() == UserSystemCoupon.STATE_OVERDUE) {
- tips.add("鍝庡憖锛岃繖寮犲厤鍗曞埜宸插け鏁堜簡锛�");
- } else if (userCoupon.getState() == UserSystemCoupon.STATE_END_USE) {
- tips.add("鍝庡憖锛岃繖寮犲厤鍗曞埜宸茶棰嗗彇浜嗭紒");
- } else if (userCoupon.getState() == UserSystemCoupon.STATE_CAN_USE) {
- throw new TokenRecordException(1, "鍙d护宸插け鏁�");
- } else if (give && userCoupon.getState() == UserSystemCoupon.STATE_IN_USE) {
- if (uid == null || uid <= 0)
- throw new TokenRecordException(1001, "娓╅Θ鎻愮ず锛孾鍏嶅崟鍒竇闇�瑕佺櫥褰曞悗棰嗗彇");
-
- state = true;
- tokenVO.setAmount(1);
- UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
- if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) {
- tips.add("纭棰嗗彇鍚庯紝浣犲皢鎴愪负璧犻�佽�呯殑涓�绾ч槦鍛橈紱");
- tips.add("鑾疯禒鐨勫厤鍗曞埜锛岄渶瑕佹縺娲诲悗鎵嶈兘浣跨敤锛岃鎯呭弬瑙佸厤鍗曞埜婵�娲昏鍒欙紱");
- tips.add("鎴愬姛棰嗗彇鍚庯紝璇峰埌鈥滄垜鐨�-绂忓埄涓績鈥濇煡鐪嬨��");
- } else {
- tips.add("鑾疯禒鐨勫厤鍗曞埜锛岄渶瑕佹縺娲诲悗鎵嶈兘浣跨敤锛岃鎯呭弬瑙佸厤鍗曞埜婵�娲昏鍒欙紱");
- tips.add("鎴愬姛棰嗗彇鍚庯紝璇峰埌鈥滄垜鐨�-绂忓埄涓績鈥濇煡鐪嬨��");
- }
- } else {
- throw new TokenRecordException(1, "鍙d护宸插け鏁�");
- }
- }
- } else if (tokenType == TokenTypeEnum.rebatePercentCoupon) {
- type = 11;
- UserSystemCoupon userCoupon = userSystemCouponService.selectByPrimaryKey(Long.parseLong(identify));
- if (userCoupon == null) {
-
- } else {
- Boolean give = userCoupon.getGive();
- if (give == null)
- give = false;
-
- if (userCoupon.getState() == UserSystemCoupon.STATE_OVERDUE) {
- tips.add("鍝庡憖锛岃繖寮犺繑鍒╁鍔卞埜宸插け鏁堜簡锛�");
- } else if (userCoupon.getState() == UserSystemCoupon.STATE_END_USE) {
- tips.add("鍝庡憖锛岃繖寮犺繑鍒╁鍔卞埜宸茶棰嗗彇浜嗭紒");
- } else if (userCoupon.getState() == UserSystemCoupon.STATE_CAN_USE) {
- throw new TokenRecordException(1, "鍙d护宸插け鏁�");
- } else if (give && userCoupon.getState() == UserSystemCoupon.STATE_IN_USE) {
- if (uid == null || uid <= 0)
- throw new TokenRecordException(1001, "娓╅Θ鎻愮ず锛孾杩斿埄濂栧姳鍒竇闇�瑕佺櫥褰曞悗棰嗗彇");
-
- state = true;
- tokenVO.setAmount(1);
- UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
- if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) {
- tips.add("纭棰嗗彇鍚庯紝浣犲皢鎴愪负璧犻�佽�呯殑涓�绾ч槦鍛橈紱");
- tips.add("杩斿埄鍒稿鍔卞埜锛屽彲鐢ㄤ簬鈥滃凡鍒拌处鈥濈殑杩斿埄璁㈠崟锛屽湪杩斿埄鐨勫熀纭�涓婂啀鑾峰緱涓�瀹氭瘮渚嬬殑杩斿埄锛�");
- tips.add("鎴愬姛棰嗗彇鍚庯紝璇峰埌鈥滄垜鐨�-绂忓埄涓績鈥濅腑鏌ョ湅銆�");
- } else {
- tips.add("杩斿埄鍒稿鍔卞埜锛屽彲鐢ㄤ簬鈥滃凡鍒拌处鈥濈殑杩斿埄璁㈠崟锛屽湪杩斿埄鐨勫熀纭�涓婂啀鑾峰緱涓�瀹氭瘮渚嬬殑杩斿埄锛�");
- tips.add("鎴愬姛棰嗗彇鍚庯紝璇峰埌鈥滄垜鐨�-绂忓埄涓績鈥濅腑鏌ョ湅銆�");
- }
- } else {
- throw new TokenRecordException(1, "鍙d护宸插け鏁�");
- }
- }
- } else if (tokenType == TokenTypeEnum.taoLiJin) {
- type = 12;
- UserTaoLiJinGiveRecord giveRecord = userTaoLiJinGiveRecordService
- .selectByPrimaryKey(Long.parseLong(identify));
- if (giveRecord == null || giveRecord.getState() == UserTaoLiJinGiveRecord.STATE_OVERDUE) {
- tips.add("鍝庡憖锛屾帹骞跨孩鍖呭凡澶辨晥浜嗭紒");
- } else if (giveRecord.getState() == UserTaoLiJinGiveRecord.STATE_RECEIVE) {
- tips.add("鍝庡憖锛屾帹骞跨孩鍖呭凡琚鍙栦簡锛�");
- } else {
- if (uid == null || uid <= 0)
- throw new TokenRecordException(1001, "娓╅Θ鎻愮ず锛孾鎺ㄥ箍绾㈠寘]闇�瑕佺櫥褰曞悗棰嗗彇");
-
- BigDecimal amount = giveRecord.getAmount();
-
- state = true;
- tokenVO.setAmount(Integer.parseInt(amount.setScale(0).toString()));
- UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
- if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) {
- tips.add("纭棰嗗彇鍚庯紝浣犲皢鎴愪负璧犻�佽�呯殑涓�绾ч槦鍛橈紱");
- tips.add("鎺ㄥ箍绾㈠寘锛屽彲鍒嗕韩鐖嗘鍟嗗搧锛岃鍒嗕韩璁㈠崟鎴愬崟鐜囨洿楂橈紱");
- tips.add("鎴愬姛棰嗗彇鍚庯紝璇峰埌鈥滄垜鐨�-鎺ㄥ箍绾㈠寘鈥濅腑鏌ョ湅銆�");
- } else {
- tips.add("鎺ㄥ箍绾㈠寘锛屽彲鍒嗕韩鐖嗘鍟嗗搧锛岃鍒嗕韩璁㈠崟鎴愬崟鐜囨洿楂橈紱");
- tips.add("鎴愬姛棰嗗彇鍚庯紝璇峰埌鈥滄垜鐨�-鎺ㄥ箍绾㈠寘鈥濅腑鏌ョ湅銆�");
- }
- }
- } else {
- throw new TokenRecordException(1, "鏃犲搴旂被鍨�");
- }
-
tokenVO.setTips(tips);
tokenVO.setState(state);
tokenVO.setType(type);
return tokenVO;
}
+
+
@Override
public String receiveToken(String token, Long uid) throws TokenRecordException {
@@ -255,240 +299,280 @@
if (rokenRecord == null)
throw new TokenRecordException(1, "鍙d护宸插け鏁�");
+ Long uidToken = rokenRecord.getUid();
+ if (uidToken != null && uid.longValue() == uidToken.longValue())
+ throw new TokenRecordException(1, "涓嶈兘鑷繁璧犻�佺粰鑷繁");
+
Date now = new Date();
Date endTimeToken = rokenRecord.getEndTime();
if (endTimeToken != null && endTimeToken.getTime() < now.getTime())
throw new TokenRecordException(1, "鍙d护宸插け鏁�");
-
+
Integer stateTtoken = rokenRecord.getState();
if (stateTtoken != null && stateTtoken == 1)
throw new TokenRecordException(1, "鍙d护宸插け鏁�");
-
+
String identify = rokenRecord.getIdentify();
if (StringUtil.isNullOrEmpty(identify))
throw new TokenRecordException(1, "鍙d护鏍囪瘑涓嶅瓨鍦�");
-
-
+
Long giveUid = rokenRecord.getUid();
UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
- if (userInfoExtra == null)
+ if (userInfoExtra == null)
throw new TokenRecordException(1, "鐢ㄦ埛淇℃伅缂哄け");
-
-
+
String msg = "棰嗗彇鎴愬姛";
TokenTypeEnum tokenType = rokenRecord.getType();
if (tokenType == TokenTypeEnum.freeCoupon) {
- long couponId = Long.parseLong(identify);
- UserSystemCoupon userCoupon = userSystemCouponService.selectByPrimaryKey(couponId);
- if (userCoupon == null)
- throw new TokenRecordException(1, "璇ュ埜涓嶅瓨鍦�");
- Boolean give = userCoupon.getGive();
- if (give == null)
- give = false;
+ // 璧犻�佽褰�
+ UserSystemCouponGiveRecord giveRecord = userSystemCouponGiveRecordService
+ .selectByPrimaryKey(Long.parseLong(identify));
+ if (giveRecord == null)
+ throw new TokenRecordException(1, "璧犻�佽褰曚笉瀛樺湪");
+
+ Date endTime = giveRecord.getEndTime();
+ if (endTime != null && endTime.getTime() < now.getTime())
+ throw new TokenRecordException(1, "璧犻�佽褰曞凡杩囨湡");
+
+ UserSystemCoupon userCoupon = userSystemCouponService.selectByPrimaryKey(giveRecord.getCouponId());
+ if (userCoupon == null || userCoupon.getGive() == null || !userCoupon.getGive()
+ || userCoupon.getState() != UserSystemCoupon.STATE_IN_USE)
+ throw new TokenRecordException(1, "璇ュ埜涓嶅瓨鍦ㄦ垨闈炶禒閫�");
- if (userCoupon.getState() == UserSystemCoupon.STATE_OVERDUE)
- throw new TokenRecordException(1, "鍝庡憖锛岃繖寮犲厤鍗曞埜宸插け鏁堜簡锛�");
-
- if (userCoupon.getState() == UserSystemCoupon.STATE_END_USE)
- throw new TokenRecordException(1, "鍝庡憖锛岃繖寮犲厤鍗曞埜宸茶棰嗗彇浜嗭紒");
-
- if (userCoupon.getState() == UserSystemCoupon.STATE_CAN_USE)
- throw new TokenRecordException(1, "鍙d护宸插け鏁�");
-
- if (give && userCoupon.getState() == UserSystemCoupon.STATE_IN_USE) {
- UserSystemCouponGiveRecord giveRecord = userSystemCouponGiveRecordService.getRecordByUidAndCouponId(giveUid, couponId);
- if (giveRecord == null )
- throw new TokenRecordException(1, "鍙d护宸插け鏁�");
-
- Date endTime = giveRecord.getEndTime();
- if (endTime != null && endTime.getTime() < now.getTime())
- throw new TokenRecordException(1, "鍝庡憖锛岃繖寮犲厤鍗曞埜宸插け鏁堜簡锛�");
-
- try {
- userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.freeCoupon.name(), UserSystemCoupon.SOURCE_GIVE);
- } catch (Exception e) {
- LogHelper.errorDetailInfo(e);
- throw new TokenRecordException(1, "棰嗗彇澶辫触");
- }
-
- // 鏇存柊璧犻�佸埜淇℃伅
- userSystemCouponService.updateGiveRecord(uid, couponId, CouponTypeEnum.freeCoupon.name());
-
- // 鏇存柊璧犻�佽褰�
- giveRecord.setReceiveUid(uid);
- giveRecord.setReceiveTime(new Date());
- userSystemCouponGiveRecordService.updateByPrimaryKeySelective(giveRecord);
-
- msg = "棰嗗彇鎴愬姛[鍏嶅崟鍒竇鎴愬姛锛岃鍒癧鎴戠殑-绂忓埄涓績]涓煡鐪�";
- // 娑堟伅 + 闃熷憳
- executor.execute(new Runnable() {
- @Override
- public void run() {
- SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH.mm");
- boolean addTeam = addInviteTeam(uid, giveUid, userInfoExtra);
- String beiZhu = "鏃�";
- if (addTeam)
- beiZhu = "棰嗗彇浜哄凡缁忔垚涓轰綘鐨勪竴绾ч槦鍛�";
-
- String userName = "鏃�";
- UserInfo user = userInfoService.selectByPKey(uid);
- if (user != null && !StringUtil.isNullOrEmpty(user.getNickName()))
- userName = user.getNickName();
-
- MsgOtherGiveContentDTO msgOther = new MsgOtherGiveContentDTO();
- msgOther.setType(MsgOtherGiveContentDTO.TYEP_COUPON);
- msgOther.setTitle("璧犻�佸厤鍗曞埜");
- msgOther.setGiveType("浣犺禒閫佺殑鍏嶅崟鍒歌鎴愬姛棰嗗彇");
- msgOther.setReceiveInfo("鏄电О: " + userName +" ID:" + uid);
- msgOther.setGiveTime(sd.format(giveRecord.getGiveTime()));
- msgOther.setReceiveTime(sd.format(new Date()));
- userOtherMsgNotificationService.tokenGiveMsg(giveUid, beiZhu, msgOther);
- }
- });
- } else {
- throw new TokenRecordException(1, "鍙d护宸插け鏁�");
+ UserSystemCoupon userSystemCoupon= null;
+ try {
+ userSystemCoupon = userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.freeCoupon.name(),
+ UserSystemCoupon.SOURCE_GIVE, null,true);
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ throw new TokenRecordException(1, "棰嗗彇澶辫触");
}
+ // 鏇存柊鐘舵��
+ Date date = new Date();
+ userCoupon.setId(userCoupon.getId());
+ userCoupon.setState(UserSystemCoupon.STATE_END_USE);
+ userCoupon.setUseTime(date);
+ userCoupon.setUpdateTime(date);
+ userSystemCouponService.updateByPrimaryKeySelective(userCoupon);
+
+ // 鏇存柊浣跨敤璁板綍
+ UserSystemCouponRecord useRecord = userSystemCouponRecordService.getNearByUserCouponId(userCoupon.getId());
+ if (useRecord != null) {
+ UserSystemCouponRecord updateuseRecord = new UserSystemCouponRecord();
+ updateuseRecord.setId(useRecord.getId());
+ updateuseRecord.setState(UserSystemCouponRecord.STATE_SUCCESS);
+ updateuseRecord.setUpdateTime(new Date());
+ userSystemCouponRecordService.updateByPrimaryKeySelective(updateuseRecord);
+ }
+
+ // 鏇存柊璧犻�佽褰�
+ UserSystemCouponGiveRecord updateGiveRecord = new UserSystemCouponGiveRecord();
+ updateGiveRecord.setId(giveRecord.getId());
+ updateGiveRecord.setReceiveUid(uid);
+ updateGiveRecord.setReceiveTime(new Date());
+ updateGiveRecord.setState(UserSystemCouponGiveRecord.STATE_RECEIVE);
+ if (userSystemCoupon != null) {
+ updateGiveRecord.setReceiveId(userSystemCoupon.getId());
+ }
+ userSystemCouponGiveRecordService.updateByPrimaryKeySelective(updateGiveRecord);
+
+ integralGetService.addGiveFreeCoupon(giveUid);
+
+ msg = "棰嗗彇鎴愬姛[鍏嶅崟鍒竇鎴愬姛锛岃鍒癧鎴戠殑-绂忓埄涓績]涓煡鐪�";
+ // 娑堟伅 + 闃熷憳
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm");
+ boolean addTeam = addInviteTeam(uid, giveUid, userInfoExtra);
+ String beiZhu = "鏃�";
+ if (addTeam)
+ beiZhu = "棰嗗彇浜哄凡缁忔垚涓轰綘鐨勪竴绾ч槦鍛�";
+
+ String userName = "鏃�";
+ UserInfo user = userInfoService.selectByPKey(uid);
+ if (user != null && !StringUtil.isNullOrEmpty(user.getNickName()))
+ userName = user.getNickName();
+
+ MsgOtherGiveContentDTO msgOther = new MsgOtherGiveContentDTO();
+ msgOther.setType(MsgOtherGiveContentDTO.TYEP_COUPON);
+ msgOther.setTitle("璧犻�佸厤鍗曞埜");
+ msgOther.setGiveType("浣犺禒閫佺殑鍏嶅崟鍒歌鎴愬姛棰嗗彇");
+ msgOther.setReceiveInfo("鏄电О: 锛�" + userName + " ID锛�" + uid);
+ msgOther.setGiveTime(sd.format(giveRecord.getGiveTime()));
+ msgOther.setReceiveTime(sd.format(new Date()));
+ userOtherMsgNotificationService.tokenGiveMsg(giveUid, beiZhu, msgOther);
+
+ // 婵�娲婚個璇蜂俊鎭�
+ if (addTeam)
+ addInviteMsg(uid, giveUid, "鍏嶅崟鍒�");
+ }
+ });
} else if (tokenType == TokenTypeEnum.rebatePercentCoupon) {
- long couponId = Long.parseLong(identify);
- UserSystemCoupon userCoupon = userSystemCouponService.selectByPrimaryKey(couponId);
- if (userCoupon == null)
+ // 璧犻�佽褰�
+ UserSystemCouponGiveRecord giveRecord = userSystemCouponGiveRecordService
+ .selectByPrimaryKey(Long.parseLong(identify));
+ if (giveRecord == null)
+ throw new TokenRecordException(1, "璧犻�佽褰曚笉瀛樺湪");
+
+ Date endTime = giveRecord.getEndTime();
+ if (endTime != null && endTime.getTime() < now.getTime())
+ throw new TokenRecordException(1, "璧犻�佽褰曞凡杩囨湡");
+
+ UserSystemCoupon userCoupon = userSystemCouponService.selectByPrimaryKey(giveRecord.getCouponId());
+ if (userCoupon == null || userCoupon.getGive() == null || !userCoupon.getGive()
+ || userCoupon.getState() != UserSystemCoupon.STATE_IN_USE)
+ throw new TokenRecordException(1, "璇ュ埜涓嶅瓨鍦ㄦ垨闈炶禒閫�");
+
+ SystemCoupon systemCoupon = userCoupon.getSystemCoupon();
+ if (systemCoupon == null)
throw new TokenRecordException(1, "璇ュ埜涓嶅瓨鍦�");
-
- Boolean give = userCoupon.getGive();
- if (give == null)
- give = false;
-
- if (userCoupon.getState() == UserSystemCoupon.STATE_OVERDUE)
- throw new TokenRecordException(1, "鍝庡憖锛岃繖寮犺繑鍒╁鍔卞埜宸插け鏁堜簡锛�");
- if (userCoupon.getState() == UserSystemCoupon.STATE_END_USE)
- throw new TokenRecordException(1, "鍝庡憖锛岃繖寮犺繑鍒╁鍔卞埜宸茶棰嗗彇浜嗭紒");
+ systemCoupon = systemCouponService.selectByPrimaryKey(systemCoupon.getId());
+ if (systemCoupon == null)
+ throw new TokenRecordException(1, "璇ュ埜涓嶅瓨鍦�");
- if (userCoupon.getState() == UserSystemCoupon.STATE_CAN_USE)
- throw new TokenRecordException(1, "鍙d护宸插け鏁�");
-
- if (give && userCoupon.getState() == UserSystemCoupon.STATE_IN_USE) {
- UserSystemCouponGiveRecord giveRecord = userSystemCouponGiveRecordService.getRecordByUidAndCouponId(giveUid, couponId);
- if (giveRecord == null )
- throw new TokenRecordException(1, "鍙d护宸插け鏁�");
-
- Date endTime = giveRecord.getEndTime();
- if (endTime != null && endTime.getTime() < now.getTime())
- throw new TokenRecordException(1, "鍝庡憖锛岃繖寮犺繑鍒╁鍔卞埜宸插け鏁堜簡锛�");
-
- try {
- userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.rebatePercentCoupon.name(), UserSystemCoupon.SOURCE_GIVE);
- } catch (Exception e) {
- LogHelper.errorDetailInfo(e);
- throw new TokenRecordException(1, "棰嗗彇澶辫触");
- }
-
- // 鏇存柊璧犻�佸埜淇℃伅
- userSystemCouponService.updateGiveRecord(uid, couponId, CouponTypeEnum.rebatePercentCoupon.name());
-
- // 鏇存柊璧犻�佽褰�
- giveRecord.setReceiveUid(uid);
- giveRecord.setReceiveTime(new Date());
- userSystemCouponGiveRecordService.updateByPrimaryKeySelective(giveRecord);
-
- msg = "棰嗗彇鎴愬姛[杩斿埄濂栧姳鍒竇鎴愬姛锛岃鍒癧鎴戠殑-绂忓埄涓績]涓煡鐪�";
- // 娑堟伅 + 闃熷憳
- executor.execute(new Runnable() {
- @Override
- public void run() {
- SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH.mm");
- boolean addTeam = addInviteTeam(uid, giveUid, userInfoExtra);
- String beiZhu = "鏃�";
- if (addTeam)
- beiZhu = "棰嗗彇浜哄凡缁忔垚涓轰綘鐨勪竴绾ч槦鍛�";
-
- String userName = "鏃�";
- UserInfo user = userInfoService.selectByPKey(uid);
- if (user != null && !StringUtil.isNullOrEmpty(user.getNickName()))
- userName = user.getNickName();
-
- MsgOtherGiveContentDTO msgOther = new MsgOtherGiveContentDTO();
- msgOther.setType(MsgOtherGiveContentDTO.TYEP_COUPON);
- msgOther.setTitle("璧犻�佸鍔卞埜");
- msgOther.setGiveType("浣犺禒閫佺殑濂栧姳鍒歌鎴愬姛棰嗗彇");
- msgOther.setReceiveInfo("鏄电О: " + userName +" ID:" + uid);
- msgOther.setGiveTime(sd.format(giveRecord.getGiveTime()));
- msgOther.setReceiveTime(sd.format(new Date()));
- userOtherMsgNotificationService.tokenGiveMsg(giveUid, beiZhu, msgOther);
- }
- });
- } else {
- throw new TokenRecordException(1, "鍙d护宸插け鏁�");
+ UserSystemCoupon userSystemCoupon= null;
+ try {
+ userSystemCoupon = userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.rebatePercentCoupon.name(),
+ UserSystemCoupon.SOURCE_GIVE, systemCoupon.getPercent(),true);
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ throw new TokenRecordException(1, "棰嗗彇澶辫触");
}
+
+ // 鏇存柊鐘舵��
+ Date date = new Date();
+ userCoupon.setId(userCoupon.getId());
+ userCoupon.setState(UserSystemCoupon.STATE_END_USE);
+ userCoupon.setUseTime(date);
+ userCoupon.setUpdateTime(date);
+ userSystemCouponService.updateByPrimaryKeySelective(userCoupon);
+
+ // 鏇存柊浣跨敤璁板綍
+ UserSystemCouponRecord useRecord = userSystemCouponRecordService.getNearByUserCouponId(userCoupon.getId());
+ if (useRecord != null) {
+ UserSystemCouponRecord updateuseRecord = new UserSystemCouponRecord();
+ updateuseRecord.setId(useRecord.getId());
+ updateuseRecord.setState(UserSystemCouponRecord.STATE_SUCCESS);
+ updateuseRecord.setUpdateTime(new Date());
+ userSystemCouponRecordService.updateByPrimaryKeySelective(updateuseRecord);
+ }
+
+ // 鏇存柊璧犻�佽褰�
+ UserSystemCouponGiveRecord updateGiveRecord = new UserSystemCouponGiveRecord();
+ updateGiveRecord.setId(giveRecord.getId());
+ updateGiveRecord.setReceiveUid(uid);
+ updateGiveRecord.setReceiveTime(new Date());
+ updateGiveRecord.setState(UserSystemCouponGiveRecord.STATE_RECEIVE);
+ if (userSystemCoupon != null) {
+ updateGiveRecord.setReceiveId(userSystemCoupon.getId());
+ }
+ userSystemCouponGiveRecordService.updateByPrimaryKeySelective(updateGiveRecord);
+
+ integralGetService.addGiveRebateCoupon(giveUid);
+
+ msg = "棰嗗彇鎴愬姛[杩斿埄濂栧姳鍒竇鎴愬姛锛岃鍒癧鎴戠殑-绂忓埄涓績]涓煡鐪�";
+ // 娑堟伅 + 闃熷憳
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm");
+ boolean addTeam = addInviteTeam(uid, giveUid, userInfoExtra);
+ String beiZhu = "鏃�";
+ if (addTeam)
+ beiZhu = "棰嗗彇浜哄凡缁忔垚涓轰綘鐨勪竴绾ч槦鍛�";
+
+ String userName = "鏃�";
+ UserInfo user = userInfoService.selectByPKey(uid);
+ if (user != null && !StringUtil.isNullOrEmpty(user.getNickName()))
+ userName = user.getNickName();
+
+ MsgOtherGiveContentDTO msgOther = new MsgOtherGiveContentDTO();
+ msgOther.setType(MsgOtherGiveContentDTO.TYEP_COUPON);
+ msgOther.setTitle("璧犻�佸鍔卞埜");
+ msgOther.setGiveType("浣犺禒閫佺殑濂栧姳鍒歌鎴愬姛棰嗗彇");
+ msgOther.setReceiveInfo("鏄电О锛� " + userName + " ID锛�" + uid);
+ msgOther.setGiveTime(sd.format(giveRecord.getGiveTime()));
+ msgOther.setReceiveTime(sd.format(new Date()));
+ userOtherMsgNotificationService.tokenGiveMsg(giveUid, beiZhu, msgOther);
+
+ // 婵�娲婚個璇蜂俊鎭�
+ if (addTeam)
+ addInviteMsg(uid, giveUid, "杩斿埄濂栧姳鍒�");
+ }
+ });
} else if (tokenType == TokenTypeEnum.taoLiJin) {
UserTaoLiJinGiveRecord giveRecord = userTaoLiJinGiveRecordService
.selectByPrimaryKey(Long.parseLong(identify));
- if (giveRecord == null || giveRecord.getState() == UserTaoLiJinGiveRecord.STATE_OVERDUE) {
- throw new TokenRecordException(1, "鍝庡憖锛屾帹骞跨孩鍖呭凡澶辨晥浜嗭紒");
- } else if (giveRecord.getState() == UserTaoLiJinGiveRecord.STATE_RECEIVE) {
- throw new TokenRecordException(1, "鍝庡憖锛屾帹骞跨孩鍖呭凡琚鍙栦簡锛�");
- } else {
- Date endTime = giveRecord.getEndTime();
- if (endTime != null && endTime.getTime() < now.getTime())
- throw new TokenRecordException(1, "鍝庡憖锛屾帹骞跨孩鍖呭凡澶辨晥浜嗭紒");
+ if (giveRecord == null || giveRecord.getState() != UserTaoLiJinGiveRecord.STATE_INIT)
+ throw new TokenRecordException(1, "璧犻�佽褰曞け鏁堟垨宸茶棰嗗彇");
+
+ Date endTime = giveRecord.getEndTime();
+ if (endTime != null && endTime.getTime() < now.getTime())
+ throw new TokenRecordException(1, "鎺ㄥ箍绾㈠寘宸插け鏁堜簡");
+
+ BigDecimal amount = giveRecord.getAmount();
+ try {
+ // 棰嗗彇
+ userTaoLiJinOriginService.receiveFriendsGive(uid, amount);
+
+ // 鏇存柊璁板綍
+ UserTaoLiJinGiveRecord updateRecord = new UserTaoLiJinGiveRecord();
+ updateRecord.setId(Long.parseLong(identify));
+ updateRecord.setReceiveTime(new Date());
+ updateRecord.setReceiveUid(uid);
+ updateRecord.setState(UserTaoLiJinGiveRecord.STATE_RECEIVE);
+ userTaoLiJinGiveRecordService.updateByPrimaryKeySelective(updateRecord);
+
+ integralGetService.addGiveTaoLiJin(giveUid);
- BigDecimal amount = giveRecord.getAmount();
- try {
- // 棰嗗彇
- userTaoLiJinOriginService.receiveFriendsGive(uid, amount);
-
- // 鏇存柊璁板綍
- UserTaoLiJinGiveRecord updateRecord = new UserTaoLiJinGiveRecord();
- updateRecord.setId(Long.parseLong(identify));
- updateRecord.setReceiveTime(new Date());
- updateRecord.setReceiveUid(uid);
- updateRecord.setState(UserTaoLiJinGiveRecord.STATE_RECEIVE);
- userTaoLiJinGiveRecordService.updateByPrimaryKeySelective(updateRecord);
-
- msg = "棰嗗彇鎴愬姛[鎺ㄥ箍绾㈠寘]鎴愬姛锛岃鍒癧鎴戠殑-鎺ㄥ箍绾㈠寘]涓煡鐪�";
-
- // 娑堟伅 + 闃熷憳
- executor.execute(new Runnable() {
- @Override
- public void run() {
- SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH.mm");
- boolean addTeam = addInviteTeam(uid, giveUid, userInfoExtra);
- String beiZhu = "鏃�";
- if (addTeam)
- beiZhu = "棰嗗彇浜哄凡缁忔垚涓轰綘鐨勪竴绾ч槦鍛�";
-
- String userName = "鏃�";
- UserInfo user = userInfoService.selectByPKey(uid);
- if (user != null && !StringUtil.isNullOrEmpty(user.getNickName()))
- userName = user.getNickName();
-
- MsgOtherGiveContentDTO msgOther = new MsgOtherGiveContentDTO();
- msgOther.setType(MsgOtherGiveContentDTO.TYEP_COUPON);
- msgOther.setTitle("璧犻�佹帹骞跨孩鍖�");
- msgOther.setGiveType("浣犺禒閫佺殑鎺ㄥ箍绾㈠寘琚垚鍔熼鍙�");
- msgOther.setReceiveInfo("鏄电О: " + userName +" ID:" + uid);
- msgOther.setGiveTime(sd.format(giveRecord.getGiveTime()));
- msgOther.setReceiveTime(sd.format(new Date()));
- userOtherMsgNotificationService.tokenGiveMsg(giveUid, beiZhu, msgOther);
- }
- });
-
- } catch (UserTaoLiJinOriginException e) {
- e.printStackTrace();
- }
+ msg = "棰嗗彇鎴愬姛[鎺ㄥ箍绾㈠寘]鎴愬姛锛岃鍒癧鎴戠殑-鎺ㄥ箍绾㈠寘]涓煡鐪�";
+
+ // 娑堟伅 + 闃熷憳
+ executor.execute(new Runnable() {
+ @Override
+ public void run() {
+ SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm");
+ boolean addTeam = addInviteTeam(uid, giveUid, userInfoExtra);
+ String beiZhu = "鏃�";
+ if (addTeam)
+ beiZhu = "棰嗗彇浜哄凡缁忔垚涓轰綘鐨勪竴绾ч槦鍛�";
+
+ String userName = "鏃�";
+ UserInfo user = userInfoService.selectByPKey(uid);
+ if (user != null && !StringUtil.isNullOrEmpty(user.getNickName()))
+ userName = user.getNickName();
+
+ MsgOtherGiveContentDTO msgOther = new MsgOtherGiveContentDTO();
+ msgOther.setType(MsgOtherGiveContentDTO.TYEP_TLJ);
+ msgOther.setTitle("璧犻�佹帹骞跨孩鍖�");
+ msgOther.setGiveType("浣犺禒閫佺殑鎺ㄥ箍绾㈠寘琚垚鍔熼鍙�");
+ msgOther.setReceiveInfo("鏄电О锛�" + userName + " ID锛�" + uid);
+ msgOther.setGiveTime(sd.format(giveRecord.getGiveTime()));
+ msgOther.setReceiveTime(sd.format(new Date()));
+ userOtherMsgNotificationService.tokenGiveMsg(giveUid, beiZhu, msgOther);
+
+ // 婵�娲婚個璇蜂俊鎭�
+ if (addTeam)
+ addInviteMsg(uid, giveUid, amount.setScale(2) + "鍏冩帹骞跨孩鍖�");
+ }
+ });
+ } catch (UserTaoLiJinOriginException e) {
+ e.printStackTrace();
}
} else {
throw new TokenRecordException(1, "鏃犲搴旂被鍨�");
}
-
+
return msg;
}
-
-
+
/**
- * 鏈縺娲婚個璇风爜锛� 涓婁笅绾у叧绯荤‘绔�
+ * 鏈縺娲婚個璇风爜锛� 涓婁笅绾у叧绯荤‘绔�
+ *
* @param uid
* @param giveUid
* @param userInfoExtra
@@ -498,9 +582,9 @@
boolean invite = false;
if (StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) {
UserInfoExtra userInfoExtraGive = userInfoExtraService.getUserInfoExtra(giveUid);
- if (userInfoExtraGive != null ) {
+ if (userInfoExtraGive != null) {
String inviteCode = userInfoExtraGive.getInviteCode();
- if(!StringUtil.isNullOrEmpty(inviteCode)) {
+ if (!StringUtil.isNullOrEmpty(inviteCode)) {
try {
userInfoExtraService.activateInviteCode(uid, inviteCode);
invite = true;
@@ -513,4 +597,38 @@
return invite;
}
+
+ private void addInviteMsg(Long uid, Long giveUid, String giftName) {
+ try {
+ UserInfo user = userInfoService.selectByPKey(giveUid);
+ UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid);
+ MsgInviteContentDTO msgInvite = new MsgInviteContentDTO();
+ msgInvite.setTitle("閭�璇锋秷鎭�");
+ msgInvite.setState("鎴愬姛婵�娲婚個璇�");
+ msgInvite.setCode("浣犵殑閭�璇风爜锛�" + userInfoExtra.getInviteCode());
+ msgInvite.setInviter("鏄电О锛�"+user.getNickName());
+ msgInvite.setMode("鎴愬姛棰嗗彇閭�璇蜂汉鐨�" + giftName);
+ userInviteMsgNotificationService.receiveGift(uid, "閭�璇峰叧绯讳竴鏃︾‘绔嬫棤娉曟洿鏀� ", msgInvite);
+ } catch (Exception e) {
+ LogHelper.errorDetailInfo(e);
+ }
+ }
+
+ @Override
+ public List<TokenRecord> overdueList(int count) {
+ return tokenRecordMapper.overdueList(count);
+ }
+
+
+ @Override
+ public void overdue(List<TokenRecord> list) {
+ if (list == null || list.size() == 0)
+ return;
+ Date date = new Date();
+ for (TokenRecord tokenRecord: list) {
+ tokenRecord.setState(1);
+ tokenRecord.setUpdateTime(date);
+ tokenRecordMapper.updateByPrimaryKeySelective(tokenRecord);
+ }
+ }
}
--
Gitblit v1.8.0