hsun преди 3 години
родител
ревизия
1312a33a5f
променени са 6 файла, в които са добавени 93 реда и са изтрити 1 реда
  1. 48 0
      controller/activity/activity.go
  2. 2 0
      init_serve/router.go
  3. 1 1
      models/tables/wx_user/query.go
  4. 17 0
      models/tables/yb_activity/query.go
  5. 11 0
      routers/activity.go
  6. 14 0
      services/activity/activity.go

+ 48 - 0
controller/activity/activity.go

@@ -1 +1,49 @@
 package activity
+
+import (
+	"github.com/gin-gonic/gin"
+	"hongze/hongze_yb/controller/response"
+	"hongze/hongze_yb/services/activity"
+	"strconv"
+)
+
+/**
+ * @method	GetPageList
+ * @desc	获取活动分页列表
+ * @param	*gin.Context
+ * @return	json
+ */
+func GetPageList(c *gin.Context)  {
+	where := _handleListQuery(c)
+	page, limit := _handlePageParam(c)
+	listData, err := activity.PageList(where, page, limit)
+	if err != nil {
+		response.Fail("活动获取失败", c)
+		return
+	}
+	response.OkData("获取成功", listData, c)
+}
+
+func _handleListQuery(c *gin.Context) map[string]interface{} {
+	where := make(map[string]interface{})
+	title := c.DefaultQuery("activity_name", "")
+	if title != "" {
+		where["activity_name like"] = "%" + c.Query("activity_name") + "%"
+	}
+	typeName := c.DefaultQuery("activity_type_name", "")
+	if typeName != "" {
+		where["activity_type_name like"] = "%" + c.Query("activity_type_name") + "%"
+	}
+	requestState := c.DefaultQuery("active_state", "0")
+	if requestState != "" {
+		state, _ := strconv.Atoi(requestState)
+		where["active_state ="] = state
+	}
+	return where
+}
+
+func _handlePageParam(c *gin.Context) (page int, limit int) {
+	page, _ = strconv.Atoi(c.Query("page"))
+	limit, _ = strconv.Atoi(c.Query("limit"))
+	return
+}

+ 2 - 0
init_serve/router.go

@@ -22,5 +22,7 @@ func InitRouter() (r *gin.Engine) {
 	routers.InitTest(r)
 	//微信相关路由
 	routers.InitWechat(r)
+	// 活动相关路由
+	routers.InitActivity(r)
 	return
 }

+ 1 - 1
models/tables/wx_user/query.go

@@ -8,7 +8,7 @@ import (
 
 // GetByMobile 根据手机号获取信息
 func GetByMobile(mobile string) (wxUser *WxUser, err error) {
-	err = global.MYSQL["report"].Where("mobile like  ? ", mobile).First(&wxUser).Error
+	err = global.MYSQL["report"].Where("mobile = ?", mobile).First(&wxUser).Error
 	return
 }
 

+ 17 - 0
models/tables/yb_activity/query.go

@@ -0,0 +1,17 @@
+package yb_activity
+
+import (
+	"errors"
+	"hongze/hongze_yb/global"
+	"hongze/hongze_yb/utils"
+)
+
+func GetPageListByWhereMap(where map[string]interface{}, page int, limit int) (activities []*YbActivity, err error) {
+	condition, values, buildErr := utils.WhereBuild(where)
+	if buildErr != nil {
+		err = errors.New("系统异常,生成查询语句失败")
+		return
+	}
+	err = global.DEFAULT_MYSQL.Where(condition, values...).Limit(limit).Offset((page - 1) * limit).Find(&activities).Error
+	return
+}

+ 11 - 0
routers/activity.go

@@ -1 +1,12 @@
 package routers
+
+import (
+	"github.com/gin-gonic/gin"
+	"hongze/hongze_yb/controller/activity"
+)
+
+func InitActivity(r *gin.Engine)  {
+	rGroup := r.Group("activity")
+
+	rGroup.GET("/getPageList", activity.GetPageList)
+}

+ 14 - 0
services/activity/activity.go

@@ -1 +1,15 @@
 package activity
+
+import (
+	"fmt"
+	"hongze/hongze_yb/models/tables/yb_activity"
+)
+
+func PageList(where map[string]interface{}, page int, limit int) (data []*yb_activity.YbActivity, err error) {
+	data, err = yb_activity.GetPageListByWhereMap(where, page, limit)
+	if err != nil {
+		fmt.Println("err:", err)
+		return
+	}
+	return
+}