Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cust-api
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
李伟
cust-api
Commits
1119dbe1
Commit
1119dbe1
authored
Feb 19, 2025
by
罗林杰
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改访问量
parent
8347b256
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
188 additions
and
6 deletions
+188
-6
AppMemTrafficController.java
...app/appMemTraffic/controller/AppMemTrafficController.java
+42
-0
MemTrafficRedisBean.java
...rcisoft/business/memTraffic/bean/MemTrafficRedisBean.java
+13
-0
MemTrafficRepository.java
...rcisoft/business/memTraffic/dao/MemTrafficRepository.java
+4
-0
MemTraffic.java
...va/org/rcisoft/business/memTraffic/entity/MemTraffic.java
+6
-0
MemTrafficServiceImpl.java
...siness/memTraffic/service/impl/MemTrafficServiceImpl.java
+91
-5
ScheduleTasks.java
src/main/java/org/rcisoft/core/schedule/ScheduleTasks.java
+12
-1
MemTrafficMapper.xml
...es/mapper/business/memTraffic/mapper/MemTrafficMapper.xml
+20
-0
No files found.
src/main/java/org/rcisoft/app/appMemTraffic/controller/AppMemTrafficController.java
0 → 100644
View file @
1119dbe1
package
org
.
rcisoft
.
app
.
appMemTraffic
.
controller
;
/*固定导入*/
import
io.swagger.v3.oas.annotations.Operation
;
import
org.rcisoft.business.memTraffic.entity.MemTraffic
;
import
org.rcisoft.business.memTraffic.service.MemTrafficService
;
import
org.rcisoft.core.anno.CyOpeLogAnno
;
import
org.rcisoft.core.constant.CyMessCons
;
import
org.rcisoft.core.controller.CyPaginationController
;
import
org.rcisoft.core.model.CyPersistModel
;
import
org.rcisoft.core.operlog.enums.CyLogTypeEnum
;
import
org.rcisoft.core.result.CyResult
;
import
org.rcisoft.core.util.CyResultGenUtil
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
/**
* Created by cy on 2025年2月13日 上午10:00:53.
*/
@RestController
@RequestMapping
(
"/app"
)
public
class
AppMemTrafficController
extends
CyPaginationController
<
MemTraffic
>
{
@Autowired
private
MemTrafficService
memTrafficServiceImpl
;
//@PreAuthorize("@cyPerm.hasPerm('sys:traffic:add')")
@CyOpeLogAnno
(
title
=
"system-访问量表管理-新增访问量表"
,
businessType
=
CyLogTypeEnum
.
INSERT
)
@Operation
(
summary
=
"添加访问量表"
,
description
=
"添加访问量表"
)
@PostMapping
(
value
=
"/memtraffic/add"
)
public
CyResult
add
(
@RequestBody
MemTraffic
memTraffic
)
{
CyPersistModel
data
=
memTrafficServiceImpl
.
persist
(
memTraffic
);
return
CyResultGenUtil
.
builder
(
data
,
CyMessCons
.
MESSAGE_ALERT_SUCCESS
,
CyMessCons
.
MESSAGE_ALERT_ERROR
,
memTraffic
);
}
}
src/main/java/org/rcisoft/business/memTraffic/bean/MemTrafficRedisBean.java
0 → 100644
View file @
1119dbe1
package
org
.
rcisoft
.
business
.
memTraffic
.
bean
;
/**
* Created with family.
* author: cy
* Date: 2024/5/25
* Time: 8:43 AM
* description:
*/
public
class
MemTrafficRedisBean
{
//被访问的次数
public
static
final
String
USER_MEMTRAFFIC
=
"user:memTraffic:"
;
}
src/main/java/org/rcisoft/business/memTraffic/dao/MemTrafficRepository.java
View file @
1119dbe1
...
@@ -25,5 +25,9 @@ public interface MemTrafficRepository extends CyBaseMapper<MemTraffic> {
...
@@ -25,5 +25,9 @@ public interface MemTrafficRepository extends CyBaseMapper<MemTraffic> {
*
*
*/
*/
IPage
<
MemTraffic
>
queryMemTrafficsPaged
(
CyPageInfo
cyPageInfo
,
@Param
(
"entity"
)
MemTraffic
memTraffic
);
IPage
<
MemTraffic
>
queryMemTrafficsPaged
(
CyPageInfo
cyPageInfo
,
@Param
(
"entity"
)
MemTraffic
memTraffic
);
void
updateMemTraffic
(
@Param
(
"entity"
)
MemTraffic
memTraffic
);
void
insertMemTraffic
(
@Param
(
"entity"
)
MemTraffic
memTraffic
);
}
}
src/main/java/org/rcisoft/business/memTraffic/entity/MemTraffic.java
View file @
1119dbe1
...
@@ -82,5 +82,11 @@ public class MemTraffic extends CyIdNotDataEntity<MemTraffic> {
...
@@ -82,5 +82,11 @@ public class MemTraffic extends CyIdNotDataEntity<MemTraffic> {
*/
*/
@TableField
(
exist
=
false
)
@TableField
(
exist
=
false
)
private
BigInteger
memCode
;
private
BigInteger
memCode
;
/**
* 会员id
*/
@TableField
(
exist
=
false
)
private
BigInteger
memberId
;
}
}
src/main/java/org/rcisoft/business/memTraffic/service/impl/MemTrafficServiceImpl.java
View file @
1119dbe1
...
@@ -5,6 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
...
@@ -5,6 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.core.metadata.IPage
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.plugins.pagination.Page
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.rcisoft.business.memInfo.bean.MemberInfoRedisBean
;
import
org.rcisoft.business.memInfo.entity.MemLikeDTO
;
import
org.rcisoft.business.memTraffic.bean.MemTrafficRedisBean
;
import
org.rcisoft.core.service.CyRedisService
;
import
org.rcisoft.core.util.CyUserUtil
;
import
org.rcisoft.core.util.CyUserUtil
;
import
org.rcisoft.core.aop.CyPageUtilAsp
;
import
org.rcisoft.core.aop.CyPageUtilAsp
;
import
org.rcisoft.core.model.CyPersistModel
;
import
org.rcisoft.core.model.CyPersistModel
;
...
@@ -15,13 +19,22 @@ import org.rcisoft.business.memTraffic.service.MemTrafficService;
...
@@ -15,13 +19,22 @@ import org.rcisoft.business.memTraffic.service.MemTrafficService;
import
org.rcisoft.core.service.CyBaseService
;
import
org.rcisoft.core.service.CyBaseService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Isolation
;
import
org.springframework.transaction.annotation.Isolation
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Propagation
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.rcisoft.core.model.CyPageInfo
;
import
org.rcisoft.core.model.CyPageInfo
;
import
java.math.BigInteger
;
import
java.time.LocalDate
;
import
java.time.LocalDateTime
;
import
java.time.LocalTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Set
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
/**
/**
...
@@ -33,6 +46,14 @@ import lombok.extern.slf4j.Slf4j;
...
@@ -33,6 +46,14 @@ import lombok.extern.slf4j.Slf4j;
public
class
MemTrafficServiceImpl
extends
ServiceImpl
<
MemTrafficRepository
,
MemTraffic
>
implements
MemTrafficService
{
public
class
MemTrafficServiceImpl
extends
ServiceImpl
<
MemTrafficRepository
,
MemTraffic
>
implements
MemTrafficService
{
@Autowired
private
StringRedisTemplate
redisTemplate
;
@Autowired
private
CyRedisService
cyRedisService
;
@Autowired
private
CyRedisService
cyRedisServiceImpl
;
/**
/**
* 保存 访问量表
* 保存 访问量表
* @param memTraffic
* @param memTraffic
...
@@ -41,13 +62,78 @@ public class MemTrafficServiceImpl extends ServiceImpl<MemTrafficRepository,MemT
...
@@ -41,13 +62,78 @@ public class MemTrafficServiceImpl extends ServiceImpl<MemTrafficRepository,MemT
@Transactional
(
propagation
=
Propagation
.
REQUIRED
,
isolation
=
Isolation
.
DEFAULT
)
@Transactional
(
propagation
=
Propagation
.
REQUIRED
,
isolation
=
Isolation
.
DEFAULT
)
@Override
@Override
public
CyPersistModel
persist
(
MemTraffic
memTraffic
){
public
CyPersistModel
persist
(
MemTraffic
memTraffic
){
//增加操作
int
line
=
baseMapper
.
insert
(
memTraffic
);
BigInteger
memberId
=
memTraffic
.
getMemberId
();
log
.
debug
(
CyUserUtil
.
getAuthenUsername
()+
"新增了ID为"
+
Object
isFirst
=
cyRedisServiceImpl
.
get
(
MemTrafficRedisBean
.
USER_MEMTRAFFIC
+
memberId
);
memTraffic
.
getBusinessId
()+
"的访问量表信息"
);
return
new
CyPersistModel
(
line
);
this
.
redisTemplate
.
opsForValue
().
increment
(
MemTrafficRedisBean
.
USER_MEMTRAFFIC
+
memberId
,
1L
);
if
(
isFirst
==
null
){
// 获取当前日期
LocalDate
today
=
LocalDate
.
now
();
// 定义日期时间格式
DateTimeFormatter
formatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd"
);
// 最大时间 和 最小时间
String
createDate
=
today
.
format
(
formatter
);
memTraffic
.
setMemTraffic
(
BigInteger
.
valueOf
(
0
));
memTraffic
.
setBeginTime
(
createDate
);
baseMapper
.
insertMemTraffic
(
memTraffic
);
}
return
new
CyPersistModel
(
1
);
}
}
/**
* 用户访问量定时任务
*/
public
void
memTrafficSchedule
()
{
log
.
info
(
"用户访问数据定时任务执行中..."
);
//获取当前时间
// 获取当前日期
LocalDate
today
=
LocalDate
.
now
();
// 获取今天的最小时间(00:00:00)
LocalDateTime
startOfDay
=
today
.
atStartOfDay
();
// 获取今天的最大时间(23:59:59)
LocalDateTime
endOfDay
=
today
.
atTime
(
LocalTime
.
MAX
);
// 定义日期时间格式
DateTimeFormatter
formatter
=
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
);
// 最大时间 和 最小时间
String
beginTime
=
startOfDay
.
format
(
formatter
);
String
endTime
=
endOfDay
.
format
(
formatter
);
//将redis中存储的点赞数同步到opm_user_like表中
Set
<
String
>
keys
=
redisTemplate
.
keys
(
MemTrafficRedisBean
.
USER_MEMTRAFFIC
+
"*"
);
if
(
keys
!=
null
&&
!
keys
.
isEmpty
())
{
for
(
String
key
:
keys
)
{
// 提取 userId
int
lastIndex
=
key
.
lastIndexOf
(
':'
);
BigInteger
memberId
;
memberId
=
BigInteger
.
valueOf
(
Long
.
parseLong
(
key
.
substring
(
lastIndex
+
1
)));
//获取访问量
String
value
=
redisTemplate
.
opsForValue
().
get
(
key
);
BigInteger
count
=
null
;
if
(
value
!=
null
)
{
count
=
BigInteger
.
valueOf
(
Long
.
parseLong
(
value
));
}
//将redis中存储的访问量同步到表中
MemTraffic
memTraffic
=
new
MemTraffic
();
memTraffic
.
setMemberId
(
memberId
);
memTraffic
.
setMemTraffic
(
count
);
memTraffic
.
setBeginTime
(
beginTime
);
memTraffic
.
setEndTime
(
endTime
);
baseMapper
.
updateMemTraffic
(
memTraffic
);
}
}
else
{
System
.
out
.
println
(
"No keys found."
);
}
log
.
info
(
"用户访问数据定时任务结束---"
);
}
/**
/**
* 删除 访问量表
* 删除 访问量表
* @param memTraffic
* @param memTraffic
...
...
src/main/java/org/rcisoft/core/schedule/ScheduleTasks.java
View file @
1119dbe1
...
@@ -9,6 +9,8 @@ import org.rcisoft.business.memInfo.entity.MemLikeDTO;
...
@@ -9,6 +9,8 @@ import org.rcisoft.business.memInfo.entity.MemLikeDTO;
import
org.rcisoft.business.memInfo.service.MemInfoService
;
import
org.rcisoft.business.memInfo.service.MemInfoService
;
import
org.rcisoft.business.memInfo.service.impl.MemInfoServiceImpl
;
import
org.rcisoft.business.memInfo.service.impl.MemInfoServiceImpl
;
import
org.rcisoft.business.memLeaveMessage.service.impl.MemLeaveMessageServiceImpl
;
import
org.rcisoft.business.memLeaveMessage.service.impl.MemLeaveMessageServiceImpl
;
import
org.rcisoft.business.memTraffic.service.MemTrafficService
;
import
org.rcisoft.business.memTraffic.service.impl.MemTrafficServiceImpl
;
import
org.rcisoft.core.service.CyRedisService
;
import
org.rcisoft.core.service.CyRedisService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
import
org.springframework.data.redis.core.StringRedisTemplate
;
...
@@ -32,6 +34,9 @@ public class ScheduleTasks {
...
@@ -32,6 +34,9 @@ public class ScheduleTasks {
private
CmsOrderServiceImpl
orderService
;
private
CmsOrderServiceImpl
orderService
;
@Autowired
@Autowired
private
MemLeaveMessageServiceImpl
memLeaveMessageService
;
private
MemLeaveMessageServiceImpl
memLeaveMessageService
;
@Autowired
private
MemTrafficServiceImpl
memTrafficService
;
/**
/**
* 24点时 用户点赞数据定时任务 将点赞数据同步到对应的表中
* 24点时 用户点赞数据定时任务 将点赞数据同步到对应的表中
* 会员表 点赞表
* 会员表 点赞表
...
@@ -99,6 +104,12 @@ public class ScheduleTasks {
...
@@ -99,6 +104,12 @@ public class ScheduleTasks {
orderService
.
executeDeleteOrder
();
orderService
.
executeDeleteOrder
();
}
}
/**
* 定时更新访问量表
*/
@Scheduled
(
cron
=
"0 * * * * ?"
)
public
void
memTrafficSchedule
()
{
memTrafficService
.
memTrafficSchedule
();
}
}
}
src/main/resources/mapper/business/memTraffic/mapper/MemTrafficMapper.xml
View file @
1119dbe1
...
@@ -54,4 +54,24 @@
...
@@ -54,4 +54,24 @@
ORDER BY
ORDER BY
mt.user_id DESC
mt.user_id DESC
</select>
</select>
<update
id=
"updateMemTraffic"
>
update mem_traffic mt
left join mem_info mi on mt.user_id = mi.user_id
<set>
<if
test=
"entity.memTraffic !=null and entity.memTraffic != '' "
>
mem_traffic = #{entity.memTraffic},
</if>
</set>
where mi.business_id = #{entity.memberId}
and mt.create_date >= #{entity.beginTime}
and mt.create_date
<
#{entity.endTime}
</update>
<insert
id=
"insertMemTraffic"
>
INSERT INTO mem_traffic (user_id, create_date, mem_traffic)
SELECT mi.user_id, #{entity.beginTime}, #{entity.memTraffic}
FROM mem_info mi
WHERE mi.business_id = #{entity.memberId}
</insert>
</mapper>
</mapper>
\ No newline at end of file
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