记得上下班打卡 | 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
0df5812c
Commit
0df5812c
authored
Jun 09, 2021
by
张国柄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
会员支付回调API调整
parent
c846d046
Changes
18
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
333 additions
and
295 deletions
+333
-295
AdamMemberOrderCallbackParam.java
...uidnet/service/adam/dto/AdamMemberOrderCallbackParam.java
+24
-0
AdamMemberOrderParam.java
.../com/liquidnet/service/adam/dto/AdamMemberOrderParam.java
+2
-2
AdamMemberCodeVo.java
...a/com/liquidnet/service/adam/dto/vo/AdamMemberCodeVo.java
+1
-1
AdamMemberOrderVo.java
.../com/liquidnet/service/adam/dto/vo/AdamMemberOrderVo.java
+11
-10
IAdamMemberOrderService.java
...quidnet/service/adam/service/IAdamMemberOrderService.java
+2
-2
IAdamRdmService.java
...a/com/liquidnet/service/adam/service/IAdamRdmService.java
+10
-0
IAdamUserMemberService.java
...iquidnet/service/adam/service/IAdamUserMemberService.java
+7
-18
SqlMapping.java
.../src/main/java/com/liquidnet/service/base/SqlMapping.java
+1
-0
db_ln_adam_initialdata.sql
...quidnet-service-adam-impl/docu/db_ln_adam_initialdata.sql
+12
-7
AdamRedisConst.java
...a/com/liquidnet/service/adam/constant/AdamRedisConst.java
+6
-2
AdamLoginController.java
...iquidnet/service/adam/controller/AdamLoginController.java
+17
-14
AdamMemberOrderController.java
...et/service/adam/controller/AdamMemberOrderController.java
+33
-18
AdamMemberOrderServiceImpl.java
...service/adam/service/impl/AdamMemberOrderServiceImpl.java
+118
-143
AdamRdmServiceImpl.java
...quidnet/service/adam/service/impl/AdamRdmServiceImpl.java
+28
-3
AdamUserMemberServiceImpl.java
.../service/adam/service/impl/AdamUserMemberServiceImpl.java
+45
-68
AdamMemberCodeAdminServiceImpl.java
...am/service/impl/admin/AdamMemberCodeAdminServiceImpl.java
+1
-1
errors.properties
...et-service-adam-impl/src/main/resources/errors.properties
+3
-2
sqlmap.properties
...et-service-adam-impl/src/main/resources/sqlmap.properties
+12
-4
No files found.
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/AdamMemberOrderCallback
Result
.java
→
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/AdamMemberOrderCallback
Param
.java
View file @
0df5812c
package
com
.
liquidnet
.
service
.
adam
.
dto
;
package
com
.
liquidnet
.
service
.
adam
.
dto
;
import
com.fasterxml.jackson.annotation.JsonProperty
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.time.LocalDateTime
;
@ApiModel
(
value
=
"AdamMemberOrderCallback
Result
"
,
description
=
"购买会员或会员码的支付回调"
)
@ApiModel
(
value
=
"AdamMemberOrderCallback
Param
"
,
description
=
"购买会员或会员码的支付回调"
)
@Data
@Data
public
class
AdamMemberOrderCallback
Result
implements
Serializable
{
public
class
AdamMemberOrderCallback
Param
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
4161563334263071103L
;
private
static
final
long
serialVersionUID
=
-
4161563334263071103L
;
@ApiModelProperty
(
position
=
0
,
required
=
true
,
value
=
"订单状态"
)
private
Integer
status
;
private
Integer
status
;
@
ApiModelProperty
(
position
=
1
,
required
=
true
,
value
=
"订单号
"
)
@
JsonProperty
(
"order_code
"
)
private
String
orderCode
;
private
String
orderCode
;
@ApiModelProperty
(
position
=
2
,
required
=
true
,
value
=
"支付单号"
)
private
String
code
;
private
String
code
;
@ApiModelProperty
(
position
=
3
,
required
=
true
,
value
=
"购买类型"
)
private
String
type
;
private
String
type
;
@ApiModelProperty
(
position
=
4
,
required
=
true
,
value
=
"金额"
)
private
BigDecimal
price
;
private
BigDecimal
price
;
@
ApiModelProperty
(
position
=
5
,
required
=
true
,
value
=
"支付类型
"
)
@
JsonProperty
(
"payment_type
"
)
private
String
paymentType
;
private
String
paymentType
;
@
ApiModelProperty
(
position
=
6
,
required
=
true
,
value
=
"支付时间
"
)
@
JsonProperty
(
"payment_at
"
)
private
LocalDateTime
paymentAt
;
private
String
paymentAt
;
}
}
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/AdamMemberOrderParam.java
View file @
0df5812c
...
@@ -18,10 +18,10 @@ public class AdamMemberOrderParam implements Serializable {
...
@@ -18,10 +18,10 @@ public class AdamMemberOrderParam implements Serializable {
@ApiModelProperty
(
position
=
11
,
required
=
true
,
value
=
"购买方式:0-购买会员,1-购买会员码"
,
allowableValues
=
"0,1"
)
@ApiModelProperty
(
position
=
11
,
required
=
true
,
value
=
"购买方式:0-购买会员,1-购买会员码"
,
allowableValues
=
"0,1"
)
@NotNull@Min
(
0
)
@Max
(
1
)
@NotNull@Min
(
0
)
@Max
(
1
)
private
Integer
mode
;
private
Integer
mode
;
@ApiModelProperty
(
position
=
12
,
required
=
true
,
value
=
"应付金额"
,
example
=
"
199
"
)
@ApiModelProperty
(
position
=
12
,
required
=
true
,
value
=
"应付金额"
,
example
=
"
0.01
"
)
@DecimalMin
(
"0.01"
)
@DecimalMin
(
"0.01"
)
private
BigDecimal
price
;
private
BigDecimal
price
;
@ApiModelProperty
(
position
=
13
,
required
=
true
,
value
=
"实付金额"
,
example
=
"
199
"
)
@ApiModelProperty
(
position
=
13
,
required
=
true
,
value
=
"实付金额"
,
example
=
"
0.01
"
)
@DecimalMin
(
"0.01"
)
@DecimalMin
(
"0.01"
)
private
BigDecimal
pricePaid
;
private
BigDecimal
pricePaid
;
@ApiModelProperty
(
position
=
14
,
required
=
true
,
value
=
"会员价格ID"
)
@ApiModelProperty
(
position
=
14
,
required
=
true
,
value
=
"会员价格ID"
)
...
...
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamMemberCodeVo.java
View file @
0df5812c
...
@@ -21,7 +21,7 @@ public class AdamMemberCodeVo implements Serializable, Cloneable {
...
@@ -21,7 +21,7 @@ public class AdamMemberCodeVo implements Serializable, Cloneable {
@ApiModelProperty
(
position
=
4
,
value
=
"会员编号"
)
@ApiModelProperty
(
position
=
4
,
value
=
"会员编号"
)
private
String
memberNo
;
private
String
memberNo
;
@ApiModelProperty
(
position
=
5
,
value
=
"状态:0-未使用,1-已使用,2-不可用"
)
@ApiModelProperty
(
position
=
5
,
value
=
"状态:0-未使用,1-已使用,2-不可用"
)
private
int
state
;
private
Integer
state
;
@ApiModelProperty
(
position
=
6
,
value
=
"购买会员码的订单编号"
)
@ApiModelProperty
(
position
=
6
,
value
=
"购买会员码的订单编号"
)
private
String
buyOrderNo
;
private
String
buyOrderNo
;
@ApiModelProperty
(
position
=
7
,
value
=
"购买会员码的用户id"
)
@ApiModelProperty
(
position
=
7
,
value
=
"购买会员码的用户id"
)
...
...
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/dto/vo/AdamMemberOrderVo.java
View file @
0df5812c
...
@@ -33,25 +33,26 @@ public class AdamMemberOrderVo implements Serializable, Cloneable {
...
@@ -33,25 +33,26 @@ public class AdamMemberOrderVo implements Serializable, Cloneable {
private
String
memberNo
;
private
String
memberNo
;
@ApiModelProperty
(
position
=
9
,
value
=
"支付终端"
,
allowableValues
=
"app,wap,js,applet"
)
@ApiModelProperty
(
position
=
9
,
value
=
"支付终端"
,
allowableValues
=
"app,wap,js,applet"
)
private
String
deviceFrom
;
private
String
deviceFrom
;
@ApiModelProperty
(
position
=
9
,
value
=
"支付方式"
,
allowableValues
=
"alipay,wepay"
)
@ApiModelProperty
(
position
=
10
,
value
=
"支付方式"
,
allowableValues
=
"alipay,wepay"
)
private
String
payType
;
private
String
payType
;
@ApiModelProperty
(
position
=
1
0
,
value
=
"支付单号"
)
@ApiModelProperty
(
position
=
1
1
,
value
=
"支付单号"
)
private
String
payNo
;
private
String
payNo
;
@ApiModelProperty
(
position
=
1
1
,
value
=
"支付时间"
)
@ApiModelProperty
(
position
=
1
2
,
value
=
"支付时间"
)
private
String
paymentAt
;
private
String
paymentAt
;
@ApiModelProperty
(
position
=
13
,
value
=
"创建时间"
)
@ApiModelProperty
(
position
=
13
,
value
=
"创建时间"
)
private
String
createdAt
;
private
String
createdAt
;
@ApiModelProperty
(
position
=
14
,
value
=
"兑换码"
)
@ApiModelProperty
(
position
=
14
,
value
=
"价格"
)
private
String
memberCode
;
@ApiModelProperty
(
position
=
15
,
value
=
"价格"
)
private
BigDecimal
price
;
private
BigDecimal
price
;
@ApiModelProperty
(
position
=
1
6
,
value
=
"客户端IP"
)
@ApiModelProperty
(
position
=
1
5
,
value
=
"客户端IP"
)
private
String
ip
;
private
String
ip
;
@ApiModelProperty
(
position
=
1
7
,
value
=
"客户端来源"
)
@ApiModelProperty
(
position
=
1
6
,
value
=
"客户端来源"
)
private
String
source
;
private
String
source
;
@ApiModelProperty
(
position
=
1
8
,
value
=
"客户端版本"
)
@ApiModelProperty
(
position
=
1
7
,
value
=
"客户端版本"
)
private
String
version
;
private
String
version
;
@ApiModelProperty
(
position
=
20
,
value
=
"兑换码"
)
private
String
memberCode
;
public
static
final
AdamMemberOrderVo
obj
=
new
AdamMemberOrderVo
();
public
static
final
AdamMemberOrderVo
obj
=
new
AdamMemberOrderVo
();
public
static
AdamMemberOrderVo
getNew
()
{
public
static
AdamMemberOrderVo
getNew
()
{
...
@@ -63,7 +64,7 @@ public class AdamMemberOrderVo implements Serializable, Cloneable {
...
@@ -63,7 +64,7 @@ public class AdamMemberOrderVo implements Serializable, Cloneable {
return
new
AdamMemberOrderVo
();
return
new
AdamMemberOrderVo
();
}
}
public
static
List
<
Object
>
getMemberOrderMqList
(
AdamMemberOrderVo
orderVo
)
{
public
static
List
<
Object
>
getMemberOrderMqList
(
AdamMemberOrderVo
orderVo
)
{
List
<
Object
>
mqList
=
new
ArrayList
<>();
List
<
Object
>
mqList
=
new
ArrayList
<>();
mqList
.
add
(
orderVo
.
getOrderNo
());
mqList
.
add
(
orderVo
.
getOrderNo
());
mqList
.
add
(
orderVo
.
getUid
());
mqList
.
add
(
orderVo
.
getUid
());
...
...
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/service/IAdamMemberOrderService.java
View file @
0df5812c
package
com
.
liquidnet
.
service
.
adam
.
service
;
package
com
.
liquidnet
.
service
.
adam
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderCallback
Result
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderCallback
Param
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderCodeParam
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderCodeParam
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderParam
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderParam
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderResult
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderResult
;
...
@@ -48,6 +48,6 @@ public interface IAdamMemberOrderService extends IService<AdamMemberOrder> {
...
@@ -48,6 +48,6 @@ public interface IAdamMemberOrderService extends IService<AdamMemberOrder> {
* 支付回调
* 支付回调
* @return
* @return
*/
*/
ResponseDto
<
Object
>
memberNotifyCallBack
(
AdamMemberOrderCallback
Result
result
);
ResponseDto
<
Object
>
memberNotifyCallBack
(
AdamMemberOrderCallback
Param
parameter
);
}
}
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/service/IAdamRdmService.java
View file @
0df5812c
...
@@ -65,6 +65,12 @@ public interface IAdamRdmService {
...
@@ -65,6 +65,12 @@ public interface IAdamRdmService {
String
getMemberAgreement
();
String
getMemberAgreement
();
boolean
setMemberNoByMemberId
(
String
memberId
,
long
val
);
long
incrMemberNoByMemberId
(
String
memberId
);
Object
getMemberMaxNoByMemberId
(
String
memberId
);
boolean
setTagsForSex
(
List
<
AdamTagVo
>
voList
);
boolean
setTagsForSex
(
List
<
AdamTagVo
>
voList
);
List
<
AdamTagVo
>
getTagsForSex
();
List
<
AdamTagVo
>
getTagsForSex
();
...
@@ -72,4 +78,8 @@ public interface IAdamRdmService {
...
@@ -72,4 +78,8 @@ public interface IAdamRdmService {
boolean
setTagsForMusic
(
List
<
AdamTagParentVo
>
voList
);
boolean
setTagsForMusic
(
List
<
AdamTagParentVo
>
voList
);
List
<
AdamTagParentVo
>
getTagsForMusic
();
List
<
AdamTagParentVo
>
getTagsForMusic
();
boolean
setMemberCodeVoByCode
(
String
memberCode
,
AdamMemberCodeVo
vo
);
AdamMemberCodeVo
getMemberCodeVoByCode
(
String
memberCode
);
}
}
liquidnet-bus-api/liquidnet-service-adam-api/src/main/java/com/liquidnet/service/adam/service/IAdamUserMemberService.java
View file @
0df5812c
package
com
.
liquidnet
.
service
.
adam
.
service
;
package
com
.
liquidnet
.
service
.
adam
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.liquidnet.service.adam.dto.vo.AdamUserMemberVo
;
import
com.liquidnet.service.adam.entity.AdamUserMember
;
import
com.liquidnet.service.adam.entity.AdamUserMember
;
/**
/**
...
@@ -9,22 +8,12 @@ import com.liquidnet.service.adam.entity.AdamUserMember;
...
@@ -9,22 +8,12 @@ import com.liquidnet.service.adam.entity.AdamUserMember;
*/
*/
public
interface
IAdamUserMemberService
extends
IService
<
AdamUserMember
>
{
public
interface
IAdamUserMemberService
extends
IService
<
AdamUserMember
>
{
String
get
Max
MemberNo
(
String
memberId
);
String
get
Next
MemberNo
(
String
memberId
);
// 获取用户会员信息
// /**
// AdamUserMemberVo getUserMemberInfo(String uid);
// * 获取会员库存
// * @param memberId
/**
// * @return
* 获取会员库存
// */
* @param memberId
// boolean getOneFromRepertory(String memberId);
* @return
*/
boolean
getOneFromRepertory
(
String
memberId
);
/**
* 限购数量
* @param memberId
* @return
*/
Integer
getRepertoryCount
(
String
memberId
);
}
}
liquidnet-bus-common/liquidnet-common-service-base/src/main/java/com/liquidnet/service/base/SqlMapping.java
View file @
0df5812c
...
@@ -99,6 +99,7 @@ public class SqlMapping {
...
@@ -99,6 +99,7 @@ public class SqlMapping {
return
JsonUtils
.
toJson
(
sqlMessage
);
return
JsonUtils
.
toJson
(
sqlMessage
);
}
}
@SafeVarargs
public
static
String
gets
(
LinkedList
<
String
>
sqls
,
LinkedList
<
Object
[]>...
paramsList
)
{
public
static
String
gets
(
LinkedList
<
String
>
sqls
,
LinkedList
<
Object
[]>...
paramsList
)
{
SqlMapping
.
SqlMessage
sqlMessage
=
SqlMapping
.
SqlMessage
.
getInstance
();
SqlMapping
.
SqlMessage
sqlMessage
=
SqlMapping
.
SqlMessage
.
getInstance
();
sqlMessage
.
setSqls
(
sqls
);
sqlMessage
.
setSqls
(
sqls
);
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/docu/db_ln_adam_initialdata.sql
View file @
0df5812c
...
@@ -223,7 +223,8 @@ create table adam_member
...
@@ -223,7 +223,8 @@ create table adam_member
need_question
int
default
0
comment
'是否需要答题 0不需要 1需要'
,
need_question
int
default
0
comment
'是否需要答题 0不需要 1需要'
,
display_agreement
int
NOT
NULL
DEFAULT
'0'
COMMENT
'是否打开0否1是'
,
display_agreement
int
NOT
NULL
DEFAULT
'0'
COMMENT
'是否打开0否1是'
,
state
int
NOT
NULL
COMMENT
'状态:1-NORMAL,2-INVALID'
,
state
int
NOT
NULL
COMMENT
'状态:1-NORMAL,2-INVALID'
,
limitation
int
default
0
comment
'限购数量,0不限购'
limitation
int
default
0
comment
'限购数量,0不限购'
,
comment
text
);
);
-- >>------------------------------------------------------------------------------------
-- >>------------------------------------------------------------------------------------
drop
table
if
exists
adam_member_price
;
drop
table
if
exists
adam_member_price
;
...
@@ -239,7 +240,8 @@ create table adam_member_price
...
@@ -239,7 +240,8 @@ create table adam_member_price
days
int
NOT
NULL
DEFAULT
'0'
COMMENT
'会员包天数'
,
days
int
NOT
NULL
DEFAULT
'0'
COMMENT
'会员包天数'
,
detail
text
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_unicode_ci
NOT
NULL
COMMENT
'会员包须知'
,
detail
text
CHARACTER
SET
utf8mb4
COLLATE
utf8mb4_unicode_ci
NOT
NULL
COMMENT
'会员包须知'
,
created_at
datetime
,
created_at
datetime
,
updated_at
datetime
updated_at
datetime
,
comment
text
);
);
-- >>------------------------------------------------------------------------------------
-- >>------------------------------------------------------------------------------------
drop
table
if
exists
adam_member_order
;
drop
table
if
exists
adam_member_order
;
...
@@ -266,7 +268,8 @@ create table adam_member_order
...
@@ -266,7 +268,8 @@ create table adam_member_order
updated_at
datetime
,
updated_at
datetime
,
client_ip
varchar
(
50
),
client_ip
varchar
(
50
),
source
varchar
(
20
),
source
varchar
(
20
),
version
varchar
(
20
)
version
varchar
(
20
),
comment
text
);
);
-- >>------------------------------------------------------------------------------------
-- >>------------------------------------------------------------------------------------
drop
table
if
exists
adam_user_member
;
drop
table
if
exists
adam_user_member
;
...
@@ -279,7 +282,8 @@ create table adam_user_member
...
@@ -279,7 +282,8 @@ create table adam_user_member
state
tinyint
comment
'1-NORMAL,2-INVALID'
,
state
tinyint
comment
'1-NORMAL,2-INVALID'
,
expiry_at
datetime
comment
'到期日期'
,
expiry_at
datetime
comment
'到期日期'
,
created_at
datetime
,
created_at
datetime
,
updated_at
datetime
updated_at
datetime
,
comment
text
);
);
-- >>------------------------------------------------------------------------------------
-- >>------------------------------------------------------------------------------------
drop
table
if
exists
adam_member_code
;
drop
table
if
exists
adam_member_code
;
...
@@ -299,7 +303,8 @@ create table adam_member_code
...
@@ -299,7 +303,8 @@ create table adam_member_code
buy_at
datetime
default
null
comment
'购买时间'
,
buy_at
datetime
default
null
comment
'购买时间'
,
use_order_no
varchar
(
64
)
default
null
comment
'消费订单号'
,
use_order_no
varchar
(
64
)
default
null
comment
'消费订单号'
,
use_uid
varchar
(
64
)
default
null
comment
'消费用户ID'
,
use_uid
varchar
(
64
)
default
null
comment
'消费用户ID'
,
use_at
datetime
default
null
use_at
datetime
default
null
,
comment
text
);
);
-- >>------------------------------------------------------------------------------------
-- >>------------------------------------------------------------------------------------
-- >>------------------------------------------------------------------------------------
-- >>------------------------------------------------------------------------------------
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/constant/AdamRedisConst.java
View file @
0df5812c
...
@@ -16,7 +16,8 @@ public class AdamRedisConst {
...
@@ -16,7 +16,8 @@ public class AdamRedisConst {
public
static
final
String
INFO_USER
=
INFO
.
concat
(
"user:"
);
public
static
final
String
INFO_USER
=
INFO
.
concat
(
"user:"
);
public
static
final
String
INFO_REAL_NAME
=
INFO
.
concat
(
"real_name:"
);
public
static
final
String
INFO_REAL_NAME
=
INFO
.
concat
(
"real_name:"
);
public
static
final
String
INFO_THIRD_PARTY
=
INFO
.
concat
(
"third_party:"
);
public
static
final
String
INFO_THIRD_PARTY
=
INFO
.
concat
(
"third_party:"
);
public
static
final
String
INFO_USER_MEMBER
=
INFO
.
concat
(
"user_member:"
);
public
static
final
String
INFO_MEMBER_USER
=
INFO
.
concat
(
"member:user"
);
public
static
final
String
INFO_MEMBER_CODE
=
INFO
.
concat
(
"member:code:"
);
public
static
final
String
INFO_ENTERS
=
INFO
.
concat
(
"enters:"
);
public
static
final
String
INFO_ENTERS
=
INFO
.
concat
(
"enters:"
);
public
static
final
String
INFO_ADDRESSES
=
INFO
.
concat
(
"addresses:"
);
public
static
final
String
INFO_ADDRESSES
=
INFO
.
concat
(
"addresses:"
);
...
@@ -25,11 +26,14 @@ public class AdamRedisConst {
...
@@ -25,11 +26,14 @@ public class AdamRedisConst {
public
static
final
String
INFO_MEMBER_SIMPLE
=
INFO
.
concat
(
"member:simple"
);
public
static
final
String
INFO_MEMBER_SIMPLE
=
INFO
.
concat
(
"member:simple"
);
public
static
final
String
INFO_MEMBER_AGREEMENT
=
INFO
.
concat
(
"member:agreement"
);
public
static
final
String
INFO_MEMBER_AGREEMENT
=
INFO
.
concat
(
"member:agreement"
);
public
static
final
String
INCR
=
ADAM
.
concat
(
"incr:"
);
public
static
final
String
INCR_MEMBER_NO
=
INCR
.
concat
(
":member_no:"
);
public
static
final
String
INFO_MEMBERS
=
ADAM
.
concat
(
":list:members"
);
public
static
final
String
INFO_MEMBERS
=
ADAM
.
concat
(
":list:members"
);
public
static
final
String
INFO_MEMBERS_INFO
=
ADAM
.
concat
(
":list:members:info:"
);
public
static
final
String
INFO_MEMBERS_INFO
=
ADAM
.
concat
(
":list:members:info:"
);
public
static
final
String
INFO_MEMBERS_PRICE_INFO
=
ADAM
.
concat
(
":list:members:price:info:"
);
public
static
final
String
INFO_MEMBERS_PRICE_INFO
=
ADAM
.
concat
(
":list:members:price:info:"
);
public
static
final
String
INFO_MEMBERS_CODE_INFO
=
ADAM
.
concat
(
":list:members:code:info:"
);
public
static
final
String
INFO_MEMBERS_CODE_INFO
=
ADAM
.
concat
(
":list:members:code:info:"
);
public
static
final
String
MEMBER_MEMBER_NO_MAX_KEY
=
ADAM
.
concat
(
":members:member_no_max:"
);
public
static
final
String
INFO_MEMBERS_REPERTORY_INFO
=
ADAM
.
concat
(
":list:members:repertory:"
);
public
static
final
String
INFO_MEMBERS_REPERTORY_INFO
=
ADAM
.
concat
(
":list:members:repertory:"
);
public
static
final
String
INFO_MEMBERS_ORDER_INFO
=
ADAM
.
concat
(
":list:members:order:"
);
public
static
final
String
INFO_MEMBERS_ORDER_INFO
=
ADAM
.
concat
(
":list:members:order:"
);
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamLoginController.java
View file @
0df5812c
...
@@ -122,22 +122,23 @@ public class AdamLoginController {
...
@@ -122,22 +122,23 @@ public class AdamLoginController {
@Pattern
(
regexp
=
"\\d{6}"
,
message
=
"验证码格式有误"
)
@Pattern
(
regexp
=
"\\d{6}"
,
message
=
"验证码格式有误"
)
@RequestParam
String
code
)
{
@RequestParam
String
code
)
{
log
.
debug
(
"mobile:{},code:{}"
,
mobile
,
code
);
log
.
debug
(
"mobile:{},code:{}"
,
mobile
,
code
);
if
(!
this
.
checkSmsCode
(
mobile
,
code
))
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10002"
));
if
(!
this
.
checkSmsCode
(
mobile
,
code
))
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10002"
));
long
startTime
=
System
.
currentTimeMillis
();
long
startTime
=
System
.
currentTimeMillis
();
String
uid
=
adamRdmService
.
getUidByMobile
(
mobile
);
String
uid
=
adamRdmService
.
getUidByMobile
(
mobile
);
log
.
info
(
"redis getUidByMobile calltime: {}"
,
System
.
currentTimeMillis
()
-
startTime
);
log
.
info
(
"redis getUidByMobile calltime: {}"
,
System
.
currentTimeMillis
()
-
startTime
);
AdamUserInfoVo
userInfoVo
=
boolean
toRegister
=
StringUtils
.
isEmpty
(
uid
);
StringUtils
.
isEmpty
(
uid
)
?
adamUserService
.
register
(
mobile
)
:
adamRdmService
.
getUserInfoVoByUid
(
uid
);
AdamUserInfoVo
userInfoVo
=
toRegister
?
adamUserService
.
register
(
mobile
)
:
adamRdmService
.
getUserInfoVoByUid
(
uid
);
AdamLoginInfoVo
loginInfoVo
=
AdamLoginInfoVo
.
getNew
();
AdamLoginInfoVo
loginInfoVo
=
AdamLoginInfoVo
.
getNew
();
// if (userInfoVo.getIsComplete() == 1) {
// if (userInfoVo.getIsComplete() == 1) {
if
(!
toRegister
)
{
loginInfoVo
.
setRealNameInfo
(
adamRdmService
.
getRealInfoVoByUid
(
userInfoVo
.
getUid
()));
loginInfoVo
.
setRealNameInfo
(
adamRdmService
.
getRealInfoVoByUid
(
userInfoVo
.
getUid
()));
loginInfoVo
.
setThirdPartInfo
(
adamRdmService
.
getThirdPartVoListByUid
(
userInfoVo
.
getUid
()));
loginInfoVo
.
setThirdPartInfo
(
adamRdmService
.
getThirdPartVoListByUid
(
userInfoVo
.
getUid
()));
loginInfoVo
.
setUserMemberVo
(
adamRdmService
.
getUserMemberVoByUid
(
userInfoVo
.
getUid
()));
loginInfoVo
.
setUserMemberVo
(
adamRdmService
.
getUserMemberVoByUid
(
userInfoVo
.
getUid
()));
}
loginInfoVo
.
setMemberSimpleVo
(
adamRdmService
.
getMemberSimpleVo
());
loginInfoVo
.
setMemberSimpleVo
(
adamRdmService
.
getMemberSimpleVo
());
// }
loginInfoVo
.
setUserInfo
(
userInfoVo
);
loginInfoVo
.
setUserInfo
(
userInfoVo
);
loginInfoVo
.
setToken
(
this
.
ssoProcess
(
userInfoVo
));
loginInfoVo
.
setToken
(
this
.
ssoProcess
(
userInfoVo
));
return
ResponseDto
.
success
(
loginInfoVo
);
return
ResponseDto
.
success
(
loginInfoVo
);
...
@@ -151,20 +152,22 @@ public class AdamLoginController {
...
@@ -151,20 +152,22 @@ public class AdamLoginController {
@PostMapping
(
value
=
{
"login/mobile"
})
@PostMapping
(
value
=
{
"login/mobile"
})
public
ResponseDto
<
AdamLoginInfoVo
>
loginByMobile
(
@NotBlank
(
message
=
"访问令牌不能为空"
)
@RequestParam
String
accessToken
)
{
public
ResponseDto
<
AdamLoginInfoVo
>
loginByMobile
(
@NotBlank
(
message
=
"访问令牌不能为空"
)
@RequestParam
String
accessToken
)
{
log
.
debug
(
"login by mobile access token:{}"
,
accessToken
);
log
.
debug
(
"login by mobile access token:{}"
,
accessToken
);
String
mobile
=
this
.
getMobile
(
accessToken
);
String
mobile
=
this
.
getMobile
(
accessToken
);
if
(
StringUtils
.
isEmpty
(
mobile
))
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10005"
));
if
(
StringUtils
.
isEmpty
(
mobile
))
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10005"
));
String
uid
=
adamRdmService
.
getUidByMobile
(
mobile
);
String
uid
=
adamRdmService
.
getUidByMobile
(
mobile
);
AdamUserInfoVo
userInfoVo
=
boolean
toRegister
=
StringUtils
.
isEmpty
(
uid
);
StringUtils
.
isEmpty
(
uid
)
?
adamUserService
.
register
(
mobile
)
:
adamRdmService
.
getUserInfoVoByUid
(
uid
);
AdamUserInfoVo
userInfoVo
=
toRegister
?
adamUserService
.
register
(
mobile
)
:
adamRdmService
.
getUserInfoVoByUid
(
uid
);
AdamLoginInfoVo
loginInfoVo
=
AdamLoginInfoVo
.
getNew
();
AdamLoginInfoVo
loginInfoVo
=
AdamLoginInfoVo
.
getNew
();
// if (loginInfoVo.getUserInfo().getIsComplete() == 1) {
// if (loginInfoVo.getUserInfo().getIsComplete() == 1) {
if
(!
toRegister
)
{
loginInfoVo
.
setRealNameInfo
(
adamRdmService
.
getRealInfoVoByUid
(
userInfoVo
.
getUid
()));
loginInfoVo
.
setRealNameInfo
(
adamRdmService
.
getRealInfoVoByUid
(
userInfoVo
.
getUid
()));
loginInfoVo
.
setThirdPartInfo
(
adamRdmService
.
getThirdPartVoListByUid
(
userInfoVo
.
getUid
()));
loginInfoVo
.
setThirdPartInfo
(
adamRdmService
.
getThirdPartVoListByUid
(
userInfoVo
.
getUid
()));
loginInfoVo
.
setUserMemberVo
(
adamRdmService
.
getUserMemberVoByUid
(
userInfoVo
.
getUid
()));
loginInfoVo
.
setUserMemberVo
(
adamRdmService
.
getUserMemberVoByUid
(
userInfoVo
.
getUid
()));
}
loginInfoVo
.
setMemberSimpleVo
(
adamRdmService
.
getMemberSimpleVo
());
loginInfoVo
.
setMemberSimpleVo
(
adamRdmService
.
getMemberSimpleVo
());
// }
loginInfoVo
.
setUserInfo
(
userInfoVo
);
loginInfoVo
.
setUserInfo
(
userInfoVo
);
loginInfoVo
.
setToken
(
this
.
ssoProcess
(
userInfoVo
));
loginInfoVo
.
setToken
(
this
.
ssoProcess
(
userInfoVo
));
return
ResponseDto
.
success
(
AdamLoginInfoVo
.
getNew
());
return
ResponseDto
.
success
(
AdamLoginInfoVo
.
getNew
());
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/controller/AdamMemberOrderController.java
View file @
0df5812c
...
@@ -6,7 +6,8 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
...
@@ -6,7 +6,8 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.commons.lang.util.HttpUtil
;
import
com.liquidnet.commons.lang.util.HttpUtil
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.commons.lang.util.JsonUtils
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderCallbackResult
;
import
com.liquidnet.service.adam.constant.AdamMemberConst
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderCallbackParam
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderCodeParam
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderCodeParam
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderParam
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderParam
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderResult
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderResult
;
...
@@ -76,7 +77,7 @@ public class AdamMemberOrderController {
...
@@ -76,7 +77,7 @@ public class AdamMemberOrderController {
@PostMapping
(
"buy"
)
@PostMapping
(
"buy"
)
public
ResponseDto
<
AdamMemberOrderResult
>
buyMemberOrCode
(
@Valid
@RequestBody
AdamMemberOrderParam
param
)
{
public
ResponseDto
<
AdamMemberOrderResult
>
buyMemberOrCode
(
@Valid
@RequestBody
AdamMemberOrderParam
param
)
{
try
{
try
{
log
.
info
(
"member/order/buy:param:{}"
,
JsonUtils
.
toJson
(
param
));
log
.
debug
(
"member/order/buy:param:{}"
,
JsonUtils
.
toJson
(
param
));
AdamRealInfoVo
realInfoVo
=
adamRealNameService
.
queryByUid
(
CurrentUtil
.
getCurrentUid
());
AdamRealInfoVo
realInfoVo
=
adamRealNameService
.
queryByUid
(
CurrentUtil
.
getCurrentUid
());
if
(
null
==
realInfoVo
)
{
if
(
null
==
realInfoVo
)
{
...
@@ -88,14 +89,38 @@ public class AdamMemberOrderController {
...
@@ -88,14 +89,38 @@ public class AdamMemberOrderController {
return
adamMemberOrderService
.
buyMemberOrMemberCode
(
param
);
return
adamMemberOrderService
.
buyMemberOrMemberCode
(
param
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"
系统异常:购买会员或会员码
"
,
e
);
log
.
error
(
"
购买会员或会员码异常
"
,
e
);
return
ResponseDto
.
failure
();
return
ResponseDto
.
failure
();
}
}
}
}
@ApiOperationSupport
(
order
=
2
)
@ApiOperationSupport
(
order
=
2
)
@ApiOperation
(
value
=
"会员支付回调"
)
@PostMapping
(
"callback"
)
public
String
paymentCallBack
(
@ModelAttribute
AdamMemberOrderCallbackParam
parameter
){
log
.
debug
(
"/member/callback.parameter:{}"
,
JsonUtils
.
toJson
(
parameter
));
if
(
1
!=
parameter
.
getStatus
()
||
!
parameter
.
getType
().
equals
(
AdamMemberConst
.
TYPE_VIP
)
||
null
==
parameter
.
getOrderCode
()
||
null
==
parameter
.
getCode
())
{
log
.
error
(
"会员支付回调参数有误:{}"
,
JsonUtils
.
toJson
(
parameter
));
return
"fail"
;
}
ResponseDto
<
Object
>
dto
=
adamMemberOrderService
.
memberNotifyCallBack
(
parameter
);
if
(!
dto
.
isSuccess
())
{
log
.
warn
(
"###会员支付回调处理失败:handleDto:{},CallbackParam:{}"
,
JsonUtils
.
toJson
(
dto
),
JsonUtils
.
toJson
(
parameter
));
return
"fail"
;
}
return
"success"
;
}
@ApiOperationSupport
(
order
=
3
)
@ApiOperation
(
value
=
"使用兑换码"
)
@ApiOperation
(
value
=
"使用兑换码"
)
@PostMapping
(
"
use/memberCod
e"
)
@PostMapping
(
"
exchang
e"
)
public
ResponseDto
<
AdamMemberOrderResult
>
useMemberCode
(
@Valid
@RequestBody
AdamMemberOrderCodeParam
param
)
{
public
ResponseDto
<
AdamMemberOrderResult
>
useMemberCode
(
@Valid
@RequestBody
AdamMemberOrderCodeParam
param
)
{
try
{
try
{
AdamRealInfoVo
realInfoVo
=
adamRealNameService
.
queryByUid
(
CurrentUtil
.
getCurrentUid
());
AdamRealInfoVo
realInfoVo
=
adamRealNameService
.
queryByUid
(
CurrentUtil
.
getCurrentUid
());
...
@@ -108,12 +133,12 @@ public class AdamMemberOrderController {
...
@@ -108,12 +133,12 @@ public class AdamMemberOrderController {
return
adamMemberOrderService
.
useMemberCode
(
param
);
return
adamMemberOrderService
.
useMemberCode
(
param
);
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
log
.
error
(
"
系统异常:使用兑换码
"
,
e
);
log
.
error
(
"
使用兑换码异常
"
,
e
);
return
ResponseDto
.
failure
();
return
ResponseDto
.
failure
();
}
}
}
}
@ApiOperationSupport
(
order
=
3
)
@ApiOperationSupport
(
order
=
4
)
@ApiOperation
(
value
=
"会员订单列表"
)
@ApiOperation
(
value
=
"会员订单列表"
)
@GetMapping
(
"list"
)
@GetMapping
(
"list"
)
public
ResponseDto
<
List
<
AdamMemberOrderVo
>>
getMemberOrderList
()
{
public
ResponseDto
<
List
<
AdamMemberOrderVo
>>
getMemberOrderList
()
{
...
@@ -122,7 +147,7 @@ public class AdamMemberOrderController {
...
@@ -122,7 +147,7 @@ public class AdamMemberOrderController {
return
ResponseDto
.
success
(
memberOrderList
);
return
ResponseDto
.
success
(
memberOrderList
);
}
}
@ApiOperationSupport
(
order
=
4
)
@ApiOperationSupport
(
order
=
5
)
@ApiOperation
(
value
=
"会员订单详情"
)
@ApiOperation
(
value
=
"会员订单详情"
)
@GetMapping
(
"info/{orderNo}"
)
@GetMapping
(
"info/{orderNo}"
)
public
ResponseDto
<
AdamMemberOrderVo
>
getMemberOrderList
(
@NotBlank
@PathVariable
String
orderNo
)
{
public
ResponseDto
<
AdamMemberOrderVo
>
getMemberOrderList
(
@NotBlank
@PathVariable
String
orderNo
)
{
...
@@ -130,17 +155,7 @@ public class AdamMemberOrderController {
...
@@ -130,17 +155,7 @@ public class AdamMemberOrderController {
return
ResponseDto
.
success
(
memberOrderInfo
);
return
ResponseDto
.
success
(
memberOrderInfo
);
}
}
@ApiOperationSupport
(
order
=
5
)
@ApiOperationSupport
(
order
=
6
)
@ApiOperation
(
value
=
"会员支付回调"
)
@PostMapping
(
"callback"
)
public
void
memberOrderCallBack
(
@ModelAttribute
AdamMemberOrderCallbackResult
result
){
log
.
debug
(
"callback.result:{}"
,
JsonUtils
.
toJson
(
result
));
ResponseDto
<
Object
>
dto
=
adamMemberOrderService
.
memberNotifyCallBack
(
result
);
if
(!
dto
.
isSuccess
())
{
log
.
warn
(
JsonUtils
.
toJson
(
dto
));
}
}
@ApiOperation
(
value
=
"会员订单状态"
)
@ApiOperation
(
value
=
"会员订单状态"
)
@GetMapping
(
"check"
)
@GetMapping
(
"check"
)
public
ResponseDto
<
Integer
>
checkOrderResult
(
@NotBlank
@RequestParam
String
orderNo
)
{
public
ResponseDto
<
Integer
>
checkOrderResult
(
@NotBlank
@RequestParam
String
orderNo
)
{
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamMemberOrderServiceImpl.java
View file @
0df5812c
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
package
com
.
liquidnet
.
service
.
adam
.
service
.
impl
;
import
com.alibaba.fastjson.JSON
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.mq.constant.MQConst
;
import
com.liquidnet.commons.lang.util.*
;
import
com.liquidnet.commons.lang.util.*
;
import
com.liquidnet.service.adam.constant.AdamMemberConst
;
import
com.liquidnet.service.adam.constant.AdamMemberConst
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderCallback
Result
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderCallback
Param
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderCodeParam
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderCodeParam
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderParam
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderParam
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderResult
;
import
com.liquidnet.service.adam.dto.AdamMemberOrderResult
;
...
@@ -21,7 +21,7 @@ import com.liquidnet.service.adam.service.admin.IAdamMemberPriceService;
...
@@ -21,7 +21,7 @@ import com.liquidnet.service.adam.service.admin.IAdamMemberPriceService;
import
com.liquidnet.service.adam.util.MemberUtil
;
import
com.liquidnet.service.adam.util.MemberUtil
;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.ErrorMapping
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.
mongodb.BasicDBObject
;
import
com.
liquidnet.service.base.SqlMapping
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.bson.Document
;
import
org.bson.Document
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
...
@@ -327,152 +327,127 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
...
@@ -327,152 +327,127 @@ public class AdamMemberOrderServiceImpl extends ServiceImpl<AdamMemberOrderMappe
}
}
@Override
@Override
public
ResponseDto
<
Object
>
memberNotifyCallBack
(
AdamMemberOrderCallbackResult
result
)
{
public
ResponseDto
<
Object
>
memberNotifyCallBack
(
AdamMemberOrderCallbackParam
parameter
)
{
if
(
1
!=
result
.
getStatus
()
||
AdamMemberOrderVo
handleMemberOrderVo
=
mongoTemplate
.
findOne
(
!
result
.
getType
().
equals
(
AdamMemberConst
.
TYPE_VIP
)
||
Query
.
query
(
Criteria
.
where
(
"orderNo"
).
is
(
parameter
.
getOrderCode
())),
null
==
result
.
getOrderCode
()
||
AdamMemberOrderVo
.
class
,
AdamMemberOrderVo
.
class
.
getSimpleName
()
null
==
result
.
getCode
())
{
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10500"
),
result
);
// AdamMemberConst.STATUS_*:0-待支付,1-已支付,2-已过期,3-超时付,4-退款中,5-退款完成
if
(
1
==
handleMemberOrderVo
.
getState
()
||
3
==
handleMemberOrderVo
.
getState
())
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10502"
),
parameter
);
}
}
if
(
parameter
.
getPrice
().
compareTo
(
handleMemberOrderVo
.
getPrice
())
!=
0
)
{
AdamMemberOrderVo
orderVo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"orderNo"
).
is
(
result
.
getOrderCode
())),
AdamMemberOrderVo
.
class
,
AdamMemberOrderVo
.
class
.
getSimpleName
());
// 订单金额比对
int
state
=
orderVo
.
getState
();
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10503"
),
parameter
);
if
(
AdamMemberConst
.
STATUS_PAID
==
state
||
AdamMemberConst
.
STATUS_LATE
==
state
)
{
// 订单已经处理过
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10502"
),
result
);
}
}
if
(
result
.
getPrice
().
compareTo
(
orderVo
.
getPrice
())
!=
0
)
{
AdamMemberPriceVo
memberPriceVo
=
adamMemberPriceService
.
query
(
handleMemberOrderVo
.
getMemberId
(),
handleMemberOrderVo
.
getMemberPriceId
());
// 金额不一致
if
(
null
==
memberPriceVo
)
{
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"1050
3"
),
result
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"1050
0"
)
);
}
}
/**
* 购买方式[order.mode]:
* 0-购买会员
* 1-购买会员码(不需要填写地址)
* 2-使用会员码(购买的) 仅限从未购买过会员的用户使用,需要填写地址
* 3-使用礼包码(赠送的) 仅限从未购买过会员的用户使用,不需要填写地址
*/
LinkedList
<
String
>
toMqSqls
=
new
LinkedList
<>();
LinkedList
<
Object
[]>
operationObjs
=
new
LinkedList
<>(),
updateMemberOrderObjs
=
new
LinkedList
<>();
AdamMemberOrderVo
updateMemberOrderVo
=
AdamMemberOrderVo
.
getNew
();
String
currentDateTime
=
DateUtil
.
getNowTime
();
String
currentDateTime
=
DateUtil
.
getNowTime
();
// 获取购买天数
if
(
0
==
handleMemberOrderVo
.
getMode
())
{
// 购买会员回调
AdamMemberPriceVo
priceVo
=
adamMemberPriceService
.
query
(
orderVo
.
getMemberId
(),
orderVo
.
getMemberPriceId
());
AdamUserMemberVo
existUserMemberVo
=
adamRdmService
.
getUserMemberVoByUid
(
handleMemberOrderVo
.
getUid
());
String
cardNumber
=
""
;
if
(
null
==
existUserMemberVo
)
{
// 创建会员
AdamMemberCodeVo
codeVo
=
null
;
String
memberNo
=
adamUserMemberService
.
getNextMemberNo
(
handleMemberOrderVo
.
getMemberId
());
int
day
=
priceVo
.
getDays
();
try
{
AdamUserMemberVo
initUserMemberVo
=
AdamUserMemberVo
.
getNew
();
if
(
AdamMemberConst
.
SUB_TYPE_BUY_VIP
.
equals
(
orderVo
.
getMode
()))
{
// 购买会员
initUserMemberVo
.
setUid
(
handleMemberOrderVo
.
getUid
());
AdamUserMemberVo
userMemberInfo
=
adamRdmService
.
getUserMemberVoByUid
(
orderVo
.
getUid
());
initUserMemberVo
.
setMemberId
(
handleMemberOrderVo
.
getMemberId
());
if
(
null
==
userMemberInfo
)
{
// 创建会员
initUserMemberVo
.
setMemberNo
(
memberNo
);
cardNumber
=
adamUserMemberService
.
getMaxMemberNo
(
orderVo
.
getMemberId
());
initUserMemberVo
.
setState
(
1
);
// 1-正常,2-失效
AdamUserMemberVo
createMemberUser
=
AdamUserMemberVo
.
getNew
();
Date
expiryAt
=
DateUtil
.
getBeforeDayEnd
(
Calendar
.
getInstance
(),
memberPriceVo
.
getDays
());
createMemberUser
.
setMemberId
(
orderVo
.
getMemberId
());
initUserMemberVo
.
setExpiryAt
(
DateUtil
.
format
(
expiryAt
,
DateUtil
.
Formatter
.
yyyyMMddHHmmss
));
createMemberUser
.
setMemberNo
(
orderVo
.
getMemberNo
());
initUserMemberVo
.
setCreatedAt
(
currentDateTime
);
createMemberUser
.
setState
(
AdamMemberConst
.
STATE_VALID
);
createMemberUser
.
setUid
(
orderVo
.
getUid
());
createMemberUser
.
setCreatedAt
(
currentDateTime
);
createMemberUser
.
setUpdatedAt
(
currentDateTime
);
createMemberUser
.
setMemberNo
(
cardNumber
);
Date
expiryAt
=
DateUtil
.
getBeforeDayEnd
(
Calendar
.
getInstance
(),
day
);
String
expiryAtStr
=
DateUtil
.
format
(
expiryAt
,
DateUtil
.
Formatter
.
yyyyMMddHHmmss
);
createMemberUser
.
setExpiryAt
(
expiryAtStr
);
// todo vip card code 记录 自动创建并使用
codeVo
=
this
.
getAdamMemberCodeVo
(
orderVo
,
result
.
getCode
(),
currentDateTime
);
codeVo
.
setState
(
1
);
codeVo
.
setUseUid
(
orderVo
.
getUid
());
codeVo
.
setUseOrderNo
(
orderVo
.
getMemberCode
());
codeVo
.
setMemberNo
(
orderVo
.
getMemberNo
());
codeVo
.
setUseAt
(
currentDateTime
);
codeVo
.
setMemberCodeId
(
IDGenerator
.
nextSnowId
().
toString
());
// 订单写入MongoDB和Redis中
// 订单写入MongoDB和Redis中
mongoTemplate
.
insert
(
createMemberUser
,
AdamUserMemberVo
.
class
.
getSimpleName
());
mongoTemplate
.
insert
(
initUserMemberVo
,
AdamUserMemberVo
.
class
.
getSimpleName
());
// redisUtil.hset(AdamRedisConst.INFO_MEMBERS_USER, orderVo.getUid(), createMemberUser);
adamRdmService
.
setUserMemberVoByUid
(
handleMemberOrderVo
.
getUid
(),
initUserMemberVo
);
adamRdmService
.
setUserMemberVoByUid
(
orderVo
.
getUid
(),
createMemberUser
);
// 会员码使用记录
mongoTemplate
.
insert
(
codeVo
,
AdamMemberCodeVo
.
class
.
getSimpleName
());
redisUtil
.
hset
(
AdamRedisConst
.
INFO_MEMBERS_CODE_INFO
.
concat
(
codeVo
.
getBuyUid
()),
codeVo
.
getBuyOrderNo
(),
codeVo
);
// todo mq 发送数据到队列中
updateMemberOrderVo
.
setMemberNo
(
memberNo
);
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_user_member.add"
));
operationObjs
.
add
(
new
Object
[]{
initUserMemberVo
.
getUid
(),
initUserMemberVo
.
getMemberId
(),
initUserMemberVo
.
getMemberNo
(),
initUserMemberVo
.
getState
(),
initUserMemberVo
.
getExpiryAt
(),
initUserMemberVo
.
getCreatedAt
()
});
}
else
{
// 续费
}
else
{
// 续费
String
currentExpiryAt
=
userMemberInf
o
.
getExpiryAt
();
String
currentExpiryAt
=
existUserMemberV
o
.
getExpiryAt
();
Date
now
=
DateUtil
.
parse
(
DateUtil
.
getNowTime
()
,
DateUtil
.
DATE_SMALL_STR
),
Date
now
=
DateUtil
.
parse
(
currentDateTime
,
DateUtil
.
DATE_SMALL_STR
),
currentExpiryAtDate
=
DateUtil
.
parse
(
currentExpiryAt
,
DateUtil
.
DATE_FULL_STR
);
currentExpiryAtDate
=
DateUtil
.
parse
(
currentExpiryAt
,
DateUtil
.
DATE_FULL_STR
);
currentExpiryAtDate
=
currentExpiryAtDate
.
before
(
now
)
?
now
:
currentExpiryAtDate
;
currentExpiryAtDate
=
currentExpiryAtDate
.
before
(
now
)
?
now
:
currentExpiryAtDate
;
Calendar
calendar
=
Calendar
.
getInstance
();
Calendar
calendar
=
Calendar
.
getInstance
();
calendar
.
setTime
(
currentExpiryAtDate
);
calendar
.
setTime
(
currentExpiryAtDate
);
Date
expiryAt
=
DateUtil
.
getBeforeDayEnd
(
calendar
,
memberPriceVo
.
getDays
());
Date
expiryAt
=
DateUtil
.
getBeforeDayEnd
(
calendar
,
day
);
existUserMemberVo
.
setExpiryAt
(
DateUtil
.
format
(
expiryAt
,
DateUtil
.
Formatter
.
yyyyMMddHHmmss
));
String
expiryAtStr
=
DateUtil
.
format
(
expiryAt
,
DateUtil
.
Formatter
.
yyyyMMddHHmmss
);
existUserMemberVo
.
setState
(
1
);
// 1-正常,2-失效
userMemberInfo
.
setExpiryAt
(
expiryAtStr
);
BasicDBObject
object
=
new
BasicDBObject
(
"$set"
,
JSON
.
parse
(
JsonUtils
.
toJson
(
userMemberInfo
)));
mongoTemplate
.
getCollection
(
AdamUserMemberVo
.
class
.
getSimpleName
())
mongoTemplate
.
getCollection
(
AdamUserMemberVo
.
class
.
getSimpleName
())
.
updateOne
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
userMemberInfo
.
getUid
())).
getQueryObject
(),
object
);
.
updateOne
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
existUserMemberVo
.
getUid
())).
getQueryObject
(),
new
Document
(
"$set"
,
Document
.
parse
(
JsonUtils
.
toJson
(
existUserMemberVo
))));
// redisUtil.hset(AdamRedisConst.INFO_MEMBERS_USER, orderVo.getUid(), userMemberInfo);
adamRdmService
.
setUserMemberVoByUid
(
handleMemberOrderVo
.
getUid
(),
existUserMemberVo
);
adamRdmService
.
setUserMemberVoByUid
(
orderVo
.
getUid
(),
userMemberInfo
);
}
}
if
(
AdamMemberConst
.
SUB_TYPE_BUY_VIP_CODE
.
equals
(
orderVo
.
getMode
()))
{
// 购买会员码
cardNumber
=
adamUserMemberService
.
getMaxMemberNo
(
orderVo
.
getMemberId
());
codeVo
=
this
.
getAdamMemberCodeVo
(
orderVo
,
result
.
getCode
(),
currentDateTime
);
codeVo
.
setState
(
0
);
codeVo
.
setMemberNo
(
cardNumber
);
mongoTemplate
.
insert
(
codeVo
,
AdamMemberCodeVo
.
class
.
getSimpleName
());
updateMemberOrderVo
.
setMemberNo
(
existUserMemberVo
.
getMemberNo
());
redisUtil
.
hset
(
AdamRedisConst
.
INFO_MEMBERS_CODE_INFO
.
concat
(
codeVo
.
getBuyUid
()),
codeVo
.
getBuyOrderNo
(),
codeVo
);
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_user_member.update"
));
operationObjs
.
add
(
new
Object
[]{
existUserMemberVo
.
getState
(),
existUserMemberVo
.
getExpiryAt
(),
currentDateTime
,
existUserMemberVo
.
getUid
()
});
}
}
// 更新订单信息
orderVo
.
setPaymentAt
(
DateUtil
.
format
(
result
.
getPaymentAt
(),
DateUtil
.
Formatter
.
yyyyMMddHHmmss
));
orderVo
.
setState
(
AdamMemberConst
.
STATUS_PAID
);
orderVo
.
setPayNo
(
result
.
getCode
());
orderVo
.
setMemberNo
(
cardNumber
);
if
(
null
!=
codeVo
)
{
orderVo
.
setMemberCode
(
codeVo
.
getCode
());
// 兑换码数据
}
}
if
(
1
==
handleMemberOrderVo
.
getMode
())
{
// 购买会员码回调
String
memberNo
=
adamUserMemberService
.
getNextMemberNo
(
handleMemberOrderVo
.
getMemberId
());
BasicDBObject
object
=
new
BasicDBObject
(
"$set"
,
JSON
.
parse
(
JsonUtils
.
toJson
(
orderVo
)));
AdamMemberCodeVo
initMemberCodeVo
=
new
AdamMemberCodeVo
();
initMemberCodeVo
.
setCode
(
MemberUtil
.
buyCode
());
initMemberCodeVo
.
setMemberId
(
handleMemberOrderVo
.
getMemberId
());
initMemberCodeVo
.
setMemberPriceId
(
handleMemberOrderVo
.
getMemberPriceId
());
initMemberCodeVo
.
setType
(
AdamMemberConst
.
TYPE_BUY
);
initMemberCodeVo
.
setMemberNo
(
memberNo
);
initMemberCodeVo
.
setState
(
0
);
initMemberCodeVo
.
setBuyOrderNo
(
parameter
.
getCode
());
initMemberCodeVo
.
setBuyUid
(
handleMemberOrderVo
.
getUid
());
initMemberCodeVo
.
setBuyAt
(
currentDateTime
);
initMemberCodeVo
.
setCreatedAt
(
currentDateTime
);
mongoTemplate
.
getCollection
(
AdamMemberOrderVo
.
class
.
getSimpleName
())
mongoTemplate
.
insert
(
initMemberCodeVo
,
AdamMemberCodeVo
.
class
.
getSimpleName
());
.
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderNo"
).
is
(
orderVo
.
getOrderNo
())).
getQueryObject
(),
object
);
adamRdmService
.
setMemberCodeVoByCode
(
initMemberCodeVo
.
getCode
(),
initMemberCodeVo
);
redisUtil
.
hset
(
AdamRedisConst
.
INFO_MEMBERS_ORDER_INFO
.
concat
(
orderVo
.
getUid
()),
orderVo
.
getOrderNo
(),
orderVo
);
updateMemberOrderVo
.
setMemberCode
(
initMemberCodeVo
.
getCode
());
updateMemberOrderVo
.
setMemberNo
(
memberNo
);
List
<
Object
>
mqList
=
AdamMemberOrderVo
.
getMemberOrderMqList
(
orderVo
);
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_member_code.add"
));
/*
operationObjs
.
add
(
new
Object
[]{
( `order_no`, `uid`, `mode`, `price`,
initMemberCodeVo
.
getCode
(),
initMemberCodeVo
.
getType
(),
initMemberCodeVo
.
getMemberId
(),
initMemberCodeVo
.
getMemberPriceId
(),
`price_paid`, `member_name`, `member_id`,
initMemberCodeVo
.
getMemberNo
(),
initMemberCodeVo
.
getState
(),
initMemberCodeVo
.
getCreatedAt
(),
`member_price_id`, `days`, `state`, `member_no`,
initMemberCodeVo
.
getBuyOrderNo
(),
initMemberCodeVo
.
getBuyUid
(),
initMemberCodeVo
.
getBuyAt
()
`pay_channel`, `pay_no`, `birthday`, `payment_at`,
});
`created_at`, `updated_at`, `client_ip`, `source`, `version`)
*/
// rabbitTemplate.convertAndSend(MQConst.EXCHANGES_LIQUIDNET_SQL, MQConst.ROUTING_KEY_SQL,
// SqlMapping.get("adam_member_order.add", mqList.toArray()));
}
catch
(
Exception
e
)
{
log
.
error
(
"系统异常:会员订单回调处理"
,
e
);
return
ResponseDto
.
failure
(
ErrorMapping
.
get
(
"10501"
),
result
);
}
return
ResponseDto
.
success
();
}
}
updateMemberOrderVo
.
setPaymentAt
(
parameter
.
getPaymentAt
());
updateMemberOrderVo
.
setState
(
AdamMemberConst
.
STATUS_PAID
);
/**
mongoTemplate
.
getCollection
(
AdamMemberOrderVo
.
class
.
getSimpleName
())
* 组装会员码对象
.
updateOne
(
Query
.
query
(
Criteria
.
where
(
"orderNo"
).
is
(
handleMemberOrderVo
.
getOrderNo
())).
getQueryObject
(),
*
new
Document
(
Document
.
parse
(
JsonUtils
.
toJson
(
updateMemberOrderVo
))));
* @param orderVo 会员订单
* @param orderCode 订单号
toMqSqls
.
add
(
SqlMapping
.
get
(
"adam_member_order.update"
));
* @param currentDateTime 创建时间
updateMemberOrderObjs
.
add
(
new
Object
[]{
* @return AdamMemberCodeVo
updateMemberOrderVo
.
getState
(),
updateMemberOrderVo
.
getMemberNo
(),
updateMemberOrderVo
.
getPaymentAt
(),
*/
currentDateTime
,
handleMemberOrderVo
.
getOrderNo
()
private
AdamMemberCodeVo
getAdamMemberCodeVo
(
AdamMemberOrderVo
orderVo
,
String
orderCode
,
String
currentDateTime
)
{
});
AdamMemberCodeVo
codeVo
=
new
AdamMemberCodeVo
();
rabbitTemplate
.
convertAndSend
(
MQConst
.
EXCHANGES_LIQUIDNET_SQL
,
MQConst
.
ROUTING_KEY_SQL
,
codeVo
.
setMemberId
(
orderVo
.
getMemberId
());
SqlMapping
.
gets
(
toMqSqls
,
operationObjs
,
updateMemberOrderObjs
));
codeVo
.
setMemberPriceId
(
orderVo
.
getMemberPriceId
());
return
ResponseDto
.
success
();
codeVo
.
setBuyAt
(
currentDateTime
);
codeVo
.
setBuyOrderNo
(
orderCode
);
codeVo
.
setType
(
AdamMemberConst
.
TYPE_BUY
);
codeVo
.
setMemberNo
(
orderVo
.
getMemberNo
());
codeVo
.
setCode
(
MemberUtil
.
buyCode
());
codeVo
.
setCreatedAt
(
currentDateTime
);
codeVo
.
setUpdatedAt
(
currentDateTime
);
return
codeVo
;
}
}
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamRdmServiceImpl.java
View file @
0df5812c
...
@@ -205,13 +205,13 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
...
@@ -205,13 +205,13 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
@Override
@Override
public
boolean
setUserMemberVoByUid
(
String
uid
,
AdamUserMemberVo
vo
)
{
public
boolean
setUserMemberVoByUid
(
String
uid
,
AdamUserMemberVo
vo
)
{
return
redisUtil
.
set
(
AdamRedisConst
.
INFO_
USER_MEMB
ER
.
concat
(
uid
),
vo
);
return
redisUtil
.
set
(
AdamRedisConst
.
INFO_
MEMBER_US
ER
.
concat
(
uid
),
vo
);
}
}
@Override
@Override
public
AdamUserMemberVo
getUserMemberVoByUid
(
String
uid
)
{
public
AdamUserMemberVo
getUserMemberVoByUid
(
String
uid
)
{
long
startTime
=
System
.
currentTimeMillis
();
long
startTime
=
System
.
currentTimeMillis
();
String
rk
=
AdamRedisConst
.
INFO_
USER_MEMB
ER
.
concat
(
uid
);
String
rk
=
AdamRedisConst
.
INFO_
MEMBER_US
ER
.
concat
(
uid
);
AdamUserMemberVo
adamUserMemberVo
=
(
AdamUserMemberVo
)
redisUtil
.
get
(
rk
);
AdamUserMemberVo
adamUserMemberVo
=
(
AdamUserMemberVo
)
redisUtil
.
get
(
rk
);
if
(
null
==
adamUserMemberVo
)
{
if
(
null
==
adamUserMemberVo
)
{
adamUserMemberVo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
)),
AdamUserMemberVo
.
class
,
AdamUserMemberVo
.
class
.
getSimpleName
());
adamUserMemberVo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"uid"
).
is
(
uid
)),
AdamUserMemberVo
.
class
,
AdamUserMemberVo
.
class
.
getSimpleName
());
...
@@ -224,7 +224,7 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
...
@@ -224,7 +224,7 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
@Override
@Override
public
void
delUserMemberVoByUid
(
String
uid
)
{
public
void
delUserMemberVoByUid
(
String
uid
)
{
redisUtil
.
del
(
AdamRedisConst
.
INFO_
USER_MEMB
ER
.
concat
(
uid
));
redisUtil
.
del
(
AdamRedisConst
.
INFO_
MEMBER_US
ER
.
concat
(
uid
));
}
}
@Override
@Override
...
@@ -248,6 +248,21 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
...
@@ -248,6 +248,21 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
return
(
String
)
redisUtil
.
get
(
AdamRedisConst
.
INFO_MEMBER_AGREEMENT
);
return
(
String
)
redisUtil
.
get
(
AdamRedisConst
.
INFO_MEMBER_AGREEMENT
);
}
}
@Override
public
boolean
setMemberNoByMemberId
(
String
memberId
,
long
val
)
{
return
redisUtil
.
set
(
AdamRedisConst
.
INCR_MEMBER_NO
.
concat
(
memberId
),
val
);
}
@Override
public
long
incrMemberNoByMemberId
(
String
memberId
)
{
return
redisUtil
.
incr
(
AdamRedisConst
.
INCR_MEMBER_NO
.
concat
(
memberId
),
1
);
}
@Override
public
Object
getMemberMaxNoByMemberId
(
String
memberId
)
{
return
redisUtil
.
get
(
AdamRedisConst
.
INCR_MEMBER_NO
.
concat
(
memberId
));
}
@Override
@Override
public
boolean
setTagsForSex
(
List
<
AdamTagVo
>
voList
)
{
public
boolean
setTagsForSex
(
List
<
AdamTagVo
>
voList
)
{
return
redisUtil
.
set
(
AdamRedisConst
.
INFO_TAGS_SEX
,
voList
);
return
redisUtil
.
set
(
AdamRedisConst
.
INFO_TAGS_SEX
,
voList
);
...
@@ -267,4 +282,14 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
...
@@ -267,4 +282,14 @@ public class AdamRdmServiceImpl implements IAdamRdmService {
public
List
<
AdamTagParentVo
>
getTagsForMusic
()
{
public
List
<
AdamTagParentVo
>
getTagsForMusic
()
{
return
(
List
<
AdamTagParentVo
>)
redisUtil
.
get
(
AdamRedisConst
.
INFO_TAGS_MUSIC
);
return
(
List
<
AdamTagParentVo
>)
redisUtil
.
get
(
AdamRedisConst
.
INFO_TAGS_MUSIC
);
}
}
@Override
public
boolean
setMemberCodeVoByCode
(
String
memberCode
,
AdamMemberCodeVo
vo
)
{
return
redisUtil
.
set
(
AdamRedisConst
.
INFO_MEMBER_CODE
.
concat
(
memberCode
),
vo
);
}
@Override
public
AdamMemberCodeVo
getMemberCodeVoByCode
(
String
memberCode
)
{
return
(
AdamMemberCodeVo
)
redisUtil
.
get
(
AdamRedisConst
.
INFO_MEMBER_CODE
.
concat
(
memberCode
));
}
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/AdamUserMemberServiceImpl.java
View file @
0df5812c
...
@@ -4,13 +4,16 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
...
@@ -4,13 +4,16 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.common.cache.redis.util.RedisUtil
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.constant.AdamRedisConst
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberVo
;
import
com.liquidnet.service.adam.dto.vo.AdamMemberVo
;
import
com.liquidnet.service.adam.dto.vo.AdamUserMemberVo
;
import
com.liquidnet.service.adam.entity.AdamUserMember
;
import
com.liquidnet.service.adam.entity.AdamUserMember
;
import
com.liquidnet.service.adam.mapper.AdamMemberCodeMapper
;
import
com.liquidnet.service.adam.mapper.AdamMemberCodeMapper
;
import
com.liquidnet.service.adam.mapper.AdamUserMemberMapper
;
import
com.liquidnet.service.adam.mapper.AdamUserMemberMapper
;
import
com.liquidnet.service.adam.service.IAdamRdmService
;
import
com.liquidnet.service.adam.service.IAdamUserMemberService
;
import
com.liquidnet.service.adam.service.IAdamUserMemberService
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.domain.Sort
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.MongoTemplate
;
import
org.springframework.data.mongodb.core.convert.MongoConverter
;
import
org.springframework.data.mongodb.core.convert.MongoConverter
;
import
org.springframework.data.mongodb.core.query.Criteria
;
import
org.springframework.data.mongodb.core.query.Criteria
;
...
@@ -22,86 +25,60 @@ import java.util.regex.Pattern;
...
@@ -22,86 +25,60 @@ import java.util.regex.Pattern;
@Slf4j
@Slf4j
@Service
@Service
public
class
AdamUserMemberServiceImpl
extends
ServiceImpl
<
AdamUserMemberMapper
,
AdamUserMember
>
implements
IAdamUserMemberService
{
public
class
AdamUserMemberServiceImpl
extends
ServiceImpl
<
AdamUserMemberMapper
,
AdamUserMember
>
implements
IAdamUserMemberService
{
@Autowired
AdamUserMemberMapper
adamUserMemberMapper
;
@Autowired
AdamMemberCodeMapper
adamMemberCodeMapper
;
@Autowired
@Autowired
MongoTemplate
mongoTemplate
;
MongoTemplate
mongoTemplate
;
@Autowired
@Autowired
MongoConverter
mongoConverter
;
IAdamRdmService
adamRdmService
;
@Autowired
RabbitTemplate
rabbitTemplate
;
@Autowired
RedisUtil
redisUtil
;
@Override
@Override
public
String
getMaxMemberNo
(
String
memberId
)
{
public
String
getNextMemberNo
(
String
memberId
)
{
String
memberNoMaxKey
=
AdamRedisConst
.
MEMBER_MEMBER_NO_MAX_KEY
.
concat
(
memberId
);
Object
memberMaxNoByMemberId
=
adamRdmService
.
getMemberMaxNoByMemberId
(
memberId
);
Object
maxNumber
=
redisUtil
.
get
(
memberNoMaxKey
);
if
(
null
==
memberMaxNoByMemberId
)
{
// TODO: 2021/6/8 +锁:查取MONGO当前最大会员号
if
(
null
!=
maxNumber
)
{
Query
query
=
Query
.
query
(
Criteria
.
where
(
"memberId"
).
is
(
memberId
)).
with
(
Sort
.
by
(
Sort
.
Direction
.
DESC
,
"memberNo"
)).
limit
(
1
);
maxNumber
=
maxNumber
.
toString
();
String
newNumber
=
String
.
valueOf
(
redisUtil
.
incr
(
memberNoMaxKey
,
1
));
AdamUserMemberVo
latestMaxMemberNoVo
=
mongoTemplate
.
findOne
(
query
,
AdamUserMemberVo
.
class
,
AdamUserMemberVo
.
class
.
getSimpleName
(
));
Integer
newNumberInt
=
newNumber
.
length
()
-
1
;
String
pattern
=
"/([\\d])\\1{"
+
newNumberInt
+
"}/"
;
long
currentMaxMemberNo
=
Long
.
parseLong
(
latestMaxMemberNoVo
.
getMemberNo
())
;
if
(
Pattern
.
matches
(
pattern
,
newNumber
))
{
// 不能是完全相同的数字
newNumber
=
String
.
valueOf
(
redisUtil
.
incr
(
memberNoMaxKey
,
1
)
);
adamRdmService
.
setMemberNoByMemberId
(
memberId
,
currentMaxMemberNo
+
1
);
}
return
newNumber
;
return
String
.
valueOf
(
adamRdmService
.
incrMemberNoByMemberId
(
memberId
))
;
}
else
{
}
else
{
maxNumber
=
adamMemberCodeMapper
.
getMaxMemberNo
(
memberId
);
// 1000
String
nextMemberNoStr
=
String
.
valueOf
(
adamRdmService
.
incrMemberNoByMemberId
(
memberId
));
if
(
null
!=
maxNumber
)
{
if
(
Pattern
.
matches
(
"([\\d])\\1{"
+
(
nextMemberNoStr
.
length
()
-
1
)
+
"}"
,
nextMemberNoStr
)
)
{
redisUtil
.
set
(
memberNoMaxKey
,
maxNumber
);
// 不能是完全相同的数字
redisUtil
.
incr
(
memberNoMaxKey
,
1
);
nextMemberNoStr
=
String
.
valueOf
(
adamRdmService
.
incrMemberNoByMemberId
(
memberId
)
);
}
}
return
redisUtil
.
get
(
memberNoMaxKey
).
toString
()
;
return
nextMemberNoStr
;
}
}
}
}
// @Override
// @Override
// public AdamUserMemberVo getUserMemberInfo(String uid) {
// public boolean getOneFromRepertory(String memberId) {
// AdamUserMemberVo adamUserMemberVo = (AdamUserMemberVo) redisUtil.hget(AdamRedisConst.INFO_MEMBERS_USER, uid);
// AdamMemberVo adamMemberVo = (AdamMemberVo) redisUtil.get(AdamRedisConst.INFO_MEMBERS_INFO.concat(memberId));
// if (null == adamUserMemberVo) {
// if (null == adamMemberVo) {
// adamUserMemberVo = mongoTemplate.findOne(Query.query(Criteria.where("uid").is(uid)), AdamUserMemberVo.class, AdamUserMemberVo.class.getSimpleName());
// adamMemberVo = mongoTemplate.findOne(Query.query(Criteria.where("memberId").is(memberId)), AdamMemberVo.class, AdamMemberVo.class.getSimpleName());
//
// }
// if (null != adamUserMemberVo) redisUtil.hset(AdamRedisConst.INFO_MEMBERS_USER, uid, adamUserMemberVo);
// if (0 == adamMemberVo.getLimitation()) {
// return true;
// }
// String repertoryKey = AdamRedisConst.INFO_MEMBERS_REPERTORY_INFO.concat(memberId);
// Object repertory = redisUtil.get(repertoryKey);
// // 判断,如果没有从redis中拿到库存数量,则把MongoDB中查出的库存插入redis
// if (null == repertory) {
// redisUtil.set(repertoryKey, adamMemberVo.getLimitation());
// repertory = adamMemberVo.getLimitation();
// }
// Long limitation = Long.parseLong(repertory.toString());
// limitation = redisUtil.decr(repertoryKey, limitation);
// // 库存大于0 正常返回,否则回滚一位库存
// if (limitation >= 0) {
// return true;
// } else {
// redisUtil.incr(repertoryKey, 1);
// return false;
// }
// }
// return adamUserMemberVo;
// }
// }
@Override
public
boolean
getOneFromRepertory
(
String
memberId
)
{
AdamMemberVo
adamMemberVo
=
(
AdamMemberVo
)
redisUtil
.
get
(
AdamRedisConst
.
INFO_MEMBERS_INFO
.
concat
(
memberId
));
if
(
null
==
adamMemberVo
)
{
adamMemberVo
=
mongoTemplate
.
findOne
(
Query
.
query
(
Criteria
.
where
(
"memberId"
).
is
(
memberId
)),
AdamMemberVo
.
class
,
AdamMemberVo
.
class
.
getSimpleName
());
}
if
(
0
==
adamMemberVo
.
getLimitation
())
{
return
true
;
}
String
repertoryKey
=
AdamRedisConst
.
INFO_MEMBERS_REPERTORY_INFO
.
concat
(
memberId
);
Object
repertory
=
redisUtil
.
get
(
repertoryKey
);
// 判断,如果没有从redis中拿到库存数量,则把MongoDB中查出的库存插入redis
if
(
null
==
repertory
)
{
redisUtil
.
set
(
repertoryKey
,
adamMemberVo
.
getLimitation
());
repertory
=
adamMemberVo
.
getLimitation
();
}
Long
limitation
=
Long
.
parseLong
(
repertory
.
toString
());
limitation
=
redisUtil
.
decr
(
repertoryKey
,
limitation
);
// 库存大于0 正常返回,否则回滚一位库存
if
(
limitation
>=
0
)
{
return
true
;
}
else
{
redisUtil
.
incr
(
repertoryKey
,
1
);
return
false
;
}
}
@Override
public
Integer
getRepertoryCount
(
String
memberId
)
{
return
0
;
}
}
}
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/java/com/liquidnet/service/adam/service/impl/admin/AdamMemberCodeAdminServiceImpl.java
View file @
0df5812c
...
@@ -37,7 +37,7 @@ public class AdamMemberCodeAdminServiceImpl extends ServiceImpl<AdamMemberCodeMa
...
@@ -37,7 +37,7 @@ public class AdamMemberCodeAdminServiceImpl extends ServiceImpl<AdamMemberCodeMa
// 需要主动生成会员编号
// 需要主动生成会员编号
AdamMemberCode
adamMemberCode
=
new
AdamMemberCode
();
AdamMemberCode
adamMemberCode
=
new
AdamMemberCode
();
adamMemberCode
.
setType
(
param
.
getType
());
adamMemberCode
.
setType
(
param
.
getType
());
adamMemberCode
.
setCode
(
MemberUtil
.
buy
Code
());
adamMemberCode
.
setCode
(
MemberUtil
.
free
Code
());
adamMemberCode
.
setMemberId
(
param
.
getMemberId
());
adamMemberCode
.
setMemberId
(
param
.
getMemberId
());
adamMemberCode
.
setMemberPriceId
(
param
.
getMemberPriceId
());
adamMemberCode
.
setMemberPriceId
(
param
.
getMemberPriceId
());
adamMemberCode
.
setState
(
0
);
adamMemberCode
.
setState
(
0
);
...
...
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/resources/errors.properties
View file @
0df5812c
...
@@ -50,7 +50,8 @@
...
@@ -50,7 +50,8 @@
10500
=
会员订单回调参数有误,请核实
10500
=
10501
=
会员订单回调处理失败,请核实
10501
=
会员订单回调处理失败,请核实
10502
=
会员订单回调处理失败,该订单已处理
10502
=
会员订单回调处理失败,该订单已处理
10503
=
会员订单回调处理失败,订单金额有误
10503
=
会员订单回调处理失败,订单金额有误
10504
=
会员卡信息不存在,请核实
liquidnet-bus-service/liquidnet-service-adam/liquidnet-service-adam-impl/src/main/resources/sqlmap.properties
View file @
0df5812c
...
@@ -13,10 +13,18 @@ adam_third_party.add=INSERT INTO adam_third_party (`uid`, open_id, avatar, nickn
...
@@ -13,10 +13,18 @@ adam_third_party.add=INSERT INTO adam_third_party (`uid`, open_id, avatar, nickn
adam_third_party.unbind
=
UPDATE adam_third_party SET `state`=2, updated_at=? WHERE `uid`=? AND platform=? AND `state`=1
adam_third_party.unbind
=
UPDATE adam_third_party SET `state`=2, updated_at=? WHERE `uid`=? AND platform=? AND `state`=1
# ----------------------------------------------------
# ----------------------------------------------------
adam_member.add
=
INSERT INTO `adam_member` ( `name`, `title`, `sub_title`, `icon`, `avatar`, `start_no`, `type`, `interests_detail`, `notes`, `is_notice`, `notice_info`, `notice_title`, `need_question`, `display_agreement`, `agreement`, `member_id`, `limitation`) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);
adam_member.add
=
INSERT INTO adam_member ( `name`, `title`, `sub_title`, `icon`, `avatar`, `start_no`, `type`, `interests_detail`, `notes`, `is_notice`, `notice_info`, `notice_title`, `need_question`, `display_agreement`, `agreement`, `member_id`, `limitation`) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);
adam_member_order.add
=
INSERT INTO `adam_member_order` ( `order_no`, `uid`, `mode`, `price`, `price_paid`, `member_name`, `member_id`, `member_price_id`, `days`, `state`, `member_no`, `pay_channel`, `pay_no`, `birthday`, `payment_at`, `created_at`, `updated_at`, `client_ip`, `source`, `version`) values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);
adam_user_member_add
=
# ----------------------------------------------------
adam_user_member_update
=
adam_member_order.add
=
INSERT INTO adam_member_order ( `order_no`, `uid`, `mode`, `price`, `price_paid`, `member_name`, `member_id`, `member_price_id`, `days`, `state`, `member_no`, `pay_channel`, `pay_no`, `birthday`, `payment_at`, `created_at`, `updated_at`, `client_ip`, `source`, `version`) values ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);
adam_member_order.update
=
UPDATE adam_member_order SET `state` =?, member_no =?, payment_at =?, updated_at =? WHERE order_no =?
# ----------------------------------------------------
adam_member_code.add
=
INSERT INTO adam_member_code (code, `type`, member_id, member_price_id, member_no, `state`, created_at, buy_order_no, buy_uid, buy_at) VALUES (?,?,?,?,?,?,?,?,?,?)
# ----------------------------------------------------
adam_user_member.add
=
INSERT INTO adam_user_member (`uid`, member_id, member_no, `state`, expiry_at, created_at) VALUES (?,?,?,?,?,?)
adam_user_member.update
=
UPDATE adam_user_member SET `state` =?, expiry_at =?, updated_at =? WHERE `uid` =?
# ----------------------------------------------------
# ----------------------------------------------------
adam_addresses.add
=
adam_addresses.add
=
...
...
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