Browse Source

修改部门接口和周计划接口

Feick 4 years ago
parent
commit
23945bbed9

+ 7 - 0
src/main/kotlin/com/yaoxiang/planning/action/DepartmentAction.kt

@@ -43,6 +43,13 @@ class DepartmentAction {
         return Reply.ok(tree.orElse(null))
     }
 
+    @ApiOperation("获取部门列表")
+    @GetMapping("list")
+    fun list():Reply<List<Department>>{
+        val result = departmentService.list()
+        return Reply.ok(result)
+    }
+
     @ApiOperation("更新部门信息")
     @PostMapping("update")
     @ApiImplicitParams(

+ 12 - 17
src/main/kotlin/com/yaoxiang/planning/action/WeeklyAction.kt

@@ -54,26 +54,21 @@ class WeeklyAction {
         return Reply(result)
     }
 
-    @ApiOperation("获取个人的周计划列表")
-    @GetMapping("listCurrentWeek")
-    fun listCurrentWeek(@RequestParam(required = false) startTime: Long?): Reply<Map<String,List<WeeklyPlan>>> {
+    @GetMapping("listCurrentMonth")
+    @ApiOperation("获取个人当月的计划列表")
+    fun listCurrentMonth(@RequestParam(required = false) startTime: Long?,
+                         @RequestParam(required = false) userId: Long?): Reply<Map<String, List<WeeklyPlan>>> {
         val start = startTime ?: System.currentTimeMillis()
-        val result = weeklyPlanService.mapCurrentWeek(start)
+        val result = weeklyPlanService.mapCurrentMonth(start,userId)
         return Reply.ok(result)
     }
 
+//    @ApiOperation("获取所有人的周计划列表")
+//    @GetMapping("listAllOfCurrentWeek")
+//    fun listAllOfCurrentWeek(@RequestParam(required = false) startTime: Long?): Reply<Map<String, List<WeeklyPlan>>> {
+//        val start = startTime ?: System.currentTimeMillis()
+//        val result = weeklyPlanService.mapCurrentWeek(start, false)
+//        return Reply.ok(result)
+//    }
 
-    fun listCurrentMonth(@RequestParam(required = false) startTime: Long?):Reply<Map<String,List<WeeklyPlan>>>{
-        val start = startTime ?: System.currentTimeMillis()
-        val result = weeklyPlanService.mapCurrentMonth(start)
-        return Reply.ok(result)
-    }
-
-    @ApiOperation("获取所有人的周计划列表")
-    @GetMapping("listAllOfCurrentWeek")
-    fun listAllOfCurrentWeek(@RequestParam(required = false) startTime: Long?): Reply<Map<String,List<WeeklyPlan>>> {
-        val start = startTime ?: System.currentTimeMillis()
-        val result = weeklyPlanService.mapCurrentWeek(start,false)
-        return Reply.ok(result)
-    }
 }

+ 4 - 0
src/main/kotlin/com/yaoxiang/planning/domain/WeeklyPlan.kt

@@ -1,6 +1,7 @@
 package com.yaoxiang.planning.domain
 
 import com.fasterxml.jackson.annotation.JsonFormat
+import com.fasterxml.jackson.annotation.JsonIgnore
 import io.swagger.annotations.ApiModel
 import io.swagger.annotations.ApiModelProperty
 import java.util.*
@@ -25,4 +26,7 @@ class WeeklyPlan() : Planning() {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     var endTime: Date? = null
 
+    @Transient
+    @JsonIgnore
+    var dayOfMonth: Int? = null
 }

+ 27 - 22
src/main/kotlin/com/yaoxiang/planning/service/WeeklyPlanService.kt

@@ -59,40 +59,45 @@ class WeeklyPlanService {
         return true
     }
 
-    fun mapCurrentWeek(start: Long, self: Boolean = true): Map<String, List<WeeklyPlan>> {
-        val list = findCurrentWeek(start, self)
-        list.sortedBy { it.startTime!! }
-        val result = LinkedHashMap<String,List<WeeklyPlan>>()
-        return result
-    }
+    fun mapCurrentMonth(start: Long, userId: Long?, self: Boolean = true): Map<String, List<WeeklyPlan>> {
+        val list = findCurrentMoon(start, userId, self)
+        val planList = mutableListOf<WeeklyPlan>()
+        for (plan in list) {
+            plan.dayOfMonth = DateUtil.getDay(plan.startTime)
+            planList.add(plan)
+        }
+        val map = planList.groupBy { it.dayOfMonth }
 
-    fun mapCurrentMonth(start: Long, self: Boolean = true):Map<String,List<WeeklyPlan>>{
-        val result = LinkedHashMap<String,List<WeeklyPlan>>()
+        val monthDay = DateUtil.getMonthDay(Date(start))
+        val result = LinkedHashMap<String, List<WeeklyPlan>>()
+        for (i in 1..monthDay) {
+            result[i.toString()] = map.getOrDefault(i, arrayListOf())
+        }
         return result
     }
 
-    @Transactional(readOnly = true)
-    fun findCurrentWeek(start: Long, self: Boolean): List<WeeklyPlan> {
-        val time = Date(start)
-        val first = DateUtil.getFirstDayOfWeek(time)
-        val last = DateUtil.getLastDayOfWeek(time)
-        if (!self) {
-            return weeklyPlanRepo.findAllByStartTimeBetween(first, last)
-        }
-        val userId = userService.currentUserId()
-        return weeklyPlanRepo.findAllByUserIdAndStartTimeBetween(userId!!, first, last)
-    }
+//    @Transactional(readOnly = true)
+//    fun findCurrentWeek(start: Long, self: Boolean): List<WeeklyPlan> {
+//        val time = Date(start)
+//        val first = DateUtil.getFirstDayOfWeek(time)
+//        val last = DateUtil.getLastDayOfWeek(time)
+//        if (!self) {
+//            return weeklyPlanRepo.findAllByStartTimeBetween(first, last)
+//        }
+//        val userId = userService.currentUserId()
+//        return weeklyPlanRepo.findAllByUserIdAndStartTimeBetween(userId!!, first, last)
+//    }
 
     @Transactional(readOnly = true)
-    fun findCurrentMoon(start: Long, self: Boolean = true): List<WeeklyPlan> {
+    fun findCurrentMoon(start: Long, userId: Long?, self: Boolean = true): List<WeeklyPlan> {
+        val id = userId ?: userService.currentUserId()
         val time = Date(start)
         val first = DateUtil.getFirstDayOfMonth(time)
         val last = DateUtil.getLastDayOfMonth(time)
         if (!self) {
             return weeklyPlanRepo.findAllByStartTimeBetween(first, last)
         }
-        val userId = userService.currentUserId()
-        return weeklyPlanRepo.findAllByUserIdAndStartTimeBetween(userId!!, first, last)
+        return weeklyPlanRepo.findAllByUserIdAndStartTimeBetween(id!!, first, last)
     }
 
 }

+ 2 - 1
src/main/resources/application.properties

@@ -19,6 +19,7 @@ spring.datasource.testWhileIdle=true
 spring.datasource.testOnBorrow=false
 spring.datasource.testOnReturn=false
 
-planning.department_name=سÏó
+#سÏó
+planning.department_name=\u723b\u8c61
 planning.secret=YaoXiang@1234
 planning.default_password=Admin123