| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- package vehicle
- import (
- "time"
- "wails-app/internal/dao"
- "wails-app/internal/global"
- "wails-app/internal/model/vehicle/request"
- )
- type ShortlistService struct{}
- func (shortlistService *ShortlistService) QueryShortlistList(info request.ShortlistRequest) (list interface{}, total int64, err error) {
- limit := info.PageSize
- offset := info.PageSize * (info.Page - 1)
- shortlistList, t, err := dao.QueryShortlistList(limit, offset, info.ListType, info.PlateNumber, info.RFIDTag)
- if err != nil {
- return nil, 0, err
- }
- return shortlistList, t, nil
- }
- func (shortlistService *ShortlistService) QueryAllShortlists() (shortlists []dao.Shortlist, err error) {
- return dao.QueryAllShortlists()
- }
- func (shortlistService *ShortlistService) QueryShortlistByRFIDTag(rfidTag string) (shortlist dao.Shortlist, err error) {
- return dao.QueryShortlistByRFIDTag(rfidTag)
- }
- func (s *ShortlistService) CheckVehicleShortlist(plateNumber, rfidTag string) (isBlack bool, isWhite bool) {
- var vehicle dao.Vehicle
- query := global.GVA_DB
- if rfidTag != "" {
- query = query.Where("rfid_tag = ?", rfidTag)
- } else {
- query = query.Where("plate_number = ?", plateNumber)
- }
- if err := query.First(&vehicle).Error; err != nil {
- return false, false
- }
- var shortlists []dao.Shortlist
- now := time.Now()
- if err := global.GVA_DB.
- Where("vehicle_id = ? AND (expiration_time IS NULL OR expiration_time > ?)", vehicle.ID, now).
- Find(&shortlists).Error; err != nil {
- return false, false
- }
- for _, shortlist := range shortlists {
- if shortlist.ListType == "黑名单" {
- return true, false
- }
- if shortlist.ListType == "白名单" {
- isWhite = true
- }
- }
- return false, isWhite
- }
- func (shortlistService *ShortlistService) CreateShortlist(shortlist dao.Shortlist) error {
- return dao.CreateShortlist(shortlist)
- }
- func (shortlistService *ShortlistService) UpdateShortlist(shortlist dao.Shortlist) error {
- return dao.UpdateShortlist(shortlist)
- }
- func (shortlistService *ShortlistService) DeleteShortlist(id int) error {
- return dao.DeleteShortlist(id)
- }
|