From e5d1e6b8b71ad07f0055e39afa0019ba91b281ab Mon Sep 17 00:00:00 2001
From: username@email.com <yzy2002yzy@163.com>
Date: 星期一, 30 十二月 2024 14:58:30 +0800
Subject: [PATCH] 修改有效工价显示错误
---
cylsg/cylsg.Application/Transfer/UserTransfer.cs | 610 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 603 insertions(+), 7 deletions(-)
diff --git a/cylsg/cylsg.Application/Transfer/UserTransfer.cs b/cylsg/cylsg.Application/Transfer/UserTransfer.cs
index 4446678..759b681 100644
--- a/cylsg/cylsg.Application/Transfer/UserTransfer.cs
+++ b/cylsg/cylsg.Application/Transfer/UserTransfer.cs
@@ -81,7 +81,7 @@
}
if (string.IsNullOrEmpty(user.WxOpenId))
{
- throw Oops.Oh($"鐢ㄦ埛寰俊OpenID纭疄");
+ throw Oops.Oh($"鐢ㄦ埛寰俊纭澶辫触");
}
var uw = await rs.GetFirstAsync(x => x.UserId == userid);
if (uw == null)
@@ -105,7 +105,7 @@
var UserTiXianDetailwork = new BaseRepository<UserTiXianDetail>();
var WeChatTransferOrderwork = new BaseRepository<WeChatTransferOrder>();
- if ((uw != null) && ((uw.TiXianZonge - uw.YiTiXianJine) >= Money))
+ if ((uw != null) && (((uw.TiXianZonge??0) - (uw.YiTiXianJine??0)) >= Money))
{
//婊¤冻鏉′欢锛屽彂璧锋敮浠�
var TransferOrder = new WeChatTransferOrder
@@ -185,10 +185,11 @@
ZhiChuShouRu = 0,
YiTiXianJine = Money,
WeChatTransferOrderID = TransferOrder.Id,
+ Remark = "鐢ㄦ埛鎻愮幇"
});
//閽卞寘浣欓璋冩暣
- uw.YiTiXianJine += Money;
+ uw.YiTiXianJine = (uw.YiTiXianJine??0)+ Money;
uw.UpDataBy = uw.UserId.ToString();
uw.UpDataTime = DateTime.Now;
await rs.UpdateAsync(uw);
@@ -211,6 +212,10 @@
+ }
+ else
+ {
+ throw Oops.Oh("绯荤粺閿欒");
}
}
@@ -251,6 +256,7 @@
/// </summary>
[AllowAnonymous]
[HttpPost]
+ [ApiExplorerSettings(IgnoreApi = true)]
public async Task<TransferOderOut> GetTransferOder(SearchTransferOder param)
{
@@ -274,11 +280,20 @@
SearchList= SearchList.And(x => x.BatchStatus != lis);
}
}
+ if(param.IsSetOK!=null)
+ {
+ SearchList = SearchList.And(x =>x.IsSetOK==param.IsSetOK);
+ }
if (param.HasSendOk == false)
- SearchList= SearchList.And(x => x.BatchId == null);
+ SearchList= SearchList.And(x => x.FailNum >0||x.BatchStatus!= "FINISHED");
else
- SearchList= SearchList.And(x => x.BatchId != null);
- var data = await WeChatTransferOrderwork.GetPageListAsync(SearchList, pageModel);
+ //鏈変竴绗斿ぇ浣�0 鐨勮涓哄け璐�
+ SearchList= SearchList.And(x => x.FailNum ==0&&x.BatchStatus=="FINISHED");
+ var data=await WeChatTransferOrderwork.AsQueryable().Where(SearchList).Select(x=>new WeChatTransferOrder
+ {
+ 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);
return new TransferOderOut
{
@@ -293,7 +308,7 @@
/// <returns></returns>
[AllowAnonymous]
[HttpGet]
- // [ApiExplorerSettings(IgnoreApi = true)]
+ [ApiExplorerSettings(IgnoreApi = true)]
public async Task<bool> ReSendTransferOder([FromQuery] string ids)
{
var itmsRes = new BaseRepository<WeChatTransferOrder>();
@@ -312,6 +327,546 @@
}
return true;
+
+
+
+ }
+
+ /// <summary>
+ /// 閲嶆柊寤哄崟 鏀粯
+ /// </summary>
+ /// <param name="id"> 璁㈠崟ID</param>
+ /// <returns></returns>
+ [AllowAnonymous]
+ [HttpGet]
+ [ApiExplorerSettings(IgnoreApi = true)]
+ public async Task ReSendCreadTransferMoney([FromQuery] string id)
+ {
+
+
+ var itmsRes = new BaseRepository<WeChatTransferOrder>();
+ if (string.IsNullOrEmpty(id))
+ throw Oops.Oh("鍙傛暟閿欒");
+
+
+ var TOrder = await itmsRes.GetByIdAsync(id.toInt());
+ if (TOrder == null)
+ {
+ throw Oops.Oh("娌℃湁璁㈠崟闇�瑕佸鐞�");
+ }
+ if(TOrder.IsSetOK ==true)
+ {
+ throw Oops.Oh("宸茬粡澶勭悊涓嶅啀澶勭悊");
+ }
+ if(!((TOrder.ErrorCode== "INVALID_REQUEST"&&TOrder.ErrorMsg== "瀵瑰簲鍗曞彿宸茶秴鍑洪噸璇曟湡,璇锋煡鍗曠‘璁ゅ悗鍐冲畾鏄惁鎹㈠崟璇锋眰")|| (TOrder.ErrorCode == "NOTENOUGH" )))
+ {
+ //涓嶆弧瓒冲啿娲楁敮浠樿姹�
+ throw Oops.Oh("涓嶆弧瓒抽噸鏂版敮浠樿姹�");
+ }
+
+ var rs = new BaseRepository<UserWorker>();
+ var userid = TOrder.UserID;
+ decimal Money = 0;
+ if (TOrder.FailAmount==null&&TOrder.BatchId==null)
+ {
+ //杩欎釜鏄病鏈夊垱寤烘彁浜ゅ崟 鎸夊師浠烽噸鏂版敮浠�
+ Money = (TOrder.TotalAmount??0)/100m;
+ }
+ else
+
+ Money = (TOrder.FailAmount??0)/100m;
+ if(Money<0.03m)
+ {
+ throw Oops.Oh("澶辫触閲戦涓嶈冻0.3鍏冧笉鑳藉啀娆″彂璧锋敮浠�");
+ }
+
+ if (await _redisService.TryLock(StaticStringDef.TransferMoneyLockKey + userid.ToString(), 300))
+ {
+
+ try
+ {
+ var UserRs = new BaseRepository<User>();
+ var user = await UserRs.GetByIdAsync(userid);
+ if (user == null)
+ {
+ throw Oops.Oh($"娌℃湁鎵惧埌鐢ㄦ埛");
+ }
+ if (string.IsNullOrEmpty(user.WxOpenId))
+ {
+ throw Oops.Oh($"鐢ㄦ埛寰俊OpenID纭");
+ }
+ var uw = await rs.GetFirstAsync(x => x.UserId == userid);
+ if (uw == null)
+ {
+ throw Oops.Oh("璇ョ敤鎴锋病鏈夋敹鍏�");
+ }
+
+
+
+ var totle = _redisService.Get<decimal>(StaticStringDef.TransferMoneyManKey + userid.ToString());
+ if (totle + Money > 2000)
+ {
+ throw Oops.Oh("鎻愮幇閲戦涓嶅彲瓒呭嚭2000");
+ }
+
+
+
+
+ var UserTiXianDetailwork = new BaseRepository<UserTiXianDetail>();
+ var WeChatTransferOrderwork = new BaseRepository<WeChatTransferOrder>();
+ if ((uw != null) && Money<= (uw.TiXianZonge ?? 0))
+ {
+ //婊¤冻鏉′欢锛屽彂璧锋敮浠� 杩欓噷涓嶅垽鏂敮浠橀噾棰濆ぇ楸煎彲鎻愮幇浣欓
+ var TransferOrder = new WeChatTransferOrder
+ {
+
+ CreateBy = uw.UserId.ToString(),
+ CreateTime = DateTime.Now,
+ // BatchId = _redisService.Get32sn(),
+ OutBatchNumber = _redisService.Get32sn(),
+ Remake = "宸濆嵃宸ヨ祫鏀粯",
+ TransferDetailList = new List<WeChatTransferItem>(),
+ UserID = uw.UserId,
+ RemakeDes = "琛ュ厖鍙戣捣鏀粯" ,
+ WeChatTransferOrderPrId = TOrder.Id
+
+
+ };
+ try
+ {
+
+ await UserTiXianDetailwork.AsTenant().BeginTranAsync();
+
+
+
+
+ var moneylist = Money;
+
+ var maxPayItem = Convert.ToDecimal(App.Configuration["WechartPay:PayMoneyMax"].toInt()); ;
+ while ((moneylist > maxPayItem))
+ {
+ TransferOrder.TransferDetailList.Add(new WeChatTransferItem
+ {
+ CreateBy = uw.UserId.ToString(),
+ CreateTime = TransferOrder.CreateTime,
+ IsEn = true,
+ OpenId = user.WxOpenId,
+ OutDetailNumber = _redisService.Get32sn(),
+
+ TransferAmount = (int)maxPayItem * 100,
+ TransferRemark = "宸濆嵃宸ヨ祫鏀粯"
+
+
+
+ });;
+
+ moneylist -= maxPayItem;
+ }
+ if (moneylist <= 0.3m)
+ {
+ //濡傛灉杩欓噷浣庝簬0.3姣涳紝灏嗙ぞ鍖洪妫�锛岀暀涓嬫澶勭悊
+ Money -= moneylist;
+ }
+ else
+
+ {
+ TransferOrder.TransferDetailList.Add(new WeChatTransferItem
+ {
+ CreateBy = uw.UserId.ToString(),
+ CreateTime = TransferOrder.CreateTime,
+ IsEn = true,
+ OpenId = user.WxOpenId,
+ OutDetailNumber = _redisService.Get32sn(),
+
+ TransferAmount = (int)(moneylist * 100),
+ TransferRemark = "宸濆嵃宸ヨ祫鏀粯",
+
+ });
+ }
+
+ TransferOrder.TotalAmount = (int)(Money * 100);
+ TransferOrder.TotalNum = TransferOrder.TransferDetailList.Count();
+
+ TransferOrder = await WeChatTransferOrderwork.AsSugarClient().InsertNav(TransferOrder).Include(x => x.TransferDetailList).ExecuteReturnEntityAsync();
+
+ TOrder.IsSetOK = true;
+ TOrder.RemakeDes = "宸茬粡閲嶆柊寤虹珛鏀粯璁㈠崟 id="+TransferOrder.Id.ToString();
+ TOrder.UpDataBy = "閲嶆柊绠�鍗曟敮浠楢PI";
+ TOrder.UpDataTime= DateTime.Now;
+ await WeChatTransferOrderwork.UpdateAsync(TOrder);
+
+
+
+ await UserTiXianDetailwork.AsTenant().CommitTranAsync();
+
+ totle += Money;
+ //璁剧疆姣忔棩鎻愮幇闄愰
+ _redisService.Add(StaticStringDef.TransferMoneyManKey + userid.ToString(), totle, 60 * 60 * 24);
+ //鍙戣捣鏀粯
+ await InitQMessages.SendMessageAsync(InitQMessages.WxTransfer, TransferOrder.Id.ToString());
+ }
+ catch (Exception)
+ {
+ await UserTiXianDetailwork.AsTenant().RollbackTranAsync();
+ throw;
+ }
+ // 鍙戣捣鏀粯
+
+
+
+ }
+ else
+ {
+ throw Oops.Oh("娌℃湁宸ヤ綔璧勬枡鎴栬�呮槸鎻愮幇棰濆害宸茬粡澶т綑鎬婚浜�");
+ }
+
+ }
+ catch (Exception)
+ {
+
+ throw;
+ }
+ finally
+ {
+ await _redisService.TryUnLock(StaticStringDef.TransferMoneyLockKey + userid.ToString());
+ }
+
+
+
+
+
+
+
+
+
+
+
+
+
+ }
+ else
+ throw Oops.Oh("璇蜂笉瑕侀绻侀噸澶嶇敵璇�");
+
+
+
+
+
+ }
+
+ /// <summary>
+ /// 閲嶆柊鍒涘缓鏂扮殑鏀粯鍗�
+ /// </summary>
+ /// <param name="ids"></param>
+ /// <returns></returns>
+ [AllowAnonymous]
+ [HttpPost]
+ [ApiExplorerSettings(IgnoreApi = true)]
+ public async Task<WeChatTransferOrder> CreateTransferOder(CreatTransferOderIN Param)
+ {
+ if(Param.Key!= DateTime.Now.ToString("yyyy-MM-dd:HH")+"CreatTransfer")
+ {
+ //key 閿欒
+ throw Oops.Oh("key閿欒");
+ }
+
+
+ var userbs= new BaseRepository<User>();
+ //鍒ゆ柇鏄惁鏄敤鎴�
+ var user= await userbs.GetByIdAsync(Param.UserID);
+ if (user == null)
+ throw Oops.Oh("娌℃湁鐢ㄦ埛");
+ if(Param.Money<=0.3m)
+ {
+ throw Oops.Oh("杞处閲戦蹇呴』澶т綑0.3鍏�");
+ }
+ if (Param.Money >2000)
+ {
+ throw Oops.Oh("涓�澶╄浆璐﹂噾棰濆繀椤诲皬浜�2000");
+ }
+ if (Param.Money > 2000)
+ {
+ throw Oops.Oh("涓�澶╄浆璐﹂噾棰濆繀椤诲皬浜�2000");
+ }
+
+ var totle = _redisService.Get<decimal>(StaticStringDef.TransferMoneyManKey + Param.UserID.ToString());
+ if (totle + Param.Money > 2000)
+ {
+ throw Oops.Oh("涓�澶╄浆璐﹂噾棰濆繀椤诲皬浜�2000");
+ }
+
+ decimal Money = Param.Money;
+
+ //婊¤冻鏉′欢锛屽彂璧锋敮浠�
+ var TransferOrder = new WeChatTransferOrder
+ {
+
+ CreateBy = Param.UserID.ToString(),
+ CreateTime = DateTime.Now,
+ // BatchId = _redisService.Get32sn(),
+ OutBatchNumber = _redisService.Get32sn(),
+ Remake = "宸濆嵃宸ヨ祫鏀粯",
+ TransferDetailList = new List<WeChatTransferItem>(),
+ UserID = Param.UserID,
+ RemakeDes = Param.Remake,
+
+
+
+
+
+ };
+
+
+
+ //鏄惁鍏宠仈鏀跺叆閽卞寘琛�
+ if (Param.HasAboutReCome)
+ {
+ var UserTiXianDetailwork = new BaseRepository<UserTiXianDetail>();
+ var WeChatTransferOrderwork = new BaseRepository<WeChatTransferOrder>();
+ var rs = new BaseRepository<UserWorker>();
+ var uw = await rs.GetFirstAsync(x => x.UserId == Param.UserID);
+ if(uw==null)
+ {
+ throw Oops.Oh("璇ョ敤鎴锋病鏈夊叧鑱旈挶鍖�");
+ }
+ //閿佸畾閽卞寘
+ if (await _redisService.TryLock(StaticStringDef.TransferMoneyLockKey + Param.UserID.ToString(), 300))
+ {
+ try
+ {
+ await UserTiXianDetailwork.AsTenant().BeginTranAsync();
+
+
+
+
+ var moneylist = Money;
+
+ var maxPayItem = Convert.ToDecimal(App.Configuration["WechartPay:PayMoneyMax"].toInt()); ;
+ while ((moneylist > maxPayItem))
+ {
+ TransferOrder.TransferDetailList.Add(new WeChatTransferItem
+ {
+ CreateBy = Param.UserID.ToString(),
+ CreateTime = TransferOrder.CreateTime,
+ IsEn = true,
+ OpenId = user.WxOpenId,
+ OutDetailNumber = _redisService.Get32sn(),
+
+ TransferAmount = (int)maxPayItem * 100,
+ TransferRemark = "宸濆嵃宸ヨ祫鏀粯",
+
+ });
+
+ moneylist -= maxPayItem;
+ }
+ if (moneylist <= 0.3m)
+ {
+ //濡傛灉杩欓噷浣庝簬0.3姣涳紝灏嗙ぞ鍖洪妫�锛岀暀涓嬫澶勭悊
+ Money -= moneylist;
+ }
+ else
+
+ {
+ TransferOrder.TransferDetailList.Add(new WeChatTransferItem
+ {
+ CreateBy = Param.UserID.ToString(),
+ CreateTime = TransferOrder.CreateTime,
+ IsEn = true,
+ OpenId = user.WxOpenId,
+ OutDetailNumber = _redisService.Get32sn(),
+
+ TransferAmount = (int)(moneylist * 100),
+ TransferRemark = "宸濆嵃宸ヨ祫鏀粯",
+
+ });
+ }
+
+ TransferOrder.TotalAmount = (int)(Money * 100);
+ TransferOrder.TotalNum = TransferOrder.TransferDetailList.Count();
+
+ TransferOrder = await WeChatTransferOrderwork.AsSugarClient().InsertNav(TransferOrder).Include(x => x.TransferDetailList).ExecuteReturnEntityAsync();
+ await UserTiXianDetailwork.InsertAsync(new UserTiXianDetail
+ {
+ CreateBy = Param.UserID.ToString(),
+ CreateTime = DateTime.Now,
+ UserId = user.Id,
+ ZhiChuShouRu = 0,
+ YiTiXianJine = Money,
+ WeChatTransferOrderID = TransferOrder.Id,
+ Remark = "鐢ㄦ埛鎻愮幇"
+
+ });
+ //閽卞寘浣欓璋冩暣
+ uw.YiTiXianJine = (uw.YiTiXianJine ?? 0) + Money;
+ uw.UpDataBy = uw.UserId.ToString();
+ uw.UpDataTime = DateTime.Now;
+ await rs.UpdateAsync(uw);
+
+
+ await UserTiXianDetailwork.AsTenant().CommitTranAsync();
+
+ totle += Money;
+ //璁剧疆姣忔棩鎻愮幇闄愰
+ _redisService.Add(StaticStringDef.TransferMoneyManKey + Param.UserID.ToString(), totle, 60 * 60 * 24);
+ //鍙戣捣鏀粯
+ await InitQMessages.SendMessageAsync(InitQMessages.WxTransfer, TransferOrder.Id.ToString());
+ }
+ catch (Exception)
+ {
+
+ throw;
+ }
+ finally
+ {
+ //閲婃斁
+ await _redisService.TryUnLock(StaticStringDef.TransferMoneyLockKey + Param.UserID.ToString());
+ }
+
+
+ }
+ else
+ {
+ throw Oops.Oh("绯荤粺绻佸繖锛岀◢鍚庨噸璇�");
+ }
+
+ }
+ else
+ {
+ //鐩存帴杞处锛屼笉璁″叆閽卞寘璁板綍锛屼富瑕佺敤浜庡鐞嗚秴鏃跺悗鏃犳硶閲嶆柊鏀粯鐨勫崟瀛�
+
+ var UserTiXianDetailwork = new BaseRepository<UserTiXianDetail>();
+ var WeChatTransferOrderwork = new BaseRepository<WeChatTransferOrder>();
+
+
+ //閿佸畾閽卞寘
+ if (await _redisService.TryLock(StaticStringDef.TransferMoneyLockKey + Param.UserID.ToString(), 300))
+ {
+ try
+ {
+ await UserTiXianDetailwork.AsTenant().BeginTranAsync();
+
+
+
+
+ var moneylist = Money;
+
+ var maxPayItem = Convert.ToDecimal(App.Configuration["WechartPay:PayMoneyMax"].toInt()); ;
+ while ((moneylist > maxPayItem))
+ {
+ TransferOrder.TransferDetailList.Add(new WeChatTransferItem
+ {
+ CreateBy = Param.UserID.ToString(),
+ CreateTime = TransferOrder.CreateTime,
+ IsEn = true,
+ OpenId = user.WxOpenId,
+ OutDetailNumber = _redisService.Get32sn(),
+
+ TransferAmount = (int)maxPayItem * 100,
+ TransferRemark = "宸濆嵃宸ヨ祫鏀粯",
+
+ });
+
+ moneylist -= maxPayItem;
+ }
+ if (moneylist <= 0.3m)
+ {
+ //濡傛灉杩欓噷浣庝簬0.3姣涳紝灏嗙ぞ鍖洪妫�锛岀暀涓嬫澶勭悊
+ Money -= moneylist;
+ }
+ else
+
+ {
+ TransferOrder.TransferDetailList.Add(new WeChatTransferItem
+ {
+ CreateBy = Param.UserID.ToString(),
+ CreateTime = TransferOrder.CreateTime,
+ IsEn = true,
+ OpenId = user.WxOpenId,
+ OutDetailNumber = _redisService.Get32sn(),
+
+ TransferAmount = (int)(moneylist * 100),
+ TransferRemark = "宸濆嵃宸ヨ祫鏀粯",
+
+ });
+ }
+
+ TransferOrder.TotalAmount = (int)(Money * 100);
+ TransferOrder.TotalNum = TransferOrder.TransferDetailList.Count();
+
+ TransferOrder = await WeChatTransferOrderwork.AsSugarClient().InsertNav(TransferOrder).Include(x => x.TransferDetailList).ExecuteReturnEntityAsync();
+
+ await UserTiXianDetailwork.AsTenant().CommitTranAsync();
+
+ totle += Money;
+ //璁剧疆姣忔棩鎻愮幇闄愰
+ _redisService.Add(StaticStringDef.TransferMoneyManKey + Param.UserID.ToString(), totle, 60 * 60 * 24);
+ //鍙戣捣鏀粯
+ await InitQMessages.SendMessageAsync(InitQMessages.WxTransfer, TransferOrder.Id.ToString());
+ }
+ catch (Exception)
+ {
+
+ throw;
+ }
+ finally
+ {
+ //閲婃斁
+ await _redisService.TryUnLock(StaticStringDef.TransferMoneyLockKey + Param.UserID.ToString());
+ }
+
+
+ }
+ else
+ {
+ throw Oops.Oh("绯荤粺绻佸繖锛岀◢鍚庨噸璇�");
+ }
+
+ }
+
+
+ return TransferOrder;
+
+
+
+
+ }
+ /// <summary>
+ /// 璁剧疆涓哄鐞嗙姸鎬�
+ /// </summary>
+ /// <param name="remak"></param>
+ /// <returns></returns>
+ [AllowAnonymous]
+ [HttpGet]
+ [ApiExplorerSettings(IgnoreApi = true)]
+ public async Task<bool > SetOk([FromQuery] string remark,[FromQuery] string id)
+ {
+ if(string.IsNullOrEmpty(remark))
+ {
+ throw Oops.Oh("蹇呴』瑕佹湁澶囨敞淇℃伅");
+
+ }
+ if (string.IsNullOrEmpty(id))
+ {
+ throw Oops.Oh("蹇呴』鏈塈D淇℃伅");
+
+ }
+ var WeChatTransferOrderwork = new BaseRepository<WeChatTransferOrder>();
+ var oder= await WeChatTransferOrderwork.GetByIdAsync(id.toInt());
+ if(oder == null)
+ {
+ throw Oops.Oh("娌℃湁鎵惧埌璁㈠崟");
+ }
+
+ if(oder.IsSetOK== true)
+ {
+ throw Oops.Oh("宸茬粡澶勭悊浜�");
+ }
+ oder.IsSetOK = true;
+ oder.RemakeDes = remark;
+ oder.UpDataBy = "API";
+ oder.UpDataTime= DateTime.Now;
+ await WeChatTransferOrderwork.UpdateAsync(oder);
+
+ return true;
@@ -346,6 +901,11 @@
/// </summary>
public int PageSize { get; set; }
+ /// <summary>
+ /// 鏄惁鐗规畩澶勭悊姣斿鏀粯澶辫触鍚庡凡缁忓鐞嗕负鍏朵粬鎯呭喌
+ /// </summary>
+ public bool? IsSetOK { get; set; }
+
}
public class TransferOderOut
@@ -353,6 +913,42 @@
public List<WeChatTransferOrder> listdata { get; set; }
public int TotalCount { get; set; }
}
+ /// <summary>
+ ///
+ /// </summary>
+ public class CreatTransferOderIN
+ {
+ /// <summary>
+ /// 鎻愮幇閲戦
+ /// </summary>
+ [Required]
+ public decimal Money { get; set; }
+ /// <summary>
+ /// 鎻愮幇鐢ㄦ埛
+ /// </summary>
+ [Required]
+ public int UserID { get; set; }
+ /// <summary>
+ ///
+ /// </summary>
+ [Required]
+ public string Remake{ get; set; }
+
+ /// <summary>
+ /// 鎿嶄綔key
+ /// </summary>
+ [Required]
+ public string Key { get; set; }
+
+ /// <summary>
+ /// 鏄惁鍏宠仈鏀剁泭
+ /// </summary>
+ [Required]
+ public Boolean HasAboutReCome { get; set; }
+
+
+
+ }
}
--
Gitblit v1.9.1