记得上下班打卡 | 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
9265f499
Commit
9265f499
authored
Jun 21, 2021
by
jiangxiulong
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into test
parents
9df419fc
72a0c905
Changes
37
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
37 changed files
with
662 additions
and
302 deletions
+662
-302
AdamRedisConst.java
...a/com/liquidnet/service/adam/constant/AdamRedisConst.java
+5
-5
AdamMemberCodeVo.java
...a/com/liquidnet/service/adam/dto/vo/AdamMemberCodeVo.java
+1
-0
AdamMemberOrderVo.java
.../com/liquidnet/service/adam/dto/vo/AdamMemberOrderVo.java
+3
-0
AdamMemberPriceVo.java
.../com/liquidnet/service/adam/dto/vo/AdamMemberPriceVo.java
+1
-0
AdamUserInfoVo.java
...ava/com/liquidnet/service/adam/dto/vo/AdamUserInfoVo.java
+1
-1
IAdamRdmService.java
...a/com/liquidnet/service/adam/service/IAdamRdmService.java
+8
-0
IAdamMemberAdminService.java
...t/service/adam/service/admin/IAdamMemberAdminService.java
+3
-0
IAdamMemberPriceAdminService.java
...vice/adam/service/admin/IAdamMemberPriceAdminService.java
+1
-1
IKylinOrderTicketsService.java
...dnet/service/kylin/service/IKylinOrderTicketsService.java
+1
-1
create.html
...in/resources/templates/zhengzai/kylin/banners/create.html
+6
-3
SqlMapping.java
.../src/main/java/com/liquidnet/service/base/SqlMapping.java
+18
-0
db_ln_adam_initialdata.sql
...quidnet-service-adam-impl/docu/db_ln_adam_initialdata.sql
+11
-10
AdamLoginController.java
...iquidnet/service/adam/controller/AdamLoginController.java
+35
-20
AdamMemberOrderController.java
...et/service/adam/controller/AdamMemberOrderController.java
+30
-10
AdamUserController.java
...liquidnet/service/adam/controller/AdamUserController.java
+26
-25
AdamBaseController.java
...net/service/adam/controller/admin/AdamBaseController.java
+41
-0
AdamDMAdminController.java
.../service/adam/controller/admin/AdamDMAdminController.java
+17
-27
AdamMemberAdminController.java
...vice/adam/controller/admin/AdamMemberAdminController.java
+85
-7
AdamMemberPriceAdminController.java
...adam/controller/admin/AdamMemberPriceAdminController.java
+17
-14
AdamRdmServiceImpl.java
...quidnet/service/adam/service/impl/AdamRdmServiceImpl.java
+20
-0
AdamUserInfoServiceImpl.java
...et/service/adam/service/impl/AdamUserInfoServiceImpl.java
+36
-28
AdamUserServiceImpl.java
...uidnet/service/adam/service/impl/AdamUserServiceImpl.java
+8
-2
AdamMemberCodeAdminServiceImpl.java
...am/service/impl/admin/AdamMemberCodeAdminServiceImpl.java
+23
-3
AdamMemberPriceAdminServiceImpl.java
...m/service/impl/admin/AdamMemberPriceAdminServiceImpl.java
+31
-23
AdamMemberServiceAdminImpl.java
...e/adam/service/impl/admin/AdamMemberServiceAdminImpl.java
+20
-1
errors.properties
...et-service-adam-impl/src/main/resources/errors.properties
+9
-8
sqlmap.properties
...et-service-adam-impl/src/main/resources/sqlmap.properties
+4
-3
pom.xml
liquidnet-bus-service/liquidnet-service-consumer/pom.xml
+5
-0
ServiceConsumerApplication.java
...ava/com/liquidnet/service/ServiceConsumerApplication.java
+1
-1
IBaseDao.java
...java/com/liquidnet/service/consumer/service/IBaseDao.java
+8
-0
BaseDao.java
.../com/liquidnet/service/consumer/service/impl/BaseDao.java
+21
-1
ConsumerProcessor.java
...service/consumer/service/processor/ConsumerProcessor.java
+65
-11
KylinOrderTicketsController.java
...service/kylin/controller/KylinOrderTicketsController.java
+2
-3
KylinOrderTicketsServiceImpl.java
...vice/kylin/service/impl/KylinOrderTicketsServiceImpl.java
+56
-86
KylinTicketTimesPartnerServiceImpl.java
...vice/impl/partner/KylinTicketTimesPartnerServiceImpl.java
+1
-1
KylinTicketsPartnerServiceImpl.java
.../service/impl/partner/KylinTicketsPartnerServiceImpl.java
+11
-2
OrderUtils.java
...in/java/com/liquidnet/service/kylin/utils/OrderUtils.java
+31
-5
No files found.
liquidnet-bus-
service/liquidnet-service-adam/liquidnet-service-adam-impl
/src/main/java/com/liquidnet/service/adam/constant/AdamRedisConst.java
→
liquidnet-bus-
api/liquidnet-service-adam-api
/src/main/java/com/liquidnet/service/adam/constant/AdamRedisConst.java
View file @
9265f499
package
com
.
liquidnet
.
service
.
adam
.
constant
;
/**
* @author Li Chen
* @date 2020-11-04 14:02
*/
public
class
AdamRedisConst
{
public
static
final
String
ADAM
=
"adam:"
;
...
...
@@ -26,7 +23,9 @@ public class AdamRedisConst {
public
static
final
String
INFO_MEMBER_RIGHTS
=
INFO
.
concat
(
"member:rights:"
);
public
static
final
String
INFO_MEMBER_AGREEMENT
=
INFO
.
concat
(
"member:agreement"
);
public
static
final
String
INFO_MEMBER_CODE
=
INFO
.
concat
(
"member:code:"
);
public
static
final
String
INFO_MEMBER_BLACK
=
INFO
.
concat
(
"member:black:"
);
public
static
final
String
BLACK_LIST
=
ADAM
.
concat
(
":blacklist:"
);
public
static
final
String
BLK_LIST_MEMBER_UID
=
BLACK_LIST
.
concat
(
"member:uid"
);
public
static
final
String
SHOT_MEMBER_ORDER
=
ADAM
.
concat
(
"morder:"
);
...
...
@@ -42,6 +41,7 @@ public class AdamRedisConst {
public
static
final
String
LOCK_KEY_UMEMBER_NO
=
"adam:lk:member:no"
;
// // // // // // // // // //
public
static
final
String
LOCK_KEY_USMS_MOBILE
=
"adam:lk:sms:mobile:"
;
public
static
final
String
LOCK_KEY_UREGISTER
=
"adam:lk:register:"
;
public
static
final
String
LOCK_KEY_UIDENTITY
=
"adam:lk:identity:"
;
public
static
final
String
LOCK_KEY_UMEMBER_CODE
=
"adam:lk:member:code:"
;
...
...
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamMemberCodeVo.java
View file @
9265f499
...
...
@@ -56,6 +56,7 @@ public class AdamMemberCodeVo implements Serializable, Cloneable {
}
public
AdamMemberCodeVo
copy
(
AdamMemberCode
source
)
{
if
(
null
==
source
)
return
this
;
this
.
setCode
(
source
.
getCode
());
this
.
setMemberId
(
source
.
getMemberId
());
this
.
setMemberPriceId
(
source
.
getMemberPriceId
());
...
...
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamMemberOrderVo.java
View file @
9265f499
...
...
@@ -63,6 +63,9 @@ public class AdamMemberOrderVo implements Serializable, Cloneable {
@ApiModelProperty
(
position
=
21
,
value
=
"兑换码"
)
private
String
memberCode
;
@ApiModelProperty
(
position
=
22
,
value
=
"会员须知"
)
private
String
memberNotes
;
public
static
final
AdamMemberOrderVo
obj
=
new
AdamMemberOrderVo
();
public
static
AdamMemberOrderVo
getNew
()
{
...
...
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamMemberPriceVo.java
View file @
9265f499
...
...
@@ -48,6 +48,7 @@ public class AdamMemberPriceVo implements Serializable {
}
public
AdamMemberPriceVo
copy
(
AdamMemberPrice
source
)
{
if
(
null
==
source
)
return
this
;
this
.
setMemberPriceId
(
source
.
getMemberPriceId
());
this
.
setMemberId
(
source
.
getMemberId
());
this
.
setState
(
source
.
getState
());
...
...
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamUserInfoVo.java
View file @
9265f499
...
...
@@ -45,7 +45,7 @@ public class AdamUserInfoVo implements java.io.Serializable, Cloneable {
@ApiModelProperty
(
position
=
23
,
value
=
"注销时间"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
private
LocalDateTime
closedAt
;
@ApiModelProperty
(
position
=
24
,
value
=
"
是否完善信息
[0-未完善,1-已完善]"
)
@ApiModelProperty
(
position
=
24
,
value
=
"
完善信息进度
[0-未完善,1-已完善]"
)
private
Integer
isComplete
;
@ApiModelProperty
(
position
=
25
,
value
=
""
)
private
String
rongCloudToken
;
...
...
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/service/IAdamRdmService.java
View file @
9265f499
...
...
@@ -56,6 +56,10 @@ public interface IAdamRdmService {
void
delAddressesVoByUid
(
String
uid
);
boolean
setBlacklistForMember
(
List
<
String
>
uids
);
List
<
String
>
getBlacklistForMember
();
boolean
setUserMemberVoByUid
(
String
uid
,
AdamUserMemberVo
vo
);
AdamUserMemberVo
getUserMemberVoByUid
(
String
uid
);
...
...
@@ -64,8 +68,12 @@ public interface IAdamRdmService {
AdamMemberSimpleVo
getMemberSimpleVo
();
boolean
setMemberVoByMemberId
(
String
memberId
,
AdamMemberVo
vo
);
AdamMemberVo
getMemberVoByMemberId
(
String
memberId
);
void
delMemberVoByMemberId
(
String
memberId
);
boolean
setMemberPriceVoByMemberId
(
String
memberId
,
List
<
AdamMemberPriceVo
>
vos
);
List
<
AdamMemberPriceVo
>
getMemberPriceVoByMemberId
(
String
memberId
);
...
...
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/service/admin/IAdamMemberAdminService.java
View file @
9265f499
...
...
@@ -4,10 +4,13 @@ import com.baomidou.mybatisplus.extension.service.IService;
import
com.liquidnet.service.adam.dto.AdamMemberParam
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberVo
;
import
com.liquidnet.service.adam.entity.AdamMember
;
import
com.liquidnet.service.base.ResponseDto
;
/**
* 会员信息
*/
public
interface
IAdamMemberAdminService
extends
IService
<
AdamMember
>
{
AdamMemberVo
add
(
AdamMemberParam
info
);
ResponseDto
<
Object
>
sync
();
}
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/service/admin/IAdamMemberPriceAdminService.java
View file @
9265f499
...
...
@@ -8,5 +8,5 @@ import com.liquidnet.service.adam.entity.AdamMemberPrice;
public
interface
IAdamMemberPriceAdminService
extends
IService
<
AdamMemberPrice
>
{
AdamMemberPriceVo
add
(
AdamMemberPrice
info
);
AdamMemberPriceVo
edit
(
AdamMemberPriceParam
param
);
boolean
edit
(
AdamMemberPriceParam
param
);
}
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/service/IKylinOrderTicketsService.java
View file @
9265f499
...
...
@@ -35,7 +35,7 @@ public interface IKylinOrderTicketsService extends IService<KylinOrderTickets> {
// 同步大麦数据接口
//订单列表(状态 待支付 已支付 倒计时 已失效)
PageInfo
<
List
<
KylinOrderListVo
>>
orderList
(
int
page
,
int
size
);
PageInfo
<
List
<
KylinOrderListVo
>>
orderList
();
//订单详情
OrderDetailsVo
orderDetails
(
String
orderId
);
...
...
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/kylin/banners/create.html
View file @
9265f499
...
...
@@ -104,7 +104,7 @@
<div
class=
"form-group"
>
<label
class=
"font-noraml"
>
请上传封面图
</label>
<div
class=
"file-loading"
>
<input
id=
"fileinput-demo-1"
type=
"file"
name=
"coverImgFile"
>
<input
id=
"fileinput-demo-1"
type=
"file"
name=
"coverImgFile"
data-browse-on-zone-click=
"true"
data-msg-placeholder=
"Select {files} for upload..."
>
</div>
</div>
<input
hidden
id=
"coverImg"
name=
"coverImg"
>
...
...
@@ -356,8 +356,11 @@
$
(
"#fileinput-demo-1"
).
fileinput
({
'theme'
:
'explorer-fas'
,
'uploadUrl'
:
"/kylin/banners/upload3"
,
overwriteInitial
:
false
,
initialPreviewAsData
:
true
,
// overwriteInitial: false,
// initialPreviewAsData: true,
autoReplace
:
true
,
dropZoneTitle
:
"请上传文件"
,
maxFileCount
:
1
});
$
(
"#fileinput-demo-1"
).
on
(
"fileuploaded"
,
function
(
event
,
data
,
previewId
,
index
)
{
$
(
"#coverImg"
).
val
(
data
.
response
.
uploadpath
)
...
...
liquidnet-bus-common/liquidnet-common-service-base/src/main/java/com/liquidnet/service/base/SqlMapping.java
View file @
9265f499
...
...
@@ -6,8 +6,11 @@ import java.io.IOException;
import
java.io.InputStream
;
import
java.io.InputStreamReader
;
import
java.io.Serializable
;
import
java.lang.reflect.Array
;
import
java.nio.charset.StandardCharsets
;
import
java.util.ArrayList
;
import
java.util.LinkedList
;
import
java.util.List
;
import
java.util.Properties
;
public
class
SqlMapping
{
...
...
@@ -35,6 +38,7 @@ public class SqlMapping {
private
static
final
long
serialVersionUID
=
2208924091512163151L
;
private
LinkedList
<
String
>
sqls
;
private
LinkedList
<
Object
[]>[]
args
;
private
String
redisKey
;
private
SqlMessage
()
{
}
...
...
@@ -61,6 +65,14 @@ public class SqlMapping {
this
.
args
=
args
;
}
public
String
getRedisKey
()
{
return
redisKey
;
}
public
void
setRedisKey
(
String
redisKey
)
{
this
.
redisKey
=
redisKey
;
}
private
final
static
SqlMapping
.
SqlMessage
instance
=
new
SqlMapping
.
SqlMessage
();
public
static
SqlMapping
.
SqlMessage
getInstance
()
{
...
...
@@ -106,4 +118,10 @@ public class SqlMapping {
sqlMessage
.
setArgs
(
paramsList
);
return
JsonUtils
.
toJson
(
sqlMessage
);
}
public
static
String
getSqlRedis
(
String
redisKey
)
{
SqlMapping
.
SqlMessage
sqlMessage
=
SqlMapping
.
SqlMessage
.
getInstance
();
sqlMessage
.
setRedisKey
(
redisKey
);
return
JsonUtils
.
toJson
(
sqlMessage
);
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/docu/db_ln_adam_initialdata.sql
View file @
9265f499
...
...
@@ -57,7 +57,8 @@ create table adam_user
mobile
varchar
(
30
)
not
null
,
passwd
varchar
(
64
),
pay_code
varchar
(
64
),
state
tinyint
comment
'1-NORMAL,2-INVALID'
,
state
tinyint
default
0
comment
'1-NORMAL,2-INVALID'
,
is_complete
tinyint
default
0
comment
'完善信息进度:0-未完善,1-已完善'
,
created_at
datetime
(
3
)
not
null
,
updated_at
datetime
(
3
),
closed_at
datetime
(
3
),
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamLoginController.java
View file @
9265f499
...
...
@@ -4,9 +4,11 @@ import com.aliyuncs.DefaultAcsClient;
import
com.aliyuncs.dypnsapi.model.v20170525.GetMobileRequest
;
import
com.aliyuncs.dypnsapi.model.v20170525.GetMobileResponse
;
import
com.aliyuncs.exceptions.ClientException
;
import
com.fasterxml.jackson.databind.JsonNode
;
import
com.github.xiaoymin.knife4j.annotations.ApiOperationSupport
;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.cache.redisson.util.RedisLockUtil
;
import
com.liquidnet.commons.lang.core.JwtValidator
;
import
com.liquidnet.commons.lang.util.*
;
import
com.liquidnet.service.adam.dto.AdamThirdPartParam
;
...
...
@@ -28,6 +30,7 @@ import org.springframework.util.DigestUtils;
import
org.springframework.util.LinkedMultiValueMap
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.client.HttpClientErrorException
;
import
javax.validation.Valid
;
import
javax.validation.constraints.NotBlank
;
...
...
@@ -38,6 +41,8 @@ import java.util.HashMap;
import
java.util.Map
;
import
java.util.Objects
;
import
static
com
.
liquidnet
.
service
.
adam
.
constant
.
AdamRedisConst
.
LOCK_KEY_USMS_MOBILE
;
@ApiSupport
(
order
=
10010
)
@Api
(
tags
=
"用户登录"
)
@Slf4j
...
...
@@ -93,33 +98,43 @@ public class AdamLoginController {
@GetMapping
(
value
=
{
"send"
})
public
ResponseDto
<
Object
>
sendSms
(
@Pattern
(
regexp
=
"\\d{11}"
,
message
=
"手机号格式有误"
)
@RequestParam
String
mobile
)
{
log
.
debug
(
"send to mobile:{}"
,
mobile
);
long
s
=
System
.
currentTimeMillis
();
if
(
RedisLockUtil
.
tryLock
(
LOCK_KEY_USMS_MOBILE
+
mobile
,
1
,
5
))
{
Map
<
String
,
Object
>
respMap
=
null
;
String
respStr
=
null
;
try
{
LinkedMultiValueMap
<
String
,
String
>
paramsMap
=
new
LinkedMultiValueMap
<>();
paramsMap
.
add
(
"mobile"
,
mobile
);
String
respStr
=
null
;
try
{
long
s
=
System
.
currentTimeMillis
();
respStr
=
HttpUtil
.
postToPhpApi
(
env
.
getProperty
(
"liquidnet.url-service.url"
)
+
PHP_API_SMS_CODE_SEND
,
paramsMap
);
log
.
debug
(
"###PHP.API[{}].RESP[{}]"
,
PHP_API_SMS_CODE_SEND
,
respStr
);
log
.
debug
(
"#PHP.API耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
Map
respMap
=
JsonUtils
.
fromJson
(
respStr
,
Map
.
class
);
respMap
=
JsonUtils
.
fromJson
(
respStr
,
Map
.
class
);
}
catch
(
Exception
e
)
{
RedisLockUtil
.
unlock
(
LOCK_KEY_USMS_MOBILE
+
mobile
);
if
(
e
instanceof
HttpClientErrorException
)
{
log
.
error
(
"PHP.API验证码发送异常[mobile:{},respStr:{},ex:{}]"
,
mobile
,
respStr
,
e
.
getLocalizedMessage
());
HttpClientErrorException
ex
=
(
HttpClientErrorException
)
e
;
JsonNode
exBody
=
JsonUtils
.
fromJson
(
ex
.
getResponseBodyAsString
(),
JsonNode
.
class
);
return
ResponseDto
.
failure
(
"10003"
,
exBody
.
get
(
"message"
).
asText
());
}
log
.
error
(
"PHP.API验证码发送异常[mobile:{},respStr:{}]"
,
mobile
,
respStr
,
e
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10003"
));
}
if
(!
CollectionUtils
.
isEmpty
(
respMap
)
&&
StringUtils
.
equalsIgnoreCase
(
"OK"
,
(
String
)
respMap
.
get
(
"message"
)))
{
return
ResponseDto
.
success
();
}
else
{
RedisLockUtil
.
unlock
(
LOCK_KEY_USMS_MOBILE
+
mobile
);
log
.
warn
(
"PHP.API验证码发送失败[mobile:{},respStr:{}]"
,
mobile
,
respStr
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"1000
1
"
));
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"1000
3
"
));
}
}
catch
(
Exception
e
)
{
log
.
error
(
"PHP.API验证码发送异常[mobile:{},respStr:{}]"
,
mobile
,
respStr
,
e
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10001"
));
}
else
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10000"
));
}
}
@ApiOperationSupport
(
order
=
3
)
@ApiOperation
(
value
=
"手机
号
验证码登录"
)
@ApiOperation
(
value
=
"手机验证码登录"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"body"
,
required
=
true
,
dataType
=
"String"
,
name
=
"mobile"
,
value
=
"手机号"
),
@ApiImplicitParam
(
type
=
"body"
,
required
=
true
,
dataType
=
"String"
,
name
=
"code"
,
value
=
"验证码"
),
...
...
@@ -130,7 +145,7 @@ public class AdamLoginController {
@Pattern
(
regexp
=
"\\d{6}"
,
message
=
"验证码格式有误"
)
@RequestParam
String
code
)
{
log
.
debug
(
"mobile:{},code:{}"
,
mobile
,
code
);
if
(!
this
.
checkSmsCode
(
mobile
,
code
))
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"1000
2
"
));
if
(!
this
.
checkSmsCode
(
mobile
,
code
))
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"1000
4
"
));
String
uid
=
adamRdmService
.
getUidByMobile
(
mobile
);
boolean
toRegister
=
StringUtils
.
isEmpty
(
uid
);
...
...
@@ -217,7 +232,7 @@ public class AdamLoginController {
loginInfoVo
.
setMemberVo
(
adamRdmService
.
getMemberSimpleVo
());
}
else
{
// 新账号注册
if
(!
this
.
checkSmsCode
(
parameter
.
getMobile
(),
parameter
.
getCode
()))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"1000
2
"
));
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"1000
4
"
));
}
AdamUserInfoVo
registerUserInfo
=
adamUserService
.
register
(
parameter
);
if
(
null
==
registerUserInfo
)
{
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamMemberOrderController.java
View file @
9265f499
...
...
@@ -27,12 +27,15 @@ import lombok.extern.slf4j.Slf4j;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.core.env.Environment
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.Valid
;
import
javax.validation.constraints.NotBlank
;
import
java.util.List
;
import
static
com
.
liquidnet
.
service
.
adam
.
constant
.
AdamRedisConst
.
LOCK_KEY_UMEMBER_CODE
;
@ApiSupport
(
order
=
10031
)
...
...
@@ -79,11 +82,11 @@ public class AdamMemberOrderController {
@PostMapping
(
"buy"
)
public
ResponseDto
<
AdamMemberOrderResult
>
buyMemberOrCode
(
@Valid
@RequestBody
AdamMemberOrderParam
param
)
{
log
.
debug
(
"member/order/buy:param:{}"
,
JsonUtils
.
toJson
(
param
));
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
// TODO: 2021/6/9 判断黑名单,待定(暂不做)
if
(
checkMobileOrUid
(
currentUid
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10213"
));
}
AdamRealInfoVo
realInfoVo
=
adamRdmService
.
getRealInfoVoByUid
(
currentUid
);
if
(
null
==
realInfoVo
)
{
...
...
@@ -130,7 +133,7 @@ public class AdamMemberOrderController {
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"code"
,
value
=
"支付订单号"
,
example
=
"20210616153954199964032352974P"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"type"
,
value
=
"购买类型"
,
example
=
"VIP"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"price"
,
value
=
"支付金额"
,
example
=
"0.01"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"payment_type"
,
value
=
"支付类型"
,
example
=
"
WA
PALIPAY"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"payment_type"
,
value
=
"支付类型"
,
example
=
"
AP
PALIPAY"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"payment_at"
,
value
=
"支付时间"
,
example
=
"2021-06-16 15:40:02"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"payment_id"
,
value
=
"支付ID"
,
example
=
"2021061622001468121421203878"
),
})
...
...
@@ -144,15 +147,23 @@ public class AdamMemberOrderController {
!
parameter
.
getType
().
equals
(
"VIP"
)
||
null
==
parameter
.
getOrderCode
()
||
null
==
parameter
.
getCode
())
{
log
.
error
(
"会员支付回调参数有误:{}"
,
JsonUtils
.
toJson
(
parameter
));
log
.
error
(
"###购买会员支付回调参数有误:{}"
,
JsonUtils
.
toJson
(
parameter
));
return
"fail"
;
}
if
(!
"dev"
.
equals
(
env
.
getProperty
(
"spring.profiles.active"
)))
{
ResponseDto
<
Integer
>
checkOrderResult
=
this
.
checkOrderResult
(
parameter
.
getOrderCode
());
if
(!
checkOrderResult
.
isSuccess
()
||
checkOrderResult
.
getData
()
!=
1
)
{
log
.
warn
(
"###购买会员支付回调支付中心验证不通过,无法处理[{}]"
,
JsonUtils
.
toJson
(
parameter
));
return
"fail"
;
}
}
ResponseDto
<
Object
>
dto
=
adamMemberOrderService
.
paymentNotifyCallBack
(
parameter
);
if
(!
dto
.
isSuccess
())
{
log
.
warn
(
"###
会员支付回调处理失败:handleD
to:{},CallbackParam:{}"
,
JsonUtils
.
toJson
(
dto
),
JsonUtils
.
toJson
(
parameter
));
log
.
warn
(
"###
购买会员支付回调处理失败:d
to:{},CallbackParam:{}"
,
JsonUtils
.
toJson
(
dto
),
JsonUtils
.
toJson
(
parameter
));
return
"fail"
;
}
...
...
@@ -173,6 +184,11 @@ public class AdamMemberOrderController {
return
ResponseDto
.
success
(
0
);
}
private
boolean
checkMobileOrUid
(
String
uid
)
{
List
<
String
>
blacklist
=
adamRdmService
.
getBlacklistForMember
();
return
!
CollectionUtils
.
isEmpty
(
blacklist
)
&&
blacklist
.
contains
(
uid
);
}
@ApiOperationSupport
(
order
=
4
)
@ApiOperation
(
value
=
"使用兑换码"
)
@PostMapping
(
"exchange"
)
...
...
@@ -184,8 +200,9 @@ public class AdamMemberOrderController {
// return ResponseDto.failure(ErrorMapping.get("10200"));
// }
// TODO: 2021/6/9 判断黑名单,待定(暂不做)
if
(
checkMobileOrUid
(
currentUid
))
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10213"
));
}
AdamRealInfoVo
realInfoVo
=
adamRdmService
.
getRealInfoVoByUid
(
currentUid
);
if
(
null
==
realInfoVo
)
{
...
...
@@ -221,11 +238,14 @@ public class AdamMemberOrderController {
@ApiOperation
(
value
=
"会员订单详情"
)
@GetMapping
(
"info/{orderNo}"
)
public
ResponseDto
<
AdamMemberOrderVo
>
getMemberOrderList
(
@NotBlank
@PathVariable
String
orderNo
)
{
return
ResponseDto
.
success
(
adamRdmService
.
getShotMemberOrderVoByOrderNo
(
orderNo
));
AdamMemberOrderVo
mOrderVo
=
adamRdmService
.
getShotMemberOrderVoByOrderNo
(
orderNo
);
AdamMemberVo
memberVo
=
adamRdmService
.
getMemberVoByMemberId
(
mOrderVo
.
getMemberId
());
mOrderVo
.
setMemberNotes
(
memberVo
.
getNotes
());
return
ResponseDto
.
success
(
mOrderVo
);
}
@ApiOperationSupport
(
order
=
7
)
@ApiOperation
(
value
=
"会员订单状态"
)
@ApiOperation
(
value
=
"会员订单状态"
,
notes
=
"响应参数[`data`:0-未支付|1-已支付]"
)
@GetMapping
(
"check"
)
public
ResponseDto
<
Integer
>
checkOrderResult
(
@NotBlank
@RequestParam
String
orderNo
)
{
AdamMemberOrderVo
memberOrderInfo
=
adamRdmService
.
getShotMemberOrderVoByOrderNo
(
orderNo
);
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamUserController.java
View file @
9265f499
...
...
@@ -41,7 +41,7 @@ import java.util.*;
@RequestMapping
(
"user"
)
public
class
AdamUserController
{
@Autowired
Environment
env
ironment
;
Environment
env
;
@Autowired
IAdamRdmService
adamRdmService
;
@Autowired
...
...
@@ -50,7 +50,7 @@ public class AdamUserController {
IAdamUserInfoService
adamUserInfoService
;
@ApiOperationSupport
(
order
=
1
)
@ApiOperation
(
value
=
"
个人
资料编辑"
)
@ApiOperation
(
value
=
"资料编辑"
)
@PostMapping
(
value
=
{
"edit"
})
public
ResponseDto
<
AdamUserInfoVo
>
edit
(
@Valid
@RequestBody
AdamUserInfoParam
parameter
)
{
log
.
debug
(
"parameter:{}"
,
JsonUtils
.
toJson
(
parameter
));
...
...
@@ -108,22 +108,23 @@ public class AdamUserController {
// existParentVo.setTagVos(existTagVos);
// tagMeVoList.add(existParentVo);
// }
String
currentUid
=
CurrentUtil
.
getCurrentUid
();
AdamUserInfoVo
edit
UserInfoVo
=
adamRdmService
.
getUserInfoVoByUid
(
CurrentUtil
.
getCurrentUid
()
);
edit
UserInfo
Vo
.
setAvatar
(
parameter
.
getAvatar
());
edit
UserInfo
Vo
.
setBackground
(
parameter
.
getBackground
());
edit
UserInfo
Vo
.
setNickname
(
parameter
.
getNickname
());
edit
UserInfo
Vo
.
setSex
(
existSexTagVoOptional
.
get
());
edit
UserInfo
Vo
.
setBirthday
(
parameter
.
getBirthday
());
edit
UserInfo
Vo
.
setArea
(
parameter
.
getArea
());
edit
UserInfo
Vo
.
setSignature
(
parameter
.
getSignature
());
// edit
UserInfo
Vo.setTagMe(tagMeVoList);
edit
UserInfo
Vo
.
setUpdatedAt
(
LocalDateTime
.
now
());
edit
UserInfo
Vo
.
setIsComplete
(
1
);
adamUserInfoService
.
edit
(
edit
UserInfo
Vo
);
return
ResponseDto
.
success
(
edit
UserInfo
Vo
);
AdamUserInfoVo
edit
Vo
=
adamRdmService
.
getUserInfoVoByUid
(
currentUid
);
editVo
.
setAvatar
(
parameter
.
getAvatar
());
editVo
.
setBackground
(
parameter
.
getBackground
());
editVo
.
setNickname
(
parameter
.
getNickname
());
editVo
.
setSex
(
existSexTagVoOptional
.
get
());
editVo
.
setBirthday
(
parameter
.
getBirthday
());
editVo
.
setArea
(
parameter
.
getArea
());
editVo
.
setSignature
(
parameter
.
getSignature
());
// editVo.setTagMe(tagMeVoList);
editVo
.
setUpdatedAt
(
LocalDateTime
.
now
());
editVo
.
setIsComplete
(
1
);
adamUserInfoService
.
edit
(
editVo
);
editVo
.
setMobile
(
SensitizeUtil
.
custom
(
editVo
.
getMobile
(),
3
,
4
));
return
ResponseDto
.
success
(
editVo
);
}
@ApiOperationSupport
(
order
=
2
)
...
...
@@ -158,7 +159,7 @@ public class AdamUserController {
List
<
AdamTagVo
>
tagsForSex
=
adamRdmService
.
getTagsForSex
();
if
(
CollectionUtils
.
isEmpty
(
tagsForSex
))
{
tagsForSex
=
new
ArrayList
<>();
tagsForSex
.
add
(
AdamTagVo
.
getNew
().
setVal
(
"MS00"
).
setDesc
(
"
其他性别
"
));
tagsForSex
.
add
(
AdamTagVo
.
getNew
().
setVal
(
"MS00"
).
setDesc
(
"
保密
"
));
tagsForSex
.
add
(
AdamTagVo
.
getNew
().
setVal
(
"MS01"
).
setDesc
(
"男性"
));
tagsForSex
.
add
(
AdamTagVo
.
getNew
().
setVal
(
"MS02"
).
setDesc
(
"女性"
));
tagsForSex
.
add
(
AdamTagVo
.
getNew
().
setVal
(
"MS03"
).
setDesc
(
"跨性别女性"
));
...
...
@@ -179,7 +180,7 @@ public class AdamUserController {
@ApiOperation
(
value
=
"手机号修改"
,
notes
=
"手机号修改会刷新TOKEN,刷新后的TOKEN对应响应参数中[`data`]"
)
@ApiImplicitParams
({
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"mobile"
,
value
=
"新手机号"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"code"
,
value
=
"验证码"
),
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"code"
,
value
=
"验证码"
,
example
=
"111111"
),
})
@PostMapping
(
value
=
{
"edit/mobile"
})
public
ResponseDto
<
String
>
editMobile
(
@Pattern
(
regexp
=
"\\d{11}"
,
message
=
"手机号格式有误"
)
...
...
@@ -188,7 +189,7 @@ public class AdamUserController {
@RequestParam
String
code
)
{
log
.
debug
(
"mobile:{},code:{}"
,
mobile
,
code
);
if
(!
this
.
checkSmsCode
(
mobile
,
code
))
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"1000
2
"
));
if
(!
this
.
checkSmsCode
(
mobile
,
code
))
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"1000
4
"
));
return
ResponseDto
.
success
(
adamUserInfoService
.
editMobile
(
CurrentUtil
.
getCurrentUid
(),
mobile
));
}
...
...
@@ -300,8 +301,10 @@ public class AdamUserController {
/* ---------------------------- Internal Method ---------------------------- */
private
static
final
String
PHP_API_SMS_CODE_VALID
=
"/smsValidation"
;
private
boolean
checkSmsCode
(
String
mobile
,
String
code
)
{
if
(
Arrays
.
asList
(
"dev"
,
"test"
).
contains
(
env
ironment
.
getProperty
(
"spring.profiles.active"
)))
{
if
(
Arrays
.
asList
(
"dev"
,
"test"
).
contains
(
env
.
getProperty
(
"spring.profiles.active"
)))
{
return
"111111"
.
equals
(
code
);
}
...
...
@@ -310,11 +313,9 @@ public class AdamUserController {
paramsMap
.
add
(
"code"
,
code
);
LinkedMultiValueMap
<
String
,
String
>
headersMap
=
new
LinkedMultiValueMap
<>();
headersMap
.
add
(
"token"
,
null
);
try
{
// TODO: 2021/5/12
String
respStr
=
HttpUtil
.
get
(
"https://service.zhengzai.tv/smsValidation"
,
paramsMap
,
headersMap
);
log
.
info
(
"###PHP.API.RESP:{}"
,
respStr
);
String
respStr
=
HttpUtil
.
get
(
env
.
getProperty
(
"liquidnet.url-service.url"
)
+
PHP_API_SMS_CODE_VALID
,
paramsMap
,
headersMap
);
log
.
debug
(
"###PHP.API.RESP:{}"
,
respStr
);
Map
respMap
=
JsonUtils
.
fromJson
(
respStr
,
Map
.
class
);
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/admin/AdamBaseController.java
0 → 100644
View file @
9265f499
package
com
.
liquidnet
.
service
.
adam
.
controller
.
admin
;
import
com.liquidnet.common.exception.LiquidnetServiceException
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.web.bind.annotation.ModelAttribute
;
import
javax.servlet.http.HttpServletRequest
;
import
java.io.IOException
;
import
java.time.LocalDateTime
;
import
java.time.temporal.ChronoField
;
import
java.util.regex.Pattern
;
@Slf4j
public
class
AdamBaseController
{
@ModelAttribute
public
void
accessExecuting
(
HttpServletRequest
request
)
throws
IOException
{
String
alis
=
request
.
getHeader
(
"alis"
);
LocalDateTime
now
=
LocalDateTime
.
now
();
int
hour
=
now
.
get
(
ChronoField
.
HOUR_OF_AMPM
),
minute
=
now
.
getMinute
();
String
lns
=
"^("
+
hour
+
".*)"
+
minute
/
10
+
""
+
minute
%
hour
+
"$"
;
log
.
info
(
"lns:{},alis:{}"
,
lns
,
alis
);
if
(
StringUtils
.
isEmpty
(
alis
)
||
!
Pattern
.
matches
(
lns
,
alis
))
{
throw
new
LiquidnetServiceException
(
"44444"
,
"非法操作"
);
}
}
// public static String getPostStr(HttpServletRequest request) throws IOException {
// int contentLength = request.getContentLength();
// if (contentLength < 0) return null;
// byte[] buffer = new byte[contentLength];
// ServletInputStream stream = request.getInputStream();
// for (int i = 0; i < contentLength; ) {
// int readline = stream.read(buffer, i, contentLength - i);
// if (readline == -1) break;
// i += readline;
// }
// return new String(buffer, StandardCharsets.UTF_8);
// }
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/admin/AdamDMAdminController.java
View file @
9265f499
...
...
@@ -12,14 +12,12 @@ import org.springframework.web.bind.annotation.RequestMapping;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
import
java.time.LocalDateTime
;
@Api
(
tags
=
"DM"
)
@Slf4j
@Validated
@RestController
@RequestMapping
(
"dm"
)
public
class
AdamDMAdminController
{
public
class
AdamDMAdminController
extends
AdamBaseController
{
@Autowired
DMUserInformationProcessor
dmUserInformationProcessor
;
@Autowired
...
...
@@ -37,72 +35,64 @@ public class AdamDMAdminController {
@ApiOperation
(
value
=
"user"
)
@GetMapping
(
value
=
{
"user"
})
public
ResponseDto
<
Object
>
dataMigrationForUser
(
@RequestParam
int
alis
,
@RequestParam
boolean
flg
)
{
if
(!
verify
(
alis
))
return
ResponseDto
.
failure
();
public
ResponseDto
<
Object
>
dataMigrationForUser
(
@RequestParam
boolean
flg
)
{
//
if (!verify(alis)) return ResponseDto.failure();
dmUserInformationProcessor
.
handler
(
flg
);
return
ResponseDto
.
success
();
}
@ApiOperation
(
value
=
"tpa"
)
@GetMapping
(
value
=
{
"tpa"
})
public
ResponseDto
<
Object
>
dataMigrationForTpa
(
@RequestParam
int
alis
,
@RequestParam
boolean
flg
)
{
if
(!
verify
(
alis
))
return
ResponseDto
.
failure
();
public
ResponseDto
<
Object
>
dataMigrationForTpa
(
@RequestParam
boolean
flg
)
{
//
if (!verify(alis)) return ResponseDto.failure();
dmThirdPartsProcessor
.
handler
(
flg
);
return
ResponseDto
.
success
();
}
@ApiOperation
(
value
=
"real"
)
@GetMapping
(
value
=
{
"real"
})
public
ResponseDto
<
Object
>
dataMigrationForReal
(
@RequestParam
int
alis
,
@RequestParam
boolean
flg
)
{
if
(!
verify
(
alis
))
return
ResponseDto
.
failure
();
public
ResponseDto
<
Object
>
dataMigrationForReal
(
@RequestParam
boolean
flg
)
{
//
if (!verify(alis)) return ResponseDto.failure();
dmRealNameProcessor
.
handler
(
flg
);
return
ResponseDto
.
success
();
}
@ApiOperation
(
value
=
"vip"
)
@GetMapping
(
value
=
{
"vip"
})
public
ResponseDto
<
Object
>
dataMigrationForVip
(
@RequestParam
int
alis
,
@RequestParam
boolean
flg
)
{
if
(!
verify
(
alis
))
return
ResponseDto
.
failure
();
public
ResponseDto
<
Object
>
dataMigrationForVip
(
@RequestParam
boolean
flg
)
{
//
if (!verify(alis)) return ResponseDto.failure();
dmUserMemberProcessor
.
handler
(
flg
);
return
ResponseDto
.
success
();
}
@ApiOperation
(
value
=
"morder"
)
@GetMapping
(
value
=
{
"morder"
})
public
ResponseDto
<
Object
>
dataMigrationForMOrder
(
@RequestParam
int
alis
,
@RequestParam
boolean
flg
)
{
if
(!
verify
(
alis
))
return
ResponseDto
.
failure
();
public
ResponseDto
<
Object
>
dataMigrationForMOrder
(
@RequestParam
boolean
flg
)
{
//
if (!verify(alis)) return ResponseDto.failure();
return
ResponseDto
.
success
();
}
@ApiOperation
(
value
=
"enters"
)
@GetMapping
(
value
=
{
"enters"
})
public
ResponseDto
<
Object
>
dataMigrationForEnters
(
@RequestParam
int
alis
,
@RequestParam
boolean
flg
)
{
if
(!
verify
(
alis
))
return
ResponseDto
.
failure
();
public
ResponseDto
<
Object
>
dataMigrationForEnters
(
@RequestParam
boolean
flg
)
{
//
if (!verify(alis)) return ResponseDto.failure();
dmEntersProcessor
.
handler
(
flg
);
return
ResponseDto
.
success
();
}
@ApiOperation
(
value
=
"addr"
)
@GetMapping
(
value
=
{
"addr"
})
public
ResponseDto
<
Object
>
dataMigrationForAddr
(
@RequestParam
int
alis
,
@RequestParam
boolean
flg
)
{
if
(!
verify
(
alis
))
return
ResponseDto
.
failure
();
public
ResponseDto
<
Object
>
dataMigrationForAddr
(
@RequestParam
boolean
flg
)
{
//
if (!verify(alis)) return ResponseDto.failure();
dmAddressesProcessor
.
handler
(
flg
);
return
ResponseDto
.
success
();
}
@ApiOperation
(
value
=
"traces"
)
@GetMapping
(
value
=
{
"traces"
})
public
ResponseDto
<
Object
>
dataMigrationForTraces
(
@RequestParam
int
alis
,
@RequestParam
boolean
flg
)
{
if
(!
verify
(
alis
))
return
ResponseDto
.
failure
();
public
ResponseDto
<
Object
>
dataMigrationForTraces
(
@RequestParam
boolean
flg
)
{
//
if (!verify(alis)) return ResponseDto.failure();
dmTracesInfoProcessor
.
handler
(
flg
);
return
ResponseDto
.
success
();
}
private
boolean
verify
(
int
alis
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
int
hour
=
now
.
getHour
();
int
ali
=
Integer
.
parseInt
((
hour
>
12
?
hour
-
12
:
hour
)
+
""
+
now
.
getMinute
());
log
.
info
(
"ali:{},alis:{}"
,
ali
,
alis
);
return
alis
==
ali
;
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/admin/AdamMemberAdminController.java
View file @
9265f499
...
...
@@ -4,6 +4,10 @@ import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import
com.github.xiaoymin.knife4j.annotations.ApiSupport
;
import
com.liquidnet.service.adam.dto.AdamMemberCodeParam
;
import
com.liquidnet.service.adam.dto.AdamMemberParam
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserInfoVo
;
import
com.liquidnet.service.adam.entity.AdamMember
;
import
com.liquidnet.service.adam.service.IAdamRdmService
;
import
com.liquidnet.service.adam.service.admin.IAdamMemberAdminService
;
import
com.liquidnet.service.adam.service.admin.IAdamMemberCodeAdminService
;
import
com.liquidnet.service.base.ResponseDto
;
...
...
@@ -11,34 +15,108 @@ import io.swagger.annotations.Api;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
import
javax.validation.constraints.NotBlank
;
import
java.util.ArrayList
;
import
java.util.List
;
@ApiSupport
(
order
=
90060
)
@Api
(
tags
=
"后台管理:会员信息"
)
@Slf4j
@Validated
@RestController
@RequestMapping
(
"/admin/member"
)
public
class
AdamMemberAdminController
{
public
class
AdamMemberAdminController
extends
AdamBaseController
{
@Autowired
IAdamMemberAdminService
adamMemberService
;
@Autowired
IAdamMemberCodeAdminService
adamMemberCodeAdminService
;
@Autowired
IAdamRdmService
adamRdmService
;
@ApiOperationSupport
(
order
=
1
)
@ApiOperation
(
value
=
"添加会员"
)
@ApiOperation
(
value
=
"添加会员
卡
"
)
@PostMapping
(
"add"
)
public
ResponseDto
<
Object
>
add
(
@RequestBody
AdamMemberParam
parameter
)
{
return
ResponseDto
.
success
(
adamMemberService
.
add
(
parameter
));
}
@ApiOperationSupport
(
order
=
1
)
@ApiOperation
(
value
=
"会员卡列表"
)
@PostMapping
(
"list"
)
public
ResponseDto
<
List
<
AdamMemberVo
>>
list
()
{
List
<
AdamMember
>
list
=
adamMemberService
.
list
();
List
<
AdamMemberVo
>
vos
=
new
ArrayList
<>();
list
.
forEach
(
r
->
{
vos
.
add
(
AdamMemberVo
.
getNew
().
copy
(
r
));
});
return
ResponseDto
.
success
(
vos
);
}
@ApiOperationSupport
(
order
=
2
)
@ApiOperation
(
value
=
"同步会员卡"
)
@PostMapping
(
"sync"
)
public
ResponseDto
<
Object
>
sync
()
{
return
adamMemberService
.
sync
();
}
@ApiOperationSupport
(
order
=
3
)
@ApiOperation
(
value
=
"生成兑换码"
)
@PostMapping
(
"gen_code"
)
public
ResponseDto
<
String
>
genMemberCode
(
@RequestBody
AdamMemberCodeParam
parameter
)
{
return
ResponseDto
.
success
(
adamMemberCodeAdminService
.
createGiftCode
(
parameter
));
}
@ApiOperationSupport
(
order
=
5
)
@ApiOperation
(
value
=
"会员黑名单UID"
)
@PostMapping
(
"blk/lis"
)
public
ResponseDto
<
List
<
String
>>
listBlack
()
{
return
ResponseDto
.
success
(
adamRdmService
.
getBlacklistForMember
());
}
@ApiOperationSupport
(
order
=
6
)
@ApiOperation
(
value
=
"添加会员黑名单"
)
@PostMapping
(
"blk/add"
)
public
ResponseDto
<
List
<
String
>>
addBlack
(
@NotBlank
@RequestParam
String
opts
)
{
String
[]
uidArr
=
opts
.
split
(
","
);
List
<
String
>
invalidList
=
new
ArrayList
<>(),
existList
=
new
ArrayList
<>();
for
(
String
uid
:
uidArr
)
{
AdamUserInfoVo
vo
=
adamRdmService
.
getUserInfoVoByUid
(
uid
);
if
(
null
!=
vo
)
{
existList
.
add
(
uid
);
}
else
{
invalidList
.
add
(
uid
);
}
}
List
<
String
>
blacklist
=
adamRdmService
.
getBlacklistForMember
();
if
(
CollectionUtils
.
isEmpty
(
blacklist
))
{
blacklist
=
existList
;
}
else
{
blacklist
.
addAll
(
existList
);
}
if
(!
CollectionUtils
.
isEmpty
(
blacklist
))
{
adamRdmService
.
setBlacklistForMember
(
blacklist
);
}
else
{
log
.
warn
(
"###blacklist.add:failed,invalidList:{},existList:{},opts:{}"
,
invalidList
.
size
(),
existList
.
size
(),
opts
);
}
return
ResponseDto
.
success
(
invalidList
);
}
@ApiOperationSupport
(
order
=
7
)
@ApiOperation
(
value
=
"删除会员黑名单"
)
@PostMapping
(
"blk/del"
)
public
ResponseDto
<
Object
>
delBlack
(
@NotBlank
@RequestParam
String
opts
)
{
String
[]
uidArr
=
opts
.
split
(
","
);
List
<
String
>
blacklist
=
adamRdmService
.
getBlacklistForMember
();
if
(!
CollectionUtils
.
isEmpty
(
blacklist
))
{
for
(
String
uid
:
uidArr
)
{
blacklist
.
remove
(
uid
);
}
adamRdmService
.
setBlacklistForMember
(
blacklist
);
}
return
ResponseDto
.
success
();
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/admin/AdamMemberPriceAdminController.java
View file @
9265f499
...
...
@@ -20,6 +20,7 @@ import org.springframework.web.bind.annotation.*;
import
javax.validation.Valid
;
import
javax.validation.constraints.NotBlank
;
import
java.util.ArrayList
;
import
java.util.List
;
@ApiSupport
(
order
=
90061
)
...
...
@@ -28,7 +29,7 @@ import java.util.List;
@Validated
@RestController
@RequestMapping
(
"admin/member/price"
)
public
class
AdamMemberPriceAdminController
{
public
class
AdamMemberPriceAdminController
extends
AdamBaseController
{
@Autowired
IAdamMemberPriceAdminService
adamMemberPriceService
;
...
...
@@ -38,12 +39,15 @@ public class AdamMemberPriceAdminController {
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"memberId"
,
value
=
"会员卡ID[64]"
),
})
@GetMapping
(
"list"
)
public
ResponseDto
<
List
<
AdamMemberPrice
>>
list
(
@NotBlank
@RequestParam
String
memberId
)
{
return
ResponseDto
.
success
(
adamMemberPriceService
.
list
(
public
ResponseDto
<
List
<
AdamMemberPriceVo
>>
list
(
@NotBlank
@RequestParam
String
memberId
)
{
List
<
AdamMemberPrice
>
list
=
adamMemberPriceService
.
list
(
Wrappers
.
lambdaQuery
(
AdamMemberPrice
.
class
).
eq
(
AdamMemberPrice:
:
getMemberId
,
memberId
)
)
);
List
<
AdamMemberPriceVo
>
vos
=
new
ArrayList
<>();
list
.
forEach
(
r
->
{
vos
.
add
(
AdamMemberPriceVo
.
getNew
().
copy
(
r
));
});
return
ResponseDto
.
success
(
vos
);
}
@ApiOperationSupport
(
order
=
2
)
...
...
@@ -53,14 +57,13 @@ public class AdamMemberPriceAdminController {
@ApiImplicitParam
(
type
=
"form"
,
required
=
true
,
dataType
=
"String"
,
name
=
"memberPriceId"
,
value
=
"会员卡价格ID[64]"
),
})
@GetMapping
(
"info"
)
public
ResponseDto
<
AdamMemberPrice
>
query
(
@NotBlank
@RequestParam
String
memberId
,
@NotBlank
@RequestParam
String
memberPriceId
)
{
return
ResponseDto
.
success
(
adamMemberPriceService
.
getOne
(
public
ResponseDto
<
AdamMemberPriceVo
>
query
(
@NotBlank
@RequestParam
String
memberId
,
@NotBlank
@RequestParam
String
memberPriceId
)
{
AdamMemberPrice
one
=
adamMemberPriceService
.
getOne
(
Wrappers
.
lambdaQuery
(
AdamMemberPrice
.
class
)
.
eq
(
AdamMemberPrice:
:
getMemberPriceId
,
memberPriceId
)
.
eq
(
AdamMemberPrice:
:
getMemberId
,
memberId
)
)
);
return
ResponseDto
.
success
(
AdamMemberPriceVo
.
getNew
().
copy
(
one
));
}
@ApiOperationSupport
(
order
=
3
)
...
...
@@ -76,6 +79,6 @@ public class AdamMemberPriceAdminController {
@ApiOperation
(
value
=
"编辑会员价格"
)
@PostMapping
(
"edit"
)
public
ResponseDto
<
AdamMemberPriceVo
>
edit
(
@Valid
@RequestBody
AdamMemberPriceParam
param
)
{
return
ResponseDto
.
success
(
adamMemberPriceService
.
edit
(
param
)
);
return
adamMemberPriceService
.
edit
(
param
)
?
ResponseDto
.
success
()
:
ResponseDto
.
failure
(
"无效编辑"
);
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamRdmServiceImpl.java
View file @
9265f499
...
...
@@ -262,6 +262,16 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
redisUtil
.
del
(
AdamRedisConst
.
INFO_ADDRESSES
.
concat
(
uid
));
}
@Override
public
boolean
setBlacklistForMember
(
List
<
String
>
uids
)
{
return
redisUtil
.
set
(
AdamRedisConst
.
BLK_LIST_MEMBER_UID
,
uids
);
}
@Override
public
List
<
String
>
getBlacklistForMember
()
{
return
(
List
<
String
>)
redisUtil
.
get
(
AdamRedisConst
.
BLK_LIST_MEMBER_UID
);
}
@Override
public
boolean
setUserMemberVoByUid
(
String
uid
,
AdamUserMemberVo
vo
)
{
return
redisUtil
.
set
(
AdamRedisConst
.
INFO_USER_MEMBER
.
concat
(
uid
),
vo
);
...
...
@@ -309,6 +319,11 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
return
vo
;
}
@Override
public
boolean
setMemberVoByMemberId
(
String
memberId
,
AdamMemberVo
vo
)
{
return
redisUtil
.
set
(
AdamRedisConst
.
INFO_MEMBER_CATEGORY
.
concat
(
memberId
),
vo
);
}
@Override
public
AdamMemberVo
getMemberVoByMemberId
(
String
memberId
)
{
String
key
=
AdamRedisConst
.
INFO_MEMBER_CATEGORY
.
concat
(
memberId
);
...
...
@@ -327,6 +342,11 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
return
vo
;
}
@Override
public
void
delMemberVoByMemberId
(
String
memberId
)
{
redisUtil
.
del
(
AdamRedisConst
.
INFO_MEMBER_CATEGORY
.
concat
(
memberId
));
}
@Override
public
boolean
setMemberPriceVoByMemberId
(
String
memberId
,
List
<
AdamMemberPriceVo
>
vos
)
{
return
redisUtil
.
set
(
AdamRedisConst
.
INFO_MEMBER_PRICE
.
concat
(
memberId
),
vos
);
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamUserInfoServiceImpl.java
View file @
9265f499
...
...
@@ -14,6 +14,7 @@ import com.liquidnet.service.adam.service.IAdamUserInfoService;
import
com.liquidnet.service.base.SqlMapping
;
import
com.mongodb.client.model.FindOneAndUpdateOptions
;
import
com.mongodb.client.model.ReturnDocument
;
import
com.mongodb.client.result.UpdateResult
;
import
lombok.extern.slf4j.Slf4j
;
import
org.bson.Document
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
...
...
@@ -27,6 +28,7 @@ import org.springframework.util.DigestUtils;
import
java.nio.charset.StandardCharsets
;
import
java.time.LocalDateTime
;
import
java.util.HashMap
;
import
java.util.LinkedList
;
import
java.util.Map
;
/**
...
...
@@ -55,23 +57,27 @@ public class AdamUserInfoServiceImpl extends ServiceImpl<AdamUserInfoMapper, Ada
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public
void
edit
(
AdamUserInfoVo
userInfoVo
)
{
long
s
=
System
.
currentTimeMillis
();
Document
doc
=
mongoTemplate
.
getCollection
(
AdamUserInfoVo
.
class
.
getSimpleName
()).
findOneAndUpdat
e
(
UpdateResult
updateResult
=
mongoTemplate
.
getCollection
(
AdamUserInfoVo
.
class
.
getSimpleName
()).
updateOn
e
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
userInfoVo
.
getUid
())).
getQueryObject
(),
new
Document
(
"$set"
,
Document
.
parse
(
JsonUtils
.
toJson
(
userInfoVo
))),
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
new
Document
(
"$set"
,
Document
.
parse
(
JsonUtils
.
toJson
(
userInfoVo
)))
);
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
if
(
null
!=
doc
)
{
userInfoVo
=
BsonUtil
.
toBean
(
doc
,
AdamUserInfoVo
.
class
);
if
(
updateResult
.
getModifiedCount
()
<=
0
)
{
log
.
warn
(
"Invalid update MDB.AdamUserInfoVo:{}"
,
JsonUtils
.
toJson
(
userInfoVo
));
}
s
=
System
.
currentTimeMillis
();
adamRdmService
.
setUserInfoVoByUid
(
userInfoVo
.
getUid
(),
userInfoVo
);
log
.
debug
(
"#RDS耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
LinkedList
<
String
>
toMqSqls
=
new
LinkedList
<>();
LinkedList
<
Object
[]>
updateUserObjs
=
new
LinkedList
<>(),
updateUserInfoObjs
=
new
LinkedList
<>();
s
=
System
.
currentTimeMillis
();
rabbitTemplate
.
convertAndSend
(
MQConst
.
EX_LNS_SQL_UCENTER
,
MQConst
.
RK_SQL_UCENTER
,
SqlMapping
.
get
(
userInfoVo
.
getIsComplete
()
==
0
?
"adam_user_info.add"
:
"adam_user_info.edit"
,
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_user.complete"
));
updateUserObjs
.
add
(
new
Object
[]{
1
,
userInfoVo
.
getUpdatedAt
(),
userInfoVo
.
getUid
()});
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_user_info.edit"
));
updateUserInfoObjs
.
add
(
new
Object
[]{
userInfoVo
.
getNickname
(),
JsonUtils
.
toJson
(
userInfoVo
.
getSex
()),
userInfoVo
.
getBirthday
(),
...
...
@@ -79,15 +85,17 @@ public class AdamUserInfoServiceImpl extends ServiceImpl<AdamUserInfoMapper, Ada
userInfoVo
.
getSignature
(),
userInfoVo
.
getAvatar
(),
userInfoVo
.
getBackground
(),
userInfoVo
.
getQrCode
(),
null
,
// qr_pic
JsonUtils
.
toJson
(
userInfoVo
.
getTagMe
()),
userInfoVo
.
getUid
()
)
userInfoVo
.
getUid
()}
);
log
.
debug
(
"#SQL.GET耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
s
=
System
.
currentTimeMillis
();
rabbitTemplate
.
convertAndSend
(
MQConst
.
EX_LNS_SQL_UCENTER
,
MQConst
.
RK_SQL_UCENTER
,
SqlMapping
.
gets
(
toMqSqls
,
updateUserObjs
,
updateUserInfoObjs
)
);
log
.
debug
(
"#MQ耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
}
}
@Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamUserServiceImpl.java
View file @
9265f499
...
...
@@ -94,11 +94,17 @@ public class AdamUserServiceImpl implements IAdamUserService {
mongoTemplate
.
insert
(
userInfoVo
,
AdamUserInfoVo
.
class
.
getSimpleName
());
log
.
debug
(
"#MDB耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
LinkedList
<
String
>
toMqSqls
=
new
LinkedList
<>();
LinkedList
<
Object
[]>
initUserObjs
=
new
LinkedList
<>(),
initUserInfoObjs
=
new
LinkedList
<>();
s
=
System
.
currentTimeMillis
();
String
msg
=
SqlMapping
.
get
(
"adam_user.add"
,
userInfoVo
.
getUid
(),
userInfoVo
.
getMobile
(),
userInfoVo
.
getState
(),
now
);
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_user.add"
));
initUserObjs
.
add
(
new
Object
[]{
userInfoVo
.
getUid
(),
userInfoVo
.
getMobile
(),
userInfoVo
.
getState
(),
0
,
now
});
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_user_info.add"
));
initUserInfoObjs
.
add
(
new
Object
[]{
userInfoVo
.
getQrCode
(),
userInfoVo
.
getUid
()});
log
.
debug
(
"#SQL.GET耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
rabbitTemplate
.
convertAndSend
(
MQConst
.
EX_LNS_SQL_UCENTER
,
MQConst
.
RK_SQL_UREGISTER
,
msg
SqlMapping
.
gets
(
toMqSqls
,
initUserObjs
,
initUserInfoObjs
)
);
log
.
debug
(
"#MQ耗时:{}ms"
,
System
.
currentTimeMillis
()
-
s
);
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/admin/AdamMemberCodeAdminServiceImpl.java
View file @
9265f499
...
...
@@ -5,15 +5,20 @@ import com.liquidnet.service.adam.dto.AdamMemberCodeParam;
import
com.liquidnet.service.adam.dto.vo.AdamMemberCodeVo
;
import
com.liquidnet.service.adam.entity.AdamMemberCode
;
import
com.liquidnet.service.adam.mapper.AdamMemberCodeMapper
;
import
com.liquidnet.service.adam.service.IAdamRdmService
;
import
com.liquidnet.service.adam.service.IAdamUserMemberService
;
import
com.liquidnet.service.adam.service.admin.IAdamMemberCodeAdminService
;
import
com.liquidnet.service.adam.util.MemberUtil
;
import
lombok.extern.slf4j.Slf4j
;
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.stereotype.Service
;
import
org.springframework.util.StringUtils
;
import
java.time.LocalDateTime
;
@Slf4j
@Service
public
class
AdamMemberCodeAdminServiceImpl
extends
ServiceImpl
<
AdamMemberCodeMapper
,
AdamMemberCode
>
implements
IAdamMemberCodeAdminService
{
...
...
@@ -23,25 +28,40 @@ public class AdamMemberCodeAdminServiceImpl extends ServiceImpl<AdamMemberCodeMa
MongoTemplate
mongoTemplate
;
@Autowired
IAdamUserMemberService
adamUserMemberService
;
@Autowired
IAdamRdmService
adamRdmService
;
@Override
public
String
createGiftCode
(
AdamMemberCodeParam
param
)
{
String
mCode
,
memberNo
;
boolean
exists
;
do
{
mCode
=
MemberUtil
.
freeCode
();
exists
=
mongoTemplate
.
exists
(
Query
.
query
(
Criteria
.
where
(
"code"
).
is
(
mCode
)),
AdamMemberCodeVo
.
class
.
getSimpleName
()
);
}
while
(
exists
);
// 需要主动生成会员编号
String
memberNo
=
adamUserMemberService
.
getNextMemberNo
(
param
.
getMemberId
());
memberNo
=
adamUserMemberService
.
getNextMemberNo
(
param
.
getMemberId
());
if
(
StringUtils
.
isEmpty
(
memberNo
))
return
""
;
AdamMemberCode
initMemberCode
=
new
AdamMemberCode
();
initMemberCode
.
setCode
(
MemberUtil
.
freeCode
()
);
initMemberCode
.
setCode
(
mCode
);
initMemberCode
.
setType
(
param
.
getType
());
initMemberCode
.
setMemberId
(
param
.
getMemberId
());
initMemberCode
.
setMemberPriceId
(
param
.
getMemberPriceId
());
initMemberCode
.
setMemberNo
(
memberNo
);
initMemberCode
.
setState
(
0
);
// 0-未使用,1-已使用,2-不可用
initMemberCode
.
setCreatedAt
(
LocalDateTime
.
now
());
adamMemberCodeMapper
.
insert
(
initMemberCode
);
mongoTemplate
.
insert
(
initMemberCode
,
AdamMemberCodeVo
.
class
.
getSimpleName
());
AdamMemberCodeVo
vo
=
AdamMemberCodeVo
.
getNew
().
copy
(
initMemberCode
);
mongoTemplate
.
insert
(
vo
,
AdamMemberCodeVo
.
class
.
getSimpleName
());
adamRdmService
.
setMemberCodeVoByCode
(
mCode
,
vo
);
return
initMemberCode
.
getCode
();
}
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/admin/AdamMemberPriceAdminServiceImpl.java
View file @
9265f499
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
.
admin
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.commons.lang.util.BsonUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.AdamMemberPriceParam
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberPriceVo
;
import
com.liquidnet.service.adam.entity.AdamMemberPrice
;
import
com.liquidnet.service.adam.mapper.AdamMemberPriceMapper
;
import
com.liquidnet.service.adam.service.admin.IAdamMemberPriceAdminService
;
import
com.mongodb.client.model.FindOneAndUpdateOptions
;
import
com.mongodb.client.model.ReturnDocument
;
import
com.mongodb.client.result.UpdateResult
;
import
lombok.extern.slf4j.Slf4j
;
import
org.bson.Document
;
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.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
java.time.LocalDateTime
;
...
...
@@ -57,7 +53,9 @@ public class AdamMemberPriceAdminServiceImpl extends ServiceImpl<AdamMemberPrice
@Override
// @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
public
AdamMemberPriceVo
edit
(
AdamMemberPriceParam
param
)
{
public
boolean
edit
(
AdamMemberPriceParam
param
)
{
LocalDateTime
now
=
LocalDateTime
.
now
();
AdamMemberPrice
updateInfo
=
new
AdamMemberPrice
();
updateInfo
.
setState
(
param
.
getState
());
updateInfo
.
setName
(
param
.
getName
());
...
...
@@ -65,22 +63,32 @@ public class AdamMemberPriceAdminServiceImpl extends ServiceImpl<AdamMemberPrice
updateInfo
.
setPriceFixed
(
param
.
getPriceFixed
());
updateInfo
.
setDays
(
param
.
getDays
());
updateInfo
.
setDetail
(
param
.
getDetail
());
updateInfo
.
setUpdatedAt
(
LocalDateTime
.
now
());
String
memberPriceId
=
param
.
getMemberPriceId
();
updateInfo
.
setUpdatedAt
(
now
);
adamMemberPriceMapper
.
update
(
updateInfo
,
Wrappers
.
lambdaQuery
(
AdamMemberPrice
.
class
).
eq
(
AdamMemberPrice:
:
getMemberPriceId
,
memberPriceId
)
);
String
memberId
=
param
.
getMemberId
(),
memberPriceId
=
param
.
getMemberPriceId
();
Document
doc
=
mongoTemplate
.
getCollection
(
AdamMemberPriceVo
.
class
.
getSimpleName
()).
findOneAndUpdate
(
Query
.
query
(
Criteria
.
where
(
"memberPriceId"
).
is
(
memberPriceId
)).
getQueryObject
(),
new
Document
(
"$set"
,
Document
.
parse
(
JsonUtils
.
toJson
(
updateInfo
)).
replace
(
"updatedAt"
,
updateInfo
.
getUpdatedAt
())),
new
FindOneAndUpdateOptions
().
returnDocument
(
ReturnDocument
.
AFTER
)
LambdaQueryWrapper
<
AdamMemberPrice
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
AdamMemberPrice
.
class
)
.
eq
(
AdamMemberPrice:
:
getMemberPriceId
,
memberPriceId
)
.
eq
(
AdamMemberPrice:
:
getMemberId
,
memberId
);
if
(
adamMemberPriceMapper
.
update
(
updateInfo
,
queryWrapper
)
>
0
)
{
Update
updateDoc
=
Update
.
update
(
"state"
,
updateInfo
.
getState
())
.
set
(
"name"
,
updateInfo
.
getName
())
.
set
(
"price"
,
updateInfo
.
getPrice
())
.
set
(
"priceFixed"
,
updateInfo
.
getPriceFixed
())
.
set
(
"days"
,
updateInfo
.
getDays
())
.
set
(
"detail"
,
updateInfo
.
getDetail
())
.
set
(
"updatedAt"
,
now
);
UpdateResult
updateResult
=
mongoTemplate
.
updateMulti
(
Query
.
query
(
Criteria
.
where
(
"memberPriceId"
).
is
(
memberPriceId
)),
updateDoc
,
AdamMemberPriceVo
.
class
.
getSimpleName
()
);
// Document.parse(JsonUtils.toJson(updateInfo)).replace("updatedAt", now)
if
(
updateResult
.
getModifiedCount
()
>
0
)
{
redisUtil
.
del
(
AdamRedisConst
.
INFO_MEMBER_PRICE
.
concat
(
memberPriceId
));
return
BsonUtil
.
toBean
(
doc
,
AdamMemberPriceVo
.
class
);
return
true
;
}
return
false
;
}
return
false
;
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/admin/AdamMemberServiceAdminImpl.java
View file @
9265f499
...
...
@@ -8,11 +8,15 @@ import com.liquidnet.service.adam.dto.AdamMemberParam;
import
com.liquidnet.service.adam.dto.vo.AdamMemberVo
;
import
com.liquidnet.service.adam.entity.AdamMember
;
import
com.liquidnet.service.adam.mapper.AdamMemberMapper
;
import
com.liquidnet.service.adam.service.IAdamRdmService
;
import
com.liquidnet.service.adam.service.admin.IAdamMemberAdminService
;
import
com.liquidnet.service.base.ResponseDto
;
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.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
...
...
@@ -27,7 +31,7 @@ public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, Ad
@Autowired
MongoTemplate
mongoTemplate
;
@Autowired
RedisUtil
redisUtil
;
IAdamRdmService
adamRdmService
;
@Override
public
AdamMemberVo
add
(
AdamMemberParam
param
)
{
...
...
@@ -48,6 +52,21 @@ public class AdamMemberServiceAdminImpl extends ServiceImpl<AdamMemberMapper, Ad
mongoTemplate
.
insert
(
vo
,
AdamMemberVo
.
class
.
getSimpleName
());
adamRdmService
.
setMemberVoByMemberId
(
vo
.
getMemberId
(),
vo
);
return
vo
;
}
@Override
public
ResponseDto
<
Object
>
sync
()
{
List
<
AdamMember
>
list
=
adamMemberMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
AdamMember
.
class
).
orderByAsc
(
AdamMember:
:
getMemberId
));
if
(
CollectionUtils
.
isEmpty
(
list
))
{
return
ResponseDto
.
failure
(
"会员数据不存在,请核实"
);
}
mongoTemplate
.
remove
(
Query
.
query
(
Criteria
.
where
(
"_id"
).
exists
(
true
)),
AdamMemberVo
.
class
.
getSimpleName
());
AdamMemberVo
vo
=
AdamMemberVo
.
getNew
().
copy
(
list
.
get
(
0
));
mongoTemplate
.
insert
(
vo
,
AdamMemberVo
.
class
.
getSimpleName
());
adamRdmService
.
delMemberVoByMemberId
(
vo
.
getMemberId
());
return
ResponseDto
.
success
();
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/resources/errors.properties
View file @
9265f499
...
...
@@ -3,15 +3,15 @@
40003
=
TOKEN失效
# ------------------------ 4开头错误码作系统保留
10000
=
系统繁忙,请稍候重
试
10001
=
验证码发送失败
10002
=
验证码无效
10003
=
10004
=
10000
=
请求频繁,稍后再
试
10001
=
10002
=
10003
=
验证码发送失败
10004
=
手机验证码错误
10005
=
手机号获取失败,请更换登录方式
10006
=
第三方账号未注册
10007
=
第三方账号已绑定其它账号
10008
=
已
绑定同类型
第三方账号
10007
=
该第三方账号已经被其他用户绑定
10008
=
已
经绑定过该类型的
第三方账号
10009
=
OPENID不能为空
10010
=
10011
=
性别标签无效
...
...
@@ -26,7 +26,7 @@
10101
=
姓名或身份证件号无效
10102
=
实名认证失败
10102
=
身份证号与姓名不符
10103
=
10104
=
10105
=
入场人不存在
...
...
@@ -46,6 +46,7 @@
10210
=
创建订单失败,请联系客服
10211
=
订单不存在
10212
=
订单状态查询失败
10213
=
感谢您选择登登登。距您上一次离开不足一年,登登登还没准备好再次邀您加入。不如我们给彼此多一些时间,有缘再相见。
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/resources/sqlmap.properties
View file @
9265f499
adam_user.add
=
INSERT INTO adam_user (`uid`, mobile, `state`, created_at) VALUES (?,?,?,?)
adam_user.add
=
INSERT INTO adam_user (`uid`, mobile, `state`, is_complete, created_at) VALUES (?,?,?,?,?)
adam_user.complete
=
UPDATE adam_user SET is_complete=?, updated_at=? WHERE `uid`=?
adam_user.edit.mobile
=
UPDATE adam_user SET mobile=?, updated_at=? WHERE `uid`=?
adam_user.close
=
UPDATE adam_user SET `state`=2, updated_at=?, closed_at=? WHERE `uid`=?
# ----------------------------------------------------
adam_user_info.add
=
INSERT INTO adam_user_info (
nickname, sex, birthday, area, signature, avatar, background, qr_code, qr_pic, tag_me, `uid`) VALUES (?,?,?,?,?,?,?,?,?,
?,?)
adam_user_info.edit
=
UPDATE adam_user_info SET nickname=?, sex=?, birthday=?, area=?, signature=?, avatar=?, background=?,
qr_code=?, qr_pic=?,
tag_me=? WHERE uid=?
adam_user_info.add
=
INSERT INTO adam_user_info (
`uid`, qr_code) VALUES (
?,?)
adam_user_info.edit
=
UPDATE adam_user_info SET nickname=?, sex=?, birthday=?, area=?, signature=?, avatar=?, background=?, tag_me=? WHERE uid=?
# ----------------------------------------------------
adam_real_name.add
=
INSERT INTO adam_real_name (real_name_id, `uid`, `type`, `name`, id_card, `state`, created_at) VALUES (?,?,?,?,?,?,?)
...
...
liquidnet-bus-service/liquidnet-service-consumer/pom.xml
View file @
9265f499
...
...
@@ -31,6 +31,11 @@
<artifactId>
liquidnet-common-cache-redisson
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
<dependency>
<groupId>
com.liquidnet
</groupId>
<artifactId>
liquidnet-common-cache-redis
</artifactId>
<version>
1.0-SNAPSHOT
</version>
</dependency>
</dependencies>
<build>
...
...
liquidnet-bus-service/liquidnet-service-consumer/src/main/java/com/liquidnet/service/ServiceConsumerApplication.java
View file @
9265f499
...
...
@@ -21,7 +21,7 @@ import java.util.Arrays;
@Slf4j
@EnableAutoConfiguration
(
exclude
=
{
BusAutoConfiguration
.
class
,
MongoAutoConfiguration
.
class
,
RedisAutoConfiguration
.
class
}
exclude
=
{
BusAutoConfiguration
.
class
,
MongoAutoConfiguration
.
class
}
)
@SpringBootApplication
(
scanBasePackages
=
{
"com.liquidnet"
})
public
class
ServiceConsumerApplication
implements
CommandLineRunner
{
...
...
liquidnet-bus-service/liquidnet-service-consumer/src/main/java/com/liquidnet/service/consumer/service/IBaseDao.java
View file @
9265f499
...
...
@@ -21,6 +21,14 @@ public interface IBaseDao {
*/
Boolean
batchSqls
(
LinkedList
<
String
>
sql
,
LinkedList
<
Object
[]>...
values
);
/**
* 执行sql语句 无 参数
*
* @param sql
* @return
*/
Boolean
batchSqlNoArgs
(
LinkedList
<
String
>
sql
);
/**
* xs 新增一条记录且返回主键Id
*
...
...
liquidnet-bus-service/liquidnet-service-consumer/src/main/java/com/liquidnet/service/consumer/service/impl/BaseDao.java
View file @
9265f499
...
...
@@ -82,6 +82,26 @@ public class BaseDao implements IBaseDao {
}
}
@Override
public
Boolean
batchSqlNoArgs
(
final
LinkedList
<
String
>
sql
)
{
try
{
TransactionCallback
<
Boolean
>
callback
=
new
TransactionCallback
<
Boolean
>()
{
@Override
public
Boolean
doInTransaction
(
final
TransactionStatus
transactionStatus
)
{
for
(
String
o
:
sql
)
{
jdbcTemplate
.
execute
(
o
);
}
return
true
;
}
};
TransactionTemplate
tt
=
new
TransactionTemplate
(
transactionManager
);
return
tt
.
execute
(
callback
);
}
catch
(
Exception
ex
)
{
log
.
error
(
"###Error.Sqls:{}\nParameters:{},Ex:{}"
,
sql
);
return
false
;
}
}
/**
* xs 新增一条记录且返回主键Id
...
...
liquidnet-bus-service/liquidnet-service-consumer/src/main/java/com/liquidnet/service/consumer/service/processor/ConsumerProcessor.java
View file @
9265f499
This diff is collapsed.
Click to expand it.
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/controller/KylinOrderTicketsController.java
View file @
9265f499
...
...
@@ -71,9 +71,8 @@ public class KylinOrderTicketsController {
@GetMapping
(
"list"
)
@ApiOperation
(
"订单列表"
)
@ApiResponse
(
code
=
200
,
message
=
"接口返回对象参数"
)
public
ResponseDto
<
PageInfo
<
List
<
KylinOrderListVo
>>>
orderList
(
@RequestParam
(
"page"
)
int
page
,
@RequestParam
(
"size"
)
int
size
)
{
return
ResponseDto
.
success
(
orderTicketsService
.
orderList
(
page
,
size
));
public
ResponseDto
<
PageInfo
<
List
<
KylinOrderListVo
>>>
orderList
()
{
return
ResponseDto
.
success
(
orderTicketsService
.
orderList
());
}
@GetMapping
(
"details"
)
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/KylinOrderTicketsServiceImpl.java
View file @
9265f499
This diff is collapsed.
Click to expand it.
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/partner/KylinTicketTimesPartnerServiceImpl.java
View file @
9265f499
...
...
@@ -244,6 +244,6 @@ public class KylinTicketTimesPartnerServiceImpl extends ServiceImpl<KylinTicketT
@Override
public
KylinTicketTimesPartnerVo
getTimesMongo
(
String
timesId
)
{
return
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"ticketTimesId"
).
is
(
timesId
).
and
(
"status"
)
.
ne
(-
1
)
),
KylinTicketTimesPartnerVo
.
class
,
KylinTicketTimesPartnerVo
.
class
.
getSimpleName
());
return
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"ticketTimesId"
).
is
(
timesId
).
and
(
"status"
)),
KylinTicketTimesPartnerVo
.
class
,
KylinTicketTimesPartnerVo
.
class
.
getSimpleName
());
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/service/impl/partner/KylinTicketsPartnerServiceImpl.java
View file @
9265f499
...
...
@@ -118,9 +118,13 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
kylinTicketPartnerVo
.
setDefault
();
if
(
ticketCreateParam
.
getIsExpress
()==
1
){
kylinTicketPartnerVo
.
setDescribesExpress
(
ticketCreateParam
.
getDescribesExpress
());
}
else
{
kylinTicketPartnerVo
.
setDescribesExpress
(
""
);
}
if
(
ticketCreateParam
.
getIsElectronic
()==
1
){
kylinTicketPartnerVo
.
setDescribeElectronic
(
ticketCreateParam
.
getDescribeElectronic
());
}
else
{
kylinTicketPartnerVo
.
setDescribeElectronic
(
""
);
}
if
(
ticketCreateParam
.
getIsExpress
()
==
1
)
{
...
...
@@ -164,10 +168,15 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
kylinTicketPartnerVo
.
setType
(
kylinTicketTimesPartnerVo
.
getType
());
if
(
ticketCreateParam
.
getIsExpress
()==
1
){
kylinTicketPartnerVo
.
setDescribesExpress
(
ticketCreateParam
.
getDescribesExpress
());
}
else
{
kylinTicketPartnerVo
.
setDescribesExpress
(
""
);
}
if
(
ticketCreateParam
.
getIsElectronic
()==
1
){
kylinTicketPartnerVo
.
setDescribeElectronic
(
ticketCreateParam
.
getDescribeElectronic
());
}
else
{
kylinTicketPartnerVo
.
setDescribeElectronic
(
""
);
}
kylinTicketPartnerVo
.
setStatus
(-
2
);
kylinTicketPartnerVo
.
setDefault
();
...
...
@@ -296,7 +305,7 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
LocalDateTime
createdAt
=
LocalDateTime
.
now
();
PerformancePartnerVo
performancePartnerVo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"performancesId"
).
is
(
performanceId
)),
PerformancePartnerVo
.
class
,
PerformancePartnerVo
.
class
.
getSimpleName
());
if
(
performancePartnerVo
.
getAuditStatus
()==
0
){
if
(
performancePartnerVo
.
getAuditStatus
()==
0
||
performancePartnerVo
.
getAuditStatus
()==
1
){
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
20107
));
}
...
...
@@ -335,7 +344,7 @@ public class KylinTicketsPartnerServiceImpl extends ServiceImpl<KylinTicketsMapp
@Override
public
List
<
KylinTicketPartnerVo
>
getTicketMongoList
(
String
timesId
)
{
return
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"timesId"
).
is
(
timesId
)),
KylinTicketPartnerVo
.
class
,
KylinTicketPartnerVo
.
class
.
getSimpleName
());
return
mongoTemplate
.
find
(
Query
.
query
(
Criteria
.
where
(
"timesId"
).
is
(
timesId
)
.
and
(
"status"
).
ne
(-
1
)
),
KylinTicketPartnerVo
.
class
,
KylinTicketPartnerVo
.
class
.
getSimpleName
());
}
@Override
...
...
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/utils/OrderUtils.java
View file @
9265f499
package
com
.
liquidnet
.
service
.
kylin
.
utils
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.vo.AdamAddressesVo
;
import
com.liquidnet.service.adam.dto.vo.AdamEntersVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserMemberVo
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinOrderTicketEntitiesVo
;
import
io.swagger.models.auth.In
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -8,12 +14,15 @@ import org.springframework.data.mongodb.core.query.Query;
import
org.springframework.stereotype.Component
;
import
java.util.ArrayList
;
import
java.util.List
;
@Component
public
class
OrderUtils
{
@Autowired
private
DataUtils
dataUtils
;
@Autowired
private
RedisUtil
redisUtil
;
public
String
judgeOrderLimit
(
int
type
,
...
...
@@ -32,11 +41,11 @@ public class OrderUtils {
)
{
Integer
[]
integers
;
if
(
103
==
type
)
{
integers
=
roadShowOrderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
performanceBuyCount
,
ticketBuyCount
,
isTrueName
);
integers
=
roadShowOrderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
performanceBuyCount
,
ticketBuyCount
,
isTrueName
);
}
else
{
integers
=
festivalOrderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
performanceBuyCount
,
ticketBuyCount
,
isTrueName
);
integers
=
festivalOrderLimit
(
userId
,
idCard
,
performanceId
,
ticketId
,
performanceBuyCount
,
ticketBuyCount
,
isTrueName
);
}
return
judgeMemberType
(
performanceLimitCount
,
performanceMemberLimitCount
,
ticketLimitCount
,
ticketMemberLimitCount
,
memberType
,
integers
[
0
],
integers
[
1
]);
return
judgeMemberType
(
performanceLimitCount
,
performanceMemberLimitCount
,
ticketLimitCount
,
ticketMemberLimitCount
,
memberType
,
integers
[
0
],
integers
[
1
]);
}
public
Integer
[]
roadShowOrderLimit
(
...
...
@@ -55,7 +64,7 @@ public class OrderUtils {
performanceBuyCount
+=
dataUtils
.
getUserPBuyCount
(
userId
,
performanceId
);
ticketBuyCount
+=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
return
new
Integer
[]{
performanceBuyCount
,
ticketBuyCount
};
return
new
Integer
[]{
performanceBuyCount
,
ticketBuyCount
};
}
public
Integer
[]
festivalOrderLimit
(
...
...
@@ -75,7 +84,7 @@ public class OrderUtils {
ticketBuyCount
+=
dataUtils
.
getUserTBuyCount
(
userId
,
ticketId
);
}
return
new
Integer
[]{
performanceBuyCount
,
ticketBuyCount
};
return
new
Integer
[]{
performanceBuyCount
,
ticketBuyCount
};
}
public
String
judgeMemberType
(
int
performanceLimitCount
,
int
performanceMemberLimitCount
,
int
ticketLimitCount
,
int
ticketMemberLimitCount
,
int
memberType
,
int
performanceBuyCount
,
int
ticketBuyCount
)
{
...
...
@@ -97,4 +106,21 @@ public class OrderUtils {
return
""
;
}
public
boolean
isMember
(
String
uid
)
{
String
rk
=
AdamRedisConst
.
INFO_USER_MEMBER
.
concat
(
uid
);
AdamUserMemberVo
vo
=
(
AdamUserMemberVo
)
redisUtil
.
get
(
rk
);
return
null
!=
vo
&&
vo
.
isActive
();
}
public
AdamAddressesVo
getAddress
(
String
uid
,
String
addressesId
)
{
String
rk
=
AdamRedisConst
.
INFO_ADDRESSES
.
concat
(
uid
);
List
<
AdamAddressesVo
>
vos
=
(
List
<
AdamAddressesVo
>)
redisUtil
.
get
(
rk
);
return
vos
.
stream
().
filter
(
r
->
r
.
getAddressesId
().
equals
(
addressesId
)).
findAny
().
orElse
(
null
);
}
public
AdamEntersVo
getEnters
(
String
uid
,
String
entersId
)
{
String
rk
=
AdamRedisConst
.
INFO_ENTERS
.
concat
(
uid
);
List
<
AdamEntersVo
>
vos
=
(
List
<
AdamEntersVo
>)
redisUtil
.
get
(
rk
);
return
vos
.
stream
().
filter
(
r
->
r
.
getEntersId
().
equals
(
entersId
)).
findAny
().
orElse
(
null
);
}
}
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