记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
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
董敬伟
liquidnet-bus-v1
Commits
3fcd1392
Commit
3fcd1392
authored
Mar 28, 2024
by
jiangxiulong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
重构同步大麦
parent
6b96d669
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
219 additions
and
128 deletions
+219
-128
KylinDamaiServiceImpl.java
...in/zhengzai/kylin/service/impl/KylinDamaiServiceImpl.java
+219
-128
No files found.
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/service/impl/KylinDamaiServiceImpl.java
View file @
3fcd1392
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
kylin
.
service
.
impl
;
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
kylin
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.client.admin.common.utils.DateUtils
;
import
com.liquidnet.client.admin.common.utils.DateUtils
;
import
com.liquidnet.client.admin.zhengzai.kylin.utils.DataUtils
;
import
com.liquidnet.client.admin.zhengzai.kylin.utils.DataUtils
;
...
@@ -10,7 +11,8 @@ import com.liquidnet.service.kylin.dao.OrderPushDamaiDto;
...
@@ -10,7 +11,8 @@ import com.liquidnet.service.kylin.dao.OrderPushDamaiDto;
import
com.liquidnet.service.kylin.entity.*
;
import
com.liquidnet.service.kylin.entity.*
;
import
com.liquidnet.service.kylin.mapper.*
;
import
com.liquidnet.service.kylin.mapper.*
;
import
com.liquidnet.service.kylin.service.other.DamaiService
;
import
com.liquidnet.service.kylin.service.other.DamaiService
;
import
com.liquidnet.service.slime.dto.vo.SlimeFieldsVo
;
import
com.liquidnet.service.slime.entity.SlimeFields
;
import
com.liquidnet.service.slime.mapper.SlimeFieldsMapper
;
import
com.taobao.api.TaobaoClient
;
import
com.taobao.api.TaobaoClient
;
import
com.taobao.api.internal.util.StringUtils
;
import
com.taobao.api.internal.util.StringUtils
;
import
com.taobao.api.request.*
;
import
com.taobao.api.request.*
;
...
@@ -26,6 +28,7 @@ import org.springframework.stereotype.Service;
...
@@ -26,6 +28,7 @@ import org.springframework.stereotype.Service;
import
java.time.format.DateTimeFormatter
;
import
java.time.format.DateTimeFormatter
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -59,26 +62,35 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
...
@@ -59,26 +62,35 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
@Autowired
@Autowired
private
KylinTicketStatusMapper
ticketStatusMapper
;
private
KylinTicketStatusMapper
ticketStatusMapper
;
@Autowired
@Autowired
private
SlimeFieldsMapper
slimeFieldsMapper
;
@Autowired
private
DataUtils
dataUtils
;
private
DataUtils
dataUtils
;
private
ArrayList
<
Long
>
empty
=
new
ArrayList
();
int
orderCountAll
=
0
;
@Override
@Override
public
Boolean
sycPerformance
(
String
performanceId
)
{
public
Boolean
sycPerformance
(
String
performanceId
)
{
try
{
try
{
empty
.
clear
();
// 大麦工具
orderCountAll
=
0
;
TaobaoClient
client
=
taobaoTicketUtils
.
initTaobaoClient
();
TaobaoClient
client
=
taobaoTicketUtils
.
initTaobaoClient
();
AlibabaDamaiMevOpenPushprojectRequest
req
=
new
AlibabaDamaiMevOpenPushprojectRequest
();
AlibabaDamaiMevOpenPushprojectRequest
req
=
new
AlibabaDamaiMevOpenPushprojectRequest
();
ThirdProjectPushOpenParam
obj1
=
new
ThirdProjectPushOpenParam
();
ThirdProjectPushOpenParam
obj1
=
new
ThirdProjectPushOpenParam
();
KylinPerformances
performanceData
=
performancesMapper
.
selectOne
(
new
UpdateWrapper
<
KylinPerformances
>().
eq
(
"performances_id"
,
performanceId
));
// 演出数据
KylinPerformanceRelations
performanceRelationData
=
performanceRelationsMapper
.
selectOne
(
new
UpdateWrapper
<
KylinPerformanceRelations
>().
eq
(
"performance_id"
,
performanceId
));
KylinPerformances
performanceData
=
performancesMapper
.
selectOne
(
new
UpdateWrapper
<
KylinPerformances
>().
eq
(
"performances_id"
,
performanceId
)
);
KylinPerformanceRelations
performanceRelationData
=
performanceRelationsMapper
.
selectOne
(
new
UpdateWrapper
<
KylinPerformanceRelations
>().
eq
(
"performance_id"
,
performanceId
)
);
obj1
.
setPicUrl
(
performanceData
.
getImgPoster
());
// 同步场地信息
Long
venueId
=
sycField
(
performanceRelationData
.
getFieldId
());
if
(
venueId
<=
0
)
{
return
false
;
}
// 同步演出信息
obj1
.
setVenueId
(
venueId
);
obj1
.
setPicUrl
(
performanceData
.
getImgPoster
());
long
performanceKey
=
IDGenerator
.
getDamaiCode
(
performanceData
.
getPerformancesId
());
long
performanceKey
=
IDGenerator
.
getDamaiCode
(
performanceData
.
getPerformancesId
());
obj1
.
setProjectId
(
performanceKey
);
obj1
.
setProjectId
(
performanceKey
);
obj1
.
setProjectName
(
performanceData
.
getTitle
());
obj1
.
setProjectName
(
performanceData
.
getTitle
());
...
@@ -92,35 +104,72 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
...
@@ -92,35 +104,72 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
}
}
obj1
.
setSupplierSecret
(
taobaoTicketUtils
.
getSupplierSecret
());
obj1
.
setSupplierSecret
(
taobaoTicketUtils
.
getSupplierSecret
());
obj1
.
setSystemId
(
taobaoTicketUtils
.
getSystemId
());
obj1
.
setSystemId
(
taobaoTicketUtils
.
getSystemId
());
Long
venueId
=
sycField
(
performanceId
,
performanceRelationData
.
getFieldId
());
if
(
venueId
!=
0
)
{
obj1
.
setVenueId
(
venueId
);
}
req
.
setPushProjectParam
(
obj1
);
req
.
setPushProjectParam
(
obj1
);
log
.
info
(
"[同步演出] 演出名称 = "
+
performanceData
.
getTitle
()
+
" 大麦演出id ="
+
performanceKey
);
log
.
info
(
"[同步演出] 演出名称 = "
+
performanceData
.
getTitle
()
+
" 大麦演出id ="
+
performanceKey
);
AlibabaDamaiMevOpenPushprojectResponse
rsp
=
client
.
execute
(
req
);
AlibabaDamaiMevOpenPushprojectResponse
rsp
=
client
.
execute
(
req
);
log
.
info
(
"[BODY = {}]"
,
rsp
.
getBody
());
if
(!
rsp
.
getResult
().
getSuccess
())
{
if
(
rsp
.
getResult
().
getSuccess
())
{
log
.
error
(
"[同步演出] res [BODY = {}]"
,
rsp
.
getBody
());
List
<
KylinTicketTimeRelation
>
timeRelation
=
ticketTimeRelationMapper
.
selectList
(
new
UpdateWrapper
<
KylinTicketTimeRelation
>().
eq
(
"performance_id"
,
performanceId
));
return
false
;
for
(
int
i
=
0
;
i
<
timeRelation
.
size
();
i
++)
{
}
KylinTicketTimes
timeData
=
ticketTimesMapper
.
selectOne
(
new
UpdateWrapper
<
KylinTicketTimes
>().
eq
(
"ticket_times_id"
,
timeRelation
.
get
(
i
).
getTimesId
()));
boolean
result
=
sycTimes
(
performanceKey
,
timeData
,
venueId
);
// 同步场次
List
<
KylinTicketTimeRelation
>
timeRelation
=
ticketTimeRelationMapper
.
selectList
(
new
UpdateWrapper
<
KylinTicketTimeRelation
>().
eq
(
"performance_id"
,
performanceId
)
);
for
(
KylinTicketTimeRelation
relation
:
timeRelation
)
{
KylinTicketTimes
timeData
=
ticketTimesMapper
.
selectOne
(
new
UpdateWrapper
<
KylinTicketTimes
>().
eq
(
"ticket_times_id"
,
relation
.
getTimesId
())
);
boolean
result
=
sycTimes
(
performanceKey
,
timeData
,
venueId
);
if
(!
result
)
{
return
false
;
}
}
// 同步票种
List
<
String
>
timeIdList
=
timeRelation
.
stream
().
map
(
KylinTicketTimeRelation:
:
getTimesId
).
collect
(
Collectors
.
toList
());
List
<
KylinTicketRelations
>
ticketRelation
=
ticketRelationsMapper
.
selectList
(
new
UpdateWrapper
<
KylinTicketRelations
>().
in
(
"times_id"
,
timeIdList
)
);
for
(
KylinTicketRelations
ticketRelations
:
ticketRelation
)
{
long
ticketTimesKey
=
IDGenerator
.
getDamaiCode
(
ticketRelations
.
getTimesId
());
// 是否开启了同步的票种
KylinTicketStatus
ticketStatus
=
ticketStatusMapper
.
selectOne
(
new
UpdateWrapper
<
KylinTicketStatus
>().
eq
(
"ticket_id"
,
ticketRelations
.
getTicketId
()).
eq
(
"sync_damai"
,
1
)
);
if
(
null
!=
ticketStatus
)
{
KylinTickets
ticketData
=
ticketsMapper
.
selectOne
(
new
UpdateWrapper
<
KylinTickets
>().
eq
(
"tickets_id"
,
ticketRelations
.
getTicketId
())
);
boolean
result
=
sycTicket
(
ticketTimesKey
,
ticketData
);
if
(!
result
)
{
if
(!
result
)
{
return
false
;
return
false
;
}
}
}
}
log
.
info
(
"[ 同步大麦-完成 ]"
);
return
true
;
}
else
{
return
false
;
}
}
// 同步订单
for
(
KylinTicketRelations
ticketRelations
:
ticketRelation
)
{
long
ticketTimesKey
=
IDGenerator
.
getDamaiCode
(
ticketRelations
.
getTimesId
());
long
ticketIdKey
=
IDGenerator
.
getDamaiCode
(
ticketRelations
.
getTicketId
());
long
ticketIdKey2
=
Long
.
valueOf
(
ticketIdKey
+
""
.
concat
(
"010"
));
boolean
result
=
sycOrder
(
ticketTimesKey
,
ticketRelations
.
getTicketId
(),
ticketIdKey
,
ticketIdKey2
);
if
(!
result
)
{
return
false
;
}
}
// 所有同步完成
log
.
info
(
"[ 同步大麦-完成 ]"
);
return
true
;
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
log
.
error
(
"[同步大麦] 异常:{}"
,
e
);
return
false
;
return
false
;
}
}
}
}
public
Long
sycField
(
String
performanceId
,
String
fieldId
)
{
public
Long
sycField
(
String
fieldId
)
{
try
{
try
{
TaobaoClient
client
=
taobaoTicketUtils
.
initTaobaoClient
();
TaobaoClient
client
=
taobaoTicketUtils
.
initTaobaoClient
();
AlibabaDamaiMevOpenPushvenueRequest
req
=
new
AlibabaDamaiMevOpenPushvenueRequest
();
AlibabaDamaiMevOpenPushvenueRequest
req
=
new
AlibabaDamaiMevOpenPushvenueRequest
();
...
@@ -140,21 +189,25 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
...
@@ -140,21 +189,25 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
// } else {
// } else {
// return 0L;
// return 0L;
// }
// }
SlimeFieldsVo
fieldsVo
=
dataUtils
.
getFieldsVoByFieldId
(
fieldId
);
SlimeFields
slimeFields
=
slimeFieldsMapper
.
selectOne
(
obj1
.
setVenueId
(
Long
.
parseLong
(
fieldsVo
.
getFieldId
()));
Wrappers
.
lambdaQuery
(
SlimeFields
.
class
)
obj1
.
setVenueName
(
fieldsVo
.
getName
());
.
eq
(
SlimeFields:
:
getFieldId
,
fieldId
)
obj1
.
setVenueAddress
(
fieldsVo
.
getAddress
());
);
// SlimeFieldsVo fieldsVo = dataUtils.getFieldsVoByFieldId(fieldId);
obj1
.
setVenueId
(
slimeFields
.
getMid
());
obj1
.
setVenueName
(
slimeFields
.
getName
());
obj1
.
setVenueAddress
(
slimeFields
.
getAddress
());
req
.
setPushVenueParam
(
obj1
);
req
.
setPushVenueParam
(
obj1
);
AlibabaDamaiMevOpenPushvenueResponse
rsp
=
client
.
execute
(
req
);
log
.
info
(
"[同步场地] 场地名称 = "
+
obj1
.
getVenueName
()
+
" 大麦场地id ="
+
obj1
.
getVenueId
());
log
.
info
(
"[同步场地] 场地名称 = "
+
obj1
.
getVenueName
()
+
" 大麦场地id ="
+
obj1
.
getVenueId
());
log
.
info
(
"[BODY = {}]"
,
rsp
.
getBody
()
);
AlibabaDamaiMevOpenPushvenueResponse
rsp
=
client
.
execute
(
req
);
if
(!
rsp
.
getResult
().
getSuccess
())
{
if
(!
rsp
.
getResult
().
getSuccess
())
{
log
.
error
(
"[同步场地] res [BODY = {}]"
,
rsp
.
getBody
());
return
0L
;
return
0L
;
}
}
return
obj1
.
getVenueId
();
return
obj1
.
getVenueId
();
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
log
.
error
(
"[同步场地] 异常:{}"
,
e
);
return
0L
;
return
0L
;
}
}
}
}
...
@@ -179,23 +232,13 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
...
@@ -179,23 +232,13 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
req
.
setPushPerformParam
(
obj1
);
req
.
setPushPerformParam
(
obj1
);
log
.
info
(
"[同步场次] 场次名称 = "
+
timesData
.
getTitle
()
+
" 大麦场次id ="
+
ticketTimesKey
);
log
.
info
(
"[同步场次] 场次名称 = "
+
timesData
.
getTitle
()
+
" 大麦场次id ="
+
ticketTimesKey
);
AlibabaDamaiMevOpenPushperformResponse
rsp
=
client
.
execute
(
req
);
AlibabaDamaiMevOpenPushperformResponse
rsp
=
client
.
execute
(
req
);
if
(
rsp
.
getResult
().
getSuccess
())
{
if
(!
rsp
.
getResult
().
getSuccess
())
{
List
<
KylinTicketRelations
>
ticketRelation
=
ticketRelationsMapper
.
selectList
(
new
UpdateWrapper
<
KylinTicketRelations
>().
eq
(
"times_id"
,
timesData
.
getTicketTimesId
()));
log
.
error
(
"[同步场次] res [BODY = {}]"
,
rsp
.
getBody
());
for
(
int
i
=
0
;
i
<
ticketRelation
.
size
();
i
++)
{
if
(
null
!=
ticketStatusMapper
.
selectOne
(
new
UpdateWrapper
<
KylinTicketStatus
>().
eq
(
"ticket_id"
,
ticketRelation
.
get
(
i
).
getTicketId
()).
eq
(
"sync_damai"
,
1
)))
{
KylinTickets
ticketData
=
ticketsMapper
.
selectOne
(
new
UpdateWrapper
<
KylinTickets
>().
eq
(
"tickets_id"
,
ticketRelation
.
get
(
i
).
getTicketId
()));
boolean
result
=
sycTicket
(
ticketTimesKey
,
ticketData
);
if
(!
result
)
{
return
false
;
}
}
}
return
true
;
}
else
{
return
false
;
return
false
;
}
}
return
true
;
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
log
.
error
(
"[同步场次] 异常:{}"
,
e
);
return
false
;
return
false
;
}
}
}
}
...
@@ -216,30 +259,29 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
...
@@ -216,30 +259,29 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
req
.
setPushItemParam
(
obj1
);
req
.
setPushItemParam
(
obj1
);
log
.
info
(
"[同步票种] 票种名称 = "
+
ticketsData
.
getTitle
()
+
" 大麦票种id ="
+
ticketIdKey
+
" 票种价格 = "
+
ticketsData
.
getPrice
());
log
.
info
(
"[同步票种] 票种名称 = "
+
ticketsData
.
getTitle
()
+
" 大麦票种id ="
+
ticketIdKey
+
" 票种价格 = "
+
ticketsData
.
getPrice
());
AlibabaDamaiMevOpenPushitemResponse
rsp
=
client
.
execute
(
req
);
AlibabaDamaiMevOpenPushitemResponse
rsp
=
client
.
execute
(
req
);
if
(
rsp
.
getResult
().
getSuccess
())
{
TaobaoClient
client2
=
taobaoTicketUtils
.
initTaobaoClient
();
TaobaoClient
client2
=
taobaoTicketUtils
.
initTaobaoClient
();
AlibabaDamaiMevOpenPushitemRequest
req2
=
new
AlibabaDamaiMevOpenPushitemRequest
();
AlibabaDamaiMevOpenPushitemRequest
req2
=
new
AlibabaDamaiMevOpenPushitemRequest
();
PushTicketItemPushOpenParam
obj12
=
new
PushTicketItemPushOpenParam
();
PushTicketItemPushOpenParam
obj12
=
new
PushTicketItemPushOpenParam
();
long
ticketIdKey2
=
Long
.
valueOf
(
ticketIdKey
+
""
.
concat
(
"010"
));
long
ticketIdKey2
=
Long
.
valueOf
(
ticketIdKey
+
""
.
concat
(
"010"
));
obj12
.
setItemId
(
ticketIdKey2
);
obj12
.
setItemId
(
ticketIdKey2
);
obj12
.
setItemName
(
ticketsData
.
getTitle
()
+
"-登登登VIP"
);
obj12
.
setItemName
(
ticketsData
.
getTitle
()
+
"-登登登VIP"
);
obj12
.
setItemPrice
(
ticketsData
.
getPrice
().
longValue
()
*
100
);
obj12
.
setItemPrice
(
ticketsData
.
getPrice
().
longValue
()
*
100
);
obj12
.
setPerformId
(
timemId
);
obj12
.
setPerformId
(
timemId
);
obj12
.
setSupplierSecret
(
taobaoTicketUtils
.
getSupplierSecret
());
obj12
.
setSupplierSecret
(
taobaoTicketUtils
.
getSupplierSecret
());
obj12
.
setSystemId
(
taobaoTicketUtils
.
getSystemId
());
obj12
.
setSystemId
(
taobaoTicketUtils
.
getSystemId
());
req2
.
setPushItemParam
(
obj12
);
req2
.
setPushItemParam
(
obj12
);
log
.
info
(
"[同步票种] 票种名称 = "
+
ticketsData
.
getTitle
()
+
"-登登登VIP 大麦票种id ="
+
ticketIdKey
+
" 票种价格 = "
+
ticketsData
.
getPrice
());
log
.
info
(
"[同步VIP票种] 票种名称 = "
+
obj12
.
getItemName
()
+
" 大麦票种id ="
+
ticketIdKey2
+
" 票种价格 = "
+
ticketsData
.
getPrice
());
AlibabaDamaiMevOpenPushitemResponse
rsp2
=
client2
.
execute
(
req2
);
AlibabaDamaiMevOpenPushitemResponse
rsp2
=
client2
.
execute
(
req2
);
if
(
rsp2
.
getResult
().
getSuccess
())
{
return
sycOrder
(
timemId
,
ticketsData
.
getTicketsId
(),
ticketIdKey
,
ticketIdKey2
);
if
(!
rsp
.
getResult
().
getSuccess
()
||
!
rsp2
.
getResult
().
getSuccess
())
{
}
else
{
log
.
error
(
"[同步票种] res [BODY = {}]"
,
rsp
.
getBody
());
return
false
;
log
.
error
(
"[同步VIP票种] res [BODY = {}]"
,
rsp2
.
getBody
());
}
}
else
{
return
false
;
return
false
;
}
}
return
true
;
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
log
.
error
(
"[同步票种] 异常:{}"
,
e
);
return
false
;
return
false
;
}
}
}
}
...
@@ -247,98 +289,147 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
...
@@ -247,98 +289,147 @@ public class KylinDamaiServiceImpl extends ServiceImpl<KylinRoadShowsMapper, Kyl
@Override
@Override
public
Boolean
sycOrder
(
long
timemId
,
String
ticketsId
,
long
ticketsmId
,
long
ticketIdMemberKey
)
{
public
Boolean
sycOrder
(
long
timemId
,
String
ticketsId
,
long
ticketsmId
,
long
ticketIdMemberKey
)
{
try
{
try
{
ArrayList
<
Long
>
orderTicketEntitiesKeyList
=
new
ArrayList
();
TaobaoClient
client
=
taobaoTicketUtils
.
initTaobaoClient
();
TaobaoClient
client
=
taobaoTicketUtils
.
initTaobaoClient
();
AlibabaDamaiMevOpenBatchpushticketRequest
req
=
new
AlibabaDamaiMevOpenBatchpushticketRequest
();
AlibabaDamaiMevOpenBatchpushticketRequest
req
=
new
AlibabaDamaiMevOpenBatchpushticketRequest
();
List
<
OrderPushDamaiDto
>
data
=
orderTicketsMapper
.
pushDamaiDetailsList
(
ticketsId
);
List
<
OrderPushDamaiDto
>
data
=
orderTicketsMapper
.
pushDamaiDetailsList
(
ticketsId
);
log
.
info
(
"[同步订单] 票种张数 = "
+
data
.
size
()
+
" 票种id ="
+
ticketsId
);
int
dataSize
=
data
.
size
();
int
forSize
=
100
;
log
.
info
(
"[同步订单] 票种总张数 = "
+
dataSize
+
" 票种id ="
+
ticketsId
);
int
batchSize
=
100
;
int
orderCount
=
0
;
int
orderCount
=
0
;
int
forCount
=
data
.
size
()
%
forSize
==
0
?
data
.
size
()
/
forSize
:
(
data
.
size
()
/
forSize
)
+
1
;
for
(
int
i
=
0
;
i
<
dataSize
;
i
+=
batchSize
)
{
for
(
int
i
=
0
;
i
<
forCount
;
i
++)
{
List
<
ThirdTicketPushOpenParam
>
list2
=
new
ArrayList
<>();
List
<
ThirdTicketPushOpenParam
>
paramList
=
new
ArrayList
<>();
for
(
int
y
=
0
;
y
<
forSize
;
y
++)
{
// 使用 subList 方法获取当前批次的数据子列表
if
((
i
*
forSize
+
y
)
==
data
.
size
())
{
List
<
OrderPushDamaiDto
>
batch
=
data
.
subList
(
i
,
Math
.
min
(
i
+
batchSize
,
dataSize
));
break
;
}
for
(
OrderPushDamaiDto
item
:
batch
)
{
OrderPushDamaiDto
item
=
data
.
get
(
i
*
forSize
+
y
);
ThirdTicketPushOpenParam
obj3
=
new
ThirdTicketPushOpenParam
();
ThirdTicketPushOpenParam
obj3
=
new
ThirdTicketPushOpenParam
();
String
ticketEntitiesId
=
item
.
getOrderTicketEntitiesId
();
// 生成大麦票单 id
long
orderTicketEntitiesKey
;
long
orderTicketEntitiesKey
;
if
(
item
.
getIsMember
()
==
1
)
{
if
(
item
.
getIsMember
()
==
1
)
{
orderTicketEntitiesKey
=
Long
.
valueOf
(
IDGenerator
.
getDamaiCode
(
item
.
getOrderTicketEntitiesId
()
).
toString
().
concat
(
"010"
));
orderTicketEntitiesKey
=
Long
.
valueOf
(
IDGenerator
.
getDamaiCode
(
ticketEntitiesId
).
toString
().
concat
(
"010"
));
}
else
{
}
else
{
orderTicketEntitiesKey
=
Long
.
valueOf
(
IDGenerator
.
getDamaiCode
(
item
.
getOrderTicketEntitiesId
()
).
toString
().
concat
(
"020"
));
orderTicketEntitiesKey
=
Long
.
valueOf
(
IDGenerator
.
getDamaiCode
(
ticketEntitiesId
).
toString
().
concat
(
"020"
));
}
}
// 可能orderTicketEntitiesKey有重复的吧 判断重复的加 1 但是也不准确 会不会有多个重复的
orderTicketEntitiesKey
=
checkAndIncrement
(
orderTicketEntitiesKeyList
,
orderTicketEntitiesKey
,
"1"
,
ticketEntitiesId
);
orderTicketEntitiesKeyList
.
add
(
orderTicketEntitiesKey
);
// 同步所有订单信息 已支付 退款中 已退款的
long
orderIdKey
=
IDGenerator
.
getDamaiCode
(
item
.
getOrderTicketsId
());
long
orderIdKey
=
IDGenerator
.
getDamaiCode
(
item
.
getOrderTicketsId
());
if
(
item
.
getEnterType
()
==
0
||
item
.
getEnterName
().
equals
(
""
))
{
log
.
error
(
"[入场人信息错误] OrderTicketEntitiesId = "
+
item
.
getOrderTicketEntitiesId
()
+
" 入场人 type = "
+
item
.
getEnterType
()
+
" 入场人 name = "
+
item
.
getEnterName
());
continue
;
}
// 用户名 入场人姓名
obj3
.
setUserName
(
item
.
getEnterName
());
// 证件号 入场人身份证
obj3
.
setCertificateNo
(
item
.
getEnterIdCode
());
// 用户手机号 入场人手机号
obj3
.
setOrderUserMobile
(
item
.
getEnterMobile
());
// 1大陆身份证 2港澳通行证 3台胞证 4护照 5军官证
// 证件内容 入场人证件type
// 大麦 1=身份证,2=学⽣证, 3=军官证,4=护照,5=港澳通⾏证,6=台胞证
switch
(
item
.
getEnterType
())
{
case
1
:
obj3
.
setCertificateType
(
1L
);
break
;
case
2
:
obj3
.
setCertificateType
(
5L
);
break
;
case
3
:
obj3
.
setCertificateType
(
6L
);
break
;
case
4
:
obj3
.
setCertificateType
(
4L
);
break
;
case
5
:
obj3
.
setCertificateType
(
3L
);
break
;
default
:
log
.
error
(
"[入场人类型错误] OrderTicketEntitiesId = "
+
item
.
getOrderTicketEntitiesId
()
+
" 入场人 type = "
+
item
.
getEnterType
());
continue
;
}
// 支付时间
obj3
.
setPayTime
(
DateUtils
.
parseDate
(
item
.
getTimePay
()));
// 场次id
obj3
.
setPerformId
(
timemId
);
if
(
item
.
getIsMember
()
==
1
)
{
obj3
.
setExt
(
"登登登VIP"
);
obj3
.
setTicketItemId
(
ticketIdMemberKey
);
}
else
{
obj3
.
setExt
(
"登登登VIP"
);
obj3
.
setTicketItemId
(
ticketsmId
);
}
obj3
.
setQrCode
(
"http://m.zhengzai.tv?c="
+
IDGenerator
.
ticketQrCode
(
item
.
getOrderTicketEntitiesId
()));
// 票单号 入场人id
obj3
.
setVoucherId
(
orderTicketEntitiesKey
);
// 订单id orderId
obj3
.
setOrderId
(
orderIdKey
);
// 票类型 快递 电子
obj3
.
setMediumType
(
item
.
getGetTicketType
().
equals
(
"express"
)
?
1L
:
2L
);
obj3
.
setSupplierSecret
(
taobaoTicketUtils
.
getSupplierSecret
());
obj3
.
setSystemId
(
taobaoTicketUtils
.
getSystemId
());
obj3
.
setSeatType
(
1L
);
//票类型
obj3
.
setTicketType
(
1L
);
paramList
.
add
(
obj3
);
orderCount
+=
1
;
// 部分退款是不退的,但是阶梯退票客服手动申请的现在也是部分退款,用户自己申请的现在不确定
// 取消退款的貌似没处理 其实这块应该可以不用处理退款中的,因为印象中退款那里有接入同步大麦
// 0未支付 1已支付 2退款中 3已退款 4部分退款
if
(
item
.
getIsPayment
()
==
3
||
item
.
getIsPayment
()
==
2
)
{
if
(
item
.
getIsPayment
()
==
3
||
item
.
getIsPayment
()
==
2
)
{
taobaoTicketUtils
.
withdrawDamaiOrder
(
timemId
,
orderTicketEntitiesKey
);
taobaoTicketUtils
.
withdrawDamaiOrder
(
timemId
,
orderTicketEntitiesKey
);
// 已转赠是转出去了 被退回是被别人退回了 已退回是别人给我的我给退回了
// 0交易成功,1转增中,2已转赠,3转增订单,4待接收,5被退回 ,6已退回
}
else
if
(
item
.
getTransferStatus
()
==
2
||
item
.
getTransferStatus
()
==
6
)
{
}
else
if
(
item
.
getTransferStatus
()
==
2
||
item
.
getTransferStatus
()
==
6
)
{
taobaoTicketUtils
.
withdrawDamaiOrder
(
timemId
,
orderTicketEntitiesKey
);
taobaoTicketUtils
.
withdrawDamaiOrder
(
timemId
,
orderTicketEntitiesKey
);
}
else
{
if
(
item
.
getEnterType
()
==
0
&&
!
item
.
getEnterName
().
equals
(
""
))
{
log
.
info
(
"[入场人错误数据] 入场人id = "
+
item
.
getOrderTicketEntitiesId
()
+
" 入场人 name = "
+
item
.
getEnterName
());
}
// if (empty.contains(orderTicketEntitiesKey)) {
// log.info("[ ORDER COPY ] orderId = " + orderTicketEntitiesKey);
// orderTicketEntitiesKey=Long.parseLong(orderTicketEntitiesKey+"1");
// }
// empty.add(orderTicketEntitiesKey);
// orderCount+=1;
if
(
empty
.
contains
(
orderTicketEntitiesKey
))
{
log
.
info
(
"[ ORDER COPY ] orderId = "
+
orderTicketEntitiesKey
);
orderTicketEntitiesKey
=
Long
.
parseLong
(
orderTicketEntitiesKey
+
"1"
);
}
empty
.
add
(
orderTicketEntitiesKey
);
orderCount
+=
1
;
orderCountAll
+=
1
;
list2
.
add
(
obj3
);
obj3
.
setUserName
(
item
.
getEnterName
());
//用户名 入场人姓名
obj3
.
setCertificateNo
(
item
.
getEnterIdCode
());
//证件号 入场人身份证
obj3
.
setOrderUserMobile
(
item
.
getEnterMobile
());
//用户手机号 入场人手机号
obj3
.
setCertificateType
(
item
.
getEnterType
().
longValue
());
//证件内容 入场人证件type
obj3
.
setPayTime
(
DateUtils
.
parseDate
(
item
.
getTimePay
()));
//支付时间
obj3
.
setPerformId
(
timemId
);
//场次id
if
(
item
.
getIsMember
()
==
1
)
{
obj3
.
setExt
(
"登登登VIP"
);
obj3
.
setTicketItemId
(
ticketIdMemberKey
);
}
else
{
obj3
.
setExt
(
"登登登VIP"
);
obj3
.
setTicketItemId
(
ticketsmId
);
}
obj3
.
setQrCode
(
"http://m.zhengzai.tv?c="
+
IDGenerator
.
ticketQrCode
(
item
.
getOrderTicketEntitiesId
()));
obj3
.
setVoucherId
(
orderTicketEntitiesKey
);
//票单号 入场人id
obj3
.
setOrderId
(
orderIdKey
);
//订单id orderId
obj3
.
setMediumType
(
item
.
getGetTicketType
().
equals
(
"express"
)
?
1L
:
2L
);
//票类型 快递 电子
obj3
.
setSupplierSecret
(
taobaoTicketUtils
.
getSupplierSecret
());
obj3
.
setSystemId
(
taobaoTicketUtils
.
getSystemId
());
obj3
.
setSeatType
(
1L
);
obj3
.
setTicketType
(
1L
);
//票类型
}
}
}
}
req
.
setThirdTicketSetOpenParamList
(
list2
);
if
(
list2
.
size
()
==
0
)
{
if
(
paramList
.
size
()
==
0
)
{
return
true
;
return
true
;
}
else
{
}
else
{
req
.
setThirdTicketSetOpenParamList
(
paramList
);
AlibabaDamaiMevOpenBatchpushticketResponse
rsp
=
client
.
execute
(
req
);
AlibabaDamaiMevOpenBatchpushticketResponse
rsp
=
client
.
execute
(
req
);
// log.info("order = " + rsp.getBody());
if
(!
rsp
.
getResult
().
getSuccess
())
{
if
(!
rsp
.
getResult
().
getSuccess
())
{
log
.
error
(
"[同步订单] res [BODY = {}]"
,
rsp
.
getBody
());
return
false
;
return
false
;
}
}
}
}
}
}
log
.
info
(
"[ ORDER COUNT ] orderCount = "
+
orderCount
);
log
.
info
(
"[
ORDER COUNT ALL ] orderCount = "
+
orderCountAll
);
log
.
info
(
"[
同步订单] 同步成功总张数 = "
+
orderCount
+
" 票种id ="
+
ticketsId
);
return
true
;
return
true
;
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
e
.
printStackTrace
(
);
log
.
error
(
"[同步订单] 异常:{}"
,
e
);
return
null
;
return
null
;
}
}
}
}
private
Long
checkAndIncrement
(
List
<
Long
>
list
,
Long
value
,
String
suffix
,
String
ticketEntitiesId
)
{
// 如果列表中不包含该值,则返回该值
if
(!
list
.
contains
(
value
))
{
return
value
;
}
else
{
log
.
error
(
"[ order_ticket_entities_id重复 ] ticketEntitiesId = "
+
ticketEntitiesId
);
// 生成新的值
Long
newValue
=
Long
.
parseLong
(
value
+
suffix
);
// 递归调用,尝试新值
return
checkAndIncrement
(
list
,
newValue
,
suffix
+
"1"
,
ticketEntitiesId
);
}
}
public
static
void
main
(
String
[]
args
)
{
public
static
void
main
(
String
[]
args
)
{
Long
a
=
IDGenerator
.
getDamaiCode
(
"1360935572095672321307852"
);
Long
a
=
IDGenerator
.
getDamaiCode
(
"1360935572095672321307852"
);
System
.
out
.
println
(
a
);
System
.
out
.
println
(
a
);
}
}
...
...
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