package logic import ( "app.yhyue.com/moapp/jybase/common" T "bp.jydev.jianyu360.cn/CRM/application/api/common" "context" "bp.jydev.jianyu360.cn/CRM/application/api/internal/svc" "bp.jydev.jianyu360.cn/CRM/application/api/internal/types" "github.com/zeromicro/go-zero/core/logx" ) type InfoDetailLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewInfoDetailLogic(ctx context.Context, svcCtx *svc.ServiceContext) *InfoDetailLogic { return &InfoDetailLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } type Infomation struct { Title string `json:"title"` Summary string `json:"summary"` Content string `json:"content"` DataJsonId string `json:"datajson_id"` Area string `json:"area"` City string `json:"city"` Basis string `json:"basis"` ProjectName string `json:"project_name"` } func (l *InfoDetailLogic) InfoDetail(req *types.InfoDetailReq) (resp *types.Reply, err error) { resp = &types.Reply{} sql := `SELECT title, summary, content, datajson_id, area, city, basis FROM information.information WHERE id = ?` info := &Infomation{} err = T.ClickhouseConn.QueryRow(context.TODO(), sql, req.InfoId).ScanStruct(info) if err != nil { binfo, b := T.MgoBidding.FindById("bidding", info.DataJsonId, map[string]interface{}{"title": 1, "projectname": 1}) if b && binfo != nil && len(*binfo) > 0 { info.ProjectName = common.ObjToString((*binfo)["projectname"]) } resp.Data = info } else { resp.Error_code = -1 resp.Error_msg = "未查询到情报信息" } return }