暑期项目实训SaaS云服务系统开发—云会议系统—— 7.8VO、工具类编写

7月8日开发日志

编写实体类的VO,用于向前端返回包装好的数据

package com.rjxy.Controller;

import com.rjxy.Entity.Meeting;
import com.rjxy.Entity.MeetingResult;
import com.rjxy.Entity.User;
import com.rjxy.Enum.ErrorEnum;
import com.rjxy.Model.MyHistoryMeetingResultVo;
import com.rjxy.Model.MyMeetingVo;
import com.rjxy.Results.Result;
import com.rjxy.Service.MeetingResultService;
import com.rjxy.Service.MeetingService;
import com.rjxy.Service.UserService;
import com.rjxy.Util.SessionUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.List;

@CrossOrigin
@RestController
@RequestMapping("/manage_meeting")
public class ManageMeetingController {


    @Autowired
    private MeetingResultService meetingResultService;

    @Autowired
    private MeetingService meetingService;

    @Autowired
    private UserService userService;

    @GetMapping("/my_meeting_list")
    public Result<List<MyMeetingVo>> GetMyInstantMeetingList(HttpServletRequest request) {

        User user = SessionUtil.GetUser(request);
        if (user == null || user.getId() == 0) {
            // 返回用户不存在的错误
            return Result.error(ErrorEnum.UserNotExistError);
        }
        List<Meeting> firstResult = meetingService.getMyMeeting(user.getId());
        List<MyMeetingVo> result = new ArrayList<>();
        if (firstResult != null){
            for (Meeting meeting : firstResult) {
                User host_user = userService.getUserById(meeting.getHostId());
                MyMeetingVo aMeeting = new MyMeetingVo();
                aMeeting.setMeeting(meeting, host_user);
                result.add(aMeeting);
            }
        }
        return Result.success(result);
    }

    @GetMapping("/historical_meeting_list")
    public Result<List<MyHistoryMeetingResultVo>> GetHistoricalMeetingList(HttpServletRequest request,
                                                          @RequestParam("start_time") Long startTime,
                                                          @RequestParam("end_time") Long endTime) {
        User user = SessionUtil.GetUser(request);
        if (user == null || user.getId() == 0) {
            return Result.error(ErrorEnum.UserNotExistError);
        }
        List<Meeting> userHistoryMeetingList = meetingService.getUserHistoryMeetingList(user.getId(), startTime, endTime);
        List<MyHistoryMeetingResultVo> result = new ArrayList<>();
        for (Meeting meeting : userHistoryMeetingList) {
            result.add(new MyHistoryMeetingResultVo(meeting.getId(), meeting.getMeetingNumber(), meeting.getTopic(), meeting.getStartTime(), meeting.getEndTime(), meetingResultService.getParticipantsByMeetingId(meeting.getId())));
        }
        return Result.success(result);
    }

    @GetMapping("/meeting_record")
    public Result<MeetingResult> GetMeetingResult(){
        return Result.success(null);
    }


}

编写sessionUtil工具类,用于向前端返回用户session

package com.rjxy.Util;

import com.rjxy.Entity.User;
import com.rjxy.Exception.UserNotExistException;
import com.rjxy.Repository.UserRepository;
import com.rjxy.Service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;


@Component
public class SessionUtil {


    private static UserService userService;

    private static UserRepository userRepository;

    @Autowired
    private void setUserSerService(UserService userService) {
        SessionUtil.userService = userService;
    }

    @Autowired
    private void setUserRepository(UserRepository userRepository) {
        SessionUtil.userRepository = userRepository;
    }

    public static User GetUser(HttpServletRequest request){
        HttpSession session = request.getSession(false);
        if (session == null) {
            return null;
        }
        Object userId = session.getAttribute("user_id");
        if (userId != null) {
            return userService.getUserById((Integer) userId);
        }
        return null;
    }

    public static void setUserId(HttpServletRequest request, Integer userId) throws UserNotExistException {
        if (userId == null ) {
            return;
        }
        System.out.println("这里是:"+userId);
        System.out.println("注入"+userService);
        User user = userService.getUserById(userId);
        if (user == null || user.getId() == 0) {
            throw new UserNotExistException();
        }
        HttpSession session = request.getSession(true);
        session.setAttribute("user_id", userId);
        session.setMaxInactiveInterval(60 * 60 * 12 * 2); // 过期时间为2天
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值