package equity_info import ( "context" "demo/api/equity_info/v1" "demo/internal/dao" "demo/internal/model/do" "demo/utility" "github.com/gogf/gf/v2/frame/g" "github.com/gogf/gf/v2/os/gtime" ) func (c *ControllerV1) Create(ctx context.Context, req *v1.CreateReq) (res *v1.CreateRes, err error) { saveData := []do.EquityInfo{} if req.File != nil { slice, err := utility.GetFileSlice(req.File) if err != nil { g.Log().Error(ctx, err) return nil, err } if len(slice) > 0 && len(slice[0]) > 1 { for i := 0; i < len(slice[0]); i++ { if len(slice[0][i]) != 4 { continue } saveData = append(saveData, do.EquityInfo{ ActiveId: req.ActiveId, PrizeId: req.PrizeId, SerialNum: slice[0][i][0], Name: slice[0][i][1], Code: slice[0][i][2], ExEndTime: gtime.ParseTimeFromContent(slice[0][i][3]), CreateTime: gtime.Now(), }) } } } if len(req.EquityInfoList) != 0 { for i := 0; i < len(req.EquityInfoList); i++ { saveData = append(saveData, do.EquityInfo{ ActiveId: req.ActiveId, PrizeId: req.PrizeId, SerialNum: req.EquityInfoList[i].SerialNum, Name: req.EquityInfoList[i].Name, Code: req.EquityInfoList[i].Code, ExEndTime: req.EquityInfoList[i].ExEndTime, CreateTime: gtime.Now(), }) } } _, err = dao.EquityInfo.Ctx(ctx).Data(saveData).Insert() if err != nil { g.Log().Error(ctx, err) return nil, err } return nil, err }