package controllers import ( "encoding/json" "fmt" "hongze/hz_crm_api/models" "hongze/hz_crm_api/models/company" "hongze/hz_crm_api/utils" "strings" "time" ) // CompanyServiceRecordController 客户-服务记录 type CompanyServiceRecordController struct { BaseAuthController } // ServiceRecordList // @Title 服务记录列表 // @Description 服务记录列表 // @Param CompanyId query int true "客户ID" // @Success Ret=200 获取成功 // @router /service_record/list [get] func (this *CompanyServiceRecordController) ServiceRecordList() { br := new(models.BaseResponse).Init() defer func() { if br.ErrMsg == "" { br.IsSendEmail = false } this.Data["json"] = br this.ServeJSON() }() sysUser := this.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录, SysUser Is Empty" br.Ret = 408 return } companyId, _ := this.GetInt("CompanyId", 0) if companyId <= 0 { br.Msg = "参数有误" return } recordOB := new(company.CompanyServiceRecord) recordCond := fmt.Sprintf(` AND %s = ?`, company.CompanyServiceRecordColumns.CompanyId) recordPars := make([]interface{}, 0) recordPars = append(recordPars, companyId) records, e := recordOB.GetItemsByCondition(recordCond, recordPars, []string{}, "") if e != nil { br.Msg = "获取失败" br.ErrMsg = "获取客户服务记录失败, Err: " + e.Error() return } respList := make([]*company.CompanyServiceRecordItem, 0) for _, r := range records { respList = append(respList, &company.CompanyServiceRecordItem{ CompanyServiceRecordId: r.CompanyServiceRecordId, Content: r.Content, SysAdminId: r.SysAdminId, SysAdminName: r.SysAdminName, CreateTime: r.CreateTime.Format(utils.FormatDateTime), Mark: r.Mark, }) } br.Data = respList br.Ret = 200 br.Success = true br.Msg = "获取成功" } // ServiceRecordAdd // @Title 新增服务记录 // @Description 新增服务记录 // @Param request body company.CompanyServiceRecordAddReq true "type json string" // @Success Ret=200 操作成功 // @router /service_record/add [post] func (this *CompanyServiceRecordController) ServiceRecordAdd() { br := new(models.BaseResponse).Init() defer func() { if br.ErrMsg == "" { br.IsSendEmail = false } this.Data["json"] = br this.ServeJSON() }() sysUser := this.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录, SysUser Is Empty" br.Ret = 408 return } var req company.CompanyServiceRecordAddReq if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + e.Error() return } if req.CompanyId <= 0 { br.Msg = "参数有误" return } req.Content = strings.TrimSpace(req.Content) if req.Content == "" { br.Msg = "请输入服务描述" return } if len([]rune(req.Content)) > 100 { br.Msg = "服务描述不可超过100个字符" return } item := new(company.CompanyServiceRecord) item.CompanyId = req.CompanyId item.Content = req.Content item.SysAdminId = sysUser.AdminId item.SysAdminName = sysUser.RealName item.CreateTime = time.Now().Local() item.ModifyTime = time.Now().Local() if e := item.Create(); e != nil { br.Msg = "操作失败" br.ErrMsg = "新增服务记录失败, Err: " + e.Error() return } br.Ret = 200 br.Success = true br.Msg = "操作成功" } // ServiceRecordDel // @Title 删除服务记录 // @Description 删除服务记录 // @Param request body company.CompanyServiceRecordDelReq true "type json string" // @Success Ret=200 操作成功 // @router /service_record/del [post] func (this *CompanyServiceRecordController) ServiceRecordDel() { br := new(models.BaseResponse).Init() defer func() { if br.ErrMsg == "" { br.IsSendEmail = false } this.Data["json"] = br this.ServeJSON() }() sysUser := this.SysUser if sysUser == nil { br.Msg = "请登录" br.ErrMsg = "请登录, SysUser Is Empty" br.Ret = 408 return } var req company.CompanyServiceRecordDelReq if e := json.Unmarshal(this.Ctx.Input.RequestBody, &req); e != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + e.Error() return } if req.CompanyServiceRecordId <= 0 { br.Msg = "参数有误" return } item := new(company.CompanyServiceRecord) if e := item.GetItemById(req.CompanyServiceRecordId); e != nil { if e.Error() == utils.ErrNoRow() { br.Msg = "服务记录已被删除, 请刷新页面" return } br.Msg = "操作失败" br.ErrMsg = "获取服务记录失败, Err: " + e.Error() return } if e := item.Del(); e != nil { br.Msg = "操作失败" br.ErrMsg = "删除服务记录失败, Err: " + e.Error() return } br.Ret = 200 br.Success = true br.Msg = "操作成功" }