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

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

商品列表

parent bc1ce400
...@@ -9,6 +9,8 @@ public class StoneConstant { ...@@ -9,6 +9,8 @@ public class StoneConstant {
public static final String ITEM=CTX.concat("item:"); public static final String ITEM=CTX.concat("item:");
//logsList 积分日志列表 //logsList 积分日志列表
public static final String LOGS_LIST=ITEM.concat("logs:list:"); public static final String LOGS_LIST=ITEM.concat("logs:list:");
//orderList 积分订单列表
public static final String ORDER_LIST=ITEM.concat("order:list:");
//剩余库存 //剩余库存
public static final String SURPLUS_GENERAL = "surplusGeneral"; public static final String SURPLUS_GENERAL = "surplusGeneral";
......
...@@ -23,19 +23,19 @@ public class StoneLogsListVo implements Serializable, Cloneable { ...@@ -23,19 +23,19 @@ public class StoneLogsListVo implements Serializable, Cloneable {
/** /**
* 积分物品封面图 * 积分物品封面图
*/ */
@ApiModelProperty(value = "积分物品封面图", example = "http://xxxxx.png") @ApiModelProperty(value = "积分", example = "10")
private Integer score; private Integer score;
/** /**
* 积分物品名称 * 积分物品名称
*/ */
@ApiModelProperty(value = "积分物品名称", example = "测试券") @ApiModelProperty(value = "内容", example = "购买商品")
private String content; private String content;
/** /**
* 目标类型[1-券|1x-商品维度|2x-演出维度] * 目标类型[1-券|1x-商品维度|2x-演出维度]
*/ */
@ApiModelProperty(value = "目标类型[1-券|1x-商品维度|2x-演出维度]", example = "1") @ApiModelProperty(value = "创建时间", example = "2021-12-12 12:00:01")
private String createdAt; private String createdAt;
private static final StoneLogsListVo obj = new StoneLogsListVo(); private static final StoneLogsListVo obj = new StoneLogsListVo();
......
package com.liquidnet.service.stone.vo; package com.liquidnet.service.stone.vo;
import com.liquidnet.commons.lang.util.DateUtil; import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.stone.entity.StoneScoreItems;
import com.liquidnet.service.stone.entity.StoneScoreOrder; import com.liquidnet.service.stone.entity.StoneScoreOrder;
import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
...@@ -9,7 +8,6 @@ import lombok.Data; ...@@ -9,7 +8,6 @@ import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data @Data
@ApiModel @ApiModel
...@@ -54,18 +52,4 @@ public class StoneOrderListVo implements Serializable, Cloneable { ...@@ -54,18 +52,4 @@ public class StoneOrderListVo implements Serializable, Cloneable {
return new StoneOrderListVo(); return new StoneOrderListVo();
} }
} }
public StoneOrderListVo copy(StoneScoreOrder source, String img) {
if (null == source) return this;
this.setOrderId(source.getItemId());
this.setImg(img);
this.setTargetTitle(source.getTargetTitle());
this.setNumber(source.getNumber());
this.setScore(source.getScore().intValue());
this.setPrice(source.getPrice());
this.setStatus(source.getStatus());
this.setOrderCode(source.getOrderCode());
this.setCreatedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(source.getCreatedAt()));
return this;
}
} }
...@@ -5,12 +5,9 @@ import com.liquidnet.commons.lang.util.CurrentUtil; ...@@ -5,12 +5,9 @@ import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.base.UserPathDto; import com.liquidnet.service.base.UserPathDto;
import com.liquidnet.service.stone.entity.StoneScoreItems; import com.liquidnet.service.stone.entity.StoneScoreItems;
import com.liquidnet.service.stone.entity.StoneScoreLogs;
import com.liquidnet.service.stone.service.IStoneScoreOrderService; import com.liquidnet.service.stone.service.IStoneScoreOrderService;
import com.liquidnet.service.stone.util.ObjectUtils; import com.liquidnet.service.stone.util.StoneMongoUtils;
import com.liquidnet.service.stone.util.StoneRedisUtils; import com.liquidnet.service.stone.util.StoneRedisUtils;
import com.liquidnet.service.stone.vo.StoneItemListVo;
import com.liquidnet.service.stone.vo.StoneLogsListVo;
import com.liquidnet.service.stone.vo.StoneOrderListVo; import com.liquidnet.service.stone.vo.StoneOrderListVo;
import com.liquidnet.service.stone.vo.StoneScoreItemVo; import com.liquidnet.service.stone.vo.StoneScoreItemVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -35,6 +32,8 @@ public class StoneScoreOrderServiceImpl implements IStoneScoreOrderService { ...@@ -35,6 +32,8 @@ public class StoneScoreOrderServiceImpl implements IStoneScoreOrderService {
@Autowired @Autowired
StoneRedisUtils stoneRedisUtils; StoneRedisUtils stoneRedisUtils;
@Autowired
StoneMongoUtils stoneMongoUtils;
@Override @Override
public ResponseDto<String> order(String itemId, Integer number) { public ResponseDto<String> order(String itemId, Integer number) {
...@@ -51,7 +50,6 @@ public class StoneScoreOrderServiceImpl implements IStoneScoreOrderService { ...@@ -51,7 +50,6 @@ public class StoneScoreOrderServiceImpl implements IStoneScoreOrderService {
if(vo.getStatus()!=1){ if(vo.getStatus()!=1){
return ResponseDto.failure("该商品不可下单"); return ResponseDto.failure("该商品不可下单");
} }
//获取积分 //获取积分
int needScore = data.getScore().intValue(); int needScore = data.getScore().intValue();
if(stoneRedisUtils.getUserScoreRest(uid)<needScore){ if(stoneRedisUtils.getUserScoreRest(uid)<needScore){
...@@ -62,6 +60,7 @@ public class StoneScoreOrderServiceImpl implements IStoneScoreOrderService { ...@@ -62,6 +60,7 @@ public class StoneScoreOrderServiceImpl implements IStoneScoreOrderService {
if((buyCount+number)>data.getLimitCount() && data.getLimitCount()>0){ if((buyCount+number)>data.getLimitCount() && data.getLimitCount()>0){
return ResponseDto.failure("超出限购数量"); return ResponseDto.failure("超出限购数量");
} }
//增加限购
stoneRedisUtils.addItemLimit(uid,itemId,number); stoneRedisUtils.addItemLimit(uid,itemId,number);
//下单 //下单
return null; return null;
...@@ -69,37 +68,30 @@ public class StoneScoreOrderServiceImpl implements IStoneScoreOrderService { ...@@ -69,37 +68,30 @@ public class StoneScoreOrderServiceImpl implements IStoneScoreOrderService {
@Override @Override
public PageInfo<List<StoneOrderListVo>> orderList(Integer page) { public PageInfo<List<StoneOrderListVo>> orderList(Integer page) {
// String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
// PageInfo<List<StoneOrderListVo>> mPageInfo; PageInfo<List<StoneOrderListVo>> mPageInfo;
// int size = 40; int size = 40;
// if (page == null || page == 1 || page == 0) { if (page == null || page == 1 || page == 0) {
// page = 1; page = 1;
// } }
// List<StoneScoreLogs> voList; List<StoneOrderListVo> voList;
// long count; long count;
// if (page == 1) { if (page == 1) {
// voList = stoneRedisUtils.getLogsList(uid); voList = stoneRedisUtils.getOrderList(uid);
// count = voList.size(); count = voList.size();
// } else { } else {
// HashMap<String, Object> info = stoneMongoUtils.itemListPage(page, size); HashMap<String, Object> info = stoneMongoUtils.orderList(uid,page, size);
// try { try {
// voList = (List<StoneScoreLogs>) info.get("total"); voList = (List<StoneOrderListVo>) info.get("total");
// count = (long) info.get("data"); count = (long) info.get("data");
// } catch (Exception e) { } catch (Exception e) {
// voList = new ArrayList(); voList = new ArrayList();
// count = 0; count = 0;
// } }
// } }
// List<StoneLogsListVo> returnVoList = ObjectUtils.getStoneLogsListVoArrayList(); mPageInfo = new PageInfo(voList);
// for (int i = 0; i < voList.size(); i++) { mPageInfo.setTotal(count);
// StoneScoreLogs vo = voList.get(i); log.info(UserPathDto.setData("积分订单列表", "", voList));
// StoneLogsListVo returnVo = StoneLogsListVo.getNew().copy(vo); return mPageInfo;
// returnVoList.add(returnVo);
// }
// mPageInfo = new PageInfo(returnVoList);
// mPageInfo.setTotal(count);
// log.info(UserPathDto.setData("积分日志列表", "", voList));
// return mPageInfo;
return null;
} }
} }
...@@ -2,12 +2,14 @@ package com.liquidnet.service.stone.util; ...@@ -2,12 +2,14 @@ package com.liquidnet.service.stone.util;
import com.liquidnet.service.stone.vo.StoneItemListVo; import com.liquidnet.service.stone.vo.StoneItemListVo;
import com.liquidnet.service.stone.vo.StoneLogsListVo; import com.liquidnet.service.stone.vo.StoneLogsListVo;
import com.liquidnet.service.stone.vo.StoneOrderListVo;
import java.util.ArrayList; import java.util.ArrayList;
public class ObjectUtils { public class ObjectUtils {
private static final ArrayList<StoneItemListVo> stoneItemListVoArrayList = new ArrayList<>(); private static final ArrayList<StoneItemListVo> stoneItemListVoArrayList = new ArrayList<>();
private static final ArrayList<StoneLogsListVo> stoneLogsListVoArrayList = new ArrayList<>(); private static final ArrayList<StoneLogsListVo> stoneLogsListVoArrayList = new ArrayList<>();
private static final ArrayList<StoneOrderListVo> stoneOrderListVoArrayList = new ArrayList<>();
public static ArrayList<StoneItemListVo> getStoneItemListVoArrayList() { public static ArrayList<StoneItemListVo> getStoneItemListVoArrayList() {
return (ArrayList<StoneItemListVo>) stoneItemListVoArrayList.clone(); return (ArrayList<StoneItemListVo>) stoneItemListVoArrayList.clone();
...@@ -17,4 +19,8 @@ public class ObjectUtils { ...@@ -17,4 +19,8 @@ public class ObjectUtils {
return (ArrayList<StoneLogsListVo>) stoneLogsListVoArrayList.clone(); return (ArrayList<StoneLogsListVo>) stoneLogsListVoArrayList.clone();
} }
public static ArrayList<StoneOrderListVo> getStoneOrderListVoArrayList(){
return (ArrayList<StoneOrderListVo>) stoneOrderListVoArrayList.clone();
}
} }
...@@ -4,6 +4,8 @@ import com.liquidnet.commons.lang.util.CollectionUtil; ...@@ -4,6 +4,8 @@ import com.liquidnet.commons.lang.util.CollectionUtil;
import com.liquidnet.commons.lang.util.JsonUtils; import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.stone.entity.StoneScoreItems; import com.liquidnet.service.stone.entity.StoneScoreItems;
import com.liquidnet.service.stone.entity.StoneScoreLogs; import com.liquidnet.service.stone.entity.StoneScoreLogs;
import com.liquidnet.service.stone.entity.StoneScoreOrder;
import com.liquidnet.service.stone.vo.StoneOrderListVo;
import com.liquidnet.service.stone.vo.StoneUserVo; import com.liquidnet.service.stone.vo.StoneUserVo;
import com.mongodb.client.result.UpdateResult; import com.mongodb.client.result.UpdateResult;
import org.bson.Document; import org.bson.Document;
...@@ -141,4 +143,27 @@ public class StoneMongoUtils { ...@@ -141,4 +143,27 @@ public class StoneMongoUtils {
return info; return info;
} }
/**
* 获取 用户订单 列表
* @param uid
* @param page
* @param size
* @return
*/
public HashMap<String, Object> orderList(String uid,int page, int size) {
LocalDateTime now = LocalDateTime.now();
HashMap<String, Object> info = CollectionUtil.mapStringObject();
// 排序 分页
Pageable pageable = PageRequest.of(page - 1, size, Sort.by(Sort.Direction.DESC, "createdAt"));
//条件
Query query = Query.query(Criteria.where("uid").is(uid));
// 查询总数
long count = mongoTemplate.count(query, StoneOrderListVo.class, StoneOrderListVo.class.getSimpleName());
query.with(pageable);
List<StoneOrderListVo> voList = mongoTemplate.find(query, StoneOrderListVo.class, StoneOrderListVo.class.getSimpleName());
info.put("total", count);
info.put("data", voList);
return info;
}
} }
...@@ -4,6 +4,8 @@ import com.liquidnet.common.cache.redis.util.RedisUtil; ...@@ -4,6 +4,8 @@ import com.liquidnet.common.cache.redis.util.RedisUtil;
import com.liquidnet.service.stone.constant.StoneConstant; import com.liquidnet.service.stone.constant.StoneConstant;
import com.liquidnet.service.stone.entity.StoneScoreItems; import com.liquidnet.service.stone.entity.StoneScoreItems;
import com.liquidnet.service.stone.entity.StoneScoreLogs; import com.liquidnet.service.stone.entity.StoneScoreLogs;
import com.liquidnet.service.stone.entity.StoneScoreOrder;
import com.liquidnet.service.stone.vo.StoneOrderListVo;
import com.liquidnet.service.stone.vo.StoneUserVo; import com.liquidnet.service.stone.vo.StoneUserVo;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
...@@ -258,4 +260,17 @@ public class StoneRedisUtils { ...@@ -258,4 +260,17 @@ public class StoneRedisUtils {
String redisKey = StoneConstant.ITEM_LIMIT.concat(uid).concat(":" + itemId); String redisKey = StoneConstant.ITEM_LIMIT.concat(uid).concat(":" + itemId);
redisUtil.incr(redisKey, number); redisUtil.incr(redisKey, number);
} }
/**
* 获取 订单 缓存list
*/
public List<StoneOrderListVo> getOrderList(String uid) {
String redisKey = StoneConstant.LOGS_LIST.concat(uid);
Object obj = redisUtil.get(redisKey);
if (obj == null) {
return (List<StoneOrderListVo>) mongoUtils.orderList(uid, 1, 40).get("data");
} else {
return (List<StoneOrderListVo>) obj;
}
}
} }
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