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

Commit e005c4a2 authored by jiangxiulong's avatar jiangxiulong

Merge remote-tracking branch 'origin/dev_stone' into dev_stone

parents 5ddd4334 97c5e1d2
package com.liquidnet.service.stone.service; package com.liquidnet.service.stone.service;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.stone.vo.StoneItemListVo;
import java.util.List;
/** /**
* <p> * <p>
* 积分物品表 服务类 * 积分物品表 服务类
...@@ -11,4 +16,6 @@ package com.liquidnet.service.stone.service; ...@@ -11,4 +16,6 @@ package com.liquidnet.service.stone.service;
*/ */
public interface IStoneScoreItemsService { public interface IStoneScoreItemsService {
PageInfo<List<StoneItemListVo>> itemList(Integer page, Integer size);
} }
package com.liquidnet.service.stone.vo;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.stone.entity.StoneScoreItems;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
@Data
@ApiModel
public class StoneItemListVo implements Serializable, Cloneable {
/**
* id
*/
@ApiModelProperty(value = "id", example = "1")
private String itemId;
/**
* 积分物品封面图
*/
@ApiModelProperty(value = "积分物品封面图", example = "http://xxxxx.png")
private String img;
/**
* 积分物品名称
*/
@ApiModelProperty(value = "积分物品名称", example = "测试券")
private String targetTitle;
/**
* 目标类型[1-券|1x-商品维度|2x-演出维度]
*/
@ApiModelProperty(value = "目标类型[1-券|1x-商品维度|2x-演出维度]", example = "1")
private Integer type;
/**
* 积分
*/
@ApiModelProperty(value = "积分", example = "100.00")
private Integer score;
/**
* 价格
*/
@ApiModelProperty(value = "价格", example = "0.00")
private BigDecimal price;
/**
* 状态状态[-999-全部|-1-删除|0-未上架|1-已上架|2-定时上架|7-已下架|8-售罄]
*/
@ApiModelProperty(value = "状态状态[-999-全部|-1-删除|0-未上架|1-已上架|2-定时上架|7-已下架|8-售罄]", example = "1")
private Integer status;
private static final StoneItemListVo obj = new StoneItemListVo();
public static StoneItemListVo getNew() {
try {
return (StoneItemListVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new StoneItemListVo();
}
}
public StoneItemListVo copy(StoneScoreItems source) {
if (null == source) return this;
this.setItemId(source.getItemId());
this.setImg(source.getImg());
this.setTargetTitle(source.getTargetTitle());
this.setType(source.getType());
this.setScore(source.getScore().intValue());
this.setPrice(source.getPrice());
LocalDateTime now = LocalDateTime.now();
if (source.getStatus() == 2) {
if (now.isAfter(source.getStartTime())) {//未上架
this.setStatus(2);
} else if (now.isBefore(source.getEndTime())) {//已下架
this.setStatus(7);
} else {
this.setStatus(1);//上架中
// if (source.getGeneralSurplus()<=0) {
// this.setStatus(8);//售罄
// } else {
// this.setStatus(1);//上架中
// }
}
}else{
this.setStatus(source.getStatus());
}
return this;
}
}
...@@ -57,7 +57,7 @@ public class ItemServiceImpl implements IItemService { ...@@ -57,7 +57,7 @@ public class ItemServiceImpl implements IItemService {
} else if (status == 7) {//已下架 } else if (status == 7) {//已下架
queryWrapper.eq(StoneScoreItems::getStatus, 7).or().eq(StoneScoreItems::getStatus, 2).lt(StoneScoreItems::getEndTime, now); queryWrapper.eq(StoneScoreItems::getStatus, 7).or().eq(StoneScoreItems::getStatus, 2).lt(StoneScoreItems::getEndTime, now);
} else if (status == 1) { } else if (status == 1) {
queryWrapper.eq(StoneScoreItems::getStatus, 1).or().lt(StoneScoreItems::getStartTime, now).gt(StoneScoreItems::getEndTime, now); queryWrapper.eq(StoneScoreItems::getStatus, 1).or().eq(StoneScoreItems::getStatus, 2).lt(StoneScoreItems::getStartTime, now).gt(StoneScoreItems::getEndTime, now);
} }
} }
} }
...@@ -99,14 +99,14 @@ public class ItemServiceImpl implements IItemService { ...@@ -99,14 +99,14 @@ public class ItemServiceImpl implements IItemService {
data.setStatus(status); data.setStatus(status);
//mysql //mysql
int result = stoneScoreItemsMapper.update(data, Wrappers.lambdaQuery(StoneScoreItems.class).eq(StoneScoreItems::getItemId, itemId)); int result = stoneScoreItemsMapper.update(data, Wrappers.lambdaQuery(StoneScoreItems.class).eq(StoneScoreItems::getItemId, itemId));
StoneScoreItems redisData = redisUtils.getItemData(data.getItemId()); StoneScoreItems redisData = redisUtils.getItemData(itemId);
redisData.setStatus(status); redisData.setStatus(status);
//mongo //mongo
mongoUtils.itemUpdateById(redisData); mongoUtils.itemUpdateById(redisData);
//redis //redis
redisUtils.setItemData(data.getItemId(), redisData); redisUtils.setItemData(itemId, redisData);
//修改 List // //修改 List
redisUtils.updateItemDataList(redisData); // redisUtils.updateItemDataList(redisData);
if (result <= 0) { if (result <= 0) {
return "修改失败"; return "修改失败";
...@@ -143,8 +143,8 @@ public class ItemServiceImpl implements IItemService { ...@@ -143,8 +143,8 @@ public class ItemServiceImpl implements IItemService {
mongoUtils.itemCreate(data); mongoUtils.itemCreate(data);
//redis //redis
redisUtils.setItemData(data.getItemId(), data); redisUtils.setItemData(data.getItemId(), data);
//修改 List // //修改 List
redisUtils.addItemDataList(data); // redisUtils.addItemDataList(data);
if (count <= 0) { if (count <= 0) {
return "创建失败"; return "创建失败";
} }
...@@ -169,8 +169,8 @@ public class ItemServiceImpl implements IItemService { ...@@ -169,8 +169,8 @@ public class ItemServiceImpl implements IItemService {
mongoUtils.itemUpdateById(data); mongoUtils.itemUpdateById(data);
//redis //redis
redisUtils.setItemData(data.getItemId(), data); redisUtils.setItemData(data.getItemId(), data);
//修改 List // //修改 List
redisUtils.updateItemDataList(data); // redisUtils.updateItemDataList(data);
if (count <= 0) { if (count <= 0) {
return "修改失败"; return "修改失败";
} }
......
...@@ -62,17 +62,17 @@ public class StoneMongoUtils { ...@@ -62,17 +62,17 @@ public class StoneMongoUtils {
return result; return result;
} }
/** // /**
* 查询 积分物品 列表 // * 查询 积分物品 列表
* // *
* @return // * @return
*/ // */
public List<StoneScoreItems> itemList() { // public List<StoneScoreItems> itemList() {
Query query = Query.query(Criteria.where("status").ne(-1)); // Query query = Query.query(Criteria.where("status").ne(-1));
List<StoneScoreItems> voList = mongoTemplate.find(query.with(Sort.by(Sort.Direction.DESC, "createdAt")).limit(40), // List<StoneScoreItems> voList = mongoTemplate.find(query.with(Sort.by(Sort.Direction.DESC, "createdAt")).limit(40),
StoneScoreItems.class, StoneScoreItems.class.getSimpleName()); // StoneScoreItems.class, StoneScoreItems.class.getSimpleName());
return voList; // return voList;
} // }
/** /**
* 创建 用户积分 * 创建 用户积分
......
...@@ -81,66 +81,66 @@ public class StoneRedisUtils { ...@@ -81,66 +81,66 @@ public class StoneRedisUtils {
} }
/** // /**
* 修改 积分物品 缓存list // * 修改 积分物品 缓存list
* // *
* @param data // * @param data
*/ // */
public void updateItemDataList(StoneScoreItems data) { // public void updateItemDataList(StoneScoreItems data) {
String redisKey = StoneConstant.ITEM_LIST; // String redisKey = StoneConstant.ITEM_LIST;
Object obj = redisUtil.get(redisKey); // Object obj = redisUtil.get(redisKey);
List<StoneScoreItems> dataList; // List<StoneScoreItems> dataList;
if (obj == null) { // if (obj == null) {
dataList = mongoUtils.itemList(); // dataList = mongoUtils.itemList();
} else { // } else {
dataList = (List<StoneScoreItems>) obj; // dataList = (List<StoneScoreItems>) obj;
} // }
for (int i = 0; i < dataList.size(); i++) { // for (int i = 0; i < dataList.size(); i++) {
StoneScoreItems items = dataList.get(i); // StoneScoreItems items = dataList.get(i);
if (items.getItemId().equals(data.getItemId())) { // if (items.getItemId().equals(data.getItemId())) {
dataList.set(i, items); // dataList.set(i, items);
break; // break;
} // }
} // }
redisUtil.set(redisKey, dataList); // redisUtil.set(redisKey, dataList);
} // }
/** // /**
* 添加 积分物品 缓存list // * 添加 积分物品 缓存list
* // *
* @param data // * @param data
*/ // */
public void addItemDataList(StoneScoreItems data) { // public void addItemDataList(StoneScoreItems data) {
String redisKey = StoneConstant.ITEM_LIST; // String redisKey = StoneConstant.ITEM_LIST;
Object obj = redisUtil.get(redisKey); // Object obj = redisUtil.get(redisKey);
List<StoneScoreItems> dataList; // List<StoneScoreItems> dataList;
if (obj == null) { // if (obj == null) {
dataList = mongoUtils.itemList(); // dataList = mongoUtils.itemList();
} else { // } else {
dataList = (List<StoneScoreItems>) obj; // dataList = (List<StoneScoreItems>) obj;
} // }
dataList.add(0, data); // dataList.add(0, data);
if (dataList.size() > 40) { // if (dataList.size() > 40) {
int size = dataList.size() - 40; // int size = dataList.size() - 40;
for (int i = 0; i < size; i++) { // for (int i = 0; i < size; i++) {
dataList.remove(40); // dataList.remove(40);
} // }
} // }
redisUtil.set(redisKey, dataList); // redisUtil.set(redisKey, dataList);
} // }
/** // /**
* 设置 积分物品 缓存list // * 设置 积分物品 缓存list
*/ // */
public List<StoneScoreItems> getItemDataList() { // public List<StoneScoreItems> getItemDataList() {
String redisKey = StoneConstant.ITEM_LIST; // String redisKey = StoneConstant.ITEM_LIST;
Object obj = redisUtil.get(redisKey); // Object obj = redisUtil.get(redisKey);
if (obj == null) { // if (obj == null) {
return mongoUtils.itemList(); // return mongoUtils.itemList();
} else { // } else {
return (List<StoneScoreItems>) obj; // return (List<StoneScoreItems>) obj;
} // }
} // }
/** /**
* 设置 用户积分 缓存 * 设置 用户积分 缓存
......
...@@ -10,40 +10,41 @@ public class StoneScoreListDto implements Cloneable { ...@@ -10,40 +10,41 @@ public class StoneScoreListDto implements Cloneable {
/** /**
* 昵称 * 昵称
*/ */
// @ApiModelProperty(required = false, value = "昵称", example = "宇航员Marinda")
private String nickName; private String nickName;
/**
* 头像
*/
private String avatar; private String avatar;
/** /**
* 手机号 * 手机号
*/ */
// @ApiModelProperty(required = false, value = "手机号", example = "18505123456")
private String mobile; private String mobile;
/** /**
* 用户id * 用户id
*/ */
// @ApiModelProperty(required = false, value = "用户id", example = "310508344264376327445470")
private String uid; private String uid;
/** /**
* 状态[-999-全部|1-正常|2-冻结] * 状态[-999-全部|1-正常|2-冻结]
*/ */
// @ApiModelProperty(required = false, value = "状态[-999-全部|1-正常|2-冻结]", example = "1")
private Integer status; private Integer status;
/** /**
* 总积分 * 总积分
*/ */
// @ApiModelProperty(required = false, value = "总积分", example = "100.00")
private BigDecimal scoreAll; private BigDecimal scoreAll;
/** /**
* 已用积分 * 已用积分
*/ */
// @ApiModelProperty(required = false, value = "已用积分", example = "50.00")
private BigDecimal scoreUse; private BigDecimal scoreUse;
/** /**
* 剩余积分 * 剩余积分
*/ */
// @ApiModelProperty(required = false, value = "剩余积分", example = "50.00")
private BigDecimal scoreRest; private BigDecimal scoreRest;
/**
* 今日是否签到
*/
private Integer signIn;
private static final StoneScoreListDto obj = new StoneScoreListDto(); private static final StoneScoreListDto obj = new StoneScoreListDto();
public static StoneScoreListDto getNew() { public static StoneScoreListDto getNew() {
try { try {
......
...@@ -18,6 +18,11 @@ public class StoneTaskVo implements Serializable,Cloneable { ...@@ -18,6 +18,11 @@ public class StoneTaskVo implements Serializable,Cloneable {
*/ */
private String taskName; private String taskName;
/**
* 任务Id
*/
private Integer taskId;
/** /**
* 状态[1-每日任务|2-一次性任务] * 状态[1-每日任务|2-一次性任务]
*/ */
...@@ -29,7 +34,7 @@ public class StoneTaskVo implements Serializable,Cloneable { ...@@ -29,7 +34,7 @@ public class StoneTaskVo implements Serializable,Cloneable {
private Integer taskCount; private Integer taskCount;
/** /**
* 完成日期 2021-12-01 12:00:02 * 完成日期 2021-12-01
*/ */
private String taskTime; private String taskTime;
......
...@@ -43,7 +43,7 @@ public class StoneUserVo implements Serializable, Cloneable { ...@@ -43,7 +43,7 @@ public class StoneUserVo implements Serializable, Cloneable {
private List<StoneTaskVo> task; private List<StoneTaskVo> task;
public List<StoneTaskVo> getTask() { public List<StoneTaskVo> getTask() {
if(task==null){ if (task == null) {
return initTask(); return initTask();
} }
return task; return task;
...@@ -57,6 +57,7 @@ public class StoneUserVo implements Serializable, Cloneable { ...@@ -57,6 +57,7 @@ public class StoneUserVo implements Serializable, Cloneable {
for (int i = 0; i < taskName.length; i++) { for (int i = 0; i < taskName.length; i++) {
StoneTaskVo vo = StoneTaskVo.getNew(); StoneTaskVo vo = StoneTaskVo.getNew();
vo.setTaskName(taskName[i]); vo.setTaskName(taskName[i]);
vo.setTaskId(i);
if (i > 3) { if (i > 3) {
vo.setTaskType(2); vo.setTaskType(2);
} else { } else {
......
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
<module>liquidnet-service-dragon-do</module> <module>liquidnet-service-dragon-do</module>
<module>liquidnet-service-sweet-do</module> <module>liquidnet-service-sweet-do</module>
<module>liquidnet-service-candy-do</module> <module>liquidnet-service-candy-do</module>
<module>liquidnet-service-stone-do</module>
</modules> </modules>
<dependencies> <dependencies>
......
package com.liquidnet.service.stone.controller;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.stone.service.IStoneScoreItemsService;
import com.liquidnet.service.stone.vo.StoneItemListVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
@Api(tags = "积分-商品相关")
@RestController
@RequestMapping("item")
@Validated
public class StoneItemController {
@Autowired
IStoneScoreItemsService stoneScoreItemsService;
@GetMapping("list")
@ApiOperation("积分商品列表")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<PageInfo<List<StoneItemListVo>>> itemList(@RequestParam("page") @Valid Integer page) {
return ResponseDto.success(stoneScoreItemsService.itemList(page, 40));
}
}
package com.liquidnet.service.stone.controller;
import io.swagger.annotations.Api;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "积分-订单相关")
@RestController
@RequestMapping("order")
@Validated
public class StoneOrderController {
}
package com.liquidnet.service.stone.controller;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.stone.dto.StoneScoreListDto;
import com.liquidnet.service.stone.service.IStoneScoreUserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "积分-用户相关")
@RestController
@RequestMapping("user")
@Validated
public class StoneUserController {
@Autowired
IStoneScoreUserService stoneScoreUserService;
@GetMapping("info")
@ApiOperation("积分商品列表")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<StoneScoreListDto> stoneUserInfo() {
return ResponseDto.success(stoneScoreUserService.stoneUserInfo());
}
}
package com.liquidnet.service.stone.service.impl; package com.liquidnet.service.stone.service.impl;
import com.github.pagehelper.PageInfo;
import com.liquidnet.service.base.UserPathDto;
import com.liquidnet.service.stone.entity.StoneScoreItems;
import com.liquidnet.service.stone.service.IStoneScoreItemsService; import com.liquidnet.service.stone.service.IStoneScoreItemsService;
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.vo.StoneItemListVo;
import io.netty.util.internal.ObjectUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/** /**
* <p> * <p>
...@@ -12,6 +27,43 @@ import org.springframework.stereotype.Service; ...@@ -12,6 +27,43 @@ import org.springframework.stereotype.Service;
* @since 2021-10-19 * @since 2021-10-19
*/ */
@Service @Service
@Slf4j
public class StoneScoreItemsServiceImpl implements IStoneScoreItemsService { public class StoneScoreItemsServiceImpl implements IStoneScoreItemsService {
@Autowired
private StoneRedisUtils redisUtils;
@Autowired
private StoneMongoUtils mongoUtils;
@Override
public PageInfo<List<StoneItemListVo>> itemList(Integer page, Integer size) {
PageInfo<List<StoneItemListVo>> mPageInfo;
size = 40;
if (page == null || page == 1 || page == 0) {
page = 1;
}
List<StoneScoreItems> voList;
HashMap<String, Object> info = mongoUtils.itemListPage(page, size);
try {
voList = (List<StoneScoreItems>) info.get("total");
} catch (Exception e) {
voList = new ArrayList();
}
long count = (long) info.get("data");
List<StoneItemListVo> returnVoList = ObjectUtils.getStoneItemListVoArrayList();
for (int i = 0; i < voList.size(); i++) {
StoneScoreItems vo = voList.get(i);
// vo.setGeneralSurplus(redisUtils.getStoneGeneralSurplus(vo.getItemId()));
StoneItemListVo returnVo = StoneItemListVo.getNew().copy(vo);
returnVoList.add(returnVo);
}
mPageInfo = new PageInfo(returnVoList);
mPageInfo.setTotal(count);
log.info(UserPathDto.setData("积分商品列表", "", voList));
return mPageInfo;
}
} }
package com.liquidnet.service.stone.service.impl; package com.liquidnet.service.stone.service.impl;
import com.liquidnet.commons.lang.util.CurrentUtil; import com.liquidnet.commons.lang.util.CurrentUtil;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.adam.dto.vo.AdamUserInfoSimpleVo; 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.StoneRedisUtils; import com.liquidnet.service.stone.util.StoneRedisUtils;
import com.liquidnet.service.stone.vo.StoneTaskVo;
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.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
/** /**
* <p> * <p>
...@@ -42,6 +45,14 @@ public class StoneScoreUserServiceImpl implements IStoneScoreUserService { ...@@ -42,6 +45,14 @@ public class StoneScoreUserServiceImpl implements IStoneScoreUserService {
vo.setScoreRest(BigDecimal.valueOf(rest)); vo.setScoreRest(BigDecimal.valueOf(rest));
vo.setScoreUse(BigDecimal.valueOf(use)); vo.setScoreUse(BigDecimal.valueOf(use));
vo.setStatus(userTaskVo.getStatus()); vo.setStatus(userTaskVo.getStatus());
vo.setSignIn(0);
for (StoneTaskVo taskVo : userTaskVo.getTask()) {
if (taskVo.getTaskId().equals(0)) {
if (taskVo.getTaskTime().equals(DateUtil.getNowTime(DateUtil.DATE_SMALL_STR))) {
vo.setSignIn(1);
}
}
}
return vo; return vo;
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
......
package com.liquidnet.service.stone.util;
import com.liquidnet.service.stone.vo.StoneItemListVo;
import java.util.ArrayList;
public class ObjectUtils {
private static final ArrayList<StoneItemListVo> stoneItemListVoArrayList = new ArrayList<>();
public static ArrayList<StoneItemListVo> getStoneItemListVoArrayList() {
return (ArrayList<StoneItemListVo>) stoneItemListVoArrayList.clone();
}
}
package com.liquidnet.service.stone.util; package com.liquidnet.service.stone.util;
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.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;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
...@@ -13,6 +16,8 @@ import org.springframework.data.mongodb.core.query.Query; ...@@ -13,6 +16,8 @@ import org.springframework.data.mongodb.core.query.Query;
import org.springframework.data.mongodb.core.query.Update; import org.springframework.data.mongodb.core.query.Update;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.time.LocalDateTime;
import java.util.HashMap;
import java.util.List; import java.util.List;
@Component @Component
...@@ -21,16 +26,6 @@ public class StoneMongoUtils { ...@@ -21,16 +26,6 @@ public class StoneMongoUtils {
@Autowired @Autowired
private MongoTemplate mongoTemplate; private MongoTemplate mongoTemplate;
/**
* 创建 积分物品
*
* @param data
* @return
*/
public Object itemCreate(StoneScoreItems data) {
return mongoTemplate.insert(data, StoneScoreItems.class.getSimpleName());
}
/** /**
* 获取 积分物品 * 获取 积分物品
* *
...@@ -56,16 +51,37 @@ public class StoneMongoUtils { ...@@ -56,16 +51,37 @@ public class StoneMongoUtils {
return result; 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;
// }
/** /**
* 查询 积分物品 列表 * 查询 积分物品 列表分页
* *
* @return * @return
*/ */
public List<StoneScoreItems> itemList() { public HashMap<String, Object> itemListPage(int page, int size) {
Query query = Query.query(Criteria.where("status").ne(-1)); LocalDateTime now = LocalDateTime.now();
List<StoneScoreItems> voList = mongoTemplate.find(query.with(Sort.by(Sort.Direction.DESC, "createdAt")).limit(40), HashMap<String, Object> info = CollectionUtil.mapStringObject();
StoneScoreItems.class, StoneScoreItems.class.getSimpleName()); // 排序 分页
return voList; Pageable pageable = PageRequest.of(page - 1, size, Sort.by(Sort.Direction.DESC, "createdAt"));
//条件
Query query = Query.query(Criteria.where("status").is(1).orOperator(Criteria.where("status").is(2).and("startTime").lt(now).and("endTime").gt(now)));
// 查询总数
long count = mongoTemplate.count(query, StoneScoreItems.class, StoneScoreItems.class.getSimpleName());
query.with(pageable);
List<StoneScoreItems> voList = mongoTemplate.find(query, StoneScoreItems.class, StoneScoreItems.class.getSimpleName());
info.put("total", count);
info.put("data", voList);
return info;
} }
/** /**
......
...@@ -110,66 +110,66 @@ public class StoneRedisUtils { ...@@ -110,66 +110,66 @@ public class StoneRedisUtils {
} }
/** // /**
* 修改 积分物品 缓存list // * 修改 积分物品 缓存list
* // *
* @param data // * @param data
*/ // */
public void updateItemDataList(StoneScoreItems data) { // public void updateItemDataList(StoneScoreItems data) {
String redisKey = StoneConstant.ITEM_LIST; // String redisKey = StoneConstant.ITEM_LIST;
Object obj = redisUtil.get(redisKey); // Object obj = redisUtil.get(redisKey);
List<StoneScoreItems> dataList; // List<StoneScoreItems> dataList;
if (obj == null) { // if (obj == null) {
dataList = mongoUtils.itemList(); // dataList = mongoUtils.itemList();
} else { // } else {
dataList = (List<StoneScoreItems>) obj; // dataList = (List<StoneScoreItems>) obj;
} // }
for (int i = 0; i < dataList.size(); i++) { // for (int i = 0; i < dataList.size(); i++) {
StoneScoreItems items = dataList.get(i); // StoneScoreItems items = dataList.get(i);
if (items.getItemId().equals(data.getItemId())) { // if (items.getItemId().equals(data.getItemId())) {
dataList.set(i, items); // dataList.set(i, items);
break; // break;
} // }
} // }
redisUtil.set(redisKey, dataList); // redisUtil.set(redisKey, dataList);
} // }
/** // /**
* 添加 积分物品 缓存list // * 添加 积分物品 缓存list
* // *
* @param data // * @param data
*/ // */
public void addItemDataList(StoneScoreItems data) { // public void addItemDataList(StoneScoreItems data) {
String redisKey = StoneConstant.ITEM_LIST; // String redisKey = StoneConstant.ITEM_LIST;
Object obj = redisUtil.get(redisKey); // Object obj = redisUtil.get(redisKey);
List<StoneScoreItems> dataList; // List<StoneScoreItems> dataList;
if (obj == null) { // if (obj == null) {
dataList = mongoUtils.itemList(); // dataList = mongoUtils.itemList();
} else { // } else {
dataList = (List<StoneScoreItems>) obj; // dataList = (List<StoneScoreItems>) obj;
} // }
dataList.add(0, data); // dataList.add(0, data);
if (dataList.size() > 40) { // if (dataList.size() > 40) {
int size = dataList.size() - 40; // int size = dataList.size() - 40;
for (int i = 0; i < size; i++) { // for (int i = 0; i < size; i++) {
dataList.remove(40); // dataList.remove(40);
} // }
} // }
redisUtil.set(redisKey, dataList); // redisUtil.set(redisKey, dataList);
} // }
/** // /**
* 设置 积分物品 缓存list // * 设置 积分物品 缓存list
*/ // */
public List<StoneScoreItems> getItemDataList() { // public List<StoneScoreItems> getItemDataList() {
String redisKey = StoneConstant.ITEM_LIST; // String redisKey = StoneConstant.ITEM_LIST;
Object obj = redisUtil.get(redisKey); // Object obj = redisUtil.get(redisKey);
if (obj == null) { // if (obj == null) {
return mongoUtils.itemList(); // return mongoUtils.itemList();
} else { // } else {
return (List<StoneScoreItems>) obj; // return (List<StoneScoreItems>) obj;
} // }
} // }
/** /**
* 设置 用户积分 缓存 * 设置 用户积分 缓存
......
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent> <parent>
<artifactId>liquidnet-bus-service</artifactId> <artifactId>liquidnet-bus-service</artifactId>
......
...@@ -41,7 +41,6 @@ ...@@ -41,7 +41,6 @@
<module>liquidnet-service-chime</module> <module>liquidnet-service-chime</module>
<module>liquidnet-service-candy</module> <module>liquidnet-service-candy</module>
<module>liquidnet-service-stone</module> <module>liquidnet-service-stone</module>
<module>liquidnet-service-stone</module>
<!-- <module>liquidnet-service-example</module>--> <!-- <module>liquidnet-service-example</module>-->
<!-- <module>liquidnet-service-sequence</module>--> <!-- <module>liquidnet-service-sequence</module>-->
<!-- <module>liquidnet-service-account</module>--> <!-- <module>liquidnet-service-account</module>-->
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
<module>liquidnet-bus-feign</module> <module>liquidnet-bus-feign</module>
<module>liquidnet-bus-service</module> <module>liquidnet-bus-service</module>
<module>liquidnet-bus-support</module> <module>liquidnet-bus-support</module>
<module>liquidnet-bus-do/liquident-service-stone-do</module>
</modules> </modules>
<properties> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
......
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