address_service.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package service
  2. import (
  3. "ulink-admin/modules/system/dao"
  4. "ulink-admin/modules/system/models/model"
  5. "ulink-admin/modules/system/models/req"
  6. "ulink-admin/pkg/base"
  7. "xorm.io/xorm"
  8. )
  9. type AddressService struct {
  10. AddressDao *dao.AddressDao `inject:""`
  11. }
  12. // List 查询所有地址管理业务方法
  13. func (this AddressService) List(query *req.AddressQuery, list interface{}) {
  14. this.AddressDao.List(query, list)
  15. }
  16. // Page 查询地址管理分页列表
  17. func (this AddressService) Page(query *req.AddressQuery, list interface{}) int64 {
  18. return this.AddressDao.Page(query, list)
  19. }
  20. // Insert 添加地址管理
  21. func (this AddressService) Insert(address *model.Address) {
  22. base.Transaction(func(session *xorm.Session) {
  23. if address.IsDefault == 1 {
  24. session.Where("member_id=?", address.MemberId).Update(&model.Address{IsDefault: 2})
  25. }
  26. this.AddressDao.Insert(address)
  27. })
  28. }
  29. // Get 查询
  30. func (this AddressService) Get(id int64) *model.Address {
  31. return this.AddressDao.GetById(id, &model.Address{}).(*model.Address)
  32. }
  33. // Delete 批量删除
  34. func (this AddressService) Delete(list []int64) {
  35. this.AddressDao.Delete(&model.Address{}, list)
  36. }
  37. // Edit 修改
  38. func (this AddressService) Edit(address *model.Address, cols []string) {
  39. base.Transaction(func(session *xorm.Session) {
  40. if address.IsDefault == 1 {
  41. session.Where("member_id=?", address.MemberId).Update(&model.Address{IsDefault: 2})
  42. }
  43. this.AddressDao.Update(address, cols...)
  44. })
  45. }