Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
mall.oytour.com
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄奎
mall.oytour.com
Commits
79e87eba
Commit
79e87eba
authored
Mar 10, 2021
by
吴春
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交代码,支付修改
parent
23e386af
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
352 additions
and
129 deletions
+352
-129
RB_Member_Buy.cs
Mall.Model/Entity/User/RB_Member_Buy.cs
+26
-0
RB_Member_Buy_Extend.cs
Mall.Model/Extend/User/RB_Member_Buy_Extend.cs
+6
-0
UserCommonModule.cs
Mall.Module.User/UserCommonModule.cs
+77
-1
UserModule.cs
Mall.Module.User/UserModule.cs
+19
-67
RB_Member_BuyRepository.cs
Mall.Repository/User/RB_Member_BuyRepository.cs
+62
-0
WeChatNotifyController.cs
...WebApi/Controllers/AppletWeChat/WeChatNotifyController.cs
+57
-58
WeChatPayController.cs
Mall.WebApi/Controllers/AppletWeChat/WeChatPayController.cs
+4
-3
UserController.cs
Mall.WebApi/Controllers/User/UserController.cs
+101
-0
No files found.
Mall.Model/Entity/User/RB_Member_Buy.cs
View file @
79e87eba
...
...
@@ -117,6 +117,32 @@ namespace Mall.Model.Entity.User
get
;
set
;
}
/// <summary>
/// 订单来源(平台) 枚举
/// </summary>
public
UserSourceEnum
?
OrderSource
{
get
;
set
;
}
/// <summary>
/// 订单号
/// </summary>
public
string
Out_Trade_No
{
get
;
set
;
}
/// <summary>
/// 微信支付订单号
/// </summary>
public
string
Transaction_Id
{
get
;
set
;
}
}
}
Mall.Model/Extend/User/RB_Member_Buy_Extend.cs
View file @
79e87eba
...
...
@@ -26,5 +26,11 @@ namespace Mall.Model.Extend.User
/// 结束时间
/// </summary>
public
string
EndTime
{
get
;
set
;
}
/// <summary>
/// 导出选项
/// </summary>
public
List
<
int
>
ExcelEnumIds
{
get
;
set
;
}
}
}
Mall.Module.User/UserCommonModule.cs
View file @
79e87eba
...
...
@@ -132,7 +132,10 @@ namespace Mall.Module.User
/// 不可开发票商品信息记录表
///</summary>
private
readonly
RB_Invoice_RecordDetailRepository
invoiceRecordDetailRepository
=
new
RB_Invoice_RecordDetailRepository
();
/// <summary>
/// 会员购买仓储层
/// </summary>
private
readonly
RB_Member_BuyRepository
memberBuyRepository
=
new
RB_Member_BuyRepository
();
//private Repository.MarketingCenter.RB_DiscountCouponRepository discountCouponRepository = new Repository.MarketingCenter.RB_DiscountCouponRepository();
//private Repository.User.RB_Member_CouponRepository memberCouponRepository = new Repository.User.RB_Member_CouponRepository();
...
...
@@ -1961,5 +1964,78 @@ namespace Mall.Module.User
}
}
#
endregion
#
region
普通分销模式会员购买
/// <summary>
/// 修改会员购买
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public
bool
UpdateMemberBuy
(
int
UserId
,
int
OrderId
,
string
Out_Trade_No
,
string
Transaction_Id
,
Common
.
Enum
.
Goods
.
OrderPayTypeEnum
PayWay
,
decimal
Money
,
DateTime
Time_End
)
{
var
umodel
=
member_UserRepository
.
GetEntity
(
UserId
);
if
(
umodel
==
null
)
{
return
false
;
}
//判断订单状态是否是待支付 2020-06-16 Add By:W
var
model
=
memberBuyRepository
.
GetEntity
(
OrderId
);
if
(
model
==
null
)
{
return
false
;
}
if
(
model
.
PayState
!=
0
)
{
return
false
;
}
if
(
model
.
Money
!=
Money
)
{
return
false
;
}
var
trans
=
memberBuyRepository
.
DbTransaction
;
bool
flag
;
try
{
Dictionary
<
string
,
object
>
keyValues
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Member_Buy
.
PayTime
),
Time_End
},
{
nameof
(
RB_Member_Buy
.
PayState
),
1
},
{
nameof
(
RB_Member_Buy
.
Out_Trade_No
),
Out_Trade_No
},
{
nameof
(
RB_Member_Buy
.
Transaction_Id
),
Transaction_Id
}
};
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
new
WhereHelper
{
FiledName
=
nameof
(
RB_Member_Buy
.
Id
),
FiledValue
=
OrderId
,
OperatorEnum
=
OperatorEnum
.
Equal
}
};
flag
=
memberBuyRepository
.
Update
(
keyValues
,
wheres
,
trans
);
//更新会员购买记录
Dictionary
<
string
,
object
>
keyValuesMember
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Member_User
.
MemberGrade
),
model
.
GradeId
}
};
List
<
WhereHelper
>
wheresMember
=
new
List
<
WhereHelper
>()
{
new
WhereHelper
{
FiledName
=
nameof
(
RB_Member_User
.
Id
),
FiledValue
=
model
.
UserId
,
OperatorEnum
=
OperatorEnum
.
Equal
}
};
flag
=
member_UserRepository
.
Update
(
keyValuesMember
,
wheresMember
,
trans
);
//更新会员购买记录
memberBuyRepository
.
DBSession
.
Commit
();
}
catch
(
Exception
ex
)
{
LogHelper
.
Write
(
ex
,
"UpdateMemberBuy"
);
memberBuyRepository
.
DBSession
.
Rollback
(
"UpdateMemberBuy"
);
return
false
;
}
return
flag
;
}
#
endregion
}
}
Mall.Module.User/UserModule.cs
View file @
79e87eba
...
...
@@ -797,7 +797,8 @@ namespace Mall.Module.User
IsCanBuyVip
=
(
umodel
.
MemberGrade
??
0
)
>
0
?
2
:
1
,
gradeModel
.
MemberSpecification
,
//获取权益列表
EquityList
=
qlist
.
Select
(
x
=>
new
{
EquityList
=
qlist
.
Select
(
x
=>
new
{
x
.
Id
,
x
.
Title
,
x
.
ImagePath
,
...
...
@@ -6413,90 +6414,41 @@ namespace Mall.Module.User
}
/// <summary>
///
新增会员购买记录
///
分页列表
/// </summary>
/// <param name="model"></param>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="dmodel">查询条件</param>
/// <returns></returns>
public
int
AddMemberBuy
(
RB_Member_Buy_Extend
model
)
public
List
<
RB_Member_Buy_Extend
>
GetMemberBuyList
(
RB_Member_Buy_Extend
d
model
)
{
int
id
=
0
;
if
(
model
.
Id
==
0
)
{
id
=
memberBuyRepository
.
Insert
(
model
);
}
return
id
;
return
memberBuyRepository
.
GetList
(
dmodel
);
}
/// <summary>
///
修改会员购买
///
新增会员购买记录
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public
bool
UpdateMemberBuy
(
int
UserId
,
int
OrderId
,
string
Out_Trade_No
,
string
Transaction_Id
,
Common
.
Enum
.
Goods
.
OrderPayTypeEnum
PayWay
,
decimal
Money
,
DateTime
Time_End
)
public
int
AddMemberBuy
(
RB_Member_Buy_Extend
model
)
{
var
umodel
=
member_UserRepository
.
GetEntity
(
UserId
);
if
(
umodel
==
null
)
{
return
false
;
}
//判断订单状态是否是待支付 2020-06-16 Add By:W
var
model
=
memberBuyRepository
.
GetEntity
(
OrderId
);
if
(
model
==
null
)
{
return
false
;
}
if
(
model
.
PayState
!=
0
)
{
return
false
;
}
if
(
model
.
Money
!=
Money
)
int
id
=
0
;
if
(
model
.
Id
==
0
)
{
return
false
;
id
=
memberBuyRepository
.
Insert
(
model
);
}
return
id
;
}
var
trans
=
memberBuyRepository
.
DbTransaction
;
bool
flag
;
try
{
Dictionary
<
string
,
object
>
keyValues
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Member_Buy
.
PayTime
),
Time_End
},
{
nameof
(
RB_Member_Buy
.
PayState
),
1
}
};
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
new
WhereHelper
{
FiledName
=
nameof
(
RB_Member_Footmark
.
Id
),
FiledValue
=
OrderId
,
OperatorEnum
=
OperatorEnum
.
Equal
}
};
flag
=
memberBuyRepository
.
Update
(
keyValues
,
wheres
,
trans
);
//更新会员购买记录
Dictionary
<
string
,
object
>
keyValuesMember
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Member_User
.
MemberGrade
),
model
.
GradeId
}
};
List
<
WhereHelper
>
wheresMember
=
new
List
<
WhereHelper
>()
{
new
WhereHelper
{
FiledName
=
nameof
(
RB_Member_User
.
Id
),
FiledValue
=
model
.
UserId
,
OperatorEnum
=
OperatorEnum
.
Equal
}
};
flag
=
member_UserRepository
.
Update
(
keyValuesMember
,
wheresMember
,
trans
);
//更新会员购买记录
memberBuyRepository
.
DBSession
.
Commit
();
}
catch
(
Exception
ex
)
{
LogHelper
.
Write
(
ex
,
"UpdateMemberBuy"
);
memberBuyRepository
.
DBSession
.
Rollback
(
"UpdateMemberBuy"
);
return
false
;
}
return
flag
;
}
#
endregion
...
...
Mall.Repository/User/RB_Member_BuyRepository.cs
View file @
79e87eba
...
...
@@ -47,6 +47,10 @@ namespace Mall.Repository.User
{
where
+=
$@" and u.
{
nameof
(
RB_Member_User
.
Name
)}
like '%
{
dmodel
.
UserName
}
%'"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
OrderNo
))
{
where
+=
$@" and b.
{
nameof
(
RB_Member_Buy_Extend
.
OrderNo
)}
like '%
{
dmodel
.
OrderNo
}
%'"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
StartTime
))
{
where
+=
$@" and b.
{
nameof
(
RB_Member_Buy_Extend
.
PayTime
)}
>= '
{
dmodel
.
StartTime
}
'"
;
...
...
@@ -62,5 +66,63 @@ where {where} order by b.Id desc";
return
GetPage
<
RB_Member_Buy_Extend
>(
pageIndex
,
pageSize
,
out
rowCount
,
sql
).
ToList
();
}
/// <summary>
/// 分页列表
/// </summary>
/// <param name="pageIndex">页码</param>
/// <param name="pageSize">每页显示条数</param>
/// <param name="rowCount">总条数</param>
/// <param name="dmodel">查询条件</param>
/// <returns></returns>
public
List
<
RB_Member_Buy_Extend
>
GetList
(
RB_Member_Buy_Extend
dmodel
)
{
string
where
=
" 1=1 "
;
if
(
dmodel
.
TenantId
>
0
)
{
where
+=
$@" and b.
{
nameof
(
RB_Member_Buy_Extend
.
TenantId
)}
=
{
dmodel
.
TenantId
}
"
;
}
if
(
dmodel
.
MallBaseId
>
0
)
{
where
+=
$@" and b.
{
nameof
(
RB_Member_Buy_Extend
.
MallBaseId
)}
=
{
dmodel
.
MallBaseId
}
"
;
}
if
(
dmodel
.
Id
>
0
)
{
where
+=
$@" and b.
{
nameof
(
RB_Member_Buy_Extend
.
Id
)}
=
{
dmodel
.
Id
}
"
;
}
if
(
dmodel
.
PayState
>
-
1
)
{
where
+=
$@" and b.
{
nameof
(
RB_Member_Buy_Extend
.
PayState
)}
=
{
dmodel
.
PayState
}
"
;
}
if
(
dmodel
.
UserId
>
0
)
{
where
+=
$@" and b.
{
nameof
(
RB_Member_Buy_Extend
.
UserId
)}
=
{
dmodel
.
UserId
}
"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
UserName
))
{
where
+=
$@" and u.
{
nameof
(
RB_Member_User
.
Name
)}
like '%
{
dmodel
.
UserName
}
%'"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
OrderNo
))
{
where
+=
$@" and b.
{
nameof
(
RB_Member_Buy_Extend
.
OrderNo
)}
like '%
{
dmodel
.
OrderNo
}
%'"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
StartTime
))
{
where
+=
$@" and b.
{
nameof
(
RB_Member_Buy_Extend
.
PayTime
)}
>= '
{
dmodel
.
StartTime
}
'"
;
}
if
(!
string
.
IsNullOrEmpty
(
dmodel
.
EndTime
))
{
where
+=
$@" and b.
{
nameof
(
RB_Member_Buy_Extend
.
PayTime
)}
<= '
{
dmodel
.
EndTime
}
23:59:59'"
;
}
string
sql
=
$@"select b.*,u.Name as UserName from RB_Member_Buy b
inner join rb_member_user u on b.UserId= u.Id
where
{
where
}
order by b.Id desc"
;
return
Get
<
RB_Member_Buy_Extend
>(
sql
).
ToList
();
}
}
}
Mall.WebApi/Controllers/AppletWeChat/WeChatNotifyController.cs
View file @
79e87eba
...
...
@@ -39,7 +39,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
_accessor
=
accessor
;
}
/// <summary>
/// 订单支付回调
/// 订单支付回调
作废
/// </summary>
/// <returns></returns>
[
HttpGet
]
...
...
@@ -159,11 +159,11 @@ namespace Mall.WebApi.Controllers.AppletWeChat
/// <returns></returns>
[
HttpGet
]
[
HttpPost
]
public
string
PointNotify
()
public
string
PointNotify
(
int
MallBaseId
,
int
TenantId
)
{
var
req
=
new
RequestHandler
();
App_Code
.
PayUtil
PayUtil
=
new
App_Code
.
PayUtil
();
var
result
=
PayUtil
.
Notify
(
_accessor
);
var
result
=
PayUtil
.
AllNotify
(
_accessor
,
MallBaseId
,
TenantId
);
if
(
result
.
IsSuccess
)
{
var
dic
=
((
Dictionary
<
string
,
string
>)
result
.
Data
);
...
...
@@ -208,9 +208,9 @@ namespace Mall.WebApi.Controllers.AppletWeChat
/// <summary>
/// 订单支付回调
/// 订单支付回调
作废
/// </summary>
/// <returns></returns>
/// <returns></returns>
[
HttpGet
]
[
HttpPost
]
public
string
NotifyZhouTian
()
...
...
@@ -269,11 +269,11 @@ namespace Mall.WebApi.Controllers.AppletWeChat
/// <returns></returns>
[
HttpGet
]
[
HttpPost
]
public
string
RechargeNotify
()
public
string
RechargeNotify
(
int
MallBaseId
,
int
TenantId
)
{
var
req
=
new
RequestHandler
();
App_Code
.
PayUtil
PayUtil
=
new
App_Code
.
PayUtil
();
var
result
=
PayUtil
.
Notify
(
_accessor
);
var
result
=
PayUtil
.
AllNotify
(
_accessor
,
MallBaseId
,
TenantId
);
if
(
result
.
IsSuccess
)
{
var
dic
=
((
Dictionary
<
string
,
string
>)
result
.
Data
);
...
...
@@ -323,12 +323,12 @@ namespace Mall.WebApi.Controllers.AppletWeChat
/// <returns></returns>
[
HttpGet
]
[
HttpPost
]
public
string
VipBuyNotify
()
public
string
VipBuyNotify
(
int
MallBaseId
,
int
TenantId
)
{
LogHelper
.
Write
(
null
,
"VipBuyNotify返回信息进来了"
);
var
req
=
new
RequestHandler
();
App_Code
.
PayUtil
PayUtil
=
new
App_Code
.
PayUtil
();
var
result
=
PayUtil
.
Notify
(
_accessor
);
var
result
=
PayUtil
.
AllNotify
(
_accessor
,
MallBaseId
,
TenantId
);
if
(
result
.
IsSuccess
)
{
var
dic
=
((
Dictionary
<
string
,
string
>)
result
.
Data
);
...
...
@@ -370,54 +370,53 @@ namespace Mall.WebApi.Controllers.AppletWeChat
///// <summary>
///// 会员购买支付回调
///// </summary>
///// <returns></returns>
//[HttpGet]
//[HttpPost]
//public string MemberBuyNotify()
//{
// var req = new RequestHandler();
// App_Code.PayUtil PayUtil = new App_Code.PayUtil();
// var result = PayUtil.Notify(_accessor);
// if (result.IsSuccess)
// {
// var dic = ((Dictionary<string, string>)result.Data);
// //开始回写订单状态
// lock (_lock)
// {
// string sOrderNo = dic["sOrderNo"];//订单号 时间挫+OrderId
// int OrderId = Convert.ToInt32(sOrderNo[17..]);
// decimal dPaid = Convert.ToDecimal(dic["dPrice"]) / 100;
// string sPayerOpenID = dic["sPayerOpenID"];
// int UserId = Convert.ToInt32(dic["bIsRecharge"]);
// string TransactionId = dic["sTradeNo"];
// string PayType = dic["OrderPayType"];
// DateTime PayDate = DateTime.ParseExact(dic["PayDate"], "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);//转换时间
// #region 修改会员购买支付信息
// userModule.UpdateMemberBuy(UserId, OrderId, sOrderNo, TransactionId, Common.Enum.Goods.OrderPayTypeEnum.WeChatPay, dPaid, PayDate);
// #endregion
// }
// //告诉微信我们已经处理成功,不需要再调用我们的接口了
// req.SetParameter("return_code", "SUCCESS");
// req.SetParameter("return_msg", "OK");
// var reqXml = req.ParseXml();
// return reqXml;
// // return ApiResult.Success("", reqXml);
// }
// else
// {
// req.SetParameter("return_code", "FAIL");
// req.SetParameter("return_msg", "订单失败");
// var reqXmlFAIL = req.ParseXml();
// LogHelper.Write(null, "Notify返回信息:" + reqXmlFAIL);
// return reqXmlFAIL;
// // return ApiResult.Failed("", reqXmlFAIL);
// }
//}
/// <summary>
/// 会员购买支付回调
/// </summary>
/// <returns></returns>
[
HttpGet
]
[
HttpPost
]
public
string
MemberBuyNotify
(
int
MallBaseId
,
int
TenantId
)
{
var
req
=
new
RequestHandler
();
App_Code
.
PayUtil
PayUtil
=
new
App_Code
.
PayUtil
();
var
result
=
PayUtil
.
AllNotify
(
_accessor
,
MallBaseId
,
TenantId
);
if
(
result
.
IsSuccess
)
{
var
dic
=
((
Dictionary
<
string
,
string
>)
result
.
Data
);
//开始回写订单状态
lock
(
_lock
)
{
string
sOrderNo
=
dic
[
"sOrderNo"
];
//订单号 时间挫+OrderId
int
OrderId
=
Convert
.
ToInt32
(
sOrderNo
[
17.
.]);
decimal
dPaid
=
Convert
.
ToDecimal
(
dic
[
"dPrice"
])
/
100
;
string
sPayerOpenID
=
dic
[
"sPayerOpenID"
];
int
UserId
=
Convert
.
ToInt32
(
dic
[
"bIsRecharge"
]);
string
TransactionId
=
dic
[
"sTradeNo"
];
string
PayType
=
dic
[
"OrderPayType"
];
DateTime
PayDate
=
DateTime
.
ParseExact
(
dic
[
"PayDate"
],
"yyyyMMddHHmmss"
,
System
.
Globalization
.
CultureInfo
.
CurrentCulture
);
//转换时间
#
region
修改会员购买支付信息
userCommonModule
.
UpdateMemberBuy
(
UserId
,
OrderId
,
sOrderNo
,
TransactionId
,
Common
.
Enum
.
Goods
.
OrderPayTypeEnum
.
WeChatPay
,
dPaid
,
PayDate
);
#
endregion
}
//告诉微信我们已经处理成功,不需要再调用我们的接口了
req
.
SetParameter
(
"return_code"
,
"SUCCESS"
);
req
.
SetParameter
(
"return_msg"
,
"OK"
);
var
reqXml
=
req
.
ParseXml
();
return
reqXml
;
// return ApiResult.Success("", reqXml);
}
else
{
req
.
SetParameter
(
"return_code"
,
"FAIL"
);
req
.
SetParameter
(
"return_msg"
,
"订单失败"
);
var
reqXmlFAIL
=
req
.
ParseXml
();
LogHelper
.
Write
(
null
,
"Notify返回信息:"
+
reqXmlFAIL
);
return
reqXmlFAIL
;
// return ApiResult.Failed("", reqXmlFAIL);
}
}
}
}
\ No newline at end of file
Mall.WebApi/Controllers/AppletWeChat/WeChatPayController.cs
View file @
79e87eba
...
...
@@ -189,7 +189,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
switch
((
int
)
demodel
.
PayWay
)
{
case
1
:
//微信支付
sPayInfo
=
App_Code
.
PayUtil
.
GetMinUnifiedOrder
(
sOrderNo
,
payGoodsName
,
Convert
.
ToDecimal
(
rechargeRulesModel
.
Money
),
userInfo
.
UserId
.
ToString
(),
userModel
.
OpenId
,
Config
.
sTenpayRechargeNotify
,
miniProgram
,
_accessor
,
System
.
Net
.
Dns
.
GetHostEntry
(
System
.
Net
.
Dns
.
GetHostName
()).
AddressList
.
FirstOrDefault
(
address
=>
address
.
AddressFamily
==
System
.
Net
.
Sockets
.
AddressFamily
.
InterNetwork
)?.
ToString
());
sPayInfo
=
App_Code
.
PayUtil
.
GetMinUnifiedOrder
(
sOrderNo
,
payGoodsName
,
Convert
.
ToDecimal
(
rechargeRulesModel
.
Money
),
userInfo
.
UserId
.
ToString
(),
userModel
.
OpenId
,
(
Config
.
sTenpayRechargeNotify
+
"/"
+
demodel
.
MallBaseId
+
"/"
+
demodel
.
TenantId
)
,
miniProgram
,
_accessor
,
System
.
Net
.
Dns
.
GetHostEntry
(
System
.
Net
.
Dns
.
GetHostName
()).
AddressList
.
FirstOrDefault
(
address
=>
address
.
AddressFamily
==
System
.
Net
.
Sockets
.
AddressFamily
.
InterNetwork
)?.
ToString
());
break
;
default
:
break
;
...
...
@@ -357,6 +357,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
demodel
.
TenantId
=
userInfo
.
TenantId
;
demodel
.
PayState
=
0
;
demodel
.
Status
=
0
;
demodel
.
OrderSource
=
Common
.
Enum
.
User
.
UserSourceEnum
.
WeiXin
;
demodel
.
CreateDate
=
DateTime
.
Now
;
//新增充值记录
int
memberBuyId
=
userModule
.
AddMemberBuy
(
demodel
);
...
...
@@ -372,7 +373,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
switch
((
int
)
demodel
.
PayWay
)
{
case
1
:
//微信支付
sPayInfo
=
App_Code
.
PayUtil
.
GetMinUnifiedOrder
(
sOrderNo
,
payGoodsName
,
Convert
.
ToDecimal
(
rechargeRulesModel
.
MemberBuyMoney
),
userInfo
.
UserId
.
ToString
(),
userModel
.
OpenId
,
Config
.
sTenpayMemberBuyNotify
,
miniProgram
,
_accessor
,
System
.
Net
.
Dns
.
GetHostEntry
(
System
.
Net
.
Dns
.
GetHostName
()).
AddressList
.
FirstOrDefault
(
address
=>
address
.
AddressFamily
==
System
.
Net
.
Sockets
.
AddressFamily
.
InterNetwork
)?.
ToString
());
sPayInfo
=
App_Code
.
PayUtil
.
GetMinUnifiedOrder
(
sOrderNo
,
payGoodsName
,
Convert
.
ToDecimal
(
rechargeRulesModel
.
MemberBuyMoney
),
userInfo
.
UserId
.
ToString
(),
userModel
.
OpenId
,
(
Config
.
sTenpayMemberBuyNotify
+
"/"
+
demodel
.
MallBaseId
+
"/"
+
demodel
.
TenantId
)
,
miniProgram
,
_accessor
,
System
.
Net
.
Dns
.
GetHostEntry
(
System
.
Net
.
Dns
.
GetHostName
()).
AddressList
.
FirstOrDefault
(
address
=>
address
.
AddressFamily
==
System
.
Net
.
Sockets
.
AddressFamily
.
InterNetwork
)?.
ToString
());
break
;
default
:
break
;
...
...
@@ -485,7 +486,7 @@ namespace Mall.WebApi.Controllers.AppletWeChat
switch
((
int
)
demodel
.
PayWay
)
{
case
1
:
//微信支付
sPayInfo
=
App_Code
.
PayUtil
.
GetMinUnifiedOrder
(
sOrderNo
,
payGoodsName
,
Convert
.
ToDecimal
(
rechargeRulesModel
.
BuyMoney
),
userInfo
.
UserId
.
ToString
(),
userModel
.
OpenId
,
Config
.
sTenpayVipBuyNotify
,
miniProgram
,
_accessor
,
System
.
Net
.
Dns
.
GetHostEntry
(
System
.
Net
.
Dns
.
GetHostName
()).
AddressList
.
FirstOrDefault
(
address
=>
address
.
AddressFamily
==
System
.
Net
.
Sockets
.
AddressFamily
.
InterNetwork
)?.
ToString
());
sPayInfo
=
App_Code
.
PayUtil
.
GetMinUnifiedOrder
(
sOrderNo
,
payGoodsName
,
Convert
.
ToDecimal
(
rechargeRulesModel
.
BuyMoney
),
userInfo
.
UserId
.
ToString
(),
userModel
.
OpenId
,
(
Config
.
sTenpayVipBuyNotify
+
"/"
+
demodel
.
MallBaseId
+
"/"
+
demodel
.
TenantId
)
,
miniProgram
,
_accessor
,
System
.
Net
.
Dns
.
GetHostEntry
(
System
.
Net
.
Dns
.
GetHostName
()).
AddressList
.
FirstOrDefault
(
address
=>
address
.
AddressFamily
==
System
.
Net
.
Sockets
.
AddressFamily
.
InterNetwork
)?.
ToString
());
break
;
default
:
break
;
...
...
Mall.WebApi/Controllers/User/UserController.cs
View file @
79e87eba
...
...
@@ -771,6 +771,107 @@ namespace Mall.WebApi.Controllers.User
});
return
ApiResult
.
Success
(
""
,
pagelist
);
}
/// <summary>
/// 获取会员购买导出选项列表
/// </summary>
/// <returns></returns>
[
HttpPost
]
public
ApiResult
GetMembersToBuyExportEnumList
()
{
var
list
=
EnumHelper
.
GetEnumList
(
typeof
(
Common
.
Enum
.
Goods
.
MembersToBuyExportEnum
));
return
ApiResult
.
Success
(
""
,
list
.
Select
(
x
=>
new
{
Name
=
x
.
Key
,
Id
=
Convert
.
ToInt32
(
x
.
Value
)
}));
}
/// <summary>
/// 会员购买Excel下载
/// </summary>
[
HttpPost
]
public
FileContentResult
GetMembersToBuyToExcel
()
{
var
parms
=
RequestParm
;
RB_Member_Buy_Extend
demodel
=
JsonConvert
.
DeserializeObject
<
RB_Member_Buy_Extend
>(
parms
.
msg
.
ToString
());
string
ExcelName
=
"会员购买"
+
DateTime
.
Now
.
ToString
(
"yyyyMMddHHmmss"
)
+
".xls"
;
List
<
ExcelDataSource
>
slist
=
new
List
<
ExcelDataSource
>();
if
(
demodel
.
ExcelEnumIds
==
null
||
!
demodel
.
ExcelEnumIds
.
Any
())
{
var
byteData1
=
ExcelTempLateHelper
.
ToExcelExtend
(
slist
);
return
File
(
byteData1
,
"application/octet-stream"
,
ExcelName
);
}
var
Enumlist
=
EnumHelper
.
GetEnumList
(
typeof
(
Common
.
Enum
.
Goods
.
MembersToBuyExportEnum
));
ExcelDataSource
header
=
new
ExcelDataSource
()
{
ExcelRows
=
new
List
<
ExcelColumn
>(
30
)
{
new
ExcelColumn
(
value
:
"序号"
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
}
}
};
foreach
(
var
item
in
demodel
.
ExcelEnumIds
)
{
var
Name
=
Enumlist
.
Where
(
x
=>
x
.
Value
==
item
.
ToString
()).
FirstOrDefault
().
Key
??
""
;
header
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
Name
)
{
CellWidth
=
15
,
HAlignmentEnum
=
HAlignmentEnum
.
CENTER
,
VAlignmentEnum
=
VAlignmentEnum
.
CENTER
});
}
slist
.
Add
(
header
);
try
{
demodel
.
TenantId
=
Convert
.
ToInt32
(
parms
.
uid
);
demodel
.
MallBaseId
=
parms
.
MallBaseId
;
demodel
.
PayState
=
1
;
var
list
=
userModule
.
GetMemberBuyList
(
demodel
);
#
region
组装数据
int
Num
=
0
;
foreach
(
var
item
in
list
)
{
Num
++;
ExcelDataSource
datarow
=
new
ExcelDataSource
()
{
ExcelRows
=
new
List
<
ExcelColumn
>(
30
)
{
new
ExcelColumn
(
value
:
Num
.
ToString
()){
},
}
};
foreach
(
var
qitem
in
demodel
.
ExcelEnumIds
)
{
switch
(
qitem
)
{
case
1
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
OrderSource
.
GetEnumName
())
{
});
break
;
case
2
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
OrderNo
)
{
});
break
;
case
3
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
UserName
)
{
});
break
;
case
4
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
(
item
.
Money
??
0
).
ToString
())
{
});
break
;
case
5
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
PayTime
.
Value
.
ToString
(
"yyyy-MM-dd HH:mm:ss"
))
{
});
break
;
case
6
:
datarow
.
ExcelRows
.
Add
(
new
ExcelColumn
(
value
:
item
.
PayState
==
0
?
"未支付"
:
"已支付"
)
{
});
break
;
}
}
slist
.
Add
(
datarow
);
}
#
endregion
var
byteData
=
ExcelTempLateHelper
.
ToExcelExtend
(
slist
);
return
File
(
byteData
,
"application/octet-stream"
,
ExcelName
);
}
catch
(
Exception
ex
)
{
LogHelper
.
Write
(
ex
,
string
.
Format
(
"GetFileFromWebApi_requestData: {0}"
,
JsonHelper
.
Serialize
(
RequestParm
)));
var
byteData1
=
ExcelTempLateHelper
.
ToExcelExtend
(
slist
);
return
File
(
byteData1
,
"application/octet-stream"
,
ExcelName
);
}
}
#
endregion
#
region
分销商基础
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment