public int DelCarPictureList(List<string> idList, string carid)
{
const string sqlSCarPic = "select innerid, carid, typeid, path, sort, createdtime from car_picture where carid=@carid order by sort;";//查询车辆图片
const string sqlDPic = @"delete from car_picture where innerid=@innerid;";
const string sqlUCover = @"update car_info set pic_url=(select path from car_picture where carid=@carid order by sort limit 1) where innerid=@carid;";
using (var conn = Helper.GetConnection())
{
//获取车辆图片
var picedList = conn.Query<CarPictureModel>(sqlSCarPic, new { carid }).ToList();
var number = picedList.Count - idList.Count;
if (number < 3)
{
//图片数量控制在>=3 and <=9
return 402;
}
var tran = conn.BeginTransaction();
try
{
//标示是否修改封面
var isUCover = false;
//获取封面图片
var coverid = picedList.First().Innerid;
foreach (var id in idList)
{
if (id.Equals(coverid))
{
isUCover = true;
}
conn.Execute(sqlDPic, new { innerid = id }, tran);
}
if (isUCover)
{
conn.Execute(sqlUCover, new { carid }, tran);
}
tran.Commit();
return 1;
}
catch (Exception ex)
{
tran.Rollback();
LoggerFactories.CreateLogger().Write("批量删除图片异常:" + ex.Message, TraceEventType.Warning);
return 0;
}
}
}