예제 #1
0
        public async Task <GetReviewMerchantPageResponseDto> GetReviewMerchantPageAsync(GetReviewMerchantPageRequestDto request)
        {
            var sqlWhere = $@"1=1 ";//AND enable=1

            if (!string.IsNullOrWhiteSpace(request.Name))
            {
                sqlWhere = $"{sqlWhere} AND Merchant_Name like @Name";
            }
            if (!string.IsNullOrWhiteSpace(request.Status))
            {
                sqlWhere = $"{sqlWhere} AND status = @Status";
            }
            if (request.BeginDate != null)
            {
                request.BeginDate = request.BeginDate?.Date;
                sqlWhere          = $"{sqlWhere} AND creation_date > @BeginDate";
            }
            if (request.EndDate != null)
            {
                request.EndDate = request.EndDate?.AddDays(1).Date;
                sqlWhere        = $"{sqlWhere} AND creation_date < @EndDate";
            }
            var sql = $@"
SELECT * FROM(
    SELECT
	    A.*,
	    CONCAT( B.base_path, B.relative_path ) AS signatureUrl,
	    C.user_name,
        C.Phone,
	    D.scope 
    FROM
	    t_merchant A
	    LEFT JOIN t_utility_accessory B ON B.accessory_guid = A.signature_guid
	    LEFT JOIN t_utility_user C ON C.user_guid = A.merchant_guid
	    LEFT JOIN (
	        SELECT
		        a.merchant_guid,
		        GROUP_CONCAT( b.config_name ) scope 
	        FROM
		        t_merchant_scope a
		        LEFT JOIN t_manager_dictionary b ON a.scope_dic_guid = b.dic_guid 
	        GROUP BY
		        a.merchant_guid 
	    ) D ON A.merchant_guid = D.merchant_guid
) __t 
WHERE
	{sqlWhere}
ORDER BY
	creation_date"    ;

            request.Name = $"%{request.Name}%";
            return(await MySqlHelper.QueryByPageAsync <GetReviewMerchantPageRequestDto, GetReviewMerchantPageResponseDto, GetReviewMerchantPageItemDto>(sql, request));
        }
        public async Task <IActionResult> GetReviewMerchantPageAsync([FromBody] GetReviewMerchantPageRequestDto request)
        {
            var response = await new MerchantBiz().GetReviewMerchantPageAsync(request);

            return(Success(response));
        }