borrowing.go 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package dao
  2. import (
  3. "github.com/shopspring/decimal"
  4. "server/dao/system"
  5. "server/global"
  6. )
  7. type Borrowing struct {
  8. global.GVA_MODEL
  9. Name string `json:"name" form:"name" gorm:"comment:支借名称"`
  10. Applicant string `json:"applicant" form:"applicant" gorm:"comment:申请人"`
  11. ApplicationTime string `json:"applicationTime" form:"applicationTime" gorm:"comment:申请日期"`
  12. Charge int `json:"charge" form:"charge" gorm:"comment:负责人"`
  13. User system.SysUser `json:"user" form:"user" gorm:"foreignKey:Charge;references:id;"`
  14. BorrowingPrice decimal.Decimal `json:"borrowingPrice" form:"borrowingPrice" gorm:"comment:支借金额;type:decimal(10,2)"`
  15. }
  16. func (Borrowing) TableName() string {
  17. return "borrowing"
  18. }
  19. // TODO:支借查询
  20. // QueryBorrowingList 查询支借列表
  21. func QueryBorrowingList(limit, offset int, name, time, yearTime string) (borrowing []Borrowing, total int64, err error) {
  22. // 创建db
  23. db := global.GVA_DB.Model(&Borrowing{})
  24. // 如果有条件搜索 下方会自动创建搜索语句
  25. if name != "" {
  26. db = db.Where("name LIKE ?", "%"+name+"%")
  27. }
  28. if time != "" {
  29. db = db.Where("DATE_FORMAT(application_time, '%Y-%m') = ?", time)
  30. }
  31. if yearTime != "" {
  32. db = db.Where("DATE_FORMAT(application_time, '%Y') = ?", yearTime)
  33. }
  34. err = db.Count(&total).Error
  35. if err != nil {
  36. return
  37. }
  38. err = db.Order("id desc").Limit(limit).Offset(offset).Preload("User").Find(&borrowing).Error
  39. return borrowing, total, err
  40. }
  41. // QueryBorrowing 查询支借
  42. func QueryBorrowing(id int) (borrowing Borrowing, err error) {
  43. err = global.GVA_DB.Model(&Borrowing{}).Where("id = ?", id).Preload("User").First(&borrowing).Error
  44. return borrowing, err
  45. }
  46. // TODO:支借新增
  47. // CreateBorrowing 新增支借
  48. func (b Borrowing) CreateBorrowing() error {
  49. return global.GVA_DB.Create(&b).Error
  50. }
  51. // TODO:支借修改
  52. // UpdateBorrowing 更新支借
  53. func (b Borrowing) UpdateBorrowing() error {
  54. return global.GVA_DB.Model(&b).Where("id = ?", b.ID).Updates(&b).Error
  55. }
  56. // TODO:支借删除
  57. // DeleteBorrowing 删除支借
  58. func (b Borrowing) DeleteBorrowing() error {
  59. return global.GVA_DB.Unscoped().Delete(&b).Error
  60. }