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

Commit ad396abe authored by zhengfuxin's avatar zhengfuxin

定时任务

parent db8a1120
package com.liquidnet.service.platform.controller.goblin;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.platform.service.impl.goblin.SpuGoodsInfoImpl;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 订单 前端控制器
* </p>
*
* @author liquidnet
* @since 2021-05-20
*/
@Api(tags = "商城-spu相关")
@RestController
@RequestMapping("spu/goblin")
@Validated
public class GoblinSpuController {
@Autowired
SpuGoodsInfoImpl spuGoodsInfo;
@PostMapping("setCount")
@ApiOperation("spu数量")
@ApiResponse(code = 200, message = "接口返回对象参数")
public ResponseDto<Boolean> checkOrderTime() {
return ResponseDto.success(spuGoodsInfo.setCount());
}
}
package com.liquidnet.service.platform.service.impl.goblin;
import com.liquidnet.service.goblin.dto.vo.GoblinGoodsInfoVo;
import com.liquidnet.service.platform.utils.GoblinRedisUtils;
import com.liquidnet.service.platform.utils.QueueUtils;
import com.mongodb.BasicDBObject;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* <p>
* 订单 服务实现类
* </p>
*
* @author liquidnet
* @since 2021-05-20
*/
@Service
@Slf4j
public class SpuGoodsInfoImpl {
@Autowired
private GoblinRedisUtils goblinRedisUtils;
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
private MongoConverter mongoConverter;
@Autowired
private QueueUtils queueUtils;
/**
* 设置商品数量
*/
public boolean setCount(){
//mongoTemplate.findOne(Query.query(Criteria.where("spuId").is(spuId).and("delFlg").is("0").and("shelvesStatus").is("3")),
// GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName()); shelvesStatus
List<GoblinGoodsInfoVo> voList = mongoTemplate.find(Query.query(Criteria.where("delFlg").is("0").and("shelvesStatus").is("3")),
GoblinGoodsInfoVo.class, GoblinGoodsInfoVo.class.getSimpleName());
for(GoblinGoodsInfoVo goblinGoodsInfoVo:voList){
//查询数量
Integer counts=goblinRedisUtils.getSpuSaleCount(goblinGoodsInfoVo.getSpuId());
if(counts==null){
goblinGoodsInfoVo.setCount(0);
}else{
goblinGoodsInfoVo.setCount(counts);
}
//修改mongodb
BasicDBObject obj = new BasicDBObject("$set", mongoConverter.convertToMongoType(goblinGoodsInfoVo));
mongoTemplate.getCollection(GoblinGoodsInfoVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("spuId").is(goblinGoodsInfoVo.getSpuId())).getQueryObject(),
obj);
}
log.info("执行完毕");
return true;
}
}
...@@ -42,6 +42,16 @@ public class GoblinRedisUtils { ...@@ -42,6 +42,16 @@ public class GoblinRedisUtils {
return (GoblinOrderSkuVo) obj; return (GoblinOrderSkuVo) obj;
} }
} }
//获取 spu销量
public Integer getSpuSaleCount(String spuId) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_SALE_SPU_COUNT.concat(spuId);
Object obj = getRedis().get(redisKey);
if (obj == null) {
return null;
} else {
return (Integer) obj;
}
}
//获取 未支付的订单redis列表 //获取 未支付的订单redis列表
public List<String> getUnPayGoblinOrderList(String randomKey) { public List<String> getUnPayGoblinOrderList(String randomKey) {
......
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