123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109 |
- // 模块模型操作接口-公司
- // 秒寻科技
- // zt 2024-02-01
- package companyapi
- import (
- "errors"
- "ipsomc/core/company/companymodel"
- "ipsomc/core/dao/mysql/mysqlapi"
- "ipsomc/core/dao/mysql/mysqlmodel"
- "ipsomc/module/project/projectapi"
- "strconv"
- )
- type CompanyApi struct {
- MySqlApi mysqlapi.MySqlApi
- ProjectApi projectapi.ProjectApi
- }
- // 查重
- func (obj *CompanyApi) CheckCompany(dataModel *companymodel.Company) error {
- var count uint
- //查重
- if err := obj.MySqlApi.GetDb().Model(dataModel).Where("name=?", dataModel.Name).Count(&count).Error; err != nil {
- return err
- }
- if count > 0 {
- return errors.New("该公司已注册")
- }
- return nil
- }
- // 新增基站基本参数
- func (obj *CompanyApi) AddCompany(dataModel *companymodel.Company) error {
- var count int = 0
- //查重
- if err := obj.MySqlApi.GetDb().Model(dataModel).Where("name=?", dataModel.Name).Count(&count).Error; err != nil {
- return err
- }
- if count > 0 {
- return errors.New("新增错误,该公司已经存在")
- }
- //保存数据
- if err := obj.MySqlApi.AddItem(dataModel); err != nil {
- return err
- }
- return nil
- }
- // 修改基站基本参数
- func (obj *CompanyApi) UpdateCompany(dataModel *companymodel.Company, dataMap map[string]interface{}) error {
- var count int = 0
- //查重
- if err := obj.MySqlApi.GetDb().Model(dataModel).Where("id<>? and name=?", dataModel.ID, dataModel.Name).Count(&count).Error; err != nil {
- return err
- }
- if count > 0 {
- return errors.New("修改错误,该公司已经存在")
- }
- //保存数据
- if err := obj.MySqlApi.UpdateItem(dataModel, dataMap); err != nil {
- return err
- }
- return nil
- }
- // 删除
- func (obj *CompanyApi) DeleteCompany(dataModel *companymodel.Company) error {
- //检查该公司是否存在项目,存在项目则不能删除
- count, err := obj.ProjectApi.GetCompanyProjectSum(dataModel.ID)
- if err != nil {
- return err
- }
- if count > 0 {
- return errors.New("该公司已创建 " + strconv.Itoa(count) + " 个项目,请先删除项目资料再删除公司资料")
- }
- //删除公司资料和管理员资源(包括系统管理员和项目管理员)
- if err := obj.MySqlApi.DeleteItem(dataModel); err != nil {
- return errors.New("删除记录失败")
- }
- return nil
- }
- // 查询一条公司记录
- func (obj *CompanyApi) GetCompanyById(dataModel *companymodel.Company) error {
- if err := obj.MySqlApi.GetItemByID(dataModel); err != nil {
- return err
- }
- return nil
- }
- // 分页查询记录
- func (obj *CompanyApi) GetCompanyPageList(dataModel *companymodel.Company, pageListParam *mysqlmodel.PageListParam, dataList interface{}) (mysqlmodel.PageListData, error) {
- pageListData, err := obj.MySqlApi.GetPageItemList(dataModel, pageListParam, dataList)
- if err != nil {
- return pageListData, err
- }
- return pageListData, nil
- }
|