Documentation ¶
Index ¶
- Constants
- func CheckStatus(status_ string) bool
- func VehicleToRentLandingVehicle(from *Vehicle, to *RentLandingVehicle)
- type Account
- type AccountToken
- type AddInvestment
- type Bill
- type Fine
- type FineFromSite
- type FinesFilters
- type FinesFromSite
- type FullSysInfo
- type History
- type InputGetListFines
- type Manager
- type MandatoryPayment
- type MandatoryPaymentOne
- type Order
- type OrdersPeriodSummary
- type PaginationOrder
- type PaginationRansomOrder
- type PaginationRentOrder
- type PeriodCashSummary
- type RansomOrder
- type RansomOrderFromSearch
- type RansomTariff
- type Reminder
- type RentLandingVehicle
- type RentOrder
- type RentTariff
- type SysInfoByDate
- type User
- type Vehicle
- type VehicleAnalytics
Constants ¶
View Source
const ( StatusPreliminary = "PRELIMINARY" StatusReserve = "RESERVE" StatusSuccess = "SUCCESS" StatusCencel = "CANCEL" )
Variables ¶
This section is empty.
Functions ¶
func CheckStatus ¶
func VehicleToRentLandingVehicle ¶
func VehicleToRentLandingVehicle(from *Vehicle, to *RentLandingVehicle)
Types ¶
type Account ¶
type Account struct { ID int64 `json:"id" gorm:"primarykey"` Name string `json:"name"` Token string `json:"token" gorm:"unique, not null"` ShtrafovnetAuthToken string `json:"shtrafovnet_auth_token"` ShtrafovnetCompanyID int64 `json:"shtrafovnet_company_id"` TelegramBotToken string `json:"telegram_bot_token"` TelegramChatID string `json:"telegram_chat_id"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt gorm.DeletedAt `json:"deleted_at" gorm:"index" swaggertype:"string"` }
type AccountToken ¶
type AccountToken string
type AddInvestment ¶
type AddInvestment struct { ID int64 `json:"id" gorm:"primarykey"` UID string `json:"uid"` AccountsID int64 `json:"accounts_id"` Title string `json:"title"` Type string `json:"type"` Description string `json:"description"` Amount *float64 `json:"amount"` DayAmount *float64 `json:"day_amount"` RelationsID int64 `json:"relations_id"` RelationsTable string `json:"relations_table"` Date time.Time `json:"date"` DateEnd *time.Time `json:"date_end"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt gorm.DeletedAt `json:"deleted_at" gorm:"index" swaggertype:"string"` }
type Fine ¶
type Fine struct { ID int64 `json:"id" gorm:"primarykey"` UID string `json:"uid"` AccountsID int64 `json:"accounts_id"` VehiclesID int64 `json:"vehicles_id"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt gorm.DeletedAt `json:"deleted_at" gorm:"index" swaggertype:"string"` Number string `json:"number"` BillDate string `json:"bill_date"` Amount int `json:"amount"` AmountToPay int `json:"amount_to_pay"` PaymentStatus string `json:"payment_status"` DiscountDate string `json:"discount_date"` DiscountSize int `json:"discount_size"` ReplacedWith string `json:"replaced_with"` ChangeStatus string `json:"change_status"` ChangeStatusReason string `json:"change_status_reason"` ViolationDate string `json:"violation_date"` ViolatorName string `json:"violator_name"` Location string `json:"location"` Coordinates string `json:"coordinates"` KoapCode string `json:"koap_code"` KoapText string `json:"koap_text"` DivisionName string `json:"division_name"` DivisionCode string `json:"division_code"` Name string `json:"name"` Org string `json:"org"` Vin string `json:"vin"` Sts string `json:"sts"` PayeeUsername string `json:"payee_username"` PayeeInn string `json:"payee_inn"` PayeeKpp string `json:"payee_kpp"` PayeeOktmo string `json:"payee_oktmo"` PayeeKbk string `json:"payee_kbk"` PayeeBankName string `json:"payee_bank_name"` PayeeBankBik string `json:"payee_bank_bik"` PayeeBankAccount string `json:"payee_bank_account"` PayeeBankCorrAccount string `json:"payee_bank_corr_account"` ManualPayment bool `json:"manual_payment"` FsspIP string `json:"fssp_ip"` FsspUin string `json:"fssp_uin"` OriginalCreatedAt time.Time `json:"original_created_at"` OriginalUpdatedAt time.Time `json:"original_updated_at"` OriginalArchivedAt *time.Time `json:"original_archived_at"` Comment string `json:"comment"` CommentUpdatedAt time.Time `json:"comment_updated_at"` PaidAt time.Time `json:"paid_at"` }
type FineFromSite ¶
type FineFromSite struct { Number string `json:"number"` BillDate string `json:"bill_date"` Amount float64 `json:"amount"` AmountToPay float64 `json:"amount_to_pay"` PaymentStatus string `json:"payment_status"` DiscountDate string `json:"discount_date"` DiscountSize float64 `json:"discount_size"` ReplacedWith string `json:"replaced_with"` ChangeStatus string `json:"change_status"` ChangeStatusReason string `json:"change_status_reason"` ViolationDate string `json:"violation_date"` ViolatorName string `json:"violator_name"` Location string `json:"location"` Coordinates string `json:"coordinates"` KoapCode string `json:"koap_code"` KoapText string `json:"koap_text"` DivisionName string `json:"division_name"` DivisionCode string `json:"division_code"` Name string `json:"name"` Org string `json:"org"` PayeeUsername string `json:"payee_username"` PayeeInn string `json:"payee_inn"` PayeeKpp string `json:"payee_kpp"` PayeeOktmo string `json:"payee_oktmo"` PayeeKbk string `json:"payee_kbk"` PayeeBankName string `json:"payee_bank_name"` PayeeBankBik string `json:"payee_bank_bik"` PayeeBankAccount string `json:"payee_bank_account"` PayeeBankCorrAccount string `json:"payee_bank_corr_account"` Pics []string `json:"pics"` Docs []struct { Type string `json:"type"` Number string `json:"number"` IsMain bool `json:"is_main"` } `json:"docs"` ManualPayment bool `json:"manual_payment"` FsspIP string `json:"fssp_ip"` FsspUin string `json:"fssp_uin"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` ArchivedAt interface{} `json:"archived_at"` BestMatchCar struct { ID int `json:"id"` UnitID string `json:"unit_id"` Sts string `json:"sts"` Grz string `json:"grz"` Name string `json:"name"` Status string `json:"status"` InactiveReason string `json:"inactive_reason"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` ArchivedAt time.Time `json:"archived_at"` MkadPass []struct { Number string `json:"number"` Grz string `json:"grz"` ValidFrom time.Time `json:"valid_from"` ValidTo time.Time `json:"valid_to"` CancelDate time.Time `json:"cancel_date"` Zone string `json:"zone"` Status string `json:"status"` Type string `json:"type"` } `json:"mkad_pass"` Vin string `json:"vin"` RestrictionTypes []string `json:"restriction_types"` } `json:"best_match_car"` Unit struct { ID string `json:"id"` Name string `json:"name"` IsDefault bool `json:"is_default"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } `json:"unit"` Driver struct { ID int `json:"id"` UnitID string `json:"unit_id"` LicenseNumber string `json:"license_number"` LicenseIssuedAt time.Time `json:"license_issued_at"` Name string `json:"name"` Status string `json:"status"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` Restrictions struct { Decisions []struct { Date time.Time `json:"date"` FisID string `json:"fis_id"` BreachPlace string `json:"breach_place"` Comment string `json:"comment"` RegName string `json:"reg_name"` State string `json:"state"` PeriodMonth int `json:"period_month"` RegCode string `json:"reg_code"` } `json:"decisions"` Doc struct { Date time.Time `json:"date"` Bdate time.Time `json:"bdate"` Wanted string `json:"wanted"` Reg string `json:"reg"` Cat []string `json:"cat"` Num string `json:"num"` VUch string `json:"v_uch"` Type string `json:"type"` Period time.Time `json:"period"` Divid string `json:"divid"` Status string `json:"status"` } `json:"doc"` RequestTime time.Time `json:"request_time"` } `json:"restrictions"` } `json:"driver"` Owner struct { ID string `json:"id"` Type string `json:"type"` Form string `json:"form"` Status string `json:"status"` Rawid string `json:"rawid"` Inn string `json:"inn"` Kpp string `json:"kpp"` Name string `json:"name"` ShortName string `json:"short_name"` LegalAddress string `json:"legal_address"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } `json:"owner"` RegistryStatus []struct { RegistryID int `json:"registry_id"` PayAmount float64 `json:"pay_amount"` PaymentOrderURL string `json:"payment_order_url"` ItemStatus string `json:"item_status"` RegistryStatus string `json:"registry_status"` PaidAt time.Time `json:"paid_at"` CheckedAt time.Time `json:"checked_at"` ConfirmedAt time.Time `json:"confirmed_at"` CreatedAt time.Time `json:"created_at"` } `json:"registry_status"` Ckadtx struct { ID string `json:"id"` Grz string `json:"grz"` Date time.Time `json:"date"` Plaza string `json:"plaza"` Road string `json:"road"` Cost float64 `json:"cost"` Status string `json:"status"` BestMatchCar struct { ID int `json:"id"` UnitID string `json:"unit_id"` Sts string `json:"sts"` Grz string `json:"grz"` Name string `json:"name"` Status string `json:"status"` InactiveReason string `json:"inactive_reason"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` ArchivedAt time.Time `json:"archived_at"` MkadPass []struct { Number string `json:"number"` Grz string `json:"grz"` ValidFrom time.Time `json:"valid_from"` ValidTo time.Time `json:"valid_to"` CancelDate time.Time `json:"cancel_date"` Zone string `json:"zone"` Status string `json:"status"` Type string `json:"type"` } `json:"mkad_pass"` Vin string `json:"vin"` RestrictionTypes []string `json:"restriction_types"` } `json:"best_match_car"` Unit struct { ID string `json:"id"` Name string `json:"name"` IsDefault bool `json:"is_default"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } `json:"unit"` Photo string `json:"photo"` DueAt time.Time `json:"due_at"` CkadID string `json:"ckad_id"` } `json:"ckadtx"` Comment string `json:"comment"` CommentUpdatedAt time.Time `json:"comment_updated_at"` PaidAt time.Time `json:"paid_at"` Ckad struct { GracePeriod string `json:"grace_period"` PayApcrr float64 `json:"pay_apcrr"` URLPayApcrr string `json:"url_pay_apcrr"` } `json:"ckad"` }
type FinesFilters ¶
type FinesFromSite ¶
type FinesFromSite struct {
Fines []FineFromSite `json:"fines"`
}
type FullSysInfo ¶
type FullSysInfo struct { TotalVehicles int64 `json:"total_vehicles"` //Calculated in Vehicles Service TotalActiveRansomOrders int64 `json:"total_active_ransom_orders"` //Calculated in Vehicles Service TotalActiveRentOrders int64 `json:"total_active_rent_orders"` //Calculated in Vehicles Service TotalVehiclesByStatuses map[string]int64 `json:"total_vehicles_by_statuses"` //Calculated in Vehicles Service DebtorsOrdersAmount int64 `json:"debtors_orders_amount"` DebtorsBalance float64 `json:"debtors_balance"` CoverageAmount float64 `json:"coverage_amount"` ResidualFleetAmount float64 `json:"residual_fleet_amount"` PlannedIncomeAmount float64 `json:"planned_income_amount"` //Calculated in Vehicles Service ActualIncomeAmount float64 `json:"actual_income_amount"` RansomBalanceOperationsAmount float64 `json:"ransom_balance_operations_amount"` RentBalanceOperationsAmount float64 `json:"rent_balance_operations_amount"` ActiveRansomOrdersUIDs []string `json:"active_ransom_orders_uids"` //Calculated in Vehicles Service ActiveRentOrdersUIDs []string `json:"active_rent_orders_uids"` //Calculated in Vehicles Service RansomOrdersUIDs []string `json:"ransom_orders_uids"` //Calculated in Vehicles Service RentOrdersUIDs []string `json:"rent_orders_uids"` //Calculated in Vehicles Service SumOfTotalVehicleAmountActive float64 `json:"sum_of_total_vehicle_amount_active"` //Calculated in Vehicles Service SumOfTotalVehicleAmount float64 `json:"sum_of_total_vehicle_amount"` //Calculated in Vehicles Service }
type History ¶
type History struct { ID int64 `json:"id" gorm:"primarykey"` AccountsID int64 `json:"accounts_id"` SourceTable string `json:"source_table" gorm:"index"` SourceID int64 `json:"source_id" gorm:"index"` OperationType string `json:"operation_type"` After datatypes.JSON `json:"after"` Before datatypes.JSON `json:"before"` UserID int64 `json:"user_id"` UserData interface{} `json:"user_data" gorm:"-"` CreatedAt time.Time `json:"created_at"` }
type InputGetListFines ¶
type InputGetListFines struct { Page int `json:"page"` PageSize int `json:"page_size"` OrderBy string `json:"order_by"` OrderDir string `json:"order_direction" example:"asc|desc"` Filters FinesFilters `json:"filters"` }
type Manager ¶
type Manager struct { ID int64 `json:"id" gorm:"primarykey"` UID string `json:"uid"` ExtID int64 `json:"ext_id"` AccountsID int64 `json:"accounts_id"` FirstName string `json:"first_name"` MiddleName string `json:"middle_name"` LastName string `json:"last_name"` Phone string `json:"phone"` Email string `json:"email"` Birthday time.Time `json:"birthday"` RansomOrders *[]map[string]interface{} `json:"ransom_orders,omitempty" gorm:"-"` RentOrders *[]map[string]interface{} `json:"rent_orders,omitempty" gorm:"-"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt gorm.DeletedAt `json:"deleted_at" gorm:"index" swaggertype:"string"` }
type MandatoryPayment ¶
type MandatoryPayment struct { ID int64 `json:"id" gorm:"primarykey"` RansomOrdersID int64 `json:"ransom_orders_id" gorm:"index"` ContractYearStart time.Time `json:"contract_year_start" gorm:"index"` ContractYearEnd time.Time `json:"contract_year_end"` MandatoryAmount float64 `json:"mandatory_amount"` ContributionAmount float64 `json:"contribution_amount"` ContributionAmountArray datatypes.JSON `json:"contribution_amount_array"` }
type MandatoryPaymentOne ¶
type Order ¶
type Order struct { ID int64 `json:"id"` UID string `json:"uid"` IsActive bool `json:"is_active"` Status string `json:"status"` UserFullName string `json:"user_full_name"` VehicleFullName string `json:"vehicle_full_name"` UserUID string `json:"user_uid"` VehicleUID string `json:"vehicle_uid"` UserPhone string `json:"user_phone"` RansomTerm *int `json:"ransom_term"` RansomYearRate *float64 `json:"ransom_year_rate"` DayPayment float64 `json:"day_payment"` DateStart *time.Time `json:"date_start"` DateEnd *time.Time `json:"date_end"` ContractDate *time.Time `json:"contract_date"` ContractDateEnd *time.Time `json:"contract_date_end"` Type string `json:"type"` }
type OrdersPeriodSummary ¶
type OrdersPeriodSummary struct { //All TotalNewAndEndedOrders int64 `json:"total_new_and_ended_orders"` TotalEndedOrders int64 `json:"total_ended_orders"` TotalNewOrders int64 `json:"total_new_orders"` //Rent TotalNewAndEndedRentOrders int64 `json:"total_new_and_ended_rent_orders"` TotalEndedRentOrders int64 `json:"total_ended_rent_orders"` TotalNewRentOrders int64 `json:"total_new_rent_orders"` //Ransom TotalNewAndEndedRansomOrders int64 `json:"total_new_and_ended_ransom_orders"` TotalEndedRansomOrders int64 `json:"total_ended_ransom_orders"` TotalNewRansomOrders int64 `json:"total_new_ransom_orders"` //Sums RentCashSummary PeriodCashSummary `json:"rent_cash_summary"` RansomCashSummary PeriodCashSummary `json:"ransom_cash_summary"` TotalCashSummary PeriodCashSummary `json:"total_cash_summary"` }
type PaginationOrder ¶
type PaginationRansomOrder ¶
type PaginationRansomOrder struct { Page int `json:"page"` Items *[]RansomOrder `json:"items"` TotalItems int64 `json:"total_items"` TotalPages int `json:"total_pages"` }
type PaginationRentOrder ¶
type PeriodCashSummary ¶
type PeriodCashSummary struct { BalanceReplenishment float64 `json:"balance_replenishment"` //Opertaions Category 10 MonthlyPayments float64 `json:"monthly_payments"` //Opertaions Category 8 Delta float64 `json:"delta"` //Opertaions Category 8 - Opertaions Category 10 TotalRepairAmount float64 `json:"total_repair_amount"` //Opertaions Category 21 }
type RansomOrder ¶
type RansomOrder struct { ID int64 `json:"id" gorm:"primarykey"` UID string `json:"uid"` ExtID int64 `json:"ext_id"` AccountsID int64 `json:"accounts_id"` ManagersID int64 `json:"managers_id"` UsersID int64 `json:"users_id"` VehiclesID int64 `json:"vehicles_id"` TariffsID int64 `json:"tariffs_id"` ContractDate time.Time `json:"contract_date"` ContractDateEnd *time.Time `json:"contract_date_end"` ContractDateEndDescription *string `json:"contract_date_end_description"` Status string `json:"status" default:"PRELIMINARY" example:"PRELIMINARY/RESERVE/SUCCESS/CANCEL"` IsActive bool `json:"is_active"` IsMandatoryPaymentsIncluded bool `json:"is_mandatory_payments_included"` IsInitialPay bool `json:"is_initial_pay"` WriteOffPriority datatypes.JSON `json:"write_off_priority"` DepositPayout float64 `json:"deposit_payout"` DKPAmount float64 `json:"dkp_amount"` AdditionalEquipment float64 `json:"additional_equipment"` DayPayment float64 `json:"day_payment"` RansomTariff *RansomTariff `json:"ransom_tariffs,omitempty" gorm:"-"` User *User `json:"user,omitempty" gorm:"-"` Manager *Manager `json:"manager,omitempty" gorm:"-"` Vehicle *Vehicle `json:"vehicle,omitempty" gorm:"-"` UserFullName *string `json:"user_full_name,omitempty" gorm:"-"` VehicleFullName *string `json:"vehicle_full_name,omitempty" gorm:"-"` UserUID *string `json:"user_uid,omitempty" gorm:"-"` VehicleUID *string `json:"vehicle_uid,omitempty" gorm:"-"` LastPayment *interface{} `json:"last_payment,omitempty" gorm:"-"` Bill *Bill `json:"bill,omitempty" gorm:"-"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt gorm.DeletedAt `json:"deleted_at" gorm:"index" swaggertype:"string"` }
type RansomOrderFromSearch ¶
type RansomOrderFromSearch struct { RansomOrderID int64 `json:"ransom_order_id"` RansomOrderUID string `json:"ransom_order_uid"` RansomUsersID int64 `json:"ransom_users_id"` RansomUsersUID string `json:"ransom_users_uid"` VehiclesUID string `json:"vehicles_uid"` VehiclesNumber string `json:"vehicles_number"` RansomUsersPhone string `json:"ransom_users_phone"` RansomUsersFullname string `json:"ransom_users_fullname"` VehiclesFullname string `json:"vehicles_fullname"` DayPayment float64 `json:"day_payment"` Term int `json:"term"` YearRate float64 `json:"year_rate"` InsuranceRate int `json:"insurance_rate"` MonthPayment float64 `json:"month_payment"` InitialFee int `json:"initial_fee"` VehicleAmount float64 `json:"vehicle_amount"` YearMandatoryAmount float64 `json:"year_mandatory_amount"` YearMandatoryPayoutAmount float64 `json:"year_mandatory_payout_amount"` ExtID int64 `json:"ext_id"` AccountsID int64 `json:"accounts_id"` ManagersID int64 `json:"managers_id"` UsersID int64 `json:"users_id"` VehiclesID int64 `json:"vehicles_id"` TariffsID int64 `json:"tariffs_id"` ContractDate time.Time `json:"contract_date"` ContractEndAt *time.Time `json:"contract_end_at"` ContractEndDescription *string `json:"contract_end_description"` Status string `json:"status" example:"PRELIMINARY/RESERVE/SUCCESS/CANCEL"` IsActive bool `json:"is_active"` IsMandatoryPaymentsIncluded bool `json:"is_mandatory_payments_included"` IsInitialPay bool `json:"is_initial_pay"` WriteOffPriority datatypes.JSON `json:"write_off_priority"` DepositPayout float64 `json:"deposit_payout"` DKPAmount float64 `json:"dkp_amount"` AdditionalEquipment float64 `json:"additional_equipment"` LastPayment *interface{} `json:"last_payment"` Bill *Bill `json:"bill"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt gorm.DeletedAt `json:"deleted_at" swaggertype:"string"` }
type RansomTariff ¶
type RansomTariff struct { ID int64 `json:"id" gorm:"primarykey"` UID string `json:"uid"` ExtID int64 `json:"ext_id"` AccountsID int64 `json:"accounts_id"` VehiclesID int64 `json:"vehicles_id"` InitialFee int `json:"initial_fee"` VehicleAmount float64 `json:"vehicle_amount"` TrackerAmount float64 `json:"tracker_amount"` TrackerServiceAmount float64 `json:"tracker_service_amount"` SourceTrackerMonthAmount float64 `json:"source_tracker_month_amount"` VehicleTaxAmount float64 `json:"vehicle_tax_amount"` RegistrationAmount float64 `json:"regisration_amount"` InsuranceOsagoAmount float64 `json:"insurance_osago_amount"` Term int `json:"term"` YearRate float64 `json:"year_rate"` InsuranceRate int `json:"insurance_rate"` MonthPayment float64 `json:"month_payment"` DayPayment float64 `json:"day_payment"` TotalVehicleAmount float64 `json:"total_vehicle_amount"` TotalVehicleWithoutInsuranceAmount float64 `json:"total_vehicle_without_insurance_amount"` Vehicle *Vehicle `json:"vehicle,omitempty" gorm:"-"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt gorm.DeletedAt `json:"deleted_at" gorm:"index" swaggertype:"string"` }
type RentLandingVehicle ¶
type RentLandingVehicle struct { ID int64 `json:"id"` VehiclesServiceUid string `json:"vehiclesServiceUid"` Mark string `json:"mark"` Model string `json:"model"` Year int `json:"year"` Color string `json:"color"` Transmission string `json:"transmission"` Engine int `json:"engine"` Drive string `json:"drive"` Volume int `json:"volume"` Rent int `json:"rent"` DayPrice int `json:"dayPrice"` }
type RentOrder ¶
type RentOrder struct { ID int64 `json:"id" gorm:"primarykey"` UID string `json:"uid"` ExtID int64 `json:"ext_id"` AccountsID int64 `json:"accounts_id"` UsersID int64 `json:"users_id"` ManagersID int64 `json:"managers_id"` VehiclesID int64 `json:"vehicles_id"` TariffsID int64 `json:"tariffs_id"` DateStart time.Time `json:"date_start"` DateEnd time.Time `json:"date_end"` DateEndDescription *string `json:"date_end_description"` ReasonForTerminating *string `json:"reason_for_terminating"` Status string `json:"status" default:"PRELIMINARY" example:"PRELIMINARY|RESERVE|SUCCESS|CANCEL"` IsActive bool `json:"is_active"` DepositPayout float64 `json:"deposit_payout"` RentTariff *RentTariff `json:"rent_tariff,omitempty" gorm:"-"` User *User `json:"user,omitempty" gorm:"-"` Manager *Manager `json:"manager,omitempty" gorm:"-"` Vehicle *Vehicle `json:"vehicle,omitempty" gorm:"-"` UserFullName *string `json:"user_full_name,omitempty" gorm:"-"` VehicleFullName *string `json:"vehicle_full_name,omitempty" gorm:"-"` UserUID *string `json:"user_uid,omitempty" gorm:"-"` VehicleUID *string `json:"vehicle_uid,omitempty" gorm:"-"` Bill *Bill `json:"bill,omitempty" gorm:"-"` LastPayment *interface{} `json:"last_payment,omitempty" gorm:"-"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt gorm.DeletedAt `json:"deleted_at" gorm:"index" swaggertype:"string"` }
type RentTariff ¶
type RentTariff struct { ID int64 `json:"id" gorm:"primarykey"` UID string `json:"uid"` ExtID int64 `json:"ext_id"` AccountsID int64 `json:"accounts_id"` VehiclesID int64 `json:"vehicles_id"` FromDays int `json:"from_days"` ToDays int `json:"to_days"` DayPayment float64 `json:"day_payment"` Vehicle *Vehicle `json:"vehicle,omitempty" gorm:"-"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt gorm.DeletedAt `json:"deleted_at" gorm:"index" swaggertype:"string"` }
type SysInfoByDate ¶
type SysInfoByDate struct { TotalCreatedVehicles int64 `json:"total_created_vehiles"` TotalCompletedRansomOrders int64 `json:"total_completed_ransom_orders"` TotalCompletedRentOrders int64 `json:"total_completed_rent_orders"` TotalVehiclesStatuses map[string]int64 `json:"total_vehicles_statuses"` TotalNewAndCompletedOrders int64 `json:"total_new_and_completed_orders"` }
type User ¶
type User struct { ID int64 `json:"id" gorm:"primarykey"` UID string `json:"uid"` ExtID int64 `json:"ext_id"` AccountsID int64 `json:"accounts_id"` FirstName string `json:"first_name"` LastName string `json:"last_name"` MiddleName string `json:"middle_name"` Phone string `json:"phone" gorm:"index"` FirebaseUID string `json:"firebase_uid"` Firebase datatypes.JSON `json:"firebase" swaggertype:"string"` PartnerType string `json:"partner_type" default:"PHYSICAL"` PassportNumber string `json:"passport_number"` PassportSeries string `json:"passport_series"` PassportIssuedBy string `json:"passport_issued_by"` PassportDateOfIssue time.Time `json:"passport_date_of_issue"` PassportPlaceOfIssue string `json:"passport_place_of_issue"` Birthday time.Time `json:"birthday"` Email string `json:"email"` ContactPerson string `json:"contact_person"` Comment string `json:"comment"` AddressOfLiving string `json:"address_of_living"` LegalAddress string `json:"legal_address"` INN string `json:"inn"` OGRN string `json:"ogrn"` Bank string `json:"bank"` BIK string `json:"bik"` KPP string `json:"kpp"` CheckingBill string `json:"checking_bill"` CorrespondentBill string `json:"correspondent_bill"` RentOrders *[]RentOrder `json:"rent_orders,omitempty" gorm:"-"` RansomOrders *[]RansomOrder `json:"ransom_orders,omitempty" gorm:"-"` Bill *Bill `json:"bill,omitempty" gorm:"-"` LastPayment *interface{} `json:"last_payment,omitempty" gorm:"-"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt gorm.DeletedAt `json:"deleted_at" gorm:"index" swaggertype:"string"` }
type Vehicle ¶
type Vehicle struct { ID int64 `json:"id" gorm:"primarykey"` UID string `json:"uid"` ExtID int64 `json:"ext_id"` OtherExtIDs pq.Int64Array `json:"other_ext_ids" gorm:"type:integer[]" swaggertype:"array,integer"` AccountsID int64 `json:"accounts_id"` Number string `json:"number"` Mark string `json:"mark"` Model string `json:"model"` Type string `json:"type"` Sts string `json:"sts"` Win string `json:"win"` Width *int `json:"widht"` Height *int `json:"height"` Depth *int `json:"depth"` Capacity *float32 `json:"capacity"` FuelTank *int `json:"fuel_tank"` SummerRate *float32 `json:"summer_rate"` WinterRate *float32 `json:"winter_rate"` Ransom bool `json:"ransom"` Description string `json:"description"` Bodywork string `json:"bodywork"` // Кузов Color string `json:"color"` // Цвет CustomFields datatypes.JSON `json:"custom_fields" swaggertype:"string"` // Свободные поля Drive string `json:"drive"` // Привод Engine string `json:"engine"` // Двигатель Kpp string `json:"kpp"` // Коробка передач Owner string `json:"owner"` // Владелец RentUsersID *int `json:"rent_users_id"` // Идентификатор арендатора Salon string `json:"salon"` // Салон Year string `json:"year"` // Год выпуска DefaultRansomTariffID *int64 `json:"default_ransom_tariff_id"` // Тариф на рассрочку по умолчанию Status string `json:"status" gorm:"default:FREE"` // Статус DateOsagoStart *time.Time `json:"date_osago_start"` // Дата начала ОСАГО DateOsagoEnd *time.Time `json:"date_osago_end"` // Дата окончания ОСАГО BuyDate *time.Time `json:"buy_date"` // Дата покупки BuyAmount *float64 `json:"buy_amount"` // Цена покупки RegistrationDate *time.Time `json:"registration_date"` // Дата постановки на учет TrackerInstallDate *time.Time `json:"tracker_install_date"` // Дата установки трекера TrackerNumber string `json:"tracker_number"` // Номер трекера LighthouseNumber string `json:"lighthouse_number"` // Номер маяка DKPAmount float64 `json:"dkp_amount"` RentOrder *RentOrder `json:"rent_order,omitempty" gorm:"-"` RansomOrder *RansomOrder `json:"ransom_order,omitempty" gorm:"-"` RentOrders *[]RentOrder `json:"rent_orders,omitempty" gorm:"-"` RansomOrders *[]RansomOrder `json:"ransom_orders,omitempty" gorm:"-"` RentTariffs *[]RentTariff `json:"rent_tariffs,omitempty" gorm:"-"` RansomTariffs *[]RansomTariff `json:"ransom_tariffs,omitempty" gorm:"-"` Bill *Bill `json:"bill,omitempty" gorm:"-"` LastPayment *interface{} `json:"last_payment,omitempty" gorm:"-"` RemindersCount *int64 `json:"reminders_count,omitempty" gorm:"-"` AvatarUri string `json:"avatar_uri"` DkpEnterFiles datatypes.JSON `json:"dkp_enter_files" swaggertype:"string"` StsFiles datatypes.JSON `json:"sts_files" swaggertype:"string"` OsagoFiles datatypes.JSON `json:"osago_files" swaggertype:"string"` DutyFiles datatypes.JSON `json:"duty_files" swaggertype:"string"` ContractsFiles datatypes.JSON `json:"contracts_files" swaggertype:"string"` OtherFiles datatypes.JSON `json:"other_files" swaggertype:"string"` ImagesFiles datatypes.JSON `json:"images_files" swaggertype:"string"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` DeletedAt gorm.DeletedAt `json:"deleted_at" gorm:"index" swaggertype:"string"` }
type VehicleAnalytics ¶
type VehicleAnalytics struct { VehiclesID int64 `json:"vehicles_id"` BuyDate string `json:"buy_date"` //- находим операцию с категорией ext_id = 14 и берем date операции VehiclesMark string `json:"vehicles_mark"` VehiclesModel string `json:"vehicles_model"` VehiclesVin string `json:"vehicles_vin"` VehiclesNumber string `json:"vehicles_number"` VehiclesSts string `json:"vehicles_sts"` VehiclesOwner string `json:"vehicles_owner"` VehicleAmount float64 `json:"vehicle_amount"` // - находим операции с категорией ext_id = 14 и берем amount операции Users *[]User `json:"users"` //- все пользователи в договорах которого участвовала машина AllVehicleAmount float64 `json:"all_vehicle_amount"` // - total_vehicle_amount из тарифа ransom is_active = true Deposit float64 `json:"deposit"` //- все операции по машине в deposit = true VehicleAmountForUser float64 `json:"vehicle_amount_for_user"` //- vehicle_amount из тарифа ransom is_active = true DaysCount uint64 `json:"days_count"` //- количество дней по операциям с категорией ext_id = 8 DayPaymentAmount float64 `json:"day_payment_amount"` //- day_payment из тарифа ransom is_active = true умножаем на X 30.4167 Result float64 `json:"result"` //- (сумма всех операций в категориях ext_id IN (10,48,57) AND parent_id{ext_id} IN (49,54,58)) минус (сумма всех операций в категориях ext_id IN (14,16,17,20,21) AND parent_id{ext_id} IN (15,19,23) MetaVehicleAmount float64 `json:"meta_vehicle_amount"` //- current.vehicleAmount + current.repairCreditAmount + current.otherCreditAmount VehicleAmountWithoutInititalFee float64 `json:"vehicle_amount_without_initital_fee"` //- берем тариф ransom is_active = true (vehicle_amount - initial_fee) YearKoeff float64 `json:"year_koeff"` RansTariffTotalVehicleWithoutInsuranceAmount float64 `json:"rans_tariff_total_vehicle_without_insurance_amount"` RansTariffInsuranceRate int64 `json:"rans_tariff_insurance_rate"` MonthPaymentAmount float64 `json:"month_payment_amount"` DayPaymentsVehicleAmount float64 `json:"day_payments_vehicle_amount"` //- //const yearKoeff = ransom_tariff.term / 12 //const termDays = yearKoeff X 365 //return (current.vehicle_amount_without_initital_fee / termDays) X current.days_count DayPaymentsMetaVehicleAmount float64 `json:"day_payments_meta_vehicle_amount"` //- (current.meta_vehicle_amount / termDays) X current.days_count MandatoryPaymentAmount float64 `json:"mandatory_payment_amount"` // - (ransom_tariff.tracker_service_amount X ransom_tariff.term) + (ransom_tariff.tracker_amount) + (ransom_tariff.vehicle_tax_amount X yearKoeff) + (ransom_tariff.registration_amount) + (ransom_tariff.insurance_osago_amount X yearKoeff) DayPaymentsMandatoryAmount float64 `json:"day_payments_mandatory_amount"` // - (current.mandatory_payment_amount / termDays) X current.days_count InvestAmount float64 `json:"invest_amount"` // - (ransom_tariff.vehicle_amount) + (ransom_tariff.tracker_service_amount X ransom_tariff.term) + (ransom_tariff.vehicle_tax_amoun X yearKoeff) + (ransom_tariff.registration_amount) + (ransom_tariff.tracker_amount) + (ransom_tariff.insurance_osago_amount X yearKoeff) DayPaymentsCoverageAmount float64 `json:"day_payments_coverage_amount"` // - ((ransom_tariff.total_vehicle_without_insurance_amount - current.invest_amount) / termDays) X current.days_count SecurityDepositAmount float64 `json:"security_deposit_amount"` // - ((ransom_tariff.total_vehicle_without_insurance_amount X (ransom_tariff.insurance_amount / 100)) / termDays) X current.days_count DayPaymentsMarginIncomeAmount float64 `json:"day_payments_margin_income_amount"` // - ((tariff.vehicle_amount - current.meta_vehicle_amount) / termDays) * current.days_count TrackerInstallAmount float64 `json:"tracker_install_amount"` //[16] TrackerMonthAmount float64 `json:"tracker_month_amount"` //[17] RegistrationAmount float64 `json:"registration_amount"` // [20], RepairCreditAmount float64 `json:"repair_credit_amount"` // [21], OtherCreditAmount float64 `json:"other_credit_amount"` // [23], VehicleTaxAmount float64 `json:"vehicle_tax_amount"` // [19], TotalCreditAmount float64 `json:"total_credit_amount"` // [14, 16, 17, 20, 21], // = 14 ~ 2000, 17 ~ 1000 = 3000 RentDebitAmount float64 `json:"rent_debit_amount"` // [10], InitialPaymentAmount float64 `json:"initial_payment_amount"` // [48], CategoryMandatoryPaymentAmount float64 `json:"category_mandatory_payment_amount"` // [49], RepairDebitAmount float64 `json:"repair_debit_amount"` // [57], TotalDebitAmount float64 `json:"total_debit_amount"` // [10, 48, 57], DayPaymentsAmount float64 `json:"day_payments_amount"` // [8], //CATEGORIES_PARENTS_IDS ParentsOsagoAndDkAmount float64 `json:"parents_osago_and_dk_amount"` // [15], ParentsTotalCreditAmount float64 `json:"parents_total_credit_amount"` // [15, 19, 23], // = 15 ~ 200, 23 ~ 3000 = 3200 ParentsMandatoryPaymentAmount float64 `json:"parents_mandatory_payment_amount"` // [49, 54], ParentsOtherDebitAmount float64 `json:"parents_other_debit_amount"` // [58], ParentsTotalDebitAmount float64 `json:"parents_total_debit_amount"` // [49, 54, 58], OrdersUIDs *[]string `json:"orders_uids"` }
Click to show internal directories.
Click to hide internal directories.