Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
H
huatu_API
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
liudong1993
huatu_API
Commits
cf009c3f
Commit
cf009c3f
authored
Sep 16, 2025
by
liudong1993
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
849f0c76
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
724 additions
and
660 deletions
+724
-660
Models.cs
REBORN.Common/ContractAPI/Models.cs
+3
-3
TravelContractModule.cs
REBORN.Module.DMCModule/TravelContractModule.cs
+721
-657
No files found.
REBORN.Common/ContractAPI/Models.cs
View file @
cf009c3f
...
@@ -581,11 +581,11 @@ namespace OneTwoThreeZeroOne.EContracts {
...
@@ -581,11 +581,11 @@ namespace OneTwoThreeZeroOne.EContracts {
/// <summary>成人费用(元)/每人</summary>
/// <summary>成人费用(元)/每人</summary>
[
JsonPropertyName
(
"adultCost"
)]
public
decimal
AdultCost
{
get
;
set
;
}
[
JsonPropertyName
(
"adultCost"
)]
public
decimal
AdultCost
{
get
;
set
;
}
/// <summary>儿童费用(元)/每人</summary>
/// <summary>儿童费用(元)/每人</summary>
[
JsonPropertyName
(
"childCost"
)]
public
decimal
ChildCost
{
get
;
set
;
}
[
JsonPropertyName
(
"childCost"
)]
public
decimal
?
ChildCost
{
get
;
set
;
}
/// <summary>导游服务费(元)/每人</summary>
/// <summary>导游服务费(元)/每人</summary>
[
JsonPropertyName
(
"guideServiceCost"
)]
public
decimal
GuideServiceCost
{
get
;
set
;
}
[
JsonPropertyName
(
"guideServiceCost"
)]
public
decimal
?
GuideServiceCost
{
get
;
set
;
}
/// <summary>单间差费用</summary>
/// <summary>单间差费用</summary>
[
JsonPropertyName
(
"singleSupplementCost"
)]
public
decimal
SingleSupplementCost
{
get
;
set
;
}
//[JsonPropertyName("singleSupplementCost")] public decimal?
SingleSupplementCost { get; set; }
/// <summary>总费用(元)</summary>
/// <summary>总费用(元)</summary>
[
JsonPropertyName
(
"totalCost"
)]
public
decimal
TotalCost
{
get
;
set
;
}
[
JsonPropertyName
(
"totalCost"
)]
public
decimal
TotalCost
{
get
;
set
;
}
/// <summary>餐饮费用</summary>
/// <summary>餐饮费用</summary>
...
...
REBORN.Module.DMCModule/TravelContractModule.cs
View file @
cf009c3f
...
@@ -316,8 +316,29 @@ namespace REBORN.Module.DMCModule
...
@@ -316,8 +316,29 @@ namespace REBORN.Module.DMCModule
{
nameof
(
RB_Contract_Extend
.
DepositDate
),
model
.
DepositDate
},
{
nameof
(
RB_Contract_Extend
.
DepositDate
),
model
.
DepositDate
},
{
nameof
(
RB_Contract_Extend
.
FinalPrice
),
model
.
FinalPrice
},
{
nameof
(
RB_Contract_Extend
.
FinalPrice
),
model
.
FinalPrice
},
{
nameof
(
RB_Contract_Extend
.
PriceDescription
),
model
.
PriceDescription
},
{
nameof
(
RB_Contract_Extend
.
PriceDescription
),
model
.
PriceDescription
},
{
nameof
(
RB_Contract_Extend
.
UpdateTime
),
DateTime
.
Now
},
};
};
flag
=
contractRepository
.
Update
(
fileds
,
new
WhereHelper
(
nameof
(
RB_Contract_Extend
.
Id
),
model
.
Id
));
flag
=
contractRepository
.
Update
(
fileds
,
new
WhereHelper
(
nameof
(
RB_Contract_Extend
.
Id
),
model
.
Id
));
if
(
flag
)
{
if
(
model
.
IsApplyContract
==
1
)
{
TourismContractService
service
=
GetContractService
(
model
.
RB_Group_Id
??
0
,
model
.
RB_Branch_Id
??
0
,
out
string
cmsg
);
if
(
cmsg
!=
""
)
{
return
flag
;
}
Console
.
WriteLine
(
"1"
);
//审核通过, 同步上传合同至 公众号
Model
.
Entity
.
Dmc
.
RB_Contract
htModel
=
contractRepository
.
GetEntity
(
model
.
Id
);
if
(
string
.
IsNullOrEmpty
(
htModel
.
UnionGuestIds
))
{
return
flag
;
}
//注意默认值 正式需要删除
//注意默认值 正式需要删除
htModel
.
Client_Name
=
"刘东"
;
htModel
.
Client_IDCardNum
=
"510112199301013617"
;
htModel
.
Client_Call
=
"18328620563"
;
CreateContractToLYJ
(
service
,
htModel
);
}
}
}
}
else
else
{
{
...
@@ -326,11 +347,13 @@ namespace REBORN.Module.DMCModule
...
@@ -326,11 +347,13 @@ namespace REBORN.Module.DMCModule
var
newId
=
contractRepository
.
Insert
(
model
);
var
newId
=
contractRepository
.
Insert
(
model
);
model
.
Id
=
newId
;
model
.
Id
=
newId
;
flag
=
newId
>
0
;
flag
=
newId
>
0
;
if
(
newId
>
0
&&
model
.
IsApplyContract
==
1
)
{
if
(
newId
>
0
&&
model
.
IsApplyContract
==
1
)
{
TourismContractService
service
=
GetContractService
(
model
.
RB_Group_Id
??
0
,
model
.
RB_Branch_Id
??
0
,
out
string
cmsg
);
TourismContractService
service
=
GetContractService
(
model
.
RB_Group_Id
??
0
,
model
.
RB_Branch_Id
??
0
,
out
string
cmsg
);
if
(
cmsg
!=
""
)
{
return
flag
;
}
if
(
cmsg
!=
""
)
{
return
flag
;
}
Console
.
WriteLine
(
"1"
);
Console
.
WriteLine
(
"1"
);
//审核通过, 同步上传合同至 公众号
//审核通过, 同步上传合同至 公众号
Model
.
Entity
.
Dmc
.
RB_Contract
htModel
=
contractRepository
.
GetEntity
(
newId
);
Model
.
Entity
.
Dmc
.
RB_Contract
htModel
=
contractRepository
.
GetEntity
(
newId
);
if
(
string
.
IsNullOrEmpty
(
htModel
.
UnionGuestIds
))
{
return
false
;
}
if
(
string
.
IsNullOrEmpty
(
htModel
.
UnionGuestIds
))
{
return
false
;
}
...
@@ -340,218 +363,231 @@ namespace REBORN.Module.DMCModule
...
@@ -340,218 +363,231 @@ namespace REBORN.Module.DMCModule
htModel
.
Client_Name
=
"刘东"
;
htModel
.
Client_Name
=
"刘东"
;
htModel
.
Client_IDCardNum
=
"510112199301013617"
;
htModel
.
Client_IDCardNum
=
"510112199301013617"
;
htModel
.
Client_Call
=
"18328620563"
;
htModel
.
Client_Call
=
"18328620563"
;
CreateContractToLYJ
(
service
,
htModel
);
}
}
return
flag
;
}
Console
.
WriteLine
(
"3"
);
/// <summary>
#
region
开始组装数据
/// 创建合同
/// </summary>
//查询旅客名单
/// <param name="service"></param>
var
guestList
=
travel_GuestRepository
.
GetTravelGuestList
(
new
RB_Travel_Guest_Extend
()
{
GuestIdStr
=
htModel
.
UnionGuestIds
});
/// <param name="htModel"></param>
List
<
object
>
GuestInfo
=
new
List
<
object
>();
private
void
CreateContractToLYJ
(
TourismContractService
service
,
Model
.
Entity
.
Dmc
.
RB_Contract
htModel
)
List
<
Tourist
>
Tourist
=
new
List
<
Tourist
>();
{
TouristId
QZModel
=
new
TouristId
()
Console
.
WriteLine
(
"3"
);
{
#
region
开始组装数据
IDType
=
(
int
)
IDType
.
IDCard
,
IDNumber
=
htModel
.
Client_IDCardNum
//查询旅客名单
};
var
guestList
=
travel_GuestRepository
.
GetTravelGuestList
(
new
RB_Travel_Guest_Extend
()
{
GuestIdStr
=
htModel
.
UnionGuestIds
});
int
Number
=
1
;
List
<
object
>
GuestInfo
=
new
List
<
object
>();
foreach
(
var
item
in
guestList
)
List
<
Tourist
>
Tourist
=
new
List
<
Tourist
>();
{
TouristId
QZModel
=
new
TouristId
()
var
TouristId
=
new
TouristId
{
IDType
=
(
int
)
IDType
.
IDCard
,
IDNumber
=
item
.
IdCard
};
{
if
(
string
.
IsNullOrEmpty
(
item
.
IdCard
))
{
TouristId
=
new
TouristId
{
IDType
=
(
int
)
IDType
.
Passport
,
IDNumber
=
item
.
PassportNo
};
}
IDType
=
(
int
)
IDType
.
IDCard
,
bool
IsChild
=
false
;
IDNumber
=
htModel
.
Client_IDCardNum
if
(
item
.
Birthday
.
HasValue
&&
htModel
.
StartDate
.
HasValue
)
{
};
int
Number
=
1
;
// 计算基础年龄(年份差)
foreach
(
var
item
in
guestList
)
int
age
=
htModel
.
StartDate
.
Value
.
Year
-
item
.
Birthday
.
Value
.
Year
;
{
// 如果今年生日还没过,年龄减1
var
TouristId
=
new
TouristId
{
IDType
=
(
int
)
IDType
.
IDCard
,
IDNumber
=
item
.
IdCard
};
if
(
item
.
Birthday
.
Value
.
Date
>
htModel
.
StartDate
.
Value
.
AddYears
(-
age
))
{
age
--;
}
if
(
string
.
IsNullOrEmpty
(
item
.
IdCard
))
{
TouristId
=
new
TouristId
{
IDType
=
(
int
)
IDType
.
Passport
,
IDNumber
=
item
.
PassportNo
};
}
bool
IsChild
=
false
;
if
(
item
.
Birthday
.
HasValue
&&
htModel
.
StartDate
.
HasValue
)
{
if
(
age
<
12
)
{
IsChild
=
true
;
}
// 计算基础年龄(年份差)
}
int
age
=
htModel
.
StartDate
.
Value
.
Year
-
item
.
Birthday
.
Value
.
Year
;
Tourist
.
Add
(
new
Tourist
// 如果今年生日还没过,年龄减1
{
if
(
item
.
Birthday
.
Value
.
Date
>
htModel
.
StartDate
.
Value
.
AddYears
(-
age
))
{
age
--;
}
Number
=
Number
++,
Name
=
item
.
SurName
+
item
.
Name
,
//Gender = item.Sex == 1 ? "男" : item.Sex == 2 ? "女" : "",
Phone
=
item
.
MobilePhone
,
ID
=
TouristId
,
IsSigner
=
false
,
Health
=
"健康"
,
IsChild
=
IsChild
});
if
(!
string
.
IsNullOrEmpty
(
htModel
.
Client_Name
)
&&
htModel
.
Client_Name
==
(
item
.
SurName
+
item
.
Name
))
if
(
age
<
12
)
{
IsChild
=
true
;
}
{
}
QZModel
=
JsonHelper
.
DeserializeObject
<
TouristId
>(
JsonHelper
.
Serialize
(
TouristId
));
//用名单上的
Tourist
.
Add
(
new
Tourist
}
{
}
Number
=
Number
++,
Name
=
item
.
SurName
+
item
.
Name
,
//Gender = item.Sex == 1 ? "男" : item.Sex == 2 ? "女" : "",
Phone
=
item
.
MobilePhone
,
ID
=
TouristId
,
IsSigner
=
false
,
Health
=
"健康"
,
IsChild
=
IsChild
});
if
(!
string
.
IsNullOrEmpty
(
htModel
.
Client_Name
)
&&
htModel
.
Client_Name
==
(
item
.
SurName
+
item
.
Name
))
{
QZModel
=
JsonHelper
.
DeserializeObject
<
TouristId
>(
JsonHelper
.
Serialize
(
TouristId
));
//用名单上的
}
}
var
Shoppings
=
new
List
<
Shopping
>();
var
Shoppings
=
new
List
<
Shopping
>();
if
(!
string
.
IsNullOrEmpty
(
htModel
.
ShopProtocol
))
if
(!
string
.
IsNullOrEmpty
(
htModel
.
ShopProtocol
))
{
var
shopProtocolList
=
!
string
.
IsNullOrWhiteSpace
(
htModel
?.
ShopProtocol
??
""
)
?
JsonConvert
.
DeserializeObject
<
List
<
object
>>(
htModel
?.
ShopProtocol
??
""
)
:
new
List
<
object
>();
foreach
(
var
item
in
shopProtocolList
)
{
JObject
parms
=
JObject
.
Parse
(
item
.
ToString
());
Shoppings
.
Add
(
new
Shopping
()
{
{
var
shopProtocolList
=
!
string
.
IsNullOrWhiteSpace
(
htModel
?.
ShopProtocol
??
""
)
?
JsonConvert
.
DeserializeObject
<
List
<
object
>>(
htModel
?.
ShopProtocol
??
""
)
:
new
List
<
object
>();
Date
=
parms
.
GetStringValue
(
"specificTime"
),
foreach
(
var
item
in
shopProtocolList
)
Place
=
parms
.
GetStringValue
(
"Address"
),
{
StayDuration
=
parms
.
GetStringValue
(
"stayTime"
),
JObject
parms
=
JObject
.
Parse
(
item
.
ToString
());
ShoppingPlace
=
parms
.
GetStringValue
(
"shoppName"
),
Shoppings
.
Add
(
new
Shopping
()
Goods
=
parms
.
GetStringValue
(
"CommodityInformation"
),
{
Memo
=
parms
.
GetStringValue
(
"other"
)
Date
=
parms
.
GetStringValue
(
"specificTime"
),
});
Place
=
parms
.
GetStringValue
(
"Address"
),
}
StayDuration
=
parms
.
GetStringValue
(
"stayTime"
),
}
ShoppingPlace
=
parms
.
GetStringValue
(
"shoppName"
),
Goods
=
parms
.
GetStringValue
(
"CommodityInformation"
),
Memo
=
parms
.
GetStringValue
(
"other"
)
});
}
}
var
Activities
=
new
List
<
Activity
>();
var
Activities
=
new
List
<
Activity
>();
if
(!
string
.
IsNullOrEmpty
(
htModel
.
PayProtocol
))
if
(!
string
.
IsNullOrEmpty
(
htModel
.
PayProtocol
))
{
var
payProtocolList
=
!
string
.
IsNullOrWhiteSpace
(
htModel
?.
PayProtocol
??
""
)
?
JsonConvert
.
DeserializeObject
<
List
<
object
>>(
htModel
?.
PayProtocol
??
""
)
:
new
List
<
object
>();
foreach
(
var
item
in
payProtocolList
)
{
JObject
parms
=
JObject
.
Parse
(
item
.
ToString
());
Activities
.
Add
(
new
Activity
()
{
{
var
payProtocolList
=
!
string
.
IsNullOrWhiteSpace
(
htModel
?.
PayProtocol
??
""
)
?
JsonConvert
.
DeserializeObject
<
List
<
object
>>(
htModel
?.
PayProtocol
??
""
)
:
new
List
<
object
>();
Date
=
parms
.
GetStringValue
(
"specificTime"
),
foreach
(
var
item
in
payProtocolList
)
Place
=
parms
.
GetStringValue
(
"Address"
),
{
Item
=
parms
.
GetStringValue
(
"programName"
),
JObject
parms
=
JObject
.
Parse
(
item
.
ToString
());
Fee
=
parms
.
GetDecimal
(
"money"
),
Activities
.
Add
(
new
Activity
()
StayDuration
=
parms
.
GetStringValue
(
"programTime"
),
{
Memo
=
parms
.
GetStringValue
(
"other"
)
Date
=
parms
.
GetStringValue
(
"specificTime"
),
});
Place
=
parms
.
GetStringValue
(
"Address"
),
}
Item
=
parms
.
GetStringValue
(
"programName"
),
}
Fee
=
parms
.
GetDecimal
(
"money"
),
StayDuration
=
parms
.
GetStringValue
(
"programTime"
),
Memo
=
parms
.
GetStringValue
(
"other"
)
});
}
}
Console
.
WriteLine
(
"4"
);
Console
.
WriteLine
(
"4"
);
var
req
=
new
ApplyContractRequest
var
req
=
new
ApplyContractRequest
{
ERPContractId
=
htModel
.
ContractNum
,
AuthType
=
QZModel
.
IDType
==
1
?
"1"
:
"0"
,
TemplateId
=
"C00001"
,
CallbackURL
=
"http://htapi.oytour.com/api/PayNotify/ContractNotify"
,
IsMultiSignatory
=
false
,
SupplementaryClause
=
ReplaceParagraphTagsWithNewlines
(
htModel
.
Other_Matter
),
//其他约定事项
//公司信息
TravelAgency
=
new
TravelAgencyInfo
{
TransactorName
=
htModel
.
Agent_Name
,
TransactorPhone
=
!
string
.
IsNullOrEmpty
(
htModel
.
Company_Call
)
?
htModel
.
Company_Call
:
htModel
.
Regulator_Complain_Call
,
LocalComplaintPhone
=
htModel
.
Company_Complain_Call
,
ComplaintPhone
=
htModel
.
Regulator_Complain_Call
,
AgencyName
=
htModel
.
Company
,
TravelAgencyLicenseNumber
=
htModel
.
Business_Certificate
,
BusinessLicenseNumber
=
htModel
.
Business_Certificate
,
AgencyAddress
=
new
Address
()
{
{
ERPContractId
=
htModel
.
ContractNum
,
Description
=
htModel
.
Company_Address
,
AuthType
=
QZModel
.
IDType
==
1
?
"1"
:
"0"
,
Zip
=
htModel
.
Company_Post_Code
TemplateId
=
"C00001"
,
},
CallbackURL
=
"http://htapi.oytour.com/api/PayNotify/ContractNotify"
,
ContactName
=
""
,
IsMultiSignatory
=
false
,
ContactPhone
=
""
,
SupplementaryClause
=
ReplaceParagraphTagsWithNewlines
(
htModel
.
Other_Matter
),
//其他约定事项
Email
=
""
,
//公司信息
Fax
=
""
,
TravelAgency
=
new
TravelAgencyInfo
ServicePhone
=
""
{
},
TransactorName
=
htModel
.
Agent_Name
,
//行程
TransactorPhone
=
!
string
.
IsNullOrEmpty
(
htModel
.
Company_Call
)
?
htModel
.
Company_Call
:
htModel
.
Regulator_Complain_Call
,
Itinerary
=
new
Itinerary
()
LocalComplaintPhone
=
htModel
.
Company_Complain_Call
,
{
ComplaintPhone
=
htModel
.
Regulator_Complain_Call
,
InputType
=
1
,
AgencyName
=
htModel
.
Company
,
StartDate
=
htModel
.
StartDate
.
HasValue
?
htModel
.
StartDate
.
Value
.
ToString
(
"yyyy-MM-dd"
)
:
""
,
TravelAgencyLicenseNumber
=
htModel
.
Business_Certificate
,
EndDate
=
htModel
.
ReturnDate
.
HasValue
?
htModel
.
ReturnDate
.
Value
.
ToString
(
"yyyy-MM-dd"
)
:
""
,
BusinessLicenseNumber
=
htModel
.
Business_Certificate
,
Days
=
htModel
.
DayNum
??
0
,
AgencyAddress
=
new
Address
()
Nights
=
htModel
.
NightNum
??
0
,
{
GroupId
=
htModel
.
TCNum
,
Description
=
htModel
.
Company_Address
,
RouteName
=
htModel
.
ProductName
,
Zip
=
htModel
.
Company_Post_Code
Routes
=
new
RouteStop
[]
{
},
ContactName
=
""
,
ContactPhone
=
""
,
Email
=
""
,
Fax
=
""
,
ServicePhone
=
""
},
//行程
Itinerary
=
new
Itinerary
()
{
InputType
=
1
,
StartDate
=
htModel
.
StartDate
.
HasValue
?
htModel
.
StartDate
.
Value
.
ToString
(
"yyyy-MM-dd"
)
:
""
,
EndDate
=
htModel
.
ReturnDate
.
HasValue
?
htModel
.
ReturnDate
.
Value
.
ToString
(
"yyyy-MM-dd"
)
:
""
,
Days
=
htModel
.
DayNum
??
0
,
Nights
=
htModel
.
NightNum
??
0
,
GroupId
=
htModel
.
TCNum
,
RouteName
=
htModel
.
ProductName
,
Routes
=
new
RouteStop
[]
{
new
RouteStop
(){
new
RouteStop
(){
Day
=
1
,
Day
=
1
,
Description
=
AddTableBorder
(
htModel
.
Travel_Content
)
Description
=
AddTableBorder
(
htModel
.
Travel_Content
)
}
}
}
}
},
},
//客人名单
//客人名单
TouristsInfo
=
new
TouristsInfo
TouristsInfo
=
new
TouristsInfo
{
{
TotalNumber
=
htModel
.
GuestNum
,
TotalNumber
=
htModel
.
GuestNum
,
Tourists
=
Tourist
.
ToArray
()
Tourists
=
Tourist
.
ToArray
()
},
},
//旅客代表
//旅客代表
Signatory
=
new
Signatory
Signatory
=
new
Signatory
{
{
Name
=
htModel
.
Client_Name
,
Name
=
htModel
.
Client_Name
,
ID
=
QZModel
,
ID
=
QZModel
,
Phone
=
htModel
.
Client_Call
.
Replace
(
" "
,
""
),
Phone
=
htModel
.
Client_Call
.
Replace
(
" "
,
""
),
Mode
=
(
int
)
SignMode
.
Sms
,
Mode
=
(
int
)
SignMode
.
Sms
,
Address
=
new
Address
()
Address
=
new
Address
()
{
{
Description
=
htModel
.
Client_Address
,
Description
=
htModel
.
Client_Address
,
Zip
=
htModel
.
Client_Post_Code
Zip
=
htModel
.
Client_Post_Code
},
},
CompanyName
=
""
,
CompanyName
=
""
,
Email
=
htModel
.
Client_Email
,
Email
=
htModel
.
Client_Email
,
Fax
=
htModel
.
Client_Fax
,
Fax
=
htModel
.
Client_Fax
,
SigningPlace
=
htModel
.
Contract_Place
,
SigningPlace
=
htModel
.
Contract_Place
,
OfficePhone
=
""
OfficePhone
=
""
},
},
//费用
//费用
Cost
=
new
CostInfo
()
Cost
=
new
CostInfo
()
{
{
AdultCost
=
htModel
.
Adult_Price
??
0
,
AdultCost
=
htModel
.
Adult_Price
??
0
,
ChildCost
=
htModel
.
Child_Price
??
0
,
ChildCost
=
htModel
.
Child_Price
==
0
?
null
:
htModel
.
Child_Price
,
GuideServiceCost
=
htModel
.
Service_Price
??
0
,
GuideServiceCost
=
htModel
.
Service_Price
==
0
?
null
:
htModel
.
Service_Price
,
TotalCost
=
htModel
.
Order_Price
??
0
,
TotalCost
=
htModel
.
Order_Price
??
0
,
PaymentTime
=
htModel
.
Pay_Date
,
PaymentTime
=
htModel
.
Pay_Date
,
PaymentMethod
=
htModel
.
PayType
??
1
,
PaymentMethod
=
htModel
.
PayType
??
1
,
//ExcludeNote = "团费不包含:",
//ExcludeNote = "团费不包含:",
PaymentDescription
=
htModel
.
PriceDescription
PaymentDescription
=
htModel
.
PriceDescription
},
},
Insurance
=
new
InsuranceInfo
()
Insurance
=
new
InsuranceInfo
()
{
{
PurchaseMethod
=
htModel
.
Insurance_Opinion
??
1
,
PurchaseMethod
=
htModel
.
Insurance_Opinion
??
1
,
ProductName
=
!
string
.
IsNullOrEmpty
(
htModel
.
Insurance_Product
)
?
htModel
.
Insurance_Product
:
htModel
.
Insurance_Company
ProductName
=
!
string
.
IsNullOrEmpty
(
htModel
.
Insurance_Product
)
?
htModel
.
Insurance_Product
:
htModel
.
Insurance_Company
},
},
Dispute
=
new
DisputeInfo
()
Dispute
=
new
DisputeInfo
()
{
{
Resolution
=
htModel
.
Settle_Dispute_Mode
??
1
,
Resolution
=
htModel
.
Settle_Dispute_Mode
??
1
,
TribunalName
=
htModel
.
Arbitration_Commission
,
TribunalName
=
htModel
.
Arbitration_Commission
,
CourtName
=
htModel
.
Court
CourtName
=
htModel
.
Court
},
},
//自费项目
//自费项目
Activities
=
Activities
.
ToArray
(),
Activities
=
Activities
.
ToArray
(),
//购物
//购物
Shoppings
=
Shoppings
.
ToArray
(),
Shoppings
=
Shoppings
.
ToArray
(),
GroupAgreement
=
new
GroupAgreement
()
GroupAgreement
=
new
GroupAgreement
()
{
{
Resolution
=
htModel
.
Instead_Opinion
==
1
?
(
int
)
GroupAgreementResolution
.
EntrustOtherAgency
:
Resolution
=
htModel
.
Instead_Opinion
==
1
?
(
int
)
GroupAgreementResolution
.
EntrustOtherAgency
:
htModel
.
Delay_Opinion
==
"1"
?
(
int
)
GroupAgreementResolution
.
Delay
:
htModel
.
Delay_Opinion
==
"1"
?
(
int
)
GroupAgreementResolution
.
Delay
:
htModel
.
Change_Opinion
==
"1"
?
(
int
)
GroupAgreementResolution
.
ChangeRoute
:
htModel
.
Change_Opinion
==
"1"
?
(
int
)
GroupAgreementResolution
.
ChangeRoute
:
htModel
.
Terminate_Opinion
==
"1"
?
(
int
)
GroupAgreementResolution
.
Terminate
:
(
int
)
GroupAgreementResolution
.
Other
,
htModel
.
Terminate_Opinion
==
"1"
?
(
int
)
GroupAgreementResolution
.
Terminate
:
(
int
)
GroupAgreementResolution
.
Other
,
LeastCustomerNumber
=
htModel
.
Min_Number
??
0
,
LeastCustomerNumber
=
htModel
.
Min_Number
??
0
,
AgreeToDelay
=
htModel
.
Delay_Opinion
==
"1"
?
true
:
false
,
AgreeToDelay
=
htModel
.
Delay_Opinion
==
"1"
?
true
:
false
,
AgreeToChangeLine
=
htModel
.
Change_Opinion
==
"1"
?
true
:
false
,
AgreeToChangeLine
=
htModel
.
Change_Opinion
==
"1"
?
true
:
false
,
AgreeToTerminate
=
htModel
.
Terminate_Opinion
==
"1"
?
true
:
false
,
AgreeToTerminate
=
htModel
.
Terminate_Opinion
==
"1"
?
true
:
false
,
AgreeToMerge
=
htModel
.
Carpool_Opinion
==
"1"
?
true
:
false
,
AgreeToMerge
=
htModel
.
Carpool_Opinion
==
"1"
?
true
:
false
,
MergeToCompanyName
=
htModel
.
Carpool_Company
MergeToCompanyName
=
htModel
.
Carpool_Company
}
}
};
};
var
payload
=
service
.
GetJson
(
req
);
var
payload
=
service
.
GetJson
(
req
);
LogHelper
.
Write
(
payload
);
LogHelper
.
Write
(
payload
);
var
response
=
service
.
ApplyContract
(
payload
);
var
response
=
service
.
ApplyContract
(
payload
,
htModel
.
ThirdContractID
);
LogHelper
.
Write
(
JsonHelper
.
Serialize
(
response
));
LogHelper
.
Write
(
JsonHelper
.
Serialize
(
response
));
Console
.
WriteLine
(
"5"
);
Console
.
WriteLine
(
"5"
);
#
endregion
#
endregion
#
region
更新合同
#
region
更新合同
if
(
response
.
Error
==
null
)
if
(
response
.
Error
==
null
)
{
{
Dictionary
<
string
,
object
>
keyValues
=
new
Dictionary
<
string
,
object
>()
{
Dictionary
<
string
,
object
>
keyValues
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Contract_Extend
.
ContractNum
),
response
.
Data
.
ContractNumber
},
{
nameof
(
RB_Contract_Extend
.
ContractNum
),
response
.
Data
.
ContractNumber
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractID
),
response
.
Data
.
ContractNumber
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractID
),
response
.
Data
.
ContractNumber
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractSignUrl
),
response
.
Data
.
SigningURL
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractSignUrl
),
response
.
Data
.
SigningURL
},
...
@@ -559,35 +595,32 @@ namespace REBORN.Module.DMCModule
...
@@ -559,35 +595,32 @@ namespace REBORN.Module.DMCModule
{
nameof
(
RB_Contract_Extend
.
ThirdContractFileUrl
),
response
.
Data
.
FileURL
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractFileUrl
),
response
.
Data
.
FileURL
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractState
),
1
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractState
),
1
},
};
};
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
new
WhereHelper
(){
new
WhereHelper
(){
FiledName
=
nameof
(
RB_Contract_Extend
.
Id
),
FiledName
=
nameof
(
RB_Contract_Extend
.
Id
),
FiledValue
=
htModel
.
Id
,
FiledValue
=
htModel
.
Id
,
OperatorEnum
=
OperatorEnum
.
Equal
OperatorEnum
=
OperatorEnum
.
Equal
}
}
};
};
contractRepository
.
Update
(
keyValues
,
wheres
);
contractRepository
.
Update
(
keyValues
,
wheres
);
//查看是否要 作废合同
//查看是否要 作废合同
if
(!
string
.
IsNullOrEmpty
(
htModel
.
ThirdContractID
)
&&
htModel
.
ThirdContractID
!=
response
.
Data
.
ContractNumber
)
if
(!
string
.
IsNullOrEmpty
(
htModel
.
ThirdContractID
)
&&
htModel
.
ThirdContractID
!=
response
.
Data
.
ContractNumber
)
{
{
//获取一下合同状态
//获取一下合同状态
service
.
GetContractStatus
(
htModel
.
ThirdContractID
);
service
.
GetContractStatus
(
htModel
.
ThirdContractID
);
if
(
htModel
.
ThirdContractState
==
1
||
htModel
.
ThirdContractState
==
2
)
if
(
htModel
.
ThirdContractState
==
1
||
htModel
.
ThirdContractState
==
2
)
{
{
//合同编号不一样了 作废之前的合同
//合同编号不一样了 作废之前的合同
var
result
=
service
.
InvalidateContract
(
htModel
.
ThirdContractID
);
var
result
=
service
.
InvalidateContract
(
htModel
.
ThirdContractID
);
LogHelper
.
WriteInfo
(
JsonHelper
.
Serialize
(
result
));
LogHelper
.
WriteInfo
(
JsonHelper
.
Serialize
(
result
));
//获取一下合同状态
//获取一下合同状态
service
.
GetContractStatus
(
htModel
.
ThirdContractID
);
service
.
GetContractStatus
(
htModel
.
ThirdContractID
);
}
}
}
}
#
endregion
}
}
}
}
return
flag
;
#
endregion
}
}
/// <summary>
/// <summary>
...
@@ -981,6 +1014,27 @@ namespace REBORN.Module.DMCModule
...
@@ -981,6 +1014,27 @@ namespace REBORN.Module.DMCModule
{
nameof
(
RB_Travel_Contract_Extend
.
Tourists_IDType
),
extModel
.
Tourists_IDType
},
{
nameof
(
RB_Travel_Contract_Extend
.
Tourists_IDType
),
extModel
.
Tourists_IDType
},
};
};
flag
=
travel_ContractRepository
.
Update
(
fileds
,
new
WhereHelper
(
nameof
(
RB_Travel_Contract_Extend
.
ID
),
extModel
.
ID
));
flag
=
travel_ContractRepository
.
Update
(
fileds
,
new
WhereHelper
(
nameof
(
RB_Travel_Contract_Extend
.
ID
),
extModel
.
ID
));
if
(
flag
)
{
if
(
Id
>
0
&&
extModel
.
IsApplyContract
==
1
)
{
var
htModel
=
extModel
;
if
(
htModel
.
CType
==
1
||
htModel
.
CType
==
2
||
htModel
.
CType
==
3
)
{
//开始同步合同至旅游局
//审核通过, 同步上传合同至 公众号
if
(
string
.
IsNullOrEmpty
(
htModel
.
GuestJson
))
{
return
flag
;
}
//注意默认值 正式需要删除
htModel
.
Tourists_Tel
=
"18328620563"
;
#
region
初始化旅游局
Key
TourismContractService
service
=
GetContractService
(
htModel
.
RB_Group_Id
??
0
,
htModel
.
RB_Branch_Id
??
0
,
out
string
cmsg
);
if
(
cmsg
!=
""
)
{
LogHelper
.
Write
(
"初始化旅游局Key失败:"
+
cmsg
);
return
false
;
}
#
endregion
CreateSingleContractToLYJ
(
htModel
,
service
);
}
}
}
}
}
else
else
{
{
...
@@ -997,304 +1051,318 @@ namespace REBORN.Module.DMCModule
...
@@ -997,304 +1051,318 @@ namespace REBORN.Module.DMCModule
//审核通过, 同步上传合同至 公众号
//审核通过, 同步上传合同至 公众号
if
(
string
.
IsNullOrEmpty
(
htModel
.
GuestJson
))
{
return
false
;
}
if
(
string
.
IsNullOrEmpty
(
htModel
.
GuestJson
))
{
return
false
;
}
//注意默认值 正式需要删除
//注意默认值 正式需要删除
htModel
.
Tourists_Tel
=
"18328620563"
;
htModel
.
Tourists_Tel
=
"18328620563"
;
#
region
初始化旅游局
Key
#
region
初始化旅游局
Key
TourismContractService
service
=
GetContractService
(
htModel
.
RB_Group_Id
??
0
,
htModel
.
RB_Branch_Id
??
0
,
out
string
cmsg
);
TourismContractService
service
=
GetContractService
(
htModel
.
RB_Group_Id
??
0
,
htModel
.
RB_Branch_Id
??
0
,
out
string
cmsg
);
if
(
cmsg
!=
""
)
{
LogHelper
.
Write
(
"初始化旅游局Key失败:"
+
cmsg
);
return
false
;
}
if
(
cmsg
!=
""
)
{
LogHelper
.
Write
(
"初始化旅游局Key失败:"
+
cmsg
);
return
false
;
}
#
endregion
#
endregion
CreateSingleContractToLYJ
(
htModel
,
service
);
}
}
}
return
flag
;
}
//这一套合同 没有客人列表,走 合同里抓取
/// <summary>
//查询旅客名单
/// 上传旅游局
htModel
.
ContractGuestList
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
ContractGuest
>>(
htModel
.
GuestJson
);
/// </summary>
List
<
object
>
GuestInfo
=
new
List
<
object
>();
/// <param name="htModel"></param>
List
<
Tourist
>
Tourist
=
new
List
<
Tourist
>();
/// <param name="service"></param>
TouristId
QZModel
=
new
TouristId
()
private
void
CreateSingleContractToLYJ
(
RB_Travel_Contract_Extend
htModel
,
TourismContractService
service
)
{
{
IDType
=
(
int
)
IDType
.
IDCard
,
IDNumber
=
htModel
.
Tourists_IDNum
};
if
((
QZModel
.
IDNumber
??
""
).
Length
<=
10
)
{
QZModel
.
IDType
=
(
int
)
IDType
.
Passport
;
}
int
Number
=
1
;
foreach
(
var
item
in
htModel
.
ContractGuestList
)
{
var
TouristId
=
new
TouristId
{
IDType
=
(
int
)
IDType
.
IDCard
,
IDNumber
=
item
.
CGuestCertificateNum
};
if
(
item
.
CGuestCertificateType
==
"护照"
)
{
TouristId
=
new
TouristId
{
IDType
=
(
int
)
IDType
.
Passport
,
IDNumber
=
item
.
CGuestCertificateNum
};
}
Tourist
.
Add
(
new
Tourist
//这一套合同 没有客人列表,走 合同里抓取
{
//查询旅客名单
Number
=
Number
++,
htModel
.
ContractGuestList
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
ContractGuest
>>(
htModel
.
GuestJson
);
Name
=
item
.
CGuestName
,
List
<
object
>
GuestInfo
=
new
List
<
object
>();
Gender
=
item
.
CGuestSex
,
List
<
Tourist
>
Tourist
=
new
List
<
Tourist
>();
Phone
=
item
.
CGuestTel
,
TouristId
QZModel
=
new
TouristId
()
Race
=
""
,
{
Health
=
item
.
CGuestHealth
,
IDType
=
(
int
)
IDType
.
IDCard
,
ID
=
TouristId
IDNumber
=
htModel
.
Tourists_IDNum
})
;
}
;
if
((
QZModel
.
IDNumber
??
""
).
Length
<=
10
)
{
QZModel
.
IDType
=
(
int
)
IDType
.
Passport
;
}
if
(!
string
.
IsNullOrEmpty
(
htModel
.
Tourists_Name
)
&&
htModel
.
Tourists_Name
==
item
.
CGuestName
)
int
Number
=
1
;
{
foreach
(
var
item
in
htModel
.
ContractGuestList
)
QZModel
=
JsonHelper
.
DeserializeObject
<
TouristId
>(
JsonHelper
.
Serialize
(
TouristId
));
//用名单上的
{
}
var
TouristId
=
new
TouristId
{
IDType
=
(
int
)
IDType
.
IDCard
,
IDNumber
=
item
.
CGuestCertificateNum
};
}
if
(
item
.
CGuestCertificateType
==
"护照"
)
{
TouristId
=
new
TouristId
{
IDType
=
(
int
)
IDType
.
Passport
,
IDNumber
=
item
.
CGuestCertificateNum
};
}
#
region
解析其他
json
Tourist
.
Add
(
new
Tourist
{
Number
=
Number
++,
Name
=
item
.
CGuestName
,
Gender
=
item
.
CGuestSex
,
Phone
=
item
.
CGuestTel
,
Race
=
""
,
Health
=
item
.
CGuestHealth
,
ID
=
TouristId
});
if
(!
string
.
IsNullOrEmpty
(
htModel
.
Tourists_Name
)
&&
htModel
.
Tourists_Name
==
item
.
CGuestName
)
{
QZModel
=
JsonHelper
.
DeserializeObject
<
TouristId
>(
JsonHelper
.
Serialize
(
TouristId
));
//用名单上的
}
}
htModel
.
ContractTripList
=
new
List
<
ContractTrip
>();
#
region
解析其他
json
if
(
htModel
.
TripJson
!=
null
&&
!
string
.
IsNullOrEmpty
(
htModel
.
TripJson
.
Trim
()))
{
try
{
JArray
jArray
=
JArray
.
Parse
(
htModel
.
TripJson
);
if
(
jArray
!=
null
&&
jArray
.
Count
>
0
)
{
foreach
(
var
jItem
in
jArray
)
{
JObject
jobj
=
JObject
.
Parse
(
jItem
.
ToString
());
ContractTrip
cModel
=
new
ContractTrip
()
{
TripType
=
jobj
.
GetInt
(
"TripType"
),
DayNum
=
jobj
.
GetInt
(
"DayNum"
),
Go
=
jobj
.
GetStringValue
(
"Go"
),
GoProvice
=
jobj
.
GetStringValue
(
"GoProvice"
),
IsOut
=
jobj
.
GetInt
(
"IsOut"
),
TravelContent
=
jobj
.
GetStringValue
(
"TravelContent"
),
};
htModel
.
ContractTripList
.
Add
(
cModel
);
}
}
}
catch
(
Exception
ex
)
{
Common
.
Plugin
.
LogHelper
.
Write
(
ex
,
"GetTravelContractModule_TripJson"
);
}
}
htModel
.
ContractShopList
=
new
List
<
ContractShop
>();
if
(
htModel
.
ShopJson
!=
null
&&
!
string
.
IsNullOrEmpty
(
htModel
.
ShopJson
.
Trim
()))
{
htModel
.
ContractShopList
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
ContractShop
>>(
htModel
.
ShopJson
);
}
htModel
.
ContractSelfFeeList
=
new
List
<
ContractSelfFee
>();
if
(
htModel
.
SelfFeeJson
!=
null
&&
!
string
.
IsNullOrEmpty
(
htModel
.
SelfFeeJson
.
Trim
()))
{
htModel
.
ContractSelfFeeList
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
ContractSelfFee
>>(
htModel
.
SelfFeeJson
);
}
htModel
.
ContractTicketList
=
new
List
<
ContractTicket
>();
if
(
htModel
.
TicketJson
!=
null
&&
!
string
.
IsNullOrEmpty
(
htModel
.
TicketJson
.
Trim
()))
{
htModel
.
ContractTicketList
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
ContractTicket
>>(
htModel
.
TicketJson
);
}
htModel
.
ContractHotelList
=
new
List
<
ContractHotel
>();
if
(
htModel
.
HotelBookJson
!=
null
&&
!
string
.
IsNullOrEmpty
(
htModel
.
HotelBookJson
.
Trim
()))
{
htModel
.
ContractHotelList
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
ContractHotel
>>(
htModel
.
HotelBookJson
);
}
htModel
.
ContractPickUpList
=
new
List
<
ContractPickUp
>();
if
(
htModel
.
PickUpJson
!=
null
&&
!
string
.
IsNullOrEmpty
(
htModel
.
PickUpJson
.
Trim
()))
{
htModel
.
ContractPickUpList
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
ContractPickUp
>>(
htModel
.
PickUpJson
);
}
htModel
.
ContractVisaList
=
new
List
<
ContractVisa
>();
if
(
htModel
.
VisaJson
!=
null
&&
!
string
.
IsNullOrEmpty
(
htModel
.
VisaJson
.
Trim
()))
{
htModel
.
ContractVisaList
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
ContractVisa
>>(
htModel
.
VisaJson
);
}
htModel
.
ContractTicketAndHotel
=
new
ContractTicketAndHotel
();
if
(
htModel
.
TicketAndHotelJson
!=
null
&&
!
string
.
IsNullOrEmpty
(
htModel
.
TicketAndHotelJson
.
Trim
()))
{
htModel
.
ContractTicketAndHotel
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
ContractTicketAndHotel
>(
htModel
.
TicketAndHotelJson
);
}
var
Shoppings
=
new
List
<
Shopping
>();
htModel
.
ContractTripList
=
new
List
<
ContractTrip
>();
foreach
(
var
item
in
htModel
.
ContractShopList
)
if
(
htModel
.
TripJson
!=
null
&&
!
string
.
IsNullOrEmpty
(
htModel
.
TripJson
.
Trim
()))
{
try
{
JArray
jArray
=
JArray
.
Parse
(
htModel
.
TripJson
);
if
(
jArray
!=
null
&&
jArray
.
Count
>
0
)
{
foreach
(
var
jItem
in
jArray
)
{
{
Shoppings
.
Add
(
new
Shopping
()
JObject
jobj
=
JObject
.
Parse
(
jItem
.
ToString
());
ContractTrip
cModel
=
new
ContractTrip
()
{
{
Date
=
item
.
ShopTime
,
TripType
=
jobj
.
GetInt
(
"TripType"
),
Place
=
item
.
ShopAddress
,
DayNum
=
jobj
.
GetInt
(
"DayNum"
),
StayDuration
=
item
.
StopTime
,
Go
=
jobj
.
GetStringValue
(
"Go"
),
ShoppingPlace
=
item
.
ShopName
,
GoProvice
=
jobj
.
GetStringValue
(
"GoProvice"
),
Goods
=
item
.
ShopGoodName
,
IsOut
=
jobj
.
GetInt
(
"IsOut"
),
Memo
=
item
.
OtherInstruction
TravelContent
=
jobj
.
GetStringValue
(
"TravelContent"
),
});
};
htModel
.
ContractTripList
.
Add
(
cModel
);
}
}
}
}
catch
(
Exception
ex
)
{
Common
.
Plugin
.
LogHelper
.
Write
(
ex
,
"GetTravelContractModule_TripJson"
);
}
}
htModel
.
ContractShopList
=
new
List
<
ContractShop
>();
if
(
htModel
.
ShopJson
!=
null
&&
!
string
.
IsNullOrEmpty
(
htModel
.
ShopJson
.
Trim
()))
{
htModel
.
ContractShopList
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
ContractShop
>>(
htModel
.
ShopJson
);
}
htModel
.
ContractSelfFeeList
=
new
List
<
ContractSelfFee
>();
if
(
htModel
.
SelfFeeJson
!=
null
&&
!
string
.
IsNullOrEmpty
(
htModel
.
SelfFeeJson
.
Trim
()))
{
htModel
.
ContractSelfFeeList
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
ContractSelfFee
>>(
htModel
.
SelfFeeJson
);
}
htModel
.
ContractTicketList
=
new
List
<
ContractTicket
>();
if
(
htModel
.
TicketJson
!=
null
&&
!
string
.
IsNullOrEmpty
(
htModel
.
TicketJson
.
Trim
()))
{
htModel
.
ContractTicketList
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
ContractTicket
>>(
htModel
.
TicketJson
);
}
htModel
.
ContractHotelList
=
new
List
<
ContractHotel
>();
if
(
htModel
.
HotelBookJson
!=
null
&&
!
string
.
IsNullOrEmpty
(
htModel
.
HotelBookJson
.
Trim
()))
{
htModel
.
ContractHotelList
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
ContractHotel
>>(
htModel
.
HotelBookJson
);
}
htModel
.
ContractPickUpList
=
new
List
<
ContractPickUp
>();
if
(
htModel
.
PickUpJson
!=
null
&&
!
string
.
IsNullOrEmpty
(
htModel
.
PickUpJson
.
Trim
()))
{
htModel
.
ContractPickUpList
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
ContractPickUp
>>(
htModel
.
PickUpJson
);
}
htModel
.
ContractVisaList
=
new
List
<
ContractVisa
>();
if
(
htModel
.
VisaJson
!=
null
&&
!
string
.
IsNullOrEmpty
(
htModel
.
VisaJson
.
Trim
()))
{
htModel
.
ContractVisaList
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
List
<
ContractVisa
>>(
htModel
.
VisaJson
);
}
htModel
.
ContractTicketAndHotel
=
new
ContractTicketAndHotel
();
if
(
htModel
.
TicketAndHotelJson
!=
null
&&
!
string
.
IsNullOrEmpty
(
htModel
.
TicketAndHotelJson
.
Trim
()))
{
htModel
.
ContractTicketAndHotel
=
Common
.
Plugin
.
JsonHelper
.
DeserializeObject
<
ContractTicketAndHotel
>(
htModel
.
TicketAndHotelJson
);
}
var
Activities
=
new
List
<
Activity
>();
var
Shoppings
=
new
List
<
Shopping
>();
foreach
(
var
item
in
htModel
.
ContractSelfFeeList
)
foreach
(
var
item
in
htModel
.
ContractShopList
)
{
{
Activities
.
Add
(
new
Activity
()
Shoppings
.
Add
(
new
Shopping
()
{
{
Date
=
item
.
SelfFeeTime
,
Date
=
item
.
ShopTime
,
Place
=
item
.
SelfFeeAddress
,
Place
=
item
.
ShopAddress
,
Item
=
item
.
SelfFeeName
,
StayDuration
=
item
.
StopTime
,
Fee
=
Convert
.
ToDecimal
(
item
.
SelfFeePrice
),
ShoppingPlace
=
item
.
ShopName
,
StayDuration
=
item
.
StopTime
,
Goods
=
item
.
ShopGoodName
,
Memo
=
item
.
OtherInstruction
Memo
=
item
.
OtherInstruction
});
});
}
}
#
endregion
var
req
=
new
ApplyContractRequest
var
Activities
=
new
List
<
Activity
>();
{
foreach
(
var
item
in
htModel
.
ContractSelfFeeList
)
ERPContractId
=
htModel
.
T_ContractNum
,
{
AuthType
=
QZModel
.
IDType
==
1
?
"1"
:
"0"
,
Activities
.
Add
(
new
Activity
()
TemplateId
=
""
,
//子方法新增
{
CallbackURL
=
"http://htapi.oytour.com/api/PayNotify/ContractNotify"
,
Date
=
item
.
SelfFeeTime
,
IsMultiSignatory
=
false
,
Place
=
item
.
SelfFeeAddress
,
//SupplementaryClause = htModel.OtherConvention,//其他约定事项
Item
=
item
.
SelfFeeName
,
SupplementaryClause
=
ReplaceParagraphTagsWithNewlines2
(
htModel
.
OtherConvention
),
//其他约定事项
Fee
=
Convert
.
ToDecimal
(
item
.
SelfFeePrice
),
//公司信息
StayDuration
=
item
.
StopTime
,
TravelAgency
=
new
TravelAgencyInfo
Memo
=
item
.
OtherInstruction
{
});
TransactorName
=
htModel
.
TravelAgency_DealMan
,
}
TransactorPhone
=
!
string
.
IsNullOrEmpty
(
htModel
.
TravelAgency_Tel
)
?
htModel
.
TravelAgency_Tel
:
htModel
.
C_ComplaintTel
,
#
endregion
//LocalComplaintPhone = htModel.C_ComplaintTel,
ComplaintPhone
=
htModel
.
TravelAgency_ServiceTel
,
var
req
=
new
ApplyContractRequest
ContactPhone
=
htModel
.
TravelAgency_ServiceTel
,
{
LocalComplaintPhone
=
htModel
.
C_ComplaintTel
,
ERPContractId
=
htModel
.
T_ContractNum
,
ServicePhone
=
htModel
.
TravelAgency_ServiceTel
,
AuthType
=
QZModel
.
IDType
==
1
?
"1"
:
"0"
,
AgencyName
=
htModel
.
TravelAgency_Name
,
TemplateId
=
""
,
//子方法新增
TravelAgencyLicenseNumber
=
htModel
.
TravelAgency_LicenseNum
,
CallbackURL
=
"http://htapi.oytour.com/api/PayNotify/ContractNotify"
,
BusinessLicenseNumber
=
htModel
.
TravelAgency_LicenseNum
,
IsMultiSignatory
=
false
,
AgencyAddress
=
new
Address
()
//SupplementaryClause = htModel.OtherConvention,//其他约定事项
{
SupplementaryClause
=
ReplaceParagraphTagsWithNewlines2
(
htModel
.
OtherConvention
),
//其他约定事项
Description
=
htModel
.
TravelAgency_Address
,
//公司信息
Zip
=
htModel
.
TravelAgency_PostNum
TravelAgency
=
new
TravelAgencyInfo
},
{
ContactName
=
""
,
TransactorName
=
htModel
.
TravelAgency_DealMan
,
Email
=
""
,
TransactorPhone
=
!
string
.
IsNullOrEmpty
(
htModel
.
TravelAgency_Tel
)
?
htModel
.
TravelAgency_Tel
:
htModel
.
C_ComplaintTel
,
Fax
=
""
,
//LocalComplaintPhone = htModel.C_ComplaintTel,
},
ComplaintPhone
=
htModel
.
TravelAgency_ServiceTel
,
//行程
ContactPhone
=
htModel
.
TravelAgency_ServiceTel
,
Itinerary
=
new
Itinerary
()
LocalComplaintPhone
=
htModel
.
C_ComplaintTel
,
{
ServicePhone
=
htModel
.
TravelAgency_ServiceTel
,
InputType
=
1
,
AgencyName
=
htModel
.
TravelAgency_Name
,
StartDate
=
htModel
.
C_StartDate
.
HasValue
?
htModel
.
C_StartDate
.
Value
.
ToString
(
"yyyy-MM-dd"
)
:
""
,
TravelAgencyLicenseNumber
=
htModel
.
TravelAgency_LicenseNum
,
EndDate
=
htModel
.
C_EndDate
.
HasValue
?
htModel
.
C_EndDate
.
Value
.
ToString
(
"yyyy-MM-dd"
)
:
""
,
BusinessLicenseNumber
=
htModel
.
TravelAgency_LicenseNum
,
Days
=
htModel
.
C_DayNum
??
0
,
AgencyAddress
=
new
Address
()
Nights
=
htModel
.
C_NightNum
??
0
,
{
GroupId
=
htModel
.
C_TCNUM
,
Description
=
htModel
.
TravelAgency_Address
,
RouteName
=
htModel
.
C_ProductName
,
Zip
=
htModel
.
TravelAgency_PostNum
Routes
=
new
RouteStop
[]
{
},
ContactName
=
""
,
Email
=
""
,
Fax
=
""
,
},
//行程
Itinerary
=
new
Itinerary
()
{
InputType
=
1
,
StartDate
=
htModel
.
C_StartDate
.
HasValue
?
htModel
.
C_StartDate
.
Value
.
ToString
(
"yyyy-MM-dd"
)
:
""
,
EndDate
=
htModel
.
C_EndDate
.
HasValue
?
htModel
.
C_EndDate
.
Value
.
ToString
(
"yyyy-MM-dd"
)
:
""
,
Days
=
htModel
.
C_DayNum
??
0
,
Nights
=
htModel
.
C_NightNum
??
0
,
GroupId
=
htModel
.
C_TCNUM
,
RouteName
=
htModel
.
C_ProductName
,
Routes
=
new
RouteStop
[]
{
new
RouteStop
(){
new
RouteStop
(){
Day
=
1
,
Day
=
1
,
Description
=
htModel
.
ContractTripList
.
Any
()?
AddTableBorder
(
htModel
.
ContractTripList
.
FirstOrDefault
().
TravelContent
)
:
""
Description
=
htModel
.
ContractTripList
.
Any
()?
AddTableBorder
(
htModel
.
ContractTripList
.
FirstOrDefault
().
TravelContent
)
:
""
}
}
},
},
},
},
//客人名单
//客人名单
TouristsInfo
=
new
TouristsInfo
TouristsInfo
=
new
TouristsInfo
{
{
TotalNumber
=
(
htModel
.
C_AdultNum
??
0
)
+
(
htModel
.
C_ChildrenNum
??
0
),
TotalNumber
=
(
htModel
.
C_AdultNum
??
0
)
+
(
htModel
.
C_ChildrenNum
??
0
),
AdultNumber
=
htModel
.
C_AdultNum
??
0
,
AdultNumber
=
htModel
.
C_AdultNum
??
0
,
ChildNumber
=
htModel
.
C_ChildrenNum
??
0
,
ChildNumber
=
htModel
.
C_ChildrenNum
??
0
,
Tourists
=
Tourist
.
ToArray
()
Tourists
=
Tourist
.
ToArray
()
},
},
//旅客代表
//旅客代表
Signatory
=
new
Signatory
Signatory
=
new
Signatory
{
{
Name
=
htModel
.
Tourists_Name
,
Name
=
htModel
.
Tourists_Name
,
ID
=
QZModel
,
ID
=
QZModel
,
Phone
=
htModel
.
Tourists_Tel
.
Replace
(
" "
,
""
),
Phone
=
htModel
.
Tourists_Tel
.
Replace
(
" "
,
""
),
Mode
=
(
int
)
SignMode
.
Sms
,
Mode
=
(
int
)
SignMode
.
Sms
,
Address
=
new
Address
()
Address
=
new
Address
()
{
{
Description
=
htModel
.
Tourists_Addres
,
Description
=
htModel
.
Tourists_Addres
,
Zip
=
htModel
.
Tourists_PostNum
Zip
=
htModel
.
Tourists_PostNum
},
},
CompanyName
=
""
,
CompanyName
=
""
,
Email
=
htModel
.
Tourists_Email
,
Email
=
htModel
.
Tourists_Email
,
Fax
=
htModel
.
Tourists_Fax
,
Fax
=
htModel
.
Tourists_Fax
,
SigningPlace
=
htModel
.
TravelAgency_SignAddress
,
SigningPlace
=
htModel
.
TravelAgency_SignAddress
,
OfficePhone
=
""
OfficePhone
=
""
},
},
//导游
//导游
TourGuides
=
new
TourGuide
[]
{
TourGuides
=
new
TourGuide
[]
{
new
TourGuide
(){
new
TourGuide
(){
Name
=
htModel
.
Guide_Name
,
Name
=
htModel
.
Guide_Name
,
Phone
=
htModel
.
Guide_Tel
,
Phone
=
htModel
.
Guide_Tel
,
TourGuideID
=
htModel
.
Guide_Num
TourGuideID
=
htModel
.
Guide_Num
}
}
},
},
//费用
//费用
Cost
=
new
CostInfo
()
Cost
=
new
CostInfo
()
{
{
AdultCost
=
htModel
.
C_AdultPrice
??
0
,
AdultCost
=
htModel
.
C_AdultPrice
??
0
,
ChildCost
=
htModel
.
C_ChildrenPrice
??
0
,
ChildCost
=
htModel
.
C_ChildrenPrice
==
0
?
null
:
htModel
.
C_ChildrenPrice
,
GuideServiceCost
=
htModel
.
C_GuideServicePrice
??
0
,
GuideServiceCost
=
htModel
.
C_GuideServicePrice
==
0
?
null
:
htModel
.
C_GuideServicePrice
,
TotalCost
=
htModel
.
C_TotalPrice
??
0
,
TotalCost
=
htModel
.
C_TotalPrice
??
0
,
PaymentTime
=
htModel
.
C_PayDate
.
HasValue
?
htModel
.
C_PayDate
.
Value
.
ToString
(
"yyyy-MM-dd"
)
:
""
,
PaymentTime
=
htModel
.
C_PayDate
.
HasValue
?
htModel
.
C_PayDate
.
Value
.
ToString
(
"yyyy-MM-dd"
)
:
""
,
PaymentMethod
=
(
htModel
.
C_PayType
==
1
?
1
:
htModel
.
C_PayType
==
5
?
2
:
3
),
PaymentMethod
=
(
htModel
.
C_PayType
==
1
?
1
:
htModel
.
C_PayType
==
5
?
2
:
3
),
ExcludeNote
=
htModel
.
C_NonIncludeRemark
,
ExcludeNote
=
htModel
.
C_NonIncludeRemark
,
PaymentDescription
=
""
PaymentDescription
=
""
},
},
Insurance
=
new
InsuranceInfo
()
Insurance
=
new
InsuranceInfo
()
{
{
PurchaseMethod
=
htModel
.
C_InsuranceType
??
1
,
PurchaseMethod
=
htModel
.
C_InsuranceType
??
1
,
ProductName
=
htModel
.
C_InsuranceName
ProductName
=
htModel
.
C_InsuranceName
},
},
Dispute
=
new
DisputeInfo
()
Dispute
=
new
DisputeInfo
()
{
{
Resolution
=
htModel
.
C_SolveType
??
1
,
Resolution
=
htModel
.
C_SolveType
??
1
,
//TribunalName = htModel.Arbitration_Commission,
//TribunalName = htModel.Arbitration_Commission,
//CourtName = htModel.Court
//CourtName = htModel.Court
},
},
Activities
=
Activities
.
ToArray
(),
Activities
=
Activities
.
ToArray
(),
Shoppings
=
Shoppings
.
ToArray
(),
Shoppings
=
Shoppings
.
ToArray
(),
GroupAgreement
=
new
GroupAgreement
()
GroupAgreement
=
new
GroupAgreement
()
{
{
Resolution
=
htModel
.
C_IsAgreeTravel
==
1
?
(
int
)
GroupAgreementResolution
.
EntrustOtherAgency
:
Resolution
=
htModel
.
C_IsAgreeTravel
==
1
?
(
int
)
GroupAgreementResolution
.
EntrustOtherAgency
:
htModel
.
C_IsAgreeDelay
==
1
?
(
int
)
GroupAgreementResolution
.
Delay
:
htModel
.
C_IsAgreeDelay
==
1
?
(
int
)
GroupAgreementResolution
.
Delay
:
htModel
.
C_IsAgreeCndorse
==
1
?
(
int
)
GroupAgreementResolution
.
ChangeRoute
:
htModel
.
C_IsAgreeCndorse
==
1
?
(
int
)
GroupAgreementResolution
.
ChangeRoute
:
htModel
.
C_IsAgreeRemove
==
1
?
(
int
)
GroupAgreementResolution
.
Terminate
:
(
int
)
GroupAgreementResolution
.
Other
,
htModel
.
C_IsAgreeRemove
==
1
?
(
int
)
GroupAgreementResolution
.
Terminate
:
(
int
)
GroupAgreementResolution
.
Other
,
LeastCustomerNumber
=
htModel
.
C_LowNum
??
0
,
LeastCustomerNumber
=
htModel
.
C_LowNum
??
0
,
AgreeToTransfer
=
htModel
.
C_IsAgreeTravel
==
1
,
AgreeToTransfer
=
htModel
.
C_IsAgreeTravel
==
1
,
TransferToCompanyName
=
htModel
.
C_AgreeTravelName
,
TransferToCompanyName
=
htModel
.
C_AgreeTravelName
,
AgreeToDelay
=
htModel
.
C_IsAgreeDelay
==
1
,
AgreeToDelay
=
htModel
.
C_IsAgreeDelay
==
1
,
AgreeToChangeLine
=
htModel
.
C_IsAgreeCndorse
==
1
,
AgreeToChangeLine
=
htModel
.
C_IsAgreeCndorse
==
1
,
AgreeToTerminate
=
htModel
.
C_IsAgreeRemove
==
1
,
AgreeToTerminate
=
htModel
.
C_IsAgreeRemove
==
1
,
AgreeToMerge
=
htModel
.
C_IsAgreeSpellGroup
==
1
,
AgreeToMerge
=
htModel
.
C_IsAgreeSpellGroup
==
1
,
MergeToCompanyName
=
htModel
.
C_SpellGroupName
MergeToCompanyName
=
htModel
.
C_SpellGroupName
}
}
};
};
if
(
htModel
.
CType
==
1
)
if
(
htModel
.
CType
==
1
)
{
{
//走单项合同
//走单项合同
#
region
开始组装数据
#
region
开始组装数据
req
.
TemplateId
=
"E00001"
;
req
.
TemplateId
=
"E00001"
;
req
.
Entrustment
=
new
Entrustment
()
req
.
Entrustment
=
new
Entrustment
()
{
{
Order
=
new
Order
()
{
}
Order
=
new
Order
()
{
}
};
};
#
region
机票
#
region
机票
if
(
htModel
.
TicketTotalDepositPrice
>
0
)
if
(
htModel
.
TicketTotalDepositPrice
>
0
)
{
var
Flights
=
new
List
<
OneTwoThreeZeroOne
.
EContracts
.
Flight
>();
foreach
(
var
item
in
htModel
.
ContractTicketList
)
{
Flights
.
Add
(
new
OneTwoThreeZeroOne
.
EContracts
.
Flight
()
{
DepartureTime
=
item
.
TicketTime
,
Source
=
new
City
()
{
{
var
Flights
=
new
List
<
OneTwoThreeZeroOne
.
EContracts
.
Flight
>();
Description
=
item
.
StartPlace
foreach
(
var
item
in
htModel
.
ContractTicketList
)
},
{
Destination
=
new
City
()
Flights
.
Add
(
new
OneTwoThreeZeroOne
.
EContracts
.
Flight
()
{
{
Description
=
item
.
ArrivePlace
DepartureTime
=
item
.
TicketTime
,
},
Source
=
new
City
()
TripType
=
item
.
AirType
,
{
TotalNumber
=
item
.
TotalNumber
Description
=
item
.
StartPlace
});
},
}
Destination
=
new
City
()
{
Description
=
item
.
ArrivePlace
},
TripType
=
item
.
AirType
,
TotalNumber
=
item
.
TotalNumber
});
}
req
.
Entrustment
.
Order
.
AirTickets
=
new
AirTicket
[]
{
req
.
Entrustment
.
Order
.
AirTickets
=
new
AirTicket
[]
{
new
AirTicket
()
new
AirTicket
()
{
{
TotalCount
=
htModel
.
TicketTotalNum
,
TotalCount
=
htModel
.
TicketTotalNum
,
...
@@ -1303,67 +1371,67 @@ namespace REBORN.Module.DMCModule
...
@@ -1303,67 +1371,67 @@ namespace REBORN.Module.DMCModule
Memo
=
htModel
.
TicketDescription
Memo
=
htModel
.
TicketDescription
}
}
};
};
};
};
#
endregion
#
endregion
#
region
酒店
#
region
酒店
if
(
htModel
.
HotelTotalPrice
>
0
)
if
(
htModel
.
HotelTotalPrice
>
0
)
{
var
Accommodations
=
new
List
<
AccommodationItem
>();
foreach
(
var
item
in
htModel
.
ContractHotelList
)
{
Accommodations
.
Add
(
new
AccommodationItem
()
{
Name
=
item
.
HotelName
,
Address
=
new
Address
()
{
{
var
Accommodations
=
new
List
<
AccommodationItem
>();
Description
=
item
.
Country
foreach
(
var
item
in
htModel
.
ContractHotelList
)
},
{
CheckInDate
=
item
.
CheckInDate
,
Accommodations
.
Add
(
new
AccommodationItem
()
CheckOutDate
=
item
.
OutDate
,
{
RoomType
=
item
.
RoomType
,
Rooms
=
!
string
.
IsNullOrEmpty
(
item
.
DoubleRoom
)
?
Convert
.
ToInt32
(
item
.
DoubleRoom
)
:
!
string
.
IsNullOrEmpty
(
item
.
SingleRoom
)
?
Convert
.
ToInt32
(
item
.
SingleRoom
)
:
!
string
.
IsNullOrEmpty
(
item
.
ThirdRoom
)
?
Convert
.
ToInt32
(
item
.
ThirdRoom
)
:
Convert
.
ToInt32
(
item
.
AdultNum
),
Name
=
item
.
HotelName
,
RoomPrice
=
Convert
.
ToDecimal
(
item
.
RoomPrice
)
Address
=
new
Address
()
});
{
}
Description
=
item
.
Country
},
CheckInDate
=
item
.
CheckInDate
,
CheckOutDate
=
item
.
OutDate
,
RoomType
=
item
.
RoomType
,
Rooms
=
!
string
.
IsNullOrEmpty
(
item
.
DoubleRoom
)
?
Convert
.
ToInt32
(
item
.
DoubleRoom
)
:
!
string
.
IsNullOrEmpty
(
item
.
SingleRoom
)
?
Convert
.
ToInt32
(
item
.
SingleRoom
)
:
!
string
.
IsNullOrEmpty
(
item
.
ThirdRoom
)
?
Convert
.
ToInt32
(
item
.
ThirdRoom
)
:
Convert
.
ToInt32
(
item
.
AdultNum
),
RoomPrice
=
Convert
.
ToDecimal
(
item
.
RoomPrice
)
});
}
req
.
Entrustment
.
Order
.
Accommodation
=
new
Accommodation
[]
{
req
.
Entrustment
.
Order
.
Accommodation
=
new
Accommodation
[]
{
new
Accommodation
(){
new
Accommodation
(){
Accommodations
=
Accommodations
.
ToArray
(),
Accommodations
=
Accommodations
.
ToArray
(),
TotalPrice
=
htModel
.
HotelTotalPrice
,
TotalPrice
=
htModel
.
HotelTotalPrice
,
Memo
=
htModel
.
HotelDescription
Memo
=
htModel
.
HotelDescription
}
}
};
};
}
}
#
endregion
#
endregion
#
region
用车
(
接机
)
#
region
用车
(
接机
)
if
(
htModel
.
PickUpTotalPrice
>
0
)
if
(
htModel
.
PickUpTotalPrice
>
0
)
{
var
TransportServices
=
new
List
<
TransportServiceItem
>();
foreach
(
var
item
in
htModel
.
ContractPickUpList
)
{
TransportServices
.
Add
(
new
TransportServiceItem
()
{
Time
=
item
.
UseTime
,
Model
=
item
.
BusType
,
Cost
=
item
.
BusPrice
,
PassengerNumber
=
Convert
.
ToInt32
(
item
.
UseNum
),
ServiceType
=
Convert
.
ToInt32
(
item
.
UseBusType
),
Source
=
new
City
()
{
{
var
TransportServices
=
new
List
<
TransportServiceItem
>();
Description
=
item
.
StartPlace
,
foreach
(
var
item
in
htModel
.
ContractPickUpList
)
},
{
Destination
=
new
City
()
TransportServices
.
Add
(
new
TransportServiceItem
()
{
{
Description
=
item
.
ArrivePlace
Time
=
item
.
UseTime
,
}
Model
=
item
.
BusType
,
});
Cost
=
item
.
BusPrice
,
}
PassengerNumber
=
Convert
.
ToInt32
(
item
.
UseNum
),
ServiceType
=
Convert
.
ToInt32
(
item
.
UseBusType
),
Source
=
new
City
()
{
Description
=
item
.
StartPlace
,
},
Destination
=
new
City
()
{
Description
=
item
.
ArrivePlace
}
});
}
req
.
Entrustment
.
Order
.
TransportService
=
new
TransportService
[]
{
req
.
Entrustment
.
Order
.
TransportService
=
new
TransportService
[]
{
new
TransportService
(){
new
TransportService
(){
TransportServices
=
TransportServices
.
ToArray
(),
TransportServices
=
TransportServices
.
ToArray
(),
TotalCost
=
htModel
.
PickUpTotalPrice
,
TotalCost
=
htModel
.
PickUpTotalPrice
,
...
@@ -1371,33 +1439,33 @@ namespace REBORN.Module.DMCModule
...
@@ -1371,33 +1439,33 @@ namespace REBORN.Module.DMCModule
TotalNumber
=
htModel
.
PickUpTNumber
TotalNumber
=
htModel
.
PickUpTNumber
}
}
};
};
}
}
#
endregion
#
endregion
#
region
签证
#
region
签证
if
(
htModel
.
VisaTotalPrice
>
0
)
if
(
htModel
.
VisaTotalPrice
>
0
)
{
var
VisaServices
=
new
List
<
VisaServiceItem
>();
foreach
(
var
item
in
htModel
.
ContractVisaList
)
{
VisaServices
.
Add
(
new
VisaServiceItem
()
{
Type
=
item
.
VisaType
==
"签证"
?
1
:
item
.
VisaType
==
"签注"
?
2
:
3
,
Reason
=
item
.
VisaReason
,
DepartureTime
=
item
.
StopTime
,
EntryTime
=
item
.
Number
,
Time
=
item
.
VisaDate
,
WeekdayNumber
=
!
string
.
IsNullOrEmpty
(
item
.
SigningDay
)
?
Convert
.
ToInt32
(
item
.
SigningDay
)
:
0
,
Cost
=
Convert
.
ToDecimal
(
item
.
VisaPrice
),
Address
=
new
Address
()
{
{
var
VisaServices
=
new
List
<
VisaServiceItem
>();
Country
=
item
.
Country
foreach
(
var
item
in
htModel
.
ContractVisaList
)
}
{
});
VisaServices
.
Add
(
new
VisaServiceItem
()
}
{
Type
=
item
.
VisaType
==
"签证"
?
1
:
item
.
VisaType
==
"签注"
?
2
:
3
,
Reason
=
item
.
VisaReason
,
DepartureTime
=
item
.
StopTime
,
EntryTime
=
item
.
Number
,
Time
=
item
.
VisaDate
,
WeekdayNumber
=
!
string
.
IsNullOrEmpty
(
item
.
SigningDay
)
?
Convert
.
ToInt32
(
item
.
SigningDay
)
:
0
,
Cost
=
Convert
.
ToDecimal
(
item
.
VisaPrice
),
Address
=
new
Address
()
{
Country
=
item
.
Country
}
});
}
req
.
Entrustment
.
Order
.
VisaService
=
new
VisaService
[]
{
req
.
Entrustment
.
Order
.
VisaService
=
new
VisaService
[]
{
new
VisaService
(){
new
VisaService
(){
VisaServices
=
VisaServices
.
ToArray
(),
VisaServices
=
VisaServices
.
ToArray
(),
TotalCost
=
htModel
.
VisaTotalPrice
,
TotalCost
=
htModel
.
VisaTotalPrice
,
...
@@ -1406,41 +1474,41 @@ namespace REBORN.Module.DMCModule
...
@@ -1406,41 +1474,41 @@ namespace REBORN.Module.DMCModule
VisaDeadline
=
htModel
.
VisaDeadline
VisaDeadline
=
htModel
.
VisaDeadline
}
}
};
};
}
}
#
endregion
#
endregion
#
region
机
+
酒
#
region
机
+
酒
if
(
htModel
.
TicketAndHotelTotalPrice
>
0
)
if
(
htModel
.
TicketAndHotelTotalPrice
>
0
)
{
{
//暂时不用了 一年多都没合同
//暂时不用了 一年多都没合同
}
}
#
endregion
#
endregion
#
region
其他服务
#
region
其他服务
if
(
htModel
.
OtherConventionPrice
>
0
)
if
(
htModel
.
OtherConventionPrice
>
0
)
{
{
req
.
Entrustment
.
Order
.
OtherService
=
new
OtherService
[]
{
req
.
Entrustment
.
Order
.
OtherService
=
new
OtherService
[]
{
new
OtherService
(){
new
OtherService
(){
Item
=
htModel
.
OtherConvention
,
Item
=
htModel
.
OtherConvention
,
TotalCost
=
htModel
.
OtherConventionPrice
??
0
,
TotalCost
=
htModel
.
OtherConventionPrice
??
0
,
TotalNumber
=
htModel
.
OtherTNumber
TotalNumber
=
htModel
.
OtherTNumber
}
}
};
};
}
}
#
endregion
#
endregion
var
payload
=
service
.
GetJson
(
req
);
var
payload
=
service
.
GetJson
(
req
);
LogHelper
.
Write
(
payload
);
LogHelper
.
Write
(
payload
);
var
response
=
service
.
ApplyContract
(
payload
);
var
response
=
service
.
ApplyContract
(
payload
);
LogHelper
.
WriteInfo
(
JsonHelper
.
Serialize
(
response
));
LogHelper
.
WriteInfo
(
JsonHelper
.
Serialize
(
response
));
#
endregion
#
endregion
if
(
response
.
Error
==
null
)
if
(
response
.
Error
==
null
)
{
{
#
region
更新合同
#
region
更新合同
Dictionary
<
string
,
object
>
keyValues
=
new
Dictionary
<
string
,
object
>()
{
Dictionary
<
string
,
object
>
keyValues
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Travel_Contract_Extend
.
ThirdContractID
),
response
.
Data
.
ContractNumber
},
{
nameof
(
RB_Travel_Contract_Extend
.
ThirdContractID
),
response
.
Data
.
ContractNumber
},
{
nameof
(
RB_Travel_Contract_Extend
.
T_ContractNum
),
response
.
Data
.
ContractNumber
},
{
nameof
(
RB_Travel_Contract_Extend
.
T_ContractNum
),
response
.
Data
.
ContractNumber
},
{
nameof
(
RB_Travel_Contract_Extend
.
ThirdContractSignUrl
),
response
.
Data
.
SigningURL
},
{
nameof
(
RB_Travel_Contract_Extend
.
ThirdContractSignUrl
),
response
.
Data
.
SigningURL
},
...
@@ -1448,96 +1516,96 @@ namespace REBORN.Module.DMCModule
...
@@ -1448,96 +1516,96 @@ namespace REBORN.Module.DMCModule
{
nameof
(
RB_Travel_Contract_Extend
.
ThirdContractFileUrl
),
response
.
Data
.
FileURL
},
{
nameof
(
RB_Travel_Contract_Extend
.
ThirdContractFileUrl
),
response
.
Data
.
FileURL
},
{
nameof
(
RB_Travel_Contract_Extend
.
ThirdContractState
),
1
},
{
nameof
(
RB_Travel_Contract_Extend
.
ThirdContractState
),
1
},
};
};
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
new
WhereHelper
(){
new
WhereHelper
(){
FiledName
=
nameof
(
RB_Travel_Contract_Extend
.
ID
),
FiledName
=
nameof
(
RB_Travel_Contract_Extend
.
ID
),
FiledValue
=
htModel
.
ID
,
FiledValue
=
htModel
.
ID
,
OperatorEnum
=
OperatorEnum
.
Equal
OperatorEnum
=
OperatorEnum
.
Equal
}
}
};
};
travel_ContractRepository
.
Update
(
keyValues
,
wheres
);
travel_ContractRepository
.
Update
(
keyValues
,
wheres
);
//查看是否要 作废合同
//查看是否要 作废合同
if
(!
string
.
IsNullOrEmpty
(
htModel
.
ThirdContractID
)
&&
htModel
.
ThirdContractID
!=
response
.
Data
.
ContractNumber
)
if
(!
string
.
IsNullOrEmpty
(
htModel
.
ThirdContractID
)
&&
htModel
.
ThirdContractID
!=
response
.
Data
.
ContractNumber
)
{
{
//获取一下合同状态
//获取一下合同状态
service
.
GetContractStatus
(
htModel
.
ThirdContractID
);
service
.
GetContractStatus
(
htModel
.
ThirdContractID
);
if
(
htModel
.
ThirdContractState
==
1
||
htModel
.
ThirdContractState
==
2
)
if
(
htModel
.
ThirdContractState
==
1
||
htModel
.
ThirdContractState
==
2
)
{
//合同编号不一样了 作废之前的合同
var
result
=
service
.
InvalidateContract
(
htModel
.
ThirdContractID
);
LogHelper
.
WriteInfo
(
JsonHelper
.
Serialize
(
result
));
//获取一下合同状态
service
.
GetContractStatus
(
htModel
.
ThirdContractID
);
}
}
#
endregion
}
}
else
if
(
htModel
.
CType
==
2
)
{
{
req
.
TemplateId
=
"A00001"
;
//合同编号不一样了 作废之前的合同
var
result
=
service
.
InvalidateContract
(
htModel
.
ThirdContractID
);
LogHelper
.
WriteInfo
(
JsonHelper
.
Serialize
(
result
));
//获取一下合同状态
service
.
GetContractStatus
(
htModel
.
ThirdContractID
);
}
}
#
endregion
}
}
else
if
(
htModel
.
CType
==
2
)
{
req
.
TemplateId
=
"A00001"
;
var
payload
=
service
.
GetJson
(
req
);
var
payload
=
service
.
GetJson
(
req
);
LogHelper
.
Write
(
payload
);
LogHelper
.
Write
(
payload
);
var
response
=
service
.
ApplyContract
(
payload
);
var
response
=
service
.
ApplyContract
(
payload
);
LogHelper
.
WriteInfo
(
JsonHelper
.
Serialize
(
response
));
LogHelper
.
WriteInfo
(
JsonHelper
.
Serialize
(
response
));
if
(
response
.
Error
.
Code
==
0
)
if
(
response
.
Error
.
Code
==
0
)
{
{
#
region
更新合同
#
region
更新合同
Dictionary
<
string
,
object
>
keyValues
=
new
Dictionary
<
string
,
object
>()
{
Dictionary
<
string
,
object
>
keyValues
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Contract_Extend
.
ThirdContractID
),
response
.
Data
.
ContractNumber
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractID
),
response
.
Data
.
ContractNumber
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractSignUrl
),
response
.
Data
.
SigningURL
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractSignUrl
),
response
.
Data
.
SigningURL
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractQRCode
),
response
.
Data
.
QRCodeURL
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractQRCode
),
response
.
Data
.
QRCodeURL
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractState
),
1
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractState
),
1
},
};
};
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
new
WhereHelper
(){
new
WhereHelper
(){
FiledName
=
nameof
(
RB_Contract_Extend
.
Id
),
FiledName
=
nameof
(
RB_Contract_Extend
.
Id
),
FiledValue
=
htModel
.
ID
,
FiledValue
=
htModel
.
ID
,
OperatorEnum
=
OperatorEnum
.
Equal
OperatorEnum
=
OperatorEnum
.
Equal
}
}
};
};
contractRepository
.
Update
(
keyValues
,
wheres
);
contractRepository
.
Update
(
keyValues
,
wheres
);
#
endregion
#
endregion
}
}
}
}
else
if
(
htModel
.
CType
==
3
)
else
if
(
htModel
.
CType
==
3
)
{
{
req
.
TemplateId
=
"D00001"
;
req
.
TemplateId
=
"D00001"
;
var
Meals
=
new
List
<
Meal
>()
{
};
var
Meals
=
new
List
<
Meal
>()
{
};
if
(!
string
.
IsNullOrEmpty
(
htModel
.
C_BreakfastAddress
)
||
!
string
.
IsNullOrEmpty
(
htModel
.
C_BreakfastBasic
))
if
(!
string
.
IsNullOrEmpty
(
htModel
.
C_BreakfastAddress
)
||
!
string
.
IsNullOrEmpty
(
htModel
.
C_BreakfastBasic
))
{
{
Meals
.
Add
(
new
Meal
()
Meals
.
Add
(
new
Meal
()
{
{
Type
=
"早餐"
,
Type
=
"早餐"
,
Place
=
htModel
.
C_BreakfastAddress
,
Place
=
htModel
.
C_BreakfastAddress
,
Standard
=
htModel
.
C_BreakfastBasic
Standard
=
htModel
.
C_BreakfastBasic
});
});
}
}
if
(!
string
.
IsNullOrEmpty
(
htModel
.
C_LunchAddress
)
||
!
string
.
IsNullOrEmpty
(
htModel
.
C_LunchBasic
))
if
(!
string
.
IsNullOrEmpty
(
htModel
.
C_LunchAddress
)
||
!
string
.
IsNullOrEmpty
(
htModel
.
C_LunchBasic
))
{
{
Meals
.
Add
(
new
Meal
()
Meals
.
Add
(
new
Meal
()
{
{
Type
=
"午餐"
,
Type
=
"午餐"
,
Place
=
htModel
.
C_LunchAddress
,
Place
=
htModel
.
C_LunchAddress
,
Standard
=
htModel
.
C_LunchBasic
Standard
=
htModel
.
C_LunchBasic
});
});
}
}
if
(!
string
.
IsNullOrEmpty
(
htModel
.
C_DinnerAddress
)
||
!
string
.
IsNullOrEmpty
(
htModel
.
C_DinnerBasic
))
if
(!
string
.
IsNullOrEmpty
(
htModel
.
C_DinnerAddress
)
||
!
string
.
IsNullOrEmpty
(
htModel
.
C_DinnerBasic
))
{
{
Meals
.
Add
(
new
Meal
()
Meals
.
Add
(
new
Meal
()
{
{
Type
=
"晚餐"
,
Type
=
"晚餐"
,
Place
=
htModel
.
C_DinnerAddress
,
Place
=
htModel
.
C_DinnerAddress
,
Standard
=
htModel
.
C_DinnerBasic
Standard
=
htModel
.
C_DinnerBasic
});
});
}
}
var
Routes
=
new
List
<
RouteStop
>()
{
var
Routes
=
new
List
<
RouteStop
>()
{
new
RouteStop
(){
new
RouteStop
(){
Day
=
1
,
Day
=
1
,
Transport
=
new
Transport
(){
Transport
=
new
Transport
(){
...
@@ -1551,44 +1619,40 @@ namespace REBORN.Module.DMCModule
...
@@ -1551,44 +1619,40 @@ namespace REBORN.Module.DMCModule
}
}
};
};
req
.
HasShopping
=
false
;
req
.
HasShopping
=
false
;
//if (!string.IsNullOrEmpty(htModel.ShopTicketName)) {
//if (!string.IsNullOrEmpty(htModel.ShopTicketName)) {
// req.HasShopping = true;
// req.HasShopping = true;
// req.ShoppingViewSpot = htModel.ShopTicketName;
// req.ShoppingViewSpot = htModel.ShopTicketName;
//}
//}
req
.
Itinerary
.
Routes
=
Routes
.
ToArray
();
req
.
Itinerary
.
Routes
=
Routes
.
ToArray
();
var
payload
=
service
.
GetJson
(
req
);
var
payload
=
service
.
GetJson
(
req
);
LogHelper
.
Write
(
payload
);
LogHelper
.
Write
(
payload
);
var
response
=
service
.
ApplyContract
(
payload
);
var
response
=
service
.
ApplyContract
(
payload
);
LogHelper
.
WriteInfo
(
JsonHelper
.
Serialize
(
response
));
LogHelper
.
WriteInfo
(
JsonHelper
.
Serialize
(
response
));
if
(
response
.
Error
.
Code
==
0
)
if
(
response
.
Error
.
Code
==
0
)
{
{
#
region
更新合同
#
region
更新合同
Dictionary
<
string
,
object
>
keyValues
=
new
Dictionary
<
string
,
object
>()
{
Dictionary
<
string
,
object
>
keyValues
=
new
Dictionary
<
string
,
object
>()
{
{
nameof
(
RB_Contract_Extend
.
ThirdContractID
),
response
.
Data
.
ContractNumber
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractID
),
response
.
Data
.
ContractNumber
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractSignUrl
),
response
.
Data
.
SigningURL
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractSignUrl
),
response
.
Data
.
SigningURL
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractQRCode
),
response
.
Data
.
QRCodeURL
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractQRCode
),
response
.
Data
.
QRCodeURL
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractState
),
1
},
{
nameof
(
RB_Contract_Extend
.
ThirdContractState
),
1
},
};
};
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
List
<
WhereHelper
>
wheres
=
new
List
<
WhereHelper
>()
{
new
WhereHelper
(){
new
WhereHelper
(){
FiledName
=
nameof
(
RB_Contract_Extend
.
Id
),
FiledName
=
nameof
(
RB_Contract_Extend
.
Id
),
FiledValue
=
htModel
.
ID
,
FiledValue
=
htModel
.
ID
,
OperatorEnum
=
OperatorEnum
.
Equal
OperatorEnum
=
OperatorEnum
.
Equal
}
}
};
};
contractRepository
.
Update
(
keyValues
,
wheres
);
contractRepository
.
Update
(
keyValues
,
wheres
);
#
endregion
#
endregion
}
}
}
}
}
}
}
return
flag
;
}
}
/// <summary>
/// <summary>
...
...
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