public int AddCarPictureList(List<string> pathList, string carid)
{
const string sqlSCarPic = "select innerid, carid, typeid, path, sort, createdtime from car_picture where carid=@carid order by sort;";//查询车辆图片
const string sqlSMaxSort = "select ifnull(max(sort),0) as maxsort from car_picture where carid=@carid;"; //查询车辆所有图片的最大排序
const string sqlIPic = @"insert into car_picture (innerid, carid, typeid, path, sort, createdtime) values (@innerid, @carid, @typeid, @path, @sort, @createdtime);";
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 + pathList.Count;
if (number > 9)
{
//图片数量控制在>=3 and <=9
return 402;
}
var maxsort = conn.ExecuteScalar<int>(sqlSMaxSort, new { carid });
var tran = conn.BeginTransaction();
try
{
foreach (var path in pathList)
{
conn.Execute(sqlIPic, new CarPictureModel
{
Carid = carid,
Createdtime = DateTime.Now,
Path = path,
Innerid = Guid.NewGuid().ToString(),
Sort = ++maxsort
}, tran); //插入图片
}
//表示添加首批图片
if (maxsort == pathList.Count)
{
conn.Execute(sqlUCover, new { carid }, tran);
}
tran.Commit();
return 1;
}
catch (Exception ex)
{
tran.Rollback();
LoggerFactories.CreateLogger().Write("批量添加图片异常:" + ex.Message, TraceEventType.Warning);
return 0;
}
}
}