plat_questionnaire.go 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. package plat
  2. import (
  3. "context"
  4. "dashoo.cn/micro/app/dao/plat"
  5. model "dashoo.cn/micro/app/model/plat"
  6. "dashoo.cn/micro/app/service"
  7. "dashoo.cn/opms_libary/myerrors"
  8. "dashoo.cn/opms_libary/request"
  9. "github.com/gogf/gf/frame/g"
  10. "github.com/gogf/gf/os/gtime"
  11. "github.com/gogf/gf/util/gvalid"
  12. )
  13. type questionnaireService struct {
  14. *service.ContextService
  15. userInfo request.UserInfo
  16. Dao *plat.PlatQuestionnaireDao
  17. }
  18. func NewQuestionnaireService(ctx context.Context) (svc *questionnaireService, err error) {
  19. svc = new(questionnaireService)
  20. if svc.ContextService, err = svc.Init(ctx); err != nil {
  21. return nil, err
  22. }
  23. svc.Dao = plat.NewPlatQuestionnaireDao(svc.Tenant)
  24. return svc, nil
  25. }
  26. func (s questionnaireService) GetList(req *model.SearchPlatQuestionnaireReq) (total int, PlatQuestionnaireList []*model.PlatQuestionnaireEx, err error) {
  27. Model := s.Dao.Where("1=1")
  28. if req.UnitName != "" {
  29. Model = Model.Where("unit_name LIKE ?", "%"+req.UnitName+"%")
  30. }
  31. if req.ObjPosition != "" {
  32. Model = Model.Where("obj_position LIKE ?", "%"+req.ObjPosition+"%")
  33. //Model = Model.Where("obj_position=?", req.ObjPosition)
  34. }
  35. if req.ObjName != "" {
  36. Model = Model.Where("obj_name LIKE ?", "%"+req.ObjName+"%")
  37. }
  38. if req.ObjPhone != "" {
  39. Model = Model.Where("obj_phone LIKE ?", "%"+req.ObjPhone+"%")
  40. }
  41. if req.ObjWechat != "" {
  42. Model = Model.Where("obj_wechat LIKE ?", "%"+req.ObjWechat+"%")
  43. }
  44. if req.CsnMatters != "" {
  45. Model = Model.Where("csn_matters LIKE ?", "%"+req.CsnMatters+"%")
  46. }
  47. if req.QstStatus != "" {
  48. Model = Model.Where("qst_status = ?", req.QstStatus)
  49. }
  50. if req.FollowUp != "" {
  51. Model = Model.Where("follow_up LIKE ?", "%"+req.FollowUp+"%")
  52. }
  53. if req.Remark != "" {
  54. Model = Model.Where("remark LIKE ?", "%"+req.Remark+"%")
  55. }
  56. total, err = Model.Count()
  57. if err != nil {
  58. g.Log().Error(err)
  59. err = myerrors.DbError("获取总行数失败。")
  60. return
  61. }
  62. err = Model.Page(req.GetPage()).Order("created_time DESC").Scan(&PlatQuestionnaireList)
  63. return
  64. }
  65. func (s questionnaireService) Create(ctx context.Context, req *model.AddPlatQuestionnaire) error {
  66. validErr := gvalid.CheckStruct(ctx, req, nil)
  67. if validErr != nil {
  68. return myerrors.TipsError(validErr.Current().Error())
  69. }
  70. req.QstStatus = "10"
  71. req.CreatedBy = s.userInfo.Id
  72. req.CreatedName = s.userInfo.UserName
  73. req.CreatedTime = gtime.Now()
  74. res, err := s.Dao.Insert(req)
  75. if err != nil {
  76. return err
  77. }
  78. _, err = res.LastInsertId()
  79. return err
  80. }
  81. func (s questionnaireService) Update(ctx context.Context, req *model.AddPlatQuestionnaire) error {
  82. validErr := gvalid.CheckStruct(ctx, req, nil)
  83. if validErr != nil {
  84. return myerrors.TipsError(validErr.Current().Error())
  85. }
  86. if req.Id == 0 {
  87. return nil
  88. }
  89. req.UpdatedBy = s.userInfo.Id
  90. req.UpdatedName = s.userInfo.UserName
  91. req.UpdatedTime = gtime.Now()
  92. _, err := s.Dao.Data(req).Where("id=?", req.Id).Update()
  93. if err != nil {
  94. return err
  95. }
  96. return err
  97. }
  98. func (s questionnaireService) Delete(ctx context.Context, req *model.IdsReq) error {
  99. validErr := gvalid.CheckStruct(ctx, req, nil)
  100. if validErr != nil {
  101. return myerrors.TipsError(validErr.Current().Error())
  102. }
  103. if len(req.Id) == 0 {
  104. return nil
  105. }
  106. _, err := s.Dao.Data(g.Map{"deleted_time": gtime.Now()}).Where("id=?", req.Id).Update()
  107. if err != nil {
  108. return err
  109. }
  110. return err
  111. }
  112. func (s questionnaireService) GetEntityById(ctx context.Context, id int) (entity model.PlatQuestionnaireEx, err error) {
  113. if id == 0 {
  114. return entity, err
  115. }
  116. err = s.Dao.Where("Id = ?", id).Scan(&entity)
  117. if err != nil {
  118. return entity, err
  119. }
  120. return entity, err
  121. }