kotlin里String和LocalDate互转

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
        }
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值