apex
public class User {
@AuraEnabled(cacheable=true)
public static User login(String username, String password) {
User user = [SELECT Id, Username, Password FROM User WHERE Username = :username AND Password = :password];
return user;
}
@AuraEnabled(cacheable=true)
public static User register(String username, String password, String email) {
User newUser = new User();
newUser.Username = username;
newUser.Password = password;
newUser.Email = email;
insert newUser;
return newUser;
}
@AuraEnabled(cacheable=true)
public static User getUserById(String userId) {
User user = [SELECT Id, Username, Email FROM User WHERE Id = :userId];
return user;
}
}
2. 预订模块
使用Apex类实现查看餐厅信息、选择桌位、填写预订信息、支付功能。
apex
public class Reservation {
@AuraEnabled(cacheable=true)
public static List getRestaurants() {
return [SELECT Id, Name, Address FROM Restaurant];
}
@AuraEnabled(cacheable=true)
public static List
getAvailableTables(String restaurantId, Date reservationDate, Time reservationTime) {
return [SELECT Id, Name, Capacity FROM Table WHERE RestaurantId = :restaurantId AND IsAvailable = true AND Id NOT IN (
SELECT TableId FROM Reservation WHERE ReservationDate = :reservationDate AND ReservationTime = :reservationTime
)];
}
@AuraEnabled(cacheable=true)
public static Reservation getReservationById(String reservationId) {
return [SELECT Id, UserId, RestaurantId, TableId, ReservationDate, ReservationTime, NumberOfGuests FROM Reservation WHERE Id = :reservationId];
}
}
3. 管理模块
使用Apex类实现查看预订列表、修改预订信息、取消预订、统计报表功能。
apex
public class Admin {
@AuraEnabled(cacheable=true)
public static List getReservations() {
return [SELECT Id, UserId, RestaurantId, TableId, ReservationDate, ReservationTime, NumberOfGuests FROM Reservation];
}
@AuraEnabled(cacheable=true)
public static Reservation updateReservation(String reservationId, String tableId, Date reservationDate, Time reservationTime, Integer numberOfGuests) {
Reservation updatedReservation = [SELECT Id, TableId, ReservationDate, ReservationTime, NumberOfGuests FROM Reservation WHERE Id = :reservationId];
updatedReservation.TableId = tableId;
updatedReservation.ReservationDate = reservationDate;
updatedReservation.ReservationTime = reservationTime;
updatedReservation.NumberOfGuests = numberOfGuests;
update updatedReservation;
return updatedReservation;
}
@AuraEnabled(cacheable=true)
public static Reservation cancelReservation(String reservationId) {
Reservation cancelledReservation = [SELECT Id, TableId, ReservationDate, ReservationTime, NumberOfGuests FROM Reservation WHERE Id = :reservationId];
cancelledReservation.IsCancelled = true;
update cancelledReservation;
return cancelledReservation;
}
@AuraEnabled(cacheable=true)
public static List getStatistics(Date startDate, Date endDate) {
return [SELECT COUNT(Id) FROM Reservation WHERE ReservationDate BETWEEN :startDate AND :endDate];
}
}
Comments NOTHING