package service import ( "ulink-admin/modules/system/dao" "ulink-admin/modules/system/models/model" "ulink-admin/modules/system/models/req" "ulink-admin/pkg/base" "xorm.io/xorm" ) type AddressService struct { AddressDao *dao.AddressDao `inject:""` } // List 查询所有地址管理业务方法 func (this AddressService) List(query *req.AddressQuery, list interface{}) { this.AddressDao.List(query, list) } // Page 查询地址管理分页列表 func (this AddressService) Page(query *req.AddressQuery, list interface{}) int64 { return this.AddressDao.Page(query, list) } // Insert 添加地址管理 func (this AddressService) Insert(address *model.Address) { base.Transaction(func(session *xorm.Session) { if address.IsDefault == 1 { session.Where("member_id=?", address.MemberId).Update(&model.Address{IsDefault: 2}) } this.AddressDao.Insert(address) }) } // Get 查询 func (this AddressService) Get(id int64) *model.Address { return this.AddressDao.GetById(id, &model.Address{}).(*model.Address) } // Delete 批量删除 func (this AddressService) Delete(list []int64) { this.AddressDao.Delete(&model.Address{}, list) } // Edit 修改 func (this AddressService) Edit(address *model.Address, cols []string) { base.Transaction(func(session *xorm.Session) { if address.IsDefault == 1 { session.Where("member_id=?", address.MemberId).Update(&model.Address{IsDefault: 2}) } this.AddressDao.Update(address, cols...) }) }