Skip to content
This repository was archived by the owner on Apr 22, 2025. It is now read-only.

Commit 2b2aa8c

Browse files
committed
Update the new development progress
1 parent e3caaf7 commit 2b2aa8c

File tree

9 files changed

+61
-47
lines changed

9 files changed

+61
-47
lines changed

mycollab-esb/src/main/java/com/mycollab/module/project/esb/DeleteProjectBugCommand.kt

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ import com.mycollab.module.ecm.service.ResourceService
2626
import com.mycollab.module.esb.GenericCommand
2727
import com.mycollab.module.file.AttachmentUtils
2828
import com.mycollab.module.project.ProjectTypeConstants
29+
import com.mycollab.module.project.dao.TicketKeyMapper
30+
import com.mycollab.module.project.domain.TicketKeyExample
2931
import org.springframework.stereotype.Component
3032

3133
/**
@@ -35,16 +37,19 @@ import org.springframework.stereotype.Component
3537
@Component
3638
class DeleteProjectBugCommand(private val resourceService: ResourceService,
3739
private val commentMapper: CommentMapper,
38-
private val tagService: TagService) : GenericCommand() {
40+
private val tagService: TagService,
41+
private val ticketKeyMapper: TicketKeyMapper) : GenericCommand() {
3942

4043
@AllowConcurrentEvents
4144
@Subscribe
4245
fun removeBugs(event: DeleteProjectBugEvent) {
46+
val bugIds = event.bugs.map { it.id }.toCollection(mutableListOf())
4347
event.bugs.forEach {
4448
removeRelatedFiles(event.accountId, it.projectid, it.id)
45-
removeRelatedComments(it.id)
4649
removeRelatedTags(it.id)
4750
}
51+
removeRelatedComments(bugIds)
52+
removeTicketKeys(bugIds)
4853
}
4954

5055
private fun removeRelatedFiles(accountId: Int, projectId: Int, bugId: Int) {
@@ -53,12 +58,18 @@ class DeleteProjectBugCommand(private val resourceService: ResourceService,
5358
resourceService.removeResource(attachmentPath, "", true, accountId)
5459
}
5560

56-
private fun removeRelatedComments(bugId: Int) {
61+
private fun removeRelatedComments(bugIds: MutableList<Int>) {
5762
val ex = CommentExample()
58-
ex.createCriteria().andTypeEqualTo(ProjectTypeConstants.BUG).andExtratypeidEqualTo(bugId)
63+
ex.createCriteria().andTypeEqualTo(ProjectTypeConstants.BUG).andExtratypeidIn(bugIds)
5964
commentMapper.deleteByExample(ex)
6065
}
6166

67+
private fun removeTicketKeys(bugIds: MutableList<Int>) {
68+
val ex = TicketKeyExample()
69+
ex.createCriteria().andTicketidIn(bugIds).andTickettypeEqualTo(ProjectTypeConstants.BUG)
70+
ticketKeyMapper.deleteByExample(ex)
71+
}
72+
6273
private fun removeRelatedTags(bugId: Int) {
6374
val ex = TagExample()
6475
ex.createCriteria().andTypeEqualTo(ProjectTypeConstants.BUG).andTypeidEqualTo("$bugId")

mycollab-esb/src/main/java/com/mycollab/module/project/esb/DeleteProjectRiskCommand.kt

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ import com.mycollab.module.ecm.service.ResourceService
2626
import com.mycollab.module.esb.GenericCommand
2727
import com.mycollab.module.file.AttachmentUtils
2828
import com.mycollab.module.project.ProjectTypeConstants
29+
import com.mycollab.module.project.dao.TicketKeyMapper
30+
import com.mycollab.module.project.domain.TicketKeyExample
2931
import org.springframework.stereotype.Component
3032

3133
/**
@@ -35,16 +37,19 @@ import org.springframework.stereotype.Component
3537
@Component
3638
class DeleteProjectRiskCommand(private val resourceService: ResourceService,
3739
private val commentMapper: CommentMapper,
38-
private val tagService: TagService) : GenericCommand() {
40+
private val tagService: TagService,
41+
private val ticketKeyMapper: TicketKeyMapper) : GenericCommand() {
3942

4043
@AllowConcurrentEvents
4144
@Subscribe
4245
fun removeRisk(event: DeleteProjectRiskEvent) {
46+
val riskIds = event.risks.map { it.id }.toCollection(mutableListOf())
4347
event.risks.forEach {
4448
removeRelatedFiles(event.accountId, it.projectid, it.id)
45-
removeRelatedComments(it.id)
4649
removeRelatedTags(it.id)
4750
}
51+
removeRelatedComments(riskIds)
52+
removeTicketKeys(riskIds)
4853
}
4954

5055
private fun removeRelatedFiles(accountId: Int, projectId: Int, riskId: Int) {
@@ -53,12 +58,18 @@ class DeleteProjectRiskCommand(private val resourceService: ResourceService,
5358
resourceService.removeResource(attachmentPath, "", true, accountId)
5459
}
5560

56-
private fun removeRelatedComments(riskId: Int) {
61+
private fun removeRelatedComments(riskIds: MutableList<Int>) {
5762
val ex = CommentExample()
58-
ex.createCriteria().andTypeEqualTo(ProjectTypeConstants.RISK).andExtratypeidEqualTo(riskId)
63+
ex.createCriteria().andTypeEqualTo(ProjectTypeConstants.RISK).andExtratypeidIn(riskIds)
5964
commentMapper.deleteByExample(ex)
6065
}
6166

67+
private fun removeTicketKeys(riskIds: MutableList<Int>) {
68+
val ex = TicketKeyExample()
69+
ex.createCriteria().andTicketidIn(riskIds).andTickettypeEqualTo(ProjectTypeConstants.RISK)
70+
ticketKeyMapper.deleteByExample(ex)
71+
}
72+
6273
private fun removeRelatedTags(riskId: Int) {
6374
val ex = TagExample()
6475
ex.createCriteria().andTypeEqualTo(ProjectTypeConstants.RISK).andTypeidEqualTo("$riskId")

mycollab-esb/src/main/java/com/mycollab/module/project/esb/DeleteProjectTaskCommand.kt

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ import com.mycollab.module.ecm.service.ResourceService
2626
import com.mycollab.module.esb.GenericCommand
2727
import com.mycollab.module.file.AttachmentUtils
2828
import com.mycollab.module.project.ProjectTypeConstants
29+
import com.mycollab.module.project.dao.TicketKeyMapper
30+
import com.mycollab.module.project.domain.TicketKeyExample
2931
import org.springframework.stereotype.Component
3032

3133
/**
@@ -35,16 +37,19 @@ import org.springframework.stereotype.Component
3537
@Component
3638
class DeleteProjectTaskCommand(private val resourceService: ResourceService,
3739
private val commentMapper: CommentMapper,
38-
private val tagService: TagService) : GenericCommand() {
40+
private val tagService: TagService,
41+
private val ticketKeyMapper: TicketKeyMapper) : GenericCommand() {
3942

4043
@AllowConcurrentEvents
4144
@Subscribe
4245
fun removedTask(event: DeleteProjectTaskEvent) {
46+
val taskIds = event.tasks.map { it.id }.toCollection(mutableListOf())
4347
event.tasks.forEach {
4448
removeRelatedFiles(event.accountId, it.projectid, it.id)
45-
removeRelatedComments(it.id)
4649
removeRelatedTags(it.id)
4750
}
51+
removeRelatedComments(taskIds)
52+
removeTicketKeys(taskIds)
4853
}
4954

5055
private fun removeRelatedFiles(accountId: Int, projectId: Int, taskId: Int) {
@@ -53,12 +58,18 @@ class DeleteProjectTaskCommand(private val resourceService: ResourceService,
5358
resourceService.removeResource(attachmentPath, "", true, accountId)
5459
}
5560

56-
private fun removeRelatedComments(taskId: Int) {
61+
private fun removeRelatedComments(taskIds: MutableList<Int>) {
5762
val ex = CommentExample()
58-
ex.createCriteria().andTypeEqualTo(ProjectTypeConstants.TASK).andExtratypeidEqualTo(taskId)
63+
ex.createCriteria().andTypeEqualTo(ProjectTypeConstants.TASK).andExtratypeidIn(taskIds)
5964
commentMapper.deleteByExample(ex)
6065
}
6166

67+
private fun removeTicketKeys(taskIds: MutableList<Int>) {
68+
val ex = TicketKeyExample()
69+
ex.createCriteria().andTicketidIn(taskIds).andTickettypeEqualTo(ProjectTypeConstants.TASK)
70+
ticketKeyMapper.deleteByExample(ex)
71+
}
72+
6273
private fun removeRelatedTags(taskId: Int) {
6374
val ex = TagExample()
6475
ex.createCriteria().andTypeEqualTo(ProjectTypeConstants.TASK).andTypeidEqualTo("$taskId")

mycollab-services/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@
100100
</dependency>
101101
</dependencies>
102102
<executions>
103-
103+
<!--
104104
<execution>
105105
<id>Project Artifacts Generator</id>
106106
<phase>validate</phase>
@@ -112,7 +112,7 @@
112112
<overwrite>true</overwrite>
113113
</configuration>
114114
</execution>
115-
<!--
115+
116116
<execution>
117117
<id>User Artifacts Generator</id>
118118
<phase>validate</phase>

mycollab-services/src/main/java/com/mycollab/module/project/service/BugService.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,4 @@ interface BugService : IDefaultService<Int, BugWithBLOBs, BugSearchCriteria> {
5454

5555
@Cacheable
5656
fun getComponentDefectsSummary(@CacheKey criteria: BugSearchCriteria): List<GroupItem>
57-
58-
@CacheEvict
59-
fun massUpdateBugIndexes(mapIndexes: List<Map<String, Int>>, @CacheKey sAccountId: Int)
6057
}

mycollab-services/src/main/java/com/mycollab/module/project/service/TaskService.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,5 @@ interface TaskService : IDefaultService<Int, Task, TaskSearchCriteria> {
5353
@Cacheable
5454
fun getAssignedTasksSummary(@CacheKey criteria: TaskSearchCriteria): List<GroupItem>
5555

56-
@CacheEvict
57-
fun massUpdateTaskIndexes(mapIndexes: List<Map<String, Int>>, @CacheKey sAccountId: Int)
58-
5956
fun massUpdateStatuses(oldStatus: String, newStatus: String, projectId: Int, @CacheKey sAccountId: Int)
6057
}

mycollab-services/src/main/java/com/mycollab/module/project/service/impl/BugServiceImpl.kt

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,12 @@ class BugServiceImpl(private val bugMapper: BugMapper,
106106
TagService::class.java, ProjectTicketService::class.java)))
107107
}
108108

109+
override fun removeWithSession(item: BugWithBLOBs, username: String?, sAccountId: Int) {
110+
super.removeWithSession(item, username, sAccountId)
111+
val event = DeleteProjectBugEvent(arrayOf(item), username, sAccountId)
112+
asyncEventBus.post(event)
113+
}
114+
109115
override fun massRemoveWithSession(items: List<BugWithBLOBs>, username: String?, sAccountId: Int) {
110116
super.massRemoveWithSession(items, username, sAccountId)
111117
val event = DeleteProjectBugEvent(items.toTypedArray(), username, sAccountId)
@@ -134,19 +140,6 @@ class BugServiceImpl(private val bugMapper: BugMapper,
134140

135141
override fun findById(bugId: Int, sAccountId: Int): SimpleBug? = bugMapperExt.getBugById(bugId)
136142

137-
override fun massUpdateBugIndexes(mapIndexes: List<Map<String, Int>>, @CacheKey sAccountId: Int) {
138-
val jdbcTemplate = JdbcTemplate(dataSource)
139-
jdbcTemplate.batchUpdate("UPDATE `m_prj_bug` SET `bugIndex`=? WHERE `id`=?", object : BatchPreparedStatementSetter {
140-
@Throws(SQLException::class)
141-
override fun setValues(preparedStatement: PreparedStatement, i: Int) {
142-
preparedStatement.setInt(1, mapIndexes[i].getValue("index"))
143-
preparedStatement.setInt(2, mapIndexes[i].getValue("id"))
144-
}
145-
146-
override fun getBatchSize(): Int = mapIndexes.size
147-
})
148-
}
149-
150143
companion object {
151144
init {
152145
ClassInfoMap.put(BugServiceImpl::class.java, ClassInfo(ModuleNameConstants.PRJ, ProjectTypeConstants.BUG))

mycollab-services/src/main/java/com/mycollab/module/project/service/impl/ProjectGenericItemServiceImpl.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ import org.springframework.stereotype.Service
2828
* @since 5.0.3
2929
*/
3030
@Service
31-
class ProjectGenericItemServiceImpl(private val projectGenericItemMapper: ProjectGenericItemMapper) : DefaultSearchService<ProjectGenericItemSearchCriteria>(), ProjectGenericItemService {
31+
class ProjectGenericItemServiceImpl(private val projectGenericItemMapper: ProjectGenericItemMapper) :
32+
DefaultSearchService<ProjectGenericItemSearchCriteria>(), ProjectGenericItemService {
3233

3334
override val searchMapper: ISearchableDAO<ProjectGenericItemSearchCriteria>
3435
get() = projectGenericItemMapper

mycollab-services/src/main/java/com/mycollab/module/project/service/impl/TaskServiceImpl.kt

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,12 @@ class TaskServiceImpl(private val taskMapper: TaskMapper,
137137
ProjectMemberService::class.java, MilestoneService::class.java, ItemTimeLoggingService::class.java)))
138138
}
139139

140+
override fun removeWithSession(item: Task, username: String?, sAccountId: Int) {
141+
super.removeWithSession(item, username, sAccountId)
142+
val event = DeleteProjectTaskEvent(arrayOf(item), username, sAccountId)
143+
asyncEventBus.post(event)
144+
}
145+
140146
override fun massRemoveWithSession(items: List<Task>, username: String?, sAccountId: Int) {
141147
super.massRemoveWithSession(items, username, sAccountId)
142148
val event = DeleteProjectTaskEvent(items.toTypedArray(), username, sAccountId)
@@ -176,19 +182,6 @@ class TaskServiceImpl(private val taskMapper: TaskMapper,
176182
jdbcTemplate.update("UPDATE `m_prj_task` SET `status`=? WHERE `parentTaskId`=?", status, parentTaskId)
177183
}
178184

179-
override fun massUpdateTaskIndexes(mapIndexes: List<Map<String, Int>>, @CacheKey sAccountId: Int) {
180-
val jdbcTemplate = JdbcTemplate(dataSource)
181-
jdbcTemplate.batchUpdate("UPDATE `m_prj_task` SET `taskindex`=? WHERE `id`=?", object : BatchPreparedStatementSetter {
182-
@Throws(SQLException::class)
183-
override fun setValues(preparedStatement: PreparedStatement, i: Int) {
184-
preparedStatement.setInt(1, mapIndexes[i].getValue("index"))
185-
preparedStatement.setInt(2, mapIndexes[i].getValue("id"))
186-
}
187-
188-
override fun getBatchSize(): Int = mapIndexes.size
189-
})
190-
}
191-
192185
override fun massUpdateStatuses(oldStatus: String, newStatus: String, projectId: Int, @CacheKey sAccountId: Int) {
193186
val updateTaskStatus = Task()
194187
updateTaskStatus.status = newStatus

0 commit comments

Comments
 (0)