business_dynamics.go 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package proj
  2. import (
  3. "context"
  4. "github.com/gogf/gf/errors/gerror"
  5. "github.com/gogf/gf/frame/g"
  6. "github.com/gogf/gf/util/gconv"
  7. projDao "dashoo.cn/micro/app/dao/proj"
  8. model "dashoo.cn/micro/app/model/proj"
  9. "dashoo.cn/micro/app/service"
  10. )
  11. type businessDynamicsService struct {
  12. *service.ContextService
  13. Dao *projDao.ProjBusinessDao
  14. }
  15. func NewBusinessDynamicsService(ctx context.Context) (svc *businessDynamicsService, err error) {
  16. svc = new(businessDynamicsService)
  17. if svc.ContextService, err = svc.Init(ctx); err != nil {
  18. return nil, err
  19. }
  20. svc.Dao = projDao.NewProjBusinessDao(svc.Tenant)
  21. return svc, nil
  22. }
  23. func (p *businessDynamicsService) GetList(req *model.ProjBusinessSearchReq) (total int, businessList []*model.ProjBusiness, err error) {
  24. db := p.Dao.M
  25. if req.NboName != "" {
  26. db = db.WhereLike(p.Dao.Columns.NboName, "%"+req.NboName+"%")
  27. }
  28. if req.CustName != "" {
  29. db = db.WhereLike(p.Dao.Columns.CustName, "%"+req.CustName+"%")
  30. }
  31. if req.SaleName != "" {
  32. db = db.WhereLike(p.Dao.Columns.SaleName, "%"+req.SaleName+"%")
  33. }
  34. if req.NboType != "" {
  35. db = db.Where(p.Dao.Columns.NboType, req.NboType)
  36. }
  37. total, err = db.Count()
  38. if err != nil {
  39. g.Log().Error(err)
  40. err = gerror.New("获取总行数失败")
  41. return
  42. }
  43. err = db.Page(req.GetPage()).Order("id desc").Scan(&businessList)
  44. return
  45. }
  46. func (p *businessDynamicsService) GetEntityById(id int64) (business *model.ProjBusiness, err error) {
  47. err = p.Dao.Where(projDao.ProjBusinessDynamics.Columns.Id, id).Scan(&business)
  48. return
  49. }
  50. func (p *businessDynamicsService) Create(req *model.AddProjBusinessReq) (err error) {
  51. businessData := new(model.ProjBusiness)
  52. if err = gconv.Struct(req, businessData); err != nil {
  53. return
  54. }
  55. service.SetCreatedInfo(businessData, p.GetCxtUserId(), p.GetCxtUserName())
  56. _, err = p.Dao.Insert(businessData)
  57. return
  58. }
  59. func (p *businessDynamicsService) UpdateById(req *model.UpdateProjBusinessReq) (err error) {
  60. db := p.Dao.M
  61. record, err := db.Count("Id", req.Id)
  62. if err != nil || record == 0 {
  63. err = gerror.New("该数据不存在")
  64. return err
  65. }
  66. businessData := new(model.ProjBusiness)
  67. if err = gconv.Struct(req, businessData); err != nil {
  68. return
  69. }
  70. service.SetUpdatedInfo(businessData, p.GetCxtUserId(), p.GetCxtUserName())
  71. _, err = db.FieldsEx(service.UpdateFieldEx).WherePri(projDao.ProjBusinessDynamics.Columns.Id, req.Id).Update(businessData)
  72. return
  73. }
  74. func (p *businessDynamicsService) DeleteByIds(ids []int64) (err error) {
  75. _, err = p.Dao.WhereIn(projDao.ProjBusinessDynamics.Columns.Id, ids).Delete()
  76. return
  77. }