| | |
| | | package com.ks.lucky.service.impl; |
| | | |
| | | import com.ks.lucky.dao.LuckyActivityAwardMaterialDao; |
| | | import com.ks.lucky.exception.LuckyActivityAwardException; |
| | | import com.ks.lucky.mapper.LuckyActivityAwardsMapper; |
| | | import com.ks.lucky.pojo.DO.LuckyActivityAwardMaterial; |
| | | import com.ks.lucky.pojo.DO.LuckyActivityAwards; |
| | | import com.ks.lucky.query.ActivityAwardQuery; |
| | | 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 org.yeshi.utils.StringUtil; |
| | |
| | | private LuckyActivityAwardsMapper luckyActivityAwardsMapper; |
| | | |
| | | @Resource |
| | | private LuckyActivityAwardMaterialManager luckyActivityAwardMaterialManager; |
| | | private LuckyActivityAwardMaterialDao luckyActivityAwardMaterialDao; |
| | | |
| | | /** |
| | | * 添加奖项 |
| | |
| | | if (award.getCreateTime() == null) { |
| | | award.setCreateTime(new Date()); |
| | | } |
| | | ActivityAwardQuery query = new ActivityAwardQuery(); |
| | | query.activityId = award.getActivityId(); |
| | | query.level = award.getLevel(); |
| | | query.count = 1; |
| | | List<LuckyActivityAwards> list = luckyActivityAwardsMapper.list(query); |
| | | if (list != null && list.size() > 0) { |
| | | throw new LuckyActivityAwardException(LuckyActivityAwardException.CODE_EXIST, "同等级的奖项已经存在"); |
| | | } |
| | | |
| | | luckyActivityAwardsMapper.insertSelective(award); |
| | | } |
| | | |
| | |
| | | * @param award |
| | | * @throws LuckyActivityAwardException |
| | | */ |
| | | public void updateAward(LuckyActivityAwards award) throws LuckyActivityAwardException { |
| | | @RedisCacheEvict(cate = "activity", key = "'activity-detail-'+#activityId") |
| | | @RedisCacheEvict(cate = "activity-awards", key = "'getAwardList-'+#activityId") |
| | | @RedisCacheEvict(cate = "activity-awards", key = "'getAwardDetail-'+#award.id") |
| | | public void updateAward(LuckyActivityAwards award, Long activityId) throws LuckyActivityAwardException { |
| | | if (award.getId() == null) { |
| | | throw new LuckyActivityAwardException(LuckyActivityAwardException.CODE_PARAMS_NOT_ENOUGH, "参数不完整"); |
| | | } |
| | |
| | | * @param activityId |
| | | * @return |
| | | */ |
| | | @RedisCache(cate = "activity-awards", key = "'getAwardList-'+#activityId", second = 3600) |
| | | public List<LuckyActivityAwards> getAwardList(Long activityId) { |
| | | ActivityAwardQuery query = new ActivityAwardQuery(); |
| | | query.activityId = activityId; |
| | |
| | | * @param id |
| | | * @return |
| | | */ |
| | | @RedisCache(cate = "activity-awards", key = "'getAwardDetail-'+#id", second = 3600) |
| | | public LuckyActivityAwards getAwardDetail(Long id) { |
| | | LuckyActivityAwards awards = luckyActivityAwardsMapper.selectByPrimaryKey(id); |
| | | if (!StringUtil.isNullOrEmpty(awards.getMaterialId())) { |
| | | LuckyActivityAwardMaterial material = luckyActivityAwardMaterialManager.getAwardMaterialDetail(awards.getMaterialId()); |
| | | LuckyActivityAwardMaterial material = luckyActivityAwardMaterialDao.get(awards.getMaterialId()); |
| | | if (material != null) { |
| | | awards.setMaterial(material); |
| | | } |
| | |
| | | * @param id |
| | | */ |
| | | |
| | | public void deleteAward(Long id) { |
| | | @RedisCacheEvict(cate = "activity", key = "'activity-detail-'+#activityId") |
| | | @RedisCacheEvict(cate = "activity-awards", key = "'getAwardList-'+#activityId") |
| | | @RedisCacheEvict(cate = "activity-awards", key = "'getAwardDetail-'+#id") |
| | | public void deleteAward(Long id, Long activityId) { |
| | | LuckyActivityAwards awards = getAwardDetail(id); |
| | | if (awards.getMaterial() != null) { |
| | | luckyActivityAwardMaterialManager.deleteAwardMaterial(awards.getMaterial().getId()); |
| | | luckyActivityAwardMaterialDao.delete(awards.getMaterial().getId()); |
| | | } |
| | | luckyActivityAwardsMapper.deleteByPrimaryKey(id); |
| | | } |