package com.ks.lucky.service.impl;
|
|
import com.ks.lucky.exception.LuckyActivityOpenInfoException;
|
import com.ks.lucky.mapper.LuckyActivityOpenInfoMapper;
|
import com.ks.lucky.pojo.DO.LuckyActivityOpenInfo;
|
import com.ks.lucky.util.annotation.RedisCache;
|
import com.ks.lucky.util.annotation.RedisCacheEvict;
|
import org.springframework.stereotype.Component;
|
import org.springframework.validation.annotation.Validated;
|
|
import javax.annotation.Resource;
|
import java.util.Date;
|
|
/**
|
* 活动开奖信息管理
|
*/
|
@Component
|
public class LuckyActivityOpenInfoManager {
|
|
@Resource
|
private LuckyActivityOpenInfoMapper luckyActivityOpenInfoMapper;
|
|
|
/**
|
* 添加开奖信息
|
*
|
* @param openInfo
|
* @throws LuckyActivityOpenInfoException
|
*/
|
@Validated
|
public Long addOpenInfo(LuckyActivityOpenInfo openInfo) throws LuckyActivityOpenInfoException {
|
|
if (getOpenInfo(openInfo.getActivityId()) != null) {
|
throw new LuckyActivityOpenInfoException(LuckyActivityOpenInfoException.CODE_EXIST, "开奖信息已存在");
|
}
|
|
if (openInfo.getCreateTime() == null) {
|
openInfo.setCreateTime(new Date());
|
}
|
|
|
luckyActivityOpenInfoMapper.insertSelective(openInfo);
|
return openInfo.getId();
|
}
|
|
|
/**
|
* 修改开奖信息
|
*
|
* @param openInfo
|
* @throws LuckyActivityOpenInfoException
|
*/
|
@RedisCacheEvict(cate = "activity", key = "'activity-detail-'+#activityId")
|
@RedisCacheEvict(cate="activity-openinfo",key = "'getOpenInfo-'+#activityId")
|
@RedisCacheEvict(cate="activity-openinfo",key = "'getOpenInfoDetail-'+#openInfo.id")
|
public void updateOpenInfo(LuckyActivityOpenInfo openInfo,Long activityId) throws LuckyActivityOpenInfoException {
|
openInfo.setUpdateTime(new Date());
|
luckyActivityOpenInfoMapper.updateByPrimaryKeySelective(openInfo);
|
}
|
|
|
/**
|
* 获取开奖信息列表
|
*
|
* @param activityId
|
* @return
|
*/
|
@RedisCache(cate="activity-openinfo",key = "'getOpenInfo-'+#activityId",second = 1800)
|
public LuckyActivityOpenInfo getOpenInfo(Long activityId) {
|
|
|
return luckyActivityOpenInfoMapper.selectByActivityId(activityId);
|
}
|
|
/**
|
* 获取开奖信息详情
|
*
|
* @param id
|
* @return
|
*/
|
@RedisCache(cate="activity-openinfo",key = "'getOpenInfoDetail-'+#id",second = 1800)
|
public LuckyActivityOpenInfo getOpenInfoDetail(Long id) {
|
|
return luckyActivityOpenInfoMapper.selectByPrimaryKey(id);
|
}
|
|
/**
|
* 删除开奖信息
|
*
|
* @param id
|
*/
|
@RedisCacheEvict(cate = "activity", key = "'activity-detail-'+#activityId")
|
@RedisCacheEvict(cate="activity-openinfo",key = "'getOpenInfo-'+#activityId")
|
@RedisCacheEvict(cate="activity-openinfo",key = "'getOpenInfoDetail-'+#id")
|
public void deleteOpenInfo(Long id,Long activityId) {
|
luckyActivityOpenInfoMapper.deleteByPrimaryKey(id);
|
}
|
|
|
}
|