package eta_trial import ( "encoding/json" "eta/eta_forum_hub/controllers" "eta/eta_forum_hub/models" "eta/eta_forum_hub/models/eta_trial" eta_trial2 "eta/eta_forum_hub/services/eta_trial" "eta/eta_forum_hub/utils" "time" ) type EtaTrialController struct { controllers.BaseAuthController } // GetUserByMobile // @Title 手机号获取用户信息 // @Description 手机号获取用户信息 // @Success 200 {string} string "操作成功" // @router /user/mobile_fetch [post] func (this *EtaTrialController) GetUserByMobile() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() var req eta_trial.GetUserReq err := json.Unmarshal(this.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } if req.Mobile == "" { br.Msg = "请输入手机号" return } item, e := models.GetEtaTrialByMobile(req.Mobile) if e != nil && e.Error() != utils.ErrNoRow() { br.Msg = "操作失败" br.ErrMsg = "获取试用客户信息失败, Err:" + e.Error() return } br.Ret = 200 br.Success = true br.Msg = "操作成功" br.Data = item } // Disable // @Description 禁用 // @Success 200 {string} string "操作成功" // @router /user/disable [post] func (this *EtaTrialController) Disable() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() var req eta_trial.GetUserReq err := json.Unmarshal(this.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } if req.Mobile == "" { br.Msg = "请输入手机号" return } if e := models.DisableEtaTrailByMobile(req.Mobile); e != nil { br.Msg = "操作失败" br.ErrMsg = "禁用试用客户失败, Err:" + e.Error() return } br.Ret = 200 br.Success = true br.Msg = "操作成功" br.Data = true } // Edit // @Description 编辑 // @Success 200 {string} string "操作成功" // @router /user/edit [post] func (this *EtaTrialController) Edit() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() var req eta_trial.UserEditReq err := json.Unmarshal(this.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } if e := models.UpdateEtaTrialPositionByMobile(req.RealName, req.Position, req.Mobile, req.Enabled); e != nil { br.Msg = "操作失败" br.ErrMsg = "更新试用客户失败, Err:" + e.Error() return } br.Ret = 200 br.Success = true br.Msg = "操作成功" br.Data = true } // Remove // @Description 删除用户 // @Success 200 {string} string "操作成功" // @router /user/remove [post] func (this *EtaTrialController) Remove() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() var req eta_trial.GetUserReq err := json.Unmarshal(this.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } if req.Mobile == "" { br.Msg = "请输入手机号" return } if e := models.DeleteEtaTrialByMobile(req.Mobile); e != nil { br.Msg = "操作失败" br.ErrMsg = "删除试用客户失败, Err:" + e.Error() return } br.Ret = 200 br.Success = true br.Msg = "操作成功" br.Data = true } // UpdateLogin // @Title 更新登录时间和次数 // @Description 更新登录时间和次数 // @Param request body eta_trial.UpdateUserLoginReq true "type json string" // @Success 200 "操作成功" // @router /user/update_login [post] func (this *EtaTrialController) UpdateLogin() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() var req eta_trial.UpdateUserLoginReq err := json.Unmarshal(this.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } if req.Mobile == "" { br.Msg = "请输入手机号" return } if e := models.UpdateEtaTrialLoginByMobile(req.Mobile); e != nil { br.Msg = "操作失败" br.ErrMsg = "更新试用客户登录时间和次数失败, Err:" + e.Error() return } br.Ret = 200 br.Success = true br.Msg = "操作成功" br.Data = true } // UpdateIndexNum // @Description 更新累计新增指标数 // @Success 200 {string} string "操作成功" // @router /user/update_index_num [post] func (this *EtaTrialController) UpdateIndexNum() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() var req eta_trial.UpdateUserIndexNumReq err := json.Unmarshal(this.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } if req.Mobile == "" { br.Msg = "请输入手机号" return } if e := models.UpdateEtaTrialIndexNumByMobile(req.Mobile); e != nil { br.Msg = "操作失败" br.ErrMsg = "更新试用客户累计新增指标数失败, Err:" + e.Error() return } br.Ret = 200 br.Success = true br.Msg = "操作成功" br.Data = true } // UpdateChartNum // @Description 更新累计新增图表数 // @Success 200 {string} string "操作成功" // @router /user/update_chart_num [post] func (this *EtaTrialController) UpdateChartNum() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() var req eta_trial.UpdateUserIndexNumReq err := json.Unmarshal(this.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } if req.Mobile == "" { br.Msg = "请输入手机号" return } if e := models.UpdateEtaTrialChartNumByMobile(req.Mobile); e != nil { br.Msg = "操作失败" br.ErrMsg = "更新试用客户累计新增图表数失败, Err:" + e.Error() return } br.Ret = 200 br.Success = true br.Msg = "操作成功" br.Data = true } // UpdateActiveTime // @Description 更新活跃时间 // @Success 200 {string} string "操作成功" // @router /user/update_active_time [post] func (this *EtaTrialController) UpdateActiveTime() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() var req eta_trial.UpdateUserActiveTimeReq err := json.Unmarshal(this.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } record := new(models.EtaTrialActiveRecord) record.UserName = req.UserName record.Mobile = req.Mobile record.ActiveTime = req.ActiveTime record.Part = req.Part record.CreateTime = time.Now().Local() if e := record.Create(); e != nil { br.Msg = "操作失败" br.ErrMsg = "新增试用客户活跃记录失败, Err:" + e.Error() return } if e := models.UpdateEtaTrailActiveTime(req.ActiveTime, req.Mobile); e != nil { br.Msg = "操作失败" br.ErrMsg = "更新试用客户累计活跃时长失败, Err:" + e.Error() return } br.Ret = 200 br.Success = true br.Msg = "操作成功" br.Data = true } // UpdateLoginDuration // @Description 更新登录时长 // @Success 200 {string} string "操作成功" // @router /user/update_login_duration [post] func (this *EtaTrialController) UpdateLoginDuration() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() var req eta_trial.UpdateUserLoginDurationReq err := json.Unmarshal(this.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } record := new(models.EtaTrialLoginDurationRecord) record.UserName = req.UserName record.Mobile = req.Mobile record.Duration = req.ActiveTime record.CreateTime = time.Now().Local() if e := record.Create(); e != nil { br.Msg = "操作失败" br.ErrMsg = "新增试用客户登录时长记录失败, Err:" + e.Error() return } if e := models.UpdateEtaTrailLastLoginDuration(req.ActiveTime, req.Mobile); e != nil { br.Msg = "操作失败" br.ErrMsg = "更新试用客户登录时长失败, Err:" + e.Error() return } br.Ret = 200 br.Success = true br.Msg = "操作成功" br.Data = true } // AddEtaTrialAdmin // @Title 新增或者编辑系统用户 // @Description 新增系统用户接口 // @Param request body system.SysuserAddReq true "type json string" // @Success 200 新增成功 // @router /admin/add [post] func (this *EtaTrialController) AddEtaTrialAdmin() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() var req eta_trial.AddEtaTrialAdminReq err := json.Unmarshal(this.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } //新增至试用平台的Admin adminItem, err := eta_trial.GetSysUserByRoleAndDepartment("试用", "ETA试用客户") if err != nil { br.Msg = "获取用户信息失败" br.ErrMsg = "获取用户信息失败,Err:" + err.Error() return } admin := new(eta_trial.ETATrialAdmin) admin.AdminName = req.Account admin.RealName = req.UserName admin.Password = utils.MD5(req.Password) admin.LastUpdatedPasswordTime = time.Now().Format(utils.FormatDateTime) admin.Enabled = 1 admin.LastLoginTime = time.Now().Format(utils.FormatDateTime) admin.CreatedTime = time.Now() admin.LastUpdatedTime = time.Now().Format(utils.FormatDateTime) admin.Mobile = req.Mobile admin.RoleType = 0 admin.RoleId = adminItem.RoleId admin.RoleName = "试用" admin.RoleTypeCode = "管理员" admin.DepartmentId = adminItem.DepartmentId admin.DepartmentName = "ETA试用客户" admin.Role = "admin" admin.Position = req.Position newId, err := eta_trial.AddAdmin(admin) if err != nil { br.Msg = "新增失败" br.ErrMsg = "新增失败,AddAdmin Err:" + err.Error() return } // 新增试用客户手工权限 go func() { //_ = services.CreateTrialUserManualAuth(newId, admin.RealName) _ = eta_trial2.EtaTrialManualUserAddAuth(newId, admin.RealName) }() br.Ret = 200 br.Success = true br.Msg = "新增成功" } // EnabledEtaTrialAdmin // @Title 新增或者编辑系统用户 // @Description 新增系统用户接口 // @Param request body system.SysuserAddReq true "type json string" // @Success 200 新增成功 // @router /admin/enabled [post] func (this *EtaTrialController) EnabledEtaTrialAdmin() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() var req eta_trial.EnabledEtaTrialAdminReq err := json.Unmarshal(this.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } //新增至试用平台的Admin if req.Mobile == "" { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:手机号不能为空" return } err = eta_trial.UpdateAdminEnable(req.Mobile) if err != nil { br.Msg = "启用失败" br.ErrMsg = "启用失败,Err:" + err.Error() return } br.Ret = 200 br.Success = true br.Msg = "操作成功" } // GetMobileCount // @Title 新增或者编辑系统用户 // @Description 新增系统用户接口 // @Param request body system.SysuserAddReq true "type json string" // @Success 200 新增成功 // @router /mobile/count [post] func (this *EtaTrialController) GetMobileCount() { br := new(models.BaseResponse).Init() defer func() { this.Data["json"] = br this.ServeJSON() }() var req eta_trial.GetMobileCountReq err := json.Unmarshal(this.Ctx.Input.RequestBody, &req) if err != nil { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:" + err.Error() return } //新增至试用平台的Admin if req.Mobile == "" { br.Msg = "参数解析异常!" br.ErrMsg = "参数解析失败,Err:手机号不能为空" return } mobileCount, err := eta_trial.GetSysAdminCountByMobile(req.Mobile, 0) if err != nil { br.Msg = "启用失败" br.ErrMsg = "启用失败,Err:" + err.Error() return } data := new(eta_trial.GetMobileCountResp) data.Count = mobileCount br.Ret = 200 br.Success = true br.Msg = "操作成功" br.Data = data }