package com.xzx.gc.user.controller; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.convert.Convert; import cn.hutool.core.date.DateUtil; import com.xzx.gc.common.Result; import com.xzx.gc.common.constant.CommonEnum; import com.xzx.gc.common.constant.Constants; import com.xzx.gc.entity.UserApplyInfo; import com.xzx.gc.model.user.UserApplyAddDTO; import com.xzx.gc.model.user.UserApplyFindDTO; import com.xzx.gc.user.service.UserApplyInfoService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; import java.util.List; @Api(tags = "申请管理") @RestController @Validated public class UserApplyInfoController { @Autowired private UserApplyInfoService userApplyInfoService; @ApiOperation(value = "请假申请") @PostMapping(value = "/userApply/leave/add") public Result userApplyAdd(@RequestBody UserApplyAddDTO userApplyAddDTO){ UserApplyInfo userApplyInfo=new UserApplyInfo(); BeanUtil.copyProperties(userApplyAddDTO,userApplyInfo); //自动审核 userApplyInfo.setAuditTime(DateUtil.now()); userApplyInfo.setStatus(Convert.toShort(CommonEnum.已审核.getValue())); userApplyInfo.setAuditUserId(Constants.DEFAULT_ID); userApplyInfoService.add(userApplyInfo); return Result.success(); } @ApiOperation(value = "查询最近的一次请假记录") @PostMapping(value = "/userApply/leave/findNearset") public Result findNearset(@RequestBody UserApplyFindDTO userApplyFindDTO){ userApplyFindDTO.setStatus(CommonEnum.已审核.getValue()); List byUserIdAndStatus = userApplyInfoService.findByUserIdAndStatus(userApplyFindDTO); if(CollUtil.isNotEmpty(byUserIdAndStatus)){ return Result.success(byUserIdAndStatus.get(0)); } return Result.success(); } }