|
@@ -959,11 +959,11 @@ public class RegisterServiceImpl implements RegisterService {
|
|
|
public ResponseJson superVipUpByBeans(Integer userId, Integer packageId, HttpHeaders headers) {
|
|
|
SuperVipDto endFlag = findEnd(userId);
|
|
|
Integer userBeans = vipMapper.findUserBeans(userId);
|
|
|
- Double price = vipMapper.findUserPackage(packageId);
|
|
|
+ VipPackage pac = vipMapper.findUserPackage(packageId);
|
|
|
//过期和没买过都是生效时间重置,到期时间=现在+套餐时间
|
|
|
if (endFlag.getVipFlag() == 0 || endFlag.getVipFlag() == -1) {
|
|
|
//1.查用户采美豆,够就用采美豆下单,不够就返回信息
|
|
|
- if (Double.valueOf(userBeans) >= (price * 100)) {
|
|
|
+ if (Double.valueOf(userBeans) >= (pac.getPrice() * pac.getProportion())) {
|
|
|
//用户采美豆>=套餐需要的采美豆,调用采美豆支付方法
|
|
|
//传空表示新客户
|
|
|
beanPay(userId, packageId, null, endFlag.getVipFlag());
|
|
@@ -971,7 +971,7 @@ public class RegisterServiceImpl implements RegisterService {
|
|
|
}
|
|
|
return ResponseJson.error("用户采美豆不足", null);
|
|
|
} else {
|
|
|
- if (Double.valueOf(userBeans) >= (price * 100)) {
|
|
|
+ if (Double.valueOf(userBeans) >= (pac.getPrice() * pac.getProportion())) {
|
|
|
//续费生效时间不变,原到期时间+套餐时间
|
|
|
beanPay(userId, packageId, endFlag.getEndTime(), endFlag.getVipFlag());
|
|
|
return ResponseJson.success("支付采美豆购买成功");
|
|
@@ -1012,20 +1012,20 @@ public class RegisterServiceImpl implements RegisterService {
|
|
|
private void beanPay(Integer userId, Integer packageId, Date beginTime, Integer repayFlag) {
|
|
|
String message = "";
|
|
|
//1.user表扣豆子
|
|
|
- Double price = vipMapper.findUserPackage(packageId);
|
|
|
+ VipPackage pac = vipMapper.findUserPackage(packageId);
|
|
|
Integer userBeans = vipMapper.findUserBeans(userId);
|
|
|
- Long l = Math.multiplyExact(Math.round(price), 100);
|
|
|
+ Long l = Math.multiplyExact(Math.round(pac.getPrice()), pac.getProportion());
|
|
|
Long beans = Long.valueOf(userBeans);
|
|
|
Long result = Math.subtractExact(beans, l);
|
|
|
String s = result.toString();
|
|
|
vipMapper.updateUserBeans(userId, Integer.valueOf(s));
|
|
|
//采美豆消费表记录消费
|
|
|
- vipMapper.addUserBeansHistory(userId, Integer.valueOf((int) (price * 100)));
|
|
|
+ vipMapper.addUserBeansHistory(userId, Integer.valueOf((int) (pac.getPrice() * pac.getProportion())));
|
|
|
Calendar cal = Calendar.getInstance();
|
|
|
if (repayFlag == 0) {
|
|
|
SuperVipPo superVip = new SuperVipPo();
|
|
|
beginTime = new Date();
|
|
|
- superVip.setPrice(price);
|
|
|
+ superVip.setPrice(pac.getPrice());
|
|
|
superVip.setPackageId(packageId);
|
|
|
superVip.setBeginTime(beginTime);
|
|
|
superVip.setUpdateTime(beginTime);
|
|
@@ -1054,7 +1054,7 @@ public class RegisterServiceImpl implements RegisterService {
|
|
|
SuperVipPo superVip = vipMapper.findSuperVip(userId);
|
|
|
superVip.setUpdateTime(new Date());
|
|
|
superVip.setPackageId(packageId);
|
|
|
- superVip.setPrice(price);
|
|
|
+ superVip.setPrice(pac.getPrice());
|
|
|
//续费加时间
|
|
|
cal.setTime(beginTime);
|
|
|
Integer userPackageTime = vipMapper.findUserPackageTime(packageId);
|
|
@@ -1079,7 +1079,7 @@ public class RegisterServiceImpl implements RegisterService {
|
|
|
SuperVipPo superVip = vipMapper.findSuperVip(userId);
|
|
|
superVip.setUpdateTime(new Date());
|
|
|
superVip.setPackageId(packageId);
|
|
|
- superVip.setPrice(price);
|
|
|
+ superVip.setPrice(pac.getPrice());
|
|
|
//重设生效起始时间
|
|
|
beginTime = new Date();
|
|
|
superVip.setBeginTime(beginTime);
|
|
@@ -1111,8 +1111,9 @@ public class RegisterServiceImpl implements RegisterService {
|
|
|
*/
|
|
|
private void setHistory(SuperVipPo vip) {
|
|
|
VipPayHistoryPo payHistory = new VipPayHistoryPo();
|
|
|
+ VipPackage pac = vipMapper.findUserPackage(vip.getPackageId());
|
|
|
payHistory.setUserId(vip.getUserId());
|
|
|
- payHistory.setUserBeans(vip.getPrice() * 100);
|
|
|
+ payHistory.setUserBeans(vip.getPrice() * pac.getProportion());
|
|
|
payHistory.setPayTime(vip.getUpdateTime());
|
|
|
payHistory.setPayWay(4);
|
|
|
payHistory.setPackageId(vip.getPackageId());
|