IOS_Boss/IOS_study/Model/PLJob.swift
2025-07-27 12:33:06 +08:00

218 lines
10 KiB
Swift
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// PLJob.swift
// IOS_study
//
// Created by CC-star on 2025/6/28.
//
import Foundation
//-->codingkeys(String)decodedecodeinitdecode
struct PLJob: Identifiable, Codable {//,Codable:/
var id = UUID().uuidString//id
var isActive = true//线
var title = ""//
var business = "互联网"//
var tax = "详谈"//
var hourlyWage = 100//
var wantNum = 3//
var contactType = "微信"//
var contact = ""//
//
var startHour = 10//
var startMin = 0//
var endHour = 20//
var endMin = 0//
//
var has2 = false//
//
var startHour2 = 10//
var startMin2 = 0//
var endHour2 = 20//
var endMin2 = 0//
var otherTime = ""//
var placeName = ""//
var province = "北京"//
var city = ""//
var workContent = ""//
//
var needExp = "1-3年"//
var needEdu = "本科"//
var needLan = "Swift"//
var needFrame = "SwiftUI"//
var otherNeed = ""//
//
var moveFee = true//
var noOverTime = true//
var otherBenefit = ""//
//
var companyName = ""//
var userID = ""//id
//var creatTime = ""
var updatedAt = Date()//
var wantWorkNum = 0//
enum CodingKeys: String,CodingKey {
case id
case isActive
case title
case business
case tax
case hourlyWage
case wantNum
case contactType
case contact
case startHour
case startMin
case endHour
case endMin
case has2
case startHour2
case startMin2
case endHour2
case endMin2
case otherTime
case placeName
case province
case city
case workContent
case needExp
case needEdu
case needLan
case needFrame
case otherNeed
case moveFee
case noOverTime
case otherBenefit
case companyName
case userID
case updatedAt
case wantWorkNum
}
init(from decoder: any Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self)
self.id = try container.decode(String.self, forKey: .id)
self.isActive = try container.decodeIfPresent(Bool.self, forKey: .isActive) ?? true
self.title = try container.decodeIfPresent(String.self, forKey: .title) ?? ""
self.business = try container.decodeIfPresent(String.self, forKey: .business) ?? "互联网"
self.tax = try container.decodeIfPresent(String.self, forKey: .tax) ?? "详谈"
self.hourlyWage = try container.decodeIfPresent(Int.self, forKey: .hourlyWage) ?? 100
self.wantNum = try container.decodeIfPresent(Int.self, forKey: .wantNum) ?? 3
self.contactType = try container.decodeIfPresent(String.self, forKey: .contactType) ?? "微信"
self.contact = try container.decodeIfPresent(String.self, forKey: .contact) ?? ""
self.startHour = try container.decodeIfPresent(Int.self, forKey: .startHour) ?? 10
self.startMin = try container.decodeIfPresent(Int.self, forKey: .startMin) ?? 0
self.endHour = try container.decodeIfPresent(Int.self, forKey: .endHour) ?? 20
self.endMin = try container.decodeIfPresent(Int.self, forKey: .endMin) ?? 0
self.has2 = try container.decodeIfPresent(Bool.self, forKey: .has2) ?? false
self.startHour2 = try container.decodeIfPresent(Int.self, forKey: .startHour2) ?? 10
self.startMin2 = try container.decodeIfPresent(Int.self, forKey: .startMin2) ?? 0
self.endHour2 = try container.decodeIfPresent(Int.self, forKey: .endHour2) ?? 20
self.endMin2 = try container.decodeIfPresent(Int.self, forKey: .endMin2) ?? 0
self.otherTime = try container.decodeIfPresent(String.self, forKey: .otherTime) ?? ""
self.placeName = try container.decodeIfPresent(String.self, forKey: .placeName) ?? ""
self.province = try container.decodeIfPresent(String.self, forKey: .province) ?? "浙江"
self.city = try container.decodeIfPresent(String.self, forKey: .city) ?? ""
self.workContent = try container.decodeIfPresent(String.self, forKey: .workContent) ?? ""
self.needExp = try container.decodeIfPresent(String.self, forKey: .needExp) ?? "1-3年"
self.needEdu = try container.decodeIfPresent(String.self, forKey: .needEdu) ?? "本科"
self.needLan = try container.decodeIfPresent(String.self, forKey: .needLan) ?? "Swift"
self.needFrame = try container.decodeIfPresent(String.self, forKey: .needFrame) ?? "SwiftUI"
self.otherNeed = try container.decodeIfPresent(String.self, forKey: .otherNeed) ?? ""
self.moveFee = try container.decodeIfPresent(Bool.self, forKey: .moveFee) ?? true
self.noOverTime = try container.decodeIfPresent(Bool.self, forKey: .noOverTime) ?? true
self.otherBenefit = try container.decodeIfPresent(String.self, forKey: .otherBenefit) ?? ""
self.companyName = try container.decodeIfPresent(String.self, forKey: .companyName) ?? ""
self.userID = try container.decodeIfPresent(String.self, forKey: .userID) ?? ""
self.updatedAt = try container.decodeIfPresent(Date.self, forKey: .updatedAt) ?? Date()
self.wantWorkNum = try container.decodeIfPresent(Int.self, forKey: .wantWorkNum) ?? 0
}
// func encode(to encoder: any Encoder) throws {
// var container = encoder.container(keyedBy: CodingKeys.self)
// try container.encode(self.id, forKey: .id)
// try container.encode(self.isActive, forKey: .isActive)
// try container.encode(self.title, forKey: .title)
// try container.encode(self.business, forKey: .business)
// try container.encode(self.tax, forKey: .tax)
// try container.encode(self.hourlyWage, forKey: .hourlyWage)
// try container.encode(self.wantNum, forKey: .wantNum)
// try container.encode(self.contactType, forKey: .contactType)
// try container.encode(self.contact, forKey: .contact)
// try container.encode(self.startHour, forKey: .startHour)
// try container.encode(self.startMin, forKey: .startMin)
// try container.encode(self.endHour, forKey: .endHour)
// try container.encode(self.endMin, forKey: .endMin)
// try container.encode(self.has2, forKey: .has2)
// try container.encode(self.startHour2, forKey: .startHour2)
// try container.encode(self.startMin2, forKey: .startMin2)
// try container.encode(self.endHour2, forKey: .endHour2)
// try container.encode(self.endMin2, forKey: .endMin2)
// try container.encode(self.otherTime, forKey: .otherTime)
// try container.encode(self.placeName, forKey: .placeName)
// try container.encode(self.province, forKey: .province)
// try container.encode(self.city, forKey: .city)
// try container.encode(self.workContent, forKey: .workContent)
// try container.encode(self.needExp, forKey: .needExp)
// try container.encode(self.needEdu, forKey: .needEdu)
// try container.encode(self.needLan, forKey: .needLan)
// try container.encode(self.needFrame, forKey: .needFrame)
// try container.encode(self.otherNeed, forKey: .otherNeed)
// try container.encode(self.moveFee, forKey: .moveFee)
// try container.encode(self.noOverTime, forKey: .noOverTime)
// try container.encode(self.otherBenefit, forKey: .otherBenefit)
// try container.encode(self.companyName, forKey: .companyName)
// try container.encode(self.userID, forKey: .userID)
// try container.encode(self.updatedAt, forKey: .updatedAt)
// try container.encode(self.wantWorkNum, forKey: .wantWorkNum)
// }
init(id: String = UUID().uuidString, isActive: Bool = true, title: String = "", business: String = "互联网", tax: String = "详谈", hourlyWage: Int = 100, wantNum: Int = 3, contactType: String = "微信", contact: String = "", startHour: Int = 10, startMin: Int = 0, endHour: Int = 20, endMin: Int = 0, has2: Bool = false, startHour2: Int = 10, startMin2: Int = 0, endHour2: Int = 20, endMin2: Int = 0, otherTime: String = "", placeName: String = "", province: String = "浙江", city: String = "", workContent: String = "", needExp: String = "1-3年", needEdu: String = "本科", needLan: String = "Swift", needFrame: String = "SwiftUI", otherNeed: String = "", moveFee: Bool = true, noOverTime: Bool = true, otherBenefit: String = "", companyName: String = "", userID: String = "", updatedAt: Date = Date(), wantWorkNum: Int = 0) {
self.id = id
self.isActive = isActive
self.title = title
self.business = business
self.tax = tax
self.hourlyWage = hourlyWage
self.wantNum = wantNum
self.contactType = contactType
self.contact = contact
self.startHour = startHour
self.startMin = startMin
self.endHour = endHour
self.endMin = endMin
self.has2 = has2
self.startHour2 = startHour2
self.startMin2 = startMin2
self.endHour2 = endHour2
self.endMin2 = endMin2
self.otherTime = otherTime
self.placeName = placeName
self.province = province
self.city = city
self.workContent = workContent
self.needExp = needExp
self.needEdu = needEdu
self.needLan = needLan
self.needFrame = needFrame
self.otherNeed = otherNeed
self.moveFee = moveFee
self.noOverTime = noOverTime
self.otherBenefit = otherBenefit
self.companyName = companyName
self.userID = userID
self.updatedAt = updatedAt
self.wantWorkNum = wantWorkNum
}
static let job = PLJob(title: "iOS程序员", tax: "报税", contact: "12345", has2: true, startHour2: 14, endHour2: 22, otherTime: "可以根据实际情况调整", placeName: "阿里巴巴西溪园区", province: "浙江", city: "杭州", workContent: "iOS开发啊啊iOS开发啊啊iOS开发啊啊iOS开发啊啊iOS开发啊啊iOS开发啊啊", otherNeed: "什么都不需要啊啊什么都不需要啊啊什么都不需要啊啊什么都不需要啊啊", otherBenefit: "什么都有啊啊什么都有啊啊什么都有啊啊什么都有啊啊什么都有啊啊",companyName:"阿里巴巴")
}