username@email.com
2024-05-15 5591c18dc3500bd3e0719bb6b28b26f7f9e7cb58
CoreCms.Net.Services/Order/CoreCmsPlanOrderServices.cs
@@ -36,6 +36,7 @@
using static SKIT.FlurlHttpClient.Wechat.Api.Models.ScanProductAddV2Request.Types.Product.Types;
using NPOI.SS.Formula.Functions;
using CoreCms.Net.Model.FromBody;
using Essensoft.Paylink.Alipay.Domain;
namespace CoreCms.Net.Services
@@ -101,9 +102,72 @@
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public async Task<AdminUiCallBack> DeleteByIdAsync(object id)
        public async Task<AdminUiCallBack> DeleteByIdAsync(object id,string userName)
        {
            return await _dal.DeleteByIdAsync(id);
            var jm = new AdminUiCallBack() ;
            try
            {
                //开始事务处理
                _unitOfWork.BeginTran();
                var order = await _dal.QueryByIdAsync(id);
                if (order.status == 2)  //&& string.IsNullOrEmpty(houtai)
                {
                    _unitOfWork.RollbackTran();
                    jm.code = 1;
                    jm.msg = "订单已经锁单不能重复锁单";
                    return jm;
                }
                order.upDataBy = userName;
                order.upDataTime = DateTime.Now;
                //order.keYongAmount = order.oldOrderAmount - order.orderAmount;
                    order.status = 2;
                //if (order.keYongAmount > 0)
                //{
                //    //修改用户余额
                //    var jmsss = await _coreCmsUserServices.UpdateBalance(order.userId, order.keYongAmount, "用户计划订单" + order.orderId + "款项结余");
                //}
                //}
                //校验后再创建订单
                var jmss = await _dal.UpdateAsync(order);
                _unitOfWork.CommitTran();
                jm.code = 0;
                jm.data = order;
                jm.msg = "锁单成功";
            }
            catch (Exception e)
            {
                _unitOfWork.RollbackTran();
                jm.code = 1;
                jm.msg = e.ToString();
            }
            return jm;
            //return await _dal.DeleteByIdAsync(id);
        }
        /// <summary>
@@ -111,9 +175,77 @@
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
        public async Task<AdminUiCallBack> DeleteByIdsAsync(int[] ids)
        public async Task<AdminUiCallBack> DeleteByIdsAsync(string[] ids, string userName)
        {
            return await _dal.DeleteByIdsAsync(ids);
            var jm = new AdminUiCallBack();
            try
            {
                //开始事务处理
                _unitOfWork.BeginTran();
                var orders = await _dal.QueryListByClauseAsync(p => ids.Contains(p.orderId), p => p.orderId, OrderByType.Asc, true);
                foreach (var order in orders)
                {
                    if (order.status != 2)  //&& string.IsNullOrEmpty(houtai)
                    {
                        order.upDataBy = userName;
                        order.upDataTime = DateTime.Now;
                        order.status = 2;
                        //校验后再创建订单
                        var jmss = await _dal.UpdateAsync(order);
                    }
                    //order.keYongAmount = order.oldOrderAmount - order.orderAmount;
                    //if (order.keYongAmount > 0)
                    //{
                    //    //修改用户余额
                    //    var jmsss = await _coreCmsUserServices.UpdateBalance(order.userId, order.keYongAmount, "用户计划订单" + order.orderId + "款项结余");
                    //}
                    //}
                }
                _unitOfWork.CommitTran();
                jm.code = 0;
                jm.data = orders;
                jm.msg = "锁单成功";
            }
            catch (Exception e)
            {
                _unitOfWork.RollbackTran();
                jm.code = 1;
                jm.msg = e.ToString();
            }
            return jm;
            //return await _dal.DeleteByIdsAsync(ids);
        }
        #endregion
@@ -155,7 +287,7 @@
        /// 获取计划订单列表微信小程序
        /// </summary>
        /// <returns></returns>
        public async Task<WebApiCallBack> GetOrderList(int status = -1, int userId = 0, int page = 1, int limit = 5)
        public async Task<WebApiCallBack> GetOrderList(int status = -1, int userId = 0, int page = 1, int limit = 5, int money = 0)
        {
            var jm = new WebApiCallBack { status = true };
@@ -171,6 +303,10 @@
                where = where.And(p => p.userId == userId);
            }
            if (money > 0)
            {
                where = where.And(p => p.keYongAmount > p.huaFeiAmount);
            }
            var list = await _dal.QueryPageAsync(where, p => p.createTime, OrderByType.Desc, page, limit);
            if (list!=null && list.Count>0)
@@ -179,7 +315,7 @@
                {
                    //获取相关状态描述说明转换
                    order.statusText = EnumHelper.GetEnumDescriptionByValue<GlobalEnumVars.PlanOrderTiJiao>(order.status);
                    order.keYongAmount = order.keYongAmount - order.huaFeiAmount;
                }
            }
            jm.data = new
@@ -219,11 +355,11 @@
                var order  = await _dal.QueryByIdAsync(orderId);
                var oldorderAmount = order.orderAmount;
                if (order.status == 2 && string.IsNullOrEmpty(houtai))
                if (order.status == 2 && string.IsNullOrEmpty(houtai))
                {
                    _unitOfWork.RollbackTran();
                    jm.status = false;
                    jm.otherData = "订单已经提交不能修改";
                    jm.otherData = "订单已经锁单不能修改";
                    return jm;
                }
@@ -249,32 +385,36 @@
                }
                order.orderAmount = orderAmount;
                order.keYongAmount = order.oldOrderAmount - order.orderAmount;
                order.keYongAmount = order.oldOrderAmount - order.orderAmount ;
                if (order.keYongAmount < 0)
                if (order.keYongAmount < order.huaFeiAmount)
                {
                    _unitOfWork.RollbackTran();
                    jm.status = false;
                    jm.otherData = "订单金额超出计划金额";
                    jm.otherData = "可用余额不足";
                    return jm;
                }
                var keYongAmount = oldorderAmount - orderAmount;
                //var keYongAmount = oldorderAmount - orderAmount;
                //if (order.status == 1)
                //{
                //    keYongAmount = order.oldOrderAmount - order.orderAmount;
                //}
                if (status == 2)
                {
                    order.status = 2;
                //if (status == 2)
                //{
                //    order.status = 2;
                    if (keYongAmount != 0)
                    {
                        //修改用户余额
                //    if (keYongAmount != 0)
                //    {
                //        //修改用户余额
                        var jmsss = await _coreCmsUserServices.UpdateBalance(order.userId, keYongAmount, "用户计划订单"+ order.orderId + "款项结余");
                    }
                //        var jmsss = await _coreCmsUserServices.UpdateBalance(order.userId, keYongAmount, "用户计划订单"+ order.orderId + "款项结余");
                //    }
                        
                    
                    
                }
                //}
                //校验后再创建订单
@@ -337,6 +477,8 @@
                if (user != null)
                {
                    order.userId = user.id;
                    user.isplanorder = "是";
                  var users = await _unitOfWork.GetDbClient().Updateable(user).ExecuteCommandAsync();
                }
                else
                {
@@ -353,6 +495,8 @@
                    if (user != null)
                    {
                        order.userId = user.id;
                        user.isplanorder = "是";
                        var users = await _unitOfWork.GetDbClient().Updateable(user).ExecuteCommandAsync();
                    }
                    else
                    {
@@ -428,6 +572,7 @@
                order.orderAmount = orderAmount;
                order.oldOrderAmount = orderAmount;
                order.keYongAmount = 0;
                order.huaFeiAmount = 0;
                //校验后再创建订单