package contract import ( "context" "fmt" "strconv" model "dashoo.cn/micro/app/model/contract" service "dashoo.cn/micro/app/service/contract" "dashoo.cn/opms_libary/micro_srv" "dashoo.cn/opms_libary/multipart" "dashoo.cn/opms_libary/plugin/dingtalk" "dashoo.cn/common_definition/comm_def" "github.com/gogf/gf/frame/g" ) type CtrContract struct{} // Swagger:CtrContract 合同,测试tag 合同详情 func (c *CtrContract) Get(ctx context.Context, req *model.IdRequiredReq, rsp *comm_def.CommonMsg) error { g.Log().Infof("CtrContract.Get request %#v ", *req) s, err := service.NewCtrContractService(ctx) if err != nil { return err } ent, err := s.Get(ctx, req.Id) //_, err, code, msg := myerrors.CheckError(err) if err != nil { return err } //rsp.Code = code //rsp.Msg = msg //rsp.Data = ent rsp.Data = ent return nil } // Swagger:CtrContract 合同,测试tag 查询合同 func (c *CtrContract) List(ctx context.Context, req *model.CtrContractListReq, rsp *comm_def.CommonMsg) error { g.Log().Infof("CtrContract.List request %#v ", *req) s, err := service.NewCtrContractService(ctx) if err != nil { return err } total, ent, err := s.List(ctx, req) //_, err, code, msg := myerrors.CheckError(err) if err != nil { return err } if ent == nil { ent = []*model.CtrContractListRsp{} } //rsp.Code = code //rsp.Msg = msg //rsp.Data = map[string]interface{}{ // "total": total, // "list": ent, //} rsp.Data = g.Map{"list": ent, "total": total} return nil } // Swagger:CtrContract 合同,测试tag 查询合同动态列表 func (c *CtrContract) DynamicsList(ctx context.Context, req *model.CtrContractDynamicsListReq, rsp *comm_def.CommonMsg) error { g.Log().Infof("CtrContract.GetDynamicsList request %#v ", *req) s, err := service.NewCtrContractService(ctx) if err != nil { return err } total, ent, err := s.DynamicsList(ctx, req) //_, err, code, msg := myerrors.CheckError(err) if err != nil { return err } if ent == nil { ent = []*model.CtrContract{} } //rsp.Code = code //rsp.Msg = msg //rsp.Data = map[string]interface{}{ // "total": total, // "list": ent, //} rsp.Data = g.Map{"list": ent, "total": total} return nil } // Swagger:CtrContract 合同,测试tag 新增合同 func (c *CtrContract) Add(ctx context.Context, req *model.CtrContractAddReq, rsp *comm_def.CommonMsg) error { g.Log().Infof("CtrContract.Add request %#v ", *req) s, err := service.NewCtrContractService(ctx) if err != nil { return err } id, err := s.Add(ctx, req) //_, err, code, msg := myerrors.CheckError(err) if err != nil { return err } //rsp.Code = code //rsp.Msg = msg //rsp.Data = id rsp.Data = g.Map{"list": id} return nil } // Swagger:CtrContract 合同,测试tag 提交审核 func (c *CtrContract) Commit(ctx context.Context, req *model.CtrContractCommitReq, rsp *comm_def.CommonMsg) error { g.Log().Infof("CtrContract.Commit request %#v ", *req) s, err := service.NewCtrContractService(ctx) if err != nil { return err } err = s.Commit(ctx, req) if err != nil { return err } return nil } type CtrContractHandler struct{} var spaceId = "21042518430" func (h *CtrContractHandler) CommitWithFile(ctx context.Context, args *multipart.MultipartFile, rsp *comm_def.CommonMsg) error { g.Log().Infof("CtrContractHandler.CommitWithFile request %#v ", *args) // 获取用户信息 userInfo, err := micro_srv.GetUserInfo(ctx) if err != nil { return fmt.Errorf("获取用户信息异常:%s", err.Error()) } if userInfo.DingtalkUid == "" { return fmt.Errorf("该用户钉钉 uid 为空") } s, err := service.NewCtrContractService(ctx) if err != nil { return err } if args.FileName == "" { return fmt.Errorf("文件名称不能为空") } if args.File == nil { return fmt.Errorf("文件不能为空") } if args.File.Name() == "" { return fmt.Errorf("文件路径不能为空") } contractId, err := strconv.Atoi(args.Meta["contractId"]) if err != nil { return fmt.Errorf("合同 Id 不合法 %s", args.Meta["contractId"]) } fmt.Println(args.File.Name(), args.FileName, args.FileSize, args.Meta) fmt.Println(spaceId, userInfo.DingtalkId, args.FileName, args.File.Name()) // resp, err := s.UploadFile("21042518430", "8xljy04PZiS9iPxp5PhDnUzQiEiE", "引物导入模板-000000.xlsx", "/Users/chengjian/Downloads/引物导入模板.xlsx") resp, err := dingtalk.Client.GetStorage().UploadFile(spaceId, userInfo.DingtalkId, args.FileName, args.File.Name()) if err != nil { return fmt.Errorf("钉钉上传文件异常 %s", err.Error()) } err = s.Commit(ctx, &model.CtrContractCommitReq{ Id: contractId, ContractModel: args.Meta["contractModel"], Terms: args.Meta["terms"], PayTerms: args.Meta["payTerms"], File: []model.DingFileInfo{ { SpaceId: resp.Dentry.SpaceId, FileId: resp.Dentry.Id, FileName: resp.Dentry.Name, FileSize: resp.Dentry.Size, FileType: resp.Dentry.Extension, }, }, }) if err != nil { return err } return nil } // Swagger:CtrContract 合同,测试tag 更新合同 func (c *CtrContract) Update(ctx context.Context, req *model.CtrContractUpdateReq, rsp *comm_def.CommonMsg) error { g.Log().Infof("CtrContract.Update request %#v ", *req) s, err := service.NewCtrContractService(ctx) if err != nil { return err } err = s.Update(ctx, req) // _, err, code, msg := myerrors.CheckError(err) if err != nil { return err } //rsp.Code = code //rsp.Msg = msg return nil } // Swagger:CtrContract 合同,测试tag 转移合同 func (c *CtrContract) Transfer(ctx context.Context, req *model.CtrContractTransferReq, rsp *comm_def.CommonMsg) error { g.Log().Infof("CtrContract.Transfer request %#v ", *req) s, err := service.NewCtrContractService(ctx) if err != nil { return err } err = s.Transfer(ctx, req) //_, err, code, msg := myerrors.CheckError(err) if err != nil { return err } //rsp.Code = code //rsp.Msg = msg return nil } // 多行注释测试 // Swagger:CtrContract 合同,测试tag 删除合同 // 多行注释测试 func (c *CtrContract) Delete(ctx context.Context, req *model.IdsReq, rsp *comm_def.CommonMsg) error { g.Log().Infof("CtrContract.Delete request %#v ", *req) s, err := service.NewCtrContractService(ctx) if err != nil { return err } err = s.Delete(ctx, req.Id) //_, err, code, msg := myerrors.CheckError(err) if err != nil { return err } //rsp.Code = code //rsp.Msg = msg return nil }