ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

kotlin里String和LocalDate互转

2021-08-04 10:57:37  阅读:209  来源: 互联网

标签:kotlin doctorreferral springframework com import 互转 org LocalDate umh


controller

package com.umh.doctorreferral.api.controller


import com.umh.doctorreferral.api.model.*
import com.umh.doctorreferral.api.model.ReferralCasesSearchDto
import com.umh.doctorreferral.core.model.doctorreferralcase.ReferralCasesSearchParam
import com.umh.doctorreferral.api.service.ApiDoctorReferralCaseService
import io.swagger.annotations.ApiResponse
import io.swagger.annotations.ApiResponses
import io.swagger.v3.oas.annotations.Operation
import io.swagger.v3.oas.annotations.tags.Tag
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.data.domain.Page
import org.springframework.data.domain.Pageable
import org.springframework.web.bind.annotation.*
import java.util.*

/**
 * @Description
 * @Author hunagzp
 * @Date 2021/7/22 16:01
 *
 */
@RestController
@Tag(name = "医生转介API", description = "医生转介API")
class DoctorReferralCaseController {

    @Autowired
    private lateinit var doctorReferralCaseService : ApiDoctorReferralCaseService

    @Operation(summary = "交易记录搜索+转介单清单", description = "交易记录搜索+转介单清单")
    @GetMapping("/referral-cases-search", params = ["page", "size"])
    @ApiResponses(
            ApiResponse(code = 200,message = "OK",response = ReferralCasesSearchDto::class)
    )
    fun referralCasesSearch(param: ReferralCasesSearchParam, pageable : Pageable): Page<ReferralCasesSearchDto> {
        return doctorReferralCaseService.referralCasesSearch(param, pageable)
    }


}

service

package com.umh.doctorreferral.api.service


import com.umh.doctorreferral.api.model.*
import com.umh.doctorreferral.core.model.doctorreferralcase.DoctorReferralCase
import com.umh.doctorreferral.core.model.doctorreferralcase.DoctorReferralCaseRepository
import com.umh.doctorreferral.core.model.doctorreferralcase.ReferralCasesSearchParam
import com.umh.doctorreferral.core.model.file.ApplicationFileRepository
import com.umh.doctorreferral.core.service.ApplicationFileService
import io.swagger.v3.oas.annotations.Operation
import org.apache.commons.lang3.StringUtils
import org.slf4j.LoggerFactory
import org.springframework.beans.BeanUtils
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.data.domain.Pageable
import org.springframework.data.domain.*
import org.springframework.data.repository.findByIdOrNull
import org.springframework.stereotype.Service
import org.springframework.transaction.annotation.Transactional
import java.time.LocalDate
import java.time.format.DateTimeFormatter
import java.util.*
import javax.persistence.EntityManager
import javax.persistence.PersistenceContext


/**
 * @Description
 * @Author hunagzp
 * @Date 2021/7/22 16:04
 *
 */
@Service
class ApiDoctorReferralCaseService {

    private val logger = LoggerFactory.getLogger(this.javaClass)

    @Autowired
    private lateinit var applicationFileService: ApplicationFileService

    @Autowired
    private lateinit var doctorReferralCaseRepository:DoctorReferralCaseRepository

    @Autowired
    private lateinit var applicationFileRepository : ApplicationFileRepository

    @Autowired
    private lateinit var referralCasesWrapper: ReferralCasesWrapper


    @Operation(summary = "交易记录搜索+转介单清单", description = "交易记录搜索+转介单清单")
    fun referralCasesSearch(param: ReferralCasesSearchParam, pageable: Pageable): Page<ReferralCasesSearchDto> {
        val page : Pageable
        val referralCase = DoctorReferralCase()
        referralCase.apply { BeanUtils.copyProperties(param, this) }
        //定义时间格式
        val df = DateTimeFormatter.ofPattern("yyyy-MM-dd")
        //把传参string类型的param.referralDate转成localdate
        referralCase.referralDate = if (StringUtils.isNotBlank(param.referralDate)) LocalDate.parse(param.referralDate, df) else null

        val orders = ArrayList<Sort.Order>()

        orders.add(Sort.Order(Sort.Direction.DESC, "createdDate"))
        page = PageRequest.of(pageable.pageNumber, pageable.pageSize, Sort.by(orders))

        val result = doctorReferralCaseRepository.pageReferralCase(param, page)
        //将分页数据封装到自定义的传参类里
        return result.map { referralCasesWrapper.convertToReferralCasesSearchDto(it) }
    }
}
package com.umh.doctorreferral.api.model

import com.umh.doctorreferral.core.model.doctorreferralcase.DoctorReferralCase
import org.springframework.beans.BeanUtils
import org.springframework.stereotype.Component
import java.time.format.DateTimeFormatter

/**
 * @author hunagzp
 * @date 2021/8/2 14:10
 * @description
 *
 */
@Component
class ReferralCasesWrapper {


    fun convertToReferralCasesSearchDto(doctorReferralCase: DoctorReferralCase): ReferralCasesSearchDto {
        val df = DateTimeFormatter.ofPattern("yyyy/MM/dd")
        return ReferralCasesSearchDto().apply {
            BeanUtils.copyProperties(doctorReferralCase, this)
            //TODO IN/OUT, referralNo, referrer, referee, member
            //把localdate类型转换成string类型保存,this.referralDate为string类型
            this.referralDate = doctorReferralCase.referralDate?.format(df)
            this.referralStatus = doctorReferralCase.status?.name
        }
    }

}

标签:kotlin,doctorreferral,springframework,com,import,互转,org,LocalDate,umh
来源: https://blog.csdn.net/weixin_52925162/article/details/119378378

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有