Browse Source

Merge branch 'bzq/dev_mcf' of eta_mini/eta_mini_api into master

鲍自强 6 months ago
parent
commit
a481797996
7 changed files with 130 additions and 36 deletions
  1. 8 3
      controllers/report.go
  2. 56 5
      controllers/user.go
  3. 7 0
      models/sys_department.go
  4. 13 12
      models/user.go
  5. 9 0
      routers/commentsRouter.go
  6. 24 14
      services/user.go
  7. 13 2
      utils/email.go

+ 8 - 3
controllers/report.go

@@ -253,6 +253,10 @@ func (this *ReportController) PdfList() {
 	secondClassifyIds := make([]int, 0)
 	thirdClassifyIds := make([]int, 0)
 	for _, v := range queryClassifyIds {
+		classify := classifyMap[v]
+		if classify.HasChild == 1 {
+			continue
+		}
 		switch classifyMap[v].Level {
 		case 1:
 			firstClassifyIds = append(firstClassifyIds, v)
@@ -375,7 +379,7 @@ func (this *ReportController) PdfDetail() {
 	resp := new(response.ReportPdfDetailResp)
 	if !IsPublic {
 		// 如果是私有报告,用户权限过期直接返回有效期已过
-		if vailStatus == 1 {
+		if vailStatus == 1 || user.Status == utils.UserStatusNo {
 			resp.Report = reportPdf
 			resp.Status = utils.ReportPermissionStatusExpired
 			br.Ret = 200
@@ -384,7 +388,7 @@ func (this *ReportController) PdfDetail() {
 			return
 		}
 		// 如果被禁用或是潜在用户,直接返回无阅读报告权限
-		if user.Status == utils.UserStatusNo || user.Status == utils.UserStatusPotential {
+		if user.Status == utils.UserStatusPotential {
 			resp.Report = reportPdf
 			resp.Status = utils.ReportPermissionStatusNo
 			br.Ret = 200
@@ -392,6 +396,7 @@ func (this *ReportController) PdfDetail() {
 			br.Msg = "用户权限不足"
 			return
 		}
+		// 正式用户,判断是否有权限查看
 		userChartPermissionIds, err := models.GetUserChartPermissionIdByUserId(user.UserId)
 		if err != nil {
 			br.Msg = "获取用户权限失败"
@@ -400,7 +405,7 @@ func (this *ReportController) PdfDetail() {
 		}
 		if len(userChartPermissionIds) == 0 {
 			resp.Report = reportPdf
-			resp.Status = utils.ReportPermissionStatusNo
+			resp.Status = utils.ReportPermissionStatusNoPermission
 			br.Ret = 200
 			br.Data = resp
 			br.Msg = "用户权限不足"

+ 56 - 5
controllers/user.go

@@ -66,6 +66,7 @@ func (this *UserAuthController) Login() {
 			br.ErrMsg = "请输入验证码"
 			return
 		}
+		req.Email = ""
 		phone := req.AreaCode + req.Phone
 		item, err := models.GetMsgCode(phone, req.SmsCode)
 		if err != nil {
@@ -94,6 +95,7 @@ func (this *UserAuthController) Login() {
 			br.ErrMsg = "请输入验证码"
 			return
 		}
+		req.Phone = ""
 		item, err := models.GetMsgCode(req.Email, req.SmsCode)
 		if err != nil {
 			if err.Error() == utils.ErrNoRow() {
@@ -742,11 +744,22 @@ func (this *UserAuthController) Info() {
 	if user == nil {
 		user = &models.User{}
 	}
-	department, err := models.GetSysDepartmentById(user.SellerDepartmentId)
-	if err != nil && err.Error() != utils.ErrNoRow() {
-		br.Msg = "查询失败"
-		br.ErrMsg = "查询失败,系统异常,Err:" + err.Error()
-		return
+	var department *models.SysDepartment
+	var err error
+	if user.SellerDepartmentId > 0 {
+		department, err = models.GetSysDepartmentById(user.SellerDepartmentId)
+		if err != nil {
+			if err.Error() == utils.ErrNoRow() {
+				br.Msg = "查询失败"
+				br.ErrMsg = "部门不存在,系统异常,Err:" + err.Error()
+				return
+			}
+			br.Msg = "查询失败"
+			br.ErrMsg = "查询失败,系统异常,Err:" + err.Error()
+			return
+		}
+	} else {
+		department = new(models.SysDepartment)
 	}
 	private, err := services.GetPrivateChartPermissionList()
 	if err != nil {
@@ -801,6 +814,9 @@ func (this *UserAuthController) Info() {
 		Status:               user.Status,
 		ValidEndTime:         user.ValidEndTime.Format(utils.FormatDate),
 	}
+	// 固定电话
+	userView.SellerDepartmentPhone = append(userView.SellerDepartmentPhone,
+		[]string{"021-63123065", "021-63123067"}...)
 
 	if user.ValidEndTime.IsZero() {
 		userView.ValidEndTime = ""
@@ -1048,7 +1064,9 @@ func (this *UserAuthController) ApplyPermission() {
 	user := this.User
 
 	if user.ApplyStatus == 1 {
+		br.Ret = 200
 		br.Msg = "您已提交过认证申请,请等待!"
+		br.Success = true
 		return
 	}
 	user.ApplyStatus = 1
@@ -1064,3 +1082,36 @@ func (this *UserAuthController) ApplyPermission() {
 	br.Success = true
 	br.Ret = 200
 }
+
+// DepartmentList
+// @Title 营业部门列表
+// @Description 营业部门列表
+// @Success 200 {object} []*models.SysDepartment
+// @router /department/list [get]
+func (this *UserController) DepartmentList() {
+	br := new(models.BaseResponse).Init()
+	defer func() {
+		this.Data["json"] = br
+		this.ServeJSON()
+	}()
+	department, err := models.GetSysDepartmentByName("营业部")
+	if err != nil {
+		if err.Error() == utils.ErrNoRow() {
+			br.Msg = "营业部不存在"
+			return
+		}
+		br.Msg = "获取营业部失败"
+		br.ErrMsg = "获取营业部失败,系统异常,Err:" + err.Error()
+		return
+	}
+	depList, err := models.GetChildSysDepartmentByParentId(department.SysDepartmentId)
+	if err != nil {
+		br.Msg = "获取营业部门失败"
+		br.ErrMsg = "获取子部门失败,系统异常,Err:" + err.Error()
+		return
+	}
+	br.Msg = "获取成功"
+	br.Data = depList
+	br.Success = true
+	br.Ret = 200
+}

+ 7 - 0
models/sys_department.go

@@ -23,3 +23,10 @@ func GetSysDepartmentById(sysDepartmentId int) (item *SysDepartment, err error)
 	err = o.Raw(sql, sysDepartmentId).QueryRow(&item)
 	return
 }
+
+func GetChildSysDepartmentByParentId(parentId int) (items []*SysDepartment, err error) {
+	o := orm.NewOrm()
+	sql := `SELECT * FROM sys_department WHERE parent_id = ? ORDER BY sort ASC`
+	_, err = o.Raw(sql, parentId).QueryRows(&items)
+	return
+}

+ 13 - 12
models/user.go

@@ -46,18 +46,19 @@ func (u *User) Update(cols []string) (err error) {
 }
 
 type UserView struct {
-	Headimgurl           string `description:"用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空"`
-	RealName             string `description:"用户实际名称"`
-	Phone                string `description:"手机号码"`
-	AreaCode             string `description:"区号"`
-	SellerDepartmentName string `description:"营业部名称"`
-	Email                string `description:"邮箱"`
-	Componey             string `description:"所属公司"`
-	HasPermission        string `description:"拥有权限"`
-	ValidEndTime         string `description:"服务截至时间"`
-	IsRegistered         bool   `description:"是否注册:1:已注册,0:未注册"`
-	Status               int    `description:"用户类型: 0表示禁用,1表示潜在客户,2表示正式客户"`
-	ApplyStatus          int    `description:"申请状态: 0表示未申请,1表示已申请"`
+	Headimgurl            string   `description:"用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空"`
+	RealName              string   `description:"用户实际名称"`
+	Phone                 string   `description:"手机号码"`
+	AreaCode              string   `description:"区号"`
+	SellerDepartmentName  string   `description:"营业部名称"`
+	SellerDepartmentPhone []string `description:"营业部电话"`
+	Email                 string   `description:"邮箱"`
+	Componey              string   `description:"所属公司"`
+	HasPermission         string   `description:"拥有权限"`
+	ValidEndTime          string   `description:"服务截至时间"`
+	IsRegistered          bool     `description:"是否注册:1:已注册,0:未注册"`
+	Status                int      `description:"用户类型: 0表示禁用,1表示潜在客户,2表示正式客户"`
+	ApplyStatus           int      `description:"申请状态: 0表示未申请,1表示已申请"`
 }
 
 func GetUserByToken(token string) (item *User, err error) {

+ 9 - 0
routers/commentsRouter.go

@@ -376,6 +376,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_mini_api/controllers:UserController"] = append(beego.GlobalControllerRouter["eta/eta_mini_api/controllers:UserController"],
+        beego.ControllerComments{
+            Method: "DepartmentList",
+            Router: `/department/list`,
+            AllowHTTPMethods: []string{"get"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_mini_api/controllers:UserController"] = append(beego.GlobalControllerRouter["eta/eta_mini_api/controllers:UserController"],
         beego.ControllerComments{
             Method: "GenerateCaptcha",

+ 24 - 14
services/user.go

@@ -44,7 +44,10 @@ func BindUser(unionId, openId, phone, email, areaCode string, departmentId int,
 				ModifyTime:   curTime,
 			}
 			updateUserErr := user.Update([]string{"phone", "area_code", "register_time", "modify_time"})
-			err = updateUserErr
+			if updateUserErr != nil {
+				err = updateUserErr
+				return
+			}
 		}
 		if userItem.Email == "" && email != "" {
 			user := &models.User{
@@ -54,7 +57,10 @@ func BindUser(unionId, openId, phone, email, areaCode string, departmentId int,
 				ModifyTime:   curTime,
 			}
 			updateUserErr := user.Update([]string{"email", "modify_time", "register_time"})
-			err = updateUserErr
+			if updateUserErr != nil {
+				err = updateUserErr
+				return
+			}
 		}
 	} else {
 		//根据手机号获取用户信息
@@ -115,6 +121,10 @@ func BindUser(unionId, openId, phone, email, areaCode string, departmentId int,
 			user.UserId = int(tmpUserId)
 			userId = int(tmpUserId)
 			userItem, err = models.GetUserById(userId)
+			if err != nil {
+				errMsg = "获取用户信息失败"
+				return
+			}
 		} else {
 			userItem.OpenId = openId
 			userItem.UnionId = unionId
@@ -167,20 +177,16 @@ func SaveUserInfo(userId, departmentId int, realName string) (msg string, err er
 	if err != nil {
 		return
 	}
+	if user.RealName == "" && realName == "" {
+		msg = "请输入姓名"
+		return
+	}
 	updateCols := make([]string, 0)
-	if realName == "" {
-		if realName == "" {
-			msg = "请输入姓名"
-			return
-		}
+	if realName != "" && user.RealName != realName {
 		user.RealName = realName
 		updateCols = append(updateCols, "real_name")
 	}
-	if user.SellerDepartmentName == "" || user.SellerDepartmentId == 0 {
-		if departmentId <= 0 {
-			msg = "请选择营业部门"
-			return
-		}
+	if departmentId > 0 && user.SellerDepartmentId != departmentId {
 		department, er := models.GetSysDepartmentById(departmentId)
 		if er != nil {
 			err = er
@@ -205,10 +211,14 @@ func SaveUserInfo(userId, departmentId int, realName string) (msg string, err er
 			msg = "部门信息异常"
 			return
 		}
+		user.SellerDepartmentId = departmentId
 		user.SellerDepartmentName = department.SysDepartmentName
-		user.SellerDepartmentId = department.SysDepartmentId
-		updateCols = append(updateCols, "seller_department_name")
 		updateCols = append(updateCols, "seller_department_id")
+		updateCols = append(updateCols, "seller_department_name")
+	}
+	if (user.SellerDepartmentName == "" || user.SellerDepartmentId == 0) && departmentId <= 0 {
+		msg = "请选择营业部门"
+		return
 	}
 	err = user.Update(updateCols)
 	if err != nil {

+ 13 - 2
utils/email.go

@@ -45,11 +45,22 @@ func SendEmailByDw(title, content string, touser string) (result bool, err error
 		arr = append(arr, touser)
 	}
 	m := gomail.NewMessage()
-	m.SetHeader("From", "lvan@dwqh88.com")
+	if RunMode == "debug" {
+		m.SetHeader("From", "564693862@qq.com")
+	} else {
+		m.SetHeader("From", "lvan@dwqh88.com")
+	}
 	m.SetHeader("To", arr...)
 	m.SetHeader("Subject", title)
 	m.SetBody("text/html", content)
-	d := gomail.NewDialer("mail.dwqh88.com", 465, "lvan@dwqh88.com", "Dwqh20248888")
+	var d *gomail.Dialer
+	if RunMode == "debug" {
+		d = gomail.NewDialer("smtp.qq.com", 587, "564693862@qq.com", "xvjmiuepszmmbdhc")
+	} else {
+		d = gomail.NewDialer("smtp.dwqh88.com", 25, "lvan@dwqh88.com", "Dwqh20248888")
+	}
+	// d := gomail.NewDialer("mail.dwqh88.com", 465, "lvan@dwqh88.com", "Dwqh20248888")
+	// d := gomail.NewDialer("smtp.qq.com", 587, "564693862@qq.com", "xvjmiuepszmmbdhc")
 	d.TLSConfig = &tls.Config{InsecureSkipVerify: true}
 
 	if err := d.DialAndSend(m); err != nil {