Initial qiwei secondary development handoff
This commit is contained in:
76
after_sales_dispatch.go
Normal file
76
after_sales_dispatch.go
Normal file
@@ -0,0 +1,76 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
)
|
||||
|
||||
// GetAfterSalesDispatchConfig returns the local engineer dispatch settings.
|
||||
func (a *App) GetAfterSalesDispatchConfig() interface{} {
|
||||
result, err := a.getHelperJSON("/api/after-sales/dispatch/config")
|
||||
if err != nil {
|
||||
return map[string]interface{}{"success": false, "message": err.Error()}
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
// SaveAfterSalesDispatchConfig persists engineer dispatch settings.
|
||||
func (a *App) SaveAfterSalesDispatchConfig(jsonData string) (bool, string) {
|
||||
var payload map[string]interface{}
|
||||
if err := json.Unmarshal([]byte(jsonData), &payload); err != nil {
|
||||
return false, fmt.Sprintf("解析派单配置失败: %v", err)
|
||||
}
|
||||
result, err := a.postHelperJSON("/api/after-sales/dispatch/config", payload)
|
||||
if err != nil {
|
||||
return false, err.Error()
|
||||
}
|
||||
return helperResultOK(result)
|
||||
}
|
||||
|
||||
// GetAfterSalesDispatchQueue returns pending after-sales issues with dispatch state.
|
||||
func (a *App) GetAfterSalesDispatchQueue() interface{} {
|
||||
result, err := a.getHelperJSON("/api/after-sales/dispatch/queue")
|
||||
if err != nil {
|
||||
return map[string]interface{}{"success": false, "message": err.Error()}
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
// AssignAfterSalesIssue manually assigns an after-sales issue to an engineer.
|
||||
func (a *App) AssignAfterSalesIssue(issueId string, engineerUserId string) (bool, string) {
|
||||
result, err := a.postHelperJSON("/api/after-sales/dispatch/assign", map[string]interface{}{
|
||||
"issueId": issueId,
|
||||
"engineerUserId": engineerUserId,
|
||||
})
|
||||
if err != nil {
|
||||
if result != nil {
|
||||
return helperResultOK(result)
|
||||
}
|
||||
return false, err.Error()
|
||||
}
|
||||
return helperResultOK(result)
|
||||
}
|
||||
|
||||
// NotifyAfterSalesEngineer sends one issue notification to its assigned engineer.
|
||||
func (a *App) NotifyAfterSalesEngineer(issueId string) interface{} {
|
||||
result, err := a.postHelperJSON("/api/after-sales/dispatch/notify", map[string]interface{}{"issueId": issueId})
|
||||
if err != nil {
|
||||
if result != nil {
|
||||
return result
|
||||
}
|
||||
return map[string]interface{}{"success": false, "message": err.Error()}
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
// BatchNotifyAfterSalesEngineers sends multiple issue notifications.
|
||||
func (a *App) BatchNotifyAfterSalesEngineers(issueIds []string) interface{} {
|
||||
result, err := a.postHelperJSON("/api/after-sales/dispatch/batch-notify", map[string]interface{}{"issueIds": issueIds})
|
||||
if err != nil {
|
||||
if result != nil {
|
||||
return result
|
||||
}
|
||||
return map[string]interface{}{"success": false, "message": err.Error()}
|
||||
}
|
||||
return result
|
||||
}
|
||||
Reference in New Issue
Block a user