From 7e389247b3b2877c12f1eaae6e33c9c33e91d2dd Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期五, 08 一月 2021 18:41:59 +0800 Subject: [PATCH] 活动添加后台完善 --- service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityServiceImpl.java | 108 ++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 77 insertions(+), 31 deletions(-) diff --git a/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityServiceImpl.java b/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityServiceImpl.java index 2020461..af472fd 100644 --- a/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityServiceImpl.java +++ b/service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityServiceImpl.java @@ -1,15 +1,16 @@ package com.ks.lucky.service.impl.remote; -import com.ks.app.exception.AppException; import com.ks.lib.common.exception.ParamsException; -import com.ks.lucky.exception.LuckyActivityException; -import com.ks.lucky.exception.LuckyMQException; +import com.ks.lucky.exception.*; import com.ks.lucky.mapper.LuckyActivityMapper; import com.ks.lucky.pojo.DO.*; import com.ks.lucky.query.ActivityDaoQuery; import com.ks.lucky.remote.service.LuckyActivityService; +import com.ks.lucky.service.LuckyActivityImageService; import com.ks.lucky.service.LuckyMQService; import com.ks.lucky.service.impl.*; +import com.ks.lucky.util.annotation.RedisCache; +import com.ks.lucky.util.annotation.RedisCacheEvict; import com.ks.lucky.util.mq.LuckyMQFactory; import org.apache.dubbo.config.annotation.Service; import org.springframework.transaction.annotation.Transactional; @@ -21,7 +22,7 @@ import java.util.Date; import java.util.List; -@Service(version = "1.0") +@Service(version = "1.0.0") public class LuckyActivityServiceImpl implements LuckyActivityService { @Resource @@ -45,11 +46,42 @@ @Resource private LuckyMQService luckyMQService; + @Resource + private LuckyActivityImageService luckyActivityImageService; + private void notNull(LuckyActivity activity) throws LuckyActivityException { if (activity == null) { throw new LuckyActivityException(LuckyActivityException.CODE_NOT_EXIST, "娲诲姩涓嶅瓨鍦�"); } + } + + @Validated + @Transactional(rollbackFor = Exception.class) + @Override + public Long addActivity(LuckyActivity activity) throws ParamsException, LuckyActivityException, LuckyActivitySponsorInfoException, LuckyActivityAwardException, LuckyActivityOpenInfoException, LuckySponsorAdException, LuckyActivityAwardMaterialException { + Long activityId = createActivity(activity); + //娣诲姞banner鍥剧墖 + if (activity.getBannerList() != null) { + for (LuckyActivityImage image : activity.getBannerList()) { + image.setActivityId(activityId); + luckyActivityImageService.add(image); + } + } + + //娣诲姞璧炲姪娲诲姩 + activity.getSponsorInfo().setActivityId(activityId); + luckyActivitySponsorInfoManager.addSponsorInfo(activity.getSponsorInfo()); + //娣诲姞濂栭」 + for (LuckyActivityAwards awards : activity.getAwardsList()) { + awards.setActivityId(activityId); + luckyActivityAwardManager.addAward(awards); + } + + //娣诲姞寮�濂栦俊鎭� + activity.getOpenInfo().setActivityId(activityId); + luckyActivityOpenInfoManager.addOpenInfo(activity.getOpenInfo()); + return activityId; } @Override @@ -61,7 +93,23 @@ query.appId = appId; query.start = (page - 1) * pageSize; query.count = pageSize; - query.sort = "start_time desc"; + query.sortList = Arrays.asList(new String[]{"actual_start_time desc"}); + return luckyActivityMapper.list(query); + } + + @Override + public List<LuckyActivity> getActivityList(Long appId, Long sponsorId, List<Integer> stateList, List<Long> excludeActivityIds, String key, int page, int pageSize) { + + + ActivityDaoQuery query = new ActivityDaoQuery(); + query.stateList = stateList; + query.key = key; + query.sponsorId = sponsorId; + query.excludeActivityIds = excludeActivityIds; + query.appId = appId; + query.start = (page - 1) * pageSize; + query.count = pageSize; + query.sortList = Arrays.asList(new String[]{"actual_start_time desc"}); return luckyActivityMapper.list(query); } @@ -72,6 +120,18 @@ query.key = key; query.sponsorId = sponsorId; query.appId = appId; + + return luckyActivityMapper.count(query); + } + + @Override + public long countActivity(Long appId, Long sponsorId, List<Integer> stateList, String key, List<Long> excludeActivityIds) { + ActivityDaoQuery query = new ActivityDaoQuery(); + query.stateList = stateList; + query.key = key; + query.sponsorId = sponsorId; + query.appId = appId; + query.excludeActivityIds = excludeActivityIds; return luckyActivityMapper.count(query); } @@ -129,7 +189,7 @@ //妫�鏌ユ椿鍔ㄧ姸鎬� if (activity.getState() != LuckyActivity.STATE_NOT_PUBLISH) { - throw new LuckyActivityException(1, "娲诲姩宸插彂甯�"); + throw new LuckyActivityException(1, "娲诲姩鏈浜庡鏍告垚鍔熺姸鎬�"); } //妫�鏌ュ紑濂栦俊鎭� LuckyActivityOpenInfo openInfo = luckyActivityOpenInfoManager.getOpenInfo(activity.getId()); @@ -249,34 +309,20 @@ } @Override + public LuckyActivity getActivity(Long id) { + return luckyActivityManager.selectByPrimaryKey(id); + } + + @Override public LuckyActivity getActivityDetail(Long id) { - LuckyActivity activity = luckyActivityMapper.selectByPrimaryKey(id); - if (activity == null) { - return null; - } - //鍔犺浇寮�濂栦俊鎭� - LuckyActivityOpenInfo openInfo = luckyActivityOpenInfoManager.getOpenInfo(activity.getId()); - activity.setOpenInfo(openInfo); - - //鍔犺浇璧炲姪淇℃伅 - LuckyActivitySponsorInfo sponsorInfo = luckyActivitySponsorInfoManager.getSponsorInfo(activity.getId()); - if (sponsorInfo != null) { - sponsorInfo = luckyActivitySponsorInfoManager.getSponsorInfoDetail(sponsorInfo.getId()); - } - activity.setSponsorInfo(sponsorInfo); - - //鍔犺浇濂栭」淇℃伅 - List<LuckyActivityAwards> awardsList = luckyActivityAwardManager.getAwardList(activity.getId()); - activity.setAwardsList(awardsList); - - return activity; + return luckyActivityManager.getActivityDetail(id); } @Override public List<LuckyActivity> getActivityDetail(List<Long> ids) { List<LuckyActivity> activityList = new ArrayList<>(); for (Long id : ids) { - LuckyActivity luckyActivity = getActivityDetail(id); + LuckyActivity luckyActivity = luckyActivityManager.getActivityDetail(id); activityList.add(luckyActivity); } return activityList; @@ -292,7 +338,7 @@ } activity.setUpdateTime(new Date()); - luckyActivityMapper.updateByPrimaryKeySelective(activity); + luckyActivityManager.updateSelectiveByPrimaryKey(activity); } @Override @@ -301,7 +347,7 @@ query.appId = appId; query.start = (page - 1) * pageSize; query.count = pageSize; - query.sort = "actual_start_time desc"; + query.sortList = Arrays.asList(new String[]{"actual_start_time desc"}); query.stateList = Arrays.asList(new Integer[]{ LuckyActivity.STATE_STARTED, @@ -310,8 +356,8 @@ LuckyActivity.STATE_OPENED, }); - - return luckyActivityMapper.list(query); + List<LuckyActivity> list = luckyActivityMapper.list(query); + return list; } @Override -- Gitblit v1.8.0