equity_info_v1_create.go 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package equity_info
  2. import (
  3. "context"
  4. "demo/api/equity_info/v1"
  5. "demo/internal/dao"
  6. "demo/internal/model/do"
  7. "demo/utility"
  8. "github.com/gogf/gf/v2/frame/g"
  9. "github.com/gogf/gf/v2/os/gtime"
  10. )
  11. func (c *ControllerV1) Create(ctx context.Context, req *v1.CreateReq) (res *v1.CreateRes, err error) {
  12. saveData := []do.EquityInfo{}
  13. if req.File != nil {
  14. slice, err := utility.GetFileSlice(req.File)
  15. if err != nil {
  16. g.Log().Error(ctx, err)
  17. return nil, err
  18. }
  19. if len(slice) > 0 && len(slice[0]) > 1 {
  20. for i := 0; i < len(slice[0]); i++ {
  21. if len(slice[0][i]) != 4 {
  22. continue
  23. }
  24. saveData = append(saveData, do.EquityInfo{
  25. ActiveId: req.ActiveId,
  26. PrizeId: req.PrizeId,
  27. SerialNum: slice[0][i][0],
  28. Name: slice[0][i][1],
  29. Code: slice[0][i][2],
  30. ExEndTime: gtime.ParseTimeFromContent(slice[0][i][3]),
  31. CreateTime: gtime.Now(),
  32. })
  33. }
  34. }
  35. }
  36. if len(req.EquityInfoList) != 0 {
  37. for i := 0; i < len(req.EquityInfoList); i++ {
  38. saveData = append(saveData, do.EquityInfo{
  39. ActiveId: req.ActiveId,
  40. PrizeId: req.PrizeId,
  41. SerialNum: req.EquityInfoList[i].SerialNum,
  42. Name: req.EquityInfoList[i].Name,
  43. Code: req.EquityInfoList[i].Code,
  44. ExEndTime: req.EquityInfoList[i].ExEndTime,
  45. CreateTime: gtime.Now(),
  46. })
  47. }
  48. }
  49. _, err = dao.EquityInfo.Ctx(ctx).Data(saveData).Insert()
  50. if err != nil {
  51. g.Log().Error(ctx, err)
  52. return nil, err
  53. }
  54. return nil, err
  55. }