package org.springblade.modules.securityapply.controller; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.ApiParam; import lombok.AllArgsConstructor; import org.springblade.core.boot.ctrl.BladeController; import org.springblade.core.log.exception.ServiceException; import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Query; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.Func; import org.springblade.modules.securityapply.entity.SecurityApply; import org.springblade.modules.securityapply.service.SecurityApplyService; import org.springblade.modules.securityapply.vo.SecurityApplyVO; import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.List; /** * 保安员证申诉控制器 * @author zhongrj * @since 2022-03-03 */ @RestController @AllArgsConstructor @RequestMapping("/securityApply") public class SecurityApplyController extends BladeController { private final SecurityApplyService securityApplyService; /** * 详情 * @param securityApply * @return */ @GetMapping("/detail") public R detail(SecurityApply securityApply) { SecurityApply detail = securityApplyService.getOne(Condition.getQueryWrapper(securityApply)); return R.data(detail); } /** * 分页 * @param query * @param securityApply * @return */ @GetMapping("/list") public R> list(SecurityApply securityApply, Query query) { IPage pages = securityApplyService.page(Condition.getPage(query), Condition.getQueryWrapper(securityApply)); return R.data(pages); } /** * 自定义分页 * @param securityApply * @param query * @return */ @GetMapping("/page") public R> page(SecurityApplyVO securityApply, Query query) { IPage pages = securityApplyService.selectSecurityApplyPage(Condition.getPage(query), securityApply); return R.data(pages); } /** * 新增 * @param securityApply * @return */ @PostMapping("/save") public R save(@RequestBody SecurityApply securityApply) { //判断是否已经申请过(审核通过,待审核) SecurityApply securityApply1 = new SecurityApply(); securityApply1.setAuditStatus(1); securityApply1.setNumber(securityApply.getNumber()); securityApply1.setUserId(securityApply.getUserId()); List list1 = securityApplyService.list(Condition.getQueryWrapper(securityApply1)); if (list1.size()>0){ throw new ServiceException("当前人员已经提交申请,审核已通过,请勿重复申请!"); } SecurityApply securityApply2 = new SecurityApply(); securityApply2.setAuditStatus(3); securityApply2.setNumber(securityApply.getNumber()); securityApply2.setUserId(securityApply.getUserId()); List list2 = securityApplyService.list(Condition.getQueryWrapper(securityApply2)); if (list2.size()>0){ throw new ServiceException("当前人员已经提交申请,待审核中,请勿重复申请!"); } //设置时间 securityApply.setCreateTime(new Date()); //待审核 securityApply.setAuditStatus(3); //返回 return R.data(securityApplyService.save(securityApply)); } /** * 修改 * @param securityApply * @return */ @PostMapping("/update") public R update(@RequestBody SecurityApply securityApply) { //修改并返回 return R.data(securityApplyService.updateById(securityApply)); } /** * 新增或修改 * @param securityApply * @return */ @PostMapping("/submit") public R submit(@RequestBody SecurityApply securityApply) { return R.status(securityApplyService.saveOrUpdate(securityApply)); } /** * 删除 */ @PostMapping("/remove") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { return R.status(securityApplyService.removeByIds(Func.toLongList(ids))); } /** * 审核 * @param securityApply * @return */ @PostMapping("/audit") public R audit(@RequestBody SecurityApply securityApply) { securityApply.setAuditTime(new Date()); //修改并返回 return R.data(securityApplyService.audit(securityApply)); } /** * 批量审核 * @param securityApply * @return */ @PostMapping("/batchAudit") public R batchAudit(@RequestBody SecurityApplyVO securityApply) { securityApply.setAuditTime(new Date()); //修改并返回 return R.data(securityApplyService.batchAudit(securityApply)); } }