participaterecordslogic.go 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. package logic
  2. import (
  3. "app.yhyue.com/moapp/jybase/common"
  4. "context"
  5. "fmt"
  6. "jyBXCore/rpc/internal/svc"
  7. "jyBXCore/rpc/model/es"
  8. "jyBXCore/rpc/service"
  9. "jyBXCore/rpc/type/bxcore"
  10. "jyBXCore/rpc/util"
  11. "github.com/zeromicro/go-zero/core/logx"
  12. )
  13. type ParticipateRecordsLogic struct {
  14. ctx context.Context
  15. svcCtx *svc.ServiceContext
  16. logx.Logger
  17. }
  18. func NewParticipateRecordsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ParticipateRecordsLogic {
  19. return &ParticipateRecordsLogic{
  20. ctx: ctx,
  21. svcCtx: svcCtx,
  22. Logger: logx.WithContext(ctx),
  23. }
  24. }
  25. // 参标操作记录
  26. func (l *ParticipateRecordsLogic) ParticipateRecords(in *bxcore.ParticipateRecordsReq) (*bxcore.ParticipateRecordsRes, error) {
  27. // 验证权限
  28. result := &bxcore.ParticipateRecordsRes{}
  29. b, entRoleId := util.IsAllowedParticipate(in.AppId, in.UserId, in.NewUserId, in.AccountId, in.EntAccountId, in.EntId, in.EntUserId, in.PositionId, in.PositionType)
  30. if !b {
  31. result.ErrMsg = "没有权限"
  32. return result, nil
  33. }
  34. participateService := service.NewParticipateBid(in.EntId, in.EntUserId, in.PositionType, in.PositionId)
  35. participateService.EntRoleId = entRoleId
  36. // 信息id解密
  37. infoList, _ := service.DecodeId(in.Sid)
  38. if len(infoList) == 0 {
  39. result.ErrCode = -1
  40. result.ErrMsg = "无效的信息id"
  41. return result, nil
  42. }
  43. // 根据标讯id 查询项目信息
  44. projectInfos := es.GetProjectByInfoId(infoList)
  45. if projectInfos == nil || len(*projectInfos) == 0 {
  46. return result, nil
  47. }
  48. // 验证身份
  49. projectId := common.ObjToString((*projectInfos)[0]["_id"])
  50. if !participateService.CheckBidPower(projectId, false) {
  51. return result, fmt.Errorf("没有该项目操作记录查看权限")
  52. }
  53. // 查询
  54. data := participateService.GetBidRecords(projectId, in.Page, in.PageSize)
  55. return &bxcore.ParticipateRecordsRes{
  56. Data: data,
  57. }, nil
  58. }