|
@ -313,53 +313,56 @@ public class ShopApiServiceImpl implements IShopApiService { |
|
|
.list(); |
|
|
.list(); |
|
|
|
|
|
|
|
|
if(list.size() ==0 ){ |
|
|
if(list.size() ==0 ){ |
|
|
return Result.error(PromptUtils.task_is_null); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// return Result.error(PromptUtils.task_is_null); |
|
|
|
|
|
}else{ |
|
|
|
|
|
|
|
|
for (ShopKa ka:list) { |
|
|
|
|
|
if(ka.getNum() == user.getEncourageNum()+1){ |
|
|
|
|
|
orderPrice = ka.getOrderPrice().add(user.getMoney()); |
|
|
|
|
|
orderMoney = ka.getOrderMoney(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//增加卡单记录 |
|
|
|
|
|
ShopKaLog kaLog = new ShopKaLog(); |
|
|
|
|
|
kaLog.setKaId(ka.getId()); |
|
|
|
|
|
kaLog.setCreateTime(UTCTime.getUTCTime()); |
|
|
|
|
|
kaLog.setUserId(user.getId()); |
|
|
|
|
|
kaLog.setOrderMoney(orderPrice); |
|
|
|
|
|
kaLog.setNum(ka.getNum()); |
|
|
|
|
|
kaLog.setOrderMoney(orderMoney); |
|
|
|
|
|
kaLogService.save(kaLog); |
|
|
|
|
|
break; |
|
|
|
|
|
}else{ |
|
|
|
|
|
ShopConf openMin = confService.lambdaQuery().eq(ShopConf::getTitle, "openMin").one(); |
|
|
|
|
|
ShopConf openMax = confService.lambdaQuery().eq(ShopConf::getTitle, "openMax").one(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BigDecimal money = user.getMoney(); |
|
|
|
|
|
//余额乘卡单起步价保留两位小数 |
|
|
|
|
|
BigDecimal money2 = money.multiply(new BigDecimal(openMin.getKeyName())); |
|
|
|
|
|
//保留两位小数 |
|
|
|
|
|
money2 = money2.setScale(2, BigDecimal.ROUND_HALF_UP); |
|
|
|
|
|
//余额乘卡单最高价格保留两位小数 |
|
|
|
|
|
BigDecimal money3 = money.multiply(new BigDecimal(openMax.getKeyName())); |
|
|
|
|
|
//保留两位小数 |
|
|
|
|
|
money3 = money3.setScale(2, BigDecimal.ROUND_HALF_UP); |
|
|
|
|
|
|
|
|
|
|
|
//判断money2小于money3 |
|
|
|
|
|
if (money2.compareTo(money3) == -1) { |
|
|
|
|
|
//随机给出在money2和money3之间的数据 |
|
|
|
|
|
orderPrice = new BigDecimal(Math.random() * (money3.subtract(money2).doubleValue()) + money2.doubleValue()); |
|
|
|
|
|
orderPrice = orderPrice.setScale(2, BigDecimal.ROUND_HALF_UP); |
|
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
return Result.error(PromptUtils.money_is_limit_task); |
|
|
|
|
|
|
|
|
for (ShopKa ka:list) { |
|
|
|
|
|
if(ka.getNum() == user.getEncourageNum()+1){ |
|
|
|
|
|
orderPrice = ka.getOrderPrice().add(user.getMoney()); |
|
|
|
|
|
orderMoney = ka.getOrderMoney(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//增加卡单记录 |
|
|
|
|
|
ShopKaLog kaLog = new ShopKaLog(); |
|
|
|
|
|
kaLog.setKaId(ka.getId()); |
|
|
|
|
|
kaLog.setCreateTime(UTCTime.getUTCTime()); |
|
|
|
|
|
kaLog.setUserId(user.getId()); |
|
|
|
|
|
kaLog.setOrderMoney(orderPrice); |
|
|
|
|
|
kaLog.setNum(ka.getNum()); |
|
|
|
|
|
kaLog.setOrderMoney(orderMoney); |
|
|
|
|
|
kaLogService.save(kaLog); |
|
|
|
|
|
break; |
|
|
|
|
|
}else{ |
|
|
|
|
|
ShopConf openMin = confService.lambdaQuery().eq(ShopConf::getTitle, "openMin").one(); |
|
|
|
|
|
ShopConf openMax = confService.lambdaQuery().eq(ShopConf::getTitle, "openMax").one(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BigDecimal money = user.getMoney(); |
|
|
|
|
|
//余额乘卡单起步价保留两位小数 |
|
|
|
|
|
BigDecimal money2 = money.multiply(new BigDecimal(openMin.getKeyName())); |
|
|
|
|
|
//保留两位小数 |
|
|
|
|
|
money2 = money2.setScale(2, BigDecimal.ROUND_HALF_UP); |
|
|
|
|
|
//余额乘卡单最高价格保留两位小数 |
|
|
|
|
|
BigDecimal money3 = money.multiply(new BigDecimal(openMax.getKeyName())); |
|
|
|
|
|
//保留两位小数 |
|
|
|
|
|
money3 = money3.setScale(2, BigDecimal.ROUND_HALF_UP); |
|
|
|
|
|
|
|
|
|
|
|
//判断money2小于money3 |
|
|
|
|
|
if (money2.compareTo(money3) == -1) { |
|
|
|
|
|
//随机给出在money2和money3之间的数据 |
|
|
|
|
|
orderPrice = new BigDecimal(Math.random() * (money3.subtract(money2).doubleValue()) + money2.doubleValue()); |
|
|
|
|
|
orderPrice = orderPrice.setScale(2, BigDecimal.ROUND_HALF_UP); |
|
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
return Result.error(PromptUtils.money_is_limit_task); |
|
|
|
|
|
} |
|
|
|
|
|
orderMoney = getMoney(user,orderPrice); |
|
|
} |
|
|
} |
|
|
orderMoney = getMoney(user,orderPrice); |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}else{ |
|
|
}else{ |
|
|
ShopConf openMin = confService.lambdaQuery().eq(ShopConf::getTitle, "openMin").one(); |
|
|
ShopConf openMin = confService.lambdaQuery().eq(ShopConf::getTitle, "openMin").one(); |
|
|
ShopConf openMax = confService.lambdaQuery().eq(ShopConf::getTitle, "openMax").one(); |
|
|
ShopConf openMax = confService.lambdaQuery().eq(ShopConf::getTitle, "openMax").one(); |
|
|