username@email.com
2024-06-26 7f26cd7c3e492062418cdc7dbe9d7ce14cbe5f05
CoreCms.Net.Web.Admin/Controllers/Order/CoreCmsPlanOrderController.cs
@@ -43,6 +43,7 @@
using static SKIT.FlurlHttpClient.Wechat.Api.Models.CardCreateRequest.Types.MembershipCard.Types.Base.Types;
using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinExpressDeliveryOpenMessageGetDeliveryListResponse.Types;
using System.Threading.Channels;
using System.Collections.Generic;
namespace CoreCms.Net.Web.Admin.Controllers
{
@@ -64,6 +65,8 @@
        private readonly IHttpContextUser _user;
        private readonly ICoreCmsPlanOrderServices _planOrderServices;
        private readonly ICoreCmsAreaServices _areaServices;
        private readonly ICoreCmsOrderServices _orderServices;
        private readonly ICoreCmsOrderItemServices _orderItemServices;
        /// <summary>
@@ -76,6 +79,8 @@
            , IHttpContextUser user
            , ICoreCmsPlanOrderServices planOrderServices
            , ICoreCmsAreaServices areaServices
              , ICoreCmsOrderServices orderServices
         , ICoreCmsOrderItemServices orderItemServices
            )
        {
            _webHostEnvironment = webHostEnvironment;
@@ -85,6 +90,9 @@
            _user = user;
            _planOrderServices = planOrderServices;
            _areaServices = areaServices;
            _orderServices = orderServices;
            _orderItemServices = orderItemServices;
        }
        #region 获取列表============================================================
@@ -259,7 +267,7 @@
                {
                    //获取相关状态描述说明转换
                    order.statusText = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.PlanOrderTiJiao>(order.status);
                    order.keYongAmount = order.keYongAmount - order.huaFeiAmount;
                }
            }
@@ -292,7 +300,26 @@
            return jm;
        }
        #endregion
        #region 选择省============================================================
        // POST: Api/CoreCmsPlanOrder/GetIndex
        /// <summary>
        /// 选择市
        /// </summary>
        /// <returns></returns>
        [Description("选择省")]
        [AllowAnonymous]
        public async Task<AdminUiCallBack> GetCityId(int shengid = 0)
        {
            //返回数据
            var jm = new AdminUiCallBack { code = 0 };
            var shi = await _areaServices.QueryListByClauseAsync(p => p.parentId == shengid);
            jm.data = shi;
            return jm;
        }
        #endregion
        #region 选择市============================================================
        // POST: Api/CoreCmsPlanOrder/GetIndex
@@ -368,17 +395,27 @@
            }
            //获取相关状态描述说明转换
            model.statusText = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.PlanOrderTiJiao>(model.status);
            model.keYongAmount = model.keYongAmount - model.huaFeiAmount;
            var modelItem1 = await _planOrderItemServices.QueryListByClauseAsync(p => p.orderId == entity.id && p.isOld == true, p => p.specification, OrderByType.Asc);
            var modelItem2 = await _planOrderItemServices.QueryListByClauseAsync(p => p.orderId == entity.id && p.isOld == false, p => p.specification, OrderByType.Asc);
            foreach (var coreCmsPlanOrderItem in modelItem1)
            {
                var coreCmsPlanOrderItem1 = modelItem2.Where(p => p.name == coreCmsPlanOrderItem.name && p.specification == coreCmsPlanOrderItem.specification).FirstOrDefault();
                if (coreCmsPlanOrderItem1 != null)
                {
                    coreCmsPlanOrderItem.idnew = coreCmsPlanOrderItem1.id;
                    coreCmsPlanOrderItem.numsnew = coreCmsPlanOrderItem1.nums;
                    coreCmsPlanOrderItem.amountnew = coreCmsPlanOrderItem1.amount;
                }
            }
            jm.data = new
            {
                model,
                modelItem1,
                modelItem2
                modelItem1
            };
            jm.code = 0;
           // jm.data = model;
@@ -471,8 +508,33 @@
                jm.msg = GlobalConstVars.DataisNo;
            return jm;
            }
            jm = await _CoreCmsPlanOrderServices.DeleteByIdAsync(entity.id);
            jm = await _CoreCmsPlanOrderServices.DeleteByIdAsync(entity.id , _user.Name);
            return jm;
        }
        // POST: Api/CoreCmsPlanOrder/DoDelete/10
        /// <summary>
        /// 单选删除
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        [HttpPost]
        [Description("单选删除")]
        public async Task<AdminUiCallBack> DoDeletedel([FromBody] FMStringId entity)
        {
            var jm = new AdminUiCallBack();
            var model = await _CoreCmsPlanOrderServices.QueryByIdAsync(entity.id);
            if (model == null)
            {
                jm.msg = GlobalConstVars.DataisNo;
                return jm;
            }
            var bl = await _CoreCmsPlanOrderServices.DeleteByIdAsync(entity.id);
            jm.code = bl ? 0 : 1;
            jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
            return jm;
        }
        #endregion
@@ -486,9 +548,29 @@
        /// <returns></returns>
        [HttpPost]
        [Description("批量删除")]
        public async Task<AdminUiCallBack> DoBatchDelete([FromBody]FMArrayIntIds entity)
        public async Task<AdminUiCallBack> DoBatchDelete([FromBody]FMArrayStringIds entity)
        {
            var jm = await _CoreCmsPlanOrderServices.DeleteByIdsAsync(entity.id);
            var jm = await _CoreCmsPlanOrderServices.DeleteByIdsAsync(entity.id, _user.Name);
            return jm;
        }
        // POST: Api/CoreCmsPlanOrder/DoBatchDelete/10,11,20
        /// <summary>
        /// 批量删除
        /// </summary>
        /// <param name="entity"></param>
        /// <returns></returns>
        [HttpPost]
        [Description("批量删除")]
        public async Task<AdminUiCallBack> DoBatchDeletedel([FromBody] FMArrayStringIds entity)
        {
            var jm = new AdminUiCallBack();
            var bl = await _CoreCmsPlanOrderServices.DeleteByIdsAsync(entity.id);
            jm.code = bl ? 0 : 1;
            jm.msg = bl ? GlobalConstVars.DeleteSuccess : GlobalConstVars.DeleteFailure;
            return jm;
        }
@@ -515,17 +597,46 @@
            }
            //获取相关状态描述说明转换
            model.statusText = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.PlanOrderTiJiao>(model.status);
            model.keYongAmount = model.keYongAmount - model.huaFeiAmount;
            var modelItem1 = await _planOrderItemServices.QueryListByClauseAsync(p => p.orderId == entity.id && p.isOld == true, p => p.specification, OrderByType.Asc);
            var modelItem2 = await _planOrderItemServices.QueryListByClauseAsync(p => p.orderId == entity.id && p.isOld == false, p => p.specification, OrderByType.Asc);
            foreach(var coreCmsPlanOrderItem in modelItem1)
            {
             var  coreCmsPlanOrderItem1 =   modelItem2.Where(p => p.name == coreCmsPlanOrderItem.name && p.specification == coreCmsPlanOrderItem.specification).FirstOrDefault();
                if (coreCmsPlanOrderItem1 != null)
                {
                    coreCmsPlanOrderItem.idnew = coreCmsPlanOrderItem1.id;
                    coreCmsPlanOrderItem.numsnew = coreCmsPlanOrderItem1.nums;
                    coreCmsPlanOrderItem.amountnew = coreCmsPlanOrderItem1.amount;
                }
            }
            var coreCmsOrderItems = new List<CoreCmsOrderItem>();
            //查询用计划订单积分购买的订单
          var coreCmsOrders   =  await _orderServices.QueryListByClauseAsync(p => p.planorderId == model.orderId && p.isdel == false);
            if(coreCmsOrders!=null && coreCmsOrders.Count > 0)
            {
                var orderids = new List<string>();
                foreach(var coreCmsOrder in coreCmsOrders)
                {
                    orderids.Add(coreCmsOrder.orderId);
                }
                 coreCmsOrderItems = await _orderItemServices.QueryListByClauseAsync(p => orderids.Contains(p.orderId));
            }
            jm.data = new
            {
                model,
                modelItem1,
                modelItem2
                modelItem1 ,
                coreCmsOrderItems
            };
            jm.code = 0;
            //jm.data = model;