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

Commit 3751db2a authored by zhengfuxin's avatar zhengfuxin

秒杀上线。

parent 757c4865
......@@ -3,10 +3,12 @@ package com.liquidnet.service.goblin.constant;
public class GoblinRedisConst {
public static final String PREFIX = "goblin:";
/* ----------------------------------------------------------------- */
public static final String FRONT_BANNER = "front_banner"; //前端banner
public static final String FRONT_NAVIGATION = "front_navigation"; //前端banner
public static final String FRONT_HOTWORD = "front_hot_word"; //前端banner
public static final String FRONT_HOTWORD_INDEX = "front_hot_word_index"; //前端banner
public static final String FRONT_BANNER = PREFIX.concat("front_banner"); //前端banner
public static final String FRONT_NAVIGATION = PREFIX.concat("front_navigation"); //前端banner
public static final String FRONT_HOTWORD = PREFIX.concat("front_hot_word"); //前端banner
public static final String FRONT_HOTWORD_INDEX = PREFIX.concat("front_hot_word_index"); //前端banner index
public static final String FRONT_FRONT_SECKILL = PREFIX.concat("front_front_seckill"); //前端 首页秒杀
public static final String FRONT_SECKILL = PREFIX.concat("front_seckill"); //前端 秒杀列表
/* ----------------------------------------------------------------- */
......
......@@ -13,6 +13,7 @@ import com.liquidnet.service.goblin.entity.GoblinSelfMarketing;
import com.liquidnet.service.goblin.entity.GoblinStoreMarketing;
import com.liquidnet.service.goblin.mapper.GoblinSelfMarketingMapper;
import com.liquidnet.service.goblin.mapper.GoblinStoreMarketingMapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -28,6 +29,7 @@ import java.util.List;
* @author liquidnet
* @since 2021-12-29
*/
@Api(tags = "秒杀管理")
@RestController
@RequestMapping("/seckill")
public class GoblinFrontSeckillController extends BaseController {
......
package com.liquidnet.client.admin.zhengzai.goblin.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.goblin.service.IGoblinFrontSeckillService;
import com.liquidnet.common.cache.redis.util.RedisGoblinUtil;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.entity.GoblinFrontSeckill;
import com.liquidnet.service.goblin.mapper.GoblinFrontSeckillMapper;
import com.mongodb.BasicDBObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
......@@ -28,11 +36,16 @@ import java.util.List;
public class GoblinFrontSeckillServiceImpl extends ServiceImpl<GoblinFrontSeckillMapper, GoblinFrontSeckill> implements IGoblinFrontSeckillService {
@Autowired
GoblinFrontSeckillMapper goblinFrontSeckillMapper;
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
private RedisGoblinUtil redisGoblinUtil;
public boolean create(GoblinFrontSeckill goblinFrontSeckill){
goblinFrontSeckill.setCreateTime(LocalDateTime.now());
//设置bannerid
goblinFrontSeckill.setSeckilId(GoblinRedisConst.FRONT_BANNER+ IDGenerator.nextTimeId());
goblinFrontSeckill.setSeckilId(GoblinRedisConst.FRONT_SECKILL+ IDGenerator.nextTimeId());
//增加 banner
goblinFrontSeckillMapper.insert(goblinFrontSeckill);
return true;
......@@ -46,6 +59,12 @@ public class GoblinFrontSeckillServiceImpl extends ServiceImpl<GoblinFrontSeckil
goblinFrontSeckill.setUpdateTime(LocalDateTime.now());
//数据库修改
goblinFrontSeckillMapper.updateById(goblinFrontSeckill);
//修改所有的展示形式
UpdateWrapper updateWrapper = new UpdateWrapper();
updateWrapper.set("activityType", goblinFrontSeckill.getActivityType());
updateWrapper.set("show_type", goblinFrontSeckill.getShowType());
goblinFrontSeckillMapper.update(null,updateWrapper);
return true;
}
public GoblinFrontSeckill getOne(Long id){
......@@ -76,5 +95,49 @@ public class GoblinFrontSeckillServiceImpl extends ServiceImpl<GoblinFrontSeckil
}
return pageInfoTmp;
}
/**
* @author zhangfuxin
* @Description:上线
* @date 2021/12/29 下午4:44
*/
public boolean online(){
//查询
LambdaQueryWrapper<GoblinFrontSeckill> queryWrapper = Wrappers.lambdaQuery(GoblinFrontSeckill.class);
queryWrapper.ne(GoblinFrontSeckill::getDelTag,1);
queryWrapper.orderByAsc(GoblinFrontSeckill::getIndexs);
List<GoblinFrontSeckill> list=goblinFrontSeckillMapper.selectList(queryWrapper);
//mongodb
for(GoblinFrontSeckill goblinFrontSeckill: list){
GoblinFrontSeckill goblinFrontNavigation1=mongoTemplate.findOne(Query.query(Criteria.where("seckilId").is(goblinFrontSeckill.getSeckilId())), GoblinFrontSeckill.class, GoblinFrontSeckill.class.getSimpleName());
if(null==goblinFrontNavigation1){
mongoTemplate.save(goblinFrontSeckill,GoblinFrontSeckill.class.getSimpleName());
}else{
BasicDBObject orderObject = new BasicDBObject("$set", JSON.parse(JsonUtils.toJson(goblinFrontSeckill)));
mongoTemplate.getCollection(GoblinFrontSeckill.class.getSimpleName()).updateOne(
Query.query(Criteria.where("seckilId").is(goblinFrontSeckill.getSeckilId())).getQueryObject(),
orderObject
);
}
}
//redis 根据 秒杀配置, 然后 判断活动是否 有效 然后 拼接 活动
for(GoblinFrontSeckill goblinFrontSeckill:list){
//1、关闭模块2、保留模块
int activityType=goblinFrontSeckill.getActivityType();
//查看是 1、官方营销表2、商铺营销表
int marketType =goblinFrontSeckill.getMarketType();
//找到对应表里的信息
if(marketType==1){
//官方营销表
//找到活动时间
//找到商品
}else if(marketType==2){
//商铺营销表
}
}
//redisGoblinUtil.set(GoblinRedisConst.FRONT_NAVIGATION,list);
return true;
}
}
......@@ -65,8 +65,13 @@ public class GoblinFrontSeckill implements Serializable {
* 排序
*/
private Integer indexs;
/**
* 秒杀id
*/
private String seckilId;
/**
* 1、官方营销表2、商铺营销表
*/
private int marketType;
}
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