package cust import ( "context" "dashoo.cn/opms_libary/myerrors" "github.com/gogf/gf/frame/g" "github.com/gogf/gf/util/gconv" "dashoo.cn/micro/app/dao/cust" model "dashoo.cn/micro/app/model/cust" "dashoo.cn/micro/app/service" //serviceLog "dashoo.cn/micro/app/service/cust" ) type CustomercontactService struct { *service.ContextService Dao *cust.CustCustomerContactDao } func NewCustomerContactService(ctx context.Context) (svc *CustomercontactService, err error) { svc = new(CustomercontactService) if svc.ContextService, err = svc.Init(ctx); err != nil { return nil, err } svc.Dao = cust.NewCustCustomerContactDao(svc.Tenant) return svc, nil } // Create 添加联系人 func (s *CustomercontactService) Create(req *model.CustCustomerContactSeq) (err error) { contact := new(model.CustCustomerContact) if err = gconv.Struct(req, contact); err != nil { err = myerrors.TipsError("添加联系人 验证失败") return } service.SetCreatedInfo(contact, s.GetCxtUserId(), s.GetCxtUserName()) _, err = s.Dao.Insert(contact) if err != nil { g.Log().Error(err) return } return } // 修改联系人 func (s *CustomercontactService) UpdateById(req *model.UpdateCustCustomerContactSeq) (err error) { count, err := s.Dao.Count(req.Id) if err != nil { g.Log().Error(err) return } if count == 0 { err = myerrors.TipsError("修改联系人信息不存在") return } CustomertData := new(model.CustCustomerContact) if err = gconv.Struct(req, CustomertData); err != nil { g.Log().Error(err) return } service.SetUpdatedInfo(CustomertData, s.GetCxtUserId(), s.GetCxtUserName()) _, err = s.Dao.FieldsEx(s.Dao.C.CreatedTime, s.Dao.C.CreatedBy, s.Dao.C.CreatedName, s.Dao.C.CustId, s.Dao.C.Id). WherePri(s.Dao.C.Id, req.Id).Update(CustomertData) if err != nil { g.Log().Error(err) return } return } // 获取联系人信息 func (s *CustomercontactService) GetList(req *model.ContactSeq) (total int, list []*model.CustCustomerContactInfo, err error) { contactDao := s.Dao.M.Where("cust_id = ", req.CustId) if req.IsDecision != "" { contactDao = contactDao.Where("is_decision", req.IsDecision) } if req.CuctName != "" { contactDao = contactDao.Where("cuct_name "+" like ?", "%"+req.CuctName+"%") } total, err = contactDao.Count() if err != nil { g.Log().Error(err) err = myerrors.TipsError("获取总行数失败。") return } err = contactDao.Page(req.GetPage()).Order(" id desc ").Scan(&list) if err != nil { g.Log().Error(err) return } return } // 删除联系人 func (s *CustomercontactService) DeleteById(Ids []int64) (err error) { result, err := s.Dao.Where(" id in (?) ", Ids).Count() if err != nil { return err } if result == 0 { return myerrors.TipsError("联系人不存在") } // 删除客户联系人表 _, err = s.Dao.Where("id in (?) ", Ids).Delete() if err != nil { g.Log().Error(err) return } return }