/*********************************************************************** * Project: baifenBinfa * ProjectName: 百分兵法管理系统 * Web: http://chuanyin.com * Author: * Email: * CreateTime: 202403/02 * Description: 暂无 ***********************************************************************/ using System; using System.Collections.Generic; using System.Linq.Expressions; using System.Threading.Tasks; using CoreCms.Net.Configuration; using CoreCms.Net.IRepository; using CoreCms.Net.IRepository.UnitOfWork; using CoreCms.Net.IServices; using CoreCms.Net.Loging; using CoreCms.Net.Model.Entities; using CoreCms.Net.Model.ViewModels.Basics; using CoreCms.Net.Model.ViewModels.UI; using CoreCms.Net.Utility.Helper; using SqlSugar; namespace CoreCms.Net.Services { /// /// 退货单表 接口实现 /// public class CoreCmsBillReshipServices : BaseServices, ICoreCmsBillReshipServices { private readonly ICoreCmsBillReshipRepository _dal; private readonly ICoreCmsBillReshipItemRepository _billReshipItemRepository; private readonly IUnitOfWork _unitOfWork; public CoreCmsBillReshipServices(IUnitOfWork unitOfWork , ICoreCmsBillReshipRepository dal , ICoreCmsBillReshipItemRepository billReshipItemRepository ) { this._dal = dal; base.BaseDal = dal; _unitOfWork = unitOfWork; _billReshipItemRepository = billReshipItemRepository; } /// /// 创建退货单 /// /// /// /// /// /// public async Task ToAdd(int userId, string orderId, string aftersalesId, List aftersalesItems) { var jm = new WebApiCallBack(); if (aftersalesItems == null || aftersalesItems.Count <= 0) { jm.msg = GlobalErrorCodeVars.Code13209; jm.data = jm.code = 13209; return jm; } var model = new CoreCmsBillReship(); model.reshipId = CommonHelper.GetSerialNumberType((int)GlobalEnumVars.SerialNumberType.退货单编号); model.orderId = orderId; model.aftersalesId = aftersalesId; model.userId = userId; model.status = (int)GlobalEnumVars.BillReshipStatus.待退货; model.createTime = DateTime.Now; await _dal.InsertAsync(model); var list = new List(); foreach (var item in aftersalesItems) { var reshipItem = new CoreCmsBillReshipItem(); reshipItem.reshipId = model.reshipId; reshipItem.orderItemsId = item.orderItemsId; reshipItem.goodsId = item.goodsId; reshipItem.productId = item.productId; reshipItem.sn = item.sn; reshipItem.bn = item.bn; reshipItem.name = item.name; reshipItem.imageUrl = item.imageUrl; reshipItem.nums = item.nums; reshipItem.addon = item.addon; reshipItem.createTime = DateTime.Now; list.Add(reshipItem); //保存退货单明细 } await _billReshipItemRepository.InsertAsync(list); jm.status = true; jm.data = model; return jm; } #region 重写根据条件查询分页数据 /// /// 重写根据条件查询分页数据 /// /// 判断集合 /// 排序方式 /// 当前页面索引 /// 分布大小 /// /// 是否使用WITH(NOLOCK) /// public async Task> QueryPageAsync(Expression> predicate, Expression> orderByExpression, OrderByType orderByType, int pageIndex = 1, int pageSize = 20) { return await _dal.QueryPageAsync(predicate, orderByExpression, orderByType, pageIndex, pageSize); } #endregion #region 获取单个数据带导航 /// /// 获取单个数据带导航 /// /// /// /// /// public async Task GetDetails(Expression> predicate, Expression> orderByExpression, OrderByType orderByType) { return await _dal.GetDetails(predicate, orderByExpression, orderByType); } #endregion } }