Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
J
jiedao-api-boot-master
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
lanbaoming
jiedao-api-boot-master
Commits
960e8605
Commit
960e8605
authored
Jul 24, 2024
by
zhaobiyan
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature_member_score_zby' into feature_member_score
parents
56fb0119
04b40ea9
Changes
21
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
735 additions
and
1 deletion
+735
-1
SnowFlakeConfiguration.java
...ao/framework/snowflake/config/SnowFlakeConfiguration.java
+40
-0
spring.factories
...yudao-common/src/main/resources/META-INF/spring.factories
+2
-1
MemberUserScoreController.java
...ller/admin/memberUserScore/MemberUserScoreController.java
+39
-0
MemberUserScoreLogController.java
...dmin/memberUserScoreLog/MemberUserScoreLogController.java
+37
-0
MemberUserScoreConvert.java
...ember/convert/memberUserScore/MemberUserScoreConvert.java
+14
-0
MemberUserScoreLogConvert.java
...convert/memberUserScoreLog/MemberUserScoreLogConvert.java
+14
-0
MemberUserScoreBackDO.java
...dal/dataobject/memberUserScore/MemberUserScoreBackDO.java
+4
-0
MemberUserScoreDO.java
...ber/dal/dataobject/memberUserScore/MemberUserScoreDO.java
+44
-0
MemberUserScoreLogDO.java
...l/dataobject/memberUserScoreLog/MemberUserScoreLogDO.java
+35
-0
MemberUserScoreMapper.java
...mber/dal/mysql/memberUserScore/MemberUserScoreMapper.java
+22
-0
MemberUserScoreLogMapper.java
...al/mysql/memberUserScoreLog/MemberUserScoreLogMapper.java
+22
-0
MemberUserScoreService.java
...ember/service/memberUserScore/MemberUserScoreService.java
+51
-0
MemberUserScoreServiceImpl.java
...r/service/memberUserScore/MemberUserScoreServiceImpl.java
+57
-0
MemberUserScoreLogService.java
...service/memberUserScoreLog/MemberUserScoreLogService.java
+17
-0
MemberUserScoreLogServiceImpl.java
...ice/memberUserScoreLog/MemberUserScoreLogServiceImpl.java
+40
-0
MemberUserScoreBackVO.java
...dule/member/vo/memberUserScore/MemberUserScoreBackVO.java
+33
-0
MemberUserScoreQueryVO.java
...ule/member/vo/memberUserScore/MemberUserScoreQueryVO.java
+32
-0
MemberUserScoreLogBackVO.java
...ember/vo/memberUserScoreLog/MemberUserScoreLogBackVO.java
+57
-0
MemberUserScoreLogQueryVO.java
...mber/vo/memberUserScoreLog/MemberUserScoreLogQueryVO.java
+32
-0
MemberUserScoreLogMapper.xml
...c/main/resources/mapper/user/MemberUserScoreLogMapper.xml
+71
-0
MemberUserScoreMapper.xml
.../src/main/resources/mapper/user/MemberUserScoreMapper.xml
+72
-0
No files found.
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/snowflake/config/SnowFlakeConfiguration.java
0 → 100644
View file @
960e8605
package
cn
.
iocoder
.
yudao
.
framework
.
snowflake
.
config
;
import
cn.hutool.core.lang.generator.SnowflakeGenerator
;
import
cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration
;
import
cn.iocoder.yudao.framework.redis.helper.RedisHelper
;
import
io.micrometer.core.instrument.util.StringUtils
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.boot.autoconfigure.AutoConfigureAfter
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
javax.annotation.Resource
;
import
java.net.InetAddress
;
import
java.net.UnknownHostException
;
/**
* @author zhaobiyan
*/
@Slf4j
@Configuration
@AutoConfigureAfter
(
YudaoRedisAutoConfiguration
.
class
)
public
class
SnowFlakeConfiguration
{
@Resource
private
RedisHelper
redisHelper
;
@Bean
public
SnowflakeGenerator
snowflakeGenerator
()
throws
UnknownHostException
{
String
hostAddress
=
InetAddress
.
getLocalHost
().
getHostAddress
();
log
.
info
(
"snow flask configuration, host address:{}"
,
hostAddress
);
String
workId
=
redisHelper
.
get
(
"snowflake:work:id:"
+
hostAddress
);
if
(
StringUtils
.
isBlank
(
workId
))
{
Long
nextWorkId
=
redisHelper
.
incrBy
(
"incr:work:id"
,
1
);
redisHelper
.
set
(
"snowflake:work:id:"
+
hostAddress
,
String
.
valueOf
(
nextWorkId
));
workId
=
String
.
valueOf
(
nextWorkId
);
}
return
new
SnowflakeGenerator
(
Long
.
parseLong
(
workId
),
0
);
}
}
yudao-framework/yudao-common/src/main/resources/META-INF/spring.factories
View file @
960e8605
...
...
@@ -25,4 +25,5 @@ org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
cn.iocoder.yudao.framework.pay.config.YudaoPayAutoConfiguration,\
cn.iocoder.yudao.framework.customizer.CustomizationAutoConfiguration,\
cn.iocoder.yudao.framework.i18n.config.LocaleAutoConfiguration,\
cn.iocoder.yudao.framework.limiter.RedisLimiterConfiguration
cn.iocoder.yudao.framework.limiter.RedisLimiterConfiguration,\
cn.iocoder.yudao.framework.snowflake.config.SnowFlakeConfiguration
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/controller/admin/memberUserScore/MemberUserScoreController.java
0 → 100644
View file @
960e8605
package
cn
.
iocoder
.
yudao
.
module
.
member
.
controller
.
admin
.
memberUserScore
;
import
cn.iocoder.yudao.framework.common.pojo.CommonResult
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.framework.mybatis.core.vo.PageVO
;
import
cn.iocoder.yudao.module.member.service.memberUserScore.MemberUserScoreService
;
import
cn.iocoder.yudao.module.member.vo.memberUserScore.MemberUserScoreBackVO
;
import
cn.iocoder.yudao.module.member.vo.memberUserScore.MemberUserScoreQueryVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.validation.annotation.Validated
;
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
javax.annotation.Resource
;
import
javax.validation.Valid
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
common
.
pojo
.
CommonResult
.
success
;
@Validated
@RestController
@Api
(
tags
=
"管理后台 - 会员积分"
)
@RequestMapping
(
"/member/user-score"
)
public
class
MemberUserScoreController
{
@Resource
private
MemberUserScoreService
userScoreService
;
@PostMapping
(
"/page"
)
@ApiOperation
(
"获得会员积分分页"
)
@PreAuthorize
(
"@ss.hasPermission('member:user-score:query')"
)
public
CommonResult
<
PageResult
<
MemberUserScoreBackVO
>>
getUserScorePage
(
@Valid
@RequestBody
MemberUserScoreQueryVO
query
)
{
PageResult
<
MemberUserScoreBackVO
>
pageResult
=
userScoreService
.
getUserScorePage
(
query
);
return
success
(
pageResult
);
}
}
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/controller/admin/memberUserScoreLog/MemberUserScoreLogController.java
0 → 100644
View file @
960e8605
package
cn
.
iocoder
.
yudao
.
module
.
member
.
controller
.
admin
.
memberUserScoreLog
;
import
cn.iocoder.yudao.framework.common.pojo.CommonResult
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.module.member.service.memberUserScoreLog.MemberUserScoreLogService
;
import
cn.iocoder.yudao.module.member.vo.memberUserScoreLog.MemberUserScoreLogBackVO
;
import
cn.iocoder.yudao.module.member.vo.memberUserScoreLog.MemberUserScoreLogQueryVO
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.security.access.prepost.PreAuthorize
;
import
org.springframework.validation.annotation.Validated
;
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
javax.annotation.Resource
;
import
javax.validation.Valid
;
import
static
cn
.
iocoder
.
yudao
.
framework
.
common
.
pojo
.
CommonResult
.
success
;
@Validated
@RestController
@Api
(
tags
=
"管理后台 - 会员积分记录"
)
@RequestMapping
(
"/member/user-score-log"
)
public
class
MemberUserScoreLogController
{
@Resource
private
MemberUserScoreLogService
memberUserScoreLogService
;
@PostMapping
(
"/page"
)
@ApiOperation
(
"获得积分记录分页"
)
@PreAuthorize
(
"@ss.hasPermission('member:user-score-log:query')"
)
public
CommonResult
<
PageResult
<
MemberUserScoreLogBackVO
>>
page
(
@Valid
@RequestBody
MemberUserScoreLogQueryVO
query
)
{
PageResult
<
MemberUserScoreLogBackVO
>
pageResult
=
memberUserScoreLogService
.
getPage
(
query
);
return
success
(
pageResult
);
}
}
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/convert/memberUserScore/MemberUserScoreConvert.java
0 → 100644
View file @
960e8605
package
cn
.
iocoder
.
yudao
.
module
.
member
.
convert
.
memberUserScore
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.factory.Mappers
;
/**
* 会员积分 Convert
* @author 系统管理员
*/
@Mapper
public
interface
MemberUserScoreConvert
{
/*****转换MapStruct*****/
MemberUserScoreConvert
INSTANCE
=
Mappers
.
getMapper
(
MemberUserScoreConvert
.
class
);
}
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/convert/memberUserScoreLog/MemberUserScoreLogConvert.java
0 → 100644
View file @
960e8605
package
cn
.
iocoder
.
yudao
.
module
.
member
.
convert
.
memberUserScoreLog
;
import
org.mapstruct.Mapper
;
import
org.mapstruct.factory.Mappers
;
/**
* 会员积分 Convert
* @author 系统管理员
*/
@Mapper
public
interface
MemberUserScoreLogConvert
{
/*****转换MapStruct*****/
MemberUserScoreLogConvert
INSTANCE
=
Mappers
.
getMapper
(
MemberUserScoreLogConvert
.
class
);
}
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/memberUserScore/MemberUserScoreBackDO.java
0 → 100644
View file @
960e8605
package
cn
.
iocoder
.
yudao
.
module
.
member
.
dal
.
dataobject
.
memberUserScore
;
public
class
MemberUserScoreBackDO
{
}
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/memberUserScore/MemberUserScoreDO.java
0 → 100644
View file @
960e8605
package
cn
.
iocoder
.
yudao
.
module
.
member
.
dal
.
dataobject
.
memberUserScore
;
import
cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.*
;
/**
* 会员积分 DO
*
* @author 系统管理员
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName
(
"member_user_score"
)
@EqualsAndHashCode
(
callSuper
=
true
)
@ToString
(
callSuper
=
true
)
public
class
MemberUserScoreDO
extends
BaseDO
{
/**
* 主键
*/
@TableId
private
Long
id
;
/**
* 会员id
*/
private
Long
memberId
;
/**
* 持有积分
*/
private
Integer
holdScore
;
/**
* 已使用积分
*/
private
Integer
usedScore
;
/**
* 过期积分
*/
private
Integer
expiredScore
;
}
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/dal/dataobject/memberUserScoreLog/MemberUserScoreLogDO.java
0 → 100644
View file @
960e8605
package
cn
.
iocoder
.
yudao
.
module
.
member
.
dal
.
dataobject
.
memberUserScoreLog
;
import
cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
com.baomidou.mybatisplus.annotation.TableName
;
import
lombok.*
;
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName
(
"member_user_score_log"
)
@EqualsAndHashCode
(
callSuper
=
true
)
@ToString
(
callSuper
=
true
)
public
class
MemberUserScoreLogDO
extends
BaseDO
{
/**
* 主键
*/
@TableId
private
Long
id
;
/**
* 会员id
*/
private
Long
memberId
;
private
Integer
scoreCount
;
private
Integer
operateType
;
private
Integer
sourceType
;
private
Long
ruleId
;
private
String
extParam
=
"{}"
;
}
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/memberUserScore/MemberUserScoreMapper.java
0 → 100644
View file @
960e8605
package
cn
.
iocoder
.
yudao
.
module
.
member
.
dal
.
mysql
.
memberUserScore
;
import
cn.iocoder.yudao.framework.mybatis.core.mapper.AbstractMapper
;
import
cn.iocoder.yudao.module.member.dal.dataobject.memberUserScore.MemberUserScoreDO
;
import
cn.iocoder.yudao.module.member.vo.memberUserScore.MemberUserScoreBackVO
;
import
cn.iocoder.yudao.module.member.vo.memberUserScore.MemberUserScoreQueryVO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* 会员积分 Mapper
* @author 系统管理员
*/
@Mapper
public
interface
MemberUserScoreMapper
extends
AbstractMapper
<
MemberUserScoreDO
>
{
List
<
MemberUserScoreBackVO
>
getUserScoreList
(
@Param
(
"start"
)
int
start
,
@Param
(
"size"
)
int
size
,
@Param
(
"query"
)
MemberUserScoreQueryVO
query
);
int
countUserScore
(
@Param
(
"query"
)
MemberUserScoreQueryVO
query
);
}
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/dal/mysql/memberUserScoreLog/MemberUserScoreLogMapper.java
0 → 100644
View file @
960e8605
package
cn
.
iocoder
.
yudao
.
module
.
member
.
dal
.
mysql
.
memberUserScoreLog
;
import
cn.iocoder.yudao.framework.mybatis.core.mapper.AbstractMapper
;
import
cn.iocoder.yudao.module.member.dal.dataobject.memberUserScoreLog.MemberUserScoreLogDO
;
import
cn.iocoder.yudao.module.member.vo.memberUserScoreLog.MemberUserScoreLogBackVO
;
import
cn.iocoder.yudao.module.member.vo.memberUserScoreLog.MemberUserScoreLogQueryVO
;
import
org.apache.ibatis.annotations.Mapper
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
/**
* 会员积分 Mapper
* @author 系统管理员
*/
@Mapper
public
interface
MemberUserScoreLogMapper
extends
AbstractMapper
<
MemberUserScoreLogDO
>
{
List
<
MemberUserScoreLogBackVO
>
getPageRecordList
(
@Param
(
"start"
)
int
start
,
@Param
(
"size"
)
int
size
,
@Param
(
"query"
)
MemberUserScoreLogQueryVO
query
);
int
getPageCount
(
@Param
(
"query"
)
MemberUserScoreLogQueryVO
query
);
}
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/service/memberUserScore/MemberUserScoreService.java
0 → 100644
View file @
960e8605
package
cn
.
iocoder
.
yudao
.
module
.
member
.
service
.
memberUserScore
;
import
java.util.*
;
import
javax.validation.*
;
import
cn.iocoder.yudao.framework.mybatis.core.vo.PageVO
;
import
cn.iocoder.yudao.framework.mybatis.core.service.IService
;
import
cn.iocoder.yudao.module.member.vo.memberUserScore.*
;
import
cn.iocoder.yudao.module.member.dal.dataobject.memberUserScore.MemberUserScoreDO
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
/**
* 会员积分 Service 接口
*
* @author 系统管理员
*/
public
interface
MemberUserScoreService
extends
IService
<
MemberUserScoreDO
>
{
/**
* 删除会员积分
* @param id 编号
*/
void
deleteUserScore
(
Long
id
);
/**
* 获得会员积分
* @param id 编号
* @return 会员积分
*/
MemberUserScoreDO
getUserScore
(
Long
id
);
/**
* 获得会员积分列表
* @param ids 编号
* @return 会员积分列表
*/
List
<
MemberUserScoreDO
>
getUserScoreList
(
Collection
<
Long
>
ids
);
/**
* 获得会员积分分页
* @param query 查询
* @return 会员积分分页
*/
PageResult
<
MemberUserScoreBackVO
>
getUserScorePage
(
MemberUserScoreQueryVO
query
);
/**
* 获得会员积分列表, 用于 Excel 导出
* @param query 查询
* @return 会员积分列表
*/
List
<
MemberUserScoreDO
>
getUserScoreList
(
MemberUserScoreQueryVO
query
);
}
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/service/memberUserScore/MemberUserScoreServiceImpl.java
0 → 100644
View file @
960e8605
package
cn
.
iocoder
.
yudao
.
module
.
member
.
service
.
memberUserScore
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.framework.mybatis.core.service.AbstractService
;
import
cn.iocoder.yudao.module.member.dal.dataobject.memberUserScore.MemberUserScoreDO
;
import
cn.iocoder.yudao.module.member.dal.mysql.memberUserScore.MemberUserScoreMapper
;
import
cn.iocoder.yudao.module.member.vo.memberUserScore.MemberUserScoreBackVO
;
import
cn.iocoder.yudao.module.member.vo.memberUserScore.MemberUserScoreQueryVO
;
import
org.springframework.stereotype.Service
;
import
org.springframework.validation.annotation.Validated
;
import
javax.annotation.Resource
;
import
java.util.Collection
;
import
java.util.List
;
/**
* 会员积分 Service 实现类
*
* @author 系统管理员
*/
@Service
@Validated
public
class
MemberUserScoreServiceImpl
extends
AbstractService
<
MemberUserScoreMapper
,
MemberUserScoreDO
>
implements
MemberUserScoreService
{
@Resource
private
MemberUserScoreMapper
userScoreMapper
;
@Override
public
void
deleteUserScore
(
Long
id
)
{
// 删除
userScoreMapper
.
deleteById
(
id
);
}
@Override
public
MemberUserScoreDO
getUserScore
(
Long
id
)
{
return
userScoreMapper
.
selectById
(
id
);
}
@Override
public
List
<
MemberUserScoreDO
>
getUserScoreList
(
Collection
<
Long
>
ids
)
{
return
userScoreMapper
.
selectBatchIds
(
ids
);
}
@Override
public
PageResult
<
MemberUserScoreBackVO
>
getUserScorePage
(
MemberUserScoreQueryVO
query
)
{
int
start
=
(
query
.
getPageNo
()
-
1
)
*
query
.
getPageSize
();
int
size
=
query
.
getPageSize
();
List
<
MemberUserScoreBackVO
>
list
=
userScoreMapper
.
getUserScoreList
(
start
,
size
,
query
);
int
total
=
userScoreMapper
.
countUserScore
(
query
);
return
new
PageResult
<>(
list
,
total
,
query
.
getPageSize
(),
query
.
getPageNo
(),
(
total
+
query
.
getPageSize
()
-
1
)
/
query
.
getPageSize
());
}
@Override
public
List
<
MemberUserScoreDO
>
getUserScoreList
(
MemberUserScoreQueryVO
query
)
{
return
userScoreMapper
.
selectList
(
query
);
}
}
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/service/memberUserScoreLog/MemberUserScoreLogService.java
0 → 100644
View file @
960e8605
package
cn
.
iocoder
.
yudao
.
module
.
member
.
service
.
memberUserScoreLog
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.framework.mybatis.core.service.IService
;
import
cn.iocoder.yudao.module.member.dal.dataobject.memberUserScoreLog.MemberUserScoreLogDO
;
import
cn.iocoder.yudao.module.member.vo.memberUserScoreLog.MemberUserScoreLogBackVO
;
import
cn.iocoder.yudao.module.member.vo.memberUserScoreLog.MemberUserScoreLogQueryVO
;
/**
* 会员积分日志 Service 接口
*
* @author 系统管理员
*/
public
interface
MemberUserScoreLogService
extends
IService
<
MemberUserScoreLogDO
>
{
PageResult
<
MemberUserScoreLogBackVO
>
getPage
(
MemberUserScoreLogQueryVO
query
);
}
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/service/memberUserScoreLog/MemberUserScoreLogServiceImpl.java
0 → 100644
View file @
960e8605
package
cn
.
iocoder
.
yudao
.
module
.
member
.
service
.
memberUserScoreLog
;
import
cn.iocoder.yudao.framework.common.pojo.PageResult
;
import
cn.iocoder.yudao.framework.mybatis.core.service.AbstractService
;
import
cn.iocoder.yudao.module.member.dal.dataobject.memberUserScoreLog.MemberUserScoreLogDO
;
import
cn.iocoder.yudao.module.member.dal.mysql.memberUserScoreLog.MemberUserScoreLogMapper
;
import
cn.iocoder.yudao.module.member.vo.memberUserScoreLog.MemberUserScoreLogBackVO
;
import
cn.iocoder.yudao.module.member.vo.memberUserScoreLog.MemberUserScoreLogQueryVO
;
import
cn.iocoder.yudao.module.system.service.dict.DictTypeService
;
import
org.springframework.stereotype.Service
;
import
org.springframework.validation.annotation.Validated
;
import
javax.annotation.Resource
;
import
java.util.List
;
/**
* 会员积分日志 Service 实现类
*
* @author 系统管理员
*/
@Service
@Validated
public
class
MemberUserScoreLogServiceImpl
extends
AbstractService
<
MemberUserScoreLogMapper
,
MemberUserScoreLogDO
>
implements
MemberUserScoreLogService
{
@Resource
private
MemberUserScoreLogMapper
userScoreLogMapper
;
@Resource
private
DictTypeService
dictTypeService
;
@Override
public
PageResult
<
MemberUserScoreLogBackVO
>
getPage
(
MemberUserScoreLogQueryVO
query
)
{
int
start
=
(
query
.
getPageNo
()
-
1
)
*
query
.
getPageSize
();
int
size
=
query
.
getPageSize
();
List
<
MemberUserScoreLogBackVO
>
list
=
userScoreLogMapper
.
getPageRecordList
(
start
,
size
,
query
);
int
total
=
userScoreLogMapper
.
getPageCount
(
query
);
return
new
PageResult
<>(
list
,
total
,
query
.
getPageSize
(),
query
.
getPageNo
(),
(
total
+
query
.
getPageSize
()
-
1
)
/
query
.
getPageSize
());
}
}
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/vo/memberUserScore/MemberUserScoreBackVO.java
0 → 100644
View file @
960e8605
package
cn
.
iocoder
.
yudao
.
module
.
member
.
vo
.
memberUserScore
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @author zhaobiyan
*/
@Data
@ApiModel
(
"管理后台 - 会员积分查询 VO"
)
public
class
MemberUserScoreBackVO
{
@ApiModelProperty
(
value
=
"会员id"
)
private
String
id
;
@ApiModelProperty
(
value
=
"会员昵称"
)
private
String
nickname
;
@ApiModelProperty
(
value
=
"联系方式"
)
private
String
areaCode
;
@ApiModelProperty
(
value
=
"手机号"
)
private
String
mobile
;
@ApiModelProperty
(
value
=
"国家(中文)"
)
private
String
countryNameZh
;
@ApiModelProperty
(
value
=
"国家(英文)"
)
private
String
countryNameEn
;
@ApiModelProperty
(
value
=
"当前积分"
)
private
Integer
holdScore
;
@ApiModelProperty
(
value
=
"已兑换积分"
)
private
Integer
usedScore
;
@ApiModelProperty
(
value
=
"会员注册时间"
)
private
Date
createTime
;
}
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/vo/memberUserScore/MemberUserScoreQueryVO.java
0 → 100644
View file @
960e8605
package
cn
.
iocoder
.
yudao
.
module
.
member
.
vo
.
memberUserScore
;
import
cn.iocoder.yudao.framework.common.pojo.PageParam
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @author zhaobiyan
*/
@Data
@ApiModel
(
"管理后台 - 会员积分查询 VO"
)
public
class
MemberUserScoreQueryVO
extends
PageParam
{
@ApiModelProperty
(
value
=
"关键词"
)
private
String
key
;
@ApiModelProperty
(
value
=
"国家"
)
private
Integer
country
;
@ApiModelProperty
(
value
=
"当前积分"
)
private
Integer
holdScore
;
@ApiModelProperty
(
value
=
"当前积分操作"
)
private
Integer
holdScoreOperate
;
@ApiModelProperty
(
value
=
"已使用积分"
)
private
Integer
usedScore
;
@ApiModelProperty
(
value
=
"已使用积分操作"
)
private
Integer
usedScoreOperate
;
@ApiModelProperty
(
value
=
"会员创建时间开始"
)
private
Date
startTime
;
@ApiModelProperty
(
value
=
"会员创建时间结束"
)
private
Date
endTime
;
}
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/vo/memberUserScoreLog/MemberUserScoreLogBackVO.java
0 → 100644
View file @
960e8605
package
cn
.
iocoder
.
yudao
.
module
.
member
.
vo
.
memberUserScoreLog
;
import
cn.hutool.json.JSONObject
;
import
cn.hutool.json.JSONUtil
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
org.apache.commons.lang.StringUtils
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.Map
;
/**
* @author zhaobiyan
*/
@Data
@ApiModel
(
"管理后台 - 积分记录查询 VO"
)
public
class
MemberUserScoreLogBackVO
{
@ApiModelProperty
(
value
=
"积分记录id"
)
private
Long
id
;
@ApiModelProperty
(
value
=
"会员id"
)
private
Long
memberId
;
@ApiModelProperty
(
value
=
"会员昵称"
)
private
String
memberName
;
@ApiModelProperty
(
value
=
"积分数量"
)
private
Integer
scoreCount
;
@ApiModelProperty
(
value
=
"操作类别"
)
private
Integer
operateType
;
@ApiModelProperty
(
value
=
"积分来源"
)
private
Integer
sourceType
;
@ApiModelProperty
(
value
=
"规则标题(中文)"
)
private
String
ruleTitleZh
;
@ApiModelProperty
(
value
=
"规则标题(英文)"
)
private
String
ruleTitleEn
;
@ApiModelProperty
(
value
=
"规则说明(中文)"
)
private
String
ruleDescZh
;
@ApiModelProperty
(
value
=
"规则说明(英文)"
)
private
String
ruleDescEn
;
@ApiModelProperty
(
value
=
"规则封面(中文)"
)
private
String
coverImageZh
;
@ApiModelProperty
(
value
=
"规则封面(英文)"
)
private
String
coverImageEn
;
@ApiModelProperty
(
value
=
"创建时间"
)
private
Date
createTime
;
@ApiModelProperty
(
value
=
"扩展参数"
)
private
String
extParam
;
public
JSONObject
getExtParamJson
()
{
if
(
StringUtils
.
isBlank
(
extParam
))
{
return
new
JSONObject
();
}
return
JSONUtil
.
parseObj
(
extParam
);
}
}
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/vo/memberUserScoreLog/MemberUserScoreLogQueryVO.java
0 → 100644
View file @
960e8605
package
cn
.
iocoder
.
yudao
.
module
.
member
.
vo
.
memberUserScoreLog
;
import
cn.iocoder.yudao.framework.common.pojo.PageParam
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.util.Date
;
/**
* @author zhaobiyan
*/
@Data
@ApiModel
(
"管理后台 - 积分记录查询 VO"
)
public
class
MemberUserScoreLogQueryVO
extends
PageParam
{
@ApiModelProperty
(
value
=
"关键词"
)
private
String
key
;
@ApiModelProperty
(
value
=
"积分来源"
)
private
Integer
sourceType
;
@ApiModelProperty
(
value
=
"规则标题"
)
private
String
ruleTitle
;
@ApiModelProperty
(
value
=
"规则说明"
)
private
String
ruleDesc
;
@ApiModelProperty
(
value
=
"积分数值"
)
private
Integer
scoreCount
;
@ApiModelProperty
(
value
=
"积分数值操作"
)
private
Integer
scoreCountOperate
;
@ApiModelProperty
(
value
=
"开始时间"
)
private
Date
startTime
;
@ApiModelProperty
(
value
=
"结束时间"
)
private
Date
endTime
;
}
yudao-module-member/yudao-module-member-impl/src/main/resources/mapper/user/MemberUserScoreLogMapper.xml
0 → 100644
View file @
960e8605
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.iocoder.yudao.module.member.dal.mysql.memberUserScoreLog.MemberUserScoreLogMapper"
>
<select
id=
"getPageRecordList"
resultType=
"cn.iocoder.yudao.module.member.vo.memberUserScoreLog.MemberUserScoreLogBackVO"
>
select
musl.id as id,
musl.member_id as memberId,
mu.nickname as memberName,
musl.score_count as scoreCount,
musl.operate_type as operateType,
musl.source_type as sourceType,
sr.title_zh as ruleTitleZh,
sr.title_en as ruleTitleEn,
sr.desc_zh as ruleDescZh,
sr.desc_en as ruleDescEn,
sr.cover_image_zh as coverImageZh,
sr.cover_image_en as coverImageEn,
musl.create_time as createTime,
musl.ext_param as extParam
from member_user_score_log musl
left join member_user mu on mu.id = musl.member_id
left join score_rule sr on sr.id = musl.rule_id
where 1=1
<include
refid=
"pageCondition"
/>
order by musl.create_time desc
limit #{start}, #{size}
</select>
<select
id=
"getPageCount"
resultType=
"java.lang.Integer"
>
select count(*)
from member_user_score_log musl
left join member_user mu on mu.id = musl.member_id
left join score_rule sr on sr.id = musl.rule_id
where 1=1
<include
refid=
"pageCondition"
/>
</select>
<sql
id=
"pageCondition"
>
<if
test=
"query.key !=null and query.key != ''"
>
and (mu.nickname like '%${query.key}%' or mu.mobile like '%${query.key}%')
</if>
<if
test=
"query.sourceType !=null"
>
and musl.source_type = #{query.sourceType}
</if>
<if
test=
"query.ruleTitle !=null and query.ruleTitle !=''"
>
and (sr.title_zh like '%${query.ruleTitle}%' or sr.title_en like '%${query.ruleTitle}%')
</if>
<if
test=
"query.ruleDesc !=null and query.ruleDesc !=''"
>
and (sr.desc_zh like '%${query.ruleDesc}%' or sr.desc_en like '%${query.ruleDesc}%')
</if>
<if
test=
"query.startTime != null "
>
and musl.create_time
>
= #{query.startTime}
</if>
<if
test=
"query.endTime != null "
>
and musl.create_time
<
= #{query.endTime}
</if>
<if
test=
"query.scoreCount != null and query.scoreCountOperate != null"
>
<!--1:大于 2:等于 3:小于-->
<if
test=
"query.scoreCountOperate == 1"
>
and musl.score_count
>
#{query.scoreCount}
</if>
<if
test=
"query.scoreCountOperate == 2"
>
and musl.score_count = #{query.scoreCount}
</if>
<if
test=
"query.scoreCountOperate == 3"
>
and musl.score_count
<
#{query.scoreCount}
</if>
</if>
</sql>
</mapper>
yudao-module-member/yudao-module-member-impl/src/main/resources/mapper/user/MemberUserScoreMapper.xml
0 → 100644
View file @
960e8605
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.iocoder.yudao.module.member.dal.mysql.memberUserScore.MemberUserScoreMapper"
>
<select
id=
"getUserScoreList"
resultType=
"cn.iocoder.yudao.module.member.vo.memberUserScore.MemberUserScoreBackVO"
>
select
mu.id,
mu.nickname,
mu.area_code as areaCode,
mu.mobile,
re.title_zh as countryNameZh,
re.title_en as countryNameEn,
mus.hold_score as holdScore,
mus.used_score as usedScore,
mu.create_time as createTime
from member_user mu
left join member_user_score mus on mus.member_id = mu.id
left join ecw_region re on re.id = mu.country
where 1 = 1
<include
refid=
"scoreCondition"
/>
order by mu.id
limit #{start}, #{size}
</select>
<select
id=
"countUserScore"
resultType=
"java.lang.Integer"
>
select
count(*)
from member_user mu
left join member_user_score mus on mus.member_id = mu.id
left join ecw_region re on re.id = mu.country
where 1 = 1
<include
refid=
"scoreCondition"
/>
</select>
<sql
id=
"scoreCondition"
>
<if
test=
"query.key != null and query.key != ''"
>
and (mu.nickname like '%${query.key}%' or mu.mobile like '%${query.key}%')
</if>
<if
test=
"query.country != null"
>
and mu.country = #{query.country}
</if>
<if
test=
"query.startTime != null "
>
and mu.create_time
>
= #{query.startTime}
</if>
<if
test=
"query.endTime != null "
>
and mu.create_time
<
= #{query.endTime}
</if>
<if
test=
"query.usedScore != null and query.usedScoreOperate != null"
>
<!--1:大于 2:等于 3:小于-->
<if
test=
"query.usedScoreOperate == 1"
>
and mus.used_score
>
#{query.usedScore}
</if>
<if
test=
"query.usedScoreOperate == 2"
>
and mus.used_score = #{query.usedScore}
</if>
<if
test=
"query.usedScoreOperate == 3"
>
and mus.used_score
<
#{query.usedScore}
</if>
</if>
<if
test=
"query.holdScore != null and query.holdScoreOperate != null"
>
<!--1:大于 2:等于 3:小于-->
<if
test=
"query.holdScoreOperate == 1"
>
and mus.hold_score
>
#{query.holdScore}
</if>
<if
test=
"query.holdScoreOperate == 2"
>
and mus.hold_score = #{query.holdScore}
</if>
<if
test=
"query.holdScoreOperate == 3"
>
and mus.hold_score
<
#{query.holdScore}
</if>
</if>
</sql>
</mapper>
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