You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

300 lines
6.0 KiB

package controller
import (
"net/http"
"encoding/json"
"education/service"
"fmt"
)
var cuser User
func (app *Application) LoginView(w http.ResponseWriter, r *http.Request) {
ShowView(w, r, "login.html", nil)
}
func (app *Application) Index(w http.ResponseWriter, r *http.Request) {
ShowView(w, r, "index.html", nil)
}
func (app *Application) Help(w http.ResponseWriter, r *http.Request) {
data := &struct {
CurrentUser User
}{
CurrentUser:cuser,
}
ShowView(w, r, "help.html", data)
}
// 用户登录
func (app *Application) Login(w http.ResponseWriter, r *http.Request) {
loginName := r.FormValue("loginName")
password := r.FormValue("password")
var flag bool
for _, user := range users {
if user.LoginName == loginName && user.Password == password {
cuser = user
flag = true
break
}
}
data := &struct {
CurrentUser User
Flag bool
}{
CurrentUser:cuser,
Flag:false,
}
if flag {
// 登录成功
ShowView(w, r, "index.html", data)
}else{
// 登录失败
data.Flag = true
data.CurrentUser.LoginName = loginName
ShowView(w, r, "login.html", data)
}
}
// 用户登出
func (app *Application) LoginOut(w http.ResponseWriter, r *http.Request) {
cuser = User{}
ShowView(w, r, "login.html", nil)
}
// 显示添加信息页面
func (app *Application) AddEduShow(w http.ResponseWriter, r *http.Request) {
data := &struct {
CurrentUser User
Msg string
Flag bool
}{
CurrentUser:cuser,
Msg:"",
Flag:false,
}
ShowView(w, r, "addEdu.html", data)
}
// 添加信息
func (app *Application) AddEdu(w http.ResponseWriter, r *http.Request) {
edu := service.Education{
Name:r.FormValue("name"),
Gender:r.FormValue("gender"),
Nation:r.FormValue("nation"),
EntityID:r.FormValue("entityID"),
Place:r.FormValue("place"),
BirthDay:r.FormValue("birthDay"),
EnrollDate:r.FormValue("enrollDate"),
GraduationDate:r.FormValue("graduationDate"),
SchoolName:r.FormValue("schoolName"),
Major:r.FormValue("major"),
QuaType:r.FormValue("quaType"),
Length:r.FormValue("length"),
Mode:r.FormValue("mode"),
Level:r.FormValue("level"),
Graduation:r.FormValue("graduation"),
CertNo:r.FormValue("certNo"),
Photo:r.FormValue("photo"),
}
app.Setup.SaveEdu(edu)
/*transactionID, err := app.Setup.SaveEdu(edu)
data := &struct {
CurrentUser User
Msg string
Flag bool
}{
CurrentUser:cuser,
Flag:true,
Msg:"",
}
if err != nil {
data.Msg = err.Error()
}else{
data.Msg = "信息添加成功:" + transactionID
}*/
//ShowView(w, r, "addEdu.html", data)
r.Form.Set("certNo", edu.CertNo)
r.Form.Set("name", edu.Name)
app.FindCertByNoAndName(w, r)
}
func (app *Application) QueryPage(w http.ResponseWriter, r *http.Request) {
data := &struct {
CurrentUser User
Msg string
Flag bool
}{
CurrentUser:cuser,
Msg:"",
Flag:false,
}
ShowView(w, r, "query.html", data)
}
// 根据证书编号与姓名查询信息
func (app *Application) FindCertByNoAndName(w http.ResponseWriter, r *http.Request) {
certNo := r.FormValue("certNo")
name := r.FormValue("name")
result, err := app.Setup.FindEduByCertNoAndName(certNo, name)
var edu = service.Education{}
json.Unmarshal(result, &edu)
fmt.Println("根据证书编号与姓名查询信息成功:")
fmt.Println(edu)
data := &struct {
Edu service.Education
CurrentUser User
Msg string
Flag bool
History bool
}{
Edu:edu,
CurrentUser:cuser,
Msg:"",
Flag:false,
History:false,
}
if err != nil {
data.Msg = err.Error()
data.Flag = true
}
ShowView(w, r, "queryResult.html", data)
}
func (app *Application) QueryPage2(w http.ResponseWriter, r *http.Request) {
data := &struct {
CurrentUser User
Msg string
Flag bool
}{
CurrentUser:cuser,
Msg:"",
Flag:false,
}
ShowView(w, r, "query2.html", data)
}
// 根据身份证号码查询信息
func (app *Application) FindByID(w http.ResponseWriter, r *http.Request) {
entityID := r.FormValue("entityID")
result, err := app.Setup.FindEduInfoByEntityID(entityID)
var edu = service.Education{}
json.Unmarshal(result, &edu)
data := &struct {
Edu service.Education
CurrentUser User
Msg string
Flag bool
History bool
}{
Edu:edu,
CurrentUser:cuser,
Msg:"",
Flag:false,
History:true,
}
if err != nil {
data.Msg = err.Error()
data.Flag = true
}
ShowView(w, r, "queryResult.html", data)
}
// 修改/添加新信息
func (app *Application) ModifyShow(w http.ResponseWriter, r *http.Request) {
// 根据证书编号与姓名查询信息
certNo := r.FormValue("certNo")
name := r.FormValue("name")
result, err := app.Setup.FindEduByCertNoAndName(certNo, name)
var edu = service.Education{}
json.Unmarshal(result, &edu)
data := &struct {
Edu service.Education
CurrentUser User
Msg string
Flag bool
}{
Edu:edu,
CurrentUser:cuser,
Flag:true,
Msg:"",
}
if err != nil {
data.Msg = err.Error()
data.Flag = true
}
ShowView(w, r, "modify.html", data)
}
// 修改/添加新信息
func (app *Application) Modify(w http.ResponseWriter, r *http.Request) {
edu := service.Education{
Name:r.FormValue("name"),
Gender:r.FormValue("gender"),
Nation:r.FormValue("nation"),
EntityID:r.FormValue("entityID"),
Place:r.FormValue("place"),
BirthDay:r.FormValue("birthDay"),
EnrollDate:r.FormValue("enrollDate"),
GraduationDate:r.FormValue("graduationDate"),
SchoolName:r.FormValue("schoolName"),
Major:r.FormValue("major"),
QuaType:r.FormValue("quaType"),
Length:r.FormValue("length"),
Mode:r.FormValue("mode"),
Level:r.FormValue("level"),
Graduation:r.FormValue("graduation"),
CertNo:r.FormValue("certNo"),
Photo:r.FormValue("photo"),
}
//transactionID, err := app.Setup.ModifyEdu(edu)
app.Setup.ModifyEdu(edu)
/*data := &struct {
Edu service.Education
CurrentUser User
Msg string
Flag bool
}{
CurrentUser:cuser,
Flag:true,
Msg:"",
}
if err != nil {
data.Msg = err.Error()
}else{
data.Msg = "新信息添加成功:" + transactionID
}
ShowView(w, r, "modify.html", data)
*/
r.Form.Set("certNo", edu.CertNo)
r.Form.Set("name", edu.Name)
app.FindCertByNoAndName(w, r)
}