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

Commit 49eb8a88 authored by 胡佳晨's avatar 胡佳晨

提交部分代码

parent 5352a07d
......@@ -3,11 +3,11 @@ package com.liquidnet.service.goblin.constant;
public class GoblinRedisConst {
public static final String PREFIX = "goblin:";
/* ----------------------------------------------------------------- */
public static String FRONT_BANNER = "front_banner"; //前端banner
public static final String FRONT_BANNER = "front_banner"; //前端banner
/* ----------------------------------------------------------------- */
public static final String REDIS_GOBLIN_SELF_MARKET = PREFIX.concat("self:market:");
/* ----------------------------------------------------------------- */
......
......@@ -23,10 +23,4 @@ public class GoblinStoreZhengzaiParam {
@ApiModelProperty(required = true, value = "活动结束时间", example = "2021-12-12 12:00:00")
private String endTime;
@ApiModelProperty(required = true, value = "是否预热", example = "0")
private Integer isPre;
@ApiModelProperty(required = false, value = "预热时间(不能早于开始时间7天)[开启预热必填]", example = "2021-12-10 12:00:00")
private String preTime;
}
......@@ -65,7 +65,7 @@ public class GoblinStorePurchasingController extends BaseController {
@ApiResponse(code = 200, message = "接口返回对象参数")
@ResponseBody
public ResponseDto<Boolean> purchasingInsert(GoblinStoreZhengzaiParam goblinStoreZhengzaiParam) {
return goblinZhengzaiMarketService.zhengzaiInsert(goblinStoreZhengzaiParam.getName(), goblinStoreZhengzaiParam.getStoreId(), goblinStoreZhengzaiParam.getStartTime(), goblinStoreZhengzaiParam.getEndTime(), goblinStoreZhengzaiParam.getIsPre(), goblinStoreZhengzaiParam.getPreTime());
return goblinZhengzaiMarketService.zhengzaiInsert(goblinStoreZhengzaiParam.getName(), goblinStoreZhengzaiParam.getStartTime(), goblinStoreZhengzaiParam.getEndTime());
}
@PutMapping("zhengzai")
......@@ -73,7 +73,7 @@ public class GoblinStorePurchasingController extends BaseController {
@ApiResponse(code = 200, message = "接口返回对象参数")
@ResponseBody
public ResponseDto<String> purchasingUpdate(GoblinStoreZhengzaiParam goblinStoreZhengzaiParam) {
goblinZhengzaiMarketService.zhengzaiUpdate(goblinStoreZhengzaiParam.getMarketId(), goblinStoreZhengzaiParam.getName(), goblinStoreZhengzaiParam.getStoreId(), goblinStoreZhengzaiParam.getStartTime(), goblinStoreZhengzaiParam.getEndTime(), goblinStoreZhengzaiParam.getIsPre(), goblinStoreZhengzaiParam.getPreTime());
goblinZhengzaiMarketService.zhengzaiUpdate(goblinStoreZhengzaiParam.getMarketId(), goblinStoreZhengzaiParam.getName(), goblinStoreZhengzaiParam.getStartTime(), goblinStoreZhengzaiParam.getEndTime());
return ResponseDto.success();
}
......
......@@ -38,26 +38,20 @@ public interface IGoblinZhengzaiMarketService {
* 添加 正在下单活动
*
* @param purchaseName 秒杀活动名称
* @param storeId 商铺id
* @param st 开始时间
* @param et 结束时间
* @param isPre 是否预热
* @param preTime 预热时间
* @return
*/
ResponseDto<Boolean> zhengzaiInsert(String purchaseName, String storeId, String st, String et, Integer isPre, String preTime);
ResponseDto<Boolean> zhengzaiInsert(String purchaseName, String st, String et);
/**
* @param marketId 活动id
* @param purchaseName 秒杀活动名称
* @param storeId 商铺id
* @param st 开始时间
* @param et 结束时间
* @param isPre 是否预热
* @param preTime 预热时间
* @return
*/
ResponseDto<Boolean> zhengzaiUpdate(String marketId, String purchaseName, String storeId, String st, String et, Integer isPre, String preTime);
ResponseDto<Boolean> zhengzaiUpdate(String marketId, String purchaseName, String st, String et);
/**
* 获取 限时秒杀 详情
......@@ -71,7 +65,7 @@ public interface IGoblinZhengzaiMarketService {
* 获取活动内sku列表
*
* @param marketId 活动秒杀id
* @param storeId 页数
* @param storeId 页数
* @return
*/
ResponseDto<String> zhengzaiSkuList(String marketId, String storeId);//TODO 返回值
......@@ -88,6 +82,7 @@ public interface IGoblinZhengzaiMarketService {
/**
* 添加正在下单 可参与活动店铺
*
* @param marketId
* @param storeId
* @return
......
package com.liquidnet.client.admin.zhengzai.goblin.service.imp;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.liquidnet.client.admin.zhengzai.goblin.service.IGoblinZhengzaiMarketService;
import com.liquidnet.client.admin.zhengzai.goblin.utils.GoblinMongoUtils;
import com.liquidnet.client.admin.zhengzai.goblin.utils.GoblinRedisUtils;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.constant.GoblinStatusConst;
import com.liquidnet.service.goblin.dto.vo.GoblinZhengzaiStoreListVo;
import com.liquidnet.service.goblin.dto.vo.GoblinZhengzaiVo;
import com.liquidnet.service.goblin.entity.GoblinSelfMarketing;
import com.liquidnet.service.goblin.mapper.GoblinSelfMarketingMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
import static com.liquidnet.commons.lang.util.DateUtil.DTF_YMD_HMS;
/**
* 正在下单相关
*/
@Service
public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketService {
@Autowired
GoblinRedisUtils goblinRedisUtils;
@Autowired
GoblinMongoUtils goblinMongoUtils;
@Autowired
GoblinSelfMarketingMapper goblinSelfMarketingMapper;
@Override
public ResponseDto<List<GoblinZhengzaiVo>> zhengzaiList(int page, String purchaseName, int status, String st, String et, String ct) {
......@@ -24,13 +43,37 @@ public class GoblinZhengzaiMarketServiceImpl implements IGoblinZhengzaiMarketSer
}
@Override
public ResponseDto<Boolean> zhengzaiInsert(String purchaseName, String storeId, String st, String et, Integer isPre, String preTime) {
return null;
public ResponseDto<Boolean> zhengzaiInsert(String purchaseName, String st, String et) {
GoblinSelfMarketing selfMarketing = GoblinSelfMarketing.getNew();
String SelfMarketId = IDGenerator.nextTimeId2();
selfMarketing.setSelfMarketId(SelfMarketId);
selfMarketing.setName(purchaseName);
selfMarketing.setType(GoblinStatusConst.MarketingStatus.SELF_TYPE_ZHENGZAI.getValue());
selfMarketing.setStartTime(LocalDateTime.parse(st, DTF_YMD_HMS));
selfMarketing.setEndTime(LocalDateTime.parse(et, DTF_YMD_HMS));
//mysql
goblinSelfMarketingMapper.insert(selfMarketing);
//mongo
goblinMongoUtils.insertSelfMarket(selfMarketing);
//redis
goblinRedisUtils.setSelfMarket(SelfMarketId, selfMarketing);
return ResponseDto.success();
}
@Override
public ResponseDto<Boolean> zhengzaiUpdate(String marketId, String purchaseName, String storeId, String st, String et, Integer isPre, String preTime) {
return null;
public ResponseDto<Boolean> zhengzaiUpdate(String marketId, String purchaseName, String st, String et) {
GoblinSelfMarketing selfMarketing = GoblinSelfMarketing.getNew();
selfMarketing.setName(purchaseName);
selfMarketing.setType(GoblinStatusConst.MarketingStatus.SELF_TYPE_ZHENGZAI.getValue());
selfMarketing.setStartTime(LocalDateTime.parse(st, DTF_YMD_HMS));
selfMarketing.setEndTime(LocalDateTime.parse(et, DTF_YMD_HMS));
//mysql
goblinSelfMarketingMapper.update(selfMarketing, Wrappers.lambdaUpdate(GoblinSelfMarketing.getNew()).eq(GoblinSelfMarketing::getSelfMarketId, marketId));
//mongo
goblinMongoUtils.updateSelfMarket(marketId, selfMarketing);
//redis
goblinRedisUtils.setSelfMarket(marketId, selfMarketing);
return ResponseDto.success();
}
@Override
......
package com.liquidnet.client.admin.zhengzai.goblin.utils;
import com.liquidnet.service.goblin.entity.GoblinSelfMarketing;
import com.mongodb.BasicDBObject;
import com.mongodb.client.result.UpdateResult;
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;
public class GoblinMongoUtils {
@Autowired
MongoTemplate mongoTemplate;
@Autowired
private MongoConverter mongoConverter;
public GoblinSelfMarketing insertSelfMarket(GoblinSelfMarketing data) {
return mongoTemplate.insert(data, GoblinSelfMarketing.class.getSimpleName());
}
public UpdateResult updateSelfMarket(String selfMarketId, GoblinSelfMarketing data) {
BasicDBObject object = GoblinObjectUtils.cloneBasicDBObject().append("$set", mongoConverter.convertToMongoType(data));
return mongoTemplate.getCollection(GoblinSelfMarketing.class.getSimpleName()).updateOne(
Query.query(Criteria.where("selfMarketId").is(selfMarketId)).getQueryObject(),
object);
}
}
package com.liquidnet.client.admin.zhengzai.goblin.utils;
import com.mongodb.BasicDBObject;
public class GoblinObjectUtils {
private static final BasicDBObject basicDBObject = new BasicDBObject();
public static BasicDBObject cloneBasicDBObject() {
return (BasicDBObject) basicDBObject.clone();
}
}
package com.liquidnet.client.admin.zhengzai.goblin.utils;
import com.liquidnet.common.cache.redis.util.RedisDataSourceUtil;
import com.liquidnet.service.goblin.constant.GoblinRedisConst;
import com.liquidnet.service.goblin.entity.GoblinSelfMarketing;
import org.springframework.beans.factory.annotation.Autowired;
public class GoblinRedisUtils {
......@@ -8,5 +10,14 @@ public class GoblinRedisUtils {
@Autowired
RedisDataSourceUtil redisDataSourceUtil;
/**
* 覆盖官方活动
*
* @param selfMarketId
* @param data
*/
public void setSelfMarket(String selfMarketId, GoblinSelfMarketing data) {
String redisKey = GoblinRedisConst.REDIS_GOBLIN_SELF_MARKET.concat(selfMarketId);
redisDataSourceUtil.getRedisGoblinUtil().set(redisKey, data);
}
}
......@@ -2,8 +2,10 @@ package com.liquidnet.service.goblin.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -17,7 +19,7 @@ import lombok.EqualsAndHashCode;
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class GoblinSelfMarketing implements Serializable {
public class GoblinSelfMarketing implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
......@@ -39,6 +41,11 @@ public class GoblinSelfMarketing implements Serializable {
*/
private Integer type;
/**
* 活动状态[-1-全部|0-等待开始|1-活动中|2-活动结束|7-停用]
*/
private Integer status;
/**
* 营销描述
*/
......@@ -65,5 +72,13 @@ public class GoblinSelfMarketing implements Serializable {
private String comment;
private static final GoblinSelfMarketing obj = new GoblinSelfMarketing();
public static GoblinSelfMarketing getNew() {
try {
return (GoblinSelfMarketing) obj.clone();
} catch (CloneNotSupportedException e) {
return new GoblinSelfMarketing();
}
}
}
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