总结:
前三周已经基本完成了我负责的后端开发,并且部分接口已经和前端同学进行了对接,主要任务难点是创建教室涉及到的对教室表和座位表的的管理。接下来的任务是和前端同学完善,共同完善功能细节。
教室管理
首先是创建教室所需要的参数,封装成一个类,便于接收和操作:
@Data
@AllArgsConstructor
@NoArgsConstructor
@Entity
@ApiModel(description="创建教室所需参数")
public class Roomparamer {
@ApiModelProperty("教室名称")
String room_name;
@ApiModelProperty("教室模板名称")
String model_name;
@ApiModelProperty("该教室的座位信息")
String seatlist;
@ApiModelProperty("教室可用状态")
String room_status;
@ApiModelProperty("教室地址")
String room_site;
@ApiModelProperty("教室经度")
double longitude;
@ApiModelProperty("教室纬度")
double latitude;
}
在创建教室之前,要判断room主键是否已经存在,然后再进行其他操作。
根据seatlist生成相应的seat存储在seat表中,并生成room表中的seat_id串。
//创建教室
@Transactional
public String createroom(Roomparamer params) {
String room_name = params.getRoom_name();
if (roomManageMapper.getroombyname(room_name)!=null){
return "重复fail";
}
String model_name = params.getModel_name();
String seatlist = params.getSeatlist();
String room_status = params.getRoom_status();
String room_site = params.getRoom_site();
double longitude = params.getLongitude();
double latitude = params.getLatitude();
//教室座位布局
String room_seats = "";
String[] seatsorder = seatlist.split("");
int seat_no = 1;
Seat seat = new Seat();
seat.setRoom_name(room_name);
for (int i = 0; i < seatsorder.length; i++) {
if (seatsorder[i].equals("1")) {
seat.setSeat_status(seatsorder[i]);
seat.setSeat_no(seat_no);
roomManageMapper.createseat(seat);
room_seats = room_seats + seat.getSeat_id();
if (i != seatsorder.length - 1) {
room_seats += ",";
}
seat_no++;
} else {
seat.setSeat_status("0");
seat.setSeat_no(0);
roomManageMapper.createseat(seat);
room_seats = room_seats + seat.getSeat_id();
if (i != seatsorder.length - 1) {
room_seats += ",";
}
}
}
if (roomManageMapper.createroom(room_name,model_name,room_seats,room_status,room_site,longitude,latitude)==1){
return "success";
}
else {
return "fail";
}
}