|
|
@@ -0,0 +1,229 @@
|
|
|
+package api
|
|
|
+
|
|
|
+import (
|
|
|
+ "strconv"
|
|
|
+ "think-go/controllers/services"
|
|
|
+ "think-go/utils"
|
|
|
+
|
|
|
+ beego "github.com/beego/beego/v2/server/web"
|
|
|
+)
|
|
|
+
|
|
|
+type CommunityListController struct {
|
|
|
+ beego.Controller
|
|
|
+}
|
|
|
+
|
|
|
+var communityListService = &services.CommunityListService{}
|
|
|
+
|
|
|
+// GetCommunityList 获取社区列表信息
|
|
|
+// @router /api/community/list [get]
|
|
|
+func (c *CommunityListController) GetCommunityList() {
|
|
|
+ // 获取参数
|
|
|
+ idStr := c.Ctx.Input.Query("id")
|
|
|
+ userId, _ := utils.GetRequestString(&c.Controller, "user_id")
|
|
|
+
|
|
|
+ if idStr != "" {
|
|
|
+ // 根据 ID 查询
|
|
|
+ id, err := strconv.Atoi(idStr)
|
|
|
+ if err != nil {
|
|
|
+ utils.JSON(&c.Controller, 400, "invalid id parameter", nil)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ record, err := communityListService.GetCommunityList(id)
|
|
|
+ if err != nil {
|
|
|
+ utils.JSON(&c.Controller, 500, err.Error(), nil)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ utils.JSON(&c.Controller, 200, "success", record)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ if userId != "" {
|
|
|
+ // 根据用户 ID 查询
|
|
|
+ record, err := communityListService.GetCommunityListByUserId(userId)
|
|
|
+ if err != nil {
|
|
|
+ utils.JSON(&c.Controller, 500, err.Error(), nil)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ utils.JSON(&c.Controller, 200, "success", record)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ utils.JSON(&c.Controller, 400, "please provide id or user_id parameter", nil)
|
|
|
+}
|
|
|
+
|
|
|
+// CreateCommunityList 创建社区列表记录
|
|
|
+// @router /api/community/create [post]
|
|
|
+func (c *CommunityListController) CreateCommunityList() {
|
|
|
+ parentId, _ := utils.GetRequestString(&c.Controller, "parent_id")
|
|
|
+ userId, _ := utils.GetRequestString(&c.Controller, "user_id")
|
|
|
+ username, _ := utils.GetRequestString(&c.Controller, "username")
|
|
|
+ promoteName, _ := utils.GetRequestString(&c.Controller, "promote_name")
|
|
|
+ sales, _ := utils.GetRequestString(&c.Controller, "sales")
|
|
|
+ teamSales, _ := utils.GetRequestString(&c.Controller, "team_sales")
|
|
|
+ todayTeamSales, _ := utils.GetRequestString(&c.Controller, "today_team_sales")
|
|
|
+ userBv, _ := utils.GetRequestString(&c.Controller, "user_bv")
|
|
|
+ subStatus, _ := utils.GetRequestString(&c.Controller, "sub_status")
|
|
|
+
|
|
|
+ cTimeStr := c.Ctx.Input.Query("c_time")
|
|
|
+ cTime := int64(0)
|
|
|
+ if cTimeStr != "" {
|
|
|
+ if ct, err := strconv.ParseInt(cTimeStr, 10, 64); err == nil {
|
|
|
+ cTime = ct
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ isYesStr := c.Ctx.Input.Query("is_yes")
|
|
|
+ isYes := 0
|
|
|
+ if isYesStr != "" {
|
|
|
+ if iy, err := strconv.Atoi(isYesStr); err == nil {
|
|
|
+ isYes = iy
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ info := &services.CommunityInfo{
|
|
|
+ ParentId: parentId,
|
|
|
+ UserId: userId,
|
|
|
+ Username: username,
|
|
|
+ PromoteName: promoteName,
|
|
|
+ Sales: sales,
|
|
|
+ TeamSales: teamSales,
|
|
|
+ TodayTeamSales: todayTeamSales,
|
|
|
+ UserBv: userBv,
|
|
|
+ SubStatus: subStatus,
|
|
|
+ CTime: cTime,
|
|
|
+ IsYes: isYes,
|
|
|
+ }
|
|
|
+
|
|
|
+ err := communityListService.CreateCommunityList(info)
|
|
|
+ if err != nil {
|
|
|
+ utils.JSON(&c.Controller, 500, err.Error(), nil)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ utils.JSON(&c.Controller, 200, "create success", map[string]interface{}{
|
|
|
+ "message": "community list record created successfully",
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// UpdateCommunityList 更新社区列表记录
|
|
|
+// @router /api/community/update [post]
|
|
|
+func (c *CommunityListController) UpdateCommunityList() {
|
|
|
+ idStr, _ := utils.GetRequestString(&c.Controller, "id")
|
|
|
+ id, err := strconv.Atoi(idStr)
|
|
|
+ if err != nil || id <= 0 {
|
|
|
+ utils.JSON(&c.Controller, 400, "invalid or missing id parameter", nil)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ parentId, _ := utils.GetRequestString(&c.Controller, "parent_id")
|
|
|
+ userId, _ := utils.GetRequestString(&c.Controller, "user_id")
|
|
|
+ username, _ := utils.GetRequestString(&c.Controller, "username")
|
|
|
+ promoteName, _ := utils.GetRequestString(&c.Controller, "promote_name")
|
|
|
+ sales, _ := utils.GetRequestString(&c.Controller, "sales")
|
|
|
+ teamSales, _ := utils.GetRequestString(&c.Controller, "team_sales")
|
|
|
+ todayTeamSales, _ := utils.GetRequestString(&c.Controller, "today_team_sales")
|
|
|
+ userBv, _ := utils.GetRequestString(&c.Controller, "user_bv")
|
|
|
+ subStatus, _ := utils.GetRequestString(&c.Controller, "sub_status")
|
|
|
+
|
|
|
+ cTimeStr := c.Ctx.Input.Query("c_time")
|
|
|
+ cTime := int64(0)
|
|
|
+ if cTimeStr != "" {
|
|
|
+ if ct, err := strconv.ParseInt(cTimeStr, 10, 64); err == nil {
|
|
|
+ cTime = ct
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ isYesStr := c.Ctx.Input.Query("is_yes")
|
|
|
+ isYes := 0
|
|
|
+ if isYesStr != "" {
|
|
|
+ if iy, err := strconv.Atoi(isYesStr); err == nil {
|
|
|
+ isYes = iy
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ info := &services.CommunityInfo{
|
|
|
+ Id: id,
|
|
|
+ ParentId: parentId,
|
|
|
+ UserId: userId,
|
|
|
+ Username: username,
|
|
|
+ PromoteName: promoteName,
|
|
|
+ Sales: sales,
|
|
|
+ TeamSales: teamSales,
|
|
|
+ TodayTeamSales: todayTeamSales,
|
|
|
+ UserBv: userBv,
|
|
|
+ SubStatus: subStatus,
|
|
|
+ CTime: cTime,
|
|
|
+ IsYes: isYes,
|
|
|
+ }
|
|
|
+
|
|
|
+ err = communityListService.UpdateCommunityList(info)
|
|
|
+ if err != nil {
|
|
|
+ utils.JSON(&c.Controller, 500, err.Error(), nil)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ utils.JSON(&c.Controller, 200, "update success", map[string]interface{}{
|
|
|
+ "message": "community list record updated successfully",
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// GetAllCommunityLists 获取所有社区列表记录(分页)
|
|
|
+// @router /api/community/listAll [get]
|
|
|
+func (c *CommunityListController) GetAllCommunityLists() {
|
|
|
+ // 获取分页参数
|
|
|
+ pageStr := c.Ctx.Input.Query("page")
|
|
|
+ pageSizeStr := c.Ctx.Input.Query("pageSize")
|
|
|
+
|
|
|
+ page := 1
|
|
|
+ pageSize := 10
|
|
|
+
|
|
|
+ if pageStr != "" {
|
|
|
+ if p, err := strconv.Atoi(pageStr); err == nil && p > 0 {
|
|
|
+ page = p
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if pageSizeStr != "" {
|
|
|
+ if ps, err := strconv.Atoi(pageSizeStr); err == nil && ps > 0 {
|
|
|
+ pageSize = ps
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ offset := int64((page - 1) * pageSize)
|
|
|
+ limit := int64(pageSize)
|
|
|
+
|
|
|
+ records, total, err := communityListService.GetAllCommunityLists(offset, limit)
|
|
|
+ if err != nil {
|
|
|
+ utils.JSON(&c.Controller, 500, err.Error(), nil)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ utils.JSON(&c.Controller, 200, "success", map[string]interface{}{
|
|
|
+ "list": records,
|
|
|
+ "total": total,
|
|
|
+ "page": page,
|
|
|
+ "pageSize": pageSize,
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// DeleteCommunityList 删除社区列表记录
|
|
|
+// @router /api/community/delete [post]
|
|
|
+func (c *CommunityListController) DeleteCommunityList() {
|
|
|
+ idStr, _ := utils.GetRequestString(&c.Controller, "id")
|
|
|
+ id, err := strconv.Atoi(idStr)
|
|
|
+ if err != nil || id <= 0 {
|
|
|
+ utils.JSON(&c.Controller, 400, "invalid or missing id parameter", nil)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ err = communityListService.DeleteCommunityList(id)
|
|
|
+ if err != nil {
|
|
|
+ utils.JSON(&c.Controller, 500, err.Error(), nil)
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ utils.JSON(&c.Controller, 200, "success", map[string]interface{}{
|
|
|
+ "message": "community list record deleted successfully",
|
|
|
+ })
|
|
|
+}
|