1.任务安排
创建教学活动接下来需要完成的任务是对于确定好的教室进行可选座位管理,因为在某些活动中需要空出某些位置,比如在某次活动中将教室的前三排留给专家使用。
2.任务分析
后端需要向前端提交一个教室布局信息,以便告诉前端管理员哪些是座位哪些是过道,我们用1来表示座位,用0来表示过道,向前端提供教室的行数,列数和01字符串,这样就可以通过这些信息还原出教室的布局信息。然后前端设置某些座位不可使用,并将其编码成新的字符串发送给后端,后端通过字符串的解析获取可选座位管理的信息。
3.具体代码
3.1ActivityMapper
@Select("select room_seats from room where room_name=#{room_name}")
public String find_room_seats_by_room_name(@Param("room_name") String room_name);
@Select("select seat_status from seat where seat_id=#{seat_id}")
public String find_seat_status_by_seat_id(@Param("seat_id") int seat_id);
3.2ActivityService
public RoomLayout find_room_layout_by_room_name(String room_name)
{
Model model=find_model_by_room_name(room_name);
int row=model.getModel_row();
int col=model.getModel_col();
String room_seats=activityMapper.find_room_seats_by_room_name(room_name);
String[] room_seat=room_seats.split(",");
String layout="";
for(int i=0;i<room_seat.length;i++)
{
String status=activityMapper.find_seat_status_by_seat_id(Integer.valueOf(room_seat[i]));
if(status.equals("0"))
{
layout+="0";
}
else
{
layout+="1";
}
}
RoomLayout roomlayout=new RoomLayout(row,col,layout);
return roomlayout;
}
3.3ActivityController
@GetMapping("/find_room_layout_by_room_name")
@ApiOperation(value="查询教室的布局信息")
RoomLayout find_room_layout_by_room_name(@Param("room_name") String room_name)
{
return activityService.find_room_layout_by_room_name(room_name);
}