From 01d79990d0620bdb8900c9fe3d9b5cc7e843aa08 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 13 十一月 2019 16:45:07 +0800 Subject: [PATCH] 京东/拼多多单品分享返回二维码 --- fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinNewUserServiceImpl.java | 23 ++++++++++++++--------- 1 files changed, 14 insertions(+), 9 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinNewUserServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinNewUserServiceImpl.java index c03afe6..541fb4c 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinNewUserServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackWinNewUserServiceImpl.java @@ -11,6 +11,7 @@ import com.yeshi.fanli.dao.mongodb.redpack.RedPackWinNewUserDao; import com.yeshi.fanli.entity.bus.user.UserInfoExtra; +import com.yeshi.fanli.entity.redpack.RedPackBalance; import com.yeshi.fanli.entity.redpack.RedPackWinNewUser; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.money.msg.UserMoneyMsgNotificationService; @@ -48,6 +49,11 @@ try { if (uid == null || uid <= 0) return true; // 鏈櫥褰曞脊鍑� + + RedPackBalance redPackBalance = redPackBalanceService.selectByPrimaryKey(uid); + if (redPackBalance != null && redPackBalance.getState() != null + && redPackBalance.getState() == RedPackBalance.STATE_LOCKED) + return false; // 绾㈠寘灏佺 UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); if (userInfoExtra == null || userInfoExtra.getFirstLoginTime() == null) @@ -96,7 +102,7 @@ Date nowTime = new Date(); Date firstLoginTime = userInfoExtra.getFirstLoginTime(); int days = DateUtil.daysBetween2(firstLoginTime, nowTime); - if (days > Constant.RED_PACK_NEW_USER_DAYS) + if (days >= Constant.RED_PACK_NEW_USER_DAYS) return null; // 宸茬粡瓒呭嚭璁剧疆澶╂暟 RedPackWinNewUser redPackWin = redPackWinNewUserDao.getByUid(uid); @@ -116,7 +122,7 @@ BigDecimal money = null; if (redPackWin == null) { // 绗竴娆� - if (days == Constant.RED_PACK_NEW_USER_DAYS) { // 鏈�鍚庝竴澶� + if (days == Constant.RED_PACK_NEW_USER_DAYS - 1) { // 鏈�鍚庝竴澶� money = Constant.RED_PACK_NEW_USER_MONEY; } else { // 璁$畻闅忔満濂栧姳 double randomNum = Constant.RED_PACK_NEW_USER_MIN + Math.random() * (Constant.RED_PACK_NEW_USER_MAX - Constant.RED_PACK_NEW_USER_MIN); @@ -124,7 +130,7 @@ BigDecimal rate = new BigDecimal(randomNum).setScale(2, BigDecimal.ROUND_DOWN); money = MoneyBigDecimalUtil.mul(Constant.RED_PACK_NEW_USER_MONEY,rate); } - } else if (days == Constant.RED_PACK_NEW_USER_DAYS) { // 鏈�鍚庝竴澶� + } else if (days == Constant.RED_PACK_NEW_USER_DAYS - 1) { // 鏈�鍚庝竴澶� money = MoneyBigDecimalUtil.sub(Constant.RED_PACK_NEW_USER_MONEY, redPackWin.getMoney()); } else { // 璁$畻鍓╀綑闅忔満濂栧姳 10%-25% double randomNum = 10 + Math.random() * (20 - 10); @@ -132,8 +138,12 @@ money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.sub(Constant.RED_PACK_NEW_USER_MONEY,redPackWin.getMoney()),rate); } - int num = 1; money = money.setScale(2); + // 4銆佸鍔犵孩鍖� + redPackBalanceService.addRedPack(uid, money, RedPackDetailFactory.createNewUserReward(uid, days, money)); + + // 鎻掑叆棰嗗彇璁板綍 + int num = 1; if (redPackWin == null) { redPackWin = new RedPackWinNewUser(); redPackWin.setNum(1); @@ -143,16 +153,11 @@ redPackWin.setUpdateTime(nowTime); } else { num = redPackWin.getNum() + 1; - redPackWin = new RedPackWinNewUser(); - redPackWin.setUid(uid.toString()); redPackWin.setNum(num); redPackWin.setMoney(MoneyBigDecimalUtil.add(money, redPackWin.getMoney())); redPackWin.setUpdateTime(nowTime); } redPackWinNewUserDao.save(redPackWin); - - // 4銆佸鍔犵孩鍖� - redPackBalanceService.addRedPack(uid, money, RedPackDetailFactory.createNewUserReward(uid,num, money)); RedPackWinDetailVO winDetailVO = new RedPackWinDetailVO(); winDetailVO.setTitle("鏂颁汉绾㈠寘"); -- Gitblit v1.8.0