Exemple #1
0
        /// <summary>
        /// 获取医生推荐列表
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <GetRecommendOfficeListResponseDto> GetRecommendOfficeListAsync(GetRecommendOfficeListAsyncRequestDto 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";
            }
            if (!string.IsNullOrWhiteSpace(request.HospitalGuid))
            {
                sqlWhere = $"{sqlWhere} AND C.hospital_guid=@HospitalGuid";
            }
            var sql        = $@"
SELECT
	A.type,
	A.recommend_guid,
	B.detail_guid,
	C.office_guid,
	C.office_name,
	C.hospital_guid,
	C.hospital_name,
	C.picture_guid,
	CONCAT( D.base_path, D.relative_path ) AS PictureUrl 
FROM
	t_manager_recommend A
	INNER JOIN t_manager_recommend_detail B ON A.recommend_guid = B.recommend_guid
	INNER JOIN t_doctor_office C ON B.owner_guid = C.office_guid and C.`enable`=1
	LEFT JOIN t_utility_accessory D ON D.accessory_guid = C.picture_guid 
WHERE
	{sqlWhere}
ORDER BY
	C.creation_date "    ;
            var parameters = new
            {
                type   = RecommendModel.TypeEnum.Office.ToString(),
                enable = true,
                request.RecommendGuid,
                request.HospitalGuid
            };
            var pageSql = $"{sql} limit {(request.PageIndex - 1) * request.PageSize},{request.PageSize}";

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

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

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

            return(Success(response));
        }