【SaaS云会议系统开发】项目实训——2021.07.08

【SaaS云会议系统开发】我的会议后端编写

经过昨天的讨论后,已经对于接口文档进行了确定。可以对Controller层进行编写了。

1.编写Model层

根据接口文档,进行MyMeetingVo类的编写;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class MyMeetingVo {
    @JsonProperty("meeting_id")
    private Integer meetingId;

    @JsonProperty("meeting_number")
    private Integer meetingNumber;

    @JsonProperty("type")
    private Integer type;

    @JsonProperty("host_id")
    private Integer hostId;

    @JsonProperty("hostname")
    private String hostName;

    @JsonProperty("topic")
    private String topic;

    @JsonProperty("start_time")
    private String startTime;

    @JsonProperty("end_time")
    private String endTime;

    @JsonProperty("participants")
    private List<MeetingUser> participants;
}

主要包括查看我的会议列表需要展现的元素:
会议ID、会议类型、会议主题、会议发起人、会议开始结束时间、参会人列表等……

2.编写Controller层

在ManageMeetingController类中编写获取我的会议列表的相关服务;

import com.rjxy.Entity.Meeting;
import com.rjxy.Entity.MeetingResult;
import com.rjxy.Entity.User;
import com.rjxy.Enum.ErrorEnum;
import com.rjxy.Model.MeetingUser;
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;
import java.util.Set;

@CrossOrigin
@RestController
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);//获取Session信息
        if (user == null || user.getId() == 0) {
            // 返回用户未登录状态
            return Result.error(ErrorEnum.SessionNotExistError);
        }
        List<Meeting> meetingList = meetingService.getMeetingByUserId(user.getId());
        List<MyMeetingVo> result = new ArrayList<>();
        for (Meeting meeting : meetingList) {
            if (meeting != null) {
                User host = userService.getUserById(meeting.getHostId());
                if (members != null) {
                    List<MeetingUser> participants = new ArrayList<>();
                    for (String member : members) {
                        User participant = userService.getUserById(Integer.parseInt(member));
                        participants.add(new MeetingUser(participant.getId(), participant.getName(), ""));
                        result.add(new MyMeetingVo(meeting.getId(), meeting.getMeetingNumber(), meeting.getType(), host.getId(), host.getName(), meeting.getTopic(), meeting.getStartTime(), meeting.getEndTime(), participants));
                    }
                }
            }
        }
        return Result.success(result);
    }
}

3.总结

Controller层基本编写完成,需要进行debug测试。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值