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

Commit 3751db2a authored by zhengfuxin's avatar zhengfuxin

秒杀上线。

parent 757c4865
...@@ -3,10 +3,12 @@ package com.liquidnet.service.goblin.constant; ...@@ -3,10 +3,12 @@ package com.liquidnet.service.goblin.constant;
public class GoblinRedisConst { public class GoblinRedisConst {
public static final String PREFIX = "goblin:"; public static final String PREFIX = "goblin:";
/* ----------------------------------------------------------------- */ /* ----------------------------------------------------------------- */
public static final String FRONT_BANNER = "front_banner"; //前端banner public static final String FRONT_BANNER = PREFIX.concat("front_banner"); //前端banner
public static final String FRONT_NAVIGATION = "front_navigation"; //前端banner public static final String FRONT_NAVIGATION = PREFIX.concat("front_navigation"); //前端banner
public static final String FRONT_HOTWORD = "front_hot_word"; //前端banner public static final String FRONT_HOTWORD = PREFIX.concat("front_hot_word"); //前端banner
public static final String FRONT_HOTWORD_INDEX = "front_hot_word_index"; //前端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; ...@@ -13,6 +13,7 @@ import com.liquidnet.service.goblin.entity.GoblinSelfMarketing;
import com.liquidnet.service.goblin.entity.GoblinStoreMarketing; import com.liquidnet.service.goblin.entity.GoblinStoreMarketing;
import com.liquidnet.service.goblin.mapper.GoblinSelfMarketingMapper; import com.liquidnet.service.goblin.mapper.GoblinSelfMarketingMapper;
import com.liquidnet.service.goblin.mapper.GoblinStoreMarketingMapper; import com.liquidnet.service.goblin.mapper.GoblinStoreMarketingMapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -28,6 +29,7 @@ import java.util.List; ...@@ -28,6 +29,7 @@ import java.util.List;
* @author liquidnet * @author liquidnet
* @since 2021-12-29 * @since 2021-12-29
*/ */
@Api(tags = "秒杀管理")
@RestController @RestController
@RequestMapping("/seckill") @RequestMapping("/seckill")
public class GoblinFrontSeckillController extends BaseController { public class GoblinFrontSeckillController extends BaseController {
......
package com.liquidnet.client.admin.zhengzai.goblin.service.impl; 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.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.zhengzai.goblin.service.IGoblinFrontSeckillService; 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.IDGenerator;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.goblin.constant.GoblinRedisConst; import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.entity.GoblinFrontSeckill; import com.liquidnet.service.goblin.entity.GoblinFrontSeckill;
import com.liquidnet.service.goblin.mapper.GoblinFrontSeckillMapper; import com.liquidnet.service.goblin.mapper.GoblinFrontSeckillMapper;
import com.mongodb.BasicDBObject;
import org.springframework.beans.factory.annotation.Autowired; 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 org.springframework.stereotype.Service;
import java.time.LocalDateTime; import java.time.LocalDateTime;
...@@ -28,11 +36,16 @@ import java.util.List; ...@@ -28,11 +36,16 @@ import java.util.List;
public class GoblinFrontSeckillServiceImpl extends ServiceImpl<GoblinFrontSeckillMapper, GoblinFrontSeckill> implements IGoblinFrontSeckillService { public class GoblinFrontSeckillServiceImpl extends ServiceImpl<GoblinFrontSeckillMapper, GoblinFrontSeckill> implements IGoblinFrontSeckillService {
@Autowired @Autowired
GoblinFrontSeckillMapper goblinFrontSeckillMapper; GoblinFrontSeckillMapper goblinFrontSeckillMapper;
@Autowired
private MongoTemplate mongoTemplate;
@Autowired
private RedisGoblinUtil redisGoblinUtil;
public boolean create(GoblinFrontSeckill goblinFrontSeckill){ public boolean create(GoblinFrontSeckill goblinFrontSeckill){
goblinFrontSeckill.setCreateTime(LocalDateTime.now()); goblinFrontSeckill.setCreateTime(LocalDateTime.now());
//设置bannerid //设置bannerid
goblinFrontSeckill.setSeckilId(GoblinRedisConst.FRONT_BANNER+ IDGenerator.nextTimeId()); goblinFrontSeckill.setSeckilId(GoblinRedisConst.FRONT_SECKILL+ IDGenerator.nextTimeId());
//增加 banner //增加 banner
goblinFrontSeckillMapper.insert(goblinFrontSeckill); goblinFrontSeckillMapper.insert(goblinFrontSeckill);
return true; return true;
...@@ -46,6 +59,12 @@ public class GoblinFrontSeckillServiceImpl extends ServiceImpl<GoblinFrontSeckil ...@@ -46,6 +59,12 @@ public class GoblinFrontSeckillServiceImpl extends ServiceImpl<GoblinFrontSeckil
goblinFrontSeckill.setUpdateTime(LocalDateTime.now()); goblinFrontSeckill.setUpdateTime(LocalDateTime.now());
//数据库修改 //数据库修改
goblinFrontSeckillMapper.updateById(goblinFrontSeckill); goblinFrontSeckillMapper.updateById(goblinFrontSeckill);
//修改所有的展示形式
UpdateWrapper updateWrapper = new UpdateWrapper();
updateWrapper.set("activityType", goblinFrontSeckill.getActivityType());
updateWrapper.set("show_type", goblinFrontSeckill.getShowType());
goblinFrontSeckillMapper.update(null,updateWrapper);
return true; return true;
} }
public GoblinFrontSeckill getOne(Long id){ public GoblinFrontSeckill getOne(Long id){
...@@ -76,5 +95,49 @@ public class GoblinFrontSeckillServiceImpl extends ServiceImpl<GoblinFrontSeckil ...@@ -76,5 +95,49 @@ public class GoblinFrontSeckillServiceImpl extends ServiceImpl<GoblinFrontSeckil
} }
return pageInfoTmp; 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 { ...@@ -65,8 +65,13 @@ public class GoblinFrontSeckill implements Serializable {
* 排序 * 排序
*/ */
private Integer indexs; private Integer indexs;
/**
* 秒杀id
*/
private String seckilId; 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