void Sale_UI_ReturnTicket(int ticket_id) { ticket_t buf,data; if(Ticket_Srv_FetchByID(ticket_id,&buf)) { if(buf.status==1) { printf("此票未售出!回车继续"); getchar(); } else { data.id=buf.id; data.schedule_id=buf.schedule_id; data.seat_id=buf.seat_id; data.price=buf.price; data.status=1; if(Ticket_Srv_Modify(&data)) { printf("退订成功!回车继续"); getchar(); } else { printf("退订失败!回车继续"); getchar(); } } } else { printf("找不到此票!回车继续"); getchar(); } }
void Ticket_UI_Print(int ID){ ticket_t buf; seat_t sed; schedule_t scd; studio_t std; play_t pld; Ticket_Srv_FetchByID(ID,&buf); Seat_Srv_FetchByID(buf.seat_id, &sed); Schedule_Srv_FetchByID(buf.schedule_id, &scd); Studio_Srv_FetchByID(scd.studio_id, &std); Play_Srv_FetchByID( scd.play_id, &pld); char ptype[10]; switch(pld.type){ case PLAY_TYPE_FILE: strcpy(ptype,"电影"); break; case PLAY_TYPE_OPEAR: strcpy(ptype,"戏曲"); break; case PLAY_TYPE_CONCERT: strcpy(ptype,"音乐"); break; } system("clear"); printf("\n\n\n\n"); /* printf("\t\t\t╔================================================================================╗\n"); printf("\t\t\t‖"); printf("%80s‖\n"," "); printf("\t\t\t‖%30s %20s %30s ‖\n"," ","X X 电影院"," "); printf("\t\t\t‖"); printf("%80s‖\n"," "); printf("\t\t\t‖ \t%5s\t%-20s\t %5s\t%3d %3s %3d %3s","影厅:", std.name ,"座位:", sed.row ,"行", sed.column,"列"); printf("\t\t\t\t ‖\n"); printf("\t\t\t‖"); printf("%80s‖\n"," "); printf("\t\t\t‖\t%5s\t%-20s\t%5s\t%5s\t%5s%3d","剧名:", pld.name,"类别:",ptype,"票价:",pld.price); printf("\t\t ‖\n"); printf("\t\t\t‖"); printf("%80s‖\n"," "); printf("\t\t\t‖\t%10s\t%5d-%02d-%02d\t%5s\t%02d:%02d","放映日期:",scd.date.year,scd.date.month,scd.date.day,"时间:" ,scd.time.hour,scd.time.minute); printf("\t\t\t\t ‖\n"); printf("\t\t\t‖"); printf("%80s‖\n"," "); printf("\t\t\t‖\t%25s:%5d ","本票ID(退票时使用)",ID); printf("\t\t\t\t\t\t ‖\n"); printf("\t\t\t‖"); printf("%80s‖\n"," "); printf("\t\t\t‖"); printf("%80s‖\n"," "); printf("\t\t\t╚================================================================================╝\n\n"); */ printf("\t\t\t\t\033[34m☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ ☊ \033[0m\n"); printf("\t\t\t\t\033[36m♫\033[0m \033[36m♫\033[0m\n"); printf("\t\t\t\t\033[31m♫\033[0m\t\t\t\t\033[33m%-24s\033[0m\t\t\033[31m♫\033[0m\n",std.name); printf("\t\t\t\t\033[36m♫\033[0m \033[36m♫\033[0m\n"); printf("\t\t\t\t\033[31m♫\033[0m\t剧目名称: %s\t\t剧目类型: %s\t\t\033[31m♫\033[0m\n",pld.name,ptype); printf("\t\t\t\t\033[36m♫\033[0m \033[36m♫\033[0m\n"); printf("\t\t\t\t\033[31m♫\033[0m\t放映日期: %5d-%02d-%02d\t\t放映时间: %02d:%02d\t\t\033[31m♫\033[0m\n",scd.date.year,scd.date.month,scd.date.day,scd.time.hour,scd.time.minute); printf("\t\t\t\t\033[36m♫\033[0m \033[36m♫\033[0m\n"); printf("\t\t\t\t\033[31m♫\033[0m\t座位: %d 行 %d 列\t\t\t票价: %d\t\t\033[31m♫\033[0m\n",sed.row,sed.column,pld.price); printf("\t\t\t\t\033[36m♫\033[0m \033[36m♫\033[0m\n"); printf("\t\t\t\t\033[31m♫\033[0m\t本票ID (退票时使用) : %d\t\t\t\t\033[31m♫\033[0m\n",ID); printf("\t\t\t\t\033[36m♫\033[0m \033[36m♫\033[0m\n"); printf("\t\t\t\t\033[34m☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ ☋ \033[0m\n\n"); }
inline int Sale_UI_SellTicket(int ticket_id) { ticket_t buf,data; if(Ticket_Srv_FetchByID(ticket_id,&buf)) { if(buf.status==0) { printf("此票已售出!回车继续"); getchar(); } else { data.id=buf.id; data.schedule_id=buf.schedule_id; data.seat_id=buf.seat_id; data.price=buf.price; data.status=0; if(Ticket_Srv_Modify(&data)) { Ticket_Info(&data); printf("订购成功!回车继续"); getchar(); } else { printf("订购失败!回车继续"); getchar(); } } } else { printf("找不到此票!回车继续"); getchar(); } }
//退票 void Sale_UI_ReturnTicket(){ char choice; int id,t=0; while(1){ system("clear"); printf("\n ================================================================="); printf("\n **************************剧目%s的演出计划************************"); printf("\n ================================================================="); printf("\n | 请输入演出计划ID:"); while(1){ if(scanf("%d",&id)==1){ cl_stdin(); break;} else{ cl_stdin();printf("\n **您的输入有误!**");} } ticket_t buf; schedule_t scd; Schedule_Srv_FetchByID(buf.schedule_id, &scd); if( Ticket_Srv_FetchByID(id,&buf) ){ if(buf.status==TICKET_SOLD){ Ticket_UI_Print(id); user_time_t nowtime=TimeNow(); if(DateCmp(DateNow(), scd.date)==-1 || (DateCmp(DateNow(), scd.date)==0 && scd.time.hour<nowtime.hour && scd.time.minute<nowtime.minute ) ){ t=1; Ticket_UI_Print(id); }else{ printf("\n **您的输入有误!按任意键继续**"); getchar(); break; } }else{ printf("\n **信息不存在!按任意键返回**"); getchar(); break; } } if(t){ printf("\n -----------------------------------------------------------------"); printf("\n | [Q]uik | [R]eturn |"); printf("\n ******************************************************************"); printf("\n =================================================================="); printf("\n Iput Your choice:"); choice=l_getc(); if('r'==choice || 'R'==choice) break; if('q'==choice || 'Q'==choice) { buf.status=TICKET_AVL; sale_t data; data.id=EntKey_Srv_CompNewKey("sale"); data.user_id=gl_CurUser.id; data.ticket_id=id; data.date=DateNow(); data.time=TimeNow(); data.value=buf.price; data.type=SALE_RETURN; Sale_Srv_Add(&data); Ticket_Srv_Modify(&buf); printf("\n ----------------------------**退票成功! **---------------------------------"); printf("\n =================================================================="); cl_stdin(); getchar(); break; } } } }