记得上下班打卡 | git大法好,push需谨慎

Commit e24576fb authored by 胡佳晨's avatar 胡佳晨

修改 平台券

parent 92fdc27d
......@@ -48,5 +48,5 @@ public interface ICandyCouponService {
ResponseDto<CandyCouponVo> receiveCouponDetails(String ccode);
ResponseDto<List<CandyCouponVo>> couponListById(String uCouponIds);
ResponseDto<List<CandyCouponVo>> couponListById(String uCouponIds,String uid);
}
......@@ -346,8 +346,11 @@ public class CandyCouponController {
@ApiImplicitParams({
@ApiImplicitParam(type = "form", dataType = "String", name = "uCouponIds", value = "券id(逗号隔开的字符串)", required = true),
})
public ResponseDto<List<CandyCouponVo>> couponListById(@RequestParam("uCouponIds") @NotNull @NotBlank String uCouponIds) {
return candyCouponService.couponListById(uCouponIds);
public ResponseDto<List<CandyCouponVo>> couponListById(@RequestParam("uCouponIds") @NotNull @NotBlank String uCouponIds,@RequestParam("uid")String uid) {
if(uid==null || uid.equals("")){
uid = CurrentUtil.getCurrentUid();
}
return candyCouponService.couponListById(uCouponIds,uid);
// if (result != null) {
// return ResponseDto.success(result);
// } else {
......
......@@ -535,8 +535,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
}
@Override
public ResponseDto<List<CandyCouponVo>> couponListById(String uCouponIds) {
String uid = CurrentUtil.getCurrentUid();
public ResponseDto<List<CandyCouponVo>> couponListById(String uCouponIds,String uid) {
LocalDateTime userCreateTime;
try {
userCreateTime = DateUtil.Formatter.yyyyMMddHHmmssTrim.parse(CurrentUtil.getTokenClaims().get(CurrentUtil.TOKEN_UCREATED).toString());
......
......@@ -490,28 +490,28 @@ public class GoblinCouponImpl implements GoblinCouponService {
}
}
} else if (platformUcouponId != null && !platformUcouponId.equals("")) {
CandyCouponVo candyCouponVo = orderUtils.getCouponDetails(platformUcouponId);
if(candyCouponVo==null){
CandyCouponVo candyCouponVo = orderUtils.getCouponDetails(platformUcouponId,params.getUid());
if (candyCouponVo == null) {
return null;
}
if (candyCouponVo.getState().equals(1) && (candyCouponVo.getBusiType().equals(0) || candyCouponVo.getBusiType().equals(2))) {
BigDecimal voucherPrice;
BigDecimal contentPrice = BigDecimal.ZERO;
for (CouponCanUse2Param item : params.getParam()) {
contentPrice = contentPrice.add(item.getPrice());
}
switch (candyCouponVo.getCouType()) {
case 1://代金
BigDecimal contentPrice = BigDecimal.ZERO;
for (CouponCanUse2Param item : params.getParam()) {
contentPrice = contentPrice.add(item.getPrice());
}
vo.setPrice(candyCouponVo.getValFace().compareTo(contentPrice)>=0?contentPrice:candyCouponVo.getValFace());
vo.setPrice(candyCouponVo.getValFace().compareTo(contentPrice) >= 0 ? contentPrice : candyCouponVo.getValFace());
break;
case 2://满减
voucherPrice = mathPlatformPrice(candyCouponVo, params.getParam());
voucherPrice = mathPlatformPrice(candyCouponVo, params.getParam(), contentPrice);
if (voucherPrice.compareTo(candyCouponVo.getValOver()) >= 0) {
vo.setPrice(candyCouponVo.getValMinus());
}
break;
case 4://折扣
voucherPrice = mathPlatformPrice(candyCouponVo, params.getParam());
voucherPrice = mathPlatformPrice(candyCouponVo, params.getParam(), contentPrice);
vo.setPrice(voucherPrice.subtract(voucherPrice.multiply(candyCouponVo.getDiscount())));
break;
}
......@@ -555,11 +555,11 @@ public class GoblinCouponImpl implements GoblinCouponService {
}
//计算平台券金额
private BigDecimal mathPlatformPrice(CandyCouponVo candyCouponVo, List<CouponCanUse2Param> param) {
private BigDecimal mathPlatformPrice(CandyCouponVo candyCouponVo, List<CouponCanUse2Param> param, BigDecimal contentPrice) {
BigDecimal voucherPrice = BigDecimal.ZERO;
for (CandyCouponRulesVo couponRulesVo : candyCouponVo.getUseRules()) {
if (couponRulesVo.getUseScope().equals(101)) {
break;
if (couponRulesVo.getUseScope().equals(100)) {
voucherPrice = contentPrice;
}
if (couponRulesVo.getUseScope().equals(80)) {
for (CouponCanUse2Param couponCanUse2Param : param) {
......
......@@ -138,7 +138,7 @@ public class GoblinStoreOrderServiceImpl implements IGoblinStoreOrderService {
vo.setPayTime(orderVo.getPayTime());
vo.setPriceExpress(orderVo.getPriceExpress());
if (!(orderVo.getUcouponId() == null || orderVo.getUcouponId().equals(""))) {
CandyCouponVo candyCouponVo = orderUtils.getCouponDetails(orderVo.getUcouponId());
CandyCouponVo candyCouponVo = orderUtils.getCouponDetails(orderVo.getUcouponId(),orderVo.getUserId());
vo.setPlatformUcouponId(candyCouponVo.getUcouponId());
vo.setPlatformUcouponName(candyCouponVo.getTitle());
vo.setPlatformUcouponPrice(orderVo.getPriceCoupon());
......
......@@ -54,7 +54,7 @@ public class GoblinOrderUtils {
}
}
public CandyCouponVo getCouponDetails(String uCouponId) {
public CandyCouponVo getCouponDetails(String uCouponId,String uid) {
try {
MultiValueMap<String, String> header = CollectionUtil.linkedMultiValueMapStringString();
header.add("Authorization", "Bearer " + CurrentUtil.getToken());
......@@ -62,6 +62,7 @@ public class GoblinOrderUtils {
MultiValueMap<String, String> params = CollectionUtil.linkedMultiValueMapStringString();
params.add("uCouponIds", uCouponId);
params.add("uid", uid);
String returnData = HttpUtil.post(candyUrl + " /candy-coupon/receive/ListById", params, header);
ResponseDto<List<CandyCouponVo>> innerReturnVo = JsonUtils.fromJson(returnData, new TypeReference<ResponseDto<List<CandyCouponVo>>>() {
});
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment