记得上下班打卡 | 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
195dd9ad
Commit
195dd9ad
authored
Nov 17, 2021
by
Tice
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update
parent
23dedf23
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
570 additions
and
452 deletions
+570
-452
IMerchantFieldAppliesService.java
...ervice/merchant/service/IMerchantFieldAppliesService.java
+14
-0
IMerchantFieldsService.java
...dnet/service/merchant/service/IMerchantFieldsService.java
+0
-7
IMerchantSponsorAppliesService.java
...vice/merchant/service/IMerchantSponsorAppliesService.java
+14
-0
IMerchantSponsorsService.java
...et/service/merchant/service/IMerchantSponsorsService.java
+0
-6
IMerchantFieldCheckersAdminService.java
.../merchant/service/IMerchantFieldCheckersAdminService.java
+7
-0
MerchantAuthorizationRecordsAdminServiceImpl.java
...ce/impl/MerchantAuthorizationRecordsAdminServiceImpl.java
+50
-33
MerchantFieldCheckersAdminServiceImpl.java
...t/service/impl/MerchantFieldCheckersAdminServiceImpl.java
+13
-0
MerchantFieldCheckers.java
...uidnet/service/merchant/entity/MerchantFieldCheckers.java
+1
-1
db_merchant.sql
...hant/liquidnet-service-merchant-impl/docu/db_merchant.sql
+1
-1
MerchantFieldsController.java
...service/merchant/controller/MerchantFieldsController.java
+7
-3
MerchantSponsorsController.java
...rvice/merchant/controller/MerchantSponsorsController.java
+7
-3
MerchantFieldAppliesServiceImpl.java
...erchant/service/impl/MerchantFieldAppliesServiceImpl.java
+245
-0
MerchantFieldsServiceImpl.java
...vice/merchant/service/impl/MerchantFieldsServiceImpl.java
+0
-205
MerchantSponsorAppliesServiceImpl.java
...chant/service/impl/MerchantSponsorAppliesServiceImpl.java
+211
-0
MerchantSponsorsServiceImpl.java
...ce/merchant/service/impl/MerchantSponsorsServiceImpl.java
+0
-193
No files found.
liquidnet-bus-api/liquidnet-service-merchant-api/src/main/java/com/liquidnet/service/merchant/service/IMerchantFieldAppliesService.java
0 → 100644
View file @
195dd9ad
package
com
.
liquidnet
.
service
.
merchant
.
service
;
import
com.liquidnet.service.merchant.dto.param.MerchantFieldApplyParam
;
import
com.liquidnet.service.merchant.dto.vo.MerchantFieldAppliesVo
;
public
interface
IMerchantFieldAppliesService
{
String
apply
(
String
uid
,
MerchantFieldApplyParam
parameter
);
void
applyDel
(
String
uid
,
String
fieldApplyId
);
MerchantFieldAppliesVo
applyInfo
(
String
uid
,
String
fieldApplyId
);
}
liquidnet-bus-api/liquidnet-service-merchant-api/src/main/java/com/liquidnet/service/merchant/service/IMerchantFieldsService.java
View file @
195dd9ad
...
...
@@ -12,13 +12,6 @@ public interface IMerchantFieldsService {
PagedResult
<
MerchantFieldsVo
>
search
(
String
name
,
int
page
,
int
size
);
String
apply
(
String
uid
,
MerchantFieldApplyParam
parameter
);
void
applyDel
(
String
uid
,
String
fieldApplyId
);
MerchantFieldAppliesVo
applyInfo
(
String
uid
,
String
fieldApplyId
);
void
editIsCheck
(
String
uid
,
String
fieldId
,
int
isCheck
);
...
...
liquidnet-bus-api/liquidnet-service-merchant-api/src/main/java/com/liquidnet/service/merchant/service/IMerchantSponsorAppliesService.java
0 → 100644
View file @
195dd9ad
package
com
.
liquidnet
.
service
.
merchant
.
service
;
import
com.liquidnet.service.merchant.dto.param.MerchantSponsorApplyParam
;
import
com.liquidnet.service.merchant.dto.vo.MerchantSponsorAppliesVo
;
public
interface
IMerchantSponsorAppliesService
{
String
apply
(
String
uid
,
MerchantSponsorApplyParam
parameter
);
void
applyDel
(
String
uid
,
String
sponsorApplyId
);
MerchantSponsorAppliesVo
applyInfo
(
String
uid
,
String
sponsorApplyId
);
}
liquidnet-bus-api/liquidnet-service-merchant-api/src/main/java/com/liquidnet/service/merchant/service/IMerchantSponsorsService.java
View file @
195dd9ad
...
...
@@ -7,10 +7,4 @@ import com.liquidnet.service.merchant.dto.vo.MerchantSponsorsVo;
public
interface
IMerchantSponsorsService
{
PagedResult
<
MerchantSponsorsVo
>
search
(
String
name
,
int
page
,
int
size
);
String
apply
(
String
uid
,
MerchantSponsorApplyParam
parameter
);
void
applyDel
(
String
uid
,
String
sponsorApplyId
);
MerchantSponsorAppliesVo
applyInfo
(
String
uid
,
String
sponsorApplyId
);
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/merchant/service/IMerchantFieldCheckersAdminService.java
0 → 100644
View file @
195dd9ad
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
merchant
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.liquidnet.service.merchant.entity.MerchantFieldCheckers
;
public
interface
IMerchantFieldCheckersAdminService
extends
IService
<
MerchantFieldCheckers
>
{
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/merchant/service/impl/MerchantAuthorizationRecordsAdminServiceImpl.java
View file @
195dd9ad
...
...
@@ -4,8 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import
com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.client.admin.zhengzai.merchant.service.IMerchantAuthorizationPermissionsAdminService
;
import
com.liquidnet.client.admin.zhengzai.merchant.service.IMerchantAuthorizationRecordsAdminService
;
import
com.liquidnet.client.admin.zhengzai.merchant.service.*
;
import
com.liquidnet.client.admin.zhengzai.merchant.utils.MerchantMongoUtil
;
import
com.liquidnet.client.admin.zhengzai.merchant.utils.MerchantRedisUtil
;
import
com.liquidnet.common.exception.LiquidnetServiceException
;
...
...
@@ -13,8 +12,7 @@ import com.liquidnet.commons.lang.util.CollectionUtil;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.merchant.constant.MerchantPermissionConst
;
import
com.liquidnet.service.merchant.dto.vo.*
;
import
com.liquidnet.service.merchant.entity.MerchantAuthorizationPermissions
;
import
com.liquidnet.service.merchant.entity.MerchantAuthorizationRecords
;
import
com.liquidnet.service.merchant.entity.*
;
import
com.liquidnet.service.merchant.mapper.MerchantAuthorizationRecordsMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -41,6 +39,15 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
@Autowired
MongoTemplate
mongoTemplate
;
@Autowired
IMerchantFieldsAdminService
fieldsAdminService
;
@Autowired
IMerchantFieldCheckersAdminService
fieldCheckersAdminService
;
@Autowired
IMerchantSponsorsAdminService
sponsorsAdminService
;
@Autowired
IMerchantAuthorizationPermissionsAdminService
authorizationPermissionsAdminService
;
...
...
@@ -51,10 +58,10 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
this
.
performanceCreator
(
performanceId
,
cuid
);
// 场地方
this
.
performanceFielder
(
performanceId
,
cuid
,
fieldId
);
this
.
performanceFielder
(
performanceId
,
fieldId
);
// 主办方
this
.
performanceSponsor
(
performanceId
,
cuid
,
sponsorId
);
this
.
performanceSponsor
(
performanceId
,
sponsorId
);
}
// 创建者
...
...
@@ -69,6 +76,9 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
MerchantAuthorizationRecords
authorizationRecords
=
getOne
(
authorizationRecordsLambdaQueryWrapper
);
// 是否已存在权限
if
(
null
==
cuid
)
{
throw
new
LiquidnetServiceException
();
}
if
(
null
!=
authorizationRecords
)
{
if
(!
authorizationRecords
.
getUid
().
equals
(
cuid
))
{
// 前后 创建方一致 不处理
...
...
@@ -91,8 +101,8 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
creatorAuthorizationRecords
.
setUid
(
cuid
);
creatorAuthorizationRecords
.
setMobile
(
""
);
creatorAuthorizationRecords
.
setName
(
""
);
creatorAuthorizationRecords
.
setCuid
(
cuid
);
creatorAuthorizationRecords
.
setCuidRole
(
"
creator
"
);
creatorAuthorizationRecords
.
setCuid
(
""
);
creatorAuthorizationRecords
.
setCuidRole
(
""
);
creatorAuthorizationRecords
.
setCreatedAt
(
now
);
authorizationRecordsArrayList
.
add
(
creatorAuthorizationRecords
);
...
...
@@ -144,7 +154,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
}
// 授权场地方
private
boolean
performanceFielder
(
String
performanceId
,
String
cuid
,
String
fieldId
)
{
private
boolean
performanceFielder
(
String
performanceId
,
String
fieldId
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
// 查询已有权限
...
...
@@ -155,11 +165,13 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
MerchantAuthorizationRecords
authorizationRecords
=
getOne
(
authorizationRecordsLambdaQueryWrapper
);
// 查询场地方
MerchantFieldsVo
fieldsVo
=
merchantRedisUtil
.
getFieldsVoByFieldId
(
fieldId
);
LambdaQueryWrapper
<
MerchantFields
>
fieldsLambdaQueryWrapper
=
Wrappers
.
lambdaQuery
(
MerchantFields
.
class
);
fieldsLambdaQueryWrapper
.
eq
(
MerchantFields:
:
getFieldId
,
fieldId
);
MerchantFields
fields
=
fieldsAdminService
.
getOne
(
fieldsLambdaQueryWrapper
);
// 是否已存在权限
if
(
null
!=
authorizationRecords
)
{
if
(
authorizationRecords
.
getUid
().
equals
(
fieldsVo
.
getUid
()))
{
if
(
null
!=
fields
&&
authorizationRecords
.
getUid
().
equals
(
fields
.
getUid
()))
{
// 前后 场地方一致 不处理
return
true
;
}
...
...
@@ -168,7 +180,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
authorizationRecords
.
setUpdatedAt
(
now
);
authorizationRecords
.
setDeletedAt
(
now
);
// mysql
//
删除旧权限
mysql
LambdaUpdateWrapper
<
MerchantAuthorizationRecords
>
authorizationRecordsLambdaUpdateWrapper
=
Wrappers
.
lambdaUpdate
(
MerchantAuthorizationRecords
.
class
);
authorizationRecordsLambdaUpdateWrapper
.
eq
(
MerchantAuthorizationRecords:
:
getPerformanceId
,
performanceId
)
...
...
@@ -187,7 +199,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
throw
new
LiquidnetServiceException
();
}
// mongo
//
删除旧权限
mongo
Criteria
criteria
=
Criteria
.
where
(
"performanceId"
).
is
(
performanceId
).
and
(
"deletedAt"
).
is
(
null
);
criteria
.
orOperator
(
Criteria
.
where
(
"authorizationRecordId"
).
is
(
authorizationRecords
.
getAuthorizationRecordId
()),
...
...
@@ -198,7 +210,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
}
// 是否添加权限
if
(
1
==
fieldsVo
.
getClaimStatus
())
{
if
(
null
!=
fields
&&
1
==
fields
.
getClaimStatus
())
{
ArrayList
<
MerchantAuthorizationRecords
>
authorizationRecordsArrayList
=
new
ArrayList
<>();
ArrayList
<
MerchantAuthorizationPermissions
>
authorizationPermissionsArrayList
=
new
ArrayList
<>();
...
...
@@ -210,11 +222,11 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
fielderAuthorizationRecords
.
setAuthorizationRecordId
(
IDGenerator
.
nextSnowId
());
fielderAuthorizationRecords
.
setPerformanceId
(
performanceId
);
fielderAuthorizationRecords
.
setUidRole
(
"fielder"
);
fielderAuthorizationRecords
.
setUid
(
fields
Vo
.
getUid
());
fielderAuthorizationRecords
.
setUid
(
fields
.
getUid
());
fielderAuthorizationRecords
.
setMobile
(
""
);
fielderAuthorizationRecords
.
setName
(
""
);
fielderAuthorizationRecords
.
setCuid
(
cuid
);
fielderAuthorizationRecords
.
setCuidRole
(
"
creator
"
);
fielderAuthorizationRecords
.
setCuid
(
""
);
fielderAuthorizationRecords
.
setCuidRole
(
""
);
fielderAuthorizationRecords
.
setCreatedAt
(
now
);
authorizationRecordsArrayList
.
add
(
fielderAuthorizationRecords
);
// 授权权限 entity vo
...
...
@@ -245,22 +257,25 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
authorizationRecordsVoArrayList
.
add
(
fielderAuthorizationRecordsVo
);
// 查询默认验票员
List
<
MerchantFieldCheckersVo
>
fieldCheckersVos
=
merchantRedisUtil
.
getFieldCheckersVosByFieldId
(
fieldId
);
if
(!
CollectionUtil
.
isEmpty
(
fieldCheckersVos
))
{
LambdaQueryWrapper
<
MerchantFieldCheckers
>
fieldCheckersLambdaQueryWrapper
=
Wrappers
.
lambdaQuery
(
MerchantFieldCheckers
.
class
);
fieldCheckersLambdaQueryWrapper
.
eq
(
MerchantFieldCheckers:
:
getFieldId
,
fieldId
);
fieldCheckersLambdaQueryWrapper
.
eq
(
MerchantFieldCheckers:
:
getDeletedAt
,
null
);
List
<
MerchantFieldCheckers
>
fieldCheckersList
=
fieldCheckersAdminService
.
list
(
fieldCheckersLambdaQueryWrapper
);
if
(!
CollectionUtil
.
isEmpty
(
fieldCheckersList
))
{
// 验票员 授权权限
String
[]
checkerPermissionIds
=
{
MerchantPermissionConst
.
PerformancePermission
.
CHECK
.
getId
()
};
for
(
MerchantFieldCheckers
Vo
fieldCheckersVo:
fieldCheckersVos
)
{
for
(
MerchantFieldCheckers
fieldCheckers:
fieldCheckersList
)
{
// 验票员 授权记录 entity
MerchantAuthorizationRecords
checkerAuthorizationRecords
=
new
MerchantAuthorizationRecords
();
checkerAuthorizationRecords
.
setAuthorizationRecordId
(
IDGenerator
.
nextSnowId
());
checkerAuthorizationRecords
.
setPerformanceId
(
performanceId
);
checkerAuthorizationRecords
.
setUidRole
(
"checker"
);
checkerAuthorizationRecords
.
setUid
(
fieldCheckers
Vo
.
getUid
());
checkerAuthorizationRecords
.
setMobile
(
fieldCheckers
Vo
.
getMobile
());
checkerAuthorizationRecords
.
setName
(
fieldCheckers
Vo
.
getName
());
checkerAuthorizationRecords
.
setCuid
(
fields
Vo
.
getUid
());
checkerAuthorizationRecords
.
setUid
(
fieldCheckers
.
getUid
());
checkerAuthorizationRecords
.
setMobile
(
fieldCheckers
.
getMobile
());
checkerAuthorizationRecords
.
setName
(
fieldCheckers
.
getName
());
checkerAuthorizationRecords
.
setCuid
(
fields
.
getUid
());
checkerAuthorizationRecords
.
setCuidRole
(
"fielder"
);
checkerAuthorizationRecords
.
setCreatedAt
(
now
);
authorizationRecordsArrayList
.
add
(
checkerAuthorizationRecords
);
...
...
@@ -310,7 +325,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
}
// 授权主办方
private
boolean
performanceSponsor
(
String
performanceId
,
String
cuid
,
String
sponsorId
)
{
private
boolean
performanceSponsor
(
String
performanceId
,
String
sponsorId
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
// 查询已有权限
...
...
@@ -321,11 +336,13 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
MerchantAuthorizationRecords
authorizationRecords
=
getOne
(
authorizationRecordsLambdaQueryWrapper
);
// 查询主办方
MerchantSponsorsVo
sponsorsVo
=
merchantRedisUtil
.
getSponsorsVoBySponsorId
(
sponsorId
);
LambdaQueryWrapper
<
MerchantSponsors
>
sponsorsLambdaQueryWrapper
=
Wrappers
.
lambdaQuery
(
MerchantSponsors
.
class
);
sponsorsLambdaQueryWrapper
.
eq
(
MerchantSponsors:
:
getSponsorId
,
sponsorId
);
MerchantSponsors
sponsors
=
sponsorsAdminService
.
getOne
(
sponsorsLambdaQueryWrapper
);
// 是否已存在权限
if
(
null
!=
authorizationRecords
)
{
if
(
authorizationRecords
.
getUid
().
equals
(
sponsorsVo
.
getUid
()))
{
if
(
null
!=
sponsors
&&
authorizationRecords
.
getUid
().
equals
(
sponsors
.
getUid
()))
{
// 前后 主办方一致 不处理
return
true
;
}
...
...
@@ -334,7 +351,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
authorizationRecords
.
setUpdatedAt
(
now
);
authorizationRecords
.
setDeletedAt
(
now
);
// mysql
//
删除旧权限
mysql
LambdaUpdateWrapper
<
MerchantAuthorizationRecords
>
authorizationRecordsLambdaUpdateWrapper
=
Wrappers
.
lambdaUpdate
(
MerchantAuthorizationRecords
.
class
);
authorizationRecordsLambdaUpdateWrapper
.
eq
(
MerchantAuthorizationRecords:
:
getPerformanceId
,
performanceId
)
...
...
@@ -353,7 +370,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
throw
new
LiquidnetServiceException
();
}
// mongo
//
删除旧权限
mongo
Criteria
criteria
=
Criteria
.
where
(
"performanceId"
).
is
(
performanceId
).
and
(
"deletedAt"
).
is
(
null
);
criteria
.
orOperator
(
Criteria
.
where
(
"authorizationRecordId"
).
is
(
authorizationRecords
.
getAuthorizationRecordId
()),
...
...
@@ -364,7 +381,7 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
}
// 是否添加权限
if
(
!
sponsorsVo
.
getUid
().
isEmpty
())
{
if
(
null
!=
sponsors
&&
!
sponsors
.
getUid
().
isEmpty
())
{
ArrayList
<
MerchantAuthorizationRecords
>
authorizationRecordsArrayList
=
new
ArrayList
<>();
ArrayList
<
MerchantAuthorizationPermissions
>
authorizationPermissionsArrayList
=
new
ArrayList
<>();
...
...
@@ -374,11 +391,11 @@ public class MerchantAuthorizationRecordsAdminServiceImpl extends ServiceImpl<Me
sponsorAuthorizationRecords
.
setAuthorizationRecordId
(
IDGenerator
.
nextSnowId
());
sponsorAuthorizationRecords
.
setPerformanceId
(
performanceId
);
sponsorAuthorizationRecords
.
setUidRole
(
"sponsor"
);
sponsorAuthorizationRecords
.
setUid
(
sponsors
Vo
.
getUid
());
sponsorAuthorizationRecords
.
setUid
(
sponsors
.
getUid
());
sponsorAuthorizationRecords
.
setMobile
(
""
);
sponsorAuthorizationRecords
.
setName
(
""
);
sponsorAuthorizationRecords
.
setCuid
(
cuid
);
sponsorAuthorizationRecords
.
setCuidRole
(
"
creator
"
);
sponsorAuthorizationRecords
.
setCuid
(
""
);
sponsorAuthorizationRecords
.
setCuidRole
(
""
);
sponsorAuthorizationRecords
.
setCreatedAt
(
now
);
authorizationRecordsArrayList
.
add
(
sponsorAuthorizationRecords
);
// 授权权限 entity vo
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/merchant/service/impl/MerchantFieldCheckersAdminServiceImpl.java
0 → 100644
View file @
195dd9ad
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
merchant
.
service
.
impl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.client.admin.zhengzai.merchant.service.IMerchantFieldCheckersAdminService
;
import
com.liquidnet.service.merchant.entity.MerchantFieldCheckers
;
import
com.liquidnet.service.merchant.mapper.MerchantFieldCheckersMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Service
;
@Slf4j
@Service
public
class
MerchantFieldCheckersAdminServiceImpl
extends
ServiceImpl
<
MerchantFieldCheckersMapper
,
MerchantFieldCheckers
>
implements
IMerchantFieldCheckersAdminService
{
}
liquidnet-bus-do/liquidnet-service-merchant-do/src/main/java/com/liquidnet/service/merchant/entity/MerchantFieldCheckers.java
View file @
195dd9ad
...
...
@@ -30,7 +30,7 @@ public class MerchantFieldCheckers implements Serializable {
private
String
fieldCheckerId
;
/**
*
要认领的或创建的
场地ID
* 场地ID
*/
private
String
fieldId
;
...
...
liquidnet-bus-service/liquidnet-service-merchant/liquidnet-service-merchant-impl/docu/db_merchant.sql
View file @
195dd9ad
...
...
@@ -44,7 +44,7 @@ create table merchant_field_checkers
(
mid
bigint
unsigned
auto_increment
primary
key
,
field_checker_id
varchar
(
64
)
not
null
comment
'field_apply_id'
,
field_id
varchar
(
64
)
default
''
not
null
comment
'
要认领的或创建的
场地ID'
,
field_id
varchar
(
64
)
default
''
not
null
comment
'场地ID'
,
uid
varchar
(
64
)
default
''
not
null
comment
'验票员账号'
,
mobile
varchar
(
255
)
default
''
not
null
comment
'手机号'
,
name
varchar
(
255
)
default
''
not
null
comment
'姓名'
,
...
...
liquidnet-bus-service/liquidnet-service-merchant/liquidnet-service-merchant-impl/src/main/java/com/liquidnet/service/merchant/controller/MerchantFieldsController.java
View file @
195dd9ad
...
...
@@ -9,6 +9,7 @@ import com.liquidnet.service.merchant.dto.param.MerchantFieldApplyParam;
import
com.liquidnet.service.merchant.dto.vo.MerchantFieldAppliesVo
;
import
com.liquidnet.service.merchant.dto.vo.MerchantFieldCheckersVo
;
import
com.liquidnet.service.merchant.dto.vo.MerchantFieldsVo
;
import
com.liquidnet.service.merchant.service.IMerchantFieldAppliesService
;
import
com.liquidnet.service.merchant.service.IMerchantFieldsService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -39,6 +40,9 @@ public class MerchantFieldsController {
@Autowired
IMerchantFieldsService
merchantFieldsService
;
@Autowired
IMerchantFieldAppliesService
merchantFieldAppliesService
;
@ApiOperationSupport
(
order
=
10
)
@ApiOperation
(
value
=
"场地搜索"
)
@GetMapping
(
"search"
)
...
...
@@ -54,7 +58,7 @@ public class MerchantFieldsController {
public
ResponseDto
<
Object
>
apply
(
@Valid
@RequestBody
MerchantFieldApplyParam
parameter
)
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
return
ResponseDto
.
success
(
merchantFieldsService
.
apply
(
currentUid
,
parameter
));
return
ResponseDto
.
success
(
merchantField
Applie
sService
.
apply
(
currentUid
,
parameter
));
}
@ApiOperationSupport
(
order
=
12
)
...
...
@@ -63,7 +67,7 @@ public class MerchantFieldsController {
public
ResponseDto
<
Object
>
applyDel
(
@RequestParam
(
required
=
true
)
String
fieldApplyId
)
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
merchantFieldsService
.
applyDel
(
currentUid
,
fieldApplyId
);
merchantField
Applie
sService
.
applyDel
(
currentUid
,
fieldApplyId
);
return
ResponseDto
.
success
();
}
...
...
@@ -74,7 +78,7 @@ public class MerchantFieldsController {
public
ResponseDto
<
MerchantFieldAppliesVo
>
applyInfo
(
@RequestParam
(
required
=
true
)
String
fieldApplyId
)
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
return
ResponseDto
.
success
(
merchantFieldsService
.
applyInfo
(
currentUid
,
fieldApplyId
));
return
ResponseDto
.
success
(
merchantField
Applie
sService
.
applyInfo
(
currentUid
,
fieldApplyId
));
}
@ApiOperationSupport
(
order
=
21
)
...
...
liquidnet-bus-service/liquidnet-service-merchant/liquidnet-service-merchant-impl/src/main/java/com/liquidnet/service/merchant/controller/MerchantSponsorsController.java
View file @
195dd9ad
...
...
@@ -8,6 +8,7 @@ import com.liquidnet.service.base.ResponseDto;
import
com.liquidnet.service.merchant.dto.param.MerchantSponsorApplyParam
;
import
com.liquidnet.service.merchant.dto.vo.MerchantSponsorsVo
;
import
com.liquidnet.service.merchant.dto.vo.MerchantSponsorAppliesVo
;
import
com.liquidnet.service.merchant.service.IMerchantSponsorAppliesService
;
import
com.liquidnet.service.merchant.service.IMerchantSponsorsService
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
...
...
@@ -37,6 +38,9 @@ public class MerchantSponsorsController {
@Autowired
IMerchantSponsorsService
merchantSponsorsService
;
@Autowired
IMerchantSponsorAppliesService
merchantSponsorAppliesService
;
@ApiOperationSupport
(
order
=
10
)
@ApiOperation
(
value
=
"主办搜索"
)
@GetMapping
(
"search"
)
...
...
@@ -52,7 +56,7 @@ public class MerchantSponsorsController {
public
ResponseDto
<
Object
>
apply
(
@Valid
@RequestBody
MerchantSponsorApplyParam
parameter
)
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
return
ResponseDto
.
success
(
merchantSponsorsService
.
apply
(
currentUid
,
parameter
));
return
ResponseDto
.
success
(
merchantSponsor
Applie
sService
.
apply
(
currentUid
,
parameter
));
}
@ApiOperationSupport
(
order
=
12
)
...
...
@@ -61,7 +65,7 @@ public class MerchantSponsorsController {
public
ResponseDto
<
Object
>
applyDel
(
@RequestParam
(
required
=
true
)
String
sponsorApplyId
)
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
merchantSponsorsService
.
applyDel
(
currentUid
,
sponsorApplyId
);
merchantSponsor
Applie
sService
.
applyDel
(
currentUid
,
sponsorApplyId
);
return
ResponseDto
.
success
();
}
...
...
@@ -72,6 +76,6 @@ public class MerchantSponsorsController {
public
ResponseDto
<
MerchantSponsorAppliesVo
>
applyInfo
(
@RequestParam
(
required
=
true
)
String
sponsorApplyId
)
{
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
return
ResponseDto
.
success
(
merchantSponsorsService
.
applyInfo
(
currentUid
,
sponsorApplyId
));
return
ResponseDto
.
success
(
merchantSponsor
Applie
sService
.
applyInfo
(
currentUid
,
sponsorApplyId
));
}
}
liquidnet-bus-service/liquidnet-service-merchant/liquidnet-service-merchant-impl/src/main/java/com/liquidnet/service/merchant/service/impl/MerchantFieldAppliesServiceImpl.java
0 → 100644
View file @
195dd9ad
package
com
.
liquidnet
.
service
.
merchant
.
service
.
impl
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.liquidnet.common.exception.LiquidnetServiceException
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.commons.lang.util.IdentityUtils
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.merchant.dto.param.MerchantFieldApplyParam
;
import
com.liquidnet.service.merchant.dto.vo.MerchantFieldAppliesVo
;
import
com.liquidnet.service.merchant.dto.vo.MerchantFieldsVo
;
import
com.liquidnet.service.merchant.service.IMerchantFieldAppliesService
;
import
com.liquidnet.service.merchant.service.MerchantRdmService
;
import
com.liquidnet.service.merchant.util.QueueUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Update
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.time.LocalDateTime
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.stream.IntStream
;
@Slf4j
@Service
public
class
MerchantFieldAppliesServiceImpl
implements
IMerchantFieldAppliesService
{
@Autowired
MerchantRdmService
merchantRdmService
;
@Autowired
MongoTemplate
mongoTemplate
;
@Autowired
QueueUtil
queueUtils
;
@Override
public
String
apply
(
String
uid
,
MerchantFieldApplyParam
parameter
)
{
LinkedList
<
String
>
toMqSqls
=
CollectionUtil
.
linkedListString
();
LinkedList
<
Object
[]>
fieldUpdateObjs
=
CollectionUtil
.
linkedListObjectArr
();
LinkedList
<
Object
[]>
fieldApplyInsertObjs
=
CollectionUtil
.
linkedListObjectArr
();
// 若认领,查询验证场地
MerchantFieldsVo
fieldsVo
=
null
;
if
(
null
!=
parameter
.
getFieldId
()
&&
!
parameter
.
getFieldId
().
isEmpty
())
{
fieldsVo
=
merchantRdmService
.
getFieldsVoByFieldId
(
parameter
.
getFieldId
());
if
(
null
==
fieldsVo
)
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13101"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
if
(
0
!=
fieldsVo
.
getClaimStatus
())
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13102"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
}
// 申请场地 vos 上限
List
<
MerchantFieldAppliesVo
>
fieldAppliesVos
=
merchantRdmService
.
getFieldAppliesVosByUid
(
uid
);
if
(!
CollectionUtils
.
isEmpty
(
fieldAppliesVos
))
{
if
(
fieldAppliesVos
.
size
()
>=
10
)
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13103"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
}
LocalDateTime
now
=
LocalDateTime
.
now
();
long
s
=
System
.
currentTimeMillis
();
if
(
null
!=
fieldsVo
)
{
// 场地 vo 更改场地状态 及 认领的人
fieldsVo
.
setClaimStatus
(
2
);
fieldsVo
.
setUid
(
uid
);
fieldsVo
.
setUpdatedAt
(
now
);
// 场地 redis
merchantRdmService
.
setFieldsVoByFieldId
(
fieldsVo
.
getFieldId
(),
fieldsVo
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
// 场地 mongo
s
=
System
.
currentTimeMillis
();
Query
query
=
Query
.
query
(
Criteria
.
where
(
"fieldId"
).
is
(
fieldsVo
.
getFieldId
()));
Update
update
=
Update
.
update
(
"claimStatus"
,
fieldsVo
.
getClaimStatus
()).
set
(
"uid"
,
fieldsVo
.
getUid
()).
set
(
"updatedAt"
,
fieldsVo
.
getUpdatedAt
());
mongoTemplate
.
updateFirst
(
query
,
update
,
MerchantFieldsVo
.
class
,
MerchantFieldsVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MONGO耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
}
// 申请场地 vo
MerchantFieldAppliesVo
fieldAppliesVo
=
MerchantFieldAppliesVo
.
getNew
();
BeanUtils
.
copyProperties
(
parameter
,
fieldAppliesVo
);
fieldAppliesVo
.
setFieldApplyId
(
IDGenerator
.
nextSnowId
());
fieldAppliesVo
.
setApplyStatus
(
0
);
if
(
null
!=
fieldsVo
)
{
fieldAppliesVo
.
setApplyType
(
"claim"
);
}
else
{
fieldAppliesVo
.
setApplyType
(
"create"
);
}
fieldAppliesVo
.
setReject
(
""
);
fieldAppliesVo
.
setUid
(
uid
);
fieldAppliesVo
.
setCreatedAt
(
now
);
// 身份证检查
String
respStr
=
IdentityUtils
.
aliThird
(
fieldAppliesVo
.
getLegalName
(),
fieldAppliesVo
.
getLegalIdentity
());;
JsonNode
respJNode
=
JsonUtils
.
fromJson
(
respStr
,
JsonNode
.
class
);
if
(
null
==
respJNode
||
!
"0"
.
equals
(
respJNode
.
get
(
"error_code"
).
asText
()))
{
log
.
info
(
"###实名认证失败[{}]"
,
respStr
);
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13001"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
// 申请场地 redis
s
=
System
.
currentTimeMillis
();
merchantRdmService
.
addFieldAppliesVoByUid
(
uid
,
fieldAppliesVos
,
fieldAppliesVo
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
// 申请场地 mongo
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
fieldAppliesVo
,
MerchantFieldAppliesVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MONGO耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
null
!=
fieldsVo
)
{
// 场地 sql
toMqSqls
.
add
(
SqlMapping
.
get
(
"merchant_fields.update_claim_status_and_uid"
));
fieldUpdateObjs
.
add
(
new
Object
[]{
fieldsVo
.
getClaimStatus
(),
fieldsVo
.
getUid
(),
fieldsVo
.
getUpdatedAt
(),
fieldsVo
.
getFieldId
()
});
}
// 申请场地 sql
toMqSqls
.
add
(
SqlMapping
.
get
(
"merchant_field_applies.insert"
));
fieldApplyInsertObjs
.
add
(
new
Object
[]{
fieldAppliesVo
.
getFieldApplyId
(),
fieldAppliesVo
.
getApplyStatus
(),
fieldAppliesVo
.
getApplyType
(),
fieldAppliesVo
.
getReject
(),
fieldAppliesVo
.
getUid
(),
fieldAppliesVo
.
getFieldId
(),
fieldAppliesVo
.
getName
(),
fieldAppliesVo
.
getLogo
(),
fieldAppliesVo
.
getBackground
(),
fieldAppliesVo
.
getDescription
(),
fieldAppliesVo
.
getBuiltDate
(),
fieldAppliesVo
.
getProvinceId
(),
fieldAppliesVo
.
getProvinceName
(),
fieldAppliesVo
.
getCityId
(),
fieldAppliesVo
.
getCityName
(),
fieldAppliesVo
.
getDistrictId
(),
fieldAppliesVo
.
getDistrictName
(),
fieldAppliesVo
.
getAddress
(),
fieldAppliesVo
.
getLongitude
(),
fieldAppliesVo
.
getLatitude
(),
fieldAppliesVo
.
getContactName
(),
fieldAppliesVo
.
getContactEmail
(),
fieldAppliesVo
.
getCompanyName
(),
fieldAppliesVo
.
getLicenseCode
(),
fieldAppliesVo
.
getLicenseImg
(),
fieldAppliesVo
.
getLegalName
(),
fieldAppliesVo
.
getLegalIdentity
(),
fieldAppliesVo
.
getLegalIdentityObverse
(),
fieldAppliesVo
.
getLegalIdentityReverse
(),
fieldAppliesVo
.
getCreatedAt
()
});
// mq
s
=
System
.
currentTimeMillis
();
if
(
null
!=
fieldsVo
)
{
queueUtils
.
sendMsgByRedis
(
MQConst
.
MerchantQueue
.
SQL_MERCHANT_FIELD
.
getKey
(),
SqlMapping
.
gets
(
toMqSqls
,
fieldUpdateObjs
,
fieldApplyInsertObjs
)
);
}
else
{
queueUtils
.
sendMsgByRedis
(
MQConst
.
MerchantQueue
.
SQL_MERCHANT_FIELD
.
getKey
(),
SqlMapping
.
gets
(
toMqSqls
,
fieldApplyInsertObjs
)
);
}
log
.
debug
(
"#MQ耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
fieldAppliesVo
.
getFieldApplyId
();
}
@Override
public
void
applyDel
(
String
uid
,
String
fieldApplyId
)
{
// 查找场地申请,是否存在且已经驳回
List
<
MerchantFieldAppliesVo
>
fieldAppliesVos
=
merchantRdmService
.
getFieldAppliesVosByUid
(
uid
);
if
(
CollectionUtils
.
isEmpty
(
fieldAppliesVos
))
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13104"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
int
idx
=
IntStream
.
range
(
0
,
fieldAppliesVos
.
size
())
.
filter
(
i
->
fieldAppliesVos
.
get
(
i
).
getFieldApplyId
().
equals
(
fieldApplyId
))
.
findFirst
()
.
orElse
(-
1
);
if
(
idx
<
0
)
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13104"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
MerchantFieldAppliesVo
fieldAppliesVo
=
fieldAppliesVos
.
get
(
idx
);
if
(
fieldAppliesVo
.
getApplyStatus
()
!=
2
)
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13105"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
LocalDateTime
now
=
LocalDateTime
.
now
();
fieldAppliesVo
.
setUpdatedAt
(
now
);
fieldAppliesVo
.
setDeletedAt
(
now
);
// 申请场地 redis
long
s
=
System
.
currentTimeMillis
();
merchantRdmService
.
delFieldAppliesVoByUid
(
uid
,
fieldAppliesVos
,
fieldAppliesVo
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
// 申请场地 mongo
s
=
System
.
currentTimeMillis
();
Query
query
=
Query
.
query
(
Criteria
.
where
(
"fieldApplyId"
).
is
(
fieldAppliesVo
.
getFieldApplyId
()));
Update
update
=
Update
.
update
(
"updatedAt"
,
fieldAppliesVo
.
getUpdatedAt
()).
set
(
"deletedAt"
,
fieldAppliesVo
.
getDeletedAt
());
mongoTemplate
.
updateFirst
(
query
,
update
,
MerchantFieldAppliesVo
.
class
,
MerchantFieldAppliesVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MONGO耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
// 申请场地 sql
LinkedList
<
String
>
toMqSqls
=
CollectionUtil
.
linkedListString
();
LinkedList
<
Object
[]>
fieldAppliesUpdateObjs
=
CollectionUtil
.
linkedListObjectArr
();
toMqSqls
.
add
(
SqlMapping
.
get
(
"merchant_field_applies.update"
));
fieldAppliesUpdateObjs
.
add
(
new
Object
[]{
fieldAppliesVo
.
getUpdatedAt
(),
fieldAppliesVo
.
getDeletedAt
(),
fieldAppliesVo
.
getFieldApplyId
()
});
// mq
s
=
System
.
currentTimeMillis
();
queueUtils
.
sendMsgByRedis
(
MQConst
.
MerchantQueue
.
SQL_MERCHANT_FIELD
.
getKey
(),
SqlMapping
.
gets
(
toMqSqls
,
fieldAppliesUpdateObjs
)
);
log
.
debug
(
"#MQ耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
}
@Override
public
MerchantFieldAppliesVo
applyInfo
(
String
uid
,
String
fieldApplyId
)
{
// 查找场地申请,是否存在
List
<
MerchantFieldAppliesVo
>
fieldAppliesVos
=
merchantRdmService
.
getFieldAppliesVosByUid
(
uid
);
if
(
CollectionUtils
.
isEmpty
(
fieldAppliesVos
))
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13104"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
int
idx
=
IntStream
.
range
(
0
,
fieldAppliesVos
.
size
())
.
filter
(
i
->
fieldAppliesVos
.
get
(
i
).
getFieldApplyId
().
equals
(
fieldApplyId
))
.
findFirst
()
.
orElse
(-
1
);
if
(
idx
<
0
)
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13104"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
MerchantFieldAppliesVo
fieldAppliesVo
=
fieldAppliesVos
.
get
(
idx
);
if
(
null
!=
fieldAppliesVo
.
getFieldId
()
&&
!
fieldAppliesVo
.
getFieldId
().
isEmpty
())
{
MerchantFieldsVo
fieldsVo
=
merchantRdmService
.
getFieldsVoByFieldId
(
fieldAppliesVo
.
getFieldId
());
fieldAppliesVo
.
setFieldVo
(
fieldsVo
);
}
return
fieldAppliesVos
.
get
(
idx
);
}
}
liquidnet-bus-service/liquidnet-service-merchant/liquidnet-service-merchant-impl/src/main/java/com/liquidnet/service/merchant/service/impl/MerchantFieldsServiceImpl.java
View file @
195dd9ad
package
com
.
liquidnet
.
service
.
merchant
.
service
.
impl
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.liquidnet.common.exception.LiquidnetServiceException
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.commons.lang.util.IdentityUtils
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.PagedResult
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.merchant.dto.param.MerchantFieldApplyParam
;
import
com.liquidnet.service.merchant.dto.vo.MerchantFieldAppliesVo
;
import
com.liquidnet.service.merchant.dto.vo.MerchantFieldCheckersVo
;
import
com.liquidnet.service.merchant.dto.vo.MerchantFieldsVo
;
import
com.liquidnet.service.merchant.service.IMerchantFieldsService
;
...
...
@@ -19,7 +14,6 @@ import com.liquidnet.service.merchant.service.MerchantRdmService;
import
com.liquidnet.service.merchant.util.ObjectUtil
;
import
com.liquidnet.service.merchant.util.QueueUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Pageable
;
...
...
@@ -78,205 +72,6 @@ public class MerchantFieldsServiceImpl implements IMerchantFieldsService {
return
pagedResult
;
}
@Override
public
String
apply
(
String
uid
,
MerchantFieldApplyParam
parameter
)
{
LinkedList
<
String
>
toMqSqls
=
CollectionUtil
.
linkedListString
();
LinkedList
<
Object
[]>
fieldUpdateObjs
=
CollectionUtil
.
linkedListObjectArr
();
LinkedList
<
Object
[]>
fieldApplyInsertObjs
=
CollectionUtil
.
linkedListObjectArr
();
// 若认领,查询验证场地
MerchantFieldsVo
fieldsVo
=
null
;
if
(
null
!=
parameter
.
getFieldId
()
&&
!
parameter
.
getFieldId
().
isEmpty
())
{
fieldsVo
=
merchantRdmService
.
getFieldsVoByFieldId
(
parameter
.
getFieldId
());
if
(
null
==
fieldsVo
)
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13101"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
if
(
0
!=
fieldsVo
.
getClaimStatus
())
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13102"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
}
// 申请场地 vos 上限
List
<
MerchantFieldAppliesVo
>
fieldAppliesVos
=
merchantRdmService
.
getFieldAppliesVosByUid
(
uid
);
if
(!
CollectionUtils
.
isEmpty
(
fieldAppliesVos
))
{
if
(
fieldAppliesVos
.
size
()
>=
10
)
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13103"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
}
LocalDateTime
now
=
LocalDateTime
.
now
();
long
s
=
System
.
currentTimeMillis
();
if
(
null
!=
fieldsVo
)
{
// 场地 vo 更改场地状态 及 认领的人
fieldsVo
.
setClaimStatus
(
2
);
fieldsVo
.
setUid
(
uid
);
fieldsVo
.
setUpdatedAt
(
now
);
// 场地 redis
merchantRdmService
.
setFieldsVoByFieldId
(
fieldsVo
.
getFieldId
(),
fieldsVo
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
// 场地 mongo
s
=
System
.
currentTimeMillis
();
Query
query
=
Query
.
query
(
Criteria
.
where
(
"fieldId"
).
is
(
fieldsVo
.
getFieldId
()));
Update
update
=
Update
.
update
(
"claimStatus"
,
fieldsVo
.
getClaimStatus
()).
set
(
"uid"
,
fieldsVo
.
getUid
()).
set
(
"updatedAt"
,
fieldsVo
.
getUpdatedAt
());
mongoTemplate
.
updateFirst
(
query
,
update
,
MerchantFieldsVo
.
class
,
MerchantFieldsVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MONGO耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
}
// 申请场地 vo
MerchantFieldAppliesVo
fieldAppliesVo
=
MerchantFieldAppliesVo
.
getNew
();
BeanUtils
.
copyProperties
(
parameter
,
fieldAppliesVo
);
fieldAppliesVo
.
setFieldApplyId
(
IDGenerator
.
nextSnowId
());
fieldAppliesVo
.
setApplyStatus
(
0
);
if
(
null
!=
fieldsVo
)
{
fieldAppliesVo
.
setApplyType
(
"claim"
);
}
else
{
fieldAppliesVo
.
setApplyType
(
"create"
);
}
fieldAppliesVo
.
setReject
(
""
);
fieldAppliesVo
.
setUid
(
uid
);
fieldAppliesVo
.
setCreatedAt
(
now
);
// 身份证检查
String
respStr
=
IdentityUtils
.
aliThird
(
fieldAppliesVo
.
getLegalName
(),
fieldAppliesVo
.
getLegalIdentity
());;
JsonNode
respJNode
=
JsonUtils
.
fromJson
(
respStr
,
JsonNode
.
class
);
if
(
null
==
respJNode
||
!
"0"
.
equals
(
respJNode
.
get
(
"error_code"
).
asText
()))
{
log
.
info
(
"###实名认证失败[{}]"
,
respStr
);
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13001"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
// 申请场地 redis
s
=
System
.
currentTimeMillis
();
merchantRdmService
.
addFieldAppliesVoByUid
(
uid
,
fieldAppliesVos
,
fieldAppliesVo
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
// 申请场地 mongo
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
fieldAppliesVo
,
MerchantFieldAppliesVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MONGO耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
null
!=
fieldsVo
)
{
// 场地 sql
toMqSqls
.
add
(
SqlMapping
.
get
(
"merchant_fields.update_claim_status_and_uid"
));
fieldUpdateObjs
.
add
(
new
Object
[]{
fieldsVo
.
getClaimStatus
(),
fieldsVo
.
getUid
(),
fieldsVo
.
getUpdatedAt
(),
fieldsVo
.
getFieldId
()
});
}
// 申请场地 sql
toMqSqls
.
add
(
SqlMapping
.
get
(
"merchant_field_applies.insert"
));
fieldApplyInsertObjs
.
add
(
new
Object
[]{
fieldAppliesVo
.
getFieldApplyId
(),
fieldAppliesVo
.
getApplyStatus
(),
fieldAppliesVo
.
getApplyType
(),
fieldAppliesVo
.
getReject
(),
fieldAppliesVo
.
getUid
(),
fieldAppliesVo
.
getFieldId
(),
fieldAppliesVo
.
getName
(),
fieldAppliesVo
.
getLogo
(),
fieldAppliesVo
.
getBackground
(),
fieldAppliesVo
.
getDescription
(),
fieldAppliesVo
.
getBuiltDate
(),
fieldAppliesVo
.
getProvinceId
(),
fieldAppliesVo
.
getProvinceName
(),
fieldAppliesVo
.
getCityId
(),
fieldAppliesVo
.
getCityName
(),
fieldAppliesVo
.
getDistrictId
(),
fieldAppliesVo
.
getDistrictName
(),
fieldAppliesVo
.
getAddress
(),
fieldAppliesVo
.
getLongitude
(),
fieldAppliesVo
.
getLatitude
(),
fieldAppliesVo
.
getContactName
(),
fieldAppliesVo
.
getContactEmail
(),
fieldAppliesVo
.
getCompanyName
(),
fieldAppliesVo
.
getLicenseCode
(),
fieldAppliesVo
.
getLicenseImg
(),
fieldAppliesVo
.
getLegalName
(),
fieldAppliesVo
.
getLegalIdentity
(),
fieldAppliesVo
.
getLegalIdentityObverse
(),
fieldAppliesVo
.
getLegalIdentityReverse
(),
fieldAppliesVo
.
getCreatedAt
()
});
// mq
s
=
System
.
currentTimeMillis
();
if
(
null
!=
fieldsVo
)
{
queueUtils
.
sendMsgByRedis
(
MQConst
.
MerchantQueue
.
SQL_MERCHANT_FIELD
.
getKey
(),
SqlMapping
.
gets
(
toMqSqls
,
fieldUpdateObjs
,
fieldApplyInsertObjs
)
);
}
else
{
queueUtils
.
sendMsgByRedis
(
MQConst
.
MerchantQueue
.
SQL_MERCHANT_FIELD
.
getKey
(),
SqlMapping
.
gets
(
toMqSqls
,
fieldApplyInsertObjs
)
);
}
log
.
debug
(
"#MQ耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
fieldAppliesVo
.
getFieldApplyId
();
}
@Override
public
void
applyDel
(
String
uid
,
String
fieldApplyId
)
{
// 查找场地申请,是否存在且已经驳回
List
<
MerchantFieldAppliesVo
>
fieldAppliesVos
=
merchantRdmService
.
getFieldAppliesVosByUid
(
uid
);
if
(
CollectionUtils
.
isEmpty
(
fieldAppliesVos
))
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13104"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
int
idx
=
IntStream
.
range
(
0
,
fieldAppliesVos
.
size
())
.
filter
(
i
->
fieldAppliesVos
.
get
(
i
).
getFieldApplyId
().
equals
(
fieldApplyId
))
.
findFirst
()
.
orElse
(-
1
);
if
(
idx
<
0
)
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13104"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
MerchantFieldAppliesVo
fieldAppliesVo
=
fieldAppliesVos
.
get
(
idx
);
if
(
fieldAppliesVo
.
getApplyStatus
()
!=
2
)
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13105"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
LocalDateTime
now
=
LocalDateTime
.
now
();
fieldAppliesVo
.
setUpdatedAt
(
now
);
fieldAppliesVo
.
setDeletedAt
(
now
);
// 申请场地 redis
long
s
=
System
.
currentTimeMillis
();
merchantRdmService
.
delFieldAppliesVoByUid
(
uid
,
fieldAppliesVos
,
fieldAppliesVo
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
// 申请场地 mongo
s
=
System
.
currentTimeMillis
();
Query
query
=
Query
.
query
(
Criteria
.
where
(
"fieldApplyId"
).
is
(
fieldAppliesVo
.
getFieldApplyId
()));
Update
update
=
Update
.
update
(
"updatedAt"
,
fieldAppliesVo
.
getUpdatedAt
()).
set
(
"deletedAt"
,
fieldAppliesVo
.
getDeletedAt
());
mongoTemplate
.
updateFirst
(
query
,
update
,
MerchantFieldAppliesVo
.
class
,
MerchantFieldAppliesVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MONGO耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
// 申请场地 sql
LinkedList
<
String
>
toMqSqls
=
CollectionUtil
.
linkedListString
();
LinkedList
<
Object
[]>
fieldAppliesUpdateObjs
=
CollectionUtil
.
linkedListObjectArr
();
toMqSqls
.
add
(
SqlMapping
.
get
(
"merchant_field_applies.update"
));
fieldAppliesUpdateObjs
.
add
(
new
Object
[]{
fieldAppliesVo
.
getUpdatedAt
(),
fieldAppliesVo
.
getDeletedAt
(),
fieldAppliesVo
.
getFieldApplyId
()
});
// mq
s
=
System
.
currentTimeMillis
();
queueUtils
.
sendMsgByRedis
(
MQConst
.
MerchantQueue
.
SQL_MERCHANT_FIELD
.
getKey
(),
SqlMapping
.
gets
(
toMqSqls
,
fieldAppliesUpdateObjs
)
);
log
.
debug
(
"#MQ耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
}
@Override
public
MerchantFieldAppliesVo
applyInfo
(
String
uid
,
String
fieldApplyId
)
{
// 查找场地申请,是否存在
List
<
MerchantFieldAppliesVo
>
fieldAppliesVos
=
merchantRdmService
.
getFieldAppliesVosByUid
(
uid
);
if
(
CollectionUtils
.
isEmpty
(
fieldAppliesVos
))
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13104"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
int
idx
=
IntStream
.
range
(
0
,
fieldAppliesVos
.
size
())
.
filter
(
i
->
fieldAppliesVos
.
get
(
i
).
getFieldApplyId
().
equals
(
fieldApplyId
))
.
findFirst
()
.
orElse
(-
1
);
if
(
idx
<
0
)
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13104"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
MerchantFieldAppliesVo
fieldAppliesVo
=
fieldAppliesVos
.
get
(
idx
);
if
(
null
!=
fieldAppliesVo
.
getFieldId
()
&&
!
fieldAppliesVo
.
getFieldId
().
isEmpty
())
{
MerchantFieldsVo
fieldsVo
=
merchantRdmService
.
getFieldsVoByFieldId
(
fieldAppliesVo
.
getFieldId
());
fieldAppliesVo
.
setFieldVo
(
fieldsVo
);
}
return
fieldAppliesVos
.
get
(
idx
);
}
@Override
public
void
editIsCheck
(
String
uid
,
String
fieldId
,
int
isCheck
)
{
// 当前用户是否管理该场地
...
...
liquidnet-bus-service/liquidnet-service-merchant/liquidnet-service-merchant-impl/src/main/java/com/liquidnet/service/merchant/service/impl/MerchantSponsorAppliesServiceImpl.java
0 → 100644
View file @
195dd9ad
package
com
.
liquidnet
.
service
.
merchant
.
service
.
impl
;
import
com.liquidnet.common.exception.LiquidnetServiceException
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.merchant.dto.param.MerchantSponsorApplyParam
;
import
com.liquidnet.service.merchant.dto.vo.MerchantSponsorAppliesVo
;
import
com.liquidnet.service.merchant.service.IMerchantSponsorAppliesService
;
import
com.liquidnet.service.merchant.service.MerchantRdmService
;
import
com.liquidnet.service.merchant.util.QueueUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Update
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.time.LocalDateTime
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.stream.IntStream
;
@Slf4j
@Service
public
class
MerchantSponsorAppliesServiceImpl
implements
IMerchantSponsorAppliesService
{
@Autowired
MerchantRdmService
merchantRdmService
;
@Autowired
MongoTemplate
mongoTemplate
;
@Autowired
QueueUtil
queueUtils
;
@Override
public
String
apply
(
String
uid
,
MerchantSponsorApplyParam
parameter
)
{
LinkedList
<
String
>
toMqSqls
=
CollectionUtil
.
linkedListString
();
LinkedList
<
Object
[]>
sponsorApplyInsertObjs
=
CollectionUtil
.
linkedListObjectArr
();
// 申请主办 vos 上限
List
<
MerchantSponsorAppliesVo
>
sponsorAppliesVos
=
merchantRdmService
.
getSponsorAppliesVosByUid
(
uid
);
if
(!
CollectionUtils
.
isEmpty
(
sponsorAppliesVos
))
{
if
(
sponsorAppliesVos
.
size
()
>=
10
)
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13201"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
}
LocalDateTime
now
=
LocalDateTime
.
now
();
// 申请主办 vo
MerchantSponsorAppliesVo
sponsorAppliesVo
=
MerchantSponsorAppliesVo
.
getNew
();
BeanUtils
.
copyProperties
(
parameter
,
sponsorAppliesVo
);
sponsorAppliesVo
.
setSponsorApplyId
(
IDGenerator
.
nextSnowId
());
sponsorAppliesVo
.
setApplyStatus
(
0
);
sponsorAppliesVo
.
setApplyType
(
"create"
);
sponsorAppliesVo
.
setReject
(
""
);
sponsorAppliesVo
.
setUid
(
uid
);
sponsorAppliesVo
.
setCreatedAt
(
now
);
if
(
parameter
.
getSkipCompany
()
>
0
)
{
sponsorAppliesVo
.
setCompanyName
(
""
);
sponsorAppliesVo
.
setLicenseCode
(
""
);
sponsorAppliesVo
.
setLicenseImg
(
""
);
sponsorAppliesVo
.
setLegalName
(
""
);
sponsorAppliesVo
.
setLegalIdentity
(
""
);
sponsorAppliesVo
.
setLegalIdentityObverse
(
""
);
sponsorAppliesVo
.
setLegalIdentityReverse
(
""
);
}
else
{
if
(
sponsorAppliesVo
.
getCompanyName
().
isEmpty
()
||
sponsorAppliesVo
.
getLicenseCode
().
isEmpty
()
||
sponsorAppliesVo
.
getLicenseImg
().
isEmpty
()
||
sponsorAppliesVo
.
getLegalName
().
isEmpty
()
||
sponsorAppliesVo
.
getLegalIdentity
().
isEmpty
()
||
sponsorAppliesVo
.
getLegalIdentityObverse
().
isEmpty
()
||
sponsorAppliesVo
.
getLegalIdentityReverse
().
isEmpty
())
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13202"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
// 身份证检查
// String respStr = IdentityUtils.aliThird(sponsorAppliesVo.getLegalName(), sponsorAppliesVo.getLegalIdentity());;
// JsonNode respJNode = JsonUtils.fromJson(respStr, JsonNode.class);
// if (null == respJNode || !"0".equals(respJNode.get("error_code").asText())) {
// log.info("###法人实名认证失败[{}]", respStr);
// ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("13001");
// throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
// }
}
// 身份证检查
// String respStr = IdentityUtils.aliThird(sponsorAppliesVo.getContactName(), sponsorAppliesVo.getContactIdentity());;
// JsonNode respJNode = JsonUtils.fromJson(respStr, JsonNode.class);
// if (null == respJNode || !"0".equals(respJNode.get("error_code").asText())) {
// log.info("###联系人实名认证失败[{}]", respStr);
// ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("13002");
// throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
// }
// 申请主办 redis
long
s
=
System
.
currentTimeMillis
();
merchantRdmService
.
addSponsorAppliesVoByUid
(
uid
,
sponsorAppliesVos
,
sponsorAppliesVo
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
// 申请主办 mongo
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
sponsorAppliesVo
,
MerchantSponsorAppliesVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MONGO耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
// 申请主办 sql
toMqSqls
.
add
(
SqlMapping
.
get
(
"merchant_sponsor_applies.insert"
));
sponsorApplyInsertObjs
.
add
(
new
Object
[]{
sponsorAppliesVo
.
getSponsorApplyId
(),
sponsorAppliesVo
.
getApplyStatus
(),
sponsorAppliesVo
.
getApplyType
(),
sponsorAppliesVo
.
getReject
(),
sponsorAppliesVo
.
getUid
(),
sponsorAppliesVo
.
getName
(),
sponsorAppliesVo
.
getLogo
(),
sponsorAppliesVo
.
getBackground
(),
sponsorAppliesVo
.
getDescription
(),
sponsorAppliesVo
.
getContactName
(),
sponsorAppliesVo
.
getContactIdentity
(),
sponsorAppliesVo
.
getContactIdentityObverse
(),
sponsorAppliesVo
.
getContactIdentityReverse
(),
sponsorAppliesVo
.
getContactEmail
(),
sponsorAppliesVo
.
getCompanyName
(),
sponsorAppliesVo
.
getLicenseCode
(),
sponsorAppliesVo
.
getLicenseImg
(),
sponsorAppliesVo
.
getLegalName
(),
sponsorAppliesVo
.
getLegalIdentity
(),
sponsorAppliesVo
.
getLegalIdentityObverse
(),
sponsorAppliesVo
.
getLegalIdentityReverse
(),
sponsorAppliesVo
.
getCreatedAt
()
});
// mq
s
=
System
.
currentTimeMillis
();
queueUtils
.
sendMsgByRedis
(
MQConst
.
MerchantQueue
.
SQL_MERCHANT_SPONSOR
.
getKey
(),
SqlMapping
.
gets
(
toMqSqls
,
sponsorApplyInsertObjs
)
);
log
.
debug
(
"#MQ耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
sponsorAppliesVo
.
getSponsorApplyId
();
}
@Override
public
void
applyDel
(
String
uid
,
String
sponsorApplyId
)
{
// 查找主办申请,是否存在且已经驳回
List
<
MerchantSponsorAppliesVo
>
sponsorAppliesVos
=
merchantRdmService
.
getSponsorAppliesVosByUid
(
uid
);
if
(
CollectionUtils
.
isEmpty
(
sponsorAppliesVos
))
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13203"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
int
idx
=
IntStream
.
range
(
0
,
sponsorAppliesVos
.
size
())
.
filter
(
i
->
sponsorAppliesVos
.
get
(
i
).
getSponsorApplyId
().
equals
(
sponsorApplyId
))
.
findFirst
()
.
orElse
(-
1
);
if
(
idx
<
0
)
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13203"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
MerchantSponsorAppliesVo
sponsorAppliesVo
=
sponsorAppliesVos
.
get
(
idx
);
if
(
sponsorAppliesVo
.
getApplyStatus
()
!=
2
)
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13204"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
LocalDateTime
now
=
LocalDateTime
.
now
();
sponsorAppliesVo
.
setUpdatedAt
(
now
);
sponsorAppliesVo
.
setDeletedAt
(
now
);
// 主办申请 redis
long
s
=
System
.
currentTimeMillis
();
merchantRdmService
.
delSponsorAppliesVoByUid
(
uid
,
sponsorAppliesVos
,
sponsorAppliesVo
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
// 主办申请 mongo
s
=
System
.
currentTimeMillis
();
Query
query
=
Query
.
query
(
Criteria
.
where
(
"sponsorApplyId"
).
is
(
sponsorAppliesVo
.
getSponsorApplyId
()));
Update
update
=
Update
.
update
(
"updatedAt"
,
sponsorAppliesVo
.
getUpdatedAt
()).
set
(
"deletedAt"
,
sponsorAppliesVo
.
getDeletedAt
());
mongoTemplate
.
updateFirst
(
query
,
update
,
MerchantSponsorAppliesVo
.
class
,
MerchantSponsorAppliesVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MONGO耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
// 主办申请 sql
LinkedList
<
String
>
toMqSqls
=
CollectionUtil
.
linkedListString
();
LinkedList
<
Object
[]>
sponsorAppliesUpdateObjs
=
CollectionUtil
.
linkedListObjectArr
();
toMqSqls
.
add
(
SqlMapping
.
get
(
"merchant_sponsor_applies.update"
));
sponsorAppliesUpdateObjs
.
add
(
new
Object
[]{
sponsorAppliesVo
.
getUpdatedAt
(),
sponsorAppliesVo
.
getDeletedAt
(),
sponsorAppliesVo
.
getSponsorApplyId
()
});
// mq
s
=
System
.
currentTimeMillis
();
queueUtils
.
sendMsgByRedis
(
MQConst
.
MerchantQueue
.
SQL_MERCHANT_SPONSOR
.
getKey
(),
SqlMapping
.
gets
(
toMqSqls
,
sponsorAppliesUpdateObjs
)
);
log
.
debug
(
"#MQ耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
}
@Override
public
MerchantSponsorAppliesVo
applyInfo
(
String
uid
,
String
sponsorApplyId
)
{
// 查找主办申请,是否存在
List
<
MerchantSponsorAppliesVo
>
sponsorAppliesVos
=
merchantRdmService
.
getSponsorAppliesVosByUid
(
uid
);
if
(
CollectionUtils
.
isEmpty
(
sponsorAppliesVos
))
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13203"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
int
idx
=
IntStream
.
range
(
0
,
sponsorAppliesVos
.
size
())
.
filter
(
i
->
sponsorAppliesVos
.
get
(
i
).
getSponsorApplyId
().
equals
(
sponsorApplyId
))
.
findFirst
()
.
orElse
(-
1
);
if
(
idx
<
0
)
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13203"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
return
sponsorAppliesVos
.
get
(
idx
);
}
}
liquidnet-bus-service/liquidnet-service-merchant/liquidnet-service-merchant-impl/src/main/java/com/liquidnet/service/merchant/service/impl/MerchantSponsorsServiceImpl.java
View file @
195dd9ad
package
com
.
liquidnet
.
service
.
merchant
.
service
.
impl
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.liquidnet.common.exception.LiquidnetServiceException
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.commons.lang.util.IdentityUtils
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.PagedResult
;
import
com.liquidnet.service.base.SqlMapping
;
import
com.liquidnet.service.base.constant.MQConst
;
import
com.liquidnet.service.merchant.dto.param.MerchantSponsorApplyParam
;
import
com.liquidnet.service.merchant.dto.vo.MerchantSponsorAppliesVo
;
import
com.liquidnet.service.merchant.dto.vo.MerchantSponsorsVo
;
import
com.liquidnet.service.merchant.service.IMerchantSponsorsService
;
import
com.liquidnet.service.merchant.service.MerchantRdmService
;
import
com.liquidnet.service.merchant.util.ObjectUtil
;
import
com.liquidnet.service.merchant.util.QueueUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.PageRequest
;
import
org.springframework.data.domain.Pageable
;
...
...
@@ -26,28 +12,17 @@ import org.springframework.data.domain.Sort;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Query
;
import
org.springframework.data.mongodb.core.query.Update
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
java.time.LocalDateTime
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.regex.Pattern
;
import
java.util.stream.IntStream
;
@Slf4j
@Service
public
class
MerchantSponsorsServiceImpl
implements
IMerchantSponsorsService
{
@Autowired
MerchantRdmService
merchantRdmService
;
@Autowired
MongoTemplate
mongoTemplate
;
@Autowired
QueueUtil
queueUtils
;
@Override
public
PagedResult
<
MerchantSponsorsVo
>
search
(
String
name
,
int
page
,
int
size
)
{
// 查询条件
...
...
@@ -76,173 +51,5 @@ public class MerchantSponsorsServiceImpl implements IMerchantSponsorsService {
return
pagedResult
;
}
@Override
public
String
apply
(
String
uid
,
MerchantSponsorApplyParam
parameter
)
{
LinkedList
<
String
>
toMqSqls
=
CollectionUtil
.
linkedListString
();
LinkedList
<
Object
[]>
sponsorApplyInsertObjs
=
CollectionUtil
.
linkedListObjectArr
();
// 申请主办 vos 上限
List
<
MerchantSponsorAppliesVo
>
sponsorAppliesVos
=
merchantRdmService
.
getSponsorAppliesVosByUid
(
uid
);
if
(!
CollectionUtils
.
isEmpty
(
sponsorAppliesVos
))
{
if
(
sponsorAppliesVos
.
size
()
>=
10
)
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13201"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
}
LocalDateTime
now
=
LocalDateTime
.
now
();
// 申请主办 vo
MerchantSponsorAppliesVo
sponsorAppliesVo
=
MerchantSponsorAppliesVo
.
getNew
();
BeanUtils
.
copyProperties
(
parameter
,
sponsorAppliesVo
);
sponsorAppliesVo
.
setSponsorApplyId
(
IDGenerator
.
nextSnowId
());
sponsorAppliesVo
.
setApplyStatus
(
0
);
sponsorAppliesVo
.
setApplyType
(
"create"
);
sponsorAppliesVo
.
setReject
(
""
);
sponsorAppliesVo
.
setUid
(
uid
);
sponsorAppliesVo
.
setCreatedAt
(
now
);
if
(
parameter
.
getSkipCompany
()
>
0
)
{
sponsorAppliesVo
.
setCompanyName
(
""
);
sponsorAppliesVo
.
setLicenseCode
(
""
);
sponsorAppliesVo
.
setLicenseImg
(
""
);
sponsorAppliesVo
.
setLegalName
(
""
);
sponsorAppliesVo
.
setLegalIdentity
(
""
);
sponsorAppliesVo
.
setLegalIdentityObverse
(
""
);
sponsorAppliesVo
.
setLegalIdentityReverse
(
""
);
}
else
{
if
(
sponsorAppliesVo
.
getCompanyName
().
isEmpty
()
||
sponsorAppliesVo
.
getLicenseCode
().
isEmpty
()
||
sponsorAppliesVo
.
getLicenseImg
().
isEmpty
()
||
sponsorAppliesVo
.
getLegalName
().
isEmpty
()
||
sponsorAppliesVo
.
getLegalIdentity
().
isEmpty
()
||
sponsorAppliesVo
.
getLegalIdentityObverse
().
isEmpty
()
||
sponsorAppliesVo
.
getLegalIdentityReverse
().
isEmpty
())
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13202"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
// 身份证检查
// String respStr = IdentityUtils.aliThird(sponsorAppliesVo.getLegalName(), sponsorAppliesVo.getLegalIdentity());;
// JsonNode respJNode = JsonUtils.fromJson(respStr, JsonNode.class);
// if (null == respJNode || !"0".equals(respJNode.get("error_code").asText())) {
// log.info("###法人实名认证失败[{}]", respStr);
// ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("13001");
// throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
// }
}
// 身份证检查
// String respStr = IdentityUtils.aliThird(sponsorAppliesVo.getContactName(), sponsorAppliesVo.getContactIdentity());;
// JsonNode respJNode = JsonUtils.fromJson(respStr, JsonNode.class);
// if (null == respJNode || !"0".equals(respJNode.get("error_code").asText())) {
// log.info("###联系人实名认证失败[{}]", respStr);
// ErrorMapping.ErrorMessage errorMessage = ErrorMapping.get("13002");
// throw new LiquidnetServiceException(errorMessage.getCode(), errorMessage.getMessage());
// }
// 申请主办 redis
long
s
=
System
.
currentTimeMillis
();
merchantRdmService
.
addSponsorAppliesVoByUid
(
uid
,
sponsorAppliesVos
,
sponsorAppliesVo
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
// 申请主办 mongo
s
=
System
.
currentTimeMillis
();
mongoTemplate
.
insert
(
sponsorAppliesVo
,
MerchantSponsorAppliesVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MONGO耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
// 申请主办 sql
toMqSqls
.
add
(
SqlMapping
.
get
(
"merchant_sponsor_applies.insert"
));
sponsorApplyInsertObjs
.
add
(
new
Object
[]{
sponsorAppliesVo
.
getSponsorApplyId
(),
sponsorAppliesVo
.
getApplyStatus
(),
sponsorAppliesVo
.
getApplyType
(),
sponsorAppliesVo
.
getReject
(),
sponsorAppliesVo
.
getUid
(),
sponsorAppliesVo
.
getName
(),
sponsorAppliesVo
.
getLogo
(),
sponsorAppliesVo
.
getBackground
(),
sponsorAppliesVo
.
getDescription
(),
sponsorAppliesVo
.
getContactName
(),
sponsorAppliesVo
.
getContactIdentity
(),
sponsorAppliesVo
.
getContactIdentityObverse
(),
sponsorAppliesVo
.
getContactIdentityReverse
(),
sponsorAppliesVo
.
getContactEmail
(),
sponsorAppliesVo
.
getCompanyName
(),
sponsorAppliesVo
.
getLicenseCode
(),
sponsorAppliesVo
.
getLicenseImg
(),
sponsorAppliesVo
.
getLegalName
(),
sponsorAppliesVo
.
getLegalIdentity
(),
sponsorAppliesVo
.
getLegalIdentityObverse
(),
sponsorAppliesVo
.
getLegalIdentityReverse
(),
sponsorAppliesVo
.
getCreatedAt
()
});
// mq
s
=
System
.
currentTimeMillis
();
queueUtils
.
sendMsgByRedis
(
MQConst
.
MerchantQueue
.
SQL_MERCHANT_SPONSOR
.
getKey
(),
SqlMapping
.
gets
(
toMqSqls
,
sponsorApplyInsertObjs
)
);
log
.
debug
(
"#MQ耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
return
sponsorAppliesVo
.
getSponsorApplyId
();
}
@Override
public
void
applyDel
(
String
uid
,
String
sponsorApplyId
)
{
// 查找主办申请,是否存在且已经驳回
List
<
MerchantSponsorAppliesVo
>
sponsorAppliesVos
=
merchantRdmService
.
getSponsorAppliesVosByUid
(
uid
);
if
(
CollectionUtils
.
isEmpty
(
sponsorAppliesVos
))
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13203"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
int
idx
=
IntStream
.
range
(
0
,
sponsorAppliesVos
.
size
())
.
filter
(
i
->
sponsorAppliesVos
.
get
(
i
).
getSponsorApplyId
().
equals
(
sponsorApplyId
))
.
findFirst
()
.
orElse
(-
1
);
if
(
idx
<
0
)
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13203"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
MerchantSponsorAppliesVo
sponsorAppliesVo
=
sponsorAppliesVos
.
get
(
idx
);
if
(
sponsorAppliesVo
.
getApplyStatus
()
!=
2
)
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13204"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
LocalDateTime
now
=
LocalDateTime
.
now
();
sponsorAppliesVo
.
setUpdatedAt
(
now
);
sponsorAppliesVo
.
setDeletedAt
(
now
);
// 主办申请 redis
long
s
=
System
.
currentTimeMillis
();
merchantRdmService
.
delSponsorAppliesVoByUid
(
uid
,
sponsorAppliesVos
,
sponsorAppliesVo
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
// 主办申请 mongo
s
=
System
.
currentTimeMillis
();
Query
query
=
Query
.
query
(
Criteria
.
where
(
"sponsorApplyId"
).
is
(
sponsorAppliesVo
.
getSponsorApplyId
()));
Update
update
=
Update
.
update
(
"updatedAt"
,
sponsorAppliesVo
.
getUpdatedAt
()).
set
(
"deletedAt"
,
sponsorAppliesVo
.
getDeletedAt
());
mongoTemplate
.
updateFirst
(
query
,
update
,
MerchantSponsorAppliesVo
.
class
,
MerchantSponsorAppliesVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MONGO耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
// 主办申请 sql
LinkedList
<
String
>
toMqSqls
=
CollectionUtil
.
linkedListString
();
LinkedList
<
Object
[]>
sponsorAppliesUpdateObjs
=
CollectionUtil
.
linkedListObjectArr
();
toMqSqls
.
add
(
SqlMapping
.
get
(
"merchant_sponsor_applies.update"
));
sponsorAppliesUpdateObjs
.
add
(
new
Object
[]{
sponsorAppliesVo
.
getUpdatedAt
(),
sponsorAppliesVo
.
getDeletedAt
(),
sponsorAppliesVo
.
getSponsorApplyId
()
});
// mq
s
=
System
.
currentTimeMillis
();
queueUtils
.
sendMsgByRedis
(
MQConst
.
MerchantQueue
.
SQL_MERCHANT_SPONSOR
.
getKey
(),
SqlMapping
.
gets
(
toMqSqls
,
sponsorAppliesUpdateObjs
)
);
log
.
debug
(
"#MQ耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
}
@Override
public
MerchantSponsorAppliesVo
applyInfo
(
String
uid
,
String
sponsorApplyId
)
{
// 查找主办申请,是否存在
List
<
MerchantSponsorAppliesVo
>
sponsorAppliesVos
=
merchantRdmService
.
getSponsorAppliesVosByUid
(
uid
);
if
(
CollectionUtils
.
isEmpty
(
sponsorAppliesVos
))
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13203"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
int
idx
=
IntStream
.
range
(
0
,
sponsorAppliesVos
.
size
())
.
filter
(
i
->
sponsorAppliesVos
.
get
(
i
).
getSponsorApplyId
().
equals
(
sponsorApplyId
))
.
findFirst
()
.
orElse
(-
1
);
if
(
idx
<
0
)
{
ErrorMapping
.
ErrorMessage
errorMessage
=
ErrorMapping
.
get
(
"13203"
);
throw
new
LiquidnetServiceException
(
errorMessage
.
getCode
(),
errorMessage
.
getMessage
());
}
return
sponsorAppliesVos
.
get
(
idx
);
}
}
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