You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
2.5 KiB
62 lines
2.5 KiB
using BBWYB.Common.Log;
|
|
using BBWYB.Common.Models;
|
|
using BBWYB.Server.Model;
|
|
using BBWYB.Server.Model.Db;
|
|
using BBWYB.Server.Model.Dto;
|
|
using Yitter.IdGenerator;
|
|
|
|
namespace BBWYB.Server.Business
|
|
{
|
|
public class PurchaserBusiness : BaseBusiness, IDenpendency
|
|
{
|
|
public PurchaserBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator) : base(fsql, nLogManager, idGenerator)
|
|
{
|
|
|
|
}
|
|
|
|
public ListResponse<PurchaserResponse> QueryPurchaserList(QueryPurchaserRequest request)
|
|
{
|
|
return new ListResponse<PurchaserResponse>();
|
|
}
|
|
|
|
public ListResponse<PurchaserExtendedInfoResponse> QueryPurchaserCategoryList(QueryPurchaserExtendedRequest request)
|
|
{
|
|
var list = fsql.Select<PurchaserExtendedInfo>()
|
|
.WhereIf(request.Type != null, x => x.Type == request.Type)
|
|
.WhereIf(!string.IsNullOrEmpty(request.Keywords), x => x.Name.Contains(request.Keywords))
|
|
.Count(out var count)
|
|
.ToList<PurchaserExtendedInfoResponse>();
|
|
return new ListResponse<PurchaserExtendedInfoResponse> { Items = list, TotalCount = count };
|
|
}
|
|
|
|
public void EditPurchaserExtendedInfo(EditPurchaserExtendedInfoRequest request)
|
|
{
|
|
var insertRelationList = new List<Purchaser_ExtendedInfo_Relation>();
|
|
insertRelationList.AddRange(request.CategoryIdList.Select(x => new Purchaser_ExtendedInfo_Relation()
|
|
{
|
|
Id = idGenerator.NewLong(),
|
|
PurchaserId = request.PurchaserId,
|
|
ExtendedType = Enums.PurchaserBasicInfoType.主营类目,
|
|
ExtendedInfoId = x
|
|
}));
|
|
|
|
insertRelationList.AddRange(request.TagIdList.Select(x => new Purchaser_ExtendedInfo_Relation()
|
|
{
|
|
Id = idGenerator.NewLong(),
|
|
PurchaserId = request.PurchaserId,
|
|
ExtendedType = Enums.PurchaserBasicInfoType.标签,
|
|
ExtendedInfoId = x
|
|
}));
|
|
|
|
fsql.Transaction(() =>
|
|
{
|
|
fsql.Delete<Purchaser_ExtendedInfo_Relation>().Where(r => r.PurchaserId == request.PurchaserId).ExecuteAffrows();
|
|
fsql.Update<Purchaser>(request.PurchaserId).Set(p => p.ManagmentMode, request.ManagmentMode).ExecuteAffrows();
|
|
if (insertRelationList.Count() > 0)
|
|
fsql.Insert(insertRelationList).ExecuteAffrows();
|
|
|
|
});
|
|
|
|
}
|
|
}
|
|
}
|
|
|