From 7fdf7d7bd39cd0381c3969ad6302be0e693cad2d Mon Sep 17 00:00:00 2001 From: username@email.com <yzy2002yzy@163.com> Date: 星期二, 02 四月 2024 10:56:33 +0800 Subject: [PATCH] Merge branch 'master' of http://47.108.235.38:8080/r/baifenbaishop --- CoreCms.Net.Services/baifenbingfa/OfflineDistributorServices.cs | 287 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 287 insertions(+), 0 deletions(-) diff --git a/CoreCms.Net.Services/baifenbingfa/OfflineDistributorServices.cs b/CoreCms.Net.Services/baifenbingfa/OfflineDistributorServices.cs new file mode 100644 index 0000000..57497e6 --- /dev/null +++ b/CoreCms.Net.Services/baifenbingfa/OfflineDistributorServices.cs @@ -0,0 +1,287 @@ +/*********************************************************************** + * Project: baifenBinfa + * ProjectName: 鐧惧垎鍏垫硶绠$悊绯荤粺 + * Web: http://chuanyin.com + * Author: + * Email: + * CreateTime: 2024/3/29 11:16:20 + * Description: 鏆傛棤 + ***********************************************************************/ + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using System.Threading.Tasks; +using CoreCms.Net.Auth.HttpContextUser; +using CoreCms.Net.Configuration; +using CoreCms.Net.IRepository; +using CoreCms.Net.IRepository.UnitOfWork; +using CoreCms.Net.IServices; +using CoreCms.Net.Model.Entities; +using CoreCms.Net.Model.Entities.baifenbingfa.Promote; +using CoreCms.Net.Model.Entities.baifenbingfa.Promote.OffLineDistributor; +using CoreCms.Net.Model.ViewModels.Basics; +using CoreCms.Net.Model.ViewModels.UI; +using SqlSugar; + + +namespace CoreCms.Net.Services +{ + /// <summary> + /// 绾夸笅缁忛攢鍟嗛噰闆� 鎺ュ彛瀹炵幇 + /// </summary> + public class OfflineDistributorServices : BaseServices<OfflineDistributor>, IOfflineDistributorServices + { + private readonly IOfflineDistributorRepository _dal; + private readonly IUnitOfWork _unitOfWork; + + private readonly IHttpContextUser _contextUser; + public OfflineDistributorServices(IUnitOfWork unitOfWork, IOfflineDistributorRepository dal,IHttpContextUser httpContextUser) + { + this._dal = dal; + base.BaseDal = dal; + _unitOfWork = unitOfWork; + _contextUser = httpContextUser; + } + + #region 瀹炵幇閲嶅啓澧炲垹鏀规煡鎿嶄綔========================================================== + + /// <summary> + /// 閲嶅啓寮傛鎻掑叆鏂规硶 + /// </summary> + /// <param name="entity">瀹炰綋鏁版嵁</param> + /// <returns></returns> + public async Task<AdminUiCallBack> InsertAsync(OfflineDistributor entity) + { + entity.createTime = DateTime.Now; + entity.createBy = $"{_contextUser.Name}"; + return await _dal.InsertAsync(entity); + } + + /// <summary> + /// 閲嶅啓寮傛鎻掑叆鏂规硶 + /// </summary> + /// <param name="entity">瀹炰綋鏁版嵁</param> + /// <returns></returns> + public async Task<AdminUiCallBack> UserInsertAsync(OfflineDistributor entity) + { + entity.createTime = DateTime.Now; + entity.createBy = $"{_contextUser.Name}"; + var bol = await _unitOfWork.GetDbClient().InsertNav(entity).Include(x => x.meetings).ExecuteCommandAsync(); + if (bol) + { + return new AdminUiCallBack() + { + code = 0, + data = bol, + msg = "鎿嶄綔鎴愬姛" + + }; + } + else + { + + return new AdminUiCallBack() + { + code = 1, + data = bol, + msg = "鎿嶄綔澶辫触" + + }; + + } + return await _dal.InsertAsync(entity); + } + public async Task<AdminUiCallBack> GetInfo(int id) + { + var data = await _unitOfWork.GetDbClient().Queryable<OfflineDistributor>().Where(x => x.Id == id) + .Includes(x => x.meetings) + .Includes(x => x.Oders).FirstAsync(); + if (data == null) + return new AdminUiCallBack() + { + msg = "娌℃湁鎵惧埌璇ユ暟鎹�" + }; + else + return new AdminUiCallBack() + { + code = 0, + data = data + }; + } + /// <summary> + /// 閲嶅啓寮傛鏇存柊鏂规硶鏂规硶 + /// </summary> + /// <param name="entity"></param> + /// <returns></returns> + public async Task<AdminUiCallBack> UpdateAsync(OfflineDistributor entity) + { + var db = _unitOfWork.GetDbClient(); + var oldmod = await _dal.QueryByIdAsync(entity.Id); + + if (oldmod == null) + { + return new AdminUiCallBack() + { + data = "娌℃湁鎵惧埌鐩稿叧鏁版嵁" + }; + } + oldmod.upDataTime = DateTime.Now; + oldmod.upDataBy = $"{_contextUser.Name}"; + oldmod.BusinessManager = entity.BusinessManager; + oldmod.PhoneNumber = entity.PhoneNumber; + oldmod.PUserID = entity.PUserID; + oldmod.Region = entity.Region; + oldmod.Remake = entity.Remake; + oldmod.DealerName = entity.DealerName; + oldmod.UserID = entity.UserID; + oldmod.IsMeeting = entity.IsMeeting; + oldmod.StoreLogoUrl = entity.StoreLogoUrl; + oldmod.Adder = entity.Adder; + oldmod.ContactPerson = entity.ContactPerson; + oldmod.Category = entity.Category; + + oldmod.School = entity.School; + var oldMeetings = await db.Queryable<OfflineDistributorMeeting>().Where(x => x.OfflineDistributorID == oldmod.Id).OrderBy(x => x.id).ToListAsync(); + var oldIntentions = await db.Queryable<OfflineDistributorOder>().Where(x => x.OfflineDistributorID == oldmod.Id).OrderBy(x => x.Id).ToListAsync(); + + foreach (var intention in entity.Oders) + { + if (intention.Id == 9999999) + { + intention.Id = 0; + intention.createBy = $"{_contextUser.Name}"; + intention.createTime = DateTime.Now; + intention.isdelete = false; + continue; + } + var old = oldIntentions.Where(x=>x.Id==intention.Id).SingleOrDefault(); + if (old != null) + { + intention.isdelete = old.isdelete; + intention.createBy = old.createBy; + intention.createTime = old.createTime; + intention.upDataBy = $"{_contextUser.Name}"; + intention.upDataTime = DateTime.Now; + } + } + oldmod.Oders = entity.Oders; + + foreach (var meetin in entity.meetings) + { + if (meetin.id == 9999999) + { + meetin.id = 0; + meetin.createBy = $"{_contextUser.Name}"; + meetin.createTime = DateTime.Now; + meetin.isdelete = false; + continue; + } + var old = oldMeetings.Where(x => x.id == meetin.id).SingleOrDefault(); + if (old != null) + { + meetin.isdelete = old.isdelete; + meetin.createBy = old.createBy; + meetin.createTime = old.createTime; + meetin.upDataBy = $"{_contextUser.Name}"; + meetin.upDataTime = DateTime.Now; + } + } + oldmod.meetings = entity.meetings; + + var bol = await _unitOfWork.GetDbClient().UpdateNav(oldmod).Include(x => x.meetings).Include(x => x.Oders).ExecuteCommandAsync(); + if (bol) + { + return new AdminUiCallBack() + { + code = 0, + data = bol, + msg = "鎿嶄綔鎴愬姛" + + }; + } + else + { + + return new AdminUiCallBack() + { + code = 1, + data = bol, + msg = "鎿嶄綔澶辫触" + + }; + + } + + //return await _dal.UpdateAsync(entity); + } + + /// <summary> + /// 閲嶅啓寮傛鏇存柊鏂规硶鏂规硶 + /// </summary> + /// <param name="entity"></param> + /// <returns></returns> + public async Task<AdminUiCallBack> UpdateAsync(List<OfflineDistributor> entity) + { + return await _dal.UpdateAsync(entity); + } + + /// <summary> + /// 閲嶅啓鍒犻櫎鎸囧畾ID鐨勬暟鎹� + /// </summary> + /// <param name="id"></param> + /// <returns></returns> + public async Task<AdminUiCallBack> DeleteByIdAsync(object id) + { + return await _dal.DeleteByIdAsync(id); + } + + /// <summary> + /// 閲嶅啓鍒犻櫎鎸囧畾ID闆嗗悎鐨勬暟鎹�(鎵归噺鍒犻櫎) + /// </summary> + /// <param name="ids"></param> + /// <returns></returns> + public async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids) + { + return await _dal.DeleteByIdsAsync(ids); + } + + #endregion + + #region 鑾峰彇缂撳瓨鐨勬墍鏈夋暟鎹�========================================================== + + /// <summary> + /// 鑾峰彇缂撳瓨鐨勬墍鏈夋暟鎹� + /// </summary> + /// <returns></returns> + public async Task<List<OfflineDistributor>> GetCaChe() + { + return await _dal.GetCaChe(); + } + + #endregion + + #region 閲嶅啓鏍规嵁鏉′欢鏌ヨ鍒嗛〉鏁版嵁 + /// <summary> + /// 閲嶅啓鏍规嵁鏉′欢鏌ヨ鍒嗛〉鏁版嵁 + /// </summary> + /// <param name="predicate">鍒ゆ柇闆嗗悎</param> + /// <param name="orderByType">鎺掑簭鏂瑰紡</param> + /// <param name="pageIndex">褰撳墠椤甸潰绱㈠紩</param> + /// <param name="pageSize">鍒嗗竷澶у皬</param> + /// <param name="orderByExpression"></param> + /// <param name="blUseNoLock">鏄惁浣跨敤WITH(NOLOCK)</param> + /// <returns></returns> + public async Task<IPageList<OfflineDistributor>> QueryPageAsync(Expression<Func<OfflineDistributor, bool>> predicate, + Expression<Func<OfflineDistributor, object>> orderByExpression, OrderByType orderByType, int pageIndex = 1, + int pageSize = 20, bool blUseNoLock = false) + { + return await _dal.QueryPageAsync(predicate, orderByExpression, orderByType, pageIndex, pageSize, blUseNoLock); + + } + + #endregion + + } +} -- Gitblit v1.9.1