From 221b5c8d0de3f6b17a00d543503a79c13b28ba12 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 13 十一月 2019 16:45:57 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackExchangeServiceImpl.java | 54 +++++++++++++++++++++++++++++++----------------------- 1 files changed, 31 insertions(+), 23 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackExchangeServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackExchangeServiceImpl.java index d27acd5..5843a70 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackExchangeServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/redpack/RedPackExchangeServiceImpl.java @@ -18,10 +18,10 @@ import com.yeshi.fanli.entity.common.AdminUser; import com.yeshi.fanli.entity.money.UserMoneyDetail; import com.yeshi.fanli.entity.money.UserMoneyDetail.UserMoneyDetailTypeEnum; -import com.yeshi.fanli.entity.redpack.RedPackBalance; import com.yeshi.fanli.entity.redpack.RedPackDetail; import com.yeshi.fanli.entity.redpack.RedPackDetail.RedPackDetailTypeEnum; import com.yeshi.fanli.entity.redpack.RedPackExchange; +import com.yeshi.fanli.exception.redpack.RedPackBalanceException; import com.yeshi.fanli.exception.redpack.RedPackExchangeException; import com.yeshi.fanli.log.LogHelper; import com.yeshi.fanli.service.inter.money.UserMoneyService; @@ -90,28 +90,32 @@ String extractBanlenMin = redPackConfigService.getValueByKey("extract_banlen_min"); - RedPackBalance balance = redPackBalanceService.selectByPrimaryKey(uid); - if (balance == null) + BigDecimal balance = null; + try { + balance = redPackBalanceService.getBalance(uid); + } catch (RedPackBalanceException e1) { + throw new RedPackExchangeException(1, e1.getMsg()); + } + + if (balance == null || balance.compareTo(new BigDecimal(extractBanlenMin)) < 0) throw new RedPackExchangeException(1, "浣欓涓嶈冻" + extractBanlenMin + "鍏�"); - if (balance.getState() != null && balance.getState() == RedPackBalance.STATE_LOCKED) - throw new RedPackExchangeException(1, "绾㈠寘宸插皝绂侊紝鎰熻阿浣跨敤"); - - BigDecimal balanceMoney = balance.getMoney(); - if (balanceMoney == null || balanceMoney.compareTo(new BigDecimal(extractBanlenMin)) < 0) - throw new RedPackExchangeException(1, "浣欓涓嶈冻" + extractBanlenMin + "鍏�"); - - if (balanceMoney.compareTo(amount) < 0) + if (balance.compareTo(amount) < 0) throw new RedPackExchangeException(1, "鎻愮幇浣欓涓嶈冻"); - String moneyMin = redPackConfigService.getValueByKey("extract_money_min"); String moneyMax = redPackConfigService.getValueByKey("extract_money_max"); if (amount.compareTo(new BigDecimal(moneyMin)) < 0 || amount.compareTo(new BigDecimal(moneyMax)) > 0) throw new RedPackExchangeException(1, "鎻愮幇閲戦鑷冲皯" + moneyMin + "鍏冭嚦澶�" + moneyMax + "鍏�"); - Date nowDate = new Date(); + long countToday = redPackExchangeMapper.countTodayByUid(uid); + String extractDayMax = redPackConfigService.getValueByKey("extract_day_max"); + if (!StringUtil.isNullOrEmpty(extractDayMax) && countToday >= Long.parseLong(extractDayMax)) + throw new RedPackExchangeException(1, "浠婃棩绾㈠寘鎻愮幇娆℃暟瓒呴檺"); + + + Date nowDate = new Date(); // 鎻愮幇鐢宠 RedPackExchange exchange = new RedPackExchange(); exchange.setUid(uid); @@ -171,16 +175,20 @@ throw new RedPackExchangeException(1,"鏇存柊鎻愮幇鏄庣粏鍑洪敊"); } - //娑堟伅 - SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm"); - String beizu = "绾㈠寘鎻愮幇鎴愬姛鍚庤鍒扳�滄垜鐨�-璐︽埛浣欓鈥濅腑鏌ョ湅"; - MsgRedPackExchangeContentDTO dto = new MsgRedPackExchangeContentDTO(); - dto.setTitle("绾㈠寘鎻愮幇"); - dto.setTime(sd.format(record.getCreateTime())); - dto.setHandle("浜哄伐瀹℃牳" + sd.format(new Date())); - dto.setMoney("楼" + record.getMoney().setScale(2)); - dto.setBalance("楼" + redPackBalanceService.getBalance(record.getUid())); - userMoneyMsgNotificationService.redPackMsg(record.getUid(), MsgTypeMoneyTypeEnum.redPackExchangePass, new Gson().toJson(dto), beizu); + try { + //娑堟伅 + SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm"); + String beizu = "绾㈠寘鎻愮幇鎴愬姛鍚庤鍒扳�滄垜鐨�-璐︽埛浣欓鈥濅腑鏌ョ湅"; + MsgRedPackExchangeContentDTO dto = new MsgRedPackExchangeContentDTO(); + dto.setTitle("绾㈠寘鎻愮幇"); + dto.setTime(sd.format(record.getCreateTime())); + dto.setHandle("浜哄伐瀹℃牳" + sd.format(new Date())); + dto.setMoney("楼" + record.getMoney().setScale(2)); + dto.setBalance("楼" + redPackBalanceService.getBalance(record.getUid())); + userMoneyMsgNotificationService.redPackMsg(record.getUid(), MsgTypeMoneyTypeEnum.redPackExchangePass, new Gson().toJson(dto), beizu); + } catch (RedPackBalanceException e) { + throw new RedPackExchangeException(1, e.getMsg()); + } } -- Gitblit v1.8.0