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 |  118 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 108 insertions(+), 10 deletions(-)

diff --git a/cylsg/cylsg.Application/Transfer/UserTransfer.cs b/cylsg/cylsg.Application/Transfer/UserTransfer.cs
index a464ff8..2942446 100644
--- a/cylsg/cylsg.Application/Transfer/UserTransfer.cs
+++ b/cylsg/cylsg.Application/Transfer/UserTransfer.cs
@@ -1,6 +1,8 @@
 锘縰sing cylsg.Core;
+using cylsg.Model.OrderModel;
 using cylsg.Model.TransferOrder;
 using cylsg.Model.UserModel;
+using cylsg.Model.utilityViewModel;
 using cylsg.utility;
 using cylsg.utility.Extend;
 using Cylsg.Filter;
@@ -19,6 +21,7 @@
 using System.Text;
 using System.Threading.Tasks;
 using TencentCloud.Ame.V20190916.Models;
+using TencentCloud.Domain.V20180808.Models;
 using static SKIT.FlurlHttpClient.Wechat.Api.Models.ChannelsLeadsGetLeadsInfoByComponentIdResponse.Types;
 
 namespace cylsg.Application.Transfer
@@ -88,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("鐢ㄦ埛浣欓涓嶈冻");
                     }
 
@@ -252,11 +272,11 @@
         }
 
         /// <summary>
-        /// 鑾峰彇涓烘敮浠樺垪琛�
+        /// 鑾峰彇涓烘湭浠樺垪琛�
         /// </summary>
         [AllowAnonymous]
         [HttpPost]
-        [ApiExplorerSettings(IgnoreApi = true)]
+        [ApiExplorerSettings(IgnoreApi = true)]                                           
         public async Task<TransferOderOut> GetTransferOder(SearchTransferOder param)
         {
 
@@ -285,13 +305,18 @@
                 SearchList = SearchList.And(x =>x.IsSetOK==param.IsSetOK);
             }
             if (param.HasSendOk == false)
-                SearchList= SearchList.And(x =>( x.FailNum >0||x.BatchStatus!= "FINISHED")||(x.BatchStatus==null&&x.ErrorCode== "NOT_ENOUGH")); //NOT_ENOUGH 鏄处鎴锋病鏈夐挶
+                SearchList= SearchList.And(x =>( x.FailNum >0||x.BatchStatus!= "FINISHED")||(x.BatchStatus==null&&x.ErrorCode== "NOT_ENOUGH")||x.FailAmount>0); //NOT_ENOUGH 鏄处鎴锋病鏈夐挶
             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);
               
@@ -358,7 +383,7 @@
             {
                 throw Oops.Oh("宸茬粡澶勭悊涓嶅啀澶勭悊");
             }
-           if(!((TOrder.ErrorCode== "INVALID_REQUEST"&&TOrder.ErrorMsg== "瀵瑰簲鍗曞彿宸茶秴鍑洪噸璇曟湡,璇锋煡鍗曠‘璁ゅ悗鍐冲畾鏄惁鎹㈠崟璇锋眰")|| (TOrder.ErrorCode == "NOT_ENOUGH")))
+           if(!((TOrder.ErrorCode== "INVALID_REQUEST"&&TOrder.ErrorMsg== "瀵瑰簲鍗曞彿宸茶秴鍑洪噸璇曟湡,璇锋煡鍗曠‘璁ゅ悗鍐冲畾鏄惁鎹㈠崟璇锋眰")|| (TOrder.ErrorCode == "NOT_ENOUGH")||(TOrder.FailAmount>0)))
             {
                 //涓嶆弧瓒冲啿娲楁敮浠樿姹�
                 throw Oops.Oh("涓嶆弧瓒抽噸鏂版敮浠樿姹�");
@@ -564,7 +589,7 @@
         }
 
         /// <summary>
-        /// 閲嶆柊鍒涘缓鏂扮殑鏀粯鍗�
+        /// 鍒涘缓鏂扮殑鏀粯鍗�
         /// </summary>
         /// <param name="ids"></param>
         /// <returns></returns>
@@ -573,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 閿欒
@@ -597,7 +623,7 @@
             {
                 throw Oops.Oh("涓�澶╄浆璐﹂噾棰濆繀椤诲皬浜�2000");
             }
-
+        
             var totle = _redisService.Get<decimal>(StaticStringDef.TransferMoneyManKey + Param.UserID.ToString());
             if (totle + Param.Money > 2000)
             {
@@ -883,9 +909,78 @@
         }
 
 
+        /// <summary>
+        /// 鑾峰彇鍒楄〃璇︽儏
+        /// </summary>
+        /// <returns></returns>
+        [HttpPost]
+        [AllowAnonymous]
+        public async Task<RetPageData<WeChatTransferOrder>> GetTransferOrder(SSPageByWhereOrder Param)
+        {
+            if (Param.Page == null)
+                throw Oops.Oh("鍙傛暟閿欒");
+
+            Expression<Func<WeChatTransferOrder, bool>> where = null;
+     
+
+            if (!string.IsNullOrEmpty( Param.Where as string))
+            {
+              //where =   CommonHelper.FormatWhereExpression<WeChatTransferOrder>(Param.Where);
+ where =   CommonHelper.FormatWhereExpression<WeChatTransferOrder>(Param.Where as string);
+
+            }
+            Expression<Func<WeChatTransferOrder, object>> order = null;
+            if (Param.Order?.Name!=null)
+            {
+                 order = CommonHelper.FormatPropertyExpression<WeChatTransferOrder>(Param.Order.Name);
+
+            }
+            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
+            {
+                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
+
+
+
+
+
+
+
+            },true).MergeTable().WhereIF(where != null, where).OrderByIF(order!=null,order,Param.Order?.Des?? OrderByType.Asc).ToPageListAsync(Param.Page.PageIndex,Param.Page.PageSize, title);
+
+         
+
+            Param.Page.TotalCount = title;
+             
+            return new RetPageData<WeChatTransferOrder>()
+            { 
+                 data= data,
+                  Page=Param.Page,
+             };
+;        }
+
+
     }
     /// <summary>
-    /// 
+    /// 鏀剁储
     /// </summary>
     public class SearchTransferOder
     {
@@ -961,4 +1056,7 @@
 
     }
 
+
+    
+
 }

--
Gitblit v1.9.1