package DAL import ( "encoding/json" "flx/Common" "flx/Model" "fmt" "strconv" "time" log "github.com/sirupsen/logrus" ) // &CStaffInfo.StaffCategory // &CStaffInfo.StaffGroup func GetAllStaffInfoAll() []Model.T_StaffInfo { defer func() { if r := recover(); r != nil { log.Error("GetAllStaffInfoAll:", r) } }() rows, err := ConntectDB().Query("SELECT * FROM dbcongress.t_StaffInfo left join dbcongress.t_staffcategory on dbcongress.t_StaffInfo.St_CategoryID=dbcongress.t_staffcategory.ID left join dbcongress.t_staffgroup on dbcongress.t_StaffInfo.St_GroupID=dbcongress.t_staffgroup.ID order by dbcongress.t_StaffInfo.st_num ") if err != nil { fmt.Println(err.Error()) } defer rows.Close() var AllStaffInfo []Model.T_StaffInfo for rows.Next() { var CStaffInfo Model.SQLT_StaffInfo var namec string err := rows.Scan(&CStaffInfo.St_ID, &CStaffInfo.St_Name, &CStaffInfo.St_Num, &CStaffInfo.St_CategoryID, &CStaffInfo.St_GroupID, &CStaffInfo.St_Image, &CStaffInfo.St_WorkUnit, &CStaffInfo.St_Sex, &CStaffInfo.St_Phone, &CStaffInfo.St_CardNum, &CStaffInfo.St_ViceCardNum, &CStaffInfo.St_ViceCardNumA, &CStaffInfo.St_ViceCardNumB, &CStaffInfo.St_NationID, &CStaffInfo.St_PartyID, &CStaffInfo.St_Job, &CStaffInfo.St_Enabled, &CStaffInfo.St_Remarks, &CStaffInfo.St_CreateTime, &CStaffInfo.St_Updatetime, &CStaffInfo.St_Account, &CStaffInfo.St_PWD, &CStaffInfo.St_Wynum, &CStaffInfo.St_Serial, &CStaffInfo.St_SpareA, &CStaffInfo.St_SpareB, &CStaffInfo.StaffCategory.Ca_ID, &namec, &CStaffInfo.StaffCategory.Ca_Num, &CStaffInfo.StaffCategory.Ca_ReportPower, &CStaffInfo.StaffCategory.Ca_VotePower, &CStaffInfo.StaffCategory.Ca_SpeakPower, &CStaffInfo.StaffCategory.Ca_FirstSpeakPower, &CStaffInfo.StaffCategory.Ca_CallPower, &CStaffInfo.StaffCategory.Ca_SearchPower, &CStaffInfo.StaffCategory.Ca_Remarks, &CStaffInfo.StaffCategory.Ca_Serial, &CStaffInfo.StaffGroup.Gr_ID, &CStaffInfo.StaffGroup.Gr_Name, &CStaffInfo.StaffGroup.Gr_Num, &CStaffInfo.StaffGroup.Gr_Remarks, &CStaffInfo.StaffGroup.Gr_Serial) if err != nil { fmt.Println(err.Error()) // break } var CCStaffInfo Model.T_StaffInfo CCStaffInfo.St_ID = ChangeT(CStaffInfo.St_ID.Valid, CStaffInfo.St_ID.String).(string) CCStaffInfo.St_Name = ChangeT(CStaffInfo.St_Name.Valid, CStaffInfo.St_Name.String).(string) CCStaffInfo.St_Num = ChangeT(CStaffInfo.St_Num.Valid, CStaffInfo.St_Num.String).(string) CCStaffInfo.St_CategoryID = ChangeT(CStaffInfo.St_CategoryID.Valid, CStaffInfo.St_CategoryID.String).(string) CCStaffInfo.St_GroupID = ChangeT(CStaffInfo.St_GroupID.Valid, CStaffInfo.St_GroupID.String).(string) CCStaffInfo.St_Image = ChangeT(CStaffInfo.St_Image.Valid, CStaffInfo.St_Image.String).(string) CCStaffInfo.St_WorkUnit = ChangeT(CStaffInfo.St_WorkUnit.Valid, CStaffInfo.St_WorkUnit.String).(string) CCStaffInfo.St_Sex = int(ChangeT(CStaffInfo.St_Sex.Valid, CStaffInfo.St_Sex.Int32).(int32)) CCStaffInfo.St_Phone = ChangeT(CStaffInfo.St_Phone.Valid, CStaffInfo.St_Phone.String).(string) CCStaffInfo.St_CardNum = ChangeT(CStaffInfo.St_CardNum.Valid, CStaffInfo.St_CardNum.String).(string) CCStaffInfo.St_ViceCardNum = ChangeT(CStaffInfo.St_ViceCardNum.Valid, CStaffInfo.St_ViceCardNum.String).(string) CCStaffInfo.St_ViceCardNumA = ChangeT(CStaffInfo.St_ViceCardNumA.Valid, CStaffInfo.St_ViceCardNumA.String).(string) CCStaffInfo.St_ViceCardNumB = ChangeT(CStaffInfo.St_ViceCardNumB.Valid, CStaffInfo.St_ViceCardNumB.String).(string) CCStaffInfo.St_NationID = ChangeT(CStaffInfo.St_NationID.Valid, CStaffInfo.St_NationID.String).(string) CCStaffInfo.St_PartyID = ChangeT(CStaffInfo.St_PartyID.Valid, CStaffInfo.St_PartyID.String).(string) CCStaffInfo.St_Job = ChangeT(CStaffInfo.St_Job.Valid, CStaffInfo.St_Job.String).(string) CCStaffInfo.St_Enabled = int(ChangeT(CStaffInfo.St_Enabled.Valid, CStaffInfo.St_Enabled.Int32).(int32)) CCStaffInfo.St_Remarks = ChangeT(CStaffInfo.St_Remarks.Valid, CStaffInfo.St_Remarks.String).(string) CCStaffInfo.St_CreateTime = ChangeT(CStaffInfo.St_CreateTime.Valid, CStaffInfo.St_CreateTime.Time).(time.Time) CCStaffInfo.St_Updatetime = ChangeT(CStaffInfo.St_Updatetime.Valid, CStaffInfo.St_Updatetime.Time).(time.Time) CCStaffInfo.St_Account = ChangeT(CStaffInfo.St_Account.Valid, CStaffInfo.St_Account.String).(string) CCStaffInfo.St_PWD = ChangeT(CStaffInfo.St_PWD.Valid, CStaffInfo.St_PWD.String).(string) CCStaffInfo.St_SpareA = ChangeT(CStaffInfo.St_SpareA.Valid, CStaffInfo.St_SpareA.String).(string) CCStaffInfo.St_SpareB = ChangeT(CStaffInfo.St_SpareB.Valid, CStaffInfo.St_SpareB.String).(string) // CCStaffInfo.StaffCategory = ChangeT(CStaffInfo.StaffCategory.Valid, CStaffInfo.StaffCategory.String).(string) // CCStaffInfo.StaffGroup = ChangeT(CStaffInfo.StaffGroup.Valid, CStaffInfo.StaffGroup.String).(string) CCStaffInfo.StaffCategory.Ca_ID = ChangeT(CStaffInfo.StaffCategory.Ca_ID.Valid, CStaffInfo.StaffCategory.Ca_ID.String).(string) CCStaffInfo.StaffCategory.Ca_Name = ChangeT(CStaffInfo.StaffCategory.Ca_Name.Valid, CStaffInfo.StaffCategory.Ca_Name.String).(string) CCStaffInfo.StaffCategory.Ca_Num = ChangeT(CStaffInfo.StaffCategory.Ca_Num.Valid, CStaffInfo.StaffCategory.Ca_Num.String).(string) CCStaffInfo.StaffCategory.Ca_ReportPower = int(ChangeT(CStaffInfo.StaffCategory.Ca_ReportPower.Valid, CStaffInfo.StaffCategory.Ca_ReportPower.Int32).(int32)) CCStaffInfo.StaffCategory.Ca_VotePower = int(ChangeT(CStaffInfo.StaffCategory.Ca_VotePower.Valid, CStaffInfo.StaffCategory.Ca_VotePower.Int32).(int32)) CCStaffInfo.StaffCategory.Ca_SpeakPower = int(ChangeT(CStaffInfo.StaffCategory.Ca_SpeakPower.Valid, CStaffInfo.StaffCategory.Ca_SpeakPower.Int32).(int32)) CCStaffInfo.StaffCategory.Ca_FirstSpeakPower = int(ChangeT(CStaffInfo.StaffCategory.Ca_FirstSpeakPower.Valid, CStaffInfo.StaffCategory.Ca_FirstSpeakPower.Int32).(int32)) CCStaffInfo.StaffCategory.Ca_CallPower = int(ChangeT(CStaffInfo.StaffCategory.Ca_CallPower.Valid, CStaffInfo.StaffCategory.Ca_CallPower.Int32).(int32)) CCStaffInfo.StaffCategory.Ca_SearchPower = int(ChangeT(CStaffInfo.StaffCategory.Ca_SearchPower.Valid, CStaffInfo.StaffCategory.Ca_SearchPower.Int32).(int32)) CCStaffInfo.StaffCategory.Ca_Remarks = ChangeT(CStaffInfo.StaffCategory.Ca_Remarks.Valid, CStaffInfo.StaffCategory.Ca_Remarks.String).(string) CCStaffInfo.StaffGroup.Gr_ID = ChangeT(CStaffInfo.StaffGroup.Gr_ID.Valid, CStaffInfo.StaffGroup.Gr_ID.String).(string) CCStaffInfo.StaffGroup.Gr_Name = ChangeT(CStaffInfo.StaffGroup.Gr_Name.Valid, CStaffInfo.StaffGroup.Gr_Name.String).(string) CCStaffInfo.StaffGroup.Gr_Num = ChangeT(CStaffInfo.StaffGroup.Gr_Num.Valid, CStaffInfo.StaffGroup.Gr_Num.String).(string) CCStaffInfo.StaffGroup.Gr_Remarks = ChangeT(CStaffInfo.StaffGroup.Gr_Remarks.Valid, CStaffInfo.StaffGroup.Gr_Remarks.String).(string) AllStaffInfo = append(AllStaffInfo, CCStaffInfo) } return AllStaffInfo } func GetAllStaffInfoAllCPCS() []Model.T_Staff { defer func() { if r := recover(); r != nil { log.Error("GetAllStaffInfoAllCPCS:", r) } }() targetIP := Common.GetAvailableEndpoint() if targetIP == "" { log.Error("所有IP均不可达") log.Println("所有IP均不可达") return nil } // 示例:发送 JSON 数据 url := "http://" + targetIP + ":9800/vhwcapi/v1/web/api/service/tstaffinfo/getStaffViewNoPage" jsonData := `{}` body, statusCode, err := Common.SendPostRequest(url, jsonData, "application/json") if err != nil { log.Fatalf("请求错误: %v", err) } fmt.Printf("响应状态码: %d\n响应体: %s\n", statusCode, body) var responses map[string]interface{} err = json.Unmarshal([]byte(body), &responses) if err != nil { log.Fatalf("JSON 解析失败: %v", err) } listBytes, err := json.Marshal(responses["list"]) if err != nil { log.Fatalf("List字段序列化失败: %v", err) } var response []Model.T_Staff err = json.Unmarshal(listBytes, &response) if err != nil { log.Fatalf("JSON 解析失败: %v", err) } return response } func ChangeT(IsOK bool, out interface{}) interface{} { defer func() { if r := recover(); r != nil { log.Error("ChangeT:", r) } }() return out } func GetAllStaffInfo() []Model.T_StaffInfo { defer func() { if r := recover(); r != nil { log.Error("GetAllStaffInfo:", r) } }() rows, err := ConntectDB().Query("SELECT * FROM dbcongress.t_StaffInfo") if err != nil { fmt.Println(err.Error()) } defer rows.Close() var AllStaffInfo []Model.T_StaffInfo for rows.Next() { var CStaffInfo Model.T_StaffInfo err := rows.Scan(&CStaffInfo.St_ID, &CStaffInfo.St_Name, &CStaffInfo.St_Num, &CStaffInfo.St_CategoryID, &CStaffInfo.St_GroupID, &CStaffInfo.St_Image, &CStaffInfo.St_WorkUnit, &CStaffInfo.St_Sex, &CStaffInfo.St_Phone, &CStaffInfo.St_CardNum, &CStaffInfo.St_ViceCardNum, &CStaffInfo.St_ViceCardNumA, &CStaffInfo.St_ViceCardNumB, &CStaffInfo.St_NationID, &CStaffInfo.St_PartyID, &CStaffInfo.St_Job, &CStaffInfo.St_Enabled, &CStaffInfo.St_Remarks, &CStaffInfo.St_CreateTime, &CStaffInfo.St_Updatetime, &CStaffInfo.St_Account, &CStaffInfo.St_PWD, &CStaffInfo.St_SpareA, &CStaffInfo.St_SpareB) if err != nil { fmt.Println(err.Error()) // break } AllStaffInfo = append(AllStaffInfo, CStaffInfo) } return AllStaffInfo } func InsertStaffInfo(para *Model.T_StaffInfo) bool { defer func() { if r := recover(); r != nil { log.Error("InsertStaffInfo:", r) } }() _, err := ConntectDB().Exec("INSERT INTO dbcongress.T_StaffInfo (\"St_ID\",\"St_Name\",\"St_Num\",\"St_CategoryID\",\"St_GroupID\",\"St_Image\",\"St_WorkUnit\",\"St_Sex\",\"St_Phone\",\"St_CardNum\",\"St_ViceCardNum\",\"St_ViceCardNumA\",\"St_ViceCardNumB\",\"St_NationID\",\"St_PartyID\",\"St_Job\",\"St_Enabled\",\"St_Remarks\",\"St_CreateTime\",\"St_Updatetime\",\"St_Account\",\"St_PWD\",\"St_SpareA\",\"St_SpareB\") VALUES('" + para.St_ID + "','" + para.St_Name + "','" + para.St_Num + "','" + para.St_CategoryID + "','" + para.St_GroupID + "','" + para.St_Image + "','" + para.St_WorkUnit + "','" + strconv.Itoa(para.St_Sex) + "','" + para.St_Phone + "','" + para.St_CardNum + "','" + para.St_ViceCardNum + "','" + para.St_ViceCardNumA + "','" + para.St_ViceCardNumB + "','" + para.St_NationID + "','" + para.St_PartyID + "','" + para.St_Job + "','" + strconv.Itoa(para.St_Enabled) + "','" + para.St_Remarks + "','" + para.St_CreateTime.String() + "','" + para.St_Updatetime.String() + "','" + para.St_Account + "','" + para.St_PWD + "','" + para.St_SpareA + "','" + para.St_SpareB + "')") if err != nil { fmt.Println(err.Error()) return false } return true } func UpdateStaffInfo(para *Model.T_Staff) bool { defer func() { if r := recover(); r != nil { log.Error("UpdateStaffInfo:", r) } }() targetIP := Common.GetAvailableEndpoint() if targetIP == "" { log.Error("所有IP均不可达") log.Println("所有IP均不可达") return false } url := "http://" + targetIP + ":9800/vhwcapi/v1/web/api/service/tstaffinfo/clearCardNum" data := map[string]interface{}{ "id": para.ID, "st_vicecardnum": para.St_ViceCardNum, "st_vicecardnuma": para.St_ViceCardNumA, "st_vicecardnumb": para.St_ViceCardNumB, } // 将map转换为JSON格式 jsonData, err := json.Marshal(data) if err != nil { log.Fatal(err) } body, statusCode, err := Common.SendPostRequest(url, jsonData, "application/json") if err != nil { log.Fatalf("请求错误: %v", err) } fmt.Printf("响应状态码: %d\n响应体: %s\n", statusCode, body) // _, err := ConntectDB().Exec("UPDATE dbcongress.t_StaffInfo SET \"St_Name\" = '" + para.St_Name + "',\"St_Num\" = '" + para.St_Num + "',\"St_CategoryID\" = '" + para.St_CategoryID + "',\"St_GroupID\" = '" + para.St_GroupID + "',\"St_Image\" = '" + para.St_Image + "',\"St_WorkUnit\" = '" + para.St_WorkUnit + "',\"St_Sex\" = '" + strconv.Itoa(para.St_Sex) + "',\"St_Phone\" = '" + para.St_Phone + "',\"St_CardNum\" = '" + para.St_CardNum + "',\"St_ViceCardNum\" = '" + para.St_ViceCardNum + "',\"St_ViceCardNumA\" = '" + para.St_ViceCardNumA + "',\"St_ViceCardNumB\" = '" + para.St_ViceCardNumB + "',\"St_NationID\" = '" + para.St_NationID + "',\"St_PartyID\" = '" + para.St_PartyID + "',\"St_Job\" = '" + para.St_Job + "',\"St_Enabled\" = '" + strconv.Itoa(para.St_Enabled) + "',\"St_Remarks\" = '" + para.St_Remarks + "',\"St_CreateTime\" = '" + para.St_CreateTime.Format("2006-01-02 15:04:05") + "',\"St_Updatetime\" = '" + para.St_Updatetime.Format("2006-01-02 15:04:05") + "',\"St_Account\" = '" + para.St_Account + "',\"St_PWD\" = '" + para.St_PWD + "',\"St_SpareA\" = '" + para.St_SpareA + "',\"St_SpareB\" = '" + para.St_SpareB + "' WHERE \"St_ID\" = '" + para.St_ID + "'") // if err != nil { // fmt.Println(err.Error()) // return false // } return true } // func DeleteStaffInfo(para *Model.T_Staff) bool { // _, err := ConntectDB().Exec("DELETE FROM dbcongress.t_StaffInfo WHERE \"St_ID\"='" + para.St_ID + "'") // if err != nil { // fmt.Println(err.Error()) // return false // } // return true // }