package cust import ( "context" "dashoo.cn/common_definition/comm_def" "dashoo.cn/opms_libary/myerrors" "github.com/gogf/gf/frame/g" "github.com/gogf/gf/util/gvalid" model "dashoo.cn/micro/app/model/cust" server "dashoo.cn/micro/app/service/cust" ) type CustomerHeader struct{} var isPublic, noPublic = "10", "20" // 公海,非公海 var noCustomer = true // 区分公海列表 和 客户列表 true 公海 //GetList 客户列表 func (c *CustomerHeader) GetList(ctx context.Context, req *model.CustCustomerSearchReq, rsp *comm_def.CommonMsg) error { customerServer, err := server.NewCustomerService(ctx) if err != nil { return err } total, list, err := customerServer.GetList(req) _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err) if err != nil { return err } rsp.Data = g.Map{"list": list, "total": total} return nil } //PublicGetList 公海列表 func (c *CustomerHeader) PublicGetList(ctx context.Context, req *model.CustCustomerSearchReq, rsp *comm_def.CommonMsg) error { customerServer, err := server.NewCustomerService(ctx) if err != nil { return err } req.IsPublic = noCustomer total, list, err := customerServer.GetList(req) _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err) if err != nil { return err } rsp.Data = g.Map{"list": list, "total": total} return nil } //Create 创建客户 func (c *CustomerHeader) Create(ctx context.Context, req *model.CustomerAddSeq, rsp *comm_def.CommonMsg) error { if err := gvalid.CheckStruct(ctx, req, nil); err != nil { return err } s, err := server.NewCustomerService(ctx) if err != nil { return err } id, err := s.Create(req) _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err) if err != nil { return err } s.CreateDynamics("创建客户", req, id) rsp.Data = g.Map{"lastId": id} return nil } //UpdateById 修改客户 func (c *CustomerHeader) UpdateById(ctx context.Context, req *model.UpdateCustomer, rsp *comm_def.CommonMsg) error { s, err := server.NewCustomerService(ctx) if err != nil { return err } err = s.UpdateById(req) _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err) if err != nil { return err } s.CreateDynamics("编辑客户", req, req.Id) return nil } //GetEntityById 客户详情 func (c *CustomerHeader) GetEntityById(ctx context.Context, req *comm_def.IdsReq, rsp *comm_def.CommonMsg) error { if len(req.Ids) == 0 { return myerrors.NewMsgError(nil, "参数有误") } customerServer, err := server.NewCustomerService(ctx) if err != nil { return err } list, err := customerServer.GetEntityById(req.Ids) _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err) if err != nil { return err } rsp.Data = g.Map{"list": list} return nil } //DeleteById 删除客户 func (c *CustomerHeader) DeleteById(ctx context.Context, req *model.DelCustomer, rsp *comm_def.CommonMsg) error { if len(req.Ids) == 0 { return myerrors.NewMsgError(nil, "参数有误") } s, err := server.NewCustomerService(ctx) if err != nil { return err } err = s.DeleteByIds(req.Ids) _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err) if err != nil { return err } //删除客户 s.CreateDynamics("删除客户", req, req.Ids...) return nil } //GetCustNameIsExist 判断客户名称是否存在 bool func (c *CustomerHeader) GetCustNameIsExist(ctx context.Context, req *model.IsExistsCustName, rsp *comm_def.CommonMsg) error { if err := gvalid.CheckStruct(ctx, req, nil); err != nil { return err } customerServer, err := server.NewCustomerService(ctx) if err != nil { return err } exist, err := customerServer.GetCustNameIsExist(req) _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err) if err != nil { return err } rsp.Data = g.Map{"list": exist} return nil } //TransCustomer 转移客户 func (c *CustomerHeader) TransCustomer(ctx context.Context, req *model.AssignCustomerReq, rsp *comm_def.CommonMsg) error { if len(req.Ids) == 0 || req.SalesId == 0 { return myerrors.NewMsgError(nil, "参数有误") } s, err := server.NewCustomerService(ctx) if err != nil { return err } err = s.TransCustomer(req) _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err) if err != nil { return err } //转移客户 s.CreateDynamics("转移客户", req, req.Ids...) return nil } //AssignCustomer 分配,领取客户 func (c *CustomerHeader) AssignCustomer(ctx context.Context, req *model.AssignCustomerReq, rsp *comm_def.CommonMsg) error { if len(req.Ids) == 0 || req.SalesId == 0 { return myerrors.NewMsgError(nil, "参数有误") } s, err := server.NewCustomerService(ctx) if err != nil { return err } var behavior string if req.Receive == "" { behavior = "分配客户" } else { behavior = "领取" } err = s.AssignCustomer(req) _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err) if err != nil { return err } s.CreateDynamics(behavior, req, req.Ids...) return nil } //MoveToPubic 移入公海 func (c *CustomerHeader) MoveToPubic(ctx context.Context, req *model.MoveToPubicRep, rsp *comm_def.CommonMsg) error { if len(req.Ids) == 0 { return myerrors.NewMsgError(nil, "参数有误") } s, err := server.NewCustomerService(ctx) if err != nil { return err } err = s.MoveToPubic(req.Ids) _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err) if err != nil { return err } if req.Remark == "" { req.Remark = "" } s.CreateDynamics("移入公海", req, req.Ids...) return nil } //GetDynamicsList 客户动态 func (c *CustomerHeader) GetDynamicsList(ctx context.Context, req *model.CustomerDynameicsReq, rsp *comm_def.CommonMsg) error { customerServer, err := server.NewCustomerService(ctx) if err != nil { return err } total, list, err := customerServer.GetDynamicsList(req) _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err) if err != nil { return err } rsp.Data = g.Map{"list": list, "total": total} return nil } //MergeCustomer 合并客户 func (c *CustomerHeader) MergeCustomer(ctx context.Context, req *model.MergeCustomerRep, rsp *comm_def.CommonMsg) error { if err := gvalid.CheckStruct(ctx, req, nil); err != nil { return err } s, err := server.NewCustomerService(ctx) if err != nil { return err } err = s.MergeCustomer(req) _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err) if err != nil { return err } s.CreateDynamics("合并客户", req, req.Id) return nil } //GetCustAbstract 客户摘要 func (c *CustomerHeader) GetCustAbstract(ctx context.Context, req *comm_def.IdReq, rsp *comm_def.CommonMsg) error { if req.Id == 0 { return myerrors.NewMsgError(nil, "参数有误") } customerServer, err := server.NewCustomerService(ctx) if err != nil { return err } list, err := customerServer.CustAbstract(req.Id) _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err) if err != nil { return err } rsp.Data = g.Map{"list": list} return nil } //Export 导出 func (c *CustomerHeader) Export(ctx context.Context, req *model.CustCustomerExport, rsp *comm_def.CommonMsg) error { customerServer, err := server.NewCustomerService(ctx) if err != nil { return err } //Export buffer, err := customerServer.Export(req) _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err) if err != nil { return err } rsp.Data = g.Map{"list": buffer} return nil }