Skip to content

Commit d76f30d

Browse files
committedAug 17, 2019
change
1 parent 91954f6 commit d76f30d

File tree

5 files changed

+78
-7
lines changed

5 files changed

+78
-7
lines changed
 

‎LiquidEye/BackToWorkViewController.swift

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ class BackToWorkViewController: NSViewController {
2727
updateTodayQuantity(isAchieved: true)
2828
updateTodayTime()
2929
print(getTodayTime())
30+
sendUsage()
3031

3132
explanationLabel.isHidden = !preset.isAccomplishmentMessage
3233

‎LiquidEye/DataStructure.swift

+66-1
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,18 @@ struct Click: Codable {
5454
}
5555
}
5656

57+
struct Usage: Codable {
58+
var identifier = "P01"
59+
var time = "2018-09-09 11:11:11"
60+
var interval = 30 //초
61+
var todayTotalTime = 30 //초
62+
var todayDoneFrequency = 10 //횟수
63+
var todayTotalFrequency = 100 //횟수
64+
65+
init() {
66+
}
67+
}
68+
5769
struct Preference: Codable {
5870
var identifier = "P01" //PXX
5971
var time = "2018-09-09 11:11:11" //sending time
@@ -153,8 +165,60 @@ var preset: Preference {
153165
}
154166
}
155167

168+
169+
func sendUsage() {
170+
let todayDateFormatter = DateFormatter()
171+
todayDateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
172+
let dateFormatter = DateFormatter()
173+
dateFormatter.dateFormat = "yyyy-MM-dd"
174+
let url = "http://18.191.148.80:8080/sendUsage"
175+
let encoder = JSONEncoder()
176+
encoder.outputFormatting = .prettyPrinted
177+
do {
178+
var usage = Usage()
179+
usage.identifier = preset.identifier
180+
usage.time = todayDateFormatter.string(from: Date())
181+
switch preset.frequency {
182+
case 0:
183+
usage.interval = 20
184+
case 1:
185+
usage.interval = 600
186+
default:
187+
if preset.timeType == 0 {
188+
usage.interval = preset.customFrequencyInterval
189+
} else {
190+
usage.interval = preset.customFrequencyInterval * 60
191+
}
192+
}
193+
usage.todayDoneFrequency = getTodayQuantity(isAchieved: true)
194+
usage.todayTotalFrequency = getTodayQuantity(isAchieved: true)
195+
usage.todayTotalTime = getTodayTime()
196+
let jsonData = try encoder.encode(usage)
197+
if let jsonString = String(data: jsonData, encoding: .utf8) {
198+
let contentToAppend = jsonString+",\n"
199+
let filePath = NSHomeDirectory() + "/Documents/usage_" + dateFormatter.string(from: Date())
200+
if let fileHandle = FileHandle(forWritingAtPath: filePath) {
201+
fileHandle.seekToEndOfFile()
202+
fileHandle.write(contentToAppend.data(using: .utf8) ?? Data())
203+
}
204+
else {
205+
do {
206+
try contentToAppend.write(toFile: filePath, atomically: true, encoding: String.Encoding.utf8)
207+
} catch {
208+
print("Error creating \(filePath)")
209+
}
210+
}
211+
print(jsonString)
212+
Alamofire.request(url, method: .post, parameters: JSON(parseJSON: jsonString).dictionaryObject, encoding: JSONEncoding.default).responseJSON { (js) in
213+
print(js)
214+
}
215+
}
216+
} catch {
217+
print(error.localizedDescription)
218+
}
219+
}
220+
156221
func sendPreference() {
157-
158222
let todayDateFormatter = DateFormatter()
159223
todayDateFormatter.dateFormat = "yyyy-MM-dd"
160224
let url = "http://18.191.148.80:8080/preferenceChange"
@@ -351,6 +415,7 @@ func updateTodayTime() {
351415
}
352416
print(todayQuantity)
353417
}
418+
354419
func getTodayTime() -> Int {
355420
let dateFormatter = DateFormatter()
356421
dateFormatter.dateFormat = "yyyy-MM-dd"

‎LiquidEye/DoneViewController.swift

+7
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,13 @@ class DoneViewController: NSViewController {
1414
override func viewDidLoad() {
1515
super.viewDidLoad()
1616

17+
if !preset.isAccomplishment {
18+
updateTodayQuantity(isAchieved: true)
19+
updateTodayTime()
20+
print(getTodayTime())
21+
sendUsage()
22+
}
23+
1724
if #available(OSX 10.12, *) {
1825
timer = Timer.scheduledTimer(withTimeInterval: 5.0, repeats: false, block: { (timer) in
1926
self.view.window?.close()

‎LiquidEye/InProgressViewController.swift

+4-6
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ class InProgressViewController: NSViewController {
2323
case (false, true):
2424
switchView(id: "DoneViewController", self)
2525
default:
26+
updateTodayQuantity(isAchieved: true)
27+
updateTodayTime()
28+
print(getTodayTime())
29+
sendUsage()
2630
self.view.window?.close()
2731
}
2832
}
@@ -37,12 +41,6 @@ class InProgressViewController: NSViewController {
3741
nextButton.title = "다음"
3842
}
3943

40-
if preset.isAccomplishment && !preset.isCompliment {
41-
nextButton.title = "휴식 끝내기"
42-
} else {
43-
nextButton.title = "다음"
44-
}
45-
4644
switch preset.character {
4745
case 0:
4846
imageView.image = NSImage(named: "man")

0 commit comments

Comments
 (0)
Please sign in to comment.