86 lines
2.5 KiB
Go
86 lines
2.5 KiB
Go
package example
|
|
|
|
import (
|
|
"miniapp/global"
|
|
"miniapp/model/common/request"
|
|
"miniapp/model/example"
|
|
"miniapp/model/system"
|
|
systemService "miniapp/service/system"
|
|
)
|
|
|
|
type CustomerService struct{}
|
|
|
|
//@author: [piexlmax](https://github.com/piexlmax)
|
|
//@function: CreateExaCustomer
|
|
//@description: 创建客户
|
|
//@param: e model.ExaCustomer
|
|
//@return: err error
|
|
|
|
func (exa *CustomerService) CreateExaCustomer(e example.ExaCustomer) (err error) {
|
|
err = global.GVA_DB.Create(&e).Error
|
|
return err
|
|
}
|
|
|
|
//@author: [piexlmax](https://github.com/piexlmax)
|
|
//@function: DeleteFileChunk
|
|
//@description: 删除客户
|
|
//@param: e model.ExaCustomer
|
|
//@return: err error
|
|
|
|
func (exa *CustomerService) DeleteExaCustomer(e example.ExaCustomer) (err error) {
|
|
err = global.GVA_DB.Delete(&e).Error
|
|
return err
|
|
}
|
|
|
|
//@author: [piexlmax](https://github.com/piexlmax)
|
|
//@function: UpdateExaCustomer
|
|
//@description: 更新客户
|
|
//@param: e *model.ExaCustomer
|
|
//@return: err error
|
|
|
|
func (exa *CustomerService) UpdateExaCustomer(e *example.ExaCustomer) (err error) {
|
|
err = global.GVA_DB.Save(e).Error
|
|
return err
|
|
}
|
|
|
|
//@author: [piexlmax](https://github.com/piexlmax)
|
|
//@function: GetExaCustomer
|
|
//@description: 获取客户信息
|
|
//@param: id uint
|
|
//@return: customer model.ExaCustomer, err error
|
|
|
|
func (exa *CustomerService) GetExaCustomer(id uint) (customer example.ExaCustomer, err error) {
|
|
err = global.GVA_DB.Where("id = ?", id).First(&customer).Error
|
|
return
|
|
}
|
|
|
|
//@author: [piexlmax](https://github.com/piexlmax)
|
|
//@function: GetCustomerInfoList
|
|
//@description: 分页获取客户列表
|
|
//@param: sysUserAuthorityID string, info request.PageInfo
|
|
//@return: list interface{}, total int64, err error
|
|
|
|
func (exa *CustomerService) GetCustomerInfoList(sysUserAuthorityID uint, info request.PageInfo) (list interface{}, total int64, err error) {
|
|
limit := info.PageSize
|
|
offset := info.PageSize * (info.Page - 1)
|
|
db := global.GVA_DB.Model(&example.ExaCustomer{})
|
|
var a system.SysAuthority
|
|
a.AuthorityId = sysUserAuthorityID
|
|
auth, err := systemService.AuthorityServiceApp.GetAuthorityInfo(a)
|
|
if err != nil {
|
|
return
|
|
}
|
|
var dataId []uint
|
|
for _, v := range auth.DataAuthorityId {
|
|
dataId = append(dataId, v.AuthorityId)
|
|
}
|
|
var CustomerList []example.ExaCustomer
|
|
err = db.Where("sys_user_authority_id in ?", dataId).Count(&total).Error
|
|
if err != nil {
|
|
return CustomerList, total, err
|
|
} else {
|
|
err = db.Limit(limit).Offset(offset).Preload("SysUser").Where("sys_user_authority_id in ?", dataId).Find(&CustomerList).Error
|
|
}
|
|
return CustomerList, total, err
|
|
}
|