Интерфейс: Do,yuzu,-T.c_
Бэкэнд: Дингхоу,Мидори,『』
«Ding Dong» — онлайн-система обзора и покупки книг — это платформа, которая предоставляет пользователям платформу для покупки и рецензирования книг. Пользователи могут запрашивать информацию о различных книгах на этой платформе, просматривать и взаимодействовать с оценками книг других людей, а также на сайте. в то же время комментируйте свои мысли. Вы можете добавлять книги в избранное, корзину, совершать покупки и выполнять другие операции. Конкретные функциональные возможности и соответствующие требования к системе следующие.
Создайте нового пользователя и инициализируйте основную информацию, включая имя пользователя и пароль.
Пользователи входят в систему на основе своей зарегистрированной учетной записи и пароля.
Пользователи могут изменять базовую информацию, включая управление адресами доставки и т. д.
Пользователи могут вводить ключевые слова для поиска или выполнять поиск по категории книг, и результаты поиска будут отображены.
Пользователи могут просмотреть конкретную информацию о книге на информационной странице книги, включая введение, обзоры, рейтинги и т. д.
Пользователи могут просматривать книги, добавленные в избранное.
Пользователи могут удалять книги, добавленные в избранное.
После оформления заказа пользователи могут оценить соответствующие книги.
Пользователи могут проверить отзывы других людей, купивших эту книгу, на странице с информацией о книге.
Пользователи могут добавлять книги в корзину на странице книги и на домашней странице.
Пользователи могут просматривать текущую информацию о корзине покупок, включая книги, добавленные в корзину, и их цены, общую стоимость корзины и т. д.
Пользователи могут перемещать книги, добавленные в корзину, в избранное, удалять их или изменять количество.
После оформления корзины покупок пользователь может отправить и сохранить информацию о заказе для этой покупки.
Пользователи могут просматривать подписанную и неподписанную информацию о заказе в личном центре.
Завершенные заказы пользователи могут удалять.
Администратор может войти на страницу управления серверной частью, используя учетную запись и пароль администратора.
Администраторы могут искать указанных пользователей и отображать результаты.
Администраторы могут заблокировать определенных пользователей и удалить их учетные записи из базы данных.
Администраторы могут добавлять книги, удалять существующие книги или изменять информацию о существующих книгах.
В разделе «Новые книги на полках» на главной странице могут динамически отображаться пять последних книг на полках.
В разделе «Популярные рекомендации» на главной странице можно динамически отображать 5 книг с наивысшими оценками пользователей.
В разделе «Рекомендовано вам» на главной странице статически могут отображаться 10 книг, рекомендованных администратором сайта.
Windows, Mac OS, рекомендуемые браузеры: Chrome или IE 8 или выше.
Информационные данные хранятся в базе данных на стороне сервера, и каждый пользователь получает к ним доступ на стороне клиента с заданными разрешениями, реализуя при этом обмен информацией.
Справочные данные не могут быть изменены по желанию, они должны оставаться конфиденциальными, а личная информация пользователя не должна быть разглашена.
Пользователи имеют указанные права доступа и не могут войти на страницу администратора.
Информация о данных, введенная пользователями, ограничивается посредством регулярной проверки и других методов, включая тип данных и диапазон значений и т. д., а передача неверной информации своевременно перехватывается.
Добавляйте ограничения основного кода, ограничения внешнего кода и ограничения согласованности в таблицы в базе данных, а также добивайтесь и защищайте согласованность и целостность данных базы данных, устанавливая каскадные операции и т. д.
Интерфейс понятен и дружелюбен, что позволяет пользователям легко работать и быстро получать доступ к необходимой им информации.
2.1 Функция входа и регистрации
2.1.1 Конструкция функции входа и регистрации
При регистрации пользователям необходимо ввести некоторую личную информацию, включая личное имя пользователя, пароль и личный адрес электронной почты. Зарегистрируйтесь еще раз. После успешной регистрации пользователя система вернется на страницу входа, а затем пользователь сможет войти в систему, используя свое имя пользователя и пароль в качестве проверочной информации. Пользователи, не вошедшие в систему, могут просматривать информацию на домашней странице и выполнять операции поиска, но не могут выполнять какие-либо личные операции.
последовательность действий | описывать |
---|---|
зарегистрироваться | Пользователи могут завершить операцию личной регистрации, введя свое имя пользователя, пароль, пароль для подтверждения и личную информацию об электронной почте. Указанная выше входная информация является обязательной и должна соответствовать нормативным требованиям. |
Регистрация прошла успешно | После успешной регистрации система вернется на страницу входа, чтобы позволить пользователю войти в систему, или отменит вход и вернется на домашнюю страницу. |
Регистрация не удалась | После неудачной регистрации информация во всех полях ввода будет очищена, и никакие операции выполняться не будут. |
Авторизоваться | Пользователи могут войти в систему, введя свое имя пользователя и пароль, при этом требуется ввести информацию в поле ввода. |
Вход успешен | После успешного входа в систему система перейдет на домашнюю страницу. Статус пользователя зарегистрирован, и все пользовательские операции могут быть выполнены. |
Ошибка входа | После неудачного входа в систему система очистит информацию во всех полях ввода и не будет выполнять никаких операций. |
Отменить вход | После того, как пользователь нажмет кнопку отмены входа в систему, страница перейдет на начальную домашнюю страницу. |
2.1.2 Реализация функции регистрации входа в систему
Рисунок 2.1 Вход пользователя
Рисунок 2.2 Регистрация пользователя
Рисунок 2.3 Верхняя панель – после входа в систему
2.2 Изменение личной информации
2.2.1 Изменение дизайна функции личной информации
Пользователи могут изменять личную информацию на странице личной информации, включая изменение имени, пола, личного адреса электронной почты и пароля.
последовательность действий | описывать |
---|---|
Войти на личную страницу | После входа в систему пользователи могут войти на страницу личной информации через «Персональный центр» вверху страницы. |
Изменить личную информацию | Это действие включает в себя изменение личного имени, пола и адреса электронной почты. После того, как пользователь изменит три элемента информации, он или она может нажать кнопку «Подтвердить изменение», чтобы сохранить измененную информацию, в противном случае они обязательны. не может быть изменено. |
Изменить пароль | Пользователям необходимо ввести старый пароль и новый пароль, чтобы изменить пароль. |
2.2.2 Реализация функции изменения персональной информации
Рисунок 2.4 Изменение личной информации
2.3 Управление адресами
2.3.1 Проектирование функции управления адресами
Пользователи могут войти на страницу управления адресами на странице личного центра, чтобы управлять своими собственными адресами доставки.
последовательность действий | описывать |
---|---|
Войдите в управление адресами | Пользователи могут войти на страницу управления адресами через страницу личного центра, войдя в систему. |
Добавить новый адрес | Нажав «Добавить адрес», пользователи могут ввести новую информацию об адресе во всплывающем окне, включая провинцию, город, район, подробный адрес, имя, почтовый индекс и номер телефона. Вышеуказанная информация обязательна. |
Удалить адрес | Пользователь нажимает кнопку «Управление», чтобы начать операцию выбора, а затем щелкает поле адреса, чтобы выбрать или выбрать все. После завершения выбора нажмите «Удалить», чтобы удалить адрес. |
2.3.2 Реализация функции управления адресами
Рисунок 2.5 Управление личными адресами
Рисунок 2.6 Добавление нового адреса
3.1 Поиск книг
3.1.1 Конструкция функции поиска книг
Пользователи могут вводить ключевые слова в поле поиска или нажимать на категории для выполнения операций поиска. Результаты будут отображаться на странице поиска. В то же время пользователи могут нажимать на книги, чтобы перейти на соответствующую страницу сведений.
последовательность действий | описывать |
---|---|
Введите поиск | Пользователи могут вводить ключевые слова в поле поиска или нажимать на категории для поиска, после чего результаты поиска перейдут на страницу поиска. |
Посмотреть подробную информацию о книге | Пользователи могут нажать на книгу в результатах поиска, чтобы перейти на страницу сведений о книге, где можно просмотреть сведения о книге и комментарии других пользователей к книге. |
3.1.2 Реализация функции поиска книг
Рисунок 3.1 Поиск книг
Рисунок 3.2 Детали книги
3.2 Избранное
3.2.1 Конструкция функции избранного
Пользователи могут добавлять свои любимые книги в избранное на странице сведений о книге и на главной странице. Пользователи могут вводить личные предпочтения через домашнюю страницу и выполнять операции управления.
последовательность действий | описывать |
---|---|
Добавить в избранное | Пользователи могут добавлять книги в избранное, нажав «Добавить в избранное» на странице сведений о книге или нажав «Избранное» над соответствующей книгой на главной странице. |
Перейти в избранное | Пользователи могут войти на страницу избранного через «Мое избранное» в «My Ding Dong» в верхней части главной страницы. |
Переключить режим просмотра | Пользователи могут нажать «Режим миниатюр» и «Режим детализации» в верхнем левом углу страницы избранного, чтобы переключаться между различными режимами просмотра. |
Удалить коллекцию книг | Пользователь нажимает кнопку «Управление», чтобы начать операцию выбора, а затем щелкает поле книги, чтобы выбрать или выбрать все. После завершения выбора нажмите «Удалить», чтобы удалить коллекцию книг. |
3.2.2 Реализация функции избранного
Рисунок 3.3 Избранное — миниатюра
Рисунок 3.4 Избранное-Сведения
Рисунок 3.5 Управление избранным
3.3 Рецензии на книги
3.3.1 Дизайн функции рецензирования книги
После того, как пользователь оформит заказ, он сможет оценить купленную книгу на странице получения заказа. Кроме того, пользователи могут просматривать рецензии на книги на странице сведений.
последовательность действий | описывать |
---|---|
Введите заказ | Пользователи могут войти на страницу заказа через «Мой Дин Донг» на главной странице и переключиться на «Подписано», чтобы оценить книгу. |
Обзоры книг | Пользователи могут нажать «Оценить» в подписанном заказе книги, нажать звездочку во всплывающем окне, чтобы оценить, ввести оценку книги в поле ввода (это обязательный параметр) и нажать «Отправить», чтобы отправить отзыв. . |
3.3.2 Реализация функции рецензирования книг
Рисунок 3.6 Рецензии на книги
4.1 Корзина покупок
4.1.1 Конструкция функции корзины покупок
Пользователи могут добавлять свои любимые книги в корзину на странице сведений о книге и на главной странице. Пользователи могут войти в «Мою корзину» через домашнюю страницу для выполнения операций управления.
последовательность действий | описывать |
---|---|
Добавить в корзину | Пользователи могут добавлять книги в свою личную корзину покупок, нажав «Добавить в корзину» на странице сведений о книге или нажав «Добавить в покупки» над соответствующей книгой на главной странице. |
Войти в корзину | Пользователи могут войти на страницу личной корзины покупок через «Корзину» на главной странице. |
Изменить количество | Пользователи могут щелкнуть знак плюс или минус в соответствующем столбце количества книг, чтобы изменить количество книг в корзине, при этом общая сумма в корзине также будет автоматически изменена соответствующим образом. |
Перейти в избранное | Пользователи могут нажать «Переместить в избранное» рядом с соответствующей книгой, чтобы добавить книгу в избранное. |
удалить | Пользователи могут нажать «Удалить» рядом с соответствующей книгой или проверить сами книги, чтобы пакетно удалить содержимое корзины. |
Урегулирование | Пользователь нажимает кнопку «Расчет», чтобы перейти к модулю заказа для расчета. |
4.1.2 Реализация функции корзины покупок
Рисунок 4.1 Управление корзиной покупок
4.2 Заказ
4.2.1 Разработка функции заказа
После оформления корзины покупок пользователь попадает на страницу заказа и подтверждает соответствующую информацию на этой странице, включая выбор адреса доставки и подтверждение содержания заказа.
последовательность действий | описывать |
---|---|
Введите заказ | После подтверждения содержимого корзины покупок пользователь может нажать «Оформить заказ», чтобы перейти на страницу заказа. |
Выбор адреса | Пользователи могут щелкнуть поле адреса существующего личного адреса, чтобы выбрать адрес доставки для этого заказа, или нажать «Использовать новый адрес», чтобы заполнить информацию об адресе доставки для этого заказа во всплывающем окне. |
Вернуться в корзину | Пользователи могут нажать «Вернуться в корзину» внизу страницы, чтобы прекратить транзакцию. |
Отправить заказ | Пользователи могут нажать кнопку «Отправить заказ», чтобы отправить заказ и перейти на страницу обратной связи. |
4.2.2 Реализация функции заказа
Рисунок 4.2 Управление заказами — не подписано
Рисунок 4.3. Заказ, подписанный управлением
Рисунок 4.4 Подтверждение заказа
Рисунок 4.5. Использование нового адреса при подтверждении заказа.
4.3 Управление заказами
4.3.1 Структура функции управления заказами
После подтверждения заказа пользователь может войти на страницу управления заказом через «Мой заказ» пользователя и подтвердить соответствующую информацию на этой странице, включая номер заказа, тип книги, количество книг, описание книги и т. д.
последовательность действий | описывать |
---|---|
Войдите в управление заказами | Пользователи могут нажать «Мой заказ» после входа на главную страницу, чтобы перейти на страницу управления заказами. |
Посмотреть информацию о заказе | Пользователи могут подтвердить детали заказа, включая номер заказа, типы включенных книг, количество книг, общую стоимость заказа, представление книги и т. д. |
подтвердить получение товара | Пользователи могут нажать кнопку «Подтвердить получение», чтобы изменить неполученный заказ на полученный заказ. |
Удалить заказ | Пользователь может нажать кнопку «Удалить заказ», чтобы удалить подписанный заказ, который он хочет удалить. |
Обзоры книг | Пользователи могут нажать кнопку «Комментировать», чтобы оценить один тип книги в заказе. |
4.3.2 Реализация функции управления заказами
Как показано на рисунке, пользователь нажимает «Мой заказ» на главной странице, чтобы перейти на страницу управления заказами.
Как показано на рисунке, пользователь может увидеть детали своего заказа на странице «Мои заказы».
Как показано на рисунке, пользователи могут менять неполученные заказы на подписанные.
Как показано на рисунке, пользователь может удалить подписанный заказ, который он хочет удалить.
Как показано на рисунке, пользователь может оценить одну из книг, на которую получен заказ.
5.1 Вход в систему
5.1.1 Конструкция функции входа в систему
Администраторы могут войти в режим входа администратора через интерфейс входа администратора в нижней части страницы. После успешного входа в систему они могут выполнять все операции администратора.
последовательность действий | описывать |
---|---|
Войдите в интерфейс входа | Администраторы могут перейти к интерфейсу входа в систему, нажав «Вход администратора» внизу страницы. |
Авторизоваться | Администраторы могут войти в систему, введя свое имя пользователя и пароль, при этом требуется ввести информацию в поле ввода. |
Вход успешен | После успешного входа в систему появится страница операций администратора, на которой можно будет выполнять все операции администратора. |
Ошибка входа | После неудачного входа в систему система очистит информацию во всех полях ввода и не будет выполнять никаких операций. |
Отменить вход | После того, как администратор нажмет кнопку «Отменить вход», страница перейдет на начальную домашнюю страницу. |
5.1.2 Реализация функции входа в систему
Рисунок 5.1 Вход администратора домашней страницы
Рисунок 5.2 Вход администратора
5.2 Операции администратора
5.2.1 Структура функции работы администратора
После успешного входа в систему администратор может выполнять операции администратора на странице администратора, включая управление пользователями и управление книгами.
последовательность действий | описывать |
---|---|
Войдите на страницу администратора | После успешного входа в систему администратор перейдет на страницу администратора. |
Управление пользователями | После нажатия «Управление пользователями» администратор может ввести ключевые слова для поиска пользователей, и искомые пользователи будут отображаться под полем поиска. Администраторы могут нажать «Удалить», чтобы заблокировать соответствующего пользователя. |
добавить книгу | После нажатия «Добавить книгу» администратор может добавить книги, введя соответствующую информацию, включая название книги, ISBN, автора, категорию, издательство, время публикации, цену, обложку и введение. Указанная выше информация является обязательной. |
Изменить информацию о книге | После нажатия «Изменить информацию о книге» администратор может ввести ключевые слова для поиска книг, и найденные книги будут отображаться под полем поиска. Администраторы могут нажать «Удалить книгу», чтобы удалить соответствующую книгу. Кроме того, вы можете нажать «Изменить информацию о книге», чтобы изменить информацию о соответствующей книге во всплывающем окне. |
5.2.2 Реализация функций администратора
Рисунок 5.3 Администратор ищет пользователей и управляет ими
Рисунок 5.4. Администратор ищет и изменяет информацию о книге
Рисунок 5.5 Администратор добавляет книги
6.1 Диаграмма отношений базы данных
6.2 Общая диаграмма ER
6.3 Схема пользовательского модуля ER
6.4 Схема модуля книги ER
6.5 Заказ схемы модуля ER
6.6 Схема модуля комментариев ER
7.1 таблица пользователей
Таблица 7-1 Таблица пользователей
Имя поля | тип данных | длина | иллюстрировать | Примечание |
---|---|---|---|---|
ИДЕНТИФИКАТОР | число | ID пользователя | ПК | |
имя | варчар | 20 | Имя пользователя | |
власть | варчар | 20 | Разрешения | |
счет | варчар | 20 | номер счета | |
пароль | варчар | 20 | пароль | В таблице хранится значение md5 фактического пароля. |
пол | варчар | 10 | пол | |
Электронная почта | варчар | 40 | Почта |
7.2 адресная таблица
Таблица 7-2 Таблица адресов
Имя поля | тип данных | длина | иллюстрировать | Примечание |
---|---|---|---|---|
ИДЕНТИФИКАТОР | число | 38 | Идентификатор адреса | ПК |
имя | варчар | 20 | Имя получателя | |
телефон | варчар | 20 | Телефон | |
страна | варчар | 20 | нация | |
провинция | варчар | 20 | провинция | |
город | варчар | 20 | Город | |
округ | варчар | 20 | округ | |
почтовый_код | число | 10 | почтовый индекс | |
ID пользователя | число | ID пользователя | ||
расположение | варчар | 100 | конкретный адрес |
7.3 живой стол
Таблица 7-3 живая таблица
Имя поля | тип данных | длина | иллюстрировать | Примечание |
---|---|---|---|---|
ID пользователя | число | ID пользователя | PK, FK, обратитесь к идентификатору пользователя | |
адрес_ID | число | 38 | Идентификатор адреса | PK, FK, см. идентификатор адреса. |
7.4 книжный стол
Таблица 7-4 книжный стол
Имя поля | тип данных | длина | иллюстрировать | Примечание |
---|---|---|---|---|
ИДЕНТИФИКАТОР | число | 38 | Идентификатор книги | ПК |
ISBN | варчар | 20 | Забронировать ISBN | |
имя | варчар | 30 | Название книги | |
цена | число | цена | ||
изображение | варчар | 40 | Путь к изображению | |
категория | варчар | 20 | Классификация книг | |
издатель | варчар | 100 | издательство | |
Время публикации | варчар | 20 | Время публикации | |
абстрактный | варчар | 400 | краткое содержание |
7.5 авторская таблица
Таблица 7-5 авторская таблица
Имя поля | тип данных | длина | иллюстрировать | Примечание |
---|---|---|---|---|
ИДЕНТИФИКАТОР | число | Идентификатор автора | ПК | |
имя | варчар | 20 | Имя |
7.6 запись таблицы
Таблица 7-6. Таблица записи.
Имя поля | тип данных | длина | иллюстрировать | Примечание |
---|---|---|---|---|
ИД_автора | число | Идентификатор автора | ПК, ФК, см. ID автора | |
book_ID | число | Идентификатор книги | ПК, ФК, см. ID книги |
7.7 таблица категорий
Таблица 7-7 Таблица категорий
Имя поля | тип данных | длина | иллюстрировать | Примечание |
---|---|---|---|---|
ИДЕНТИФИКАТОР | число | Идентификатор категории | ПК | |
имя | варчар | 20 | имя |
7.8 принадлежит таблице
Таблица 7-8 принадлежит таблице
Имя поля | тип данных | длина | иллюстрировать | Примечание |
---|---|---|---|---|
book_ID | число | Идентификатор книги | ПК, ФК, см. ID книги | |
идентификатор_категории | число | Идентификатор категории | PK.FK, см. идентификатор категории. |
7.9 таблица заказов
Таблица 7-9 Таблица заказов
Имя поля | тип данных | длина | иллюстрировать | Примечание |
---|---|---|---|---|
ИДЕНТИФИКАТОР | число | Идентификатор заказа | ПК | |
ID пользователя | число | Идентификатор покупателя | FK, обратитесь к идентификатору пользователя | |
адрес_ID | число | Идентификатор адреса | FK, обратитесь к идентификатору адреса | |
количество | число | Общее количество книг | ||
цена | число | общая стоимость книги | ||
замечание | варчар | 100 | Примечание | |
time_start | варчар | 20 | Время заказа | |
time_get | варчар | 20 | Время получения | |
статус | варчар | 20 | Статус заказа | Пришёл или не пришёл |
post_cost | число | Экспресс-плата |
7.10 Таблица order_include
Таблица 7-10. Таблица order_include
Имя поля | тип данных | длина | иллюстрировать | Примечание |
---|---|---|---|---|
идентификатор_заказа | число | Идентификатор заказа | ПК, ФК, см. идентификатор заказа | |
book_ID | число | Идентификатор книги | ПК, ФК, см. ID книги | |
количество | число | Количество книг | ||
цена | число | Полная стоимость этой книги |
7.11 список избранного
Таблица 7-11 любимый стол
Имя поля | тип данных | длина | иллюстрировать | Примечание |
---|---|---|---|---|
ID пользователя | число | ID пользователя | PK, FK, см. идентификатор пользователя. | |
book_ID | число | Идентификатор книги | ПК, ФК, см. ID книги |
7.12 стол-тележка
Таблица 7-12. Стол тележки
Имя поля | тип данных | длина | иллюстрировать | Примечание |
---|---|---|---|---|
ID пользователя | число | ID пользователя | PK, FK, обратитесь к идентификатору пользователя | |
количество | число | Общее количество книг в корзине | ||
time_start | варчар | 20 | Добавить в корзину время | |
post_cost | число | Экспресс-плата | ||
общая_цена | число | общая стоимость |
7.13 Таблица Cart_include
Таблица 7-13. Таблица Cart_include.
Имя поля | тип данных | длина | иллюстрировать | Примечание |
---|---|---|---|---|
ID пользователя | число | ID пользователя | PK, FK, обратитесь к идентификатору пользователя | |
book_ID | число | Идентификатор книги | ПК.ФК, см. ID книги | |
количество | число | Общее количество книг | ||
общая_цена | число | Полная стоимость книги |
7.14 таблица комментариев
Таблица 7-14 Таблица комментариев
Имя поля | тип данных | длина | иллюстрировать | Примечание |
---|---|---|---|---|
ИДЕНТИФИКАТОР | число | Идентификатор комментария | ПК | |
ID пользователя | число | ID пользователя | FK, обратитесь к идентификатору пользователя | |
book_ID | число | Идентификатор книги | ФК, ссылаясь на ID книги | |
заголовок | варчар | 100 | Название комментария | |
содержание | варчар | 2000 г. | Содержание комментария | |
время | варчар | 20 | Время комментирования | |
счет | число | счет | ||
total_like | варчар | 20 | Общее количество лайков | |
Total_dislike | варчар | 20 | тотальная оппозиция | |
общий | число | 38 | Разница между общим количеством лайков вверх и общим количеством лайков вниз |
7.15 таблица комментариев_обратной связи
Таблица 7-15. Таблица комментариев_обратной связи.
Имя поля | тип данных | длина | иллюстрировать | Примечание |
---|---|---|---|---|
ID пользователя | число | ID пользователя | PK, FK, обратитесь к идентификатору пользователя | |
comment_ID | число | Идентификатор комментария | PK, FK относится к идентификатору комментария. | |
отношение | варчар | 20 | Отношение к этому отзыву | |
время | варчар | 20 | Время оценки |
Этот класс представляет класс сущности в структуре EF и соответствует базе данных на сервере. Каждая переменная-член типа DBSet<> соответствует экземпляру связи в базе данных и может использоваться для операций получения и установки.
Переменные-члены:
public virtual DbSet < ADDRESS > ADDRESS { get ; set ; }
public virtual DbSet < AUTHOR > AUTHOR { get ; set ; }
public virtual DbSet < BOOK > BOOK { get ; set ; }
public virtual DbSet < CART > CART { get ; set ; }
public virtual DbSet < CART_INCLUDE > CART_INCLUDE { get ; set ; }
public virtual DbSet < CATEGORY > CATEGORY { get ; set ; }
public virtual DbSet < COMMENT_FEEDBACK > COMMENT_FEEDBACK { get ; set ; }
public virtual DbSet < COMMENTS > COMMENTS { get ; set ; }
public virtual DbSet < ORDER_INCLUDE > ORDER_INCLUDE { get ; set ; }
public virtual DbSet < ORDERS > ORDERS { get ; set ; }
public virtual DbSet < USERS > USERS { get ; set ; }
public virtual DbSet < WRITE > WRITE { get ; set ; }
public virtual DbSet < CARTLIST > CARTLIST { get ; set ; }
public virtual DbSet < PURCHASE > PURCHASE { get ; set ; }
public virtual DbSet < ZUOZHE > ZUOZHE { get ; set ; }
Этот тип класса соответствует реляционной схеме в базе данных. Его переменными-членами являются все атрибуты в реляционной схеме и их методы get и set, а также записи, на основной код которых ссылаются другие отношения и ограничения внешнего кода и соответствующий метод get. и установить методы.
Переменные-члены нескольких наиболее важных классов следующие:
public decimal ID { get ; set ; } public string ISBN { get ; set ; } public string NAME { get ; set ; } public Nullable < decimal > PRICE { get ; set ; } public string IMAGE { get ; set ; } public string CATEGORY { get ; set ; } public string PUBLISHER { get ; set ; } public string PUBLISHTIME { get ; set ; } public string ABSTRACT { get ; set ; } //BOOK关系的属性 [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < CART_INCLUDE > CART_INCLUDE { get ; set ; } //其主码被CART_INCLUDE所引用为外码约束,下面类似 [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < COMMENTS > COMMENTS { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( " Microsoft . Usage " , "CA2227 : CollectionPropertiesShouldBeReadOnly " ) ] public virtual ICollection < ORDER_INCLUDE > ORDER_INCLUDE { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < WRITE > WRITE { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < CATEGORY > CATEGORY1 { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < USERS > USERS { get ; set ; }
public decimal ID { get ; set ; } 、 public string NAME { get ; set ; } public string GENDER { get ; set ; } public string EMAIL { get ; set ; } public string PASSWORD { get ; set ; } public string ACCOUNT { get ; set ; } public string AUTHORITY { get ; set ; } //USERS关系的属性 [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < ADDRESS > ADDRESS { get ; set ; } //其主码被ADDRESS引用,下面类似 public virtual CART CART { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( " Microsoft . Usage " , "CA2227 : CollectionPropertiesShouldBeReadOnly " ) ] public virtual ICollection < CART_INCLUDE > CART_INCLUDE { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < COMMENT_FEEDBACK > COMMENT_FEEDBACK { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < COMMENTS > COMMENTS { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < ORDERS > ORDERS { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < BOOK > BOOK { get ; set ; } [ System . Diagnostics . CodeAnalysis . SuppressMessage ( "Microsoft.Usage" , "CA2227:CollectionPropertiesShouldBeReadOnly" ) ] public virtual ICollection < ADDRESS > ADDRESS1 { get ; set ; }
public decimal USER_ID { get ; set ; }
public Nullable < decimal > QUANTITY { get ; set ; }
public string TIME_START { get ; set ; }
public Nullable < decimal > POST_COST { get ; set ; }
public Nullable < decimal > TOTAL_PRICE { get ; set ; } //CART关系的属性
public decimal USER_ID { get ; set ; }
public decimal BOOK_ID { get ; set ; }
public Nullable < decimal > QUANTITY { get ; set ; }
public Nullable < decimal > TOTAL_PRICE { get ; set ; } //CART_INCLUDED关系的属性
Чтобы облегчить выполнение запросов (например, запрос подробной информации о книгах в корзинах и заказах, соответствующих авторам и книгам), мы создали несколько представлений в базе данных, и эти представления также имеют соответствующие классы в моделях, а именно:
На основе отношений CART_INCLUDE и отношений BOOK вы можете узнать информацию и статус покупки книг в корзине:
public decimal USER_ID { get ; set ; }
public decimal BOOK_ID { get ; set ; }
public string NAME { get ; set ; }
public Nullable < decimal > PRICE { get ; set ; }
public string IMAGE { get ; set ; }
public Nullable < decimal > QUANTITY { get ; set ; }
public Nullable < decimal > TOTAL_PRICE { get ; set ; }
На основе отношений АВТОР, отношений WRTIE и отношений КНИГА информация о книге и информация об авторе сопоставляются в соответствии с отношениями письма:
public string AUTHOR_NAME { get ; set ; }
public decimal BOOK_ID { get ; set ; }
public decimal AUTHOR_ID { get ; set ; }
В соответствии с отношением ORDER_INCLUDE генерируется отношение BOOK, и вы можете узнать информацию и статус покупки книг в заказе:
public decimal ORDER_ID { get ; set ; }
public string NAME { get ; set ; }
public Nullable < decimal > PRICE { get ; set ; }
public string IMAGE { get ; set ; }
public Nullable < decimal > QUANTITY { get ; set ; }
public Nullable < decimal > TOTAL_PRICE { get ; set ; }
public string ABSTRACT { get ; set ; }
public string PUBLISHER { get ; set ; }
public string AUTHOR_NAME { get ; set ; }
public decimal ID { get ; set ; }
public decimal AUTHOR_ID { get ; set ; }
Класс Controllers — это класс контроллера, который используется для возврата страницы отображения представления и ответа на запросы операций на странице. Ключевой проблемой является завершение передачи данных между контроллером и представлением. При передаче от контроллера к представлению в основном используется движок Razor, а при передаче от представления к контроллеру используются HtmlHelpers, Session и AJAX.
В основном он включает в себя отображение страницы сведений о книге и метод ответа на запрос о добавлении книги в корзину. Функции участника следующие:
public ActionResult Index ( int ID ) //读取图书详情页面所需的所有数据,并返回视图进行展示,参数为图书ID
public ActionResult addCart ( cartSender cs ) //将该图书添加至用户购物车中,通过重定位刷新原页面,如果没有用户登录则不进行操作并跳转至登录页面,参数为利用HTTPPOST从视图传递数据的model
public int directAddCart ( int bookId ) //在首页将点击的图书添加至用户购物车,成功返回0,无用户登录则返回-1,参数为图书ID
В основном он включает в себя отображение страницы избранного и метод ответа на запрос на изменение избранного. Для успешного выполнения всех операций этого контроллера требуется вход пользователя в систему. Функции-члены следующие:
public ActionResult Index ( int ID ) //读取收藏夹页面所需的所有数据,并返回视图进行展示,在没有用户登录的情况下不进行操作并跳转至登录页面,参数为用户ID
public ActionResult addFav ( int ID ) //在图书详情页面将图书加入收藏夹,通过重定位刷新原页面,如果没有用户登录则不进行操作并跳转至登录页面,参数为图书ID
public int directAddFav ( int bookId ) //在首页将点击的图书添加至收藏夹,成功返回0,无用户登录则返回-1,参数为图书ID
public void DeleteFav ( int [ ] bookIds ) //将所有选中的图书移除收藏夹,参数为选中的图书的ID
В основном он включает в себя отображение страницы корзины покупок и методы ответа на все запросы операций на странице. Для успешного выполнения всех операций этого контроллера требуется вход пользователя в систему. Функции-члены следующие:
public ActionResult Index ( int ID ) //读取购物车页面所需的所有数据,并返回视图进行展示,在没有用户登录的情况下不进行操作并跳转至登录页面,参数为用户ID
public void RemoveBook ( int bookId ) //将购物车中的某个图书项目移出购物车,参数为图书ID
public void AddFav ( int bookId ) //将购物车中的某个图书移入收藏并移出购物车,参数为图书ID
public void EditAmount ( int bookId , int bookAmount ) //通过购物车页面的加减按钮改变购物车中某一图书的数量,参数为用户ID和改变后的数量
public ActionResult AddAddress ( ADDRESS aDDRESS ) //响应购物车页面上方地址栏的添加新地址请求,参数为通过HTTPPOST传递的参数model
В основном он включает в себя отображение страницы управления заказами и страницы заполнения и завершения заказов, а также методы ответа на все запросы операций на этих страницах. Все операции этого контроллера требуют входа пользователя в систему. Функции-члены следующие. следует:
public ActionResult Index ( int ID ) //读取订单管理页面所需的所有数据,并返回视图进行展示,在没有用户登录的情况下不进行操作并跳转至登录页面,参数为用户ID
public void StatusChange ( int orderId ) //在订单管理页面确认收货,参数为订单ID
public void DeleteOrder ( int orderId ) //删除已经签收的订单,参数为订单ID
public void SetComment ( int bookId , int grade , string content ) //对已经签收的图书进行评论,参数为图书ID,分数和评论内容
public int GetOrder ( int [ ] bookIds ) //将购物车中勾选的书目添加至session,返回用户ID
public ActionResult Process_CART ( int ID ) //读取购物车结算时的购买情况,据此返回一个显示订单填写页面,参数为用户ID
public void check ( int addrId ) //根据选择的地址和购买情况生成订单,参数为地址ID
public ActionResult Order_Complete ( ) //显示订单填写成功的页面
В основном он включает в себя методы для отображения страницы администратора и ответа на все запросы операций на странице. Все операции этого контроллера требуют входа в систему администратора. Основные функции-члены следующие:
public ActionResult Index ( string search_book , string search_user ) //返回管理员操作页面,参数为搜索的图书或用户的字符串
public ActionResult Login ( ) //返回管理员登录页面
public ActionResult Login ( LoginSender msg ) //管理员登录的验证,参数为利用HTTPPOST传递参数的model
public void deleteUser ( int ID ) //删除用户,参数为用户ID
public void deleteBook ( int ID ) //删除书籍,参数为图书ID
public void adjustBook ( int ID , string name , string ISBN , string writer , string category , string publisher , string time , string image , string intro ) //修改书籍