xyxie 4 kuukautta sitten
vanhempi
commit
4982827619
3 muutettua tiedostoa jossa 131 lisäystä ja 14 poistoa
  1. 105 3
      controllers/eta_business/user.go
  2. 7 1
      models/user.go
  3. 19 10
      routers/commentsRouter.go

+ 105 - 3
controllers/eta_business/user.go

@@ -147,12 +147,17 @@ func (this *EtaBusinessUserController) List() {
 		tmp.UserId = v.UserId
 		tmp.RealName = v.RealName
 		tmp.Mobile = v.Mobile
+		tmp.CountryCode = v.CountryCode
 		tmp.Email = v.Email
 		tmp.Enabled = v.Enabled
 		tmp.PositionStatus = v.PositionStatus
 		tmp.Position = v.Position
 		tmp.DepartmentName = v.DepartmentName
-		tmp.LastLoginTime = v.LastLoginTime
+		// 判断time类型是否为零值
+		if !v.LastLoginTime.IsZero() {
+			tmp.LastLoginTime = v.LastLoginTime.Format(utils.FormatDateTime)
+		}
+
 		tmp.CreatedTime = v.CreatedTime.Format(utils.FormatDateTime)
 		tmp.LastUpdatedTime = v.LastUpdatedTime.Format(utils.FormatDateTime)
 		userList = append(userList, tmp)
@@ -329,6 +334,10 @@ func (this *EtaBusinessUserController) DeleteUser() {
 	//获取联系人详情
 	userInfo, err := models.GetUserByUserId(req.UserId)
 	if err != nil {
+		if err.Error() == utils.ErrNoRow() {
+			br.Msg = "用户不存在"
+			return
+		}
 		br.Msg = "获取联系人异常!"
 		br.ErrMsg = "获取联系人异常,Err:" + err.Error()
 		return
@@ -426,6 +435,10 @@ func (this *EtaBusinessUserController) EditUser() {
 	//操作权限校验
 	userInfo, err := models.GetUserByUserId(req.UserId)
 	if err != nil {
+		if err.Error() == utils.ErrNoRow() {
+			br.Msg = "用户不存在"
+			return
+		}
 		br.ErrMsg = "获取信息失败,Err:" + err.Error()
 		br.Msg = "获取信息失败"
 		return
@@ -499,7 +512,7 @@ func (this *EtaBusinessUserController) EditUser() {
 // @Param   File   query   file  true       "文件"
 // @Param   CompanyId   query   file  true       "客户id"
 // @Success 200 {object} models.ImportListResp
-// @router /import/list [post]
+// @router /user/import/list [post]
 func (this *EtaBusinessUserController) ImportList() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
@@ -777,7 +790,7 @@ type UpdateWxUser struct {
 // @Param   CompanyId   query   file  true       "客户id"
 // @Success 600 {object} []*company.CompanyUser
 // @Success 200 Ret=200 导入成功
-// @router /import [post]
+// @router /user/import [post]
 func (this *EtaBusinessUserController) Import() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
@@ -1065,3 +1078,92 @@ func (this *EtaBusinessUserController) Import() {
 	br.Ret = 200
 	br.Success = true
 }
+
+// @Title 移动用户至新的商户下
+// @Description 移动用户至新的商户下
+// @Param	request	body company.EditUserReq true "type json string"
+// @router /user/changeBusiness [post]
+func (this *EtaBusinessUserController) ChangeUserBusiness() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		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 models.ChangeUserBusinessReq
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
+	if err != nil {
+		br.Msg = "参数解析异常!"
+		br.ErrMsg = "参数解析失败,Err:" + err.Error()
+		return
+	}
+
+	if req.UserId <= 0 {
+		br.Msg = "参数错误!"
+		return
+	}
+
+	if req.BusinessCode == "" {
+		br.Msg = "请选择商户"
+		br.IsSendEmail = false
+		return
+	}
+	//操作权限校验
+	userInfo, err := models.GetUserByUserId(req.UserId)
+	if err != nil {
+		if err.Error() == utils.ErrNoRow() {
+			br.Msg = "用户不存在"
+			return
+		}
+		br.ErrMsg = "获取信息失败,Err:" + err.Error()
+		br.Msg = "获取信息失败"
+		return
+	}
+	if userInfo.BusinessCode == req.BusinessCode {
+		br.Msg = "用户已经在该商户下"
+		return
+	}
+	businessObj := new(eta_business.EtaBusiness)
+
+	businessInfo, err := businessObj.GetItemByBusinessCode(req.BusinessCode)
+	if err != nil {
+		if err.Error() == utils.ErrNoRow() {
+			br.Msg = "商户不存在"
+			return
+		}
+		br.Msg = "商户信息有误"
+		br.ErrMsg = "获取商户信息失败, Err: " + err.Error()
+		return
+	}
+	//操作权限校验
+	ok := eta_business2.CheckBusinessUserButton(sysUser.RoleTypeCode, businessInfo.SellerId, sysUser.AdminId)
+	if !ok {
+		br.Msg = "没有操作权限"
+		br.ErrMsg = "没有操作权限"
+		return
+	}
+
+	//待更新字段
+	updateCol := []string{"LastUpdatedTime", "BusinessCode"}
+
+	userInfo.LastUpdatedTime = time.Now()
+
+	userInfo.BusinessCode = req.BusinessCode
+	err = userInfo.Update(updateCol)
+	if err != nil {
+		br.Msg = "操作失败!"
+		br.ErrMsg = "操作失败,Err:" + err.Error()
+		return
+	}
+
+	br.Ret = 200
+	br.Success = true
+	br.Msg = "操作成功"
+	br.IsAddLog = true
+}

+ 7 - 1
models/user.go

@@ -15,7 +15,7 @@ type User struct {
 	Email                string
 	NickName             string `description:"昵称"`
 	CountryCode          string `description:"区号,86、852、886等"`
-	LastLoginTime        string
+	LastLoginTime        time.Time
 	IsFreeLogin          int `description:"是否30天免登录,0否,1是"`
 	RegisterTime         time.Time
 	LastCollectChartTime string `description:"最近收藏图表时间"`
@@ -172,3 +172,9 @@ type ImportListResp struct {
 	ValidUser  []*User `description:"有效客户数据"`
 	RepeatUser []*User `description:"重复客户数据"`
 }
+
+// 新增客户请求参数
+type ChangeUserBusinessReq struct {
+	UserId       int
+	BusinessCode string `description:"商家编码"`
+}

+ 19 - 10
routers/commentsRouter.go

@@ -189,8 +189,8 @@ func init() {
 
     beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessUserController"] = append(beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessUserController"],
         beego.ControllerComments{
-            Method: "Import",
-            Router: `/import`,
+            Method: "AddUser",
+            Router: `/user/add`,
             AllowHTTPMethods: []string{"post"},
             MethodParams: param.Make(),
             Filters: nil,
@@ -198,8 +198,8 @@ func init() {
 
     beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessUserController"] = append(beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessUserController"],
         beego.ControllerComments{
-            Method: "ImportList",
-            Router: `/import/list`,
+            Method: "ChangeUserBusiness",
+            Router: `/user/changeBusiness`,
             AllowHTTPMethods: []string{"post"},
             MethodParams: param.Make(),
             Filters: nil,
@@ -207,8 +207,8 @@ func init() {
 
     beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessUserController"] = append(beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessUserController"],
         beego.ControllerComments{
-            Method: "AddUser",
-            Router: `/user/add`,
+            Method: "DeleteUser",
+            Router: `/user/delete`,
             AllowHTTPMethods: []string{"post"},
             MethodParams: param.Make(),
             Filters: nil,
@@ -216,8 +216,8 @@ func init() {
 
     beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessUserController"] = append(beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessUserController"],
         beego.ControllerComments{
-            Method: "DeleteUser",
-            Router: `/user/delete`,
+            Method: "EditUser",
+            Router: `/user/edit`,
             AllowHTTPMethods: []string{"post"},
             MethodParams: param.Make(),
             Filters: nil,
@@ -225,8 +225,17 @@ func init() {
 
     beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessUserController"] = append(beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessUserController"],
         beego.ControllerComments{
-            Method: "EditUser",
-            Router: `/user/edit`,
+            Method: "Import",
+            Router: `/user/import`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
+    beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessUserController"] = append(beego.GlobalControllerRouter["eta/eta_forum_admin/controllers/eta_business:EtaBusinessUserController"],
+        beego.ControllerComments{
+            Method: "ImportList",
+            Router: `/user/import/list`,
             AllowHTTPMethods: []string{"post"},
             MethodParams: param.Make(),
             Filters: nil,