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

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

修改 平台券

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