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

Commit 1652e54d authored by 张国柄's avatar 张国柄

Merge remote-tracking branch 'origin/dev_member_voucher_refund' into dev_member_voucher_refund

parents fe9ca421 94c8c594
package com.liquidnet.service.candy.param;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
@Api
public class BackCouponParam implements Serializable, Cloneable {
@ApiModelProperty(dataType = "String", name = "uCouponIds", value = "券唯一表示id(逗号隔开的字符串)",example = "1",required = true)
@NotNull @NotBlank
private String uCouponIds;
@ApiModelProperty(dataType = "String", name = "uid", value = "用户id",example = "10",required = true)
@NotNull @NotBlank
private String uid;
private static final BackCouponParam obj = new BackCouponParam();
public static BackCouponParam getNew() {
try {
return (BackCouponParam) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new BackCouponParam();
}
public String getuCouponIds() {
return uCouponIds;
}
public void setuCouponIds(String uCouponIds) {
this.uCouponIds = uCouponIds;
}
public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
}
......@@ -3,6 +3,7 @@ package com.liquidnet.service.candy.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.candy.entity.CandyCoupon;
import com.liquidnet.service.candy.param.BackCouponParam;
import com.liquidnet.service.candy.vo.CandyCouponVo;
import com.liquidnet.service.candy.vo.CandyMyCouponListVo;
import com.liquidnet.service.candy.vo.CandyUseResultVo;
......@@ -36,7 +37,7 @@ public interface ICandyCouponService {
CandyUseResultVo useCoupon(String uCouponId, String content, String totalPrice);
Boolean useBackCoupon(String uCouponId);
Boolean useBackCoupon(List<BackCouponParam> backCouponParam);
ResponseDto<Boolean> receiveCoupon(String ccode);
......
......@@ -99,3 +99,4 @@ global-auth:
- ${liquidnet.info.context}/webjars/**
- ${liquidnet.info.context}/swagger-resources/**
- ${liquidnet.info.context}/v2/api-docs*
- ${liquidnet.info.context}/candy-coupon/useBack
\ No newline at end of file
......@@ -3,6 +3,7 @@ package com.liquidnet.service.candy.controller;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.candy.param.BackCouponParam;
import com.liquidnet.service.candy.service.ICandyCouponService;
import com.liquidnet.service.candy.vo.CandyCouponVo;
import com.liquidnet.service.candy.vo.CandyMyCouponListVo;
......@@ -15,6 +16,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
......@@ -162,11 +164,11 @@ public class CandyCouponController {
//回退券
@PostMapping("useBack")
@ApiOperation("回退券")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", dataType = "String", name = "uCouponId", value = "券唯一表示id(逗号隔开的字符串)", required = true),
})
public ResponseDto<Boolean> useBackCoupon(@RequestParam("uCouponId") @NotNull @NotBlank String uCouponId) {
candyCouponService.useBackCoupon(uCouponId);
public ResponseDto<Boolean> useBackCoupon(@RequestBody @Valid List<BackCouponParam> backCouponParam) {
if(backCouponParam.size()>100){
return ResponseDto.failure("数据量不得大于100");
}
candyCouponService.useBackCoupon(backCouponParam);
return ResponseDto.success();
}
......
......@@ -9,6 +9,7 @@ import com.liquidnet.service.base.constant.MQConst;
import com.liquidnet.service.candy.dto.CandyCouponCodeDto;
import com.liquidnet.service.candy.dto.CandyCouponInfoDto;
import com.liquidnet.service.candy.dto.CandyUserCouponBasicDto;
import com.liquidnet.service.candy.param.BackCouponParam;
import com.liquidnet.service.candy.service.ICandyCouponService;
import com.liquidnet.service.candy.util.CouponBaseUtil;
import com.liquidnet.service.candy.util.ObjectUtil;
......@@ -258,10 +259,10 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
}
@Override
public Boolean useBackCoupon(String uCouponIds) {
String uid = CurrentUtil.getCurrentUid();
ArrayList<String> uCouponIdList = new ArrayList(Arrays.asList(uCouponIds.split(",")));
public Boolean useBackCoupon(List<BackCouponParam> backCouponParams) {
for (BackCouponParam item : backCouponParams) {
String uid =item.getUid();
ArrayList<String> uCouponIdList = new ArrayList(Arrays.asList(item.getuCouponIds().split(",")));
List<CandyUserCouponBasicDto> dtoList = CouponBaseUtil.backCoupon(redisDataUtils.getCouponByUid(uid), uCouponIdList);
if (dtoList == null) {
return false;
......@@ -282,6 +283,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
sqlData
);
}
}
return true;
}
......@@ -289,7 +291,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
public ResponseDto<Boolean> receiveCoupon(String ccode) {
String uid = CurrentUtil.getCurrentUid();
CandyCouponCodeDto dto = redisDataUtils.getCouponByCode(ccode);
if (dto != null) {
if (dto == null) {
return ResponseDto.failure("兑换码有误,请重新输入");
} else if (dto.getState().equals(0)) {//判断可领
CandyCouponInfoDto infoDto = redisDataUtils.getCouponInfo(dto.getCouponId());
......@@ -320,7 +322,7 @@ public class CandyCouponServiceImpl implements ICandyCouponService {
public ResponseDto<CandyCouponVo> receiveCouponDetails(String ccode) {
String uid = CurrentUtil.getCurrentUid();
CandyCouponCodeDto dto = redisDataUtils.getCouponByCode(ccode);
if (dto != null) {
if (dto == null) {
return ResponseDto.failure("兑换码有误,请重新输入");
} else if (dto.getState().equals(0)) {//判断可领
CandyCouponInfoDto infoDto = redisDataUtils.getCouponInfo(dto.getCouponId());
......
......@@ -282,6 +282,9 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
}
}
}
if(e.getMessage().equals("券不可用")){
return ResponseDto.failure(ErrorMapping.get("20030"));//券不可用
}
return ResponseDto.failure(ErrorMapping.get("20018"));//乱七八糟异常
}
}
......@@ -322,6 +325,7 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
orderTickets.setPriceTotal(ticketData.getPrice().multiply(BigDecimal.valueOf(payOrderParam.getNumber())).add(payOrderParam.getIsExpress() == 1 ? ticketData.getPriceExpress() : BigDecimal.valueOf(0)));
}
orderTickets.setPriceVoucher(BigDecimal.ZERO);
//券的使用逻辑
sqls.add(SqlMapping.get("kylin_order_coupon.add"));
LinkedList<Object[]> sqlsDataE = ObjectUtil.cloneLinkedListObj();
......
......@@ -3,6 +3,7 @@ package com.liquidnet.service.order.utils;
import com.fasterxml.jackson.core.type.TypeReference;
import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.HttpUtil;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.constant.AdamRedisConst;
......@@ -180,8 +181,13 @@ public class OrderUtils {
params.add("uCouponId", uCouponId);
params.add("content", content);
params.add("totalPrice", totalPrice.toString());
String returnData = HttpUtil.post(candyUrl+"/candy-coupon/use", params, null);
InnerReturnVo<CandyUseResultVo> innerReturnVo = JsonUtils.fromJson(returnData, InnerReturnVo.class);
MultiValueMap<String, String> header = CollectionUtil.linkedMultiValueMapStringString();
header.add("Authorization", "Bearer "+CurrentUtil.getToken());
String returnData = HttpUtil.post(candyUrl+"/candy-coupon/use", params, header);
InnerReturnVo<CandyUseResultVo> innerReturnVo = JsonUtils.fromJson(returnData, new TypeReference<InnerReturnVo<CandyUseResultVo>>() {
});
CandyUseResultVo candyUseResultVo = innerReturnVo.getData();
Integer type = candyUseResultVo.getCouType();
BigDecimal value = candyUseResultVo.getValue();
......
......@@ -33,6 +33,7 @@
20028=订单已失效
20027=您已支付请刷新再试
20029=未选择支付方式
20030=券不可用
#APP PARTNER
20101=添加失败
......
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