Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
T
training-project
Overview
Overview
Details
Activity
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hqzhdj
training-project
Commits
4d956ae6
Commit
4d956ae6
authored
Dec 05, 2024
by
梅存智
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
获取报名的参加人数
parent
97aed996
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
103 additions
and
7 deletions
+103
-7
cloud-training-project-service/src/main/java/com/yizhi/training/application/controller/TpStudentEnrollPassedController.java
+28
-2
cloud-training-project-service/src/main/java/com/yizhi/training/application/mapper/TpViewRecordMapper.java
+46
-0
cloud-training-project-service/src/main/java/com/yizhi/training/application/service/impl/TrainingProjectServiceImpl.java
+29
-5
No files found.
cloud-training-project-service/src/main/java/com/yizhi/training/application/controller/TpStudentEnrollPassedController.java
View file @
4d956ae6
...
...
@@ -10,13 +10,16 @@ import org.springframework.web.bind.annotation.RequestParam;
import
org.springframework.web.bind.annotation.RestController
;
import
com.yizhi.application.orm.id.IdGenerator
;
import
com.yizhi.core.application.cache.RedisCache
;
import
com.yizhi.core.application.context.ContextHolder
;
import
com.yizhi.core.application.context.RequestContext
;
import
com.yizhi.training.application.domain.TpStudentEnrollPassed
;
import
com.yizhi.training.application.domain.TrainingProject
;
import
com.yizhi.training.application.mapper.TpStudentEnrollPassedMapper
;
import
com.yizhi.training.application.mapper.TpViewRecordMapper
;
import
com.yizhi.training.application.mapper.TrainingProjectMapper
;
import
com.yizhi.training.application.service.ITpStudentEnrollPassedService
;
import
com.yizhi.training.application.service.ITrainingProjectService
;
@RestController
@RequestMapping
(
"/TpStudentEnrollPassed"
)
...
...
@@ -34,6 +37,15 @@ public class TpStudentEnrollPassedController {
@Autowired
private
TrainingProjectMapper
trainingProjectMapper
;
@Autowired
private
ITrainingProjectService
trainingProjectService
;
@Autowired
private
TpViewRecordMapper
tpViewRecordMapper
;
@Autowired
private
RedisCache
redisCache
;
@GetMapping
(
"/selectTpIdByCondition"
)
Long
selectTpIdByCondition
(
@RequestParam
(
value
=
"tpProjrctId"
)
Long
tpProjrctId
){
RequestContext
context
=
ContextHolder
.
get
();
...
...
@@ -56,8 +68,22 @@ public class TpStudentEnrollPassedController {
tep
.
setEndTime
(
tp
.
getEndTime
());
tep
.
setJoinTime
(
new
Date
());
tep
.
setSiteId
(
requestContext
.
getSiteId
());
tpStudentEnrollPassedMapper
.
insert
(
tep
);
Integer
count
=
tpStudentEnrollPassedMapper
.
insert
(
tep
);
//参加人数添加到缓存
if
(
count
>
0
){
try
{
String
key
=
"tp:page:joinNumber:count:"
+
tp
.
getCompanyId
();
String
item
=
tp
.
getSiteId
()
+
tp
.
getId
().
toString
();
if
(
tp
.
getVisibleRange
()
==
1
)
{
count
=
tpViewRecordMapper
.
getEnrollViewNum
(
tp
);
}
else
{
count
=
tpViewRecordMapper
.
getEnrollViewNumRange
(
tp
);
}
redisCache
.
hset
(
key
,
item
,
count
+
""
,
86400
);
}
catch
(
Exception
e
){
e
.
printStackTrace
();
}
}
return
tep
.
getId
();
}
...
...
cloud-training-project-service/src/main/java/com/yizhi/training/application/mapper/TpViewRecordMapper.java
View file @
4d956ae6
...
...
@@ -58,4 +58,50 @@ public interface TpViewRecordMapper extends BaseMapper<TpViewRecord> {
"GROUP BY tb.account_id) a"
)
Integer
getViewNumRange
(
@Param
(
"trainingProject"
)
TrainingProject
trainingProject
);
/**
* 获取报名的参加人数
* @param trainingProject
* @return
*/
@Select
(
"select count(1) from "
+
"(select tb.id "
+
"from tp_view_record tb "
+
"INNER JOIN tr_enroll_record en ON en.training_project_id=tb.training_project_id "
+
"where tb.training_project_id = #{trainingProject.id} "
+
"and tb.company_id = #{trainingProject.companyId} "
+
"and tb.site_id = #{trainingProject.siteId} "
+
"group by tb.account_id) tb"
)
Integer
getEnrollViewNum
(
@Param
(
"trainingProject"
)
TrainingProject
trainingProject
);
/**
* 获取报名的参加人数
* @param trainingProject
* @return
*/
@Select
(
"SELECT count(1) from (select tb.account_id\n"
+
"from (\n"
+
"select tb.account_id,tb.org_id\n"
+
"from tp_view_record tb \n"
+
"INNER JOIN tr_enroll_record en ON en.training_project_id=tb.training_project_id "
+
"where tb.training_project_id = #{trainingProject.id} \n"
+
"and tb.company_id = #{trainingProject.companyId}\n"
+
"and tb.site_id = #{trainingProject.siteId} \n"
+
"group by tb.account_id) tb\n"
+
"left join tp_authorization_range t on tb.account_id=t.relation_id \n"
+
"where t.biz_id = #{trainingProject.id} \n"
+
"GROUP BY tb.account_id\n"
+
"UNION ALL \n"
+
"select tb.account_id\n"
+
"from (\n"
+
"select tb.account_id,tb.org_id\n"
+
"from tp_view_record tb \n"
+
"where tb.training_project_id = #{trainingProject.id} \n"
+
"and tb.company_id = #{trainingProject.companyId}\n"
+
"and tb.site_id = #{trainingProject.siteId} \n"
+
"group by tb.account_id) tb\n"
+
"left join tp_authorization_range t on tb.org_id=t.relation_id \n"
+
"where t.biz_id = #{trainingProject.id}\n"
+
"GROUP BY tb.account_id) a"
)
Integer
getEnrollViewNumRange
(
@Param
(
"trainingProject"
)
TrainingProject
trainingProject
);
}
cloud-training-project-service/src/main/java/com/yizhi/training/application/service/impl/TrainingProjectServiceImpl.java
View file @
4d956ae6
...
...
@@ -516,8 +516,19 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe
vo
.
setActivityStateCode
(
TrEnrollStatusEnum
.
ACT_WAIT_ENROLL
.
getCode
());
vo
.
setActivityStateName
(
TrEnrollStatusEnum
.
ACT_WAIT_ENROLL
.
getValue
());
//根据报名开始时间和签到开始时间设置活动状态
state
=
compareTime
(
tr
.
getEnrollStartTime
(),
tr
.
getSignStartTime
()
==
null
?
tr
.
getEnrollEndTime
()
:
tr
.
getSignStartTime
());
//根据报名开始时间和签到开始时间设置报名活动状态
Date
endTime
=
tr
.
getSignStartTime
();
if
(
endTime
==
null
){
endTime
=
tr
.
getEnrollEndTime
();
}
else
{
//判断签到开始时间是否和报名的开始时间和结束时间重合,重合取报名结束时间
Date
s
=
tr
.
getEnrollStartTime
();
Date
e
=
tr
.
getEnrollEndTime
();
if
((
endTime
.
after
(
s
)
||
s
.
equals
(
endTime
))
&&
(
endTime
.
before
(
e
)
||
e
.
equals
(
endTime
))){
endTime
=
e
;
}
}
state
=
compareTime
(
tr
.
getEnrollStartTime
(),
endTime
);
if
(
state
==
TrEnrollStatusEnum
.
ACT_RUN
){
vo
.
setActivityStateCode
(
TrEnrollStatusEnum
.
ACT_ENROLL
.
getCode
());
vo
.
setActivityStateName
(
TrEnrollStatusEnum
.
ACT_ENROLL
.
getValue
());
...
...
@@ -739,9 +750,19 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe
introductionVo
.
setActivityStateCode
(
TrEnrollStatusEnum
.
ACT_WAIT_ENROLL
.
getCode
());
introductionVo
.
setActivityStateName
(
TrEnrollStatusEnum
.
ACT_WAIT_ENROLL
.
getValue
());
// 根据报名开始时间和签到开始时间设置活动状态
state
=
compareTime
(
tr
.
getEnrollStartTime
(),
tr
.
getSignStartTime
()
==
null
?
tr
.
getEnrollEndTime
()
:
tr
.
getSignStartTime
());
//根据报名开始时间和签到开始时间设置报名活动状态
Date
endTime
=
tr
.
getSignStartTime
();
if
(
endTime
==
null
){
endTime
=
tr
.
getEnrollEndTime
();
}
else
{
//判断签到开始时间是否和报名的开始时间和结束时间重合,重合取报名结束时间
Date
s
=
tr
.
getEnrollStartTime
();
Date
e
=
tr
.
getEnrollEndTime
();
if
((
endTime
.
after
(
s
)
||
s
.
equals
(
endTime
))
&&
(
endTime
.
before
(
e
)
||
e
.
equals
(
endTime
))){
endTime
=
e
;
}
}
state
=
compareTime
(
tr
.
getEnrollStartTime
(),
endTime
);
if
(
state
==
TrEnrollStatusEnum
.
ACT_RUN
)
{
introductionVo
.
setActivityStateCode
(
TrEnrollStatusEnum
.
ACT_ENROLL
.
getCode
());
introductionVo
.
setActivityStateName
(
TrEnrollStatusEnum
.
ACT_ENROLL
.
getValue
());
...
...
@@ -1408,6 +1429,9 @@ public class TrainingProjectServiceImpl extends ServiceImpl<TrainingProjectMappe
if
(
count
>
0
){
List
<
String
>
list
=
new
ArrayList
<
String
>(
1
);
list
.
add
(
DateUtil
.
toDay
(
theDay
));
list
.
add
(
DateUtil
.
toDay
(
DateUtil
.
addDay
(
theDay
,
1
)));
list
.
add
(
DateUtil
.
toDay
(
DateUtil
.
addDay
(
theDay
,
2
)));
list
.
add
(
DateUtil
.
toDay
(
DateUtil
.
addDay
(
theDay
,
3
)));
item
.
setTheDay
(
list
);
}
...
...
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