admin
2020-12-26 b82493b0c083ed6bd5c0013bf21b8cb651a32eec
service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityServiceImpl.java
@@ -1,6 +1,5 @@
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;
@@ -8,6 +7,7 @@
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.mq.LuckyMQFactory;
@@ -16,10 +16,12 @@
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Date;
import java.util.List;
@Service(version = "1.0")
@Service(version = "1.0.0")
public class LuckyActivityServiceImpl implements LuckyActivityService {
    @Resource
@@ -43,9 +45,9 @@
    @Resource
    private LuckyMQService luckyMQService;
    private Long getAppId(String appKey) throws AppException {
        return appManager.getAppId(appKey);
    }
    @Resource
    private LuckyActivityImageService luckyActivityImageService;
    private void notNull(LuckyActivity activity) throws LuckyActivityException {
        if (activity == null) {
@@ -54,17 +56,12 @@
    }
    @Override
    public List<LuckyActivity> getActivityList(String appKey, Long sponsorId, List<Integer> stateList, String key, int page, int pageSize) {
    public List<LuckyActivity> getActivityList(Long appId, Long sponsorId, List<Integer> stateList, String key, int page, int pageSize) {
        ActivityDaoQuery query = new ActivityDaoQuery();
        query.stateList = stateList;
        query.key = key;
        query.sponsorId = sponsorId;
        try {
            query.appId = getAppId(appKey);
        } catch (AppException e) {
            return null;
        }
        query.appId = appId;
        query.start = (page - 1) * pageSize;
        query.count = pageSize;
        query.sort = "start_time desc";
@@ -72,16 +69,13 @@
    }
    @Override
    public long countActivity(String appKey, Long sponsorId, List<Integer> stateList, String key) {
    public long countActivity(Long appId, Long sponsorId, List<Integer> stateList, String key) {
        ActivityDaoQuery query = new ActivityDaoQuery();
        query.stateList = stateList;
        query.key = key;
        query.sponsorId = sponsorId;
        try {
            query.appId = getAppId(appKey);
        } catch (AppException e) {
            return 0L;
        }
        query.appId = appId;
        return luckyActivityMapper.count(query);
    }
@@ -258,11 +252,21 @@
    }
    @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;
        }
        //加载图片信息
        List<LuckyActivityImage> bannerList = luckyActivityImageService.listByActivityId(id, LuckyActivityImage.LuckyImageType.banner);
        activity.setBannerList(bannerList);
        //加载开奖信息
        LuckyActivityOpenInfo openInfo = luckyActivityOpenInfoManager.getOpenInfo(activity.getId());
        activity.setOpenInfo(openInfo);
@@ -274,11 +278,31 @@
        }
        activity.setSponsorInfo(sponsorInfo);
        //加载奖项信息
        List<LuckyActivityAwards> awardsList = luckyActivityAwardManager.getAwardList(activity.getId());
        activity.setAwardsList(awardsList);
        List<LuckyActivityAwards> awardsDetailList = new ArrayList<>();
        if (awardsList != null) {
            for (LuckyActivityAwards awards : awardsList) {
                awards = luckyActivityAwardManager.getAwardDetail(awards.getId());
                if (awards != null) {
                    awardsDetailList.add(awards);
                }
            }
        }
        activity.setAwardsList(awardsDetailList);
        return activity;
    }
    @Override
    public List<LuckyActivity> getActivityDetail(List<Long> ids) {
        List<LuckyActivity> activityList = new ArrayList<>();
        for (Long id : ids) {
            LuckyActivity luckyActivity = getActivityDetail(id);
            activityList.add(luckyActivity);
        }
        return activityList;
    }
    @Override
@@ -294,5 +318,40 @@
        luckyActivityMapper.updateByPrimaryKeySelective(activity);
    }
    @Override
    public List<LuckyActivity> getRecommendActivity(Long appId, String uid, int page, int pageSize) {
        ActivityDaoQuery query = new ActivityDaoQuery();
        query.appId = appId;
        query.start = (page - 1) * pageSize;
        query.count = pageSize;
        query.sort = "actual_start_time desc";
        query.stateList = Arrays.asList(new Integer[]{
                LuckyActivity.STATE_STARTED,
                LuckyActivity.STATE_FINISH,
                LuckyActivity.STATE_PRE_OPENED,
                LuckyActivity.STATE_OPENED,
        });
        return luckyActivityMapper.list(query);
    }
    @Override
    public Long getRecommendActivityCount(Long appId, String uid) {
        ActivityDaoQuery query = new ActivityDaoQuery();
        query.appId = appId;
        query.stateList = Arrays.asList(new Integer[]{
                LuckyActivity.STATE_STARTED,
                LuckyActivity.STATE_FINISH,
                LuckyActivity.STATE_PRE_OPENED,
                LuckyActivity.STATE_OPENED,
        });
        return luckyActivityMapper.count(query);
    }
}