package com.ks.lucky.service.remote;
|
|
import com.ks.app.entity.AppInfo;
|
import com.ks.app.exception.AppException;
|
import com.ks.app.service.AppService;
|
import com.ks.lucky.exception.LuckyActivityException;
|
import com.ks.lucky.mapper.LuckyActivityMapper;
|
import com.ks.lucky.pojo.DO.LuckyActivity;
|
import com.ks.lucky.query.ActivityDaoQuery;
|
import com.ks.lucky.remote.service.activity.LuckyActivityService;
|
import org.apache.dubbo.config.annotation.Reference;
|
import org.apache.dubbo.config.annotation.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.validation.annotation.Validated;
|
|
import javax.annotation.Resource;
|
import java.util.List;
|
|
@Service
|
public class LuckyActivityServiceImpl implements LuckyActivityService {
|
|
@Resource
|
private LuckyActivityMapper luckyActivityMapper;
|
|
@Reference(version = "1.0")
|
private AppService appService;
|
|
private Long getAppId(String appKey) throws AppException {
|
AppInfo app = appService.getApp(appKey);
|
if (app == null) {
|
throw new AppException(AppException.CODE_NOT_EXIST, "应用不存在");
|
}
|
return app.getId();
|
}
|
|
@Override
|
public List<LuckyActivity> getActivityList(String appKey, 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.start = (page - 1) * pageSize;
|
query.count = pageSize;
|
query.sort = "start_time desc";
|
return luckyActivityMapper.list(query);
|
}
|
|
@Override
|
public long countActivity(String appKey, 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;
|
}
|
return luckyActivityMapper.count(query);
|
}
|
|
|
@Validated
|
@Override
|
@Transactional(rollbackFor = Exception.class)
|
public void createActivity(LuckyActivity activity) throws LuckyActivityException {
|
|
if (activity.getAwardsList() == null || activity.getAwardsList().size() == 0) {
|
throw new LuckyActivityException(LuckyActivityException.CODE_PARAMS_NOT_ENOUGH, "请设置奖项信息");
|
}
|
|
if (activity.getOpenInfo() == null) {
|
throw new LuckyActivityException(LuckyActivityException.CODE_PARAMS_NOT_ENOUGH, "请设置开奖信息");
|
}
|
if (activity.getSponsorInfo() == null) {
|
throw new LuckyActivityException(LuckyActivityException.CODE_PARAMS_NOT_ENOUGH, "请设置赞助信息");
|
}
|
}
|
|
@Override
|
public void verifyActivity(Long activityId, boolean pass, String remarks) throws LuckyActivityException {
|
|
}
|
|
@Override
|
public LuckyActivity getActivityDetail(Long id) {
|
return null;
|
}
|
|
@Override
|
public void updateActivity(LuckyActivity activity) throws LuckyActivityException {
|
|
}
|
}
|