package cn.wisenergy.chnmuseum.party.web.controller; import cn.wisenergy.chnmuseum.party.model.TUser; import cn.wisenergy.chnmuseum.party.service.impl.TUserServiceImpl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import cn.wisenergy.chnmuseum.party.web.controller.base.BaseController; import cn.wisenergy.chnmuseum.party.model.Audit; import cn.wisenergy.chnmuseum.party.service.AuditService; import cn.wisenergy.chnmuseum.party.common.enums.AuditStatusEnum; import cn.wisenergy.chnmuseum.party.common.validator.groups.Add; import cn.wisenergy.chnmuseum.party.common.validator.groups.Update; import cn.wisenergy.chnmuseum.party.common.vo.GenericPageParam; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import org.springframework.stereotype.Controller; import javax.annotation.Resource; import javax.validation.constraints.NotNull; import java.util.List; import java.util.Map; /** * <pre> * 禁用审核 前端控制器 * </pre> * * @author Danny Lee * @since 2021-03-26 */ @Slf4j @RestController @RequestMapping("/audit") @Api(tags = {"审核管理操作接口"}) public class AuditController extends BaseController { @Resource private AuditService auditService; @Resource private TUserServiceImpl userService; @GetMapping("/getUserList") @RequiresPermissions("/audit/getUserList") @ApiOperation(value = "获取用户禁用审核列表", notes = "获取用户禁用审核列表") @ApiImplicitParams(value = { @ApiImplicitParam(name = "name", value = "账号名称或提交人", paramType = "query", dataType = "String"), @ApiImplicitParam(name = "status", value = "1待初审 2 驳回 3 待复审 4通过", paramType = "query", dataType = "String") }) public Map<String, Object> getUserList(String name, Integer status) { Page<Audit> auditList = null; try { auditList = auditService.getUserList(getPage(), name, status); return getResult(auditList); } catch (Exception e) { e.printStackTrace(); } return getFailResult(); } @PostMapping("/add") @RequiresPermissions("/audit/add") @ApiOperation(value = "添加禁用审核", notes = "添加禁用审核") public Map<String, Object> saveAudit(@Validated(value = {Add.class}) Audit audit) { // 保存业务节点信息 boolean result = auditService.save(audit); // 返回操作结果 if (result) { return getSuccessResult(); } else { // 保存失败 return getFailResult(); } } @PutMapping("/update") @RequiresPermissions("/audit/update") @ApiOperation(value = "修改禁用审核信息", notes = "修改禁用审核信息") public Map<String, Object> updateAudit(@Validated(value = {Update.class}) Audit audit) { boolean flag = false; if (audit.getStatus()==3){ audit.setLevel(2); } if (audit.getStatus()!=2){ audit.setRemarks(""); } try { if (audit.getType() == 3) { Audit audit1 = auditService.getById(audit.getId()); TUser user = new TUser(); user.setId(audit1.getRelId()); user.setAuditStatus(audit.getStatus().toString()); if (audit.getStatus()==4) { user.setStatus("2"); } flag = userService.updateById(user); } flag = auditService.updateById(audit); if (!flag) { return getFailResult(); } return getSuccessResult(); } catch (Exception e) { e.printStackTrace(); } return getFailResult(); } @DeleteMapping("/delete") @RequiresPermissions("/audit/delete") @ApiOperation(value = "根据ID删除禁用审核", notes = "根据ID删除禁用审核") @ApiImplicitParams(value = { @ApiImplicitParam(name = "id", value = "标识ID", paramType = "path", dataType = "String") }) public Map<String, Object> deleteAudit(@PathVariable("id") String id) { boolean result = auditService.removeById(id); if (result) { return getSuccessResult(); } return getFailResult(); } @GetMapping("/getList") @RequiresPermissions("/audit/getList") @ApiOperation(value = "获取禁用审核全部列表(无分页)", notes = "获取禁用审核全部列表(无分页)") @ApiImplicitParams(value = { @ApiImplicitParam(name = "auditStatus", value = "审核状态", paramType = "query", dataType = "String") }) public Map<String, Object> getAuditList(@RequestParam(value = "auditStatus", defaultValue = "APPROVED_FINAL", required = false) AuditStatusEnum auditStatus) { List<Audit> auditList = auditService.list(); return getResult(auditList); } @ApiImplicitParams(value = { @ApiImplicitParam(name = "_index", value = "分页起始偏移量", paramType = "query", dataType = "Integer"), @ApiImplicitParam(name = "_size", value = "返回条数", paramType = "query", dataType = "Integer"), @ApiImplicitParam(name = "nameOrCode", value = "名称或编码", paramType = "query", dataType = "String"), @ApiImplicitParam(name = "startDate", value = "创建时间-开始", paramType = "query", dataType = "String"), @ApiImplicitParam(name = "endDate", value = "创建时间-结束", paramType = "query", dataType = "String") }) @PostMapping("/getPageList") @RequiresPermissions("/audit/getPageList") @ApiOperation(value = "获取禁用审核分页列表", notes = "获取禁用审核分页列表") public Map<String, Object> getAuditPageList(GenericPageParam genericPageParam) { LambdaQueryWrapper<Audit> queryWrapper = new LambdaQueryWrapper<>(); // 对名称或编码模糊查询 if (StringUtils.isNotBlank(genericPageParam.getNameOrCode())) { queryWrapper.like(Audit::getAuditContent, genericPageParam.getNameOrCode()); } // 根据创建时间区间检索 if (genericPageParam.getStartDate() != null && genericPageParam.getEndDate() != null) { queryWrapper.ge(Audit::getCreateTime, genericPageParam.getStartDate().atTime(0, 0, 0)) .le(Audit::getCreateTime, genericPageParam.getEndDate().atTime(23, 59, 59)); } // 设置排序规则 queryWrapper.orderByDesc(Audit::getCreateTime); // 设置查询内容 queryWrapper.select( Audit::getId, Audit::getAuditContent, Audit::getCreateTime); Page<Audit> page = this.auditService.page(getPage(), queryWrapper); for (Audit audit : page.getRecords()) { } return getResult(page); } @ApiOperation(value = "获取禁用审核详情", notes = "获取禁用审核详情") @GetMapping("/getById") @RequiresPermissions("/audit/getById") public Map<String, Object> getById(String id) { Audit audit = auditService.getById(id); return getResult(audit); } }