From 74183a033117afb615f04aa746bab17c85cc3785 Mon Sep 17 00:00:00 2001 From: Leufolium Date: Thu, 18 Jul 2024 19:29:11 +0800 Subject: [PATCH] by Robin at 20240718 --- api/errcode/errcode.go | 8 ++ .../Raven_IQ_test/proto/Raven_IQ_test_api.go | 35 ++++++++ .../Raven_IQ_test/proto/Raven_IQ_test_op.go | 66 ++++++++++++++ .../proto/Raven_IQ_test_vo_api.go | 41 +++++++++ .../Raven_IQ_test/proto/not_null_def_api.go | 19 ++++ .../Raven_IQ_test_controller_center.go | 8 ++ app/mix/controller/Raven_IQ_test_op.go | 71 +++++++++++++++ app/mix/dao/mongo.go | 67 +++++++++++++++ app/mix/dao/mongo_idseq.go | 27 ++++++ app/mix/service/apiservice.go | 41 +++++++++ app/mix/service/logic/RavenIQTest.go | 81 ++++++++++++++++++ app/mix/service/service.go | 2 + codecreate/codecreate.go | 8 +- codecreate/resource/EntityDefine.xlsx | Bin 54764 -> 56015 bytes dbstruct/RavenIQTest.go | 73 ++++++++++++++++ dbstruct/idSeq.go | 4 + 16 files changed, 547 insertions(+), 4 deletions(-) create mode 100644 api/proto/Raven_IQ_test/proto/Raven_IQ_test_api.go create mode 100644 api/proto/Raven_IQ_test/proto/Raven_IQ_test_op.go create mode 100644 api/proto/Raven_IQ_test/proto/Raven_IQ_test_vo_api.go create mode 100644 api/proto/Raven_IQ_test/proto/not_null_def_api.go create mode 100644 app/mix/controller/Raven_IQ_test_controller_center.go create mode 100644 app/mix/controller/Raven_IQ_test_op.go create mode 100644 app/mix/service/logic/RavenIQTest.go create mode 100644 dbstruct/RavenIQTest.go diff --git a/api/errcode/errcode.go b/api/errcode/errcode.go index 53cd00c8..8f44644a 100644 --- a/api/errcode/errcode.go +++ b/api/errcode/errcode.go @@ -222,6 +222,9 @@ var ErrCodeMsgMap = map[ErrCode]string{ ErrCodeUnhandleableSingleDistributeStatus: "无法处理的下发打款状态", ErrCodeHvyogoSrvFail: "慧用工接口服务错误", + + ErrCodeRavenIQTestSrvFail: "瑞文智商测试表服务错误", + ErrCodeRavenIQTestNotExist: "瑞文智商测试表不存在", } const ( @@ -542,4 +545,9 @@ const ( // Websocket: 1xxxxx ErrCodeHandleWsFail ErrCode = -100001 // 长链连接失败 + // RavenIQTest: 101xxx + ErrCodeRavenIQTestSrvOk ErrCode = ErrCodeOk + ErrCodeRavenIQTestSrvFail ErrCode = -101001 // 瑞文智商测试表服务错误 + ErrCodeRavenIQTestNotExist ErrCode = -101002 // 瑞文智商测试表不存在 + ) diff --git a/api/proto/Raven_IQ_test/proto/Raven_IQ_test_api.go b/api/proto/Raven_IQ_test/proto/Raven_IQ_test_api.go new file mode 100644 index 00000000..b2fa0457 --- /dev/null +++ b/api/proto/Raven_IQ_test/proto/Raven_IQ_test_api.go @@ -0,0 +1,35 @@ +package proto + +import ( + "service/api/base" + "service/dbstruct" +) + +// op 创建 +type ApiCreateReq struct { + base.BaseRequest + *dbstruct.RavenIQTest +} + +type ApiCreateData struct { +} + +type ApiCreateResp struct { + base.BaseResponse + Data *ApiCreateData `json:"data"` +} + +// op 列表 +type ApiListReq struct { + base.BaseRequest + Id *int64 `json:"id"` +} + +type ApiListData struct { + *dbstruct.RavenIQTest +} + +type ApiListResp struct { + base.BaseResponse + Data *ApiListData `json:"data"` +} diff --git a/api/proto/Raven_IQ_test/proto/Raven_IQ_test_op.go b/api/proto/Raven_IQ_test/proto/Raven_IQ_test_op.go new file mode 100644 index 00000000..3f9c3601 --- /dev/null +++ b/api/proto/Raven_IQ_test/proto/Raven_IQ_test_op.go @@ -0,0 +1,66 @@ +package proto + +import ( + "service/api/base" + "service/dbstruct" +) + +// op 创建 +type OpCreateReq struct { + base.BaseRequest + *dbstruct.RavenIQTest +} + +type OpCreateData struct { +} + +type OpCreateResp struct { + base.BaseResponse + Data *OpCreateData `json:"data"` +} + +// op 删除 +type OpDeleteReq struct { + base.BaseRequest + Id int64 `json:"id"` +} + +type OpDeleteData struct { +} + +type OpDeleteResp struct { + base.BaseResponse + Data *OpDeleteData `json:"data"` +} + +// op 更新 +type OpUpdateReq struct { + base.BaseRequest + *dbstruct.RavenIQTest +} + +type OpUpdateData struct { +} + +type OpUpdateResp struct { + base.BaseResponse + Data *OpUpdateData `json:"data"` +} + +// op 列表 +type OpListReq struct { + base.BaseRequest + Offset int `json:"offset"` + Limit int `json:"limit"` +} + +type OpListData struct { + List []*dbstruct.RavenIQTest `json:"list"` + Offset int `json:"offset"` + More int `json:"more"` +} + +type OpListResp struct { + base.BaseResponse + Data *OpListData `json:"data"` +} diff --git a/api/proto/Raven_IQ_test/proto/Raven_IQ_test_vo_api.go b/api/proto/Raven_IQ_test/proto/Raven_IQ_test_vo_api.go new file mode 100644 index 00000000..2511a7a7 --- /dev/null +++ b/api/proto/Raven_IQ_test/proto/Raven_IQ_test_vo_api.go @@ -0,0 +1,41 @@ +package proto + +import ( + "service/dbstruct" +) + +type ApiListVO struct { + Id int64 `json:"id"` // 瑞文智商测试表id + UserId int64 `json:"user_id"` // 用户id + Age int64 `json:"age" ` // 年龄 + TotalScores int64 `json:"total_scores"` // 总得分 + IQ float64 `json:"IQ"` // 智商值 + Percentile int64 `json:"percentile"` // 百分位 + Description string `json:"description"` // 描述 + ClassScoreList []*ApiClassSocreVO `json:"class_score_list"` // 大类得分list +} + +type ApiClassSocreVO struct { + ClassId int64 `json:"class_id"` // 大类id + Score int64 `json:"score"` // 得分 + Suggestions string `json:"suggestions"` // 建议 +} + +func (vo *ApiListVO) CopyRavenIQTest(test *dbstruct.RavenIQTest) *ApiListVO { + if test == nil { + return vo + } + vo.Id = test.GetId() + vo.UserId = test.GetUserId() + vo.Age = test.GetAge() + vo.TotalScores = test.GetTotalScores() + vo.IQ = test.GetIQ() + vo.ClassScoreList = make([]*ApiClassSocreVO, 0) + for _, score := range test.ClassScoreList { + vo.ClassScoreList = append(vo.ClassScoreList, &ApiClassSocreVO{ + ClassId: score.GetClassId(), + Score: score.GetScore(), + }) + } + return vo +} diff --git a/api/proto/Raven_IQ_test/proto/not_null_def_api.go b/api/proto/Raven_IQ_test/proto/not_null_def_api.go new file mode 100644 index 00000000..3259bcad --- /dev/null +++ b/api/proto/Raven_IQ_test/proto/not_null_def_api.go @@ -0,0 +1,19 @@ +package proto + +import ( + "service/library/validator" +) + +// api 查询 +func (p *ApiCreateReq) ProvideNotNullValue() (params []*validator.JsonParam) { + params = make([]*validator.JsonParam, 0) + params = append(params, validator.NewInt64PtrParam("请提供您的年龄!", p.Age)) + return params +} + +// api 经验增长 +func (p *ApiListReq) ProvideNotNullValue() (params []*validator.JsonParam) { + params = make([]*validator.JsonParam, 0) + params = append(params, validator.NewInt64PtrParam("请提供待查询的id!", p.Id)) + return params +} diff --git a/app/mix/controller/Raven_IQ_test_controller_center.go b/app/mix/controller/Raven_IQ_test_controller_center.go new file mode 100644 index 00000000..1bac47ec --- /dev/null +++ b/app/mix/controller/Raven_IQ_test_controller_center.go @@ -0,0 +1,8 @@ +Raven_IQ_testproto "service/api/proto/Raven_IQ_test/proto" + + // 瑞文智商测试表 + opRavenIQTestGroup := r.Group("/api/Raven_IQ_test", PrepareToC()) + opRavenIQTestGroup.POST("create", middleware.JSONParamValidator(Raven_IQ_testproto.OpCreateReq{}), middleware.JwtAuthenticator(), OpCreateRavenIQTest) + opRavenIQTestGroup.POST("update", middleware.JSONParamValidator(Raven_IQ_testproto.OpUpdateReq{}), middleware.JwtAuthenticator(), OpUpdateRavenIQTest) + opRavenIQTestGroup.POST("delete", middleware.JSONParamValidator(Raven_IQ_testproto.OpDeleteReq{}), middleware.JwtAuthenticator(), OpDeleteRavenIQTest) + opRavenIQTestGroup.POST("list", middleware.JSONParamValidator(Raven_IQ_testproto.OpListReq{}), middleware.JwtAuthenticator(), OpGetRavenIQTestList) \ No newline at end of file diff --git a/app/mix/controller/Raven_IQ_test_op.go b/app/mix/controller/Raven_IQ_test_op.go new file mode 100644 index 00000000..b8c69f56 --- /dev/null +++ b/app/mix/controller/Raven_IQ_test_op.go @@ -0,0 +1,71 @@ +package controller + +import ( + "github.com/gin-gonic/gin" + "service/api/errcode" + Raven_IQ_testproto "service/api/proto/Raven_IQ_test/proto" + "service/app/mix/service" + "service/bizcommon/util" + "service/library/logger" +) + +func OpCreateRavenIQTest(ctx *gin.Context) { + req := ctx.MustGet("client_req").(*Raven_IQ_testproto.OpCreateReq) + ec := service.DefaultService.OpCreateRavenIQTest(ctx, req) + if ec != errcode.ErrCodeRavenIQTestSrvOk { + logger.Error("OpCreateRavenIQTest fail, req: %v, ec: %v", util.ToJson(req), ec) + ReplyErrorMsg(ctx, "server error") + return + } + + ReplyOk(ctx, nil) +} + +func OpUpdateRavenIQTest(ctx *gin.Context) { + req := ctx.MustGet("client_req").(*Raven_IQ_testproto.OpUpdateReq) + ec := service.DefaultService.OpUpdateRavenIQTest(ctx, req) + if ec != errcode.ErrCodeRavenIQTestSrvOk { + logger.Error("OpUpdateRavenIQTest fail, req: %v, ec: %v", util.ToJson(req), ec) + ReplyErrCodeMsg(ctx, ec) + return + } + + ReplyOk(ctx, nil) +} + +func OpDeleteRavenIQTest(ctx *gin.Context) { + req := ctx.MustGet("client_req").(*Raven_IQ_testproto.OpDeleteReq) + ec := service.DefaultService.OpDeleteRavenIQTest(ctx, req.Id) + if ec != errcode.ErrCodeRavenIQTestSrvOk { + logger.Error("OpDeleteRavenIQTest fail, req: %v, ec: %v", util.ToJson(req), ec) + ReplyErrCodeMsg(ctx, ec) + return + } + + ReplyOk(ctx, nil) +} + +func OpGetRavenIQTestList(ctx *gin.Context) { + req := ctx.MustGet("client_req").(*Raven_IQ_testproto.OpListReq) + + //设置默认页长 + if req.Limit == 0 { + req.Limit = consts.DefaultPageSize + } + + list, ec := service.DefaultService.OpGetRavenIQTestList(ctx, req) + if ec != errcode.ErrCodeRavenIQTestSrvOk { + logger.Error("OpGetRavenIQTestList fail, req: %v, ec: %v", util.ToJson(req), ec) + ReplyErrCodeMsg(ctx, ec) + return + } + + data := &Raven_IQ_testproto.OpListData{ + List: list, + Offset: req.Offset + len(list), + } + if len(list) >= req.Limit { + data.More = 1 + } + ReplyOk(ctx, data) +} diff --git a/app/mix/dao/mongo.go b/app/mix/dao/mongo.go index d79d0bb8..29f17d6b 100644 --- a/app/mix/dao/mongo.go +++ b/app/mix/dao/mongo.go @@ -17,6 +17,7 @@ import ( "go.mongodb.org/mongo-driver/bson" options2 "go.mongodb.org/mongo-driver/mongo/options" + Raven_IQ_testproto "service/api/proto/Raven_IQ_test/proto" accountproto "service/api/proto/account/proto" account_cancellationproto "service/api/proto/account_cancellation/proto" accountpunishmentproto "service/api/proto/accountpunishment/proto" @@ -226,6 +227,9 @@ const ( DBSingleDistributeHis = "single_distribute_his" COLSingleDistributeHis = "single_distribute_his" COLSingleDistributeLock = "single_distribute_lock" + + DBRavenIQTest = "Raven_IQ_test" + COLRavenIQTest = "Raven_IQ_test" ) // 商品表 @@ -577,6 +581,11 @@ func (m *Mongo) getColSingleDistributeLock() *qmgo.Collection { return m.clientMix.Database(DBSingleDistributeHis).Collection(COLSingleDistributeLock) } +// 瑞文智商测试表表 +func (m *Mongo) getColRavenIQTest() *qmgo.Collection { + return m.clientMix.Database(DBRavenIQTest).Collection(COLRavenIQTest) +} + // 商品相关 func (m *Mongo) CreateProduct(ctx *gin.Context, product *dbstruct.Product) error { col := m.getColProduct() @@ -5554,3 +5563,61 @@ func (m *Mongo) GetSingleDistributeHisById(ctx *gin.Context, id string) (*dbstru } return one, err } + +// 瑞文智商测试表相关 +func (m *Mongo) CreateRavenIQTest(ctx *gin.Context, Raven_IQ_test *dbstruct.RavenIQTest) error { + col := m.getColRavenIQTest() + _, err := col.InsertOne(ctx, Raven_IQ_test) + return err +} + +func (m *Mongo) UpdateRavenIQTest(ctx *gin.Context, Raven_IQ_test *dbstruct.RavenIQTest) error { + col := m.getColRavenIQTest() + set := util.EntityToM(Raven_IQ_test) + set["ut"] = time.Now().Unix() + up := qmgo.M{ + "$set": set, + } + err := col.UpdateId(ctx, Raven_IQ_test.Id, up) + return err +} + +func (m *Mongo) DeleteRavenIQTest(ctx *gin.Context, id int64) error { + col := m.getColRavenIQTest() + update := qmgo.M{ + "$set": qmgo.M{ + "del_flag": 1, + }, + } + err := col.UpdateId(ctx, id, update) + return err +} + +func (m *Mongo) GetRavenIQTestList(ctx *gin.Context, req *Raven_IQ_testproto.OpListReq) ([]*dbstruct.RavenIQTest, error) { + list := make([]*dbstruct.RavenIQTest, 0) + col := m.getColRavenIQTest() + query := qmgo.M{ + "del_flag": 0, + } + err := col.Find(ctx, query).Sort("-ct").Skip(int64(req.Offset)).Limit(int64(req.Limit)).All(&list) + if err == qmgo.ErrNoSuchDocuments { + err = nil + return list, err + } + return list, err +} + +func (m *Mongo) GetRavenIQTestById(ctx *gin.Context, id int64) (*dbstruct.RavenIQTest, error) { + test := &dbstruct.RavenIQTest{} + col := m.getColRavenIQTest() + query := qmgo.M{ + "_id": id, + "del_flag": 0, + } + err := col.Find(ctx, query).One(test) + if err == qmgo.ErrNoSuchDocuments { + err = nil + return test, err + } + return test, err +} diff --git a/app/mix/dao/mongo_idseq.go b/app/mix/dao/mongo_idseq.go index ab01dc16..eeee723d 100644 --- a/app/mix/dao/mongo_idseq.go +++ b/app/mix/dao/mongo_idseq.go @@ -62,6 +62,9 @@ const ( COLImageAuditRTI = "image_audit_rti" COLTextAuditRTI = "text_audit_rti" COLVideoModerationRTI = "video_moderation_rti" + + DBRavenIQTestIdSeq = "Raven_IQ_test_id_seq" + COLRavenIQTestIdSeq = "Raven_IQ_test_id_seq" ) // UserIdSeq序列表 @@ -159,6 +162,11 @@ func (m *Mongo) getColVideoModerationRTI() *qmgo.Collection { return m.clientMix.Database(DBContentAuditRTI).Collection(COLVideoModerationRTI) } +// AccountIdSeq序列表 +func (m *Mongo) getColRavenIQTestIdSeq() *qmgo.Collection { + return m.clientMix.Database(DBRavenIQTestIdSeq).Collection(COLRavenIQTestIdSeq) +} + // account_id发号器 func (m *Mongo) GetAndUpdateAccountIdSeq(ctx *gin.Context) (accountIdSeq *dbstruct.AccountIdSeq, err error) { col := m.getColAccountIdSeq() @@ -569,3 +577,22 @@ func (m *Mongo) GetVideoModerationBatchId(ctx *gin.Context) (videoModerationBatc return } + +// Raven_IQ_test_id发号器 +func (m *Mongo) GetAndUpdateRavenIQTestIdSeq(ctx *gin.Context) (Raven_IQ_testIdSeq *dbstruct.RavenIQTestIdSeq, err error) { + col := m.getColRavenIQTestIdSeq() + + change := qmgo.Change{ + Update: qmgo.M{"$inc": qmgo.M{"seq": 1}}, + Upsert: true, + ReturnNew: false, + } + + instance := dbstruct.RavenIQTestIdSeq{} + if err = col.Find(ctx, qmgo.M{"_id": "Raven_IQ_test_id_seq_id"}).Apply(change, &instance); err != nil { + logger.Error("change error : %v", err) + return + } + + return &instance, err +} diff --git a/app/mix/service/apiservice.go b/app/mix/service/apiservice.go index 2bff4b54..96709e1e 100644 --- a/app/mix/service/apiservice.go +++ b/app/mix/service/apiservice.go @@ -49,6 +49,8 @@ import ( "strings" "time" + Raven_IQ_testproto "service/api/proto/Raven_IQ_test/proto" + "go.mongodb.org/mongo-driver/mongo" goproto "google.golang.org/protobuf/proto" @@ -3585,3 +3587,42 @@ func (s *Service) ApiHvyogoWorkerUpdate(ctx *gin.Context, req *hvyogoproto.ApiWo return } + +// RavenIQTest +func (s *Service) ApiCreateRavenIQTest(ctx *gin.Context, req *Raven_IQ_testproto.ApiCreateReq) (ec errcode.ErrCode) { + ec = errcode.ErrCodeRavenIQTestSrvOk + err := _DefaultRavenIQTest.OpCreate(ctx, &Raven_IQ_testproto.OpCreateReq{ + BaseRequest: req.BaseRequest, + RavenIQTest: req.RavenIQTest, + }) + if err != nil { + logger.Error("ApiCreate fail, req: %v, err: %v", util.ToJson(req), err) + ec = errcode.ErrCodeRavenIQTestSrvFail + return + } + return +} + +func (s *Service) ApiGetRavenIQTestList(ctx *gin.Context, req *Raven_IQ_testproto.ApiListReq) (vo *Raven_IQ_testproto.ApiListVO, ec errcode.ErrCode) { + ec = errcode.ErrCodeRavenIQTestSrvOk + + vo = &Raven_IQ_testproto.ApiListVO{} + + test, err := _DefaultRavenIQTest.GetById(ctx, util.DerefInt64(req.Id)) + if err != nil { + logger.Error("ApiGetRavenIQTest fail, req: %v, err: %v", util.ToJson(req), err) + ec = errcode.ErrCodeRavenIQTestSrvFail + return + } + if test == nil { + logger.Error("No RavenIQTest entity was found, req: %v", util.ToJson(req)) + ec = errcode.ErrCodeRavenIQTestNotExist + return + } + + vo.CopyRavenIQTest(test) + + // 填充业务数据 + + return +} diff --git a/app/mix/service/logic/RavenIQTest.go b/app/mix/service/logic/RavenIQTest.go new file mode 100644 index 00000000..b807ec52 --- /dev/null +++ b/app/mix/service/logic/RavenIQTest.go @@ -0,0 +1,81 @@ +package logic + +import ( + "service/api/consts" + Raven_IQ_testproto "service/api/proto/Raven_IQ_test/proto" + "service/app/mix/dao" + "service/dbstruct" + "service/library/logger" + "time" + + "github.com/gin-gonic/gin" + goproto "google.golang.org/protobuf/proto" +) + +type RavenIQTest struct { + store *dao.Store +} + +func NewRavenIQTest(store *dao.Store) (a *RavenIQTest) { + a = &RavenIQTest{ + store: store, + } + return +} + +func (p *RavenIQTest) OpCreate(ctx *gin.Context, req *Raven_IQ_testproto.OpCreateReq) error { + + //产生mid + idSeq, err := p.store.GetAndUpdateRavenIQTestIdSeq(ctx) + if err != nil { + logger.Error("GetAndUpdateRavenIQTestIdSeq failed : %v", err) + return err + } + + req.RavenIQTest.Id = goproto.Int64(idSeq.Seq) + req.RavenIQTest.Ct = goproto.Int64(time.Now().Unix()) + req.RavenIQTest.Ut = goproto.Int64(time.Now().Unix()) + req.RavenIQTest.DelFlag = goproto.Int64(consts.Exist) + err = p.store.CreateRavenIQTest(ctx, req.RavenIQTest) + if err != nil { + logger.Error("CreateRavenIQTest fail, err: %v", err) + return err + } + return nil +} + +func (p *RavenIQTest) OpUpdate(ctx *gin.Context, req *Raven_IQ_testproto.OpUpdateReq) error { + err := p.store.UpdateRavenIQTest(ctx, req.RavenIQTest) + if err != nil { + logger.Error("UpdateRavenIQTest fail, err: %v", err) + return err + } + return nil +} + +func (p *RavenIQTest) OpDelete(ctx *gin.Context, id int64) error { + err := p.store.DeleteRavenIQTest(ctx, id) + if err != nil { + logger.Error("DeleteRavenIQTest fail, err: %v", err) + return err + } + return nil +} + +func (p *RavenIQTest) OpList(ctx *gin.Context, req *Raven_IQ_testproto.OpListReq) ([]*dbstruct.RavenIQTest, error) { + list, err := p.store.GetRavenIQTestList(ctx, req) + if err != nil { + logger.Error("GetRavenIQTestList fail, err: %v", err) + return make([]*dbstruct.RavenIQTest, 0), err + } + return list, nil +} + +func (p *RavenIQTest) GetById(ctx *gin.Context, id int64) (*dbstruct.RavenIQTest, error) { + test, err := p.store.GetRavenIQTestById(ctx, id) + if err != nil { + logger.Error("GetRavenIQTestListByIds fail, id: %v, err: %v", id, err) + return nil, err + } + return test, nil +} diff --git a/app/mix/service/service.go b/app/mix/service/service.go index 170a40cb..706ab7a7 100644 --- a/app/mix/service/service.go +++ b/app/mix/service/service.go @@ -140,6 +140,7 @@ var ( _DefaultStreamerScore *logic.StreamerScore _DefaultWorkerId *logic.WorkerId _DefaultSingleDistributeHis *logic.SingleDistributeHis + _DefaultRavenIQTest *logic.RavenIQTest ) type Service struct { @@ -235,6 +236,7 @@ func (s *Service) Init(c any) (err error) { _DefaultStreamerScore = logic.NewStreamerScore(store) _DefaultWorkerId = logic.NewWorkerId(store) _DefaultSingleDistributeHis = logic.NewSingleDistributeHis(store) + _DefaultRavenIQTest = logic.NewRavenIQTest(store) _DefaultVas = logic.NewVas(store, _DefaultStreamer, _DefaultAccount, _DefaultZone, _DefaultZoneThirdPartner, _DefaultZoneCollaborator) _DefaultStreamerAcct = logic.NewStreamerAcct(store) diff --git a/codecreate/codecreate.go b/codecreate/codecreate.go index 645bf5ac..723a640e 100644 --- a/codecreate/codecreate.go +++ b/codecreate/codecreate.go @@ -9,10 +9,10 @@ import ( func main() { genSource := &generator.GenSource{ - EntityName: "SingleDistributeHis", - ModuleName: "single_distribute_his", - EntityCNName: "慧用工下发打款历史表", - ErrCodeSeq: "42", + EntityName: "RavenIQTest", + ModuleName: "Raven_IQ_test", + EntityCNName: "瑞文智商测试表", + ErrCodeSeq: "101", } generator.CreateFileDirectory(genSource) diff --git a/codecreate/resource/EntityDefine.xlsx b/codecreate/resource/EntityDefine.xlsx index d65c315b957abc52bc332ce4834123c5a9c3ab4c..45cf4458dbc3c7f54e5113ebd80f54ade2f49378 100644 GIT binary patch delta 10052 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 delta 9016 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 diff --git a/dbstruct/RavenIQTest.go b/dbstruct/RavenIQTest.go new file mode 100644 index 00000000..5f42b80a --- /dev/null +++ b/dbstruct/RavenIQTest.go @@ -0,0 +1,73 @@ +package dbstruct + +type RavenIQTest struct { + Id *int64 `json:"id" bson:"_id"` // 瑞文智商测试表id + UserId *int64 `json:"user_id" bson:"user_id"` // 用户id + Age *int64 `json:"age" bson:"age"` // 年龄 + TotalScores *int64 `json:"total_scores" bson:"total_scores"` // 总得分 + IQ *float64 `json:"IQ" bson:"IQ"` // 智商值 + AnswerList []*RavenIQTestAnswer `json:"answer_list" bson:"answer_list"` // 答案list + ClassScoreList []*RavenIQTestClassScore `json:"class_score_list" bson:"class_score_list"` // 大类得分list + Ct *int64 `json:"ct" bson:"ct"` // 创建时间 + Ut *int64 `json:"ut" bson:"ut"` // 更新时间 + DelFlag *int64 `json:"del_flag" bson:"del_flag"` // 删除标记 +} + +type RavenIQTestAnswer struct { + QuestionId *int64 `json:"question_id" bson:"question_id"` // 问题Id + SelectedOption *int64 `json:"selected_option" bson:"selected_option"` // 选择的选项 +} + +type RavenIQTestClassScore struct { + ClassId *int64 `json:"class_id" bson:"class_id"` // 大类id + Score *int64 `json:"score" bson:"score"` // 得分 +} + +func (p *RavenIQTest) GetId() int64 { + if p == nil || p.Id == nil { + return -1 + } + return *p.Id +} + +func (p *RavenIQTest) GetUserId() int64 { + if p == nil || p.UserId == nil { + return -1 + } + return *p.UserId +} + +func (p *RavenIQTest) GetAge() int64 { + if p == nil || p.UserId == nil { + return 0 + } + return *p.Age +} + +func (p *RavenIQTest) GetTotalScores() int64 { + if p == nil || p.TotalScores == nil { + return 0 + } + return *p.TotalScores +} + +func (p *RavenIQTest) GetIQ() float64 { + if p == nil || p.IQ == nil { + return 0 + } + return *p.IQ +} + +func (p *RavenIQTestClassScore) GetClassId() int64 { + if p == nil || p.ClassId == nil { + return 0 + } + return *p.ClassId +} + +func (p *RavenIQTestClassScore) GetScore() int64 { + if p == nil || p.Score == nil { + return 0 + } + return *p.Score +} diff --git a/dbstruct/idSeq.go b/dbstruct/idSeq.go index 6be66020..9c650a25 100644 --- a/dbstruct/idSeq.go +++ b/dbstruct/idSeq.go @@ -80,3 +80,7 @@ type TextAuditBatchId struct { type VideoModerationBatchId struct { BatchId string `json:"batch_id" bson:"batch_id"` //视频审核批次号 } + +type RavenIQTestIdSeq struct { + Seq int64 //用户Id序列号 +}