|
@@ -161,6 +161,9 @@ public class AppUserController extends BaseController
|
|
|
appUserService.updateUserAmount(tran);
|
|
|
BigDecimal rate = BigDecimal.ZERO;
|
|
|
if(null != userChargeDto.getRate() && userChargeDto.getRate() > 0 && userChargeDto.getAmount() > 0){
|
|
|
+ if(userChargeDto.getRate() > 1){
|
|
|
+ return R.fail("超过最大手续费扣除");
|
|
|
+ }
|
|
|
|
|
|
FinTranRecord rateTran = new FinTranRecord();
|
|
|
BeanUtils.copyProperties(tran,rateTran);
|
|
@@ -180,22 +183,30 @@ public class AppUserController extends BaseController
|
|
|
}
|
|
|
double give = 0;
|
|
|
|
|
|
- give = BigDecimal.valueOf(userChargeDto.getAmount().doubleValue()
|
|
|
- * appUsersChargeService.isChargeToday(userChargeDto.getUserId())).setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
|
|
|
-
|
|
|
- FinTranRecord giveTran = new FinTranRecord();
|
|
|
- BeanUtils.copyProperties(tran,giveTran);
|
|
|
- if(TranCurrencyType.Balance.getType() == giveTran.getCurrencyType()){
|
|
|
- giveTran.setDiamondCoinChange(give);
|
|
|
- }else if(TranCurrencyType.Coin.getType() == giveTran.getCurrencyType()){
|
|
|
- giveTran.setCoinChange(give);
|
|
|
+
|
|
|
+ double todayGiveMoney = appUsersChargeService.isChargeToday(userChargeDto.getUserId());
|
|
|
+ double giveRate = todayGiveMoney>0?0.02:0.1;
|
|
|
+ if(todayGiveMoney < 2000) {
|
|
|
+ give = BigDecimal.valueOf(userChargeDto.getAmount().doubleValue()
|
|
|
+ * giveRate).setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
|
|
|
+ if((give + todayGiveMoney) > 2000){
|
|
|
+ give = give - (give + todayGiveMoney - 2000);
|
|
|
+ }
|
|
|
+
|
|
|
+ FinTranRecord giveTran = new FinTranRecord();
|
|
|
+ BeanUtils.copyProperties(tran, giveTran);
|
|
|
+ if (TranCurrencyType.Balance.getType() == giveTran.getCurrencyType()) {
|
|
|
+ giveTran.setDiamondCoinChange(give);
|
|
|
+ } else if (TranCurrencyType.Coin.getType() == giveTran.getCurrencyType()) {
|
|
|
+ giveTran.setCoinChange(give);
|
|
|
+ }
|
|
|
+ giveTran.setTranType3(FinTranType3.CHARGE_IN_SEND.getType());
|
|
|
+ giveTran.setTranType2(FinTranType3.CHARGE_IN_SEND.getTranType2().getType());
|
|
|
+ giveTran.setTranType1(userChargeDto.getType() == 1 ? FinTranType1.U_Income_Coin_Balance.getType() : FinTranType1.U_Income_Coin.getType());
|
|
|
+ giveTran.setRemarks("充值赠送");
|
|
|
+ giveTran.setId(null);
|
|
|
+ appUserService.updateUserAmount(giveTran);
|
|
|
}
|
|
|
- giveTran.setTranType3(FinTranType3.CHARGE_IN_SEND.getType());
|
|
|
- giveTran.setTranType2(FinTranType3.CHARGE_IN_SEND.getTranType2().getType());
|
|
|
- giveTran.setTranType1(userChargeDto.getType() == 1?FinTranType1.U_Income_Coin_Balance.getType():FinTranType1.U_Income_Coin.getType());
|
|
|
- giveTran.setRemarks("充值赠送");
|
|
|
- giveTran.setId(null);
|
|
|
- appUserService.updateUserAmount(giveTran);
|
|
|
|
|
|
AppUser afterUser = appUserService.selectAppUserByUserid(userChargeDto.getUserId());
|
|
|
|