From cc55ffcea74c7d23dadaa0860befbcdf98f35341 Mon Sep 17 00:00:00 2001 From: admin <2780501319@qq.com> Date: 星期一, 16 九月 2019 23:22:13 +0800 Subject: [PATCH] 资金相关包目录修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/TokenRecordServiceImpl.java | 126 ++++++++++++++++++++++++++++++++++++------ 1 files changed, 108 insertions(+), 18 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 c9d8e3c..15c6e2c 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; @@ -21,12 +23,16 @@ 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.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.UserInviteMsgNotificationService; import com.yeshi.fanli.service.inter.msg.UserOtherMsgNotificationService; import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinGiveRecordService; import com.yeshi.fanli.service.inter.tlj.UserTaoLiJinOriginService; @@ -54,6 +60,7 @@ private UserInfoService userInfoService; @Resource + @Lazy private UserSystemCouponService userSystemCouponService; @Resource @@ -76,6 +83,17 @@ @Resource private UserOtherMsgNotificationService userOtherMsgNotificationService; + + @Lazy + @Resource + private IntegralGetService integralGetService; + + @Resource + private SystemCouponService systemCouponService; + + @Resource + private UserInviteMsgNotificationService userInviteMsgNotificationService; + @Override public void insertSelective(TokenRecord record) { @@ -203,20 +221,22 @@ } } else if (tokenType == TokenTypeEnum.taoLiJin) { type = 12; - UserTaoLiJinGiveRecord giveRecord = userTaoLiJinGiveRecordService - .selectByPrimaryKey(Long.parseLong(identify)); - if (giveRecord == null || giveRecord.getState() == UserTaoLiJinGiveRecord.STATE_OVERDUE) { + + 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; - 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("纭棰嗗彇鍚庯紝浣犲皢鎴愪负璧犻�佽�呯殑涓�绾ч槦鍛橈紱"); @@ -245,7 +265,7 @@ } if (StringUtil.isNullOrEmpty(nickName)) - nickName = Constant.systemCommonConfig.getDefaultNickName(); + nickName = Constant.systemCommonConfig.getDefaultNickName() + inviteId; if (StringUtil.isNullOrEmpty(portrait)) portrait = Constant.systemCommonConfig.getDefaultPortrait(); @@ -319,10 +339,11 @@ if (userCoupon == null || userCoupon.getGive() == null || !userCoupon.getGive() || userCoupon.getState() != UserSystemCoupon.STATE_IN_USE) throw new TokenRecordException(1, "璇ュ埜涓嶅瓨鍦ㄦ垨闈炶禒閫�"); - + + UserSystemCoupon userSystemCoupon= null; try { - userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.freeCoupon.name(), - UserSystemCoupon.SOURCE_GIVE); + userSystemCoupon = userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.freeCoupon.name(), + UserSystemCoupon.SOURCE_GIVE, null); } catch (Exception e) { LogHelper.errorDetailInfo(e); throw new TokenRecordException(1, "棰嗗彇澶辫触"); @@ -348,17 +369,23 @@ // 鏇存柊璧犻�佽褰� 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"); + SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm"); boolean addTeam = addInviteTeam(uid, giveUid, userInfoExtra); String beiZhu = "鏃�"; if (addTeam) @@ -377,6 +404,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) { @@ -395,9 +426,18 @@ || userCoupon.getState() != UserSystemCoupon.STATE_IN_USE) throw new TokenRecordException(1, "璇ュ埜涓嶅瓨鍦ㄦ垨闈炶禒閫�"); + SystemCoupon systemCoupon = userCoupon.getSystemCoupon(); + if (systemCoupon == null) + throw new TokenRecordException(1, "璇ュ埜涓嶅瓨鍦�"); + + systemCoupon = systemCouponService.selectByPrimaryKey(systemCoupon.getId()); + if (systemCoupon == null) + throw new TokenRecordException(1, "璇ュ埜涓嶅瓨鍦�"); + + UserSystemCoupon userSystemCoupon= null; try { - userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.freeCoupon.name(), - UserSystemCoupon.SOURCE_GIVE); + userSystemCoupon = userSystemCouponService.insertUserCoupon(uid, CouponTypeEnum.rebatePercentCoupon.name(), + UserSystemCoupon.SOURCE_GIVE, systemCoupon.getPercent()); } catch (Exception e) { LogHelper.errorDetailInfo(e); throw new TokenRecordException(1, "棰嗗彇澶辫触"); @@ -423,17 +463,23 @@ // 鏇存柊璧犻�佽褰� 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"); + SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm"); boolean addTeam = addInviteTeam(uid, giveUid, userInfoExtra); String beiZhu = "鏃�"; if (addTeam) @@ -448,10 +494,14 @@ msgOther.setType(MsgOtherGiveContentDTO.TYEP_COUPON); msgOther.setTitle("璧犻�佸鍔卞埜"); msgOther.setGiveType("浣犺禒閫佺殑濂栧姳鍒歌鎴愬姛棰嗗彇"); - msgOther.setReceiveInfo("鏄电О: " + userName + " ID:" + uid); + 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) { @@ -477,13 +527,15 @@ 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"); + SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm"); boolean addTeam = addInviteTeam(uid, giveUid, userInfoExtra); String beiZhu = "鏃�"; if (addTeam) @@ -498,10 +550,14 @@ msgOther.setType(MsgOtherGiveContentDTO.TYEP_TLJ); msgOther.setTitle("璧犻�佹帹骞跨孩鍖�"); msgOther.setGiveType("浣犺禒閫佺殑鎺ㄥ箍绾㈠寘琚垚鍔熼鍙�"); - msgOther.setReceiveInfo("鏄电О: " + userName + " ID:" + uid); + 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) { @@ -540,5 +596,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