package logic import ( "app.yhyue.com/moapp/jybase/common" "context" "fmt" IC "jyBXCore/rpc/init" "jyBXCore/rpc/internal/svc" "jyBXCore/rpc/model/es" "jyBXCore/rpc/service" "jyBXCore/rpc/type/bxcore" "github.com/zeromicro/go-zero/core/logx" ) type ParticipateRecordsLogic struct { ctx context.Context svcCtx *svc.ServiceContext logx.Logger } func NewParticipateRecordsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ParticipateRecordsLogic { return &ParticipateRecordsLogic{ ctx: ctx, svcCtx: svcCtx, Logger: logx.WithContext(ctx), } } // 参标操作记录 func (l *ParticipateRecordsLogic) ParticipateRecords(in *bxcore.ParticipateRecordsReq) (*bxcore.ParticipateRecordsRes, error) { // 验证权限 result := &bxcore.ParticipateRecordsRes{ ErrCode: -1, } // 1. 判断身份是否有权限 不是超级订阅也不是大会员 则直接返回 userInfo := IC.Middleground.PowerCheckCenter.Check(in.AppId, in.UserId, in.NewUserId, in.AccountId, in.EntId, in.PositionType, in.PositionId) // 不是超级订阅 也不是大会员 if userInfo.Vip.Status <= 0 && userInfo.Member.Status <= 0 { result.ErrMsg = "没有权限" return result, nil } participateService := service.NewParticipateBid(in.EntId, in.EntUserId, in.PositionType, in.PositionId) participateService.EntRoleId = userInfo.Ent.EntRoleId // 信息id解密 infoList, _ := service.DecodeId(in.Sid) if len(infoList) == 0 { result.ErrMsg = "无效的信息id" return result, nil } // 根据标讯id 查询项目信息 projectInfos := es.GetProjectByInfoId(infoList) if projectInfos == nil || len(*projectInfos) == 0 { result.ErrMsg = "未查询到项目信息" return result, nil } // 验证身份 projectId := common.ObjToString((*projectInfos)[0]["_id"]) if !participateService.CheckBidPower(projectId, false) { return result, fmt.Errorf("没有该项目操作记录查看权限") } // 查询 data := participateService.GetBidRecords(projectId, in.Page, in.PageSize) return &bxcore.ParticipateRecordsRes{ ErrCode: 0, Data: data, }, nil }