Răsfoiți Sursa

成果基本信息查询接口

jianglw 4 ani în urmă
părinte
comite
de673c96c2
3 a modificat fișierele cu 34 adăugiri și 0 ștergeri
  1. 19 0
      handler/results.go
  2. 1 0
      model/internal/consequent.go
  3. 14 0
      service/result/result.go

+ 19 - 0
handler/results.go

@@ -73,3 +73,22 @@ func (r Result) DeleteResult(ctx context.Context, req comm_def.IdOnlyReq, rsp *c
 	rsp.Msg = msg
 	return nil
 }
+
+// 获取成果基本信息
+func (r Result) GetResultConsequent(ctx context.Context, req comm_def.IdOnlyReq, rsp *comm_def.CommonMsg) error {
+	tenant, err := micro_srv.GetTenant(ctx)
+	if err != nil {
+		return err
+	}
+
+	g.Log().Info("Received Result.GetResultConsequent request @ " + tenant)
+	data, err := resultSrv.NewSrv(tenant).GetResultConsequent(req)
+	_, err, code, msg := myerrors.CheckError(err)
+	if err != nil {
+		return err
+	}
+	rsp.Code = code
+	rsp.Msg = msg
+	rsp.Data = data
+	return nil
+}

+ 1 - 0
model/internal/consequent.go

@@ -21,6 +21,7 @@ type Consequent struct {
 	Code        string      `orm:"Code"        json:"code"`        // 成果编号
 	OwnersId    string      `orm:"OwnersId"    json:"ownersId"`    // 获得者
 	OwnersName  string      `orm:"OwnersName"  json:"ownersName"`  // 获得者名称
+	MediaIds    string      `orm:"MediaIds" 	json:"media_ids"`     // 成果附件Id
 	PublishTime *gtime.Time `orm:"PublishTime" json:"publishTime"` // 获得时间
 	ProjectId   int         `orm:"ProjectId"   json:"projectId"`   // 项目ID
 	ProjectName string      `orm:"ProjectName" json:"projectName"` // 项目名称

+ 14 - 0
service/result/result.go

@@ -5,6 +5,7 @@ import (
 	"errors"
 	"lims_adapter/dao"
 	"log"
+	"strings"
 
 	"dashoo.cn/common_definition/admin/result_def"
 	"dashoo.cn/common_definition/comm_def"
@@ -126,3 +127,16 @@ func (s Service) DeleteResult(req comm_def.IdOnlyReq) error {
 		return nil
 	})
 }
+
+// 获取成果基本信息
+func (s Service) GetResultConsequent(req comm_def.IdOnlyReq) (result_def.ResultList, error) {
+	var result result_def.ResultList
+	query := s.ConsequentDao.M
+	query.Where("Id = ?", req.Id).Scan(&result)
+	mediaIds := strings.Split(result.MediaIds, ",")
+	fields := "Id, FileName as Name, Url"
+	if len(mediaIds) > 0 {
+		s.ConsequentDao.DB.Model("media").Where("Id IN (?)", mediaIds).Fields(fields).Scan(&result.Files)
+	}
+	return result, nil
+}