1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package controller
- import (
- "app.yhyue.com/moapp/jybase/common"
- "context"
- "github.com/gogf/gf/v2/frame/g"
- v1 "personnelBehavior/api/hello/v1"
- "personnelBehavior/internal/model"
- "personnelBehavior/internal/service"
- "personnelBehavior/internal/utils"
- "time"
- )
- var (
- Contract = contract{}
- )
- type contract struct{}
- func (c *contract) Insert(ctx context.Context, req *v1.ContractInsertReq) (res *utils.ResponseRes, err error) {
- //参数判断
- if utils.ExistsSpecialLetters(req.PageName) {
- g.RequestFromCtx(ctx).Response.WriteJson(utils.Err.WithMsg("Cannot contain special characters"))
- return nil, err
- }
- if g.IsEmpty(req.ChainName) {
- g.RequestFromCtx(ctx).Response.WriteJson(utils.Err.WithMsg("Public chain name is empty"))
- return nil, err
- }
- //判断表是否存在
- err = service.Contract().IsExists(ctx, req.ChainName)
- if err != nil {
- //新建表
- err = service.Contract().CreateTable(ctx, req.ChainName)
- if err != nil {
- //新建表 失败
- g.RequestFromCtx(ctx).Response.WriteJson(utils.Err.WithMsg("Create table failed"))
- return nil, err
- }
- }
- var in model.ContractInsertInput
- in.ActionId = req.ActionId
- in.ActionType = req.ActionType
- in.BreakerId = req.BreakerId
- in.BreakerName = req.BreakerName
- in.OrderId = req.OrderId
- in.OrderTime = req.OrderTime
- in.PayTime = req.PayTime
- in.PayWay = req.PayWay
- in.Price = req.Price
- in.Product = req.Product
- in.PageId = req.PageId
- in.PageName = req.PageName
- in.Desc = req.Desc
- in.Source = req.Source
- session := model.UserSessionCtx.Get(ctx).JySession
- if session.MgoUserId != "" {
- in.UserId = session.UserId
- in.PositionId = session.PositionId
- in.Phone = session.Phone
- }
- in.Date = time.Now().Unix()
- //浏览器信息
- r := g.RequestFromCtx(ctx).Request
- in.Ip = common.GetIp(r)
- in.Url = r.Referer()
- userAgent := utils.GetUserAgentInfo(r)
- in.Browser = userAgent.BrowserName
- in.BrowserVersion = userAgent.BrowserVersion
- in.Os = userAgent.OsName
- in.OsVersion = userAgent.OsVersion
- in.Platform = userAgent.Platform
- in.UserAgent = r.UserAgent()
- err = service.Contract().InsertRecords(ctx, in, req.ChainName)
- if err != nil {
- utils.OK.WithMsg(err.Error())
- }
- g.RequestFromCtx(ctx).Response.WriteJson(utils.OK)
- return
- }
|