Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
E
Education
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
黄奎
Education
Commits
8c920f07
Commit
8c920f07
authored
Jul 08, 2021
by
吴春
Browse files
Options
Browse Files
Download
Plain Diff
解决冲突
parents
c7d97168
44d5c93d
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
110 additions
and
154 deletions
+110
-154
RB_Order.cs
Edu.Model/Entity/Course/RB_Order.cs
+5
-0
RB_Order_Guest_ViewModel.cs
Edu.Model/ViewModel/Course/RB_Order_Guest_ViewModel.cs
+8
-0
RB_Order_ViewModel.cs
Edu.Model/ViewModel/Course/RB_Order_ViewModel.cs
+5
-0
ClassModule.cs
Edu.Module.Course/ClassModule.cs
+2
-1
OrderModule.cs
Edu.Module.Course/OrderModule.cs
+49
-2
StudentBillModule.cs
Edu.Module.Course/StudentBillModule.cs
+2
-138
RB_Order_GuestRepository.cs
Edu.Repository/Course/RB_Order_GuestRepository.cs
+1
-1
OrderController.cs
Edu.WebApi/Controllers/Course/OrderController.cs
+5
-2
StuController.cs
Edu.WebApi/Controllers/Course/StuController.cs
+33
-10
No files found.
Edu.Model/Entity/Course/RB_Order.cs
View file @
8c920f07
...
...
@@ -273,5 +273,10 @@ namespace Edu.Model.Entity.Course
/// 预约单号
/// </summary>
public
int
VisitorReserveId
{
get
;
set
;
}
/// <summary>
/// 是否续班订单(1-是)
/// </summary>
public
int
IsRenewOrder
{
get
;
set
;
}
}
}
Edu.Model/ViewModel/Course/RB_Order_Guest_ViewModel.cs
View file @
8c920f07
...
...
@@ -175,5 +175,13 @@ namespace Edu.Model.ViewModel.Course
/// 已上课次数
/// </summary>
public
int
Ranks
{
get
;
set
;
}
/// 是否续班订单
/// </summary>
public
int
IsRenewOrder
{
get
;
set
;
}
/// <summary>
/// 续课订单编号
/// </summary>
public
int
RenewOrderId
{
get
;
set
;
}
}
}
\ No newline at end of file
Edu.Model/ViewModel/Course/RB_Order_ViewModel.cs
View file @
8c920f07
...
...
@@ -180,5 +180,10 @@ namespace Edu.Model.ViewModel.Course
return
str
;
}
}
/// <summary>
/// 园学员编号【续课使用】
/// </summary>
public
int
OldGuestId
{
get
;
set
;
}
}
}
\ No newline at end of file
Edu.Module.Course/ClassModule.cs
View file @
8c920f07
...
...
@@ -1227,7 +1227,8 @@ namespace Edu.Module.Course
item
.
Mobile
,
item
.
OrderId
,
ClassHours
=
item
.
CompleteHours
+
"-"
+
(
classModel
?.
ClassHours
??
0
),
IsRenew
=
courseModel
?.
IsRenew
??
0
,
IsRenew
=
item
.
IsRenewOrder
,
item
.
RenewOrderId
,
CheckStatus
=
checkStatus
,
item
.
IsChaBan
,
item
.
StartClassHours
,
...
...
Edu.Module.Course/OrderModule.cs
View file @
8c920f07
...
...
@@ -309,7 +309,7 @@ namespace Edu.Module.Course
/// <param name="userInfo"></param>
/// <returns></returns>
[
TransactionCallHandler
]
public
virtual
bool
SetClassOrder
(
RB_Order_ViewModel
demodel
,
UserInfo
userInfo
,
bool
isEditOrder
,
out
string
message
)
public
virtual
bool
SetClassOrder
Module
(
RB_Order_ViewModel
demodel
,
UserInfo
userInfo
,
bool
isEditOrder
,
out
string
message
)
{
bool
flag
=
false
;
message
=
""
;
...
...
@@ -693,6 +693,53 @@ namespace Edu.Module.Course
SetOrderGuestInfo
(
guestModel
,
out
string
Nmessage
);
}
#
endregion
#
region
续课订单
添加学员名单
if
(
flag
&&
demodel
.
RenewOrderId
>
0
&&
demodel
.
OldGuestId
>
0
)
{
var
oldGuestModel
=
order_GuestRepository
.
GetEntity
(
demodel
.
OldGuestId
);
var
guestModel
=
new
RB_Order_Guest_ViewModel
()
{
Id
=
0
,
OrderId
=
demodel
.
OrderId
,
ClassId
=
demodel
.
ClassId
,
GuestName
=
oldGuestModel
?.
GuestName
??
""
,
GuestState
=
1
,
Profession
=
oldGuestModel
?.
Profession
??
""
,
Sex
=
oldGuestModel
?.
Sex
??
1
,
Age
=
oldGuestModel
?.
Age
??
18
,
Mobile
=
oldGuestModel
?.
Mobile
??
""
,
Basics
=
oldGuestModel
?.
Basics
,
Education
=
oldGuestModel
?.
Education
??
GuestEducationEnum
.
N2
,
GuestSource
=
demodel
.
OrderSource
,
LearningGoals
=
oldGuestModel
?.
LearningGoals
??
GuestLearningGoalsEnum
.
Love
,
Contact
=
oldGuestModel
?.
Contact
??
""
,
ContactMobile
=
oldGuestModel
?.
ContactMobile
??
""
,
Status
=
0
,
Group_Id
=
demodel
.
Group_Id
,
School_Id
=
demodel
.
School_Id
,
CreateBy
=
demodel
.
CreateBy
,
CreateTime
=
demodel
.
CreateTime
,
UpdateBy
=
demodel
.
UpdateBy
,
UpdateTime
=
demodel
.
UpdateTime
,
DropOutRemark
=
""
,
IDCard
=
oldGuestModel
?.
IDCard
??
""
,
Domicile
=
oldGuestModel
?.
Domicile
??
""
,
ContactAddress
=
oldGuestModel
?.
ContactAddress
??
""
,
SourceId
=
0
,
GraduatedSchool
=
oldGuestModel
?.
GraduatedSchool
??
""
,
GraduatedMajor
=
oldGuestModel
?.
GraduatedMajor
??
""
,
VolunteerMajor
=
oldGuestModel
?.
VolunteerMajor
??
""
,
Price
=
0
,
StudyRemark
=
""
,
TotalHours
=
Convert
.
ToInt32
(
courseModel
.
ClassHours
),
CompleteHours
=
0
,
MakeUpHours
=
0
,
StuIcon
=
""
,
};
SetOrderGuestInfo
(
guestModel
,
out
string
Nmessage
);
}
#
endregion
}
#
region
写日志
...
...
@@ -814,7 +861,7 @@ namespace Edu.Module.Course
/// <param name="userInfo"></param>
/// <returns></returns>
[
TransactionCallHandler
]
public
virtual
bool
SetStudyOrder
(
RB_Order_ViewModel
demodel
,
UserInfo
userInfo
,
out
string
message
)
public
virtual
bool
SetStudyOrder
Module
(
RB_Order_ViewModel
demodel
,
UserInfo
userInfo
,
out
string
message
)
{
bool
flag
=
false
;
message
=
""
;
...
...
Edu.Module.Course/StudentBillModule.cs
View file @
8c920f07
...
...
@@ -40,11 +40,7 @@ namespace Edu.Module.Course
/// </summary>
private
readonly
RB_Student_BackRecordRepository
student_BackRecordRepository
=
new
RB_Student_BackRecordRepository
();
/// <summary>
/// 课程优惠仓储层对象
/// </summary>
private
readonly
RB_Course_PreferentialRepository
course_PreferentialRepository
=
new
RB_Course_PreferentialRepository
();
/// <summary>
/// 旅客表仓储层对象
/// </summary>
...
...
@@ -953,139 +949,7 @@ namespace Edu.Module.Course
return
msg
;
}
/// <summary>
/// 学员续课订单
/// </summary>
/// <param name="orderId"></param>
/// <param name="guestId"></param>
/// <param name="orderModel">订单实体类</param>
/// <param name="message">提示信息</param>
/// <returns></returns>
public
virtual
bool
RenewOrderModule
(
int
orderId
,
int
guestId
,
RB_Order_ViewModel
orderModel
,
out
string
message
)
{
bool
flag
=
false
;
message
=
""
;
var
oldOrderModel
=
orderRepository
.
GetEntity
(
orderId
);
if
(
oldOrderModel
==
null
)
{
message
=
"原订单不存在!请核实在重新申请!"
;
flag
=
false
;
return
flag
;
}
if
(
oldOrderModel
.
OrderState
==
OrderStateEnum
.
Cancel
)
{
message
=
"原订单已取消!请核实在重新申请!"
;
flag
=
false
;
return
flag
;
}
var
oldGuestModel
=
order_GuestRepository
.
GetEntity
(
guestId
);
if
(
oldGuestModel
==
null
)
{
message
=
"原旅客信息不存在!请核实在重新申请!"
;
flag
=
false
;
return
flag
;
}
if
(
oldGuestModel
.
GuestState
!=
1
)
{
message
=
"原旅客状态不正确!请核实在重新申请!"
;
flag
=
false
;
return
flag
;
}
var
classModel
=
classRepository
.
GetEntity
(
orderModel
.
ClassId
);
orderModel
.
School_Id
=
classModel
?.
School_Id
??
0
;
orderModel
.
EnterID
=
oldOrderModel
.
EnterID
;
orderModel
.
OrderState
=
OrderStateEnum
.
Normal
;
orderModel
.
OrderSource
=
oldOrderModel
.
OrderSource
;
orderModel
.
OrderForm
=
oldOrderModel
.
OrderForm
;
int
CourseId
=
classModel
?.
CouseId
??
0
;
#
region
计算订单提成信息
if
(
CourseId
>
0
)
{
//获取课程优惠
var
coursePreferentialList
=
course_PreferentialRepository
.
GetCoursePreferentialListRepostory
(
new
RB_Course_Preferential_Extend
()
{
CourseId
=
CourseId
});
RB_Course_Preferential_Extend
coursePreferentialModel
=
null
;
if
(
coursePreferentialList
!=
null
&&
coursePreferentialList
.
Count
>
0
)
{
if
(
orderModel
.
GuestNum
==
1
)
{
coursePreferentialModel
=
coursePreferentialList
?.
Where
(
qitem
=>
qitem
.
PriceDiscountType
==
CoursePriceDiscountEnum
.
SingleJoin
)?.
FirstOrDefault
();
}
if
(
orderModel
.
GuestNum
>=
2
)
{
coursePreferentialModel
=
coursePreferentialList
?.
Where
(
qitem
=>
qitem
.
PriceDiscountType
==
CoursePriceDiscountEnum
.
DoubleJoin
)?.
FirstOrDefault
();
}
#
region
记录提成信息
if
(
coursePreferentialModel
==
null
)
{
coursePreferentialModel
=
coursePreferentialList
.
FirstOrDefault
();
}
orderModel
.
CommissionType
=
coursePreferentialModel
?.
SaleCommissionType
??
0
;
orderModel
.
CommissionRate
=
coursePreferentialModel
?.
SaleCommissionMoney
??
0
;
orderModel
.
CommissionTypeTH
=
coursePreferentialModel
?.
B2BCommissionType
??
0
;
orderModel
.
CommissionRateTH
=
coursePreferentialModel
?.
B2BCommissionMoney
??
0
;
if
(
coursePreferentialModel
!=
null
)
{
orderModel
.
CommissionRemark
=
"使用优惠Id:"
+
coursePreferentialModel
.
Id
+
" 返佣类型:"
+
orderModel
.
CommissionType
+
" 返佣比例/金额:"
+
orderModel
.
CommissionRate
+
" 同行返佣类型:"
+
orderModel
.
CommissionTypeTH
+
" 同行返佣比例/金额:"
+
orderModel
.
CommissionRateTH
;
}
#
endregion
}
}
#
endregion
orderModel
.
RenewOrderId
=
orderId
;
orderModel
.
OrderType
=
Common
.
Enum
.
Sale
.
OrderTypeEnum
.
CourseOrder
;
//新增订单
var
newOrderId
=
orderRepository
.
Insert
(
orderModel
);
orderModel
.
OrderId
=
newOrderId
;
flag
=
newOrderId
>
0
;
if
(
flag
)
{
//新增旅客
var
guestModel
=
new
RB_Order_Guest
()
{
OrderId
=
orderModel
.
OrderId
,
ClassId
=
orderModel
.
ClassId
,
GuestName
=
oldGuestModel
.
GuestName
,
GuestState
=
1
,
Profession
=
oldGuestModel
?.
Profession
??
""
,
Sex
=
oldGuestModel
?.
Sex
??
1
,
Age
=
oldGuestModel
?.
Age
??
0
,
Mobile
=
oldGuestModel
?.
Mobile
??
""
,
Basics
=
oldGuestModel
?.
Basics
??
""
,
Education
=
oldGuestModel
?.
Education
??
0
,
GuestSource
=
oldGuestModel
?.
GuestSource
??
0
,
LearningGoals
=
oldGuestModel
?.
LearningGoals
??
0
,
Contact
=
oldGuestModel
?.
Contact
??
""
,
ContactMobile
=
oldGuestModel
?.
ContactMobile
??
""
,
Status
=
0
,
Group_Id
=
orderModel
.
Group_Id
,
School_Id
=
orderModel
?.
School_Id
??
0
,
CreateBy
=
orderModel
.
CreateBy
,
CreateTime
=
orderModel
.
CreateTime
,
UpdateBy
=
orderModel
.
UpdateBy
,
UpdateTime
=
orderModel
.
UpdateTime
,
DropOutRemark
=
""
,
};
var
newGuestId
=
order_GuestRepository
.
Insert
(
guestModel
);
guestModel
.
Id
=
newGuestId
;
flag
=
newGuestId
>
0
;
}
if
(
flag
)
{
Dictionary
<
string
,
object
>
orderFileds
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Order
.
RenewOrderId
),
newOrderId
}
};
flag
=
orderRepository
.
Update
(
orderFileds
,
new
WhereHelper
(
nameof
(
RB_Order
.
OrderId
),
orderId
));
}
return
flag
;
}
/// <summary>
/// 获取续费课程列表
/// </summary>
...
...
Edu.Repository/Course/RB_Order_GuestRepository.cs
View file @
8c920f07
...
...
@@ -65,7 +65,7 @@ namespace Edu.Repository.Course
string
sql
=
$@"
SELECT A.*,IFNULL(B.IsChaBan,0) AS IsChaBan,IFNULL(B.StartClassHours,0) AS StartClassHours,IFNULL(C.CourseName,'') AS CourseName
,B.EffectStatus,B.EffectTime,B.UpOrderId,B.OrderType,B.CourseId
,B.EffectStatus,B.EffectTime,B.UpOrderId,B.OrderType,B.CourseId
,B.IsRenewOrder,B.RenewOrderId
FROM RB_Order_Guest AS A LEFT JOIN rb_order AS B ON A.OrderId=B.OrderId
LEFT JOIN rb_course AS C ON (B.CourseId=C.CourseId AND B.CourseId>0 AND B.OrderType=1)
WHERE
{
where
}
"
;
...
...
Edu.WebApi/Controllers/Course/OrderController.cs
View file @
8c920f07
...
...
@@ -231,6 +231,7 @@ namespace Edu.WebApi.Controllers.Course
EffectTime
=
Common
.
ConvertHelper
.
FormatDate
(
x
.
EffectTime
),
x
.
UpOrderId
,
x
.
VisitorReserveId
,
x
.
RenewOrderId
,
SaleRemarkList
=
x
.
SaleRemarkList
.
Select
(
z
=>
new
{
z
.
Id
,
...
...
@@ -502,11 +503,11 @@ namespace Edu.WebApi.Controllers.Course
return
ApiResult
.
ParamIsNull
(
message
:
"请选择插班课程!"
);
}
}
flag
=
orderModule
.
SetClassOrder
(
demodel
,
userInfo
,
base
.
CheckUserActionAuth
(
"Edit_Order"
),
out
message
);
flag
=
orderModule
.
SetClassOrder
Module
(
demodel
,
userInfo
,
base
.
CheckUserActionAuth
(
"Edit_Order"
),
out
message
);
}
else
{
flag
=
orderModule
.
SetStudyOrder
(
demodel
,
userInfo
,
out
message
);
flag
=
orderModule
.
SetStudyOrder
Module
(
demodel
,
userInfo
,
out
message
);
}
return
flag
?
ApiResult
.
Success
(
message
:
message
)
:
ApiResult
.
Failed
(
message
:
message
);
}
...
...
@@ -1229,6 +1230,7 @@ namespace Edu.WebApi.Controllers.Course
x
.
UpOrderId
,
OpenTime
=
Common
.
ConvertHelper
.
FormatDate
(
x
.
OpenTime
),
x
.
VisitorReserveId
,
x
.
RenewOrderId
,
SaleRemarkList
=
x
?.
SaleRemarkList
.
Select
(
z
=>
new
{
z
.
Id
,
...
...
@@ -1380,6 +1382,7 @@ namespace Edu.WebApi.Controllers.Course
EffectTime
=
Common
.
ConvertHelper
.
FormatDate
(
x
.
EffectTime
),
x
.
UpOrderId
,
x
.
VisitorReserveId
,
x
.
RenewOrderId
,
SaleRemarkList
=
x
?.
SaleRemarkList
.
Select
(
z
=>
new
{
z
.
Id
,
...
...
Edu.WebApi/Controllers/Course/StuController.cs
View file @
8c920f07
...
...
@@ -181,24 +181,47 @@ namespace Edu.WebApi.Controllers.Course
int
OrderId
=
base
.
ParmJObj
.
GetInt
(
"OrderId"
);
//学员编号
int
guestId
=
base
.
ParmJObj
.
GetInt
(
"GuestId"
);
var
oldOrderModel
=
orderModule
.
GetClassOrderInfoModule
(
OrderId
);
var
orderModel
=
new
RB_Order_ViewModel
()
{
OrderId
=
0
,
ClassId
=
base
.
ParmJObj
.
GetInt
(
"ClassId"
),
//班级编号
GuestNum
=
1
,
OrderSource
=
oldOrderModel
.
OrderSource
,
OrderType
=
oldOrderModel
.
OrderType
,
Class_Price
=
base
.
ParmJObj
.
GetDecimal
(
"Class_Price"
),
//单价
Unit_Price
=
base
.
ParmJObj
.
GetDecimal
(
"Class_Price"
),
//成交单价
GuestNum
=
1
,
PreferPrice
=
base
.
ParmJObj
.
GetDecimal
(
"PreferPrice"
),
//应收,
Income
=
0
,
ClassId
=
base
.
ParmJObj
.
GetInt
(
"ClassId"
),
//班级编号
HelpEnterId
=
0
,
GeneralOccupation
=
""
,
EduOccupation
=
""
,
SaleRemark
=
base
.
ParmJObj
.
GetStringValue
(
"SaleRemark"
),
//销售备注
CreateBy
=
base
.
UserInfo
.
Id
,
CreateTime
=
DateTime
.
Now
,
UpdateBy
=
base
.
UserInfo
.
Id
,
UpdateTime
=
DateTime
.
Now
,
Dept_Id
=
base
.
UserInfo
.
DeptId
,
Group_Id
=
base
.
UserInfo
.
Group_Id
,
SourceId
=
0
,
IsLessPrice
=
0
,
LessPrice
=
0
,
OrderNature
=
oldOrderModel
.
OrderNature
,
OldPreferPrice
=
base
.
ParmJObj
.
GetDecimal
(
"PreferPrice"
),
//应收,
CourseId
=
0
,
StartClassHours
=
0
,
IsChaBan
=
0
,
UpOrderId
=
0
,
VisitorReserveId
=
0
,
IsRenewOrder
=
1
,
};
//orderModule.SetClassOrder(orderModel,base.UserInfo, base.CheckUserActionAuth("Edit_Order"), out message)
bool
flag
=
studentBillModule
.
RenewOrderModule
(
OrderId
,
guestId
,
orderModel
,
out
string
message
);
orderModel
.
Group_Id
=
base
.
UserInfo
.
Group_Id
;
orderModel
.
School_Id
=
base
.
UserInfo
.
School_Id
;
orderModel
.
Dept_Id
=
base
.
UserInfo
.
DeptId
;
orderModel
.
OrderForm
=
OrderFormEnum
.
Computer
;
orderModel
.
EnterID
=
base
.
UserInfo
.
Id
;
orderModel
.
OrderState
=
OrderStateEnum
.
Normal
;
orderModel
.
TradeWay
=
TradeWayEnum
.
OnLine
;
orderModel
.
CreateBy
=
base
.
UserInfo
.
Id
;
orderModel
.
CreateTime
=
DateTime
.
Now
;
orderModel
.
UpdateBy
=
base
.
UserInfo
.
Id
;
orderModel
.
UpdateTime
=
DateTime
.
Now
;
orderModel
.
OldGuestId
=
guestId
;
bool
flag
=
orderModule
.
SetClassOrderModule
(
orderModel
,
base
.
UserInfo
,
base
.
CheckUserActionAuth
(
"Edit_Order"
),
out
string
message
);
return
flag
?
ApiResult
.
Success
()
:
ApiResult
.
Failed
(
message
:
message
);
}
...
...
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