feat(user):完成用户信息修改功能。
This commit is contained in:
parent
e56974af3c
commit
5214147e49
|
@ -3,6 +3,7 @@ package controller
|
|||
import (
|
||||
"electricity_bill_calc/cache"
|
||||
"electricity_bill_calc/exceptions"
|
||||
"electricity_bill_calc/global"
|
||||
"electricity_bill_calc/model"
|
||||
"electricity_bill_calc/repository"
|
||||
"electricity_bill_calc/response"
|
||||
|
@ -35,6 +36,7 @@ func InitializeUserController(router *gin.Engine) {
|
|||
UserController.Router.POST("/account", security.OPSAuthorize, UserController.CreateOPSAndManagementAccount)
|
||||
UserController.Router.GET("/account/:uid", security.MustAuthenticated, UserController.GetUserDetail)
|
||||
UserController.Router.POST("/enterprise", security.OPSAuthorize, UserController.CreateEnterpriseAccount)
|
||||
UserController.Router.PUT("/account/:uid", security.OPSAuthorize, UserController.ModifyAccountDetail)
|
||||
}
|
||||
|
||||
type LoginFormData struct {
|
||||
|
@ -302,3 +304,45 @@ func (_UserController) CreateEnterpriseAccount(c *gin.Context) {
|
|||
}
|
||||
result.Json(http.StatusCreated, "用户已经成功创建。", gin.H{"verify": verifyCode})
|
||||
}
|
||||
|
||||
type AccountModificationFormData struct {
|
||||
Name string `json:"name" form:"name"`
|
||||
Region *string `json:"region" form:"region"`
|
||||
Address *string `json:"address" form:"address"`
|
||||
Contact *string `json:"contact" form:"contact"`
|
||||
Phone *string `json:"phone" form:"phone"`
|
||||
UnitServiceFee *string `json:"unitServiceFee" form:"unitServiceFee"`
|
||||
}
|
||||
|
||||
func (_UserController) ModifyAccountDetail(c *gin.Context) {
|
||||
result := response.NewResult(c)
|
||||
targetUserId := c.Param("uid")
|
||||
modForm := new(AccountModificationFormData)
|
||||
c.BindJSON(modForm)
|
||||
exists, err := service.UserService.IsUserExists(targetUserId)
|
||||
if !exists {
|
||||
result.NotFound("指定的用户不存在。")
|
||||
return
|
||||
}
|
||||
if err != nil {
|
||||
result.Error(http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
newUserInfo := new(model.UserDetail)
|
||||
newUserInfo.Name = &modForm.Name
|
||||
newUserInfo.Region = modForm.Region
|
||||
newUserInfo.Address = modForm.Address
|
||||
newUserInfo.Contact = modForm.Contact
|
||||
newUserInfo.Phone = modForm.Phone
|
||||
newUserInfo.UnitServiceFee, err = decimal.NewFromString(*modForm.UnitServiceFee)
|
||||
if err != nil {
|
||||
result.BadRequest("用户月服务费无法解析。")
|
||||
return
|
||||
}
|
||||
_, err = global.DBConn.ID(targetUserId).Update(newUserInfo)
|
||||
if err != nil {
|
||||
result.Error(http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
result.Success("指定用户的信息已经更新。")
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user