Browse Source

feat:新增编辑研究员信息接口

Roc 7 months ago
parent
commit
b318ca5d77
4 changed files with 94 additions and 83 deletions
  1. 58 81
      controllers/analyst.go
  2. 1 0
      models/db.go
  3. 26 2
      models/financial_analyst.go
  4. 9 0
      routers/commentsRouter.go

+ 58 - 81
controllers/analyst.go

@@ -105,87 +105,6 @@ func (this *AnalystController) UploadImage() {
 	br.Success = true
 }
 
-// edit
-// @Title 编辑客户
-// @Description 编辑客户
-// @Param   request	body request.UserEidtReq true "type json string"
-// @Success 200 {object} request.UserAddReq
-// @router /edit [post]
-func (this *AnalystController) Edit() {
-	br := new(models.BaseResponse).Init()
-	defer func() {
-		this.Data["json"] = br
-		this.ServeJSON()
-	}()
-
-	var req request.AnalystEditReq
-	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
-	if err != nil {
-		br.Msg = "参数解析异常!"
-		br.ErrMsg = "参数解析失败,Err:" + err.Error()
-		return
-	}
-	if req.Id <= 0 {
-		br.Msg = "请选择用户"
-		return
-	}
-	if req.HeadImgUrl == "" {
-		br.Msg = "请输入姓名"
-		return
-	}
-	req.Introduction = strings.TrimSpace(req.Introduction)
-
-	user, err := models.GetUserById(req.UserId)
-	if err != nil {
-		if err.Error() == utils.ErrNoRow() {
-			br.Msg = "用户不存在或已删除,请重新刷新页面"
-			br.ErrMsg = "用户不存在或已删除,请重新刷新页面,Err:" + err.Error()
-			return
-		}
-		br.Msg = "编辑用户失败"
-		br.ErrMsg = "编辑用户失败, 系统错误,Err:" + err.Error()
-		return
-	}
-	user.RealName = req.RealName
-	user.AreaCode = req.AreaCode
-	user.Phone = req.Phone
-	user.Email = req.Email
-	user.SellerId = req.SellerId
-	user.ValidStartTime = validStartTime
-	user.ValidEndTime = validEndTime
-	user.Company = req.Company
-	user.ModifyTime = time.Now()
-	// 当用户状态初始为潜在客户时,才更新创建时间
-	if user.Status == utils.UserStatusPotential {
-		user.CreateTime = time.Now()
-	}
-	oldStatus := user.Status
-	if !req.IsEnabled {
-		user.Status = 0
-	} else {
-		user.Status = 2
-	}
-	err = models.SaveUser(user, req.ChartPermission)
-	if err != nil {
-		br.Msg = "添加客户失败"
-		br.ErrMsg = "添加客户失败,系统错误,Err:" + err.Error()
-		return
-	}
-	record := &models.UserChangeRecord{}
-	record.UserId = req.UserId
-	record.SysUserId = this.SysUser.SysUserId
-	if oldStatus == utils.UserStatusPotential && user.Status == utils.UserStatusFormal {
-		record.Content = this.SysUser.SysRealName + "新增用户"
-	} else {
-		record.Content = this.SysUser.SysRealName + "编辑用户"
-	}
-	record.Insert()
-
-	br.Msg = "编辑成功"
-	br.Success = true
-	br.Ret = 200
-}
-
 // GetAnalystByName
 // @Title 查询研究员信息
 // @Description 查询研究员信息
@@ -267,3 +186,61 @@ func (this *AnalystController) List() {
 	br.Msg = "获取成功"
 	br.Data = resp
 }
+
+// edit
+// @Title 编辑研究员
+// @Description 编辑研究员
+// @Param   request	body request.AnalystEditReq true "type json string"
+// @Success 200 string 编辑成功
+// @router /edit [post]
+func (this *AnalystController) Edit() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+
+	var req request.AnalystEditReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+	if req.Id <= 0 {
+		br.Msg = "请选择用户"
+		return
+	}
+	if req.HeadImgUrl == "" {
+		br.Msg = "请输入姓名"
+		return
+	}
+	req.Introduction = strings.TrimSpace(req.Introduction)
+
+	analyst, err := models.GetAnalystById(req.Id)
+	if err != nil {
+		if err.Error() == utils.ErrNoRow() {
+			br.Msg = "用户不存在或已删除,请重新刷新页面"
+			br.ErrMsg = "用户不存在或已删除,请重新刷新页面,Err:" + err.Error()
+			return
+		}
+		br.Msg = "编辑用户失败"
+		br.ErrMsg = "编辑用户失败, 系统错误,Err:" + err.Error()
+		return
+	}
+	if req.HeadImgUrl != `` {
+		analyst.HeadImgURL = req.HeadImgUrl
+	}
+	analyst.Introduction = req.Introduction
+	analyst.UpdatedTime = time.Now()
+	err = analyst.Update([]string{"HeadImgURL", "Introduction", "UpdatedTime"})
+	if err != nil {
+		br.Msg = "编辑失败"
+		br.ErrMsg = "编辑失败, 系统错误,Err:" + err.Error()
+		return
+	}
+
+	br.Msg = "编辑成功"
+	br.Success = true
+	br.Ret = 200
+}

+ 1 - 0
models/db.go

@@ -41,5 +41,6 @@ func init() {
 		new(UserChangeRecord),
 		new(ReportPdf),
 		new(TemplateUsers),
+		new(CrmFinancialAnalyst),
 	)
 }

+ 26 - 2
models/financial_analyst.go

@@ -14,17 +14,22 @@ const (
 )
 
 type CrmFinancialAnalyst struct {
-	Id           int           `gorm:"primaryKey;autoIncrement;column:id;comment:主键"`
+	Id           int           `orm:"pk"  gorm:"primaryKey;autoIncrement;column:id;comment:主键"`
 	ETAId        int           `gorm:"column:eta_id"`
 	HTId         int           `gorm:"column:ht_id"`
 	Name         string        `gorm:"column:name"`
-	HeadImgURL   string        `gorm:"column:head_img_url"`
+	HeadImgURL   string        `orm:"column(head_img_url)" gorm:"column:head_img_url"`
 	Introduction string        `gorm:"column:introduction"`
 	Status       AnalystStatus `gorm:"column:status"`
 	Deleted      bool          `gorm:"column:deleted"`
 	CreatedTime  time.Time     `gorm:"column:created_time;type:timestamps;comment:创建时间"`
 	UpdatedTime  time.Time     `gorm:"column:updated_time;type:timestamps;comment:更新时间"`
 }
+
+func (m *CrmFinancialAnalyst) TableName() string {
+	return "crm_financial_analysts"
+}
+
 type AnalystView struct {
 	Id           int    `json:"Id"`
 	Name         string `json:"Name"`
@@ -53,3 +58,22 @@ func GetAnalystList(startSize int, pageSize int) (item []*CrmFinancialAnalyst, e
 	_, err = o.Raw(sql, startSize, pageSize).QueryRows(&item)
 	return
 }
+
+// GetAnalystById
+// @Description: 根据ID获取信息
+// @author: Roc
+// @datetime 2024-08-09 18:24:58
+// @param id int
+// @return analyst CrmFinancialAnalyst
+// @return err error
+func GetAnalystById(id int) (analyst CrmFinancialAnalyst, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM crm_financial_analysts  where id =?`
+	err = o.Raw(sql, id).QueryRow(&analyst)
+	return
+}
+func (m *CrmFinancialAnalyst) Update(cols []string) (err error) {
+	o := orm.NewOrm()
+	_, err = o.Update(m, cols...)
+	return
+}

+ 9 - 0
routers/commentsRouter.go

@@ -18,6 +18,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_mini_crm_ht/controllers:AnalystController"] = append(beego.GlobalControllerRouter["eta/eta_mini_crm_ht/controllers:AnalystController"],
+        beego.ControllerComments{
+            Method: "Edit",
+            Router: `/edit`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_mini_crm_ht/controllers:AnalystController"] = append(beego.GlobalControllerRouter["eta/eta_mini_crm_ht/controllers:AnalystController"],
         beego.ControllerComments{
             Method: "List",