Przeglądaj źródła

fix:修改编辑用户的部分逻辑

zqbao 10 miesięcy temu
rodzic
commit
f9cbc1e7ef
1 zmienionych plików z 14 dodań i 7 usunięć
  1. 14 7
      controllers/user.go

+ 14 - 7
controllers/user.go

@@ -255,13 +255,13 @@ func (this *UserController) Edit() {
 		return
 	}
 
-	validStartTime, err := time.Parse("2006-01-02", req.ValidStartTime)
+	validStartTime, err := time.Parse(utils.FormatDate, req.ValidStartTime)
 	if err != nil {
 		br.Msg = "错误的日期格式"
 		return
 	}
 	validStartTime = validStartTime.In(time.Local).Add(-time.Hour * 8)
-	validEndTime, err := time.Parse("2006-01-02", req.ValidEndTime)
+	validEndTime, err := time.Parse(utils.FormatDate, req.ValidEndTime)
 	if err != nil {
 		br.Msg = "错误的日期格式"
 		return
@@ -276,6 +276,11 @@ func (this *UserController) Edit() {
 		return
 	}
 
+	if req.IsEnabled && time.Now().After(validEndTime) {
+		br.Msg = "启用后,有效期必须大于当前时间"
+		return
+	}
+
 	user, err := models.GetUserById(req.UserId)
 	if err != nil {
 		if err == orm.ErrNoRows {
@@ -296,13 +301,15 @@ func (this *UserController) Edit() {
 	user.ValidEndTime = validEndTime
 	user.Company = req.Company
 	user.ModifyTime = time.Now()
-	curTime := time.Now()
+	// 当用户状态初始为潜在客户时,才更新创建时间
+	if user.Status == utils.UserStatusPotential {
+		user.CreateTime = time.Now()
+	}
+	oldStatus := user.Status
 	if !req.IsEnabled {
 		user.Status = 0
-	} else if curTime.Before(validEndTime) {
-		user.Status = 2
 	} else {
-		user.Status = 1
+		user.Status = 2
 	}
 	err = models.SaveUser(user, req.ChartPermission)
 	if err != nil {
@@ -313,7 +320,7 @@ func (this *UserController) Edit() {
 	record := &models.UserChangeRecord{}
 	record.UserId = req.UserId
 	record.SysUserId = this.SysUser.SysUserId
-	if user.Status == 2 {
+	if oldStatus == utils.UserStatusPotential && user.Status == utils.UserStatusFormal {
 		record.Content = this.SysUser.SysRealName + "新增用户"
 	} else {
 		record.Content = this.SysUser.SysRealName + "编辑用户"