user.go 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573
  1. package casbin
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "strconv"
  6. "strings"
  7. "dashoo.cn/backend/api/business/accountinfo"
  8. "dashoo.cn/backend/api/business/company"
  9. "dashoo.cn/backend/api/business/printscheme"
  10. . "dashoo.cn/backend/api/controllers"
  11. "dashoo.cn/business2/parameter"
  12. "dashoo.cn/backend/api/business/logsinfo"
  13. "dashoo.cn/business2/auth"
  14. "dashoo.cn/backend/api/business/organize"
  15. "dashoo.cn/backend/api/models"
  16. "dashoo.cn/business2/permission"
  17. "dashoo.cn/business2/userRole"
  18. "dashoo.cn/utils"
  19. )
  20. // Operations about Users
  21. type UserController struct {
  22. BaseController
  23. }
  24. type UserModel struct {
  25. Username string `json:"username"`
  26. Realname string `json:"realname"`
  27. Telephone string `json:"telephone"`
  28. Mobile string `json:"mobile"`
  29. Description string `json:"description"`
  30. Photo string `json:"photo"`
  31. Role string `json:"role"`
  32. RoleId int `json:"roleid"`
  33. Id int `json:"id"`
  34. ChannelIds string `json:"channelids"`
  35. Password string `json:"password"`
  36. DepartmentId string `json:"departmentid"`
  37. DepartmentName string `json:"departmentname"`
  38. Sign string `json:"sign"`
  39. IsCompanyUser int `json:"Iscompanyuser"`
  40. Superior string `json:"superior"`
  41. }
  42. type ChangePwdModel struct {
  43. Pwd string `json:"pass"`
  44. NwePwd string `json:"newpass"`
  45. }
  46. type RegisteModel struct {
  47. Companyname string `json:"companyname"`
  48. Username string `json:"username"`
  49. Password string `json:"password"`
  50. Source string `json:"source"`
  51. }
  52. // @Title get
  53. // @Description get user by token
  54. // @Param uid path string true "The key for staticblock"
  55. // @Success 200 {object} models.User
  56. // @Failure 403 :uid is empty
  57. // @router /me [get]
  58. func (this *UserController) Get() {
  59. svc := userRole.GetUserService(utils.DBE)
  60. usermodel := svc.GetUserInfoSelf(this.User.Username)
  61. // var companyentity company.Base_Company
  62. // svc.GetEntityById(usermodel.AccCode, &companyentity)
  63. var user models.User
  64. user.Id = utils.ToStr(usermodel.Id)
  65. user.Username = usermodel.Username
  66. user.Profile.Address = usermodel.Homeaddress
  67. user.Profile.Email = usermodel.Email
  68. user.Profile.Realname = usermodel.Realname
  69. user.Profile.Roleid = usermodel.Roleid
  70. user.Profile.Mobile = usermodel.Mobile
  71. user.Profile.Telephone = usermodel.Telephone
  72. user.Profile.Photo = usermodel.Photo
  73. user.Profile.Description = usermodel.Description
  74. user.Profile.Host = this.Ctx.Request.Host
  75. user.Profile.AccCode = usermodel.AccCode
  76. user.Profile.DepartmentId = usermodel.Departmentid
  77. user.Profile.IsCompanyUser = usermodel.IsCompanyUser
  78. user.Profile.Superior = usermodel.Superior
  79. user.Profile.Id = usermodel.Id
  80. // todo 从this.User获取用户名,再查询出具体用户
  81. // user := models.User{"user01", "张三", models.Profile{Gender: "male", Age: 20, Address: "china", Email: "123zs@gmail.com", Realname: "ppppppp"}}
  82. this.Data["json"] = user
  83. this.ServeJSON()
  84. }
  85. // @Title 获取用户菜单权限
  86. // @Description 获取用户菜单权限
  87. // @Success 200 {object} controllers.Request
  88. // @router /getusermodule [get]
  89. func (this *UserController) GetUserModule() {
  90. //svc := permission.GetPermissionService(utils.DBE)
  91. //var model UserModuleModel
  92. //model.A1list = svc.GetModuleAllNamesByCode(this.User.Id, "A1")
  93. //model.A2list = svc.GetModuleAllNamesByCode(this.User.Id, "A2")
  94. //this.Data["json"] = model
  95. //this.ServeJSON()
  96. }
  97. // @Title 获取用户菜单权限
  98. // @Description 获取用户菜单权限
  99. // @Success 200 {object} controllers.Request
  100. // @router /getusermoduletree [get]
  101. func (this *UserController) GetUserModuleTree() {
  102. svc := permission.GetPermissionService(utils.DBE)
  103. list := svc.GetModuleAll(this.User.Id, "30000000")
  104. this.Data["json"] = list
  105. this.ServeJSON()
  106. }
  107. // @Title 获得用户角色id
  108. // @Description 获得用户角色id
  109. // @Success 200 {object} controllers.Request
  110. // @router /getuserrole/:id [get]
  111. func (this *UserController) UserPowerCheckRole() {
  112. userid := this.Ctx.Input.Param(":id")
  113. roleofuser := utils.RBAC.GetRolesForUserInDomain("uid_"+userid, utils.DOMAIN)
  114. for i := 0; i < len(roleofuser); i++ {
  115. roleofuser[i] = strings.Replace(roleofuser[i], "rid_", "", 1)
  116. }
  117. this.Data["json"] = &roleofuser
  118. this.ServeJSON()
  119. }
  120. // @Title get
  121. // @Description get user by token
  122. // @Success 200 {object} models.User
  123. // @router /list [get]
  124. func (this *UserController) List() {
  125. page := this.GetPageInfoForm()
  126. keyword := this.GetString("keyword")
  127. username := this.GetString("username")
  128. departmentname := this.GetString("departmentname")
  129. IsCompanyUser := this.GetString("IsCompanyUser")
  130. svc := permission.GetPermissionService(utils.DBE)
  131. organsvc := organize.GetOrganizeService(utils.DBE)
  132. var users []userRole.Base_User
  133. svcPerm := permission.GetPermissionService(utils.DBE)
  134. isauth := svcPerm.IsAuthorized(this.User.Id, "oil_admin")
  135. topid := ""
  136. if isauth {
  137. paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
  138. topid = paramSvc.GetBaseparameterMessage("", "paramset", "HeadquartersID") // 总公司Id
  139. } else {
  140. topid = organsvc.GetMyUnitDepartmentId(this.User.DepartmentId)
  141. }
  142. depids := organsvc.GetAllChildById(topid)
  143. where := "(IsVisible=1 and IsCompanyUser = 0 and DepartmentId in (" + depids + ") or Id = '" + utils.ToStr(this.User.Id) + "') "
  144. //外部用户 IsCompanyUser == 1
  145. if IsCompanyUser == "1" {
  146. where = "(IsVisible=1 and IsCompanyUser = 1 and CreateUserId='" + utils.ToStr(this.User.Id) + "' or Id = '" + utils.ToStr(this.User.Id) + "')"
  147. }
  148. if keyword != "" {
  149. where = where + " and UserName like '%" + keyword + "%'"
  150. }
  151. if username != "" {
  152. where = where + " and Realname like '%" + username + "%'"
  153. }
  154. if departmentname != "" {
  155. where = where + " and DepartmentName like '%" + departmentname + "%'"
  156. }
  157. total := svc.GetPagingEntitiesWithOrder(page.CurrentPage, page.Size, "Id", false, &users, where)
  158. var datainfo DataInfo
  159. datainfo.Items = users
  160. datainfo.CurrentItemCount = total
  161. this.Data["json"] = &datainfo
  162. this.ServeJSON()
  163. }
  164. // @Title 用户角色设置
  165. // @Description 用户角色设置
  166. // @Success 200 {object} controllers.Request
  167. // @router /setuserrole/:id [put]
  168. func (this *UserController) UserPowerPostRole() {
  169. inputstr := this.Ctx.Input.Param(":id")
  170. serial := strings.Split(inputstr, "_")
  171. userid := serial[0]
  172. var errinfo ErrorInfo
  173. if userid == "" || userid == "0" {
  174. errinfo.Message = "操作失败!请求信息不完整"
  175. errinfo.Code = -2
  176. this.Data["json"] = &errinfo
  177. this.ServeJSON()
  178. return
  179. }
  180. roleids := strings.Split(serial[1], ",")
  181. utils.RBAC.DeleteRolesForUser("uid_" + userid)
  182. var err error = nil
  183. for i := 0; i < len(roleids); i++ {
  184. if roleids[i] != "0" && roleids[i] != "" {
  185. //err = svc.AddUserToRole(userid, roleids[i], entity[0])
  186. utils.RBAC.AddRoleForUserInDomain("uid_"+userid, "rid_"+roleids[i], utils.DOMAIN)
  187. }
  188. }
  189. if err == nil {
  190. errinfo.Message = utils.AlertProcess("用户角色调整成功!")
  191. errinfo.Code = 0
  192. this.Data["json"] = &errinfo
  193. this.ServeJSON()
  194. } else {
  195. errinfo.Message = utils.AlertProcess("用户角色调整失败!" + err.Error())
  196. errinfo.Code = -1
  197. this.Data["json"] = &errinfo
  198. this.ServeJSON()
  199. }
  200. }
  201. // @Title 创建用户
  202. // @Description 创建用户
  203. // @Param body body business.device.DeviceChannels "传感器信息"
  204. // @Success 200 {object} controllers.Request
  205. // @router / [post]
  206. func (this *UserController) AddUser() {
  207. var model UserModel
  208. var jsonblob = this.Ctx.Input.RequestBody
  209. json.Unmarshal(jsonblob, &model)
  210. var errinfo ErrorDataInfo
  211. departidint, _ := utils.StrTo(model.DepartmentId).Int()
  212. if departidint < 1 {
  213. errinfo.Message = "请选择所属组织!"
  214. errinfo.Code = -3
  215. this.Data["json"] = &errinfo
  216. this.ServeJSON()
  217. return
  218. }
  219. // 获取组织名称
  220. svcorg := organize.GetOrganizeService(utils.DBE)
  221. model.DepartmentName = svcorg.GetNameById(model.DepartmentId)
  222. //获取组织上级组织
  223. //var orginizeentity organize.Base_Organize
  224. //svcorg.GetEntityById(model.DepartmentId, &orginizeentity)
  225. var userentity userRole.Base_User
  226. userentity.Companyid = "0"
  227. userentity.Superior = model.Superior
  228. userentity.Roleid, _ = utils.StrTo(model.Role).Int()
  229. if userentity.Roleid == 0 {
  230. //userentity.Roleid = 10000123 //普通用户
  231. }
  232. if model.IsCompanyUser == 1 {
  233. parameterSvc := baseparameter.GetBaseparameterService(utils.DBE) //取出外部门ID
  234. extOrganizeId := parameterSvc.GetBaseparameterMessage("GFGL", "paramset", "ExtRoleId")
  235. model.RoleId, _ = strconv.Atoi(extOrganizeId)
  236. userentity.Roleid = model.RoleId
  237. userentity.IsCompanyUser = model.IsCompanyUser
  238. }
  239. userentity.Username = model.Username
  240. userentity.Realname = model.Realname
  241. userentity.Telephone = model.Telephone
  242. userentity.Mobile = model.Mobile
  243. if model.Sign == "" {
  244. userentity.Description = model.Description
  245. } else {
  246. userentity.Description = model.Sign
  247. }
  248. userentity.Photo = model.Photo
  249. currentuser := this.User
  250. userentity.Createuserid, _ = utils.StrTo(currentuser.Id).Int()
  251. userentity.Createby = currentuser.Realname
  252. userentity.AccCode = this.GetAccode()
  253. userentity.QRCode = utils.GetGuid()
  254. userentity.Departmentid = model.DepartmentId
  255. userentity.Departmentname = model.DepartmentName
  256. //salt := utils.GetRandomString(5)
  257. //userentity.Userpassword = fmt.Sprintf("%s$%s", salt, utils.EncodePassword("123456", salt))
  258. //更改密码算法2014-11-21
  259. pwd, key, errrk := utils.TripleDesEncrypt("123456")
  260. if errrk != nil {
  261. errinfo.Message = "添加失败!" + utils.AlertProcess(errrk.Error())
  262. errinfo.Code = -2
  263. this.Data["json"] = &errinfo
  264. this.ServeJSON()
  265. return
  266. }
  267. userentity.Userpassword = pwd
  268. userentity.Publickey = key
  269. userentity.Auditstatus = 1
  270. userentity.Email = userentity.Username
  271. svc := userRole.GetUserService(utils.DBE)
  272. err := svc.AddUser(&userentity)
  273. if err == nil {
  274. errinfo.Message = "添加用户成功,初始密码为123456!"
  275. errinfo.Code = 0
  276. errinfo.Item = userentity.Id
  277. this.Data["json"] = &errinfo
  278. this.ServeJSON()
  279. return
  280. } else {
  281. errinfo.Message = "添加失败!" + utils.AlertProcess(err.Error())
  282. errinfo.Code = -1
  283. this.Data["json"] = &errinfo
  284. this.ServeJSON()
  285. return
  286. }
  287. }
  288. // @Title 编辑用户
  289. // @Description 编辑用户
  290. // @Param id path string true "需要修改的传感器编号"
  291. // @Param body body business.device.DeviceChannels "传感器信息"
  292. // @Success 200 {object} controllers.Request
  293. // @router /:id [put]
  294. func (this *UserController) EditUser() {
  295. id := this.Ctx.Input.Param(":id")
  296. var errinfo ErrorInfo
  297. if id == "" {
  298. errinfo.Message = "操作失败!请求信息不完整"
  299. errinfo.Code = -2
  300. this.Data["json"] = &errinfo
  301. this.ServeJSON()
  302. return
  303. }
  304. var model UserModel
  305. var jsonblob = this.Ctx.Input.RequestBody
  306. json.Unmarshal(jsonblob, &model)
  307. var userentity userRole.Base_User
  308. var userentityempty userRole.Base_User
  309. svc := userRole.GetUserService(utils.DBE)
  310. has := svc.GetEntityById(id, &userentity)
  311. if has {
  312. //获取组织名称
  313. svcorg := organize.GetOrganizeService(utils.DBE)
  314. model.DepartmentName = svcorg.GetNameById(model.DepartmentId)
  315. //获取组织上级组织
  316. //var orginizeentity organize.Base_Organize
  317. //svcorg.GetEntityById(model.DepartmentId, &orginizeentity)
  318. userentity.Superior = model.Superior
  319. userentity.Realname = model.Realname
  320. userentity.Telephone = model.Telephone
  321. userentity.Mobile = model.Mobile
  322. if model.Sign == "" {
  323. userentity.Description = model.Description
  324. } else {
  325. userentity.Description = model.Sign
  326. }
  327. userentity.Photo = model.Photo
  328. // userentity.Roleid = roleid
  329. userentity.Modifieduserid, _ = utils.StrTo(this.User.Id).Int()
  330. userentity.Modifiedby = this.User.Realname
  331. userentity.Departmentid = model.DepartmentId
  332. userentity.Departmentname = model.DepartmentName
  333. var cols []string = []string{"Realname", "CompanyId", "DepartmentId", "DepartmentName", "Telephone", "Mobile", "Description", "Photo", "Modifieduserid", "Modifiedby", "Superior"}
  334. err := svc.UpdateEntityAndBackupByCols(id, &userentity, &userentityempty, cols, utils.ToStr(this.User.Id), this.User.Realname)
  335. if err == nil {
  336. errinfo.Message = "保存成功!"
  337. errinfo.Code = 0
  338. this.Data["json"] = &errinfo
  339. this.ServeJSON()
  340. } else {
  341. errinfo.Message = "操作失败!" + utils.AlertProcess(err.Error())
  342. errinfo.Code = -1
  343. this.Data["json"] = &errinfo
  344. this.ServeJSON()
  345. }
  346. } else {
  347. errinfo.Message = "操作失败!操作数据不存在"
  348. errinfo.Code = -3
  349. this.Data["json"] = &errinfo
  350. this.ServeJSON()
  351. return
  352. }
  353. }
  354. // @Title 删除用户
  355. // @Description 删除用户
  356. // @Param id path string true "需要删除的用户编号"
  357. // @Success 200 {object} ErrorInfo
  358. // @Failure 403 :id 为空
  359. // @router /:id [delete]
  360. func (this *UserController) Delete() {
  361. id := this.Ctx.Input.Param(":id")
  362. var errinfo ErrorInfo
  363. if id == "" {
  364. errinfo.Message = "操作失败!请求信息不完整"
  365. errinfo.Code = -2
  366. this.Data["json"] = &errinfo
  367. this.ServeJSON()
  368. return
  369. }
  370. var entity userRole.Base_User
  371. var entityempty userRole.Base_User
  372. svc := userRole.GetUserService(utils.DBE)
  373. err := svc.DeleteEntityAndBackup(id, &entity, &entityempty, utils.ToStr(this.User.Id), this.User.Username)
  374. if err == nil {
  375. svc.ClearUserRole(id) //清除角色
  376. errinfo.Message = "删除成功"
  377. errinfo.Code = 0
  378. this.Data["json"] = &errinfo
  379. this.ServeJSON()
  380. } else {
  381. errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error())
  382. errinfo.Code = -1
  383. this.Data["json"] = &errinfo
  384. this.ServeJSON()
  385. }
  386. }
  387. // @Title 修改密码
  388. // @Description 修改密码
  389. // @Param body body business.device.DeviceChannels "传感器信息"
  390. // @Success 200 {object} controllers.Request
  391. // @router /userchangepwd [put]
  392. func (this *UserController) UserChangePWD() {
  393. var model ChangePwdModel
  394. var jsonblob = this.Ctx.Input.RequestBody
  395. json.Unmarshal(jsonblob, &model)
  396. var errinfo ErrorInfo
  397. svcauth := auth.GetAuthServic(utils.DBE)
  398. var user userRole.Base_User
  399. if svcauth.VerifyUser3DES(this.User.Username, model.Pwd, &user) {
  400. var entitypaw1, entitypaw2 logsinfo.Userpassword
  401. idint, _ := utils.StrTo(this.User.Id).Int()
  402. var umodel userRole.Base_User = userRole.Base_User{Id: idint}
  403. svcauth.UpdateLog(this.User.Id, &entitypaw1, &entitypaw2, this.User.Id, this.User.Realname)
  404. err := svcauth.SetNewPassword3DES(&umodel, model.NwePwd)
  405. if err != nil {
  406. errinfo.Message = "修改失败!" + err.Error()
  407. errinfo.Code = -2
  408. this.Data["json"] = &errinfo
  409. this.ServeJSON()
  410. } else {
  411. errinfo.Message = "密码修改成功"
  412. errinfo.Code = 0
  413. this.Data["json"] = &errinfo
  414. this.ServeJSON()
  415. }
  416. } else {
  417. errinfo.Message = "修改失败!当前密码输入错误"
  418. errinfo.Code = -1
  419. this.Data["json"] = &errinfo
  420. this.ServeJSON()
  421. return
  422. }
  423. }
  424. // @Title 注册管理账号
  425. // @Description 注册管理账号
  426. // @Param body body business.device.DeviceChannels "传感器信息"
  427. // @Success 200 {object} controllers.Request
  428. // @router /registemanage [put]
  429. func (this *UserController) Registerput() {
  430. var model RegisteModel
  431. var jsonblob = this.Ctx.Input.RequestBody
  432. json.Unmarshal(jsonblob, &model)
  433. var errinfo ErrorInfo
  434. var user userRole.Base_User
  435. user.Username = model.Username
  436. user.Realname = model.Companyname
  437. // this.ParseForm(&user) //去页面数值
  438. svc := company.GetCompanyService(utils.DBE)
  439. err, comacccode := svc.AddCompany(user.Realname, user.Username) //这两个参数传到company库,返回id
  440. if err == nil {
  441. svcuser := userRole.GetUserService(utils.DBE)
  442. user.AccCode = comacccode //id传到 user库的acccode
  443. pass := model.Password //取到前台密码
  444. //更改密码算法2014-11-21
  445. pwd, key, errrk := utils.TripleDesEncrypt(pass)
  446. if errrk != nil {
  447. errinfo.Message = "添加失败!" + utils.AlertProcess(errrk.Error())
  448. errinfo.Code = -2
  449. this.Data["json"] = &errinfo
  450. this.ServeJSON()
  451. return
  452. }
  453. user.Roleid = 10000120 //企业用户
  454. user.Auditstatus = 1
  455. user.Userpassword = pwd
  456. user.Publickey = key
  457. user.Email = user.Username
  458. err = svcuser.AddUser(&user)
  459. //svcSampleOrgan := sampleorgan.GetSampleOrganService(utils.DBE)
  460. //var entityOrgan sampleorgan.SampleOrgan
  461. //entityOrgan.AccCode = comacccode
  462. //entityOrgan.TNode = "SystemInner"
  463. //entityOrgan.TNodeParent = "0"
  464. //entityOrgan.Item = 1
  465. //entityOrgan.Code = "ALL"
  466. //entityOrgan.Name = "全部"
  467. //entityOrgan.CreateBy = user.Username
  468. //entityOrgan.CreateUserId = user.Id
  469. //_, err = svcSampleOrgan.InsertEntity(&entityOrgan)
  470. svcPrintScheme := printscheme.GetPrintSchemeService(utils.DBE)
  471. var listPrintScheme []printscheme.PrintScheme
  472. var listPrintScheme_new []printscheme.PrintScheme
  473. listPrintScheme = svcPrintScheme.GetPrintSchemeList("IsSystem=2")
  474. for i := 0; i < len(listPrintScheme); i++ {
  475. listPrintScheme[i].IsSystem = 1
  476. listPrintScheme[i].CreateBy = user.Username
  477. listPrintScheme[i].CreateUserId = user.Id
  478. listPrintScheme[i].AccCode = user.AccCode
  479. listPrintScheme_new = append(listPrintScheme_new, listPrintScheme[i])
  480. }
  481. svc.InsertEntity(&listPrintScheme_new)
  482. if err == nil {
  483. //创建表结构
  484. err := svc.CreateSampleDonorTable(user.AccCode, model.Source)
  485. if err != nil {
  486. fmt.Println(err.Error())
  487. }
  488. //写入账户信息,赠送短信
  489. var accountinfo accountinfo.AccountInfo
  490. accountinfo.ProjectSourse = "biobank"
  491. accountinfo.ProjectAccount = user.AccCode
  492. accountinfo.ProjectAccountName = user.Realname
  493. accountinfo.SurplusCount = 50
  494. accountinfo.ActionType = "sms"
  495. u, p := this.GetuAndp()
  496. strUrl := utils.Cfg.MustValue("server", "apiurl") + "/accountinfos/?u=" + u + "&p=" + p
  497. Apipost(strUrl, "POST", accountinfo)
  498. //添加一条组织根节点
  499. var entityorg organize.Base_Organize
  500. // 编辑后添加一条数据
  501. entityorg.Fullname = model.Companyname
  502. entityorg.Parentid = 0
  503. entityorg.Createuserid = user.Id
  504. entityorg.Createby = user.Realname
  505. entityorg.AccCode = user.AccCode
  506. svcuser.InsertEntity(&entityorg)
  507. //修改用户的组织id
  508. user.Departmentid = utils.ToStr(entityorg.Id)
  509. user.Departmentname = entityorg.Fullname
  510. var usercols []string = []string{"Departmentid", "Departmentname"}
  511. svcuser.UpdateEntityByIdCols(user.Id, &user, usercols)
  512. errinfo.Message = "注册用户成功!"
  513. errinfo.Code = 0
  514. this.Data["json"] = &errinfo
  515. this.ServeJSON()
  516. } else {
  517. errinfo.Message = "注册失败!" + utils.AlertProcess(err.Error())
  518. errinfo.Code = -2
  519. this.Data["json"] = &errinfo
  520. this.ServeJSON()
  521. return
  522. }
  523. } else {
  524. errinfo.Message = "注册失败!" + utils.AlertProcess(err.Error())
  525. errinfo.Code = -3
  526. this.Data["json"] = &errinfo
  527. this.ServeJSON()
  528. return
  529. }
  530. }