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 `ch:"title"` Summary string `ch:"summary"` Content string `ch:"content"` Basis string `ch:"basis"` Area string `ch:"area"` City string `ch:"city"` DataJsonId string `ch:"datajson_id"` ProjectName string `ch:"project_name"` } func (l *InfoDetailLogic) InfoDetail(req *types.InfoDetailReq) (resp *types.Reply, err error) { resp = &types.Reply{} sql := `SELECT title, summary, content, basis, area, city, datajson_id 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 }