luodangjia
2024-12-10 ee7ce5d1cbf80bee0a15c1e5bc5eaa30858d812b
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package com.hollywood.applet.service.impl;
 
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.hollywood.applet.mapper.TPopularActivityUserMapper;
import com.hollywood.applet.service.TPopularActivityService;
import com.hollywood.applet.service.TPopularActivityUserService;
import com.hollywood.applet.service.TUserService;
import com.hollywood.common.basic.ApiResult;
import com.hollywood.common.model.TPopularActivity;
import com.hollywood.common.model.TPopularActivityUser;
import com.hollywood.common.model.TUser;
import com.hollywood.common.wxPay.certificate.model.Data;
import org.springframework.stereotype.Service;
 
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
 
/**
 * <p>
 * 报名活动用户中间表 服务实现类
 * </p>
 *
 * @author xiaochen
 * @since 2024-02-29
 */
@Service
public class TPopularActivityUserServiceImpl extends ServiceImpl<TPopularActivityUserMapper, TPopularActivityUser> implements TPopularActivityUserService {
//    @Resource
//    private TPopularActivityUserService userService;
    @Resource
    private TPopularActivityService activityService;
    @Resource
    private TUserService tUserService;
 
 
    @Override
    public ApiResult join(Long activityId, Long userId) {
        //判断该活动是否必须会员
        TPopularActivity ac = activityService.getById(activityId);
        if (ac.getParticipatingUserType()==2){
            TUser user = tUserService.getById(userId);
            if (user.getVipType()==3){
                return ApiResult.failed("报名失败,当前活动仅限会员参与。");
            }
        }
        //判断是否已经参加活动
        List<TPopularActivityUser> acusers = this.baseMapper.selectList(new QueryWrapper<TPopularActivityUser>().eq("activityId", activityId).eq("userId", userId));
 
        if (!acusers.isEmpty()){
            return ApiResult.failed("报名失败,已报名当前活动,请勿重复报名");
        }
        //报名
        TPopularActivityUser activityUser = new TPopularActivityUser();
        activityUser.setUserId(userId);
        activityUser.setActivityId(activityId);
        activityUser.setApplicationTime(LocalDateTime.now());
        this.baseMapper.insert(activityUser);
        return ApiResult.success();
    }
}