QiFeng.ZWY.Dal/DalExt/OrderExtDal.cs

(开头部分) 82KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using QiFeng.LMSD.DBUtility;
using QiFeng.LMSD.Model;
using QiFeng.LMSD.Model.ApiResultModel;
using QiFeng.LMSD.Model.EnumModel;
using QiFeng.LMSD.Utility;
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace QiFeng.LMSD.Dal.DalExt
{
    public class OrderExtDal : BaseDal<OrderExtDal>
    {
        /// <summary>
        /// 支付回调被锁对象
        /// </summary>
        public static object callBackExtDalLocker = new object();
        public static object subOrderLocker = new object();



        #region 业务实现

        /// <summary>
        /// 提交订单
        /// </summary>
        /// <param name="commIds">商品ID集合,用逗号隔开</param>
        /// <param name="commNums">商品数量集合,用逗号隔开,顺序与商品Id对应</param>
        /// <param name="consumerId">用户Id</param>
        /// <param name="consumerReceivingId">用户收货地址Id</param>
        /// <returns></returns>
        public int SubOrder(Consumer consumerModel, string commIds, string commNums, int consumerReceivingId, ConsumerMembers consumerMemberModel)
        {
            lock (subOrderLocker)
            {
                if (string.IsNullOrEmpty(commIds) || string.IsNullOrEmpty(commNums) || consumerReceivingId == 0)
                    throw new FormatException("非法请求参数");

                if (commIds.Substring(0, 1).Equals(","))
                    commIds.Substring(1, commIds.Length - 1);

                var commIdList = commIds.Split(',').ToList();
                var commNumList = commNums.Split(',').ToList();

                var shoppingCartDs = ShoppingCartDal.Instance.GetList(" ConsumerId = " + consumerModel.Id + " AND CommId IN (" + commIds + ") ");
                var shoppingCartList = ServicesHelper.DataSetToIList<ShoppingCart>(shoppingCartDs).ToList();

                if (commIdList == null || commIdList.Count <= 0 || commNumList == null || commNumList.Count <= 0 || commNumList.Count != commIdList.Count)
                    throw new FormatException("商品与商品数量不正确");

                var commList = GetCommList(" Id IN (" + commIds + ") ");

                if (commList.Any(u => u.IsTicket) && commList.Where(u => u.IsTicket).ToList().Count != commList.Count)
                    throw new FormatException("门票不可与其他商品一起结算");

                var result = 0;
后面还有 1625 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。