From 4fa007df2dd1b9666f414954464db1d4e8a7e1e0 Mon Sep 17 00:00:00 2001
From: 小飞侠 <8277136+liaoxujun@user.noreply.gitee.com>
Date: 星期二, 07 四月 2026 15:09:40 +0800
Subject: [PATCH] no message

---
 cylsg/cylsg.Application/Transfer/UserTransfer.cs |  144 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 130 insertions(+), 14 deletions(-)

diff --git a/cylsg/cylsg.Application/Transfer/UserTransfer.cs b/cylsg/cylsg.Application/Transfer/UserTransfer.cs
index 137496d..2243c13 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&&x.IsGuding==true);
+                        if(userBd != null)
+                        {
+                            IsGuDing = true;
+                        }
+                    }
+
+                    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");
+                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== "瀵瑰簲鍗曞彿宸茶秴鍑洪噸璇曟湡,璇锋煡鍗曠‘璁ゅ悗鍐冲畾鏄惁鎹㈠崟璇锋眰"))
+           if(!((TOrder.ErrorCode== "INVALID_REQUEST"&&TOrder.ErrorMsg== "瀵瑰簲鍗曞彿宸茶秴鍑洪噸璇曟湡,璇锋煡鍗曠‘璁ゅ悗鍐冲畾鏄惁鎹㈠崟璇锋眰")|| (TOrder.ErrorCode == "NOT_ENOUGH")||(TOrder.FailAmount>0)))
             {
                 //涓嶆弧瓒冲啿娲楁敮浠樿姹�
                 throw Oops.Oh("涓嶆弧瓒抽噸鏂版敮浠樿姹�");
@@ -366,7 +391,25 @@
                    
             var rs = new BaseRepository<UserWorker>();
             var userid = TOrder.UserID;
-            var Money =  (TOrder.FailAmount??0)/100m;
+            decimal Money = 0;
+
+            if (TOrder.FailAmount==null)
+            {
+                decimal overTotal = 0;
+                if (TOrder.BatchId == null)
+                {
+                    overTotal = 0;//娌℃湁鏀粯鍗曪紝璇佹槑娌℃湁鏀粯
+                }
+                else
+                    overTotal = (TOrder.SuccessAmount??0)/100m;
+
+
+                //杩欎釜鏄病鏈夊垱寤烘彁浜ゅ崟 鎸夊師浠烽噸鏂版敮浠�
+                Money = ((TOrder.TotalAmount??0)/100m)-overTotal;
+              
+            }
+            else
+             Money =  (TOrder.FailAmount??0)/100m;
             if(Money<0.03m)
             {
                 throw Oops.Oh("澶辫触閲戦涓嶈冻0.3鍏冧笉鑳藉啀娆″彂璧锋敮浠�");
@@ -406,9 +449,9 @@
 
                     var UserTiXianDetailwork = new BaseRepository<UserTiXianDetail>();
                     var WeChatTransferOrderwork = new BaseRepository<WeChatTransferOrder>();
-                    if ((uw != null) && (((uw.TiXianZonge ?? 0) - (uw.YiTiXianJine ?? 0)) >= Money))
+                    if ((uw != null) && Money<= (uw.TiXianZonge ?? 0))
                     {
-                        //婊¤冻鏉′欢锛屽彂璧锋敮浠�
+                        //婊¤冻鏉′欢锛屽彂璧锋敮浠� 杩欓噷涓嶅垽鏂敮浠橀噾棰濆ぇ楸煎彲鎻愮幇浣欓
                         var TransferOrder = new WeChatTransferOrder
                         {
 
@@ -509,7 +552,7 @@
                     }
                     else
                     {
-                        throw Oops.Oh("绯荤粺閿欒");
+                        throw Oops.Oh("娌℃湁宸ヤ綔璧勬枡鎴栬�呮槸鎻愮幇棰濆害宸茬粡澶т綑鎬婚浜�");
                     }
 
                 }
@@ -546,7 +589,7 @@
         }
 
         /// <summary>
-        /// 閲嶆柊鍒涘缓鏂扮殑鏀粯鍗�
+        /// 鍒涘缓鏂扮殑鏀粯鍗�
         /// </summary>
         /// <param name="ids"></param>
         /// <returns></returns>
@@ -555,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 閿欒
@@ -579,7 +623,7 @@
             {
                 throw Oops.Oh("涓�澶╄浆璐﹂噾棰濆繀椤诲皬浜�2000");
             }
-
+        
             var totle = _redisService.Get<decimal>(StaticStringDef.TransferMoneyManKey + Param.UserID.ToString());
             if (totle + Param.Money > 2000)
             {
@@ -865,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
     {
@@ -943,4 +1056,7 @@
 
     }
 
+
+    
+
 }

--
Gitblit v1.9.1