feiyu02
2024-08-15 196bb14112448857a885e32dc4149e308e00b01a
src/main/kotlin/cn/flightfeather/supervision/lightshare/web/CommitmentController.kt
@@ -1,10 +1,16 @@
package cn.flightfeather.supervision.lightshare.web
import cn.flightfeather.supervision.lightshare.service.CommitmentService
import cn.flightfeather.supervision.lightshare.vo.BaseResponse
import cn.flightfeather.supervision.lightshare.vo.CommitmentVo
import io.swagger.annotations.Api
import io.swagger.annotations.ApiOperation
import io.swagger.annotations.ApiParam
import io.swagger.annotations.ApiResponse
import org.springframework.web.bind.annotation.*
import org.springframework.web.multipart.MultipartFile
import org.springframework.web.multipart.MultipartHttpServletRequest
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletResponse
/**
@@ -19,16 +25,36 @@
    @ApiOperation(value = "获取用户承诺书")
    @GetMapping("/letter")
    fun getLetterOfCommitment(
            @RequestParam("userId") userId: String,
            @RequestParam("page") page: Int,
            @RequestParam("per_page") perPage: Int,
            response: HttpServletResponse
        @ApiParam(value = "用户id") @RequestParam("userId") userId: String,
        @ApiParam(value = "页码") @RequestParam("page") page: Int,
        @ApiParam(value = "单页数据量") @RequestParam("per_page") perPage: Int,
        response: HttpServletResponse
    ) = commitmentService.getLetterOfCommitment(userId, page, perPage, response)
    @ApiOperation(value = "获取用户承诺书模板")
    @GetMapping("/letter/template")
    fun getTemplateOfCommitment(
        @ApiParam(value = "用户id") @RequestParam("userId") userId: String,
    ) = commitmentService.getTemplateOfCommitment(userId)
    @ApiOperation(value = "上传承诺书")
    @PostMapping("/letter/upload")
    fun uploadLetterOfCommitment(
            @RequestParam userId: String,
            @RequestParam("params") commitmentVoList: String,
            @RequestPart("images") files: Array<MultipartFile>
        @ApiParam(value = "用户id") @RequestParam userId: String,
        @ApiParam(value = "承诺书信息json") @RequestParam("params") commitmentVoList: String,
        @ApiParam(value = "承诺书图片") @RequestPart("images") files: Array<MultipartFile>
    ) = commitmentService.uploadLetterOfCommitment(userId, commitmentVoList, files)
    @ApiOperation(value = "生成承诺书")
    @PostMapping("/letter/create")
    fun createLetterOfCommitment(request: HttpServletRequest) = if (request is MultipartHttpServletRequest) {
        val sign = request.getFile("sign")
        val seal = request.getFile("seal")
        val userId = request.getParameter("userId")
        val vo = request.getParameter("coVo")
        commitmentService.createLetterOfCommitment(userId, vo, sign, seal)
    } else {
        BaseResponse(false)
    }
}