|
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.yeepay.yop.sdk.service.common.response.YopResponse;
|
|
import com.yeepay.yop.sdk.service.common.response.YopResponse;
|
|
|
import io.jsonwebtoken.lang.Assert;
|
|
import io.jsonwebtoken.lang.Assert;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
|
|
+import org.apache.commons.lang3.ObjectUtils;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
import org.springblade.common.enums.AppConstant;
|
|
import org.springblade.common.enums.AppConstant;
|
|
|
import org.springblade.common.utils.BeanPropertyUtil;
|
|
import org.springblade.common.utils.BeanPropertyUtil;
|
|
@@ -27,7 +28,6 @@ import org.springblade.sing.point.entity.UserPufaPoint;
|
|
|
import org.springblade.sing.point.service.IPointRecordService;
|
|
import org.springblade.sing.point.service.IPointRecordService;
|
|
|
import org.springblade.sing.point.service.IUserPufaPointService;
|
|
import org.springblade.sing.point.service.IUserPufaPointService;
|
|
|
import org.springblade.sing.user.entity.UserAddress;
|
|
import org.springblade.sing.user.entity.UserAddress;
|
|
|
-import org.springblade.sing.user.service.ILoginUserService;
|
|
|
|
|
import org.springblade.sing.user.service.IUserAddressService;
|
|
import org.springblade.sing.user.service.IUserAddressService;
|
|
|
import org.springblade.sing.yeepay.entity.YeepayOrder;
|
|
import org.springblade.sing.yeepay.entity.YeepayOrder;
|
|
|
import org.springblade.sing.yeepay.enums.YeepayOrderPayStatus;
|
|
import org.springblade.sing.yeepay.enums.YeepayOrderPayStatus;
|
|
@@ -137,7 +137,8 @@ public class PointExchangeServiceImpl implements PointExchangeService {
|
|
|
YeepayOrder yeepayOrder = yeepayOrderService.getById(orderId);
|
|
YeepayOrder yeepayOrder = yeepayOrderService.getById(orderId);
|
|
|
UserPufaPoint user = userPufaPointService.getOne(new LambdaQueryWrapper<UserPufaPoint>().eq(UserPufaPoint::getPhone, yeepayOrder.getPhone()));
|
|
UserPufaPoint user = userPufaPointService.getOne(new LambdaQueryWrapper<UserPufaPoint>().eq(UserPufaPoint::getPhone, yeepayOrder.getPhone()));
|
|
|
|
|
|
|
|
- if (yeepayOrder.getUsePoint() != null && !yeepayOrder.getUsePoint().equals(BigDecimal.ZERO)) {
|
|
|
|
|
|
|
+ //判断使用积分不小于零
|
|
|
|
|
+ if (ObjectUtils.isNotEmpty(yeepayOrder.getUsePoint()) && yeepayOrder.getUsePoint().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
|
|
|
|
|
//更新用户积分
|
|
//更新用户积分
|
|
|
user.setPufaPoint(user.getPufaPoint().subtract(yeepayOrder.getUsePoint()));
|
|
user.setPufaPoint(user.getPufaPoint().subtract(yeepayOrder.getUsePoint()));
|
|
@@ -203,7 +204,7 @@ public class PointExchangeServiceImpl implements PointExchangeService {
|
|
|
BigDecimal exchangeNum = BigDecimal.valueOf(yeepayOrder.getNum());
|
|
BigDecimal exchangeNum = BigDecimal.valueOf(yeepayOrder.getNum());
|
|
|
BigDecimal exchangePoint = goods.getPoint().multiply(exchangeNum);
|
|
BigDecimal exchangePoint = goods.getPoint().multiply(exchangeNum);
|
|
|
|
|
|
|
|
- if (type == 1){
|
|
|
|
|
|
|
+ if (type == 1) {
|
|
|
if (user.getPufaPoint().compareTo(BigDecimal.ZERO) <= 0) {
|
|
if (user.getPufaPoint().compareTo(BigDecimal.ZERO) <= 0) {
|
|
|
throw new PointExchangeException("积分不足");
|
|
throw new PointExchangeException("积分不足");
|
|
|
}
|
|
}
|
|
@@ -231,9 +232,9 @@ public class PointExchangeServiceImpl implements PointExchangeService {
|
|
|
//map.put("msg","兑换成功");
|
|
//map.put("msg","兑换成功");
|
|
|
//return map;
|
|
//return map;
|
|
|
}
|
|
}
|
|
|
- if (type == 2 || type == 0){
|
|
|
|
|
|
|
+ if (type == 2 || type == 0) {
|
|
|
BigDecimal amount;
|
|
BigDecimal amount;
|
|
|
- if (type == 2){
|
|
|
|
|
|
|
+ if (type == 2) {
|
|
|
if (user.getPufaPoint().compareTo(yeepayOrder.getUsePoint()) < 0) {
|
|
if (user.getPufaPoint().compareTo(yeepayOrder.getUsePoint()) < 0) {
|
|
|
throw new PointExchangeException("积分不足");
|
|
throw new PointExchangeException("积分不足");
|
|
|
}
|
|
}
|
|
@@ -241,7 +242,7 @@ public class PointExchangeServiceImpl implements PointExchangeService {
|
|
|
//如果用户输入的积分足够,则使用积分支付
|
|
//如果用户输入的积分足够,则使用积分支付
|
|
|
if (yeepayOrder.getUsePoint().compareTo(exchangePoint) > 0) {
|
|
if (yeepayOrder.getUsePoint().compareTo(exchangePoint) > 0) {
|
|
|
type = 1;
|
|
type = 1;
|
|
|
- return this.merge(yeepayOrder,type);
|
|
|
|
|
|
|
+ return this.merge(yeepayOrder, type);
|
|
|
}
|
|
}
|
|
|
//需要的现金
|
|
//需要的现金
|
|
|
BigDecimal usePoint = exchangePoint.subtract(yeepayOrder.getUsePoint());
|
|
BigDecimal usePoint = exchangePoint.subtract(yeepayOrder.getUsePoint());
|
|
@@ -255,7 +256,7 @@ public class PointExchangeServiceImpl implements PointExchangeService {
|
|
|
pointRecord.setPhone(yeepayOrder.getPhone());
|
|
pointRecord.setPhone(yeepayOrder.getPhone());
|
|
|
pointRecord.setActiveId(yeepayOrder.getActiveId());
|
|
pointRecord.setActiveId(yeepayOrder.getActiveId());
|
|
|
Assert.isTrue(pointRecordService.save(pointRecord), "兑换失败");
|
|
Assert.isTrue(pointRecordService.save(pointRecord), "兑换失败");
|
|
|
- }else {
|
|
|
|
|
|
|
+ } else {
|
|
|
amount = exchangePoint.divide(BigDecimal.valueOf(100));
|
|
amount = exchangePoint.divide(BigDecimal.valueOf(100));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -272,9 +273,9 @@ public class PointExchangeServiceImpl implements PointExchangeService {
|
|
|
yeepayOrder.setCallbackUrl(callbackUrl);
|
|
yeepayOrder.setCallbackUrl(callbackUrl);
|
|
|
yeepayOrder.setCreateTime(new Date());
|
|
yeepayOrder.setCreateTime(new Date());
|
|
|
yeepayOrder.setUserId(user.getUserId());
|
|
yeepayOrder.setUserId(user.getUserId());
|
|
|
- if (StringUtil.isEmpty(yeepayOrder.getUsePoint())){
|
|
|
|
|
|
|
+ if (StringUtil.isEmpty(yeepayOrder.getUsePoint())) {
|
|
|
yeepayOrder.setUsePoint(BigDecimal.ZERO);
|
|
yeepayOrder.setUsePoint(BigDecimal.ZERO);
|
|
|
- }else {
|
|
|
|
|
|
|
+ } else {
|
|
|
yeepayOrder.setUsePoint(yeepayOrder.getUsePoint());
|
|
yeepayOrder.setUsePoint(yeepayOrder.getUsePoint());
|
|
|
}
|
|
}
|
|
|
yeepayOrder.setUsePoint(BigDecimal.ZERO);
|
|
yeepayOrder.setUsePoint(BigDecimal.ZERO);
|
|
@@ -331,7 +332,7 @@ public class PointExchangeServiceImpl implements PointExchangeService {
|
|
|
map.put("package", prePayTnJson.get("package"));
|
|
map.put("package", prePayTnJson.get("package"));
|
|
|
map.put("signType", prePayTnJson.get("signType"));
|
|
map.put("signType", prePayTnJson.get("signType"));
|
|
|
map.put("paySign", prePayTnJson.get("paySign"));
|
|
map.put("paySign", prePayTnJson.get("paySign"));
|
|
|
- map.put("orderId",uniqueOrderNo);
|
|
|
|
|
|
|
+ map.put("orderId", uniqueOrderNo);
|
|
|
|
|
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
throw new Exception(e.getMessage());
|
|
throw new Exception(e.getMessage());
|