移动系统liao
2024-11-12 1cb49b04ae6709e6054c328f5ed12bff9ca014c8
CoreCms.Net.Web.WebApi/Controllers/OrderController.cs
@@ -1,15 +1,16 @@
/***********************************************************************
 *            Project: CoreCms
 *        ProjectName: 核心内容管理系统
 *                Web: https://www.corecms.net
 *             Author: 大灰灰
 *              Email: jianweie@163.com
 *         CreateTime: 2021/1/31 21:45:10
 *            Project: baifenBinfa
 *        ProjectName: 百分兵法管理系统
 *                Web: http://chuanyin.com
 *             Author:
 *              Email:
 *         CreateTime: 202403/02
 *        Description: 暂无
 ***********************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using CoreCms.Net.Auth.HttpContextUser;
@@ -22,6 +23,7 @@
using CoreCms.Net.Model.FromBody;
using CoreCms.Net.Model.ViewModels.DTO;
using CoreCms.Net.Model.ViewModels.UI;
using CoreCms.Net.Services;
using CoreCms.Net.Utility.Extensions;
using CoreCms.Net.Utility.Helper;
using Microsoft.AspNetCore.Authorization;
@@ -51,7 +53,9 @@
        private readonly ICoreCmsUserServices _userServices;
        private readonly ICoreCmsClerkServices _clerkServices;
        private readonly ICoreCmsInvoiceServices _invoiceServices;
        private readonly ICoreCmsPlanOrderServices _planOrderServices;
        private readonly ICoreCmsPlanOrderItemServices _planOrderItemServices;
        private readonly ICoreCmsOrderItemServices _orderItemServices;
        /// <summary>
        /// 构造函数
@@ -61,7 +65,10 @@
        , ICoreCmsBillAftersalesServices aftersalesServices
        , ICoreCmsSettingServices settingServices
        , ICoreCmsAreaServices areaServices
        , ICoreCmsBillReshipServices reshipServices, ICoreCmsShipServices shipServices, ICoreCmsLogisticsServices logisticsServices, ICoreCmsOrderDistributionModelServices orderDistributionModelServices, IRedisOperationRepository redisOperationRepository, ICoreCmsUserServices userServices, ICoreCmsClerkServices clerkServices, ICoreCmsInvoiceServices invoiceServices)
        , ICoreCmsBillReshipServices reshipServices, ICoreCmsShipServices shipServices, ICoreCmsLogisticsServices logisticsServices, ICoreCmsOrderDistributionModelServices orderDistributionModelServices, IRedisOperationRepository redisOperationRepository, ICoreCmsUserServices userServices, ICoreCmsClerkServices clerkServices, ICoreCmsInvoiceServices invoiceServices
          , ICoreCmsPlanOrderServices planOrderServices
            , ICoreCmsPlanOrderItemServices planOrderItemServices
               , ICoreCmsOrderItemServices orderItemServices)
        {
            _user = user;
            _orderServices = orderServices;
@@ -76,6 +83,9 @@
            _userServices = userServices;
            _clerkServices = clerkServices;
            _invoiceServices = invoiceServices;
            _planOrderServices = planOrderServices;
            _planOrderItemServices = planOrderItemServices;
            _orderItemServices = orderItemServices;
        }
@@ -223,7 +233,7 @@
                        entity.ushipId, entity.storeId, entity.ladingName, entity.ladingMobile, entity.memo,
                        entity.point, entity.couponCode, entity.source, entity.scene, entity.taxType, entity.taxName,
                        entity.taxCode, entity.objectId, entity.teamId, entity.requireOrder, entity.requiredFundType,
                        entity.traceId);
                        entity.traceId, entity.planorderId);
                }
                catch (Exception e)
                {
@@ -370,6 +380,131 @@
        #endregion
        #region 获取计划订单列表微信小程序=======================================================
        /// <summary>
        /// 获取计划订单列表微信小程序
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        [Authorize]
        public async Task<WebApiCallBack> GetPlanOrderList([FromBody] GetOrderListPost entity)
        {
            var jm = await _planOrderServices.GetOrderList(entity.status, _user.ID, entity.page, entity.limit, entity.money);
            return jm;
        }
        #endregion
        #region 获取计划订单详情=======================================================
        /// <summary>
        /// 获取计划订单详情
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        [Authorize]
        public async Task<WebApiCallBack> GetPlanOrder([FromBody] FMStringId entity)
        {
            var jm = new WebApiCallBack();
            var model = await _planOrderServices.QueryByIdAsync(entity.id);
            if (model == null)
            {
                jm.msg = "不存在此信息";
                return jm;
            }
            //获取相关状态描述说明转换
            model.statusText = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.PlanOrderTiJiao>(model.status);
            model.keYongAmount = model.keYongAmount - model.huaFeiAmount;
            var modelItem = await _planOrderItemServices.QueryListByClauseAsync(p => p.orderId == entity.id && p.isOld == false, p => p.specification, OrderByType.Asc);
            var modelItem2 = await _planOrderItemServices.QueryListByClauseAsync(p => p.orderId == entity.id && p.isOld == true, p => p.specification, OrderByType.Asc);
            foreach (var coreCmsPlanOrderItem in modelItem)
            {
                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.code = 0;
            jm.status = true;
            jm.data = new
            {
                model,
                modelItem,
                coreCmsOrderItems
            };
            return jm;
        }
        #region 修改计划订单==================================================
        /// <summary>
        /// 修改计划订单
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        [Authorize]
        public async Task<WebApiCallBack> UpdatePlanOrder([FromBody] CreateOrder entity)
        {
            var jm = new WebApiCallBack();
                try
                {
                    if (string.IsNullOrEmpty(entity.itemIds))
                    {
                        jm.data = 10000;
                        jm.msg = GlobalErrorCodeVars.Code10000;
                        return jm;
                    }
                    jm = await _planOrderServices.ToUpdate(entity.orderId , _user.ID, _user.Name, entity.status, entity.itemIds, entity.itemNums);
                }
                catch (Exception e)
                {
                    jm.msg = "数据处理异常";
                    jm.otherData = e;
                }
            return jm;
        }
        #endregion
        #endregion
        #region 取消订单====================================================
        /// <summary>