package com.ks.daylucky.service.impl.remote;
|
|
import com.beust.jcommander.ParameterException;
|
import com.ks.daylucky.mapper.ActivityScanRecordMapper;
|
import com.ks.daylucky.pojo.DO.ActivityScanRecord;
|
import com.ks.daylucky.query.ActivityScanQuery;
|
import com.ks.daylucky.service.ActivityScanRecordService;
|
import org.springframework.stereotype.Service;
|
import org.springframework.validation.annotation.Validated;
|
import org.yeshi.utils.TimeUtil;
|
|
import javax.annotation.Resource;
|
import javax.validation.Valid;
|
import java.util.Arrays;
|
import java.util.Date;
|
import java.util.List;
|
|
@Service
|
public class ActivityScanRecordServiceImpl implements ActivityScanRecordService {
|
@Resource
|
private ActivityScanRecordMapper activityScanRecordMapper;
|
|
|
@Validated
|
@Override
|
public void addRecord(@Valid ActivityScanRecord record) throws ParameterException {
|
ActivityScanQuery query = new ActivityScanQuery();
|
query.uid = record.getUid();
|
query.activityId = record.getActivityId();
|
query.count = 1;
|
query.minCreateTime = new Date(TimeUtil.convertToTimeTemp(TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyyMMdd"), "yyyyMMdd"));
|
List<ActivityScanRecord> list = activityScanRecordMapper.list(query);
|
if (list != null && list.size() > 0) {
|
ActivityScanRecord update = new ActivityScanRecord();
|
update.setId(list.get(0).getId());
|
update.setUpdateTime(new Date());
|
activityScanRecordMapper.updateByPrimaryKeySelective(update);
|
} else {
|
record.setCreateTime(new Date());
|
record.setUpdateTime(new Date());
|
activityScanRecordMapper.insertSelective(record);
|
}
|
}
|
|
@Override
|
public List<ActivityScanRecord> getRecordList(Long uid, int page, int pageSize) {
|
ActivityScanQuery query = new ActivityScanQuery();
|
query.uid = uid;
|
query.start = (page - 1) * pageSize;
|
query.count = pageSize;
|
query.sortList = Arrays.asList(new String[]{"update_time desc"});
|
List<ActivityScanRecord> recordList = activityScanRecordMapper.list(query);
|
return recordList;
|
}
|
|
@Override
|
public long countRecord(Long uid) {
|
ActivityScanQuery query = new ActivityScanQuery();
|
query.uid = uid;
|
return activityScanRecordMapper.count(query);
|
}
|
}
|