Browse Source

fix:图表收藏,用户登录

zqbao 9 months ago
parent
commit
6c824f0578
4 changed files with 35 additions and 15 deletions
  1. 11 2
      controllers/chart.go
  2. 10 0
      controllers/my_chart.go
  3. 13 13
      controllers/wechat.go
  4. 1 0
      models/response/chart.go

+ 11 - 2
controllers/chart.go

@@ -59,7 +59,8 @@ func (this *ChartController) Detail() {
 		this.Data["json"] = br
 		this.ServeJSON()
 	}()
-	if this.User.Status != utils.UserStatusFormal {
+	user := this.User
+	if user.Status != utils.UserStatusFormal {
 		br.Msg = "用户没有权限查看图表"
 		return
 	}
@@ -73,7 +74,7 @@ func (this *ChartController) Detail() {
 	result, err := services.GetChartDetail(chartInfoId)
 	if err != nil {
 		br.Msg = "获取图表详情失败"
-		br.ErrMsg = "获取图表详情失败,Err:" + err.Error()
+		br.ErrMsg = "获取图表详情失败Err:" + err.Error()
 		return
 	}
 	if result.Ret != 200 {
@@ -81,6 +82,14 @@ func (this *ChartController) Detail() {
 		br.ErrMsg = result.ErrMsg
 		return
 	}
+	count, err := models.GetMyChartCount(user.UserId, result.Data.UniqueCode)
+	if err != nil {
+		br.Msg = "获取图表详情失败"
+		br.ErrMsg = "获取图表详情失败,Err:" + err.Error()
+	}
+	if count > 0 {
+		result.Data.IsCollect = true
+	}
 	br.Data = result.Data
 	br.Msg = "查询成功"
 	br.Success = true

+ 10 - 0
controllers/my_chart.go

@@ -259,6 +259,7 @@ func (this *MyChartController) Detail() {
 		this.ServeJSON()
 	}()
 
+	user := this.User
 	chartInfoId, _ := this.GetInt("ChartInfoId")
 	if chartInfoId <= 0 {
 		br.Msg = "图表id错误"
@@ -276,6 +277,15 @@ func (this *MyChartController) Detail() {
 		br.ErrMsg = result.ErrMsg
 		return
 	}
+	count, err := models.GetMyChartCount(user.UserId, result.Data.UniqueCode)
+	if err != nil {
+		br.Msg = "获取图表详情失败"
+		br.ErrMsg = "获取图表详情失败,Err:" + err.Error()
+	}
+	if count > 0 {
+		result.Data.IsCollect = true
+	}
+
 	br.Data = result.Data
 	br.Msg = "查询成功"
 	br.Success = true

+ 13 - 13
controllers/wechat.go

@@ -211,8 +211,9 @@ func (this *WechatController) Login() {
 	if err != nil {
 		if err.Error() == utils.ErrNoRow() && user == nil {
 			tmpUser := &models.User{
-				OpenId:  userInfo.OpenID,
-				UnionId: userInfo.UnionID,
+				OpenId:         userInfo.OpenID,
+				UnionId:        userInfo.UnionID,
+				LastUpdateTime: time.Now(),
 			}
 			tmpUserId, er := tmpUser.Insert()
 			if er != nil {
@@ -229,17 +230,16 @@ func (this *WechatController) Login() {
 		}
 	}
 	var token string
-	if user.AccessToken == "" {
-		timeUnix := time.Now().Unix()
-		timeUnixStr := strconv.FormatInt(timeUnix, 10)
-		token = utils.MD5(strconv.Itoa(user.UserId)) + utils.MD5(timeUnixStr)
-		user.AccessToken = token
-		_, err = user.Update([]string{"access_token"})
-		if err != nil {
-			br.Msg = "微信登录失败"
-			br.ErrMsg = "微信登录失败,更新用户信息失败:" + err.Error()
-			return
-		}
+	timeUnix := time.Now().Unix()
+	timeUnixStr := strconv.FormatInt(timeUnix, 10)
+	token = utils.MD5(strconv.Itoa(user.UserId)) + utils.MD5(timeUnixStr)
+	user.AccessToken = token
+	user.LastUpdateTime = time.Now()
+	_, err = user.Update([]string{"access_token", "last_update_time"})
+	if err != nil {
+		br.Msg = "微信登录失败"
+		br.ErrMsg = "微信登录失败,更新用户信息失败:" + err.Error()
+		return
 	}
 	token = user.AccessToken
 	resp := new(response.WeChatLoginResp)

+ 1 - 0
models/response/chart.go

@@ -71,6 +71,7 @@ type ChartInfoView struct {
 	IsJoinPermission  int             `description:"是否加入权限管控,0:不加入;1:加入;默认:0"`
 	HaveOperaAuth     bool            `description:"是否有数据权限,默认:false"`
 	ForumChartInfoId  int             `description:"社区的图表ID"`
+	IsCollect         bool            `description:"社区的图表ID"`
 }
 
 type ChartClassifyView struct {