【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测试。