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

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

Merge branch 'hjc_road_coupon' into dev_bd_rm_consumer_od

# Conflicts:
#	liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/service/IKylinPerformancesService.java
#	liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/utils/DataUtils.java
#	liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/utils/ObjectUtil.java
parents fbad7776 da9de73d
...@@ -96,4 +96,10 @@ public class KylinRedisConst { ...@@ -96,4 +96,10 @@ public class KylinRedisConst {
public static final String ACTIVE_TICKET_AR_TICKET = "kylin:active:ar:ticket:";//互动券 public static final String ACTIVE_TICKET_AR_TICKET = "kylin:active:ar:ticket:";//互动券
public static final String ACTIVE_TICKET_AR_USER = "kylin:active:ar:user:";//互动券 绑定的用户 public static final String ACTIVE_TICKET_AR_USER = "kylin:active:ar:user:";//互动券 绑定的用户
/**
* 巡演券
* eg:{kylin:c_rs:${couponId}, List<巡演ID>}
*/
public static final String COUPON_ROADSHOWS = "kylin:c_rs:";
} }
package com.liquidnet.service.kylin.dto.param;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@ApiModel
@Data
public class KylinCandyParam implements Serializable, Cloneable {
@ApiModelProperty(value = "券id集合")
private List<String> couponList;
@ApiModelProperty(value = "巡演id")
private String roadShowId;
private static final KylinCandyParam obj = new KylinCandyParam();
public static KylinCandyParam getNew() {
try {
return (KylinCandyParam) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinCandyParam();
}
}
}
package com.liquidnet.service.kylin.dto.vo.mongo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
@ApiModel
@Data
public class KylinCandyVo implements Serializable, Cloneable {
@ApiModelProperty(value = "券id")
private String couponId;
@ApiModelProperty(value = "巡演id")
private String roadShowId;
private static final KylinCandyVo obj = new KylinCandyVo();
public static KylinCandyVo getNew() {
try {
return (KylinCandyVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new KylinCandyVo();
}
}
}
package com.liquidnet.service.kylin.service; package com.liquidnet.service.kylin.service;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinCandyVo;
import java.util.List;
/** /**
* <p> * <p>
...@@ -25,4 +28,5 @@ public interface IKylinPerformancesService { ...@@ -25,4 +28,5 @@ public interface IKylinPerformancesService {
ResponseDto<Integer> isSubscribe(String performancesId); ResponseDto<Integer> isSubscribe(String performancesId);
ResponseDto<List<KylinCandyVo>> kylinCandy(List<String> data, String roadShowId);
} }
...@@ -4,6 +4,8 @@ package com.liquidnet.service.kylin.controller; ...@@ -4,6 +4,8 @@ package com.liquidnet.service.kylin.controller;
import com.liquidnet.commons.lang.util.CollectionUtil; import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.service.base.ErrorMapping; import com.liquidnet.service.base.ErrorMapping;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.param.KylinCandyParam;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinCandyVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.returns.PayDetailVo; import com.liquidnet.service.kylin.dto.vo.returns.PayDetailVo;
import com.liquidnet.service.kylin.service.IKylinLackRegistersService; import com.liquidnet.service.kylin.service.IKylinLackRegistersService;
...@@ -264,4 +266,10 @@ public class KylinPerformancesController { ...@@ -264,4 +266,10 @@ public class KylinPerformancesController {
return iKylinPerformancesService.getPerformanceIdByInfo(useScope, busiId); return iKylinPerformancesService.getPerformanceIdByInfo(useScope, busiId);
} }
@PostMapping("kylinCandy")
@ApiOperation("根据券id集合获取数据")
public ResponseDto<List<KylinCandyVo>> kylinCandy(@RequestBody KylinCandyParam param) {
return iKylinPerformancesService.kylinCandy(param.getCouponList(), param.getRoadShowId());
}
} }
...@@ -13,6 +13,7 @@ import com.liquidnet.service.kylin.constant.KylinPerformanceStatusEnum; ...@@ -13,6 +13,7 @@ import com.liquidnet.service.kylin.constant.KylinPerformanceStatusEnum;
import com.liquidnet.service.kylin.constant.KylinTableStatusConst; import com.liquidnet.service.kylin.constant.KylinTableStatusConst;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo; import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo; import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinCandyVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketExpressModuleVo; import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketExpressModuleVo;
import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketPartnerVo; import com.liquidnet.service.kylin.dto.vo.partner.KylinTicketPartnerVo;
...@@ -787,4 +788,20 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService { ...@@ -787,4 +788,20 @@ public class KylinPerformancesServiceImpl implements IKylinPerformancesService {
Integer subscribe = dataUtils.getSubscribe(uid, performancesId); Integer subscribe = dataUtils.getSubscribe(uid, performancesId);
return ResponseDto.success(subscribe); return ResponseDto.success(subscribe);
} }
@Override
public ResponseDto<List<KylinCandyVo>> kylinCandy(List<String> data, String roadShowId) {
List<KylinCandyVo> voList = ObjectUtil.kylinCandyVos();
for (String couponId : data) {
List<String> roadShowIds = dataUtils.getCouponRoad(couponId);
if (roadShowIds.size() == 0 || roadShowIds.contains(roadShowId)) {
KylinCandyVo vo = KylinCandyVo.getNew();
vo.setCouponId(couponId);
vo.setRoadShowId(roadShowIds.contains(roadShowId) ? roadShowId : "");
voList.add(vo);
}
}
return ResponseDto.success(voList);
}
} }
...@@ -1300,13 +1300,11 @@ public class DataUtils { ...@@ -1300,13 +1300,11 @@ public class DataUtils {
String rdk = KylinRedisConst.REDIS_WQ_ORDER_FIX.concat(orderId); String rdk = KylinRedisConst.REDIS_WQ_ORDER_FIX.concat(orderId);
redisUtil.del(rdk, orderId); redisUtil.del(rdk, orderId);
} }
// 万青补偿vo覆盖 // 万青补偿vo覆盖
public void setWqOrderVo(WqTempVo vo) { public void setWqOrderVo(WqTempVo vo) {
String rdk = KylinRedisConst.REDIS_WQ_ORDER_EXPRESS.concat(vo.getOrderId()); String rdk = KylinRedisConst.REDIS_WQ_ORDER_EXPRESS.concat(vo.getOrderId());
redisUtil.set(rdk, vo); redisUtil.set(rdk, vo);
} }
// 万青补偿vo获取 // 万青补偿vo获取
public WqTempVo getWqOrderVo(String orderId) { public WqTempVo getWqOrderVo(String orderId) {
String rdk = KylinRedisConst.REDIS_WQ_ORDER_EXPRESS.concat(orderId); String rdk = KylinRedisConst.REDIS_WQ_ORDER_EXPRESS.concat(orderId);
...@@ -1340,7 +1338,18 @@ public class DataUtils { ...@@ -1340,7 +1338,18 @@ public class DataUtils {
//设置用户状态。 //设置用户状态。
public void setUser(String userId, String value) { public void setUser(String userId, String value) {
redisUtil.set(KylinRedisConst.ACTIVE_TICKET_AR_USER + userId, value); redisUtil.set(KylinRedisConst.ACTIVE_TICKET_AR_USER + userId, value);
}
//根据 券id 获取 可用巡演id数组
public List<String> getCouponRoad(String couponId) {
String rdk = KylinRedisConst.COUPON_ROADSHOWS.concat(couponId);
Object obj = redisUtil.get(rdk);
if (obj == null) {
return CollectionUtil.arrayListString();
} else {
return (List<String>) obj;
}
} }
/** /**
......
...@@ -7,6 +7,7 @@ import com.liquidnet.service.kylin.dto.vo.KylinApiCameraDevicesVo; ...@@ -7,6 +7,7 @@ import com.liquidnet.service.kylin.dto.vo.KylinApiCameraDevicesVo;
import com.liquidnet.service.kylin.dto.vo.admin.OrderRefundPoundage; import com.liquidnet.service.kylin.dto.vo.admin.OrderRefundPoundage;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo; import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo; import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinCandyVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.dto.vo.returns.*; import com.liquidnet.service.kylin.dto.vo.returns.*;
import com.liquidnet.service.kylin.entity.KylinBanners; import com.liquidnet.service.kylin.entity.KylinBanners;
...@@ -33,6 +34,7 @@ public class ObjectUtil { ...@@ -33,6 +34,7 @@ public class ObjectUtil {
private static final ArrayList<OrderRefundPoundage> orderRefundPoundageArrayList = new ArrayList<>(); private static final ArrayList<OrderRefundPoundage> orderRefundPoundageArrayList = new ArrayList<>();
private static final ArrayList<KylinOrderCoupons> kylinOrderCouponsArrayList = new ArrayList<>(); private static final ArrayList<KylinOrderCoupons> kylinOrderCouponsArrayList = new ArrayList<>();
private static final ArrayList<KylinApiCameraDevicesVo> kylinApiCameraDevicesVoArrayList = new ArrayList<>(); private static final ArrayList<KylinApiCameraDevicesVo> kylinApiCameraDevicesVoArrayList = new ArrayList<>();
private static final ArrayList<KylinCandyVo> kylinCandyVos = new ArrayList<>();
/*正在热卖*/ /*正在热卖*/
private static final ArrayList<GoblinListCollectVo> goblinListCollectVo = new ArrayList<>(); private static final ArrayList<GoblinListCollectVo> goblinListCollectVo = new ArrayList<>();
...@@ -41,6 +43,9 @@ public class ObjectUtil { ...@@ -41,6 +43,9 @@ public class ObjectUtil {
private static final ArrayList<GoblinMixDetailsVo> goblinMixDetailsVoArrayList = new ArrayList<>(); private static final ArrayList<GoblinMixDetailsVo> goblinMixDetailsVoArrayList = new ArrayList<>();
private static final ArrayList<GoblinGoodsSkuInfoVo> goblinGoodsSkuInfoVoArrayList = new ArrayList<>(); private static final ArrayList<GoblinGoodsSkuInfoVo> goblinGoodsSkuInfoVoArrayList = new ArrayList<>();
public static ArrayList<KylinCandyVo> kylinCandyVos() {
return (ArrayList<KylinCandyVo>) kylinCandyVos.clone();
}
public static ArrayList<KylinStationPerformanceVo> getKylinStationPerformanceVoArrayList() { public static ArrayList<KylinStationPerformanceVo> getKylinStationPerformanceVoArrayList() {
return (ArrayList<KylinStationPerformanceVo>) kylinStationPerformanceVoArrayList.clone(); return (ArrayList<KylinStationPerformanceVo>) kylinStationPerformanceVoArrayList.clone();
......
...@@ -253,6 +253,10 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ ...@@ -253,6 +253,10 @@ public class KylinOrderTicketsServiceImpl implements IKylinOrderTicketsOrderServ
return ResponseDto.failure("优先券不可用"); return ResponseDto.failure("优先券不可用");
} }
Integer typeVoucher = (Integer) advanceMap.get("type"); Integer typeVoucher = (Integer) advanceMap.get("type");
// String couponId = (String) advanceMap.get("couponId");
// if (typeVoucher.equals(-1) || orderUtils.judgeRoadShowCanUse(couponId, performanceData.getRoadShowId())) {
// return ResponseDto.failure("优先券不可用");
// }
if (typeVoucher.equals(-1)) { if (typeVoucher.equals(-1)) {
return ResponseDto.failure("优先券不可用"); return ResponseDto.failure("优先券不可用");
} }
......
package com.liquidnet.service.order.utils; package com.liquidnet.service.order.utils;
import com.liquidnet.common.cache.redis.util.RedisUtil; import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.commons.lang.util.IPUtil; import com.liquidnet.commons.lang.util.IPUtil;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo; import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
...@@ -326,4 +327,15 @@ public class DataUtils { ...@@ -326,4 +327,15 @@ public class DataUtils {
return (String) obj; return (String) obj;
} }
} }
//根据 券id 获取 可用巡演id数组
public List<String> getCouponRoad(String couponId) {
String rdk = KylinRedisConst.COUPON_ROADSHOWS.concat(couponId);
Object obj = redisUtil.get(rdk);
if (obj == null) {
return CollectionUtil.arrayListString();
} else {
return (List<String>) obj;
}
}
} }
...@@ -15,6 +15,7 @@ import com.liquidnet.service.kylin.constant.KylinRedisConst; ...@@ -15,6 +15,7 @@ import com.liquidnet.service.kylin.constant.KylinRedisConst;
import com.liquidnet.service.kylin.dao.KylinFreightChargeDao; import com.liquidnet.service.kylin.dao.KylinFreightChargeDao;
import com.liquidnet.service.kylin.dto.vo.KylinAgentVo; import com.liquidnet.service.kylin.dto.vo.KylinAgentVo;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo; import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinCandyVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo; import com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketVo;
import com.liquidnet.service.kylin.dto.vo.returns.InnerReturnVo; import com.liquidnet.service.kylin.dto.vo.returns.InnerReturnVo;
import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo; import com.liquidnet.service.kylin.dto.vo.returns.KylinOrderListVo;
...@@ -238,6 +239,7 @@ public class OrderUtils { ...@@ -238,6 +239,7 @@ public class OrderUtils {
}); });
CandyUseResultVo candyUseResultVo = innerReturnVo.getData(); CandyUseResultVo candyUseResultVo = innerReturnVo.getData();
Integer type = candyUseResultVo.getCouType(); Integer type = candyUseResultVo.getCouType();
String couponId = candyUseResultVo.getCouponId();
BigDecimal value = candyUseResultVo.getValue(); BigDecimal value = candyUseResultVo.getValue();
BigDecimal voucher = BigDecimal.ZERO; BigDecimal voucher = BigDecimal.ZERO;
switch (type) { switch (type) {
...@@ -260,6 +262,7 @@ public class OrderUtils { ...@@ -260,6 +262,7 @@ public class OrderUtils {
voucher = BigDecimal.ZERO; voucher = BigDecimal.ZERO;
break; break;
} }
hashMap.put("couponId", couponId);
hashMap.put("type", type); hashMap.put("type", type);
hashMap.put("voucher", voucher.setScale(2, BigDecimal.ROUND_HALF_UP)); hashMap.put("voucher", voucher.setScale(2, BigDecimal.ROUND_HALF_UP));
return hashMap; return hashMap;
...@@ -272,6 +275,15 @@ public class OrderUtils { ...@@ -272,6 +275,15 @@ public class OrderUtils {
} }
} }
//判断是不是适用于巡演
public boolean judgeRoadShowCanUse(String couponId, String roadShowId) {
List<String> roadShowIds = dataUtils.getCouponRoad(couponId);
if (roadShowIds.size() == 0 || roadShowIds.contains(roadShowId)) {
return true;
}
return false;
}
public void backAdvanceCoupon(String advanceCode, String uid) { public void backAdvanceCoupon(String advanceCode, String uid) {
if (advanceCode != null) { if (advanceCode != null) {
backCoupon(advanceCode, uid); backCoupon(advanceCode, uid);
......
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