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

Commit 4e7a6ed5 authored by zhengfuxin's avatar zhengfuxin

开发前端获取活动详情

parent e32cb2c3
......@@ -77,6 +77,15 @@ public class KylinRecommendActiveRelationVo implements Serializable {
@ApiModelProperty(value = "演出的vo")
private KylinPerformanceVo kylinPerformanceVo;
private Object goblinNftGoodsSkuInfoVo;
private Object goblinGoodsInfoVo;
private Object goblinMixAppDetailsVo;
/* @ApiModelProperty(value = "演出的vo")
private GoblinNftGoodsSkuInfoVo goblinNftGoodsSkuInfoVo;*/
private static final KylinRecommendActiveRelationVo obj = new KylinRecommendActiveRelationVo();
public static KylinRecommendActiveRelationVo getNew() {
try {
......
......@@ -2,6 +2,7 @@ package com.liquidnet.service.kylin.dto.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -88,6 +89,15 @@ public class KylinRecommendActiveVo implements Serializable {
@ApiModelProperty(value = "推荐活动")
private List<KylinRecommendActiveRelationVo> list;
@ApiModelProperty(value = "演出的vo")
private KylinPerformanceVo kylinPerformanceVo;
private Object goblinNftGoodsSkuInfoVo;
private Object goblinGoodsInfoVo;
private Object goblinMixAppDetailsVo;
private String name;
private static final KylinRecommendActiveVo obj = new KylinRecommendActiveVo();
public static KylinRecommendActiveVo getNew() {
......
......@@ -9,5 +9,5 @@ import java.util.List;
* 推荐活动接口
*/
public interface IKylinRecommendActiveService {
List<KylinRecommendActiveVo> getRecommendById(List<KylinRecommendActive> list);
KylinRecommendActiveVo getRecommendById(List<KylinRecommendActive> list);
}
......@@ -3,6 +3,7 @@ package com.liquidnet.service.kylin.controller;
import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.kylin.dto.vo.KylinRecommendActiveVo;
import com.liquidnet.service.kylin.entity.KylinRecommendActive;
import com.liquidnet.service.kylin.service.impl.KylinRecommendActiveServiceImpl;
import com.liquidnet.service.kylin.utils.DataUtils;
......@@ -36,16 +37,15 @@ public class KylinRecommendActiveController {
@PostMapping("getRecommendById")
@ApiOperation("获取推荐活动详情")
public ResponseDto<List<KylinRecommendActive>> getRecommendById(@RequestParam(value = "bindId")String bindId) {
public ResponseDto<KylinRecommendActiveVo> getRecommendById(@RequestParam(value = "bindId")String bindId) {
String uid = CurrentUtil.getCurrentUid();
List<KylinRecommendActive> list= dataUtils.getRecommendActive(bindId);
if(null==list){
return null;
}else{
//循环遍历,查到绑定的详情
kylinRecommendActiveService.getRecommendById(list);
return ResponseDto.success(kylinRecommendActiveService.getRecommendById(list));
}
return null;
}
......
package com.liquidnet.service.kylin.service.impl;
import com.liquidnet.commons.lang.util.StringUtil;
import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.kylin.dto.vo.KylinRecommendActiveRelationVo;
import com.liquidnet.service.kylin.dto.vo.KylinRecommendActiveVo;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.liquidnet.service.kylin.entity.KylinRecommendActive;
......@@ -11,6 +13,8 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List;
/**
......@@ -27,32 +31,63 @@ public class KylinRecommendActiveServiceImpl implements IKylinRecommendActiveSer
private KylinRedisUtils kylinRedisUtils;
@Override
public List<KylinRecommendActiveVo> getRecommendById(List<KylinRecommendActive> list) {
public KylinRecommendActiveVo getRecommendById(List<KylinRecommendActive> list) {
for(KylinRecommendActive kylinRecommendActive:list){
//查看时间是否在当前范围内
if(LocalDateTime.now().isAfter(kylinRecommendActive.getStartTime())&&LocalDateTime.now().isBefore(kylinRecommendActive.getEndTime())){
KylinRecommendActiveVo kylinRecommendActiveVo = KylinRecommendActiveVo.getNew();
BeanUtils.copyProperties(kylinRecommendActive,kylinRecommendActiveVo);
if(StringUtil.isNotBlank(kylinRecommendActiveVo.getActiveBindId())&&null !=kylinRecommendActiveVo.getActiveType()){
//找到绑定的详情
if(kylinRecommendActiveVo.getActiveType()==3){
//演出
KylinPerformanceVo performancesInfo = dataUtils.getPerformanceVo(kylinRecommendActiveVo.getActiveBindId());
kylinRecommendActiveVo.setKylinPerformanceVo(performancesInfo);
}else if(kylinRecommendActiveVo.getActiveType()==1){
//NFT
GoblinNftGoodsSkuInfoVo goblinNftGoodsSkuInfoVo=goodsDetail(kylinRecommendActiveVo.getActiveBindId());
kylinRecommendActiveVo.setGoblinNftGoodsSkuInfoVo(goblinNftGoodsSkuInfoVo);
}else if(kylinRecommendActiveVo.getActiveType()==4){
//商品
kylinRedisUtils.getGoodsInfoVo(kylinRecommendActiveVo.getActiveBindId());
GoblinGoodsInfoVo goblinGoodsInfoVo = kylinRedisUtils.getGoodsInfoVo(kylinRecommendActiveVo.getActiveBindId());
kylinRecommendActiveVo.setGoblinGoodsInfoVo(goblinGoodsInfoVo);
}else if(kylinRecommendActiveVo.getActiveType()==2){
//组合购
GoblinMixAppDetailsVo goblinMixAppDetailsVo = mixDetails(kylinRecommendActiveVo.getActiveBindId());
kylinRecommendActiveVo.setGoblinMixAppDetailsVo(goblinMixAppDetailsVo);
}
}
//遍历list
List<KylinRecommendActiveRelationVo> kylinRecommendActiveVoList = kylinRecommendActiveVo.getList();
for(KylinRecommendActiveRelationVo kylinRecommendActiveRelationVo:kylinRecommendActiveVoList){
if(kylinRecommendActiveRelationVo.getType()==1){
//NFT
GoblinNftGoodsSkuInfoVo goblinNftGoodsSkuInfoVo=goodsDetail(kylinRecommendActiveRelationVo.getRecommendBindId());
kylinRecommendActiveRelationVo.setGoblinNftGoodsSkuInfoVo(goblinNftGoodsSkuInfoVo);
}else if(kylinRecommendActiveRelationVo.getType()==2){
//组合购
GoblinMixAppDetailsVo goblinMixAppDetailsVo = mixDetails(kylinRecommendActiveRelationVo.getRecommendBindId());
kylinRecommendActiveRelationVo.setGoblinMixAppDetailsVo(goblinMixAppDetailsVo);
}else if(kylinRecommendActiveRelationVo.getType()==3){
//演出
KylinPerformanceVo performancesInfo = dataUtils.getPerformanceVo(kylinRecommendActiveRelationVo.getRecommendBindId());
kylinRecommendActiveRelationVo.setKylinPerformanceVo(performancesInfo);
}else if(kylinRecommendActiveRelationVo.getType()==4){
//商品 //商品
GoblinGoodsInfoVo goblinGoodsInfoVo = kylinRedisUtils.getGoodsInfoVo(kylinRecommendActiveRelationVo.getRecommendBindId());
kylinRecommendActiveRelationVo.setGoblinGoodsInfoVo(goblinGoodsInfoVo);
}
}
}
}
return null;
}
/*public GoblinNftGoodsSkuInfoVo getNft(String skuId){
/**
*NFT 获取详情
*/
public GoblinNftGoodsSkuInfoVo goodsDetail(String skuId) {
// 1
LocalDateTime now = LocalDateTime.now();
HashMap<String, Object> map = kylinRedisUtils.getGoodsSkuInfoVo(now, skuId);
if (null == map) {
......@@ -63,44 +98,60 @@ public class KylinRecommendActiveServiceImpl implements IKylinRecommendActiveSer
String listId = (String) map.get("listId");
LocalDateTime baseSaleStartTime = (LocalDateTime) map.get("baseSaleStartTime");
LocalDateTime nextSaleStartTime = (LocalDateTime) map.get("nextSaleStartTime");
if (goblinRedisUtils.getSkuAllStatusShow(skuInfoVo)) {
//获取预约相关
AnticipateValueVo anticipateValueVo = goblinGoodsAnticipateMgService.getAnticipateValueBySkuId(skuId, 1);
if (kylinRedisUtils.getSkuAllStatusShow(skuInfoVo)) {
GoblinNftGoodsSkuInfoVo nftGoodsSkuInfoVo = GoblinNftGoodsSkuInfoVo.getNew().copy(skuInfoVo, anticipateValueVo);
// 限购数量
Integer buyCount = 0;
String userId = CurrentUtil.getCurrentUid();
if (StringUtils.isNotBlank(userId)) {
buyCount = goblinRedisUtils.getSkuCountByUid(userId, skuId);
}
if (null != skuInfoVo.getBuyLimit() && 0 != skuInfoVo.getBuyLimit()) {
nftGoodsSkuInfoVo.setCanBuyNum(skuInfoVo.getBuyLimit() - buyCount);
}
GoblinNftGoodsSkuInfoVo nftGoodsSkuInfoVo = GoblinNftGoodsSkuInfoVo.getNew().copy(skuInfoVo, null);
// spu信息
GoblinGoodsInfoVo goodsInfoVo = goblinRedisUtils.getGoodsInfoVo(skuInfoVo.getSpuId());
GoblinGoodsInfoVo goodsInfoVo = kylinRedisUtils.getGoodsInfoVo(skuInfoVo.getSpuId());
GoblinNftGoodsDetailSpuInfoVo nftGoodsDetailSpuInfoVo = GoblinNftGoodsDetailSpuInfoVo.getNew().copy(goodsInfoVo);
nftGoodsSkuInfoVo.setGoblinNftGoodsDetailSpuInfoVo(nftGoodsDetailSpuInfoVo);
// 库存
HashMap<String, Integer> stockHashMap = goblinOrderUtils.getIsStock(listId, skuId, skuInfoVo.getUnbox(), skuInfoVo.getSoldoutStatus(), goodsInfoVo.getSkuIdList());
nftGoodsSkuInfoVo.setIsStock(stockHashMap.get("isStock"));
// 总库存
if (skuInfoVo.getUnbox().equals("1")) {
nftGoodsSkuInfoVo.setSkuStock(stockHashMap.get("totalStock"));
}
// 系统时间
nftGoodsSkuInfoVo.setSystime(LocalDateTime.now());
nftGoodsSkuInfoVo.setTagType(tagType);
nftGoodsSkuInfoVo.setListId(listId);
nftGoodsSkuInfoVo.setBaseSaleStartTime(baseSaleStartTime);
nftGoodsSkuInfoVo.setNextSaleStartTime(nextSaleStartTime);
// 是否开启兑换
nftGoodsSkuInfoVo.setIsExchange(goblinRedisUtils.getIsExchange(skuId));
// 待支付订单数量
nftGoodsSkuInfoVo.setNotPayNum(goblinRedisUtils.getNotPayNum(skuId, listId));
return nftGoodsSkuInfoVo;
} else {
return null;
}
}
public GoblinMixAppDetailsVo mixDetails(String mixId) {
GoblinMixDetailsVo baseVo = kylinRedisUtils.getMixDetails(mixId);
//GoblinStoreInfoVo storeInfoVo = redisUtils.getStoreInfoVo(baseVo.getStoreId());
GoblinMixAppDetailsVo vo = GoblinMixAppDetailsVo.getNew().copy(baseVo, "");
/*int stock = 0;
for (GoblinMixDetailsItemVo item : vo.getItem()) {
GoblinGoodsSkuInfoVo skuInfoVo = redisUtils.getGoodsSkuInfoVo(item.getSkuId());
GoblinGoodsInfoVo spuInfoVo = redisUtils.getGoodsInfoVo(skuInfoVo.getSpuId());
item.setSkuPic(skuInfoVo.getSkuPic());
item.setStock(0);
item.setSkuName(skuInfoVo.getName());
item.setSpuName(spuInfoVo.getName());
if (skuInfoVo.getUnbox().equals("1")) {
List<String> relationIds = redisUtils.getGoblinMixRelationBox(item.getSkuId(), vo.getMixId());
for (String skuId : relationIds) {
stock += redisUtils.getSkuStock(vo.getMixId(), skuId);
}
} else {
stock += redisUtils.getSkuStock(vo.getMixId(), item.getSkuId());
}
}
if (stock == 0) {
vo.setStatus(8);
} else {
LocalDateTime nt = LocalDateTime.now();
LocalDateTime st = LocalDateTime.parse(vo.getTimeStart(), DTF_YMD_HMS);
LocalDateTime et = LocalDateTime.parse(vo.getTimeEnd(), DTF_YMD_HMS);
if (nt.isBefore(st)) {
vo.setStatus(9);
} else if (nt.isAfter(et)) {
vo.setStatus(10);
} else {
vo.setStatus(6);
}
}*/
return vo;
}
}
......@@ -2,6 +2,7 @@ package com.liquidnet.service.kylin.utils;
import com.liquidnet.service.adam.dto.vo.AdamEntersVo;
import com.liquidnet.service.base.PagedResult;
import com.liquidnet.service.goblin.dto.vo.GoblinListCollectVo;
import com.liquidnet.service.kylin.dto.vo.KylinApiCameraDevicesVo;
import com.liquidnet.service.kylin.dto.vo.admin.OrderRefundPoundage;
import com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo;
......@@ -34,7 +35,7 @@ public class ObjectUtil {
private static final ArrayList<KylinOrderCoupons> kylinOrderCouponsArrayList = 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<>();
public static ArrayList<KylinCandyVo> kylinCandyVos() {
return (ArrayList<KylinCandyVo>) kylinCandyVos.clone();
}
......@@ -102,4 +103,7 @@ public class ObjectUtil {
public static ArrayList<KylinApiCameraDevicesVo> getKylinApiCameraDevicesVoArrayList() {
return (ArrayList<KylinApiCameraDevicesVo>) kylinApiCameraDevicesVoArrayList.clone();
}
public static ArrayList<GoblinListCollectVo> getGoblinListCollectVo() {
return (ArrayList<GoblinListCollectVo>) goblinListCollectVo.clone();
}
}
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