From 32f925357776c46bd9e35cf9aad4fdd0f6535d1d Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期二, 22 十月 2019 09:21:35 +0800 Subject: [PATCH] 订单奖励修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java | 156 +++++++++++++++++++--------------------------------- 1 files changed, 57 insertions(+), 99 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 19456c6..54dd5b5 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 @@ -1,6 +1,5 @@ package com.yeshi.fanli.service.impl.user; -import java.math.BigDecimal; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -13,8 +12,8 @@ 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; import com.yeshi.fanli.entity.bus.user.TokenRecord.TokenTypeEnum; import com.yeshi.fanli.entity.bus.user.UserInfo; @@ -24,22 +23,20 @@ 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.config.SystemCouponService; -import com.yeshi.fanli.service.inter.hongbao.ThreeSaleSerivce; -import com.yeshi.fanli.service.inter.integral.IntegralGetService; import com.yeshi.fanli.service.inter.msg.UserOtherMsgNotificationService; -import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinGiveRecordService; -import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService; import com.yeshi.fanli.service.inter.user.TokenRecordService; 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; @@ -58,13 +55,11 @@ private UserInfoService userInfoService; @Resource + @Lazy private UserSystemCouponService userSystemCouponService; @Resource private ThreeSaleSerivce threeSaleSerivce; - - @Resource - private UserTaoLiJinGiveRecordService userTaoLiJinGiveRecordService; @Resource private UserInfoExtraService userInfoExtraService; @@ -76,9 +71,6 @@ private UserSystemCouponGiveRecordService userSystemCouponGiveRecordService; @Resource - private UserTaoLiJinOriginService userTaoLiJinOriginService; - - @Resource private UserOtherMsgNotificationService userOtherMsgNotificationService; @Lazy @@ -87,6 +79,9 @@ @Resource private SystemCouponService systemCouponService; + + @Resource + private UserInviteMsgNotificationService userInviteMsgNotificationService; @Override @@ -204,43 +199,17 @@ UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); if (userInfoExtra == null || StringUtil.isNullOrEmpty(userInfoExtra.getInviteCode())) { tips.add("纭棰嗗彇鍚庯紝浣犲皢鎴愪负璧犻�佽�呯殑涓�绾ч槦鍛橈紱"); - tips.add("杩斿埄鍒稿鍔卞埜锛屽彲鐢ㄤ簬鈥滃凡鍒拌处鈥濈殑杩斿埄璁㈠崟锛屽湪杩斿埄鐨勫熀纭�涓婂啀鑾峰緱涓�瀹氭瘮渚嬬殑杩斿埄锛�"); + tips.add("鏉挎牀蹇渷濂栧姳鍒革紝鍙敤浜庘�滃凡鍒拌处鈥濈殑杩斿埄璁㈠崟锛屽湪杩斿埄鐨勫熀纭�涓婂啀鑾峰緱涓�瀹氭瘮渚嬬殑杩斿埄锛�"); tips.add("鎴愬姛棰嗗彇鍚庯紝璇峰埌鈥滄垜鐨�-绂忓埄涓績鈥濅腑鏌ョ湅銆�"); } else { - tips.add("杩斿埄鍒稿鍔卞埜锛屽彲鐢ㄤ簬鈥滃凡鍒拌处鈥濈殑杩斿埄璁㈠崟锛屽湪杩斿埄鐨勫熀纭�涓婂啀鑾峰緱涓�瀹氭瘮渚嬬殑杩斿埄锛�"); + 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 (giveRecord.getState() == UserTaoLiJinGiveRecord.STATE_INIT) { - if (uid == null || uid <= 0) - throw new TokenRecordException(1001, "娓╅Θ鎻愮ず锛孾鎺ㄥ箍绾㈠寘]闇�瑕佺櫥褰曞悗棰嗗彇"); - - state = true; - BigDecimal amount = giveRecord.getAmount(); - num = 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, "鍙d护澶辨晥"); - } + throw new TokenRecordException(1, "鎺ㄥ箍绾㈠寘鐩稿叧鍔熻兘宸蹭笅绾匡紒"); } else { throw new TokenRecordException(1, "鏃犲搴旂被鍨�"); } @@ -257,7 +226,7 @@ } if (StringUtil.isNullOrEmpty(nickName)) - nickName = Constant.systemCommonConfig.getDefaultNickName(); + nickName = Constant.systemCommonConfig.getDefaultNickName() + inviteId; if (StringUtil.isNullOrEmpty(portrait)) portrait = Constant.systemCommonConfig.getDefaultPortrait(); @@ -335,7 +304,7 @@ UserSystemCoupon userSystemCoupon= null; try { userSystemCoupon = userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.freeCoupon.name(), - UserSystemCoupon.SOURCE_GIVE, null); + UserSystemCoupon.SOURCE_GIVE, null,true); } catch (Exception e) { LogHelper.errorDetailInfo(e); throw new TokenRecordException(1, "棰嗗彇澶辫触"); @@ -396,6 +365,10 @@ 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) { @@ -425,7 +398,7 @@ UserSystemCoupon userSystemCoupon= null; try { userSystemCoupon = userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.rebatePercentCoupon.name(), - UserSystemCoupon.SOURCE_GIVE, systemCoupon.getPercent()); + UserSystemCoupon.SOURCE_GIVE, systemCoupon.getPercent(),true); } catch (Exception e) { LogHelper.errorDetailInfo(e); throw new TokenRecordException(1, "棰嗗彇澶辫触"); @@ -486,63 +459,14 @@ 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_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); - - 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); - } - }); - } catch (UserTaoLiJinOriginException e) { - e.printStackTrace(); - } + throw new TokenRecordException(1, "鎺ㄥ箍绾㈠寘鐩稿叧鍔熻兘宸蹭笅绾匡紒"); } else { throw new TokenRecordException(1, "鏃犲搴旂被鍨�"); } @@ -576,5 +500,39 @@ } 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