|
@@ -0,0 +1,470 @@
|
|
|
+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
|
|
|
+// @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
|
|
|
+// @Description 更新登录时间和次数
|
|
|
+// @Success 200 {string} string "操作成功"
|
|
|
+// @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
|
|
|
+}
|