xuhy
2026-04-19 73242feacea752b9efb8f294d3f85da26bcfdb7d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package com.xiaopeng.operation.service.impl;
 
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.xiaopeng.api.model.operation.XpActivity;
import com.xiaopeng.operation.mapper.XpActicityMapper;
import com.xiaopeng.operation.service.IXpActicityService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
 
import java.time.LocalDateTime;
import java.util.List;
import java.util.Random;
 
/**
 * <p>
 * 活动管理 服务实现类
 * </p>
 *
 * @author mitao
 * @since 2026-02-03
 */
@Service
public class XpActicityServiceImpl extends ServiceImpl<XpActicityMapper, XpActivity> implements IXpActicityService {
 
 
 
    @Override
    public List<String> findListToIds(String acticityName){
        LambdaQueryWrapper<XpActivity> query = new LambdaQueryWrapper<>();
        query.select(XpActivity::getId);
        query.eq(XpActivity::getDeleted, 0);
        query.like(XpActivity::getActicityName, acticityName);
        return listObjs(query, Object::toString);
    }
    @Override
    public XpActivity activiting() {
        LambdaQueryWrapper<XpActivity> query = new LambdaQueryWrapper<>();
        LocalDateTime now = LocalDateTime.now();
        query.le(XpActivity::getStartTime, now)
                .ge(XpActivity::getEndTime, now);
        List<XpActivity> list = list(query);
        if(!list.isEmpty()){
            return list.get(new Random().nextInt(list.size()));
        }
        return null;
    }
 
}