小飞侠
2026-04-07 3ddd2f6bbf6757a35f935e386fa43552a9560487
cylsg/cylsg.Application/Transfer/UserTransfer.cs
@@ -1,4 +1,5 @@
using cylsg.Core;
using cylsg.Model.OrderModel;
using cylsg.Model.TransferOrder;
using cylsg.Model.UserModel;
using cylsg.Model.utilityViewModel;
@@ -90,8 +91,25 @@
                    {
                        throw Oops.Oh("该用户没有收入");
                    }
                    if ((uw.TiXianZonge - uw.YiTiXianJine) < Money)
                    bool IsGuDing = false;
                    var bdct = new BaseRepository<OrderBidding>();
                    if (bdct == null)
                    {
                      var userBd=     await bdct.GetFirstAsync(x=>x.WorkerUserId==userid);
                        if(userBd != null)
                        {
                            IsGuDing = userBd.IsGuding??false;
                        }
                    }
                    if ((uw.TiXianZonge - uw.YiTiXianJine-(IsGuDing?300:0)) < Money)
                    {
                        if(IsGuDing)
                        {
                            throw Oops.Oh("用户余额不足,灵活用工宿舍押金300元");
                        }
                        else
                        throw Oops.Oh("用户余额不足");
                    }
@@ -254,11 +272,11 @@
        }
        /// <summary>
        /// 获取为支付列表
        /// 获取为未付列表
        /// </summary>
        [AllowAnonymous]
        [HttpPost]
        [ApiExplorerSettings(IgnoreApi = true)]
        [ApiExplorerSettings(IgnoreApi = true)]
        public async Task<TransferOderOut> GetTransferOder(SearchTransferOder param)
        {
@@ -291,9 +309,14 @@
            else
                //有一笔大余0 的视为失败
                SearchList= SearchList.And(x => x.FailNum ==0&&x.BatchStatus=="FINISHED");
             var data=await WeChatTransferOrderwork.AsQueryable().Where(SearchList).Select(x=>new WeChatTransferOrder
             var data=await WeChatTransferOrderwork.AsQueryable().Includes(x => x.user, u => u.Worek).Where(SearchList).Select(x=>new WeChatTransferOrder
             {
               BatchRemark= SqlFunc.Subqueryable<UserWorker>().Where(uw=>uw.UserId==x.UserID).Select(uw => uw.name+ uw.IdCode)
                 UserName=x.user.Worek.name,
                 UserIDCode = x.user.Worek.IdCode,
                 ItCode = x.user.ItCode,
                 YiTiXianGz = x.user.Worek.YiTiXianJine,
                 ZhongGz = x.user.Worek.TiXianZonge,
                 BatchRemark = SqlFunc.Subqueryable<UserWorker>().Where(uw=>uw.UserId==x.UserID).Select(uw => uw.name+ uw.IdCode)
             },true).ToPageListAsync(pageModel.PageIndex, pageModel.PageSize,pageModel.TotalCount);
            //var data = await WeChatTransferOrderwork.GetPageListAsync(SearchList, pageModel);
              
@@ -566,7 +589,7 @@
        }
        /// <summary>
        /// 重新创建新的支付单
        /// 创建新的支付单
        /// </summary>
        /// <param name="ids"></param>
        /// <returns></returns>
@@ -575,6 +598,7 @@
        [ApiExplorerSettings(IgnoreApi = true)]
        public async Task<WeChatTransferOrder> CreateTransferOder(CreatTransferOderIN Param)
        {
            if(Param.Key!= DateTime.Now.ToString("yyyy-MM-dd:HH")+"CreatTransfer")
            {
                //key 错误
@@ -599,7 +623,7 @@
            {
                throw Oops.Oh("一天转账金额必须小于2000");
            }
            var totle = _redisService.Get<decimal>(StaticStringDef.TransferMoneyManKey + Param.UserID.ToString());
            if (totle + Param.Money > 2000)
            {
@@ -913,32 +937,34 @@
            }
            RefAsync<int> title = 0;
            var BR = new BaseRepository<WeChatTransferOrder>();
          var data=  await BR.AsQueryable().Includes(x=>x.user,u=>u.Worek).Select(x=>new WeChatTransferOrder
          {
               UserIDCode= x.user.Worek.IdCode,
                UserName=x.user.Worek.name,
                 TotalAmount=x.TotalAmount,
               TotalNum=x.TotalNum,
              BatchId=x.BatchId,
               SuccessNum=x.SuccessNum,
              OutBatchNumber=x.OutBatchNumber,
              BatchName = x.BatchName,
              BatchStatus=x.BatchStatus,
              UserID= x.UserID,
              UpDataTime=x.UpDataTime,
              YiTiXianGz=x.user.Worek.YiTiXianJine,
               ZhongGz=x.user.Worek.TiXianZonge,
              ItCode=x.user.ItCode,
              SuccessAmount= x.SuccessAmount,
              FailAmount=x.FailAmount
            var data = await BR.AsQueryable().Includes(x => x.user, u => u.Worek).Select(x => new WeChatTransferOrder
            {
                Id = 0,
                 UserIDCode = x.user.Worek.IdCode,
                UserName = x.user.Worek.name,
                TotalAmount = x.TotalAmount,
                TotalNum = x.TotalNum,
                BatchId = x.BatchId,
                SuccessNum = x.SuccessNum,
                OutBatchNumber = x.OutBatchNumber,
                BatchName = x.BatchName,
                BatchStatus = x.BatchStatus,
                UserID = x.UserID,
                UpDataTime = x.UpDataTime,
                YiTiXianGz = x.user.Worek.YiTiXianJine,
                ZhongGz = x.user.Worek.TiXianZonge,
                ItCode = x.user.ItCode,
                SuccessAmount = x.SuccessAmount,
                FailAmount = x.FailAmount,
                CreateTime = x.CreateTime
          }).MergeTable().WhereIF(where != null, where).OrderByIF(order!=null,order,Param.Order?.Des?? OrderByType.Asc).ToPageListAsync(Param.Page.PageIndex,Param.Page.PageSize, title);
            },true).MergeTable().WhereIF(where != null, where).OrderByIF(order!=null,order,Param.Order?.Des?? OrderByType.Asc).ToPageListAsync(Param.Page.PageIndex,Param.Page.PageSize, title);