From 3ddd2f6bbf6757a35f935e386fa43552a9560487 Mon Sep 17 00:00:00 2001
From: 小飞侠 <8277136+liaoxujun@user.noreply.gitee.com>
Date: 星期二, 07 四月 2026 14:23:35 +0800
Subject: [PATCH] 修改灵活用功

---
 cylsg/cylsg.Application/Transfer/UserTransfer.cs |   80 ++++++++++++++++++++++++++-------------
 1 files changed, 53 insertions(+), 27 deletions(-)

diff --git a/cylsg/cylsg.Application/Transfer/UserTransfer.cs b/cylsg/cylsg.Application/Transfer/UserTransfer.cs
index 60a5fad..2942446 100644
--- a/cylsg/cylsg.Application/Transfer/UserTransfer.cs
+++ b/cylsg/cylsg.Application/Transfer/UserTransfer.cs
@@ -1,4 +1,5 @@
 锘縰sing 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);
 
          
 

--
Gitblit v1.9.1