diff --git a/internal/dao/internal/admins.go b/internal/dao/internal/admins.go index dc72d15..7c3f2be 100644 --- a/internal/dao/internal/admins.go +++ b/internal/dao/internal/admins.go @@ -13,10 +13,9 @@ import ( // AdminsDao is the data access object for the table admins. type AdminsDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns AdminsColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns AdminsColumns // columns contains all the column names of Table for convenient usage. } // AdminsColumns defines and stores column names for the table admins. @@ -50,12 +49,11 @@ var adminsColumns = AdminsColumns{ } // NewAdminsDao creates and returns a new DAO object for table data access. -func NewAdminsDao(handlers ...gdb.ModelHandler) *AdminsDao { +func NewAdminsDao() *AdminsDao { return &AdminsDao{ - group: "default", - table: "admins", - columns: adminsColumns, - handlers: handlers, + group: "default", + table: "admins", + columns: adminsColumns, } } @@ -81,11 +79,7 @@ func (dao *AdminsDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *AdminsDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/feedbacks.go b/internal/dao/internal/feedbacks.go index 7a8d085..d67a1e5 100644 --- a/internal/dao/internal/feedbacks.go +++ b/internal/dao/internal/feedbacks.go @@ -13,10 +13,9 @@ import ( // FeedbacksDao is the data access object for the table feedbacks. type FeedbacksDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns FeedbacksColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns FeedbacksColumns // columns contains all the column names of Table for convenient usage. } // FeedbacksColumns defines and stores column names for the table feedbacks. @@ -52,12 +51,11 @@ var feedbacksColumns = FeedbacksColumns{ } // NewFeedbacksDao creates and returns a new DAO object for table data access. -func NewFeedbacksDao(handlers ...gdb.ModelHandler) *FeedbacksDao { +func NewFeedbacksDao() *FeedbacksDao { return &FeedbacksDao{ - group: "default", - table: "feedbacks", - columns: feedbacksColumns, - handlers: handlers, + group: "default", + table: "feedbacks", + columns: feedbacksColumns, } } @@ -83,11 +81,7 @@ func (dao *FeedbacksDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *FeedbacksDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/games.go b/internal/dao/internal/games.go index dac75c7..b53dd54 100644 --- a/internal/dao/internal/games.go +++ b/internal/dao/internal/games.go @@ -13,10 +13,9 @@ import ( // GamesDao is the data access object for the table games. type GamesDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns GamesColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns GamesColumns // columns contains all the column names of Table for convenient usage. } // GamesColumns defines and stores column names for the table games. @@ -46,12 +45,11 @@ var gamesColumns = GamesColumns{ } // NewGamesDao creates and returns a new DAO object for table data access. -func NewGamesDao(handlers ...gdb.ModelHandler) *GamesDao { +func NewGamesDao() *GamesDao { return &GamesDao{ - group: "default", - table: "games", - columns: gamesColumns, - handlers: handlers, + group: "default", + table: "games", + columns: gamesColumns, } } @@ -77,11 +75,7 @@ func (dao *GamesDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *GamesDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/merchant_admins.go b/internal/dao/internal/merchant_admins.go index 64533e1..51ac691 100644 --- a/internal/dao/internal/merchant_admins.go +++ b/internal/dao/internal/merchant_admins.go @@ -13,10 +13,9 @@ import ( // MerchantAdminsDao is the data access object for the table merchant_admins. type MerchantAdminsDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns MerchantAdminsColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns MerchantAdminsColumns // columns contains all the column names of Table for convenient usage. } // MerchantAdminsColumns defines and stores column names for the table merchant_admins. @@ -58,12 +57,11 @@ var merchantAdminsColumns = MerchantAdminsColumns{ } // NewMerchantAdminsDao creates and returns a new DAO object for table data access. -func NewMerchantAdminsDao(handlers ...gdb.ModelHandler) *MerchantAdminsDao { +func NewMerchantAdminsDao() *MerchantAdminsDao { return &MerchantAdminsDao{ - group: "default", - table: "merchant_admins", - columns: merchantAdminsColumns, - handlers: handlers, + group: "default", + table: "merchant_admins", + columns: merchantAdminsColumns, } } @@ -89,11 +87,7 @@ func (dao *MerchantAdminsDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *MerchantAdminsDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/merchants.go b/internal/dao/internal/merchants.go index 717f855..6dd5d05 100644 --- a/internal/dao/internal/merchants.go +++ b/internal/dao/internal/merchants.go @@ -13,10 +13,9 @@ import ( // MerchantsDao is the data access object for the table merchants. type MerchantsDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns MerchantsColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns MerchantsColumns // columns contains all the column names of Table for convenient usage. } // MerchantsColumns defines and stores column names for the table merchants. @@ -72,12 +71,11 @@ var merchantsColumns = MerchantsColumns{ } // NewMerchantsDao creates and returns a new DAO object for table data access. -func NewMerchantsDao(handlers ...gdb.ModelHandler) *MerchantsDao { +func NewMerchantsDao() *MerchantsDao { return &MerchantsDao{ - group: "default", - table: "merchants", - columns: merchantsColumns, - handlers: handlers, + group: "default", + table: "merchants", + columns: merchantsColumns, } } @@ -103,11 +101,7 @@ func (dao *MerchantsDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *MerchantsDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/notices.go b/internal/dao/internal/notices.go index 9c2cfce..5cc451a 100644 --- a/internal/dao/internal/notices.go +++ b/internal/dao/internal/notices.go @@ -13,10 +13,9 @@ import ( // NoticesDao is the data access object for the table notices. type NoticesDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns NoticesColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns NoticesColumns // columns contains all the column names of Table for convenient usage. } // NoticesColumns defines and stores column names for the table notices. @@ -50,12 +49,11 @@ var noticesColumns = NoticesColumns{ } // NewNoticesDao creates and returns a new DAO object for table data access. -func NewNoticesDao(handlers ...gdb.ModelHandler) *NoticesDao { +func NewNoticesDao() *NoticesDao { return &NoticesDao{ - group: "default", - table: "notices", - columns: noticesColumns, - handlers: handlers, + group: "default", + table: "notices", + columns: noticesColumns, } } @@ -81,11 +79,7 @@ func (dao *NoticesDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *NoticesDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/reward_callback.go b/internal/dao/internal/reward_callback.go index d148d1c..3cc67a2 100644 --- a/internal/dao/internal/reward_callback.go +++ b/internal/dao/internal/reward_callback.go @@ -13,10 +13,9 @@ import ( // RewardCallbackDao is the data access object for the table reward_callback. type RewardCallbackDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns RewardCallbackColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns RewardCallbackColumns // columns contains all the column names of Table for convenient usage. } // RewardCallbackColumns defines and stores column names for the table reward_callback. @@ -50,12 +49,11 @@ var rewardCallbackColumns = RewardCallbackColumns{ } // NewRewardCallbackDao creates and returns a new DAO object for table data access. -func NewRewardCallbackDao(handlers ...gdb.ModelHandler) *RewardCallbackDao { +func NewRewardCallbackDao() *RewardCallbackDao { return &RewardCallbackDao{ - group: "default", - table: "reward_callback", - columns: rewardCallbackColumns, - handlers: handlers, + group: "default", + table: "reward_callback", + columns: rewardCallbackColumns, } } @@ -81,11 +79,7 @@ func (dao *RewardCallbackDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *RewardCallbackDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/reward_types.go b/internal/dao/internal/reward_types.go index c035828..b79610a 100644 --- a/internal/dao/internal/reward_types.go +++ b/internal/dao/internal/reward_types.go @@ -13,10 +13,9 @@ import ( // RewardTypesDao is the data access object for the table reward_types. type RewardTypesDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns RewardTypesColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns RewardTypesColumns // columns contains all the column names of Table for convenient usage. } // RewardTypesColumns defines and stores column names for the table reward_types. @@ -46,12 +45,11 @@ var rewardTypesColumns = RewardTypesColumns{ } // NewRewardTypesDao creates and returns a new DAO object for table data access. -func NewRewardTypesDao(handlers ...gdb.ModelHandler) *RewardTypesDao { +func NewRewardTypesDao() *RewardTypesDao { return &RewardTypesDao{ - group: "default", - table: "reward_types", - columns: rewardTypesColumns, - handlers: handlers, + group: "default", + table: "reward_types", + columns: rewardTypesColumns, } } @@ -77,11 +75,7 @@ func (dao *RewardTypesDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *RewardTypesDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/reward_waters.go b/internal/dao/internal/reward_waters.go index 83c4803..593f014 100644 --- a/internal/dao/internal/reward_waters.go +++ b/internal/dao/internal/reward_waters.go @@ -13,10 +13,9 @@ import ( // RewardWatersDao is the data access object for the table reward_waters. type RewardWatersDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns RewardWatersColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns RewardWatersColumns // columns contains all the column names of Table for convenient usage. } // RewardWatersColumns defines and stores column names for the table reward_waters. @@ -48,12 +47,11 @@ var rewardWatersColumns = RewardWatersColumns{ } // NewRewardWatersDao creates and returns a new DAO object for table data access. -func NewRewardWatersDao(handlers ...gdb.ModelHandler) *RewardWatersDao { +func NewRewardWatersDao() *RewardWatersDao { return &RewardWatersDao{ - group: "default", - table: "reward_waters", - columns: rewardWatersColumns, - handlers: handlers, + group: "default", + table: "reward_waters", + columns: rewardWatersColumns, } } @@ -79,11 +77,7 @@ func (dao *RewardWatersDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *RewardWatersDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/rewards.go b/internal/dao/internal/rewards.go index dd33c89..6b91001 100644 --- a/internal/dao/internal/rewards.go +++ b/internal/dao/internal/rewards.go @@ -13,10 +13,9 @@ import ( // RewardsDao is the data access object for the table rewards. type RewardsDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns RewardsColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns RewardsColumns // columns contains all the column names of Table for convenient usage. } // RewardsColumns defines and stores column names for the table rewards. @@ -76,12 +75,11 @@ var rewardsColumns = RewardsColumns{ } // NewRewardsDao creates and returns a new DAO object for table data access. -func NewRewardsDao(handlers ...gdb.ModelHandler) *RewardsDao { +func NewRewardsDao() *RewardsDao { return &RewardsDao{ - group: "default", - table: "rewards", - columns: rewardsColumns, - handlers: handlers, + group: "default", + table: "rewards", + columns: rewardsColumns, } } @@ -107,11 +105,7 @@ func (dao *RewardsDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *RewardsDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/roles.go b/internal/dao/internal/roles.go index b540549..9eab304 100644 --- a/internal/dao/internal/roles.go +++ b/internal/dao/internal/roles.go @@ -13,10 +13,9 @@ import ( // RolesDao is the data access object for the table roles. type RolesDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns RolesColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns RolesColumns // columns contains all the column names of Table for convenient usage. } // RolesColumns defines and stores column names for the table roles. @@ -48,12 +47,11 @@ var rolesColumns = RolesColumns{ } // NewRolesDao creates and returns a new DAO object for table data access. -func NewRolesDao(handlers ...gdb.ModelHandler) *RolesDao { +func NewRolesDao() *RolesDao { return &RolesDao{ - group: "default", - table: "roles", - columns: rolesColumns, - handlers: handlers, + group: "default", + table: "roles", + columns: rolesColumns, } } @@ -79,11 +77,7 @@ func (dao *RolesDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *RolesDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/store_admins.go b/internal/dao/internal/store_admins.go index 538322c..7bcffcc 100644 --- a/internal/dao/internal/store_admins.go +++ b/internal/dao/internal/store_admins.go @@ -13,10 +13,9 @@ import ( // StoreAdminsDao is the data access object for the table store_admins. type StoreAdminsDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns StoreAdminsColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns StoreAdminsColumns // columns contains all the column names of Table for convenient usage. } // StoreAdminsColumns defines and stores column names for the table store_admins. @@ -58,12 +57,11 @@ var storeAdminsColumns = StoreAdminsColumns{ } // NewStoreAdminsDao creates and returns a new DAO object for table data access. -func NewStoreAdminsDao(handlers ...gdb.ModelHandler) *StoreAdminsDao { +func NewStoreAdminsDao() *StoreAdminsDao { return &StoreAdminsDao{ - group: "default", - table: "store_admins", - columns: storeAdminsColumns, - handlers: handlers, + group: "default", + table: "store_admins", + columns: storeAdminsColumns, } } @@ -89,11 +87,7 @@ func (dao *StoreAdminsDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *StoreAdminsDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/store_areas.go b/internal/dao/internal/store_areas.go index 96110ad..913b53e 100644 --- a/internal/dao/internal/store_areas.go +++ b/internal/dao/internal/store_areas.go @@ -13,10 +13,9 @@ import ( // StoreAreasDao is the data access object for the table store_areas. type StoreAreasDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns StoreAreasColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns StoreAreasColumns // columns contains all the column names of Table for convenient usage. } // StoreAreasColumns defines and stores column names for the table store_areas. @@ -40,12 +39,11 @@ var storeAreasColumns = StoreAreasColumns{ } // NewStoreAreasDao creates and returns a new DAO object for table data access. -func NewStoreAreasDao(handlers ...gdb.ModelHandler) *StoreAreasDao { +func NewStoreAreasDao() *StoreAreasDao { return &StoreAreasDao{ - group: "default", - table: "store_areas", - columns: storeAreasColumns, - handlers: handlers, + group: "default", + table: "store_areas", + columns: storeAreasColumns, } } @@ -71,11 +69,7 @@ func (dao *StoreAreasDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *StoreAreasDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/store_client_sessions.go b/internal/dao/internal/store_client_sessions.go index ce5b91b..b1b2e76 100644 --- a/internal/dao/internal/store_client_sessions.go +++ b/internal/dao/internal/store_client_sessions.go @@ -13,10 +13,9 @@ import ( // StoreClientSessionsDao is the data access object for the table store_client_sessions. type StoreClientSessionsDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns StoreClientSessionsColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns StoreClientSessionsColumns // columns contains all the column names of Table for convenient usage. } // StoreClientSessionsColumns defines and stores column names for the table store_client_sessions. @@ -58,12 +57,11 @@ var storeClientSessionsColumns = StoreClientSessionsColumns{ } // NewStoreClientSessionsDao creates and returns a new DAO object for table data access. -func NewStoreClientSessionsDao(handlers ...gdb.ModelHandler) *StoreClientSessionsDao { +func NewStoreClientSessionsDao() *StoreClientSessionsDao { return &StoreClientSessionsDao{ - group: "default", - table: "store_client_sessions", - columns: storeClientSessionsColumns, - handlers: handlers, + group: "default", + table: "store_client_sessions", + columns: storeClientSessionsColumns, } } @@ -89,11 +87,7 @@ func (dao *StoreClientSessionsDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *StoreClientSessionsDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/store_clients.go b/internal/dao/internal/store_clients.go index 4cde1d8..b128455 100644 --- a/internal/dao/internal/store_clients.go +++ b/internal/dao/internal/store_clients.go @@ -13,10 +13,9 @@ import ( // StoreClientsDao is the data access object for the table store_clients. type StoreClientsDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns StoreClientsColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns StoreClientsColumns // columns contains all the column names of Table for convenient usage. } // StoreClientsColumns defines and stores column names for the table store_clients. @@ -44,12 +43,11 @@ var storeClientsColumns = StoreClientsColumns{ } // NewStoreClientsDao creates and returns a new DAO object for table data access. -func NewStoreClientsDao(handlers ...gdb.ModelHandler) *StoreClientsDao { +func NewStoreClientsDao() *StoreClientsDao { return &StoreClientsDao{ - group: "default", - table: "store_clients", - columns: storeClientsColumns, - handlers: handlers, + group: "default", + table: "store_clients", + columns: storeClientsColumns, } } @@ -75,11 +73,7 @@ func (dao *StoreClientsDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *StoreClientsDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/store_desktop_settings.go b/internal/dao/internal/store_desktop_settings.go index 88c9cb5..dec1ba9 100644 --- a/internal/dao/internal/store_desktop_settings.go +++ b/internal/dao/internal/store_desktop_settings.go @@ -13,10 +13,9 @@ import ( // StoreDesktopSettingsDao is the data access object for the table store_desktop_settings. type StoreDesktopSettingsDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns StoreDesktopSettingsColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns StoreDesktopSettingsColumns // columns contains all the column names of Table for convenient usage. } // StoreDesktopSettingsColumns defines and stores column names for the table store_desktop_settings. @@ -34,12 +33,11 @@ var storeDesktopSettingsColumns = StoreDesktopSettingsColumns{ } // NewStoreDesktopSettingsDao creates and returns a new DAO object for table data access. -func NewStoreDesktopSettingsDao(handlers ...gdb.ModelHandler) *StoreDesktopSettingsDao { +func NewStoreDesktopSettingsDao() *StoreDesktopSettingsDao { return &StoreDesktopSettingsDao{ - group: "default", - table: "store_desktop_settings", - columns: storeDesktopSettingsColumns, - handlers: handlers, + group: "default", + table: "store_desktop_settings", + columns: storeDesktopSettingsColumns, } } @@ -65,11 +63,7 @@ func (dao *StoreDesktopSettingsDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *StoreDesktopSettingsDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/store_ips.go b/internal/dao/internal/store_ips.go index dfdfd58..20197cb 100644 --- a/internal/dao/internal/store_ips.go +++ b/internal/dao/internal/store_ips.go @@ -13,10 +13,9 @@ import ( // StoreIpsDao is the data access object for the table store_ips. type StoreIpsDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns StoreIpsColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns StoreIpsColumns // columns contains all the column names of Table for convenient usage. } // StoreIpsColumns defines and stores column names for the table store_ips. @@ -42,12 +41,11 @@ var storeIpsColumns = StoreIpsColumns{ } // NewStoreIpsDao creates and returns a new DAO object for table data access. -func NewStoreIpsDao(handlers ...gdb.ModelHandler) *StoreIpsDao { +func NewStoreIpsDao() *StoreIpsDao { return &StoreIpsDao{ - group: "default", - table: "store_ips", - columns: storeIpsColumns, - handlers: handlers, + group: "default", + table: "store_ips", + columns: storeIpsColumns, } } @@ -73,11 +71,7 @@ func (dao *StoreIpsDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *StoreIpsDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/store_member_levels.go b/internal/dao/internal/store_member_levels.go index ded56eb..e41bf31 100644 --- a/internal/dao/internal/store_member_levels.go +++ b/internal/dao/internal/store_member_levels.go @@ -13,10 +13,9 @@ import ( // StoreMemberLevelsDao is the data access object for the table store_member_levels. type StoreMemberLevelsDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns StoreMemberLevelsColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns StoreMemberLevelsColumns // columns contains all the column names of Table for convenient usage. } // StoreMemberLevelsColumns defines and stores column names for the table store_member_levels. @@ -48,12 +47,11 @@ var storeMemberLevelsColumns = StoreMemberLevelsColumns{ } // NewStoreMemberLevelsDao creates and returns a new DAO object for table data access. -func NewStoreMemberLevelsDao(handlers ...gdb.ModelHandler) *StoreMemberLevelsDao { +func NewStoreMemberLevelsDao() *StoreMemberLevelsDao { return &StoreMemberLevelsDao{ - group: "default", - table: "store_member_levels", - columns: storeMemberLevelsColumns, - handlers: handlers, + group: "default", + table: "store_member_levels", + columns: storeMemberLevelsColumns, } } @@ -79,11 +77,7 @@ func (dao *StoreMemberLevelsDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *StoreMemberLevelsDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/store_netfee_area_level.go b/internal/dao/internal/store_netfee_area_level.go index 25e019c..a3a8b0f 100644 --- a/internal/dao/internal/store_netfee_area_level.go +++ b/internal/dao/internal/store_netfee_area_level.go @@ -13,10 +13,9 @@ import ( // StoreNetfeeAreaLevelDao is the data access object for the table store_netfee_area_level. type StoreNetfeeAreaLevelDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns StoreNetfeeAreaLevelColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns StoreNetfeeAreaLevelColumns // columns contains all the column names of Table for convenient usage. } // StoreNetfeeAreaLevelColumns defines and stores column names for the table store_netfee_area_level. @@ -46,12 +45,11 @@ var storeNetfeeAreaLevelColumns = StoreNetfeeAreaLevelColumns{ } // NewStoreNetfeeAreaLevelDao creates and returns a new DAO object for table data access. -func NewStoreNetfeeAreaLevelDao(handlers ...gdb.ModelHandler) *StoreNetfeeAreaLevelDao { +func NewStoreNetfeeAreaLevelDao() *StoreNetfeeAreaLevelDao { return &StoreNetfeeAreaLevelDao{ - group: "default", - table: "store_netfee_area_level", - columns: storeNetfeeAreaLevelColumns, - handlers: handlers, + group: "default", + table: "store_netfee_area_level", + columns: storeNetfeeAreaLevelColumns, } } @@ -77,11 +75,7 @@ func (dao *StoreNetfeeAreaLevelDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *StoreNetfeeAreaLevelDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/store_roles.go b/internal/dao/internal/store_roles.go index 137e1fa..8528459 100644 --- a/internal/dao/internal/store_roles.go +++ b/internal/dao/internal/store_roles.go @@ -13,10 +13,9 @@ import ( // StoreRolesDao is the data access object for the table store_roles. type StoreRolesDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns StoreRolesColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns StoreRolesColumns // columns contains all the column names of Table for convenient usage. } // StoreRolesColumns defines and stores column names for the table store_roles. @@ -40,12 +39,11 @@ var storeRolesColumns = StoreRolesColumns{ } // NewStoreRolesDao creates and returns a new DAO object for table data access. -func NewStoreRolesDao(handlers ...gdb.ModelHandler) *StoreRolesDao { +func NewStoreRolesDao() *StoreRolesDao { return &StoreRolesDao{ - group: "default", - table: "store_roles", - columns: storeRolesColumns, - handlers: handlers, + group: "default", + table: "store_roles", + columns: storeRolesColumns, } } @@ -71,11 +69,7 @@ func (dao *StoreRolesDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *StoreRolesDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/stores.go b/internal/dao/internal/stores.go index 69ed619..8bbdc42 100644 --- a/internal/dao/internal/stores.go +++ b/internal/dao/internal/stores.go @@ -13,10 +13,9 @@ import ( // StoresDao is the data access object for the table stores. type StoresDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns StoresColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns StoresColumns // columns contains all the column names of Table for convenient usage. } // StoresColumns defines and stores column names for the table stores. @@ -52,12 +51,11 @@ var storesColumns = StoresColumns{ } // NewStoresDao creates and returns a new DAO object for table data access. -func NewStoresDao(handlers ...gdb.ModelHandler) *StoresDao { +func NewStoresDao() *StoresDao { return &StoresDao{ - group: "default", - table: "stores", - columns: storesColumns, - handlers: handlers, + group: "default", + table: "stores", + columns: storesColumns, } } @@ -83,11 +81,7 @@ func (dao *StoresDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *StoresDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/task_rewards.go b/internal/dao/internal/task_rewards.go index adf18fb..d745649 100644 --- a/internal/dao/internal/task_rewards.go +++ b/internal/dao/internal/task_rewards.go @@ -13,10 +13,9 @@ import ( // TaskRewardsDao is the data access object for the table task_rewards. type TaskRewardsDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns TaskRewardsColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns TaskRewardsColumns // columns contains all the column names of Table for convenient usage. } // TaskRewardsColumns defines and stores column names for the table task_rewards. @@ -36,12 +35,11 @@ var taskRewardsColumns = TaskRewardsColumns{ } // NewTaskRewardsDao creates and returns a new DAO object for table data access. -func NewTaskRewardsDao(handlers ...gdb.ModelHandler) *TaskRewardsDao { +func NewTaskRewardsDao() *TaskRewardsDao { return &TaskRewardsDao{ - group: "default", - table: "task_rewards", - columns: taskRewardsColumns, - handlers: handlers, + group: "default", + table: "task_rewards", + columns: taskRewardsColumns, } } @@ -67,11 +65,7 @@ func (dao *TaskRewardsDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *TaskRewardsDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/tasks.go b/internal/dao/internal/tasks.go index 72333ac..ced9c75 100644 --- a/internal/dao/internal/tasks.go +++ b/internal/dao/internal/tasks.go @@ -13,10 +13,9 @@ import ( // TasksDao is the data access object for the table tasks. type TasksDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns TasksColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns TasksColumns // columns contains all the column names of Table for convenient usage. } // TasksColumns defines and stores column names for the table tasks. @@ -46,12 +45,11 @@ var tasksColumns = TasksColumns{ } // NewTasksDao creates and returns a new DAO object for table data access. -func NewTasksDao(handlers ...gdb.ModelHandler) *TasksDao { +func NewTasksDao() *TasksDao { return &TasksDao{ - group: "default", - table: "tasks", - columns: tasksColumns, - handlers: handlers, + group: "default", + table: "tasks", + columns: tasksColumns, } } @@ -77,11 +75,7 @@ func (dao *TasksDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *TasksDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/user_task_rewards.go b/internal/dao/internal/user_task_rewards.go index aff73a2..3aaa431 100644 --- a/internal/dao/internal/user_task_rewards.go +++ b/internal/dao/internal/user_task_rewards.go @@ -13,10 +13,9 @@ import ( // UserTaskRewardsDao is the data access object for the table user_task_rewards. type UserTaskRewardsDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns UserTaskRewardsColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns UserTaskRewardsColumns // columns contains all the column names of Table for convenient usage. } // UserTaskRewardsColumns defines and stores column names for the table user_task_rewards. @@ -58,12 +57,11 @@ var userTaskRewardsColumns = UserTaskRewardsColumns{ } // NewUserTaskRewardsDao creates and returns a new DAO object for table data access. -func NewUserTaskRewardsDao(handlers ...gdb.ModelHandler) *UserTaskRewardsDao { +func NewUserTaskRewardsDao() *UserTaskRewardsDao { return &UserTaskRewardsDao{ - group: "default", - table: "user_task_rewards", - columns: userTaskRewardsColumns, - handlers: handlers, + group: "default", + table: "user_task_rewards", + columns: userTaskRewardsColumns, } } @@ -89,11 +87,7 @@ func (dao *UserTaskRewardsDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *UserTaskRewardsDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/user_tasks.go b/internal/dao/internal/user_tasks.go index 4ea4533..d3423a5 100644 --- a/internal/dao/internal/user_tasks.go +++ b/internal/dao/internal/user_tasks.go @@ -13,10 +13,9 @@ import ( // UserTasksDao is the data access object for the table user_tasks. type UserTasksDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns UserTasksColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns UserTasksColumns // columns contains all the column names of Table for convenient usage. } // UserTasksColumns defines and stores column names for the table user_tasks. @@ -56,12 +55,11 @@ var userTasksColumns = UserTasksColumns{ } // NewUserTasksDao creates and returns a new DAO object for table data access. -func NewUserTasksDao(handlers ...gdb.ModelHandler) *UserTasksDao { +func NewUserTasksDao() *UserTasksDao { return &UserTasksDao{ - group: "default", - table: "user_tasks", - columns: userTasksColumns, - handlers: handlers, + group: "default", + table: "user_tasks", + columns: userTasksColumns, } } @@ -87,11 +85,7 @@ func (dao *UserTasksDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *UserTasksDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/dao/internal/users.go b/internal/dao/internal/users.go index 340eaf7..613ce27 100644 --- a/internal/dao/internal/users.go +++ b/internal/dao/internal/users.go @@ -13,10 +13,9 @@ import ( // UsersDao is the data access object for the table users. type UsersDao struct { - table string // table is the underlying table name of the DAO. - group string // group is the database configuration group name of the current DAO. - columns UsersColumns // columns contains all the column names of Table for convenient usage. - handlers []gdb.ModelHandler // handlers for customized model modification. + table string // table is the underlying table name of the DAO. + group string // group is the database configuration group name of the current DAO. + columns UsersColumns // columns contains all the column names of Table for convenient usage. } // UsersColumns defines and stores column names for the table users. @@ -37,6 +36,7 @@ type UsersColumns struct { DeletedAt string // 软删除时间 RoleId string // 角色ID LastLoginStoreId string // 上次登录门店ID + XyUserId string // } // usersColumns holds the columns for the table users. @@ -57,15 +57,15 @@ var usersColumns = UsersColumns{ DeletedAt: "deleted_at", RoleId: "role_id", LastLoginStoreId: "last_login_store_id", + XyUserId: "xy_user_id", } // NewUsersDao creates and returns a new DAO object for table data access. -func NewUsersDao(handlers ...gdb.ModelHandler) *UsersDao { +func NewUsersDao() *UsersDao { return &UsersDao{ - group: "default", - table: "users", - columns: usersColumns, - handlers: handlers, + group: "default", + table: "users", + columns: usersColumns, } } @@ -91,11 +91,7 @@ func (dao *UsersDao) Group() string { // Ctx creates and returns a Model for the current DAO. It automatically sets the context for the current operation. func (dao *UsersDao) Ctx(ctx context.Context) *gdb.Model { - model := dao.DB().Model(dao.table) - for _, handler := range dao.handlers { - model = handler(model) - } - return model.Safe().Ctx(ctx) + return dao.DB().Model(dao.table).Safe().Ctx(ctx) } // Transaction wraps the transaction logic using function f. diff --git a/internal/logic/task/task.go b/internal/logic/task/task.go index 04995bf..6fb8f1a 100644 --- a/internal/logic/task/task.go +++ b/internal/logic/task/task.go @@ -12,6 +12,7 @@ import ( "server/internal/dao" "server/internal/model" "server/internal/model/do" + "server/internal/model/entity" "server/internal/service" "server/utility/ecode" "server/utility/gamelife" @@ -389,7 +390,7 @@ func (s *sTask) GetTask(ctx context.Context, in *model.GetTaskIn) (out *model.Ge if err = dao.UserTasks.Transaction(ctx, func(ctx context.Context, tx gdb.TX) (err error) { // 创建任务记录 - _, err = dao.UserTasks.Ctx(ctx).InsertAndGetId(do.UserTasks{ + id, err := dao.UserTasks.Ctx(ctx).InsertAndGetId(do.UserTasks{ UserId: in.UserId, TaskId: in.TaskId, StoreId: storeId, @@ -404,25 +405,30 @@ func (s *sTask) GetTask(ctx context.Context, in *model.GetTaskIn) (out *model.Ge return ecode.Fail.Sub("创建用户任务记录失败") } - ////查询该任务相关联的奖励, 创建对应奖励下发记录id - //array, err := dao.TaskRewards.Ctx(ctx).LeftJoin(dao.Rewards.Table(), "rewards.id = task_rewards.reward_id").Where(do.TaskRewards{TaskId: in.TaskId}). - // Fields(dao.TaskRewards.Columns().RewardId).Fields(dao.Rewards.Columns().Name).All() - //if err != nil { - // return ecode.Fail.Sub("获取任务关联奖励列表失败") - //} - //for _, v := range array { - // _, err = dao.UserTaskRewards.Ctx(ctx).Data(do.UserTaskRewards{ - // UserTaskId: id, - // RewardId: v["reward_id"].Int64(), - // RewardName: v["name"].String(), - // Status: consts.RewardInitStatus, - // InnerOrderId: fmt.Sprintf("reward%s", guid.S()), - // IssueQuantity: 1, - // }).Insert() - // if err != nil { - // return ecode.Fail.Sub("创建用户任务奖励记录失败") - // } - //} + //查询该任务相关联的奖励, 创建对应奖励下发记录id + array, err := dao.TaskRewards.Ctx(ctx).LeftJoin(dao.Rewards.Table(), "rewards.id = task_rewards.reward_id").Where(do.TaskRewards{TaskId: in.TaskId}). + Fields(dao.TaskRewards.Columns().RewardId).All() + if err != nil { + return ecode.Fail.Sub("获取任务关联奖励列表失败") + } + for _, v := range array { + var reward entity.Rewards + if err := dao.Rewards.Ctx(ctx).WherePri(v["reward_id"].Int64()).Scan(&reward); err != nil { + return ecode.Fail.Sub("获取任务关联奖励列表失败") + } + _, err = dao.UserTaskRewards.Ctx(ctx).Data(do.UserTaskRewards{ + UserTaskId: id, + RewardId: v["reward_id"].Int64(), + RewardName: reward.Name, + Status: consts.RewardInitStatus, + IssueQuantity: reward.GrantQuantity, + Source: reward.Source, + RewardTypeId: reward.RewardTypeId, + }).Insert() + if err != nil { + return ecode.Fail.Sub("创建用户任务奖励记录失败") + } + } return }); err != nil { return nil, err @@ -465,208 +471,6 @@ func (s *sTask) GetUserTaskRecordsList(ctx context.Context, in *model.UserTaskRe }, nil } -// GetTaskList PC-WEB获取任务列表 -//func (s *sTask) GetTaskList(ctx context.Context, in *model.GetTaskListV2In) (out *model.GetTaskListV2Out, err error) { -// var tasks []model.Task -// var pageIdx string -// var data []model.GameTask -// if in.IsBound == 0 { -// // 未绑定游戏查询自己数据库 -// err := dao.Tasks.Ctx(ctx).Where(do.Tasks{GameId: in.Gid, NetbarAcconut: in.NetBarAccount}).WithAll().WithAll().Scan(&tasks) -// if err != nil { -// return nil, ecode.Fail.Sub("获取任务列表失败") -// } -// -// for i, v := range tasks { -// err := json.Unmarshal([]byte(v.Task), &tasks[i].GameTask) -// if err != nil { -// return nil, ecode.Fail.Sub("解析任务信息失败") -// } -// tasks[i].Task = "" -// for _, i3 := range tasks[i].TaskRewards { -// tasks[i].GameTask.Reward = append(tasks[i].GameTask.Reward, i3.Rewards) -// } -// -// for _, prize := range tasks[i].GameTask.PrizeList { -// for _, goods := range prize.GoodsList { -// if goods.GoodsType != 37 { -// tasks[i].GameTask.Reward = append(tasks[i].GameTask.Reward, model.SimpleReward{ -// Source: 1, -// RewardTypeId: int64(goods.GoodsType), -// Name: goods.GoodsName, -// ImageUrl: goods.GoodsIcon, -// TotalLimit: uint64(v.GameTask.LimitNum), -// }) -// } -// } -// } -// -// data = append(data, tasks[i].GameTask) -// } -// -// return &model.GetTaskListV2Out{ -// Data: data, -// }, nil -// } else { -// // 已绑定 -// // 调用外部接口 -// activity, err := gamelife.GetGamelifeClient(ctx).RequestActivity(ctx, &model.QQNetbarActivityIn{ServiceName: consts.GetTaskList, PopenId: in.PopenId, BindType: in.BindType, TaskParam: model.TaskParam{Gid: in.Gid, NetBarAccount: in.NetBarAccount, Num: in.Num, Pageidx: in.Pageidx}}) -// if err != nil { -// return nil, err -// } -// result, ok := activity.(*model.GameTaskResponse) -// if !ok { -// return nil, ecode.Fail.Sub("数据类型转换失败") -// } -// -// pageIdx = result.PageIdx -// // 剔除不需要的任务数据 -// for i, task := range result.TaskList { -// -// -// // 组装门店奖励数据 -// err := dao.TaskRewards.Ctx(ctx). -// LeftJoin(dao.Rewards.Table(), -// fmt.Sprintf("`%s`.`%s` = `%s`.`%s`", -// dao.Rewards.Table(), dao.Rewards.Columns().Id, -// dao.TaskRewards.Table(), dao.TaskRewards.Columns().RewardId)). -// LeftJoin(dao.RewardTypes.Table(), -// fmt.Sprintf("`%s`.`%s` = `%s`.`%s`", -// dao.RewardTypes.Table(), dao.RewardTypes.Columns().Id, -// dao.Rewards.Table(), dao.Rewards.Columns().RewardTypeId)). -// Fields( -// fmt.Sprintf("%s.*, `%s`.`%s` AS %s", -// dao.Rewards.Table(), -// dao.RewardTypes.Table(), dao.RewardTypes.Columns().Name, -// "reward_type_name", -// ), -// ).Where(dao.TaskRewards.Columns().TaskId, task.TaskID).Scan(&result.TaskList[i].Reward) -// if err != nil { -// return nil, err -// } -// -// // 尝试转换q 币结构体 -// //for _, prize := range task.PrizeList { -// // for _, goods := range prize.GoodsList { -// // if goods.GoodsType != 37 { -// // task.Reward = append(task.Reward, model.SimpleReward{ -// // Source: 1, -// // RewardTypeId: int64(goods.GoodsType), -// // Name: goods.GoodsName, -// // ImageUrl: goods.GoodsIcon, -// // TotalLimit: uint64(task.LimitNum), -// // }) -// // } -// // } -// //} -// -// //任务状态=1或者2不做操作,其他查询门店奖励是否全部领取 -// if task.Status != 1 && task.Status != 2 { -// count, err := dao.UserTasks.Ctx(ctx).Where(dao.UserTasks.Columns().TaskId, task.TaskID).Where(dao.UserTasks.Columns().UserId, in.UserId).LeftJoin(dao.UserTaskRewards.Table(), -// fmt.Sprintf("%s.user_task_id = %s.id", dao.UserTaskRewards.Table(), dao.UserTasks.Table())).LeftJoin(dao.Rewards.Table(), fmt.Sprintf("%s.id = %s.reward_id", -// dao.Rewards.Table(), dao.UserTaskRewards.Table())).Where("rewards.source", 2).Where(dao.UserTaskRewards.Columns().Status, 2).Count() -// if err != nil { -// return nil, ecode.Fail.Sub("查询用户门店任务奖励失败") -// } -// -// if count > 0 { -// result.TaskList[i].Status = 2 -// //tasks[i].Status = 2 -// } else { -// result.TaskList[i].Status = 3 -// //tasks[i].Status = 3 -// } -// } -// //else { -// // data.Status = task.Status -// //} -// //tasks = append(tasks, data) -// -// // 根据用户完成次数和任务指标次数判任务是否完成,修改任务记录状态为 3 -// if int(task.UserTimes) >= task.TargetTimes { -// if err = dao.UserTasks.Transaction(ctx, func(ctx context.Context, tx gdb.TX) error { -// orm := dao.UserTasks.Ctx(ctx).Where(do.UserTasks{UserId: in.UserId, TaskId: task.TaskID}) -// if task.GameTaskConfig.TimeType == 1 { -// // 每日任务 -// start := gtime.Now().StartOfDay() -// end := gtime.Now().EndOfDay() -// orm = orm.WhereBetween(dao.UserTasks.Columns().CreatedAt, start, end) -// } -// value, err := orm.Fields(dao.UserTasks.Columns().Id).Value() -// if err != nil { -// return ecode.Fail.Sub("获取用户任务失败") -// } -// if value.IsEmpty() { -// glog.Info(ctx, "用户任务不存在") -// v, err := dao.Stores.Ctx(ctx).Fields(dao.Stores.Columns().Id).Where(do.Stores{NetbarAccount: in.NetBarAccount}).Value() -// if err != nil { -// return ecode.Fail.Sub("获取门店信息失败") -// } -// serialNumber, err := snowid.GetSnowClient().GenerateSerialNumber() -// if err != nil { -// return ecode.Fail.Sub("生成流水号异常") -// } -// id, err := dao.UserTasks.Ctx(ctx).InsertAndGetId(do.UserTasks{ -// UserId: in.UserId, -// TaskId: task.TaskID, -// StoreId: v.Int64(), -// Status: 3, -// SerialNumber: serialNumber, -// TaskName: task.Title, -// GameId: in.Gid, -// TaskType: task.GameTaskConfig.TimeType, -// }) -// if err != nil { -// return ecode.Fail.Sub("创建用户任务记录失败") -// } -// -// // 查询该任务相关联的奖励, 创建对应奖励下发记录id -// array, err := dao.TaskRewards.Ctx(ctx).LeftJoin(dao.Rewards.Table(), "rewards.id = task_rewards.reward_id").Where(do.TaskRewards{TaskId: task.TaskID}).Fields(dao.TaskRewards.Columns().RewardId).Fields(dao.Rewards.Columns().Name).All() -// if err != nil { -// return ecode.Fail.Sub("获取任务关联奖励列表失败") -// } -// for _, v := range array { -// _, err = dao.UserTaskRewards.Ctx(ctx).Data(do.UserTaskRewards{ -// UserTaskId: id, -// RewardId: v["reward_id"].Int64(), -// RewardName: v["name"].String(), -// Status: consts.RewardPendingStatus, -// InnerOrderId: fmt.Sprintf("reward%s", guid.S()), -// }).Insert() -// if err != nil { -// return ecode.Fail.Sub("创建用户任务奖励记录失败") -// } -// } -// } else { -// glog.Info(ctx, "用户任务存在") -// _, err = dao.UserTasks.Ctx(ctx).WherePri(value.Int64()).Where(dao.UserTasks.Columns().Status).WhereNot(dao.UserTasks.Columns().Status, 2).Update(do.UserTasks{ -// Status: 3, -// }) -// if err != nil { -// return ecode.Fail.Sub("修改用户任务状态失败") -// } -// _, err = dao.UserTaskRewards.Ctx(ctx).Where(do.UserTaskRewards{UserTaskId: value.Int()}).Where(dao.UserTaskRewards.Columns().Status, 1).Update(do.UserTaskRewards{ -// Status: 2, -// }) -// if err != nil { -// return ecode.Fail.Sub("修改用户任务奖励状态失败") -// } -// } -// return nil -// }); err != nil { -// return nil, err -// } -// -// } -// } -// data = result.TaskList -// return &model.GetTaskListV2Out{ -// Data: data, -// PageIdx: pageIdx, -// }, nil -// } -//} - func (s *sTask) GetTaskList(ctx context.Context, in *model.GetTaskListV2In) (out *model.GetTaskListV2Out, err error) { out = &model.GetTaskListV2Out{} if in.IsBound == 1 { @@ -693,19 +497,21 @@ func (s *sTask) GetTaskList(ctx context.Context, in *model.GetTaskListV2In) (out end := gtime.Now().EndOfDay() orm = orm.WhereBetween(dao.UserTasks.Columns().CreatedAt, start, end) } - one, err := orm.Fields(dao.UserTasks.Columns().Id, dao.UserTasks.Columns().UserTimes).One() + one, err := orm.Fields(dao.UserTasks.Columns().Id, dao.UserTasks.Columns().Status, dao.UserTasks.Columns().UserTimes).One() if err != nil { return nil, ecode.Fail.Sub("获取用户任务失败") } if one.IsEmpty() || one["id"].IsEmpty() { + // 不存在用户任务记录,强制用户完成任务 result.TaskList[i].Status = 1 } else { - if v.Status == 2 { - if v.UserTimes-one["user_times"].Int64() >= v.TargetTimes { - completeTime := gtime.Now() - // 判断是否完成任务,修改奖励下发记录状态为 2 + // 存在用户记录,自行判断用户是否完成任务 + if v.UserTimes-one["user_times"].Int64() >= v.TargetTimes { + completeTime := gtime.Now() + userTaskStatus := one["status"].Int64() + if userTaskStatus == 1 { if err := dao.UserTasks.Transaction(ctx, func(ctx context.Context, tx gdb.TX) (err error) { - if _, err := dao.UserTasks.Ctx(ctx).WherePri(one["id"].Int64()).Where(do.UserTasks{Status: 1}).Data(do.UserTasks{Status: 3, UserTimes: v.UserTimes}).Update(); err != nil { + if _, err := dao.UserTasks.Ctx(ctx).WherePri(one["id"].Int64()).Where(do.UserTasks{Status: 1}).Data(do.UserTasks{Status: 3}).Update(); err != nil { return ecode.Fail.Sub("修改用户任务状态失败") } @@ -727,7 +533,7 @@ func (s *sTask) GetTaskList(ctx context.Context, in *model.GetTaskListV2In) (out return ecode.Fail.Sub("获取用户任务奖励失败") } if rewardTypeCode.String() == consts.NetfeeCode { - if quantity, err := CalculateNetfeeRewardQuantity(ctx, in.UserId, in.StoreId, record["reward_id"].Int64(), completeTime); err == nil && quantity != 0 { + if quantity, err := CalculateNetfeeRewardQuantity(ctx, in.UserId, in.NetBarAccount, record["reward_id"].Int64(), completeTime); err == nil && quantity > 0 { updateData.IssueQuantity = quantity } } @@ -740,22 +546,16 @@ func (s *sTask) GetTaskList(ctx context.Context, in *model.GetTaskListV2In) (out return nil, err } result.TaskList[i].Status = 2 - } else { - result.TaskList[i].Status = 1 - } - result.TaskList[i].UserTimes -= one["user_times"].Int64() - } else if v.Status == 3 { - // 查询该用户任务记录奖励都已发放 - count, err := dao.UserTaskRewards.Ctx(ctx).Where(do.UserTaskRewards{UserTaskId: one["id"].Int64()}).Where(dao.UserTaskRewards.Columns().Status, []int{2, 3, 5}).Count() - if err != nil { - return nil, ecode.Fail.Sub("查询用户门店任务奖励失败") - } - - if count > 0 { + } else if userTaskStatus == 3 { result.TaskList[i].Status = 2 + } else { + result.TaskList[i].Status = 3 } + } else { + result.TaskList[i].UserTimes -= one["user_times"].Int64() + result.TaskList[i].Status = 1 } - + result.TaskList[i].UserTaskId = one["id"].Int64() } } out.PageIdx = result.PageIdx @@ -783,27 +583,9 @@ func (s *sTask) GetTaskList(ctx context.Context, in *model.GetTaskListV2In) (out } } - // 遍历任务列表数据,进行处理 - // 根据门店查询出当前门店追加的奖励 - for i, v := range out.Data { - for _, prize := range v.PrizeList { - for _, goods := range prize.GoodsList { - if in.IsBound == 1 && goods.GoodsType == 37 { - continue - } - out.Data[i].Rewards = append(out.Data[i].Rewards, model.SimpleReward{ - Source: 1, - RewardTypeId: int64(goods.GoodsType), - Name: goods.GoodsName, - ImageUrl: goods.GoodsIcon, - GrantQuantity: uint64(goods.Num), - TotalLimit: uint64(v.LimitNum), - }) - } - } - } return } + func (s *sTask) SyncTaskFromGamelife(ctx context.Context) (out *model.SyncTaskOut, err error) { stores, err := dao.Stores.Ctx(ctx).Fields(dao.Stores.Columns().Id, dao.Stores.Columns().NetbarAccount).All() if err != nil { @@ -920,7 +702,7 @@ func (s *sTask) SyncTaskFromGamelife(ctx context.Context) (out *model.SyncTaskOu wg.Wait() return } -func CalculateNetfeeRewardQuantity(ctx context.Context, userId int64, storeId, rewardId int64, completedTime *gtime.Time) (uint64, error) { +func CalculateNetfeeRewardQuantity(ctx context.Context, userId int64, netbarAccount string, rewardId int64, completedTime *gtime.Time) (uint64, error) { // 获取当前小时 & 星期几(0=周日) hour := completedTime.Hour() @@ -961,7 +743,13 @@ func CalculateNetfeeRewardQuantity(ctx context.Context, userId int64, storeId, r if areaId.IsEmpty() { return 0, nil } - + storeId, err := dao.Stores.Ctx(ctx).Where(do.Stores{NetbarAccount: netbarAccount}).Fields("id").Value() + if err != nil { + return 0, ecode.Fail.Sub("获取门店失败") + } + if storeId.IsEmpty() { + return 0, nil + } // 获取门店该区域、等级、奖励配置 priceDataStr, err := dao.StoreNetfeeAreaLevel.Ctx(ctx). Where(do.StoreNetfeeAreaLevel{ diff --git a/internal/logic/user/user.go b/internal/logic/user/user.go index e8680cc..98d8573 100644 --- a/internal/logic/user/user.go +++ b/internal/logic/user/user.go @@ -369,7 +369,7 @@ func (s *sUser) Quan8Autologin(ctx context.Context, in *model.Quan8AutologinIn) } // Check if user exists by Quan8 UUID - exist, err := dao.Users.Ctx(ctx).Where(do.Users{Quan8Uuid: in.UUID}).Exist() + exist, err := dao.Users.Ctx(ctx).Where(do.Users{XyUserId: in.UUID}).Exist() if err != nil { return nil, ecode.Fail.Sub("查找用户失败") } @@ -396,7 +396,7 @@ func (s *sUser) Quan8Autologin(ctx context.Context, in *model.Quan8AutologinIn) } user := &entity.Users{ - Quan8Uuid: in.UUID, + XyUserId: in.UUID, Username: username, Nickname: username, PasswordHash: password, @@ -414,7 +414,7 @@ func (s *sUser) Quan8Autologin(ctx context.Context, in *model.Quan8AutologinIn) return nil, ecode.Fail.Sub("创建用户失败") } } else { - value, err := dao.Users.Ctx(ctx).Where(do.Users{Quan8Uuid: in.UUID}).Fields(dao.Users.Columns().Id).Value() + value, err := dao.Users.Ctx(ctx).Where(do.Users{XyUserId: in.UUID}).Fields(dao.Users.Columns().Id).Value() if err != nil { return nil, ecode.Fail.Sub("查找用户失败") } @@ -442,7 +442,7 @@ func (s *sUser) GenerateSceneId(ctx context.Context, in *model.GenerateSceneIdIn // Check if user exists by UUID if provided if in.UUId != "" { - exist, err := dao.Users.Ctx(ctx).Where(do.Users{Quan8Uuid: in.UUId}).Exist() + exist, err := dao.Users.Ctx(ctx).Where(do.Users{XyUserId: in.UUId}).Exist() if err != nil { return nil, ecode.Fail.Sub("查找用户失败") } diff --git a/internal/model/do/users.go b/internal/model/do/users.go index 3920057..f4f1099 100644 --- a/internal/model/do/users.go +++ b/internal/model/do/users.go @@ -28,4 +28,5 @@ type Users struct { DeletedAt *gtime.Time // 软删除时间 RoleId interface{} // 角色ID LastLoginStoreId interface{} // 上次登录门店ID + XyUserId interface{} // } diff --git a/internal/model/entity/users.go b/internal/model/entity/users.go index 4f4153e..fa11299 100644 --- a/internal/model/entity/users.go +++ b/internal/model/entity/users.go @@ -26,4 +26,5 @@ type Users struct { DeletedAt *gtime.Time `json:"deletedAt" orm:"deleted_at" description:"软删除时间"` // 软删除时间 RoleId int64 `json:"roleId" orm:"role_id" description:"角色ID"` // 角色ID LastLoginStoreId int64 `json:"lastLoginStoreId" orm:"last_login_store_id" description:"上次登录门店ID"` // 上次登录门店ID + XyUserId string `json:"xyUserId" orm:"xy_user_id" description:""` // } diff --git a/manifest/config/config.yaml b/manifest/config/config.yaml index 87af5e8..24f381f 100644 --- a/manifest/config/config.yaml +++ b/manifest/config/config.yaml @@ -15,7 +15,8 @@ database: level: "all" stdout: true default: - link: "mysql:root:123456@tcp(192.168.3.92:3306)/arenax?loc=Local&charset=utf8mb4" +# link: "mysql:root:123456@tcp(192.168.3.92:3306)/arenax?loc=Local&charset=utf8mb4" + link: "mysql:root:MSms0427@tcp(127.0.0.1:3306)/arenax?loc=Local&charset=utf8mb4" debug: true # Redis configuration.