Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
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
youjj
cloud-platform
Commits
fbcd180f
Commit
fbcd180f
authored
Jun 19, 2019
by
hezhen
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
添加会员模块
parent
8964e1c4
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
274 additions
and
8 deletions
+274
-8
UserMemberDTO.java
.../com/github/wxiaoqi/security/admin/dto/UserMemberDTO.java
+59
-0
BaseUserMember.java
.../github/wxiaoqi/security/admin/entity/BaseUserMember.java
+23
-1
UserFeign.java
...va/com/github/wxiaoqi/security/admin/feign/UserFeign.java
+28
-4
AppUserDTO.java
...m/github/wxiaoqi/security/admin/feign/dto/AppUserDTO.java
+3
-0
UserMemberVo.java
...va/com/github/wxiaoqi/security/admin/vo/UserMemberVo.java
+20
-1
BaseUserMemberBiz.java
.../github/wxiaoqi/security/admin/biz/BaseUserMemberBiz.java
+87
-2
UserMemberController.java
...hub/wxiaoqi/security/admin/rest/UserMemberController.java
+54
-0
No files found.
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/dto/UserMemberDTO.java
0 → 100644
View file @
fbcd180f
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
dto
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
/**
* 用户会员
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-06-18 19:38:56
*/
@Data
public
class
UserMemberDTO
{
/**
* 用户id
*/
@ApiModelProperty
(
value
=
"用户id"
)
private
Integer
userId
;
/**
* 会员等级
*/
@ApiModelProperty
(
value
=
"会员等级"
)
private
Integer
memberLevel
;
/**
* 0:未支付 1:绑定 2:解绑
*/
@ApiModelProperty
(
value
=
"0:未支付 1:绑定 2:解绑"
)
private
Integer
isBind
;
/**
* 赠送总天数
*/
@ApiModelProperty
(
value
=
"赠送总天数"
)
private
Integer
totalNumber
;
/**
* 剩余天数
*/
@ApiModelProperty
(
value
=
"剩余天数"
)
private
Integer
rentFreeDays
;
//折扣
@ApiModelProperty
(
value
=
"折扣"
)
private
Integer
discount
;
}
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/entity/BaseUserMember.java
View file @
fbcd180f
...
@@ -69,13 +69,35 @@ public class BaseUserMember implements Serializable {
...
@@ -69,13 +69,35 @@ public class BaseUserMember implements Serializable {
@ApiModelProperty
(
value
=
"赠送总天数"
)
@ApiModelProperty
(
value
=
"赠送总天数"
)
private
Integer
totalNumber
;
private
Integer
totalNumber
;
/**
/**
* 剩余天数
* 剩余天数
*/
*/
@Column
(
name
=
"rent_free_days"
)
@Column
(
name
=
"rent_free_days"
)
@ApiModelProperty
(
value
=
"剩余天数"
)
@ApiModelProperty
(
value
=
"剩余天数"
)
private
Integer
rentFreeDays
;
private
Integer
rentFreeDays
;
/**
* 会员消费次数
*/
@Column
(
name
=
"pay_count"
)
@ApiModelProperty
(
value
=
"会员消费次数"
)
private
Integer
payCount
;
/**
* 购买会员次数
*/
@Column
(
name
=
"buy_count"
)
@ApiModelProperty
(
value
=
"购买会员次数"
)
private
Integer
buyCount
;
/**
* 下单锁住天数
*/
@Column
(
name
=
"lock_days"
)
@ApiModelProperty
(
value
=
"下单锁住天数"
)
private
Integer
lockDays
;
//折扣
//折扣
@Column
(
name
=
"discount"
)
@Column
(
name
=
"discount"
)
...
...
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/feign/UserFeign.java
View file @
fbcd180f
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
feign
;
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
feign
;
import
com.github.wxiaoqi.security.admin.dto.UserMemberDTO
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
import
com.github.wxiaoqi.security.admin.feign.dto.UserDTO
;
import
com.github.wxiaoqi.security.admin.vo.AppUserVo
;
import
com.github.wxiaoqi.security.admin.vo.AppUserVo
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.cloud.openfeign.FeignClient
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.*
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMethod
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
java.util.List
;
import
java.util.List
;
...
@@ -64,4 +62,30 @@ public interface UserFeign {
...
@@ -64,4 +62,30 @@ public interface UserFeign {
*/
*/
@RequestMapping
(
value
=
"/public/getByUserIds"
,
method
=
RequestMethod
.
GET
)
@RequestMapping
(
value
=
"/public/getByUserIds"
,
method
=
RequestMethod
.
GET
)
public
ObjectRestResponse
<
List
<
AppUserVo
>>
getByUserIds
(
@RequestParam
(
"ids"
)
List
<
Integer
>
ids
);
public
ObjectRestResponse
<
List
<
AppUserVo
>>
getByUserIds
(
@RequestParam
(
"ids"
)
List
<
Integer
>
ids
);
/**
* 购买会员
* @param userMemberDTO
* @return
* @throws Exception
*/
@RequestMapping
(
value
=
"/user/buyMember"
,
method
=
RequestMethod
.
POST
)
public
ObjectRestResponse
buyMember
(
@RequestBody
UserMemberDTO
userMemberDTO
)
throws
Exception
;
/**
* 订单更改会员
* @param userId
* @param days
* @param type 1-用户锁定下单;2-购买下单;3-取消订单
* @return
* @throws Exception
*/
@RequestMapping
(
value
=
"/user/buyMember"
,
method
=
RequestMethod
.
POST
)
public
int
buyMember
(
@RequestParam
(
value
=
"userId"
,
defaultValue
=
"0"
)
Integer
userId
,
@RequestParam
(
value
=
"days"
,
defaultValue
=
"0"
)
Integer
days
,
@RequestParam
(
value
=
"type"
,
defaultValue
=
"1"
)
Integer
type
)
throws
Exception
;
}
}
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/feign/dto/AppUserDTO.java
View file @
fbcd180f
...
@@ -27,6 +27,9 @@ public class AppUserDTO {
...
@@ -27,6 +27,9 @@ public class AppUserDTO {
private
Integer
certificationStatus
;
private
Integer
certificationStatus
;
private
Integer
rentFreeDays
;
private
Integer
rentFreeDays
;
private
Integer
totalNumber
;
private
Integer
totalNumber
;
private
Integer
payCount
;
private
Integer
buyCount
;
private
Integer
lockDays
;
private
Integer
discount
;
private
Integer
discount
;
private
Integer
memberLevel
;
private
Integer
memberLevel
;
private
Integer
memberNo
;
private
Integer
memberNo
;
...
...
ace-modules/ace-admin-api/src/main/java/com/github/wxiaoqi/security/admin/vo/UserMemberVo.java
View file @
fbcd180f
...
@@ -57,12 +57,31 @@ public class UserMemberVo {
...
@@ -57,12 +57,31 @@ public class UserMemberVo {
@ApiModelProperty
(
value
=
"赠送总天数"
)
@ApiModelProperty
(
value
=
"赠送总天数"
)
private
Integer
totalNumber
;
private
Integer
totalNumber
;
/**
/**
* 剩余天数
* 剩余天数
*/
*/
@ApiModelProperty
(
value
=
"剩余天数"
)
@ApiModelProperty
(
value
=
"剩余天数"
)
private
Integer
rentFreeDays
;
private
Integer
rentFreeDays
;
/**
* 会员消费次数
*/
@ApiModelProperty
(
value
=
"会员消费次数"
)
private
Integer
payCount
;
/**
* 购买会员次数
*/
@ApiModelProperty
(
value
=
"购买会员次数"
)
private
Integer
buyCount
;
/**
* 下单锁住天数
*/
@ApiModelProperty
(
value
=
"下单锁住天数"
)
private
Integer
lockDays
;
//折扣
//折扣
@ApiModelProperty
(
value
=
"折扣"
)
@ApiModelProperty
(
value
=
"折扣"
)
private
Integer
discount
;
private
Integer
discount
;
...
...
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/biz/BaseUserMemberBiz.java
View file @
fbcd180f
...
@@ -2,7 +2,12 @@ package com.github.wxiaoqi.security.admin.biz;
...
@@ -2,7 +2,12 @@ package com.github.wxiaoqi.security.admin.biz;
import
com.ace.cache.annotation.Cache
;
import
com.ace.cache.annotation.Cache
;
import
com.ace.cache.annotation.CacheClear
;
import
com.ace.cache.annotation.CacheClear
;
import
com.github.wxiaoqi.security.admin.dto.UserMemberDTO
;
import
com.github.wxiaoqi.security.admin.vo.AppUserVo
;
import
com.github.wxiaoqi.security.admin.vo.UserMemberVo
;
import
com.github.wxiaoqi.security.admin.vo.UserMemberVo
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.beanutils.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMember
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMember
;
import
com.github.wxiaoqi.security.admin.mapper.BaseUserMemberMapper
;
import
com.github.wxiaoqi.security.admin.mapper.BaseUserMemberMapper
;
...
@@ -17,9 +22,13 @@ import org.springframework.transaction.annotation.Transactional;
...
@@ -17,9 +22,13 @@ import org.springframework.transaction.annotation.Transactional;
* @date 2019-06-18 19:38:56
* @date 2019-06-18 19:38:56
*/
*/
@Service
@Service
@Slf4j
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
class
BaseUserMemberBiz
extends
BaseBiz
<
BaseUserMemberMapper
,
BaseUserMember
>
{
public
class
BaseUserMemberBiz
extends
BaseBiz
<
BaseUserMemberMapper
,
BaseUserMember
>
{
@Autowired
AppUserDetailBiz
detailBiz
;
//获取用户会员信息
//获取用户会员信息
@Cache
(
key
=
"user:member{1}"
)
@Cache
(
key
=
"user:member{1}"
)
public
UserMemberVo
getMemberInfoByUserId
(
Integer
userId
){
public
UserMemberVo
getMemberInfoByUserId
(
Integer
userId
){
...
@@ -32,11 +41,87 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper,BaseUserMemb
...
@@ -32,11 +41,87 @@ public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper,BaseUserMemb
public
void
updateSelectiveById
(
BaseUserMember
userMember
){
super
.
updateSelectiveById
(
userMember
);}
public
void
updateSelectiveById
(
BaseUserMember
userMember
){
super
.
updateSelectiveById
(
userMember
);}
//用户会员信息更新
//用户购买会员信息更新
public
void
updUserMemberByUserId
(){
public
void
updUserMemberByUserId
(
UserMemberDTO
userMemberDTO
)
throws
Exception
{
if
(
userMemberDTO
==
null
){
log
.
error
(
"updUserMemberByUserId----参数为空"
);
return
;
}
Integer
userId
=
userMemberDTO
.
getUserId
();
UserMemberVo
userMemberVo
=
getMemberInfoByUserId
(
userId
);
BaseUserMember
baseUserMember
=
new
BaseUserMember
();
BeanUtils
.
copyProperties
(
baseUserMember
,
userMemberDTO
);
Integer
freeDays
=
baseUserMember
.
getRentFreeDays
();
Integer
totalNumber
=
baseUserMember
.
getTotalNumber
()==
null
?
0
:
baseUserMember
.
getTotalNumber
();
if
(
freeDays
==
null
||
freeDays
==
0
){
freeDays
=
totalNumber
;
}
if
(
userMemberVo
==
null
){
baseUserMember
.
setRentFreeDays
(
freeDays
);
baseUserMember
.
setBuyCount
(
1
);
insertSelective
(
baseUserMember
);
}
else
{
baseUserMember
.
setId
(
userMemberVo
.
getId
());
totalNumber
+=
userMemberVo
.
getTotalNumber
()==
null
?
0
:
userMemberVo
.
getTotalNumber
();
freeDays
+=
userMemberVo
.
getRentFreeDays
()==
null
?
0
:
userMemberVo
.
getRentFreeDays
();
baseUserMember
.
setBuyCount
(
userMemberVo
.
getBuyCount
()+
1
);
baseUserMember
.
setTotalNumber
(
totalNumber
);
baseUserMember
.
setRentFreeDays
(
freeDays
);
updateSelectiveById
(
baseUserMember
);
}
AppUserVo
userVo
=
detailBiz
.
getUserInfoById
(
userId
);
if
(
userVo
!=
null
&&(
userVo
.
getIsMember
()==
null
||
userVo
.
getIsMember
()==
0
)){
AppUserVo
userVo1
=
new
AppUserVo
();
userVo1
.
setId
(
userVo
.
getId
());
userVo1
.
setIsMember
(
1
);
detailBiz
.
updUuserInfoById
(
userVo1
);
}
}
/**
* //
* @param userId
* @param days
* @param type;1-用户锁定下单;2-购买下单;3-取消订单
* @return
*/
public
int
upMemberDays
(
Integer
userId
,
Integer
days
,
Integer
type
){
int
num
=-
1
;
UserMemberVo
userMemberVo
=
getMemberInfoByUserId
(
userId
);
if
(
userMemberVo
!=
null
){
days
=
days
==
null
?
0
:
days
;
Integer
freeDays
=
userMemberVo
.
getRentFreeDays
()==
null
?
userMemberVo
.
getRentFreeDays
():
0
;
Integer
lockDays
=
userMemberVo
.
getLockDays
()==
null
?
userMemberVo
.
getLockDays
():
0
;
BaseUserMember
baseUserMember
=
new
BaseUserMember
();
baseUserMember
.
setId
(
userMemberVo
.
getId
());
if
(
type
==
1
){
if
((
freeDays
-
lockDays
)>
0
&&(
freeDays
-
lockDays
)>=
days
){
baseUserMember
.
setLockDays
(
lockDays
+
days
);
updateSelectiveById
(
baseUserMember
);
num
=
freeDays
-(
lockDays
+
days
);
}
}
else
if
(
type
==
2
){
Integer
payCount
=
userMemberVo
.
getPayCount
()==
null
?
0
:
userMemberVo
.
getPayCount
();
payCount
=
payCount
+
1
;
freeDays
=(
freeDays
-
days
)>
0
?(
freeDays
-
days
):
0
;
lockDays
=
lockDays
>
0
?(
lockDays
-
days
)>
0
?(
lockDays
-
days
):
0
:
0
;
baseUserMember
.
setRentFreeDays
(
freeDays
);
baseUserMember
.
setPayCount
(
payCount
);
baseUserMember
.
setLockDays
(
lockDays
);
updateSelectiveById
(
baseUserMember
);
num
=
freeDays
-
lockDays
;
}
else
{
lockDays
=
lockDays
>
0
?(
lockDays
-
days
)>
0
?(
lockDays
-
days
):
0
:
0
;
baseUserMember
.
setLockDays
(
lockDays
);
updateSelectiveById
(
baseUserMember
);
num
=
freeDays
-
lockDays
;
}
}
return
num
;
}
}
}
}
\ No newline at end of file
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rest/UserMemberController.java
0 → 100644
View file @
fbcd180f
package
com
.
github
.
wxiaoqi
.
security
.
admin
.
rest
;
import
com.github.wxiaoqi.security.admin.biz.BaseUserMemberBiz
;
import
com.github.wxiaoqi.security.admin.dto.UserMemberDTO
;
import
com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* ${DESCRIPTION}
*
* @author wanghaobin
* @create 2017-06-08 11:51
*/
@RestController
@RequestMapping
(
"member"
)
public
class
UserMemberController
{
@Autowired
private
BaseUserMemberBiz
memberBiz
;
/**
* 购买会员
* @param userMemberDTO
* @return
* @throws Exception
*/
@RequestMapping
(
value
=
"/user/buyMember"
,
method
=
RequestMethod
.
POST
)
public
ObjectRestResponse
buyMember
(
@RequestBody
UserMemberDTO
userMemberDTO
)
throws
Exception
{
memberBiz
.
updUserMemberByUserId
(
userMemberDTO
);
return
ObjectRestResponse
.
succ
();
}
/**
* 订单更改会员
* @param userId
* @param days
* @param type 1-用户锁定下单;2-购买下单;3-取消订单
* @return
* @throws Exception
*/
@RequestMapping
(
value
=
"/user/buyMember"
,
method
=
RequestMethod
.
POST
)
public
int
buyMember
(
@RequestParam
(
value
=
"userId"
,
defaultValue
=
"0"
)
Integer
userId
,
@RequestParam
(
value
=
"days"
,
defaultValue
=
"0"
)
Integer
days
,
@RequestParam
(
value
=
"type"
,
defaultValue
=
"1"
)
Integer
type
)
throws
Exception
{
return
memberBiz
.
upMemberDays
(
userId
,
days
,
type
);
}
}
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