urbanu 1 hónapja
szülő
commit
77de7faed8

+ 2 - 0
.gitignore

@@ -1,4 +1,6 @@
 .DS_Store
+go.mod
+go.sum
 
 # local env files
 .env.local

+ 1 - 1
model/biz_modules/daytask/dt_task.go

@@ -42,7 +42,6 @@ type DtTask struct {
 	TotalCount        int        `json:"totalCount" gorm:"column:total_count;type:int;default:0;comment:任务总量"`
 	RemainCount       int        `json:"remainCount" gorm:"column:remain_count;type:int;default:0;comment:剩余数量"`
 	CompletedCount    int        `json:"completedCount" gorm:"column:completed_count;type:int;default:0;comment:完成数量"`
-	MinLevel          int        `json:"minLevel" gorm:"column:min_level;type:int;default:0;comment:最低等级要求"`
 	DailyLimit        int        `json:"dailyLimit" gorm:"column:daily_limit;type:int;default:1;comment:每人每日限制"`
 	TotalLimit        int        `json:"totalLimit" gorm:"column:total_limit;type:int;default:1;comment:每人总限制"`
 	StartTime         int64      `json:"startTime" gorm:"column:start_time;type:bigint;comment:开始时间"`
@@ -51,6 +50,7 @@ type DtTask struct {
 	AutoAudit         int8       `json:"autoAudit" gorm:"column:auto_audit;type:tinyint;default:0;comment:是否自动审核: 0=否 1=是"`
 	AuditTimeout      int        `json:"auditTimeout" gorm:"column:audit_timeout;type:int;default:24;comment:审核超时(小时)"`
 	Status            int8       `json:"status" gorm:"column:status;type:tinyint;default:0;index:idx_status;comment:状态: 0=草稿 1=上架 2=下架 3=已结束"`
+	Sort              int        `json:"sort" gorm:"column:sort;type:int;default:0;comment:排序"`
 	Remark            string     `json:"remark" gorm:"column:remark;type:varchar(255);comment:备注"`
 	CreatedAt         int64      `json:"createdAt" gorm:"column:created_at;type:bigint;autoCreateTime;index:idx_created_at;comment:创建时间"`
 	UpdatedAt         int64      `json:"updatedAt" gorm:"column:updated_at;type:bigint;autoUpdateTime;comment:更新时间"`

+ 0 - 29
model/biz_modules/daytask/dt_user_level.go

@@ -1,29 +0,0 @@
-package daytask
-
-// DtUserLevel 用户等级表
-type DtUserLevel struct {
-	Id                   int64   `json:"id" gorm:"column:id;type:bigint;primarykey;comment:等级ID"`
-	Name                 string  `json:"name" gorm:"column:name;type:varchar(64);not null;comment:等级名称"`
-	NameVi               string  `json:"nameVi" gorm:"column:name_vi;type:varchar(64);comment:等级名称(越南语)"`
-	Icon                 string  `json:"icon" gorm:"column:icon;type:varchar(255);comment:等级图标"`
-	Level                int     `json:"level" gorm:"column:level;type:int;default:0;index:idx_level;comment:等级序号"`
-	Price                float64 `json:"price" gorm:"column:price;type:decimal(18,2);default:0.00;comment:开通价格(USDT)"`
-	DailyTaskLimit       int     `json:"dailyTaskLimit" gorm:"column:daily_task_limit;type:int;default:0;comment:每日任务上限"`
-	CommissionRate       float64 `json:"commissionRate" gorm:"column:commission_rate;type:decimal(5,2);default:0.00;comment:任务佣金比例(%)"`
-	InviteReward         float64 `json:"inviteReward" gorm:"column:invite_reward;type:decimal(18,2);default:0.00;comment:邀请奖励(USDT)"`
-	InviteCommissionRate float64 `json:"inviteCommissionRate" gorm:"column:invite_commission_rate;type:decimal(5,2);default:0.00;comment:邀请返佣比例(%)"`
-	Description          string  `json:"description" gorm:"column:description;type:varchar(512);comment:等级说明"`
-	Privileges           string  `json:"privileges" gorm:"column:privileges;type:json;comment:等级特权列表"`
-	Status               int8    `json:"status" gorm:"column:status;type:tinyint;default:1;comment:状态: 0=禁用 1=启用"`
-	Sort                 int     `json:"sort" gorm:"column:sort;type:int;default:0;comment:排序"`
-	CreatedAt            int64   `json:"createdAt" gorm:"column:created_at;type:bigint;autoCreateTime;comment:创建时间"`
-	UpdatedAt            int64   `json:"updatedAt" gorm:"column:updated_at;type:bigint;autoUpdateTime;comment:更新时间"`
-}
-
-func (*DtUserLevel) TableName() string {
-	return "dt_user_level"
-}
-
-func NewDtUserLevel() *DtUserLevel {
-	return &DtUserLevel{}
-}

+ 0 - 17
router/daytask/dt_user.go

@@ -23,23 +23,6 @@ func (h DtUserRouter) Register(group *gin.RouterGroup) {
 	group.POST("delete", dtUserService.Delete)
 }
 
-// DtUserLevelRouter 用户等级路由
-type DtUserLevelRouter struct{}
-
-func (DtUserLevelRouter) Route() string {
-	return "/user_level"
-}
-
-var dtUserLevelService = service.RealizationLayer.DaytaskServiceGroup.DtUserLevelService
-
-func (h DtUserLevelRouter) Register(group *gin.RouterGroup) {
-	group.GET("get", dtUserLevelService.Get)
-	group.GET("find", dtUserLevelService.Find)
-	group.POST("create", dtUserLevelService.Create)
-	group.POST("update", dtUserLevelService.Update)
-	group.POST("delete", dtUserLevelService.Delete)
-}
-
 // DtUserSocialRouter 用户社交账号路由
 type DtUserSocialRouter struct{}
 

+ 0 - 1
router/daytask/enter.go

@@ -10,7 +10,6 @@ var (
 	allRouters = []global.ContextInterface{
 		// 用户模块
 		DtUserRouter{},
-		DtUserLevelRouter{},
 		DtUserSocialRouter{},
 		DtUserPaymentRouter{},
 		// 任务模块

+ 0 - 75
service/daytask/dt_user_level.go

@@ -1,75 +0,0 @@
-package daytask
-
-import (
-	model "go_server/model/biz_modules/daytask"
-	"go_server/model/common/response"
-	"go_server/service/base"
-
-	"github.com/gin-gonic/gin"
-)
-
-type DtUserLevelService struct {
-	base.BizCommonService
-}
-
-func (s *DtUserLevelService) Get(c *gin.Context) {
-	s.SetDbAlias("daytask")
-	base.NewBaseHandler(model.NewDtUserLevel()).Get(c, s.DB())
-}
-
-func (s *DtUserLevelService) Find(c *gin.Context) {
-	s.SetDbAlias("daytask")
-	type request[T any] struct {
-		base.ListRequest[T]
-		Id     *int64 `form:"id"`
-		Name   *string `form:"name"`
-		Level  *int   `form:"level"`
-		Status *int8  `form:"status"`
-	}
-	req := new(request[model.DtUserLevel])
-	if err := c.BindQuery(req); err != nil {
-		response.Resp(c, err.Error())
-		return
-	}
-	db := s.DB()
-	if req.Id != nil && *req.Id != 0 {
-		db = db.Where("id", req.Id)
-	}
-	if req.Name != nil && *req.Name != "" {
-		db = db.Where("name LIKE ?", "%"+*req.Name+"%")
-	}
-	if req.Level != nil {
-		db = db.Where("level", req.Level)
-	}
-	if req.Status != nil {
-		db = db.Where("status", req.Status)
-	}
-	db = db.Order("sort ASC, level ASC")
-
-	colInfo := s.GetColumnCommentFromStruct(model.DtUserLevel{})
-	resp, err := base.NewQueryBaseHandler(model.NewDtUserLevel()).List(db, req)
-	if err != nil {
-		response.Resp(c, err.Error())
-		return
-	}
-	response.Resp(c, map[string]interface{}{
-		"cols":   colInfo,
-		"list":   resp.List,
-		"paging": resp.Paging,
-	})
-}
-
-func (s *DtUserLevelService) Create(c *gin.Context) {
-	s.SetDbAlias("daytask")
-	base.NewBaseHandler(model.NewDtUserLevel()).Create(c, s.DB())
-}
-
-func (s *DtUserLevelService) Update(c *gin.Context) {
-	s.SetDbAlias("daytask")
-	base.NewBaseHandler(model.NewDtUserLevel()).UpdateOne(c, s.DB())
-}
-
-func (s *DtUserLevelService) Delete(c *gin.Context) {
-	s.SetDbAlias("daytask")
-	base.NewBaseHandler(model.NewDtUserLevel()).DeleteOne(c, s.DB())
-}

+ 0 - 1
service/daytask/enter.go

@@ -3,7 +3,6 @@ package daytask
 type ServiceGroup struct {
 	// 用户模块
 	DtUserService
-	DtUserLevelService
 	DtUserSocialService
 	DtUserPaymentService
 

+ 16 - 3
utils/str.go

@@ -87,11 +87,24 @@ func WordsToSnakeCase(s string) string {
 	handOne := make([]string, 0)
 	for _, item := range strsOne {
 		newStrs := make([]string, 0)
-		strs := strings.Split(item, " ")
+		strs := strings.Split(strings.TrimSpace(item), " ")
 		for _, str := range strs {
-			newStrs = append(newStrs, VarToSnakeCase(str))
+			str = strings.TrimSpace(str)
+			if str == "" {
+				continue
+			}
+			// 检查是否是排序关键字(asc/desc)
+			strLower := strings.ToLower(str)
+			if strLower == "asc" || strLower == "desc" {
+				newStrs = append(newStrs, strLower)
+			} else {
+				// 移除可能存在的反引号,然后转换为蛇形命名,最后添加反引号
+				str = strings.Trim(str, "`")
+				snake := VarToSnakeCase(str)
+				newStrs = append(newStrs, "`"+snake+"`")
+			}
 		}
 		handOne = append(handOne, strings.Join(newStrs, " "))
 	}
-	return strings.Join(handOne, ",")
+	return strings.Join(handOne, ", ")
 }