using Dapper; using System.Threading.Tasks; using Znyc.Cloudcar.Admin.Commons.IDbContext; using Znyc.Cloudcar.Admin.Commons.Repositories; using Znyc.Cloudcar.Admin.Security.Entitys; using Znyc.Cloudcar.Admin.Security.IRepositories; namespace Znyc.Cloudcar.Admin.Security.Repositories { public class RegionRepository : BaseRepository, IRegionRepository { public RegionRepository() { } public RegionRepository(IDbContextCore dbContext) : base(dbContext) { } /// /// 根据areaId查询工作城市 /// /// /// public async Task GetRegionNameByAreaId(long areaId, long cityId, long provinceId) { string sql = ""; if (areaId != 0) { sql = string.Format( @"select group_concat(`r3`.`Name`,' ',`r2`.`Name`, ' ',`r1`.`Name` separator ',') AS `GROUP_CONCAT(r1.``Name``,' ',r2.``Name``, ' ', r1.``Name`` )` from Znyc.`sys_region` `r1` left join Znyc.`sys_region` `r2` on((`r2`.`RegionId` = `r1`.`ParentId`)) left join Znyc.`sys_region` `r3` on((`r3`.`RegionId` = `r2`.`ParentId`)) where (`r1`.`RegionId` in ({0}))", areaId); return await DapperConn.QueryFirstOrDefaultAsync(sql); } if (cityId != 0) { sql = string.Format( @"select group_concat( `r2`.`Name`, ' ',`r1`.`Name` separator ',') AS `GROUP_CONCAT(r2.``Name``,' ',r1.``Name``, ' ' )` from Znyc.`sys_region` `r1` left join Znyc.`sys_region` `r2` on((`r2`.`RegionId` = `r1`.`ParentId`)) where (`r1`.`RegionId` in ({0}))", cityId); return await DapperConn.QueryFirstOrDefaultAsync(sql); } sql = string.Format(@"SELECT `Name` FROM Znyc.sys_region WHERE Id={0}", provinceId); return await DapperConn.QueryFirstOrDefaultAsync(sql); } /// /// 根据cityId查询工作城市 /// /// /// public async Task GetRegionNameByCityId(string cityId) { string sql = string.Format( @"select group_concat( `r2`.`Name`, ' ',`r1`.`Name` separator ',') AS `GROUP_CONCAT(r2.``Name``,' ',r1.``Name``, ' ' )` from Znyc.`sys_region` `r1` left join Znyc.`sys_region` `r2` on((`r2`.`RegionId` = `r1`.`ParentId`)) where (`r1`.`RegionId` in ({0}))", cityId); return await DapperConn.QueryFirstOrDefaultAsync(sql); } } }