| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320 |
- package cust
- import (
- "context"
- "dashoo.cn/common_definition/comm_def"
- "dashoo.cn/opms_libary/myerrors"
- "github.com/gogf/gf/errors/gerror"
- "github.com/gogf/gf/frame/g"
- "github.com/gogf/gf/os/gtime"
- "github.com/gogf/gf/util/gconv"
- "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 公海
- const (
- Creates = "创建客户"
- UpdateBytransfer = "转移客户"
- DistriCustomer = "分配客户"
- DeleteById = "删除客户"
- MoveToPubic = "移入公海"
- Mergecustomer = "合并客户"
- UpdateById = "修改客户"
- Receive = "领取"
- )
- //公海列表
- func (c *CustomerHeader) PublicGetList(ctx context.Context, req *model.CustCustomerSearchReq, rsp *comm_def.CommonMsg) error {
- customerServer, err := server.NewCustomerService(ctx)
- if err != nil {
- g.Log().Error(err)
- return err
- }
- req.IsPublic = noCustomer
- g.Log().Info("publicGetlist", req)
- total, list, err := customerServer.GetList(req)
- _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
- if err != nil {
- g.Log().Error(err)
- return err
- }
- rsp.Data = g.Map{"list": list, "total": total}
- return nil
- }
- //客户列表
- func (c *CustomerHeader) GetList(ctx context.Context, req *model.CustCustomerSearchReq, rsp *comm_def.CommonMsg) error {
- customerServer, err := server.NewCustomerService(ctx)
- if err != nil {
- g.Log().Error(err)
- return err
- }
- total, list, err := customerServer.GetList(req)
- _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
- if err != nil {
- g.Log().Error(err)
- return err
- }
- rsp.Data = g.Map{"list": list, "total": total}
- return nil
- }
- //创建客户
- func (c *CustomerHeader) Create(ctx context.Context, req *model.Customer, rsp *comm_def.CommonMsg) error {
- g.Log().Info("客户名称", req.CustName)
- if err := gvalid.CheckStruct(ctx, req, nil); err != nil {
- return err
- }
- customerServer, err := server.NewCustomerService(ctx)
- if err != nil {
- g.Log().Error(err)
- return err
- }
- id, err := customerServer.Create(req)
- var Ids []int64
- Ids = append(Ids, gconv.Int64(id))
- _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
- if err != nil {
- g.Log().Error(err)
- return err
- }
- //创建客户
- c.WriteCustLog(ctx, Creates, Ids, req)
- rsp.Data = g.Map{"lastId": id}
- return nil
- }
- //客户详情
- func (c *CustomerHeader) GetEntityById(ctx context.Context, req *comm_def.IdsReq, rsp *comm_def.CommonMsg) error {
- if len(req.Ids) == 0 {
- return gerror.New("参数有误!")
- }
- customerServer, err := server.NewCustomerService(ctx)
- if err != nil {
- g.Log().Error(err)
- return gerror.New("系统异常,请重新尝试")
- }
- list, err := customerServer.GetEntityById(req.Ids)
- _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
- if err != nil {
- g.Log().Error(err)
- return err
- }
- rsp.Data = g.Map{"list": list}
- return nil
- }
- //转移客户
- func (c *CustomerHeader) UpdateBytransfer(ctx context.Context, req *model.CustSalesReq, rsp *comm_def.CommonMsg) error {
- if len(req.Ids) == 0 || req.SalesIds == 0 {
- return gerror.New("参数有误!")
- }
- customerServer, err := server.NewCustomerService(ctx)
- if err != nil {
- g.Log().Error(err)
- return gerror.New("系统异常,请重新尝试")
- }
- _, err = customerServer.UpdateBytransfer(req)
- var Ids []int64
- Ids = append(Ids, gconv.Int64(req.Ids))
- //转移客户
- c.WriteCustLog(ctx, UpdateBytransfer, Ids, req)
- _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
- if err != nil {
- g.Log().Error(err)
- return err
- }
- return nil
- }
- //分配客户
- func (c *CustomerHeader) DistriCustomer(ctx context.Context, req *model.DistriCustomer, rsp *comm_def.CommonMsg) error {
- if len(req.Ids) == 0 || req.SalesId == 0 {
- return gerror.New("参数有误!")
- }
- g.Log().Info("DistriCustomer", req.Ids)
- customerServer, err := server.NewCustomerService(ctx)
- if err != nil {
- g.Log().Error(err)
- return gerror.New("系统异常,请重新尝试")
- }
- err = customerServer.DistriCustomer(req)
- if req.Receive == "" {
- c.WriteCustLog(ctx, DistriCustomer, req.Ids, req)
- } else {
- c.WriteCustLog(ctx, Receive, req.Ids, req)
- }
- _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
- if err != nil {
- g.Log().Error(err)
- return err
- }
- return nil
- }
- //删除客户
- func (c *CustomerHeader) DeleteById(ctx context.Context, req *model.DelCustomer, rsp *comm_def.CommonMsg) error {
- if req.Id == 0 {
- return gerror.New("参数有误!")
- }
- customerServer, err := server.NewCustomerService(ctx)
- if err != nil {
- g.Log().Error(err)
- return gerror.New("系统异常,请重新尝试")
- }
- err = customerServer.DeleteById(req.Id)
- var Ids []int64
- Ids = append(Ids, gconv.Int64(req.Id))
- //删除客户
- c.WriteCustLog(ctx, DeleteById, Ids, req)
- _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
- if err != nil {
- g.Log().Error(err)
- return err
- }
- return nil
- }
- //移入公海
- func (c *CustomerHeader) MoveToPubic(ctx context.Context, req *model.MoveToPubicRep, rsp *comm_def.CommonMsg) error {
- if len(req.Ids) == 0 {
- return gerror.New("参数有误!")
- }
- customerServer, err := server.NewCustomerService(ctx)
- if err != nil {
- g.Log().Error(err)
- return gerror.New("系统异常,请重新尝试")
- }
- err = customerServer.MoveToPubic(req.Ids)
- if req.Remark == "" {
- req.Remark = ""
- }
- c.WriteCustLog(ctx, MoveToPubic, req.Ids, req)
- _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
- if err != nil {
- g.Log().Error(err)
- return err
- }
- return nil
- }
- //客户动态
- func (c *CustomerHeader) DynamicsList(ctx context.Context, req *model.CustomerDynameicsReq, rsp *comm_def.CommonMsg) error {
- customerServer, err := server.NewCustomerService(ctx)
- if err != nil {
- g.Log().Error(err)
- return err
- }
- total, list, err := customerServer.DynamicsList(req)
- _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
- if err != nil {
- g.Log().Error(err)
- return err
- }
- rsp.Data = g.Map{"list": list, "total": total}
- return nil
- }
- //合并客户
- func (c *CustomerHeader) Mergecustomer(ctx context.Context, req *model.MergecustomerRep, rsp *comm_def.CommonMsg) error {
- customerServer, err := server.NewCustomerService(ctx)
- if err != nil {
- g.Log().Error(err)
- return err
- }
- if err := gvalid.CheckStruct(ctx, req, nil); err != nil {
- return err
- }
- err = customerServer.Mergecustomer(req)
- var Ids []int64
- Ids = append(Ids, gconv.Int64(req.Id))
- _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
- if err != nil {
- g.Log().Error(err)
- return err
- }
- c.WriteCustLog(ctx, Mergecustomer, Ids, req)
- return nil
- }
- //修改客户
- func (c *CustomerHeader) UpdateById(ctx context.Context, req *model.UpdateCustomer, rsp *comm_def.CommonMsg) error {
- customerServer, err := server.NewCustomerService(ctx)
- if err != nil {
- g.Log().Error(err)
- return gerror.New("系统异常,请重新尝试")
- }
- err = customerServer.UpdateById(req)
- var Ids []int64
- Ids = append(Ids, gconv.Int64(req.Id))
- c.WriteCustLog(ctx, UpdateById, Ids, req)
- _, err, rsp.Code, rsp.Msg = myerrors.CheckError(err)
- if err != nil {
- g.Log().Error(err)
- return err
- }
- return nil
- }
- //客户摘要
- func (c *CustomerHeader) CustAbstract(ctx context.Context, req *comm_def.IdReq, rsp *comm_def.CommonMsg) error {
- if req.Id == 0 {
- return gerror.New("参数有误")
- }
- customerServer, err := server.NewCustomerService(ctx)
- if err != nil {
- g.Log().Error(err)
- return gerror.New("系统异常,请重新尝试")
- }
- list, err := customerServer.CustAbstract(req.Id)
- g.Log().Info("CustAbstract", list)
- rsp.Data = g.Map{"list": list}
- return nil
- }
- //操作日志
- func (c *CustomerHeader) WriteCustLog(ctx context.Context, custType string, custId []int64, req interface{}) {
- CustomerService, _ := server.NewCustomerService(ctx)
- custDynameics := new(model.AddCustomerDynameicsReq)
- custDynameics.OpnDate = gtime.Now()
- custDynameics.OpnType = custType
- custDynameics.OpnContent = req
- CustomerService.OperationLog(ctx, custId, custDynameics)
- }
- func (c *CustomerHeader) DeriveList(ctx context.Context, req *model.CustCustomerExport, rsp *comm_def.CommonMsg) error {
- //s := g.Server()
- customerServer, err := server.NewCustomerService(ctx)
- if err != nil {
- g.Log().Error(err)
- return gerror.New("系统异常,请重新尝试")
- }
- //g.Server()
- //r := new(ghttp.Request)
- buffer, _ := customerServer.Derive(req)
- //fileName := gconv.String(gtime.Now()) + ".csv"
- //r.Response.Header().Set("Content-Type", "text/csv")
- //r.Response.Header().Set("Content-Disposition", "attachment;filename="+fileName)
- //r.Response.Write(buffer.Bytes())
- rsp.Data = g.Map{"list": buffer}
- return nil
- }
|