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

Commit 63ad4bac authored by 胡佳晨's avatar 胡佳晨

用户积分相关

parent 47633cd1
...@@ -13,11 +13,11 @@ public class StoneConstant { ...@@ -13,11 +13,11 @@ public class StoneConstant {
public static final String ORDER_LIST=ITEM.concat("order:list:"); public static final String ORDER_LIST=ITEM.concat("order:list:");
//剩余库存 //剩余库存
public static final String SURPLUS_GENERAL = "surplusGeneral"; public static final String SURPLUS_GENERAL = ":surplusGeneral";
//剩余积分 //剩余积分
public static final String SURPLUS_SCORE = "surplusScore"; public static final String SURPLUS_SCORE = ":surplusScore";
//已用积分 //已用积分
public static final String USE_SCORE = "useScore"; public static final String USE_SCORE = ":useScore";
//限购 //限购
public static final String ITEM_LIMIT = ITEM.concat("limit:"); public static final String ITEM_LIMIT = ITEM.concat("limit:");
......
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;
...@@ -8,6 +9,7 @@ import lombok.Data; ...@@ -8,6 +9,7 @@ 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
...@@ -31,9 +33,6 @@ public class StoneOrderListVo implements Serializable, Cloneable { ...@@ -31,9 +33,6 @@ public class StoneOrderListVo implements Serializable, Cloneable {
@ApiModelProperty(value = "支付价格", example = "0.00") @ApiModelProperty(value = "支付价格", example = "0.00")
private BigDecimal price; private BigDecimal price;
/**
* 状态状态[-999-全部|-1-删除|0-未上架|1-已上架|2-定时上架|7-已下架|8-售罄]
*/
@ApiModelProperty(value = "状态状态[-999-全部|-1-删除|0-未上架|1-已上架|2-定时上架|7-已下架|8-售罄]", example = "1") @ApiModelProperty(value = "状态状态[-999-全部|-1-删除|0-未上架|1-已上架|2-定时上架|7-已下架|8-售罄]", example = "1")
private Integer status; private Integer status;
...@@ -52,4 +51,18 @@ public class StoneOrderListVo implements Serializable, Cloneable { ...@@ -52,4 +51,18 @@ 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;
}
} }
...@@ -18,7 +18,7 @@ import lombok.EqualsAndHashCode; ...@@ -18,7 +18,7 @@ import lombok.EqualsAndHashCode;
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = false) @EqualsAndHashCode(callSuper = false)
public class StoneScoreOrder implements Serializable { public class StoneScoreOrder implements Serializable,Cloneable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -127,4 +127,13 @@ public class StoneScoreOrder implements Serializable { ...@@ -127,4 +127,13 @@ public class StoneScoreOrder implements Serializable {
private String comment; private String comment;
private static final StoneScoreOrder obj = new StoneScoreOrder();
public static StoneScoreOrder getNew() {
try {
return (StoneScoreOrder) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new StoneScoreOrder();
}
} }
...@@ -37,7 +37,7 @@ public class StoneUserController { ...@@ -37,7 +37,7 @@ public class StoneUserController {
@ApiOperation("做任务") @ApiOperation("做任务")
@ApiResponse(code = 200, message = "接口返回对象参数") @ApiResponse(code = 200, message = "接口返回对象参数")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "taskId", value = "任务ID[0-每日任务|1-每日任务:购买演出|2-每日任务:购买商品|3-每日任务:划卡|4-一次性任务:关注公众号|5-一次性任务:完善信息|6-一次性任务:完善头像|7-一次性任务:打开消息推送|8-一次性任务:体验在场]", example = ""), @ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "taskId", value = "任务ID[0-每日任务:签到|1-每日任务:购买演出|2-每日任务:购买商品|3-每日任务:划卡|4-一次性任务:关注公众号|5-一次性任务:完善信息|6-一次性任务:完善头像|7-一次性任务:打开消息推送|8-一次性任务:体验在场]", example = ""),
}) })
public ResponseDto<String> doTask(@RequestParam(value = "taskId", required = true) Integer taskId) { public ResponseDto<String> doTask(@RequestParam(value = "taskId", required = true) Integer taskId) {
return stoneScoreLogsService.doTask(taskId); return stoneScoreLogsService.doTask(taskId);
......
...@@ -111,7 +111,7 @@ public class StoneScoreLogsServiceImpl implements IStoneScoreLogsService { ...@@ -111,7 +111,7 @@ public class StoneScoreLogsServiceImpl implements IStoneScoreLogsService {
//redis //redis
stoneRedisUtils.setUserData(uid,vo); stoneRedisUtils.setUserData(uid,vo);
//添加积分 //添加积分
inScore(uid, taskId, taskId, item.getTaskName()); inScore(uid, taskId+1, taskId, item.getTaskName());
isIn = true; isIn = true;
break; break;
} }
......
...@@ -2,21 +2,27 @@ package com.liquidnet.service.stone.service.impl; ...@@ -2,21 +2,27 @@ package com.liquidnet.service.stone.service.impl;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.liquidnet.commons.lang.util.CurrentUtil; import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
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.StoneScoreOrder;
import com.liquidnet.service.stone.service.IStoneScoreOrderService; import com.liquidnet.service.stone.service.IStoneScoreOrderService;
import com.liquidnet.service.stone.util.StoneMongoUtils; 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.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;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
/** /**
* <p> * <p>
...@@ -40,29 +46,58 @@ public class StoneScoreOrderServiceImpl implements IStoneScoreOrderService { ...@@ -40,29 +46,58 @@ public class StoneScoreOrderServiceImpl implements IStoneScoreOrderService {
//判断状态 库存 //判断状态 库存
String uid = CurrentUtil.getCurrentUid(); String uid = CurrentUtil.getCurrentUid();
StoneScoreItems data = stoneRedisUtils.getItemData(itemId); StoneScoreItems data = stoneRedisUtils.getItemData(itemId);
if(data==null){ if (data == null) {
return ResponseDto.failure("参数异常"); return ResponseDto.failure("参数异常");
} }
if(stoneRedisUtils.getStoneGeneralSurplus(itemId)<=0){ if (stoneRedisUtils.getStoneGeneralSurplus(itemId) <= 0) {
return ResponseDto.failure("该商品库存不足"); return ResponseDto.failure("该商品库存不足");
} }
StoneScoreItemVo vo = StoneScoreItemVo.getNew().copy(data); StoneScoreItemVo vo = StoneScoreItemVo.getNew().copy(data);
if(vo.getStatus()!=1){ if (vo.getStatus() != 1) {
return ResponseDto.failure("该商品不可下单"); return ResponseDto.failure("该商品不可下单");
} }
//获取积分 //获取积分
int needScore = data.getScore().intValue(); int needScore = data.getScore().multiply(BigDecimal.valueOf(number)).intValue();
if(stoneRedisUtils.getUserScoreRest(uid)<needScore){ if (stoneRedisUtils.getUserScoreRest(uid) < needScore) {
return ResponseDto.failure("剩余积分不足"); return ResponseDto.failure("剩余积分不足");
} }
//获取限购 //获取限购
int buyCount = stoneRedisUtils.getItemLimit(uid,itemId); int buyCount = stoneRedisUtils.getItemLimit(uid, itemId);
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);
//下单 //下单
StoneScoreOrder order = StoneScoreOrder.getNew();
order.setOrderId(IDGenerator.nextTimeId());
order.setUid(uid);
Map token = CurrentUtil.getTokenClaims();
order.setUserName(StringUtils.defaultString(((String) token.get("nickname"))));
order.setUserMobile(StringUtils.defaultString(((String) token.get("mobile"))));
order.setItemId(itemId);
order.setTargetTitle(data.getTargetTitle());
order.setNumber(number);
order.setOrderCode(IDGenerator.ticketOrderCode(order.getOrderId()));
order.setPrice(BigDecimal.ZERO);
order.setScore(BigDecimal.valueOf(needScore));
order.setPriceExpress(BigDecimal.ZERO);
order.setPriceActual(BigDecimal.ZERO);
order.setPayType("SCORE");
order.setPaymentType("SCORE");
order.setPaymentId("");
order.setTimePay("");
order.setPayCountdownMinute(0);
order.setStatus(1);
order.setPayStatus(1);
order.setCreatedAt(LocalDateTime.now());
//redis
StoneOrderListVo listVo = StoneOrderListVo.getNew().copy(order, data.getImg());
stoneRedisUtils.setOrderDetails(uid, listVo);
stoneRedisUtils.addOrderList(uid, listVo);
//mongo
stoneMongoUtils.orderCreate(listVo);
//TODO mysql
return null; return null;
} }
...@@ -80,7 +115,7 @@ public class StoneScoreOrderServiceImpl implements IStoneScoreOrderService { ...@@ -80,7 +115,7 @@ public class StoneScoreOrderServiceImpl implements IStoneScoreOrderService {
voList = stoneRedisUtils.getOrderList(uid); voList = stoneRedisUtils.getOrderList(uid);
count = voList.size(); count = voList.size();
} else { } else {
HashMap<String, Object> info = stoneMongoUtils.orderList(uid,page, size); HashMap<String, Object> info = stoneMongoUtils.orderList(uid, page, size);
try { try {
voList = (List<StoneOrderListVo>) info.get("total"); voList = (List<StoneOrderListVo>) info.get("total");
count = (long) info.get("data"); count = (long) info.get("data");
......
...@@ -6,6 +6,7 @@ import com.liquidnet.service.adam.dto.vo.AdamUserInfoSimpleVo; ...@@ -6,6 +6,7 @@ import com.liquidnet.service.adam.dto.vo.AdamUserInfoSimpleVo;
import com.liquidnet.service.stone.dto.StoneScoreListDto; import com.liquidnet.service.stone.dto.StoneScoreListDto;
import com.liquidnet.service.stone.service.IStoneScoreUserService; import com.liquidnet.service.stone.service.IStoneScoreUserService;
import com.liquidnet.service.stone.util.InnerUtils; import com.liquidnet.service.stone.util.InnerUtils;
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.StoneTaskVo; import com.liquidnet.service.stone.vo.StoneTaskVo;
import com.liquidnet.service.stone.vo.StoneUserVo; import com.liquidnet.service.stone.vo.StoneUserVo;
...@@ -28,6 +29,8 @@ public class StoneScoreUserServiceImpl implements IStoneScoreUserService { ...@@ -28,6 +29,8 @@ public class StoneScoreUserServiceImpl implements IStoneScoreUserService {
@Autowired @Autowired
StoneRedisUtils redisUtils; StoneRedisUtils redisUtils;
@Autowired
StoneMongoUtils mongoUtils;
@Override @Override
public StoneScoreListDto stoneUserInfo() { public StoneScoreListDto stoneUserInfo() {
...@@ -36,6 +39,16 @@ public class StoneScoreUserServiceImpl implements IStoneScoreUserService { ...@@ -36,6 +39,16 @@ public class StoneScoreUserServiceImpl implements IStoneScoreUserService {
StoneScoreListDto vo = StoneScoreListDto.getNew(); StoneScoreListDto vo = StoneScoreListDto.getNew();
AdamUserInfoSimpleVo userVo = InnerUtils.getUserInfo(); AdamUserInfoSimpleVo userVo = InnerUtils.getUserInfo();
StoneUserVo userTaskVo = redisUtils.getUserData(uid); StoneUserVo userTaskVo = redisUtils.getUserData(uid);
if (userTaskVo == null) {
//TODO mysql 创建用户积分表数据
userTaskVo = StoneUserVo.getNew();
userTaskVo.getTask();
userTaskVo.setUid(uid);
userTaskVo.setStatus(1);
//redis
//mongo
mongoUtils.userCreate(userTaskVo);
}
int rest = redisUtils.getUserScoreRest(uid); int rest = redisUtils.getUserScoreRest(uid);
int use = redisUtils.getUserScoreUse(uid); int use = redisUtils.getUserScoreUse(uid);
vo.setAvatar(userVo.getAvatar()); vo.setAvatar(userVo.getAvatar());
......
...@@ -8,21 +8,24 @@ import com.liquidnet.commons.lang.util.JsonUtils; ...@@ -8,21 +8,24 @@ import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoSimpleVo; import com.liquidnet.service.adam.dto.vo.AdamUserInfoSimpleVo;
import com.liquidnet.service.base.ResponseDto; import com.liquidnet.service.base.ResponseDto;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.util.MultiValueMap; import org.springframework.util.MultiValueMap;
/** /**
* 内部接口调用工具类 * 内部接口调用工具类
*/ */
@Component
public class InnerUtils { public class InnerUtils {
@Value("${liquidnet.service.adam.url}") @Value("${liquidnet.service.adam.url}")
private String adamUrl; private static String adamUrl;
@Value("${liquidnet.service.candy.url}") @Value("${liquidnet.service.candy.url}")
private String candyUrl; private String candyUrl;
public static AdamUserInfoSimpleVo getUserInfo() throws Exception { public static AdamUserInfoSimpleVo getUserInfo() throws Exception {
MultiValueMap<String, String> header = CollectionUtil.linkedMultiValueMapStringString(); MultiValueMap<String, String> header = CollectionUtil.linkedMultiValueMapStringString();
header.add("Accept", "application/json;charset=UTF-8");
header.add("Authorization", "Bearer " + CurrentUtil.getToken()); header.add("Authorization", "Bearer " + CurrentUtil.getToken());
String resultData = HttpUtil.post("/adam/user/gif/mobile", null, header); String resultData = HttpUtil.post("http://devadam.zhengzai.tv"+"/adam/user/gif/mobile", null, header);
ResponseDto<AdamUserInfoSimpleVo> innerReturnVo = JsonUtils.fromJson(resultData, new TypeReference<ResponseDto<AdamUserInfoSimpleVo>>() { ResponseDto<AdamUserInfoSimpleVo> innerReturnVo = JsonUtils.fromJson(resultData, new TypeReference<ResponseDto<AdamUserInfoSimpleVo>>() {
}); });
return innerReturnVo.getData(); return innerReturnVo.getData();
......
...@@ -41,31 +41,6 @@ public class StoneMongoUtils { ...@@ -41,31 +41,6 @@ public class StoneMongoUtils {
StoneScoreItems.class, StoneScoreItems.class.getSimpleName()); StoneScoreItems.class, StoneScoreItems.class.getSimpleName());
} }
// /**
// * 根据积分物品id修改
// *
// * @param data
// * @return
// */
// public Object itemUpdateById(StoneScoreItems data) {
// Query query = Query.query(Criteria.where("itemId").is(data.getItemId()));
// Update update = Update.fromDocument(Document.parse(JsonUtils.toJson(data)));
// UpdateResult result = mongoTemplate.updateFirst(query, update, StoneScoreItems.class, StoneScoreItems.class.getSimpleName());
// return result;
// }
// /**
// * 查询 积分物品 列表
// *
// * @return
// */
// public List<StoneScoreItems> itemList() {
// Query query = Query.query(Criteria.where("status").ne(-1));
// List<StoneScoreItems> voList = mongoTemplate.find(query.with(Sort.by(Sort.Direction.DESC, "createdAt")).limit(40),
// StoneScoreItems.class, StoneScoreItems.class.getSimpleName());
// return voList;
// }
/** /**
* 查询 积分物品 列表分页 * 查询 积分物品 列表分页
* *
...@@ -97,6 +72,18 @@ public class StoneMongoUtils { ...@@ -97,6 +72,18 @@ public class StoneMongoUtils {
return mongoTemplate.insert(data, StoneUserVo.class.getSimpleName()); return mongoTemplate.insert(data, StoneUserVo.class.getSimpleName());
} }
/**
* 获取 用户积分
*
* @param uid
* @return
*/
public StoneUserVo userGet(String uid) {
Query query = Query.query(Criteria.where("uid").is(uid));
StoneUserVo vo = mongoTemplate.findOne(query, StoneUserVo.class,StoneUserVo.class.getSimpleName());
return vo;
}
/** /**
* 根据用户id修改 用户积分 * 根据用户id修改 用户积分
* *
...@@ -143,6 +130,17 @@ public class StoneMongoUtils { ...@@ -143,6 +130,17 @@ public class StoneMongoUtils {
return info; return info;
} }
/**
* 创建 积分订单
*
* @param data
* @return
*/
public Object orderCreate(StoneOrderListVo data) {
return mongoTemplate.insert(data, StoneOrderListVo.class.getSimpleName());
}
/** /**
* 获取 用户订单 列表 * 获取 用户订单 列表
* @param uid * @param uid
......
...@@ -4,7 +4,6 @@ import com.liquidnet.common.cache.redis.util.RedisUtil; ...@@ -4,7 +4,6 @@ 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.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;
...@@ -61,7 +60,7 @@ public class StoneRedisUtils { ...@@ -61,7 +60,7 @@ public class StoneRedisUtils {
* @return * @return
*/ */
public Integer getUserScoreRest(String uid) { public Integer getUserScoreRest(String uid) {
String redisKey = StoneConstant.USE_SCORE.concat(uid).concat(StoneConstant.SURPLUS_SCORE); String redisKey = StoneConstant.USER.concat(uid).concat(StoneConstant.SURPLUS_SCORE);
Object obj = redisUtil.get(redisKey); Object obj = redisUtil.get(redisKey);
if (obj == null) { if (obj == null) {
return 0; return 0;
...@@ -77,7 +76,7 @@ public class StoneRedisUtils { ...@@ -77,7 +76,7 @@ public class StoneRedisUtils {
* @return * @return
*/ */
public Integer getUserScoreUse(String uid) { public Integer getUserScoreUse(String uid) {
String redisKey = StoneConstant.USE_SCORE.concat(uid).concat(StoneConstant.USE_SCORE); String redisKey = StoneConstant.USER.concat(uid).concat(StoneConstant.USE_SCORE);
Object obj = redisUtil.get(redisKey); Object obj = redisUtil.get(redisKey);
if (obj == null) { if (obj == null) {
return 0; return 0;
...@@ -93,7 +92,7 @@ public class StoneRedisUtils { ...@@ -93,7 +92,7 @@ public class StoneRedisUtils {
* @return * @return
*/ */
public Integer changeUserScoreUse(String uid, Integer general) { public Integer changeUserScoreUse(String uid, Integer general) {
String redisKey = StoneConstant.USE_SCORE.concat(uid).concat(StoneConstant.USE_SCORE); String redisKey = StoneConstant.USER.concat(uid).concat(StoneConstant.USE_SCORE);
long result; long result;
if (general > 0) { if (general > 0) {
result = redisUtil.incr(redisKey, general); result = redisUtil.incr(redisKey, general);
...@@ -110,7 +109,7 @@ public class StoneRedisUtils { ...@@ -110,7 +109,7 @@ public class StoneRedisUtils {
* @return * @return
*/ */
public Integer changeUserScoreRest(String uid, Integer general) { public Integer changeUserScoreRest(String uid, Integer general) {
String redisKey = StoneConstant.USE_SCORE.concat(uid).concat(StoneConstant.SURPLUS_SCORE); String redisKey = StoneConstant.USER.concat(uid).concat(StoneConstant.SURPLUS_SCORE);
long result; long result;
if (general > 0) { if (general > 0) {
result = redisUtil.incr(redisKey, general); result = redisUtil.incr(redisKey, general);
...@@ -228,7 +227,7 @@ public class StoneRedisUtils { ...@@ -228,7 +227,7 @@ public class StoneRedisUtils {
String redisKey = StoneConstant.USER.concat(uid); String redisKey = StoneConstant.USER.concat(uid);
Object obj = redisUtil.get(redisKey); Object obj = redisUtil.get(redisKey);
if (obj == null) { if (obj == null) {
return null; return mongoUtils.userGet(uid);
} else { } else {
return (StoneUserVo) obj; return (StoneUserVo) obj;
} }
...@@ -236,6 +235,7 @@ public class StoneRedisUtils { ...@@ -236,6 +235,7 @@ public class StoneRedisUtils {
/** /**
* 获取商品 购买数量 * 获取商品 购买数量
*
* @param uid * @param uid
* @param itemId * @param itemId
* @return * @return
...@@ -252,6 +252,7 @@ public class StoneRedisUtils { ...@@ -252,6 +252,7 @@ public class StoneRedisUtils {
/** /**
* 添加商品 购买数量 * 添加商品 购买数量
*
* @param uid * @param uid
* @param itemId * @param itemId
* @param number * @param number
...@@ -261,6 +262,42 @@ public class StoneRedisUtils { ...@@ -261,6 +262,42 @@ public class StoneRedisUtils {
redisUtil.incr(redisKey, number); redisUtil.incr(redisKey, number);
} }
/**
* 添加 积分订单列表数据
*
* @param uid
* @param data
*/
public void addOrderList(String uid, StoneOrderListVo data) {
String redisKey = StoneConstant.ORDER_LIST.concat(uid);
Object obj = redisUtil.get(redisKey);
List<StoneOrderListVo> dataList;
if (obj == null) {
dataList = (List<StoneOrderListVo>) mongoUtils.orderList(uid, 1, 40).get("data");
} else {
dataList = (List<StoneOrderListVo>) obj;
}
dataList.add(0, data);
if (dataList.size() > 40) {
int size = dataList.size() - 40;
for (int i = 0; i < size; i++) {
dataList.remove(40);
}
}
redisUtil.set(redisKey, dataList);
}
/**
* 覆盖 积分订单数据
*
* @param uid
* @param data
*/
public void setOrderDetails(String uid, StoneOrderListVo data) {
String redisKey = StoneConstant.ORDER_LIST.concat(uid);
redisUtil.set(redisKey, data);
}
/** /**
* 获取 订单 缓存list * 获取 订单 缓存list
*/ */
......
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