예제 #1
0
        /// <summary>
        /// 获取医院推荐列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <GetRecommendHospitalListResponseDto> GetRecommendHospitalListAsync(GetRecommendHospitalListRequestDto request)
        {
            var sqlWhere = $@" 1=1 AND A.type = @type AND A.ENABLE = @enable";

            if (!string.IsNullOrWhiteSpace(request.RecommendGuid))
            {
                sqlWhere = $"{sqlWhere} AND A.recommend_guid=@RecommendGuid";
            }

            var sql        = $@"
SELECT
	A.type,
	A.recommend_guid,
	B.owner_guid,
	B.detail_guid,
	C.hospital_guid,
	C.logo_guid,
	C.hos_name,
	C.hos_abstract,
	C.hos_level,
	C.location,
	CONCAT( D.base_path, D.relative_path ) AS LogoUrl 
FROM
	t_manager_recommend A
	INNER JOIN t_manager_recommend_detail B ON A.recommend_guid = B.recommend_guid
	INNER JOIN t_doctor_hospital C ON B.owner_guid = C.hospital_guid and C.`enable`=1
	LEFT JOIN t_utility_accessory D ON D.accessory_guid = C.logo_guid 
WHERE
	{sqlWhere}
ORDER BY
	C.sort "    ;
            var parameters = new
            {
                type   = RecommendModel.TypeEnum.Hostpital.ToString(),
                enable = true,
                request.RecommendGuid,
            };
            var pageSql = $"{sql} limit {(request.PageIndex - 1) * request.PageSize},{request.PageSize}";

            using (var conn = MySqlHelper.GetConnection())
            {
                var result = await conn.QueryAsync <GetHospitalRecommendListItemDto>(pageSql, parameters);

                var count = await conn.QueryFirstOrDefaultAsync <int>($@"SELECT COUNT(1) AS count FROM({sql}) AS T", parameters);

                return(new GetRecommendHospitalListResponseDto
                {
                    Total = count,
                    CurrentPage = result
                });
            }
        }
        public async Task <IActionResult> GetRecommendHospitalListAsync([FromBody] GetRecommendHospitalListRequestDto request)
        {
            var response = await new RecommendBiz().GetRecommendHospitalListAsync(request);

            return(Success(response));
        }