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

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

添加 ar相关本地数据下载

parent b9526e33
...@@ -114,6 +114,8 @@ public class GoblinRedisConst { ...@@ -114,6 +114,8 @@ public class GoblinRedisConst {
public static final String REDIS_CAN_BUY = PREFIX.concat("canBuy:");//可以购买的用户 key:$skuId:$mobile public static final String REDIS_CAN_BUY = PREFIX.concat("canBuy:");//可以购买的用户 key:$skuId:$mobile
public static final String REDIS_ZZ_MUSIC_TAG = PREFIX.concat("music:tag:ZZ:");//根据场次音乐人标签搜索列表 key:$musicTag:$performanceId public static final String REDIS_ZZ_MUSIC_TAG = PREFIX.concat("music:tag:ZZ:");//根据场次音乐人标签搜索列表 key:$musicTag:$performanceId
public static final String REDIS_GOBLIN_MAIL = PREFIX.concat("mail:orderId:");//快递 $key:$orderId public static final String REDIS_GOBLIN_MAIL = PREFIX.concat("mail:orderId:");//快递 $key:$orderId
public static final String REDIS_GOBLIN_TEMP_COUPON_MARKET = PREFIX.concat("temp:coupon:marketId:");//id 列表 $key:$marketId
public static final String REDIS_GOBLIN_TEMP_COUPON = PREFIX.concat("temp:coupon:");//详情 $key:$ucouponId
/* ----------------------------------------------------------------- */ /* ----------------------------------------------------------------- */
/** /**
......
package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.List;
@Data
@EqualsAndHashCode
public class ArDataVo implements Cloneable {
@ApiModelProperty(position = 1, value = "Spuvo")
private List<GoblinGoodsInfoVo> goodsInfoVos;
@ApiModelProperty(position = 2, value = "券vo")
private List<TempCouponVo> tempCouponVos;
private static final ArDataVo obj = new ArDataVo();
public static ArDataVo getNew() {
try {
return (ArDataVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new ArDataVo();
}
}
}
package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.math.BigDecimal;
import java.util.List;
@Data
@EqualsAndHashCode
public class TempCouponVo implements Cloneable{
@ApiModelProperty(position = 1, value = "券名称")
private String name;
@ApiModelProperty(position = 2, value = "spuId【无用】")
private String spuId;
@ApiModelProperty(position = 3, value = "spuId数组")
private List<String> spuIdList;
@ApiModelProperty(position = 4, value = "类型【0-无限|1-一次】")
private String type;
@ApiModelProperty(position = 5, value = "优惠价格")
private BigDecimal value;
@ApiModelProperty(position = 6, value = "券id")
private String ucouponId;
private static final TempCouponVo obj = new TempCouponVo();
public static TempCouponVo getNew() {
try {
return (TempCouponVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new TempCouponVo();
}
}
}
package com.liquidnet.service.goblin.service.manage;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiCommonParam;
import com.liquidnet.service.goblin.dto.vo.ArDataVo;
import com.liquidnet.service.goblin.dto.vo.GoblinMarketSpuListVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfMarketingVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfZhengzaiSkuVo;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import java.util.List;
public interface IGoblinInnerService {
ResponseDto<String> insertCoupon(MultipartFile file, String performanceId);
ResponseDto<ArDataVo> getArData(String tag, String performanceId);
}
...@@ -242,7 +242,7 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer ...@@ -242,7 +242,7 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer
goblinMongoUtils.updateZhengzaiRelation(marketId, storeId, vo); goblinMongoUtils.updateZhengzaiRelation(marketId, storeId, vo);
//redis //redis
goblinRedisUtils.setZhengzaiRelation(marketId, vo); goblinRedisUtils.setZhengzaiRelation(marketId, vo);
goblinRedisUtils.addStoreSelfRelation(marketId, storeId); // goblinRedisUtils.addStoreSelfRelation(marketId, storeId);
} else if (delTag == 1) { } else if (delTag == 1) {
GoblinMarketingZhengzaiRelation entity = GoblinMarketingZhengzaiRelation.getNew(); GoblinMarketingZhengzaiRelation entity = GoblinMarketingZhengzaiRelation.getNew();
entity.setDelTag(1); entity.setDelTag(1);
...@@ -283,7 +283,7 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer ...@@ -283,7 +283,7 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer
goblinMongoUtils.updateZhengzaiRelation(marketId, storeId, vo); goblinMongoUtils.updateZhengzaiRelation(marketId, storeId, vo);
//redis //redis
goblinRedisUtils.setZhengzaiRelation(marketId, vo); goblinRedisUtils.setZhengzaiRelation(marketId, vo);
goblinRedisUtils.addStoreSelfRelation(marketId, storeId); // goblinRedisUtils.addStoreSelfRelation(marketId, storeId);
} else if (delTag == 1) { } else if (delTag == 1) {
GoblinMarketingZhengzaiRelation entity = GoblinMarketingZhengzaiRelation.getNew(); GoblinMarketingZhengzaiRelation entity = GoblinMarketingZhengzaiRelation.getNew();
entity.setDelTag(1); entity.setDelTag(1);
......
...@@ -5,11 +5,13 @@ import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiCommonParam; ...@@ -5,11 +5,13 @@ import com.liquidnet.service.goblin.dto.manage.GoblinStoreZhengzaiCommonParam;
import com.liquidnet.service.goblin.dto.vo.GoblinMarketSpuListVo; import com.liquidnet.service.goblin.dto.vo.GoblinMarketSpuListVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfMarketingVo; import com.liquidnet.service.goblin.dto.vo.GoblinSelfMarketingVo;
import com.liquidnet.service.goblin.dto.vo.GoblinSelfZhengzaiSkuVo; import com.liquidnet.service.goblin.dto.vo.GoblinSelfZhengzaiSkuVo;
import com.liquidnet.service.goblin.service.manage.IGoblinInnerService;
import com.liquidnet.service.goblin.service.manage.IGoblinZhengzaiService; import com.liquidnet.service.goblin.service.manage.IGoblinZhengzaiService;
import io.swagger.annotations.*; import io.swagger.annotations.*;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.validation.Valid; import javax.validation.Valid;
import java.util.List; import java.util.List;
...@@ -25,6 +27,8 @@ public class GoblinInnerZhengzaiController { ...@@ -25,6 +27,8 @@ public class GoblinInnerZhengzaiController {
@Autowired @Autowired
IGoblinZhengzaiService goblinZhengzaiService; IGoblinZhengzaiService goblinZhengzaiService;
@Autowired
IGoblinInnerService goblinInnerService;
@PostMapping("config/del/noAuth") @PostMapping("config/del/noAuth")
@ApiOperation("活动详情-正在下单-删除商铺spu") @ApiOperation("活动详情-正在下单-删除商铺spu")
...@@ -68,4 +72,28 @@ public class GoblinInnerZhengzaiController { ...@@ -68,4 +72,28 @@ public class GoblinInnerZhengzaiController {
return goblinZhengzaiService.zhengzaiSkuList(selfMarketId, storeId, spuId); return goblinZhengzaiService.zhengzaiSkuList(selfMarketId, storeId, spuId);
} }
@PostMapping("add/temp/coupon")
@ApiOperation("添加活动临时券")
@ApiResponse(code = 200, message = "接口返回对象参数")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", dataType = "File", name = "file", value = "文件", required = true),
@ApiImplicitParam(type = "form", dataType = "String", name = "performanceId", value = "演出id", required = true),
})
public ResponseDto<String> insertCoupon(@RequestParam("file") MultipartFile file,
@RequestParam("performanceId") String performanceId) {
return goblinInnerService.insertCoupon(file, performanceId);
}
@PostMapping("add/temp/coupon")
@ApiOperation("添加活动临时券")
@ApiResponse(code = 200, message = "接口返回对象参数")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", dataType = "String", name = "tag", value = "标签", required = true),
@ApiImplicitParam(type = "form", dataType = "String", name = "performanceId", value = "演出id", required = true),
@ApiImplicitParam(type = "form", dataType = "String", name = "performanceId", value = "演出id", required = true),
})
public ResponseDto<String> zhengzaiStoreDelNoAuth(@RequestParam("file") MultipartFile file,
@RequestParam("performanceId") String performanceId) {
return goblinInnerService.insertCoupon(file, performanceId);
}
} }
package com.liquidnet.service.goblin.service.impl.inner;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.read.listener.PageReadListener;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.ArDataVo;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo;
import com.liquidnet.service.goblin.dto.vo.TempCouponVo;
import com.liquidnet.service.goblin.service.GoblinFrontService;
import com.liquidnet.service.goblin.service.manage.IGoblinInnerService;
import com.liquidnet.service.goblin.util.GoblinRedisUtils;
import com.liquidnet.service.goblin.util.ObjectUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@Slf4j
@Service
public class GoblinInnerServiceImpl implements IGoblinInnerService {
@Autowired
GoblinRedisUtils redisUtils;
@Autowired
GoblinFrontService goblinFrontService;
@Override
public ResponseDto<String> insertCoupon(MultipartFile file, String performanceId) {
try {
EasyExcel.read(file.getInputStream(), TempCouponVo.class, new PageReadListener<TempCouponVo>(dataList -> {
redisUtils.delMarketTempCoupon(performanceId);
for (TempCouponVo data : dataList) {
if (data.getSpuId() == null) {
continue;
}
List<String> spuList = Arrays.asList(data.getSpuId().split(","));
data.setSpuIdList(spuList);
data.setUcouponId(IDGenerator.nextTimeId2());
redisUtils.addMarketTempCoupon(performanceId, data.getUcouponId());
redisUtils.setTempCoupon(data.getUcouponId(), data);
}
})).sheet().doRead();
} catch (Exception e) {
e.printStackTrace();
}
return ResponseDto.success("完成");
}
@Override
public ResponseDto<ArDataVo> getArData(String tag, String performanceId) {
ArDataVo vo = ArDataVo.getNew();
//券
ArrayList<TempCouponVo> tempCouponVos = ObjectUtil.getTempCouponVo();
List<String> ucouponIds = redisUtils.getMarketTempCoupon(performanceId);
for (String ucouponId : ucouponIds) {
TempCouponVo tempCouponVo = redisUtils.getTempCoupon(ucouponId);
tempCouponVos.add(tempCouponVo);
}
vo.setTempCouponVos(tempCouponVos);
//商品
List<GoblinGoodsInfoVo> goodsInfoVos = goblinFrontService.getGoodByMusicTagP(tag, performanceId);
vo.setGoodsInfoVos(goodsInfoVos);
return ResponseDto.success(vo);
}
}
...@@ -1121,7 +1121,6 @@ public class GoblinMongoUtils { ...@@ -1121,7 +1121,6 @@ public class GoblinMongoUtils {
public List<GoblinGoodsInfoVo> getMusicTagPGoods(String musicTag, String performanceId) { public List<GoblinGoodsInfoVo> getMusicTagPGoods(String musicTag, String performanceId) {
return mongoTemplate.find( return mongoTemplate.find(
Query.query(Criteria.where("extagVoList.tagName").is(musicTag) Query.query(Criteria.where("extagVoList.tagName").is(musicTag)
.and("performanceId").is(performanceId)
.and("delFlg").is("0").and("shelvesStatus").is(3)), .and("delFlg").is("0").and("shelvesStatus").is(3)),
GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class,
GoblinGoodsInfoVo.class.getSimpleName() GoblinGoodsInfoVo.class.getSimpleName()
...@@ -1141,9 +1140,9 @@ public class GoblinMongoUtils { ...@@ -1141,9 +1140,9 @@ public class GoblinMongoUtils {
return mongoTemplate.insert(vo, GoblinUserCouponBasicVo.class.getSimpleName()); return mongoTemplate.insert(vo, GoblinUserCouponBasicVo.class.getSimpleName());
} }
public Boolean changeCouponVos(String ucouponId,GoblinUserCouponVo vo) { public Boolean changeCouponVos(String ucouponId, GoblinUserCouponVo vo) {
return mongoTemplate.getCollection(GoblinUserCouponVo.class.getSimpleName()) return mongoTemplate.getCollection(GoblinUserCouponVo.class.getSimpleName())
.updateOne( Query.query(Criteria.where("ucouponId").is(ucouponId)).getQueryObject(), .updateOne(Query.query(Criteria.where("ucouponId").is(ucouponId)).getQueryObject(),
ObjectUtil.cloneBasicDBObject().append("$set", mongoConverter.convertToMongoType(vo)) ObjectUtil.cloneBasicDBObject().append("$set", mongoConverter.convertToMongoType(vo))
).getModifiedCount() > 0; ).getModifiedCount() > 0;
} }
......
...@@ -7,6 +7,7 @@ import com.liquidnet.commons.lang.util.JsonUtils; ...@@ -7,6 +7,7 @@ import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.commons.lang.util.RandomUtil; import com.liquidnet.commons.lang.util.RandomUtil;
import com.liquidnet.service.goblin.constant.GoblinRedisConst; import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.dto.GoblinStoreMarketDto; import com.liquidnet.service.goblin.dto.GoblinStoreMarketDto;
import com.liquidnet.service.goblin.dto.vo.TempCouponVo;
import com.liquidnet.service.goblin.dto.manage.vo.GoblinMgtCategorySpecVo; import com.liquidnet.service.goblin.dto.manage.vo.GoblinMgtCategorySpecVo;
import com.liquidnet.service.goblin.dto.vo.*; import com.liquidnet.service.goblin.dto.vo.*;
import com.liquidnet.service.goblin.entity.GoblinFrontBanner; import com.liquidnet.service.goblin.entity.GoblinFrontBanner;
...@@ -21,6 +22,8 @@ import java.time.LocalDateTime; ...@@ -21,6 +22,8 @@ import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import static com.liquidnet.service.goblin.constant.GoblinRedisConst.REDIS_GOBLIN_TEMP_COUPON_MARKET;
@Component @Component
public class GoblinRedisUtils { public class GoblinRedisUtils {
@Autowired @Autowired
...@@ -1154,4 +1157,44 @@ public class GoblinRedisUtils { ...@@ -1154,4 +1157,44 @@ public class GoblinRedisUtils {
/* ---------------------------------------- ---------------------------------------- */ /* ---------------------------------------- ---------------------------------------- */
public boolean addMarketTempCoupon(String marketId, String ucouponId) {
String redisKey = REDIS_GOBLIN_TEMP_COUPON_MARKET.concat(marketId);
List<String> list = getMarketTempCoupon(marketId);
list.add(ucouponId);
return redisUtil.set(redisKey, list, 60 * 60 * 24 * 60);
}
/* ---------------------------------------- 临时券 ---------------------------------------- */
public void delMarketTempCoupon(String performanceId) {
String redisKey = REDIS_GOBLIN_TEMP_COUPON_MARKET.concat(performanceId);
redisUtil.del(redisKey);
}
public List<String> getMarketTempCoupon(String performanceId) {
String redisKey = REDIS_GOBLIN_TEMP_COUPON_MARKET.concat(performanceId);
Object obj = redisUtil.get(redisKey);
if (obj == null) {
return CollectionUtil.arrayListString();
} else {
return (List<String>) obj;
}
}
public void setTempCoupon(String ucouponId, TempCouponVo vo) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_TEMP_COUPON.concat(ucouponId);
redisUtil.set(redisKey, vo, 60 * 60 * 24 * 60);
}
public TempCouponVo getTempCoupon(String ucouponId) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_TEMP_COUPON.concat(ucouponId);
Object obj = redisUtil.get(redisKey);
if (obj == null) {
return TempCouponVo.getNew();
} else {
return (TempCouponVo) obj;
}
}
/* ---------------------------------------- ---------------------------------------- */
} }
...@@ -78,7 +78,7 @@ public class ObjectUtil { ...@@ -78,7 +78,7 @@ public class ObjectUtil {
private static final ArrayList<BackCouponParam> backCouponParam = new ArrayList<>(); private static final ArrayList<BackCouponParam> backCouponParam = new ArrayList<>();
private static final ArrayList<GoblinMailVo> goblinMailVo = new ArrayList<>(); private static final ArrayList<GoblinMailVo> goblinMailVo = new ArrayList<>();
private static final ArrayList<GoblinPosGoodsVo> goblinPosGoodsVoArrayList = new ArrayList<>(); private static final ArrayList<GoblinPosGoodsVo> goblinPosGoodsVoArrayList = new ArrayList<>();
private static final ArrayList<TempCouponVo> tempCouponVo = new ArrayList<>();
private static final BasicDBObject basicDBObject = new BasicDBObject(); private static final BasicDBObject basicDBObject = new BasicDBObject();
private static final ArrayList<WriteModel<Document>> writeModelDocumentArrayList = new ArrayList<>(); private static final ArrayList<WriteModel<Document>> writeModelDocumentArrayList = new ArrayList<>();
...@@ -103,6 +103,10 @@ public class ObjectUtil { ...@@ -103,6 +103,10 @@ public class ObjectUtil {
return (ArrayList<BackCouponParam>) backCouponParam.clone(); return (ArrayList<BackCouponParam>) backCouponParam.clone();
} }
public static ArrayList<TempCouponVo> getTempCouponVo() {
return (ArrayList<TempCouponVo>) tempCouponVo.clone();
}
public static ArrayList<GoblinGoodsInfoListVo> getGoblinGoodsInfoListVo() { public static ArrayList<GoblinGoodsInfoListVo> getGoblinGoodsInfoListVo() {
return (ArrayList<GoblinGoodsInfoListVo>) goblinGoodsInfoListVo.clone(); return (ArrayList<GoblinGoodsInfoListVo>) goblinGoodsInfoListVo.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