package cn.wisenergy.chnmuseum.party.web.controller; import cn.wisenergy.chnmuseum.party.common.log.MethodLog; import cn.wisenergy.chnmuseum.party.common.log.OperModule; import cn.wisenergy.chnmuseum.party.common.log.OperType; import cn.wisenergy.chnmuseum.party.common.util.DateUtil80; 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.TOrgan; import cn.wisenergy.chnmuseum.party.service.TOrganService; 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 com.beust.jcommander.Parameter; 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.commons.lang3.SystemUtils; import org.apache.ibatis.annotations.Param; 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-22 */ @Slf4j @RestController @RequestMapping("/organ") @Api(tags = {"机构操作接口"}) public class TOrganController extends BaseController { @Resource private TOrganService tOrganService; @PostMapping("/add") @RequiresPermissions("/organ/add") @ApiOperation(value = "添加机构", notes = "添加机构") @MethodLog(operModule = OperModule.机构管理,operType = OperType.添加) public Map<String, Object> add(TOrgan organ) { organ.setCreateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis())); organ.setUpdateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis())); // 保存业务节点信息 boolean result = tOrganService.save(organ); // 返回操作结果 if (result) { return getSuccessResult(); } else { // 保存失败 return getFailResult(); } } @PutMapping("/update") @RequiresPermissions("/organ/update") @ApiOperation(value = "update", notes = "修改机构信息") @MethodLog(operModule = OperModule.机构管理,operType = OperType.修改) public Map<String, Object> updateTOrgan(TOrgan tOrgan) { tOrgan.setUpdateTime(DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis())); boolean flag = tOrganService.updateById(tOrgan); if (flag) { return getSuccessResult(); } return getFailResult(); } // @PutMapping("/updateAuditStatus") // @RequiresPermissions("/organ/updateAuditStatus") // @ApiOperation(value = "更新机构审核状态", notes = "更新机构审核状态") // @ApiImplicitParams(value = { // @ApiImplicitParam(name = "id", value = "标识ID", dataType = "String", paramType = "path"), // @ApiImplicitParam(name = "status", value = "状态", paramType = "query", dataType = "String") // }) // public Map<String, Object> updateStatus(@NotNull(message = "机构ID不能为空") @PathVariable("id") String id, @RequestParam("status") AuditStatusEnum status) { // UpdateWrapper<TOrgan> updateWrapper = new UpdateWrapper<>(); // updateWrapper.eq("id", id); // updateWrapper.eq("audit_status", status.name()); // boolean flag = tOrganService.update(updateWrapper); // if (flag) { // return getSuccessResult(); // } // return getFailResult(); // } @DeleteMapping("/delete") @RequiresPermissions("/organ/delete") @ApiOperation(value = "根据ID删除机构", notes = "根据ID删除机构") @MethodLog(operModule = OperModule.机构管理,operType = OperType.删除) @ApiImplicitParams(value = { @ApiImplicitParam(name = "id", value = "标识ID", paramType = "path", dataType = "String") }) public Map<String, Object> deleteTOrgan(@PathVariable("id") String id) { UpdateWrapper<TOrgan> updateWrapper = new UpdateWrapper<>(); updateWrapper.eq("id", id); updateWrapper.eq("is_deleted", 1); updateWrapper.eq("update_time", DateUtil80.getDateTimeOfTimestamp(System.currentTimeMillis())); boolean result = tOrganService.update(updateWrapper); if (result) { return getSuccessResult(); } return getFailResult(); } @GetMapping("/getList") @RequiresPermissions("/organ/getList") @ApiOperation(value = "获取机构全部列表(无分页)", notes = "获取机构全部列表(无分页)") @MethodLog(operModule = OperModule.机构管理,operType = OperType.查询) public Map<String, Object> getTOrganList() { List<TOrgan> tOrganList = tOrganService.list(Wrappers.<TOrgan>lambdaQuery().eq(TOrgan::getIsDeleted, 0)); return getResult(tOrganList); } @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("/organ/getPageList") @ApiOperation(value = "获取机构分页列表", notes = "获取机构分页列表") @MethodLog(operModule = OperModule.机构管理,operType = OperType.查询) public Map<String, Object> getTOrganPageList(GenericPageParam genericPageParam) { LambdaQueryWrapper<TOrgan> queryWrapper = new LambdaQueryWrapper<>(); // 对名称或编码模糊查询 if (StringUtils.isNotBlank(genericPageParam.getNameOrCode())) { queryWrapper.like(TOrgan::getName, genericPageParam.getNameOrCode()); } // 根据创建时间区间检索 if (genericPageParam.getStartDate() != null && genericPageParam.getEndDate() != null) { queryWrapper.ge(TOrgan::getCreateTime, genericPageParam.getStartDate().atTime(0, 0, 0)) .le(TOrgan::getCreateTime, genericPageParam.getEndDate().atTime(23, 59, 59)); } // 设置排序规则 queryWrapper.orderByDesc(TOrgan::getCreateTime); Page<TOrgan> page = this.tOrganService.page(getPage(), queryWrapper); return getResult(page); } @ApiOperation(value = "获取机构详情", notes = "获取机构详情") @GetMapping("/getById") @RequiresPermissions("/organ/getById") @MethodLog(operModule = OperModule.机构管理,operType = OperType.查询) public Map<String, Object> getById(String id) { TOrgan tOrgan = tOrganService.getById(id); return getResult(tOrgan); } @GetMapping("/getTree") @RequiresPermissions("/organ/getTree") @ApiOperation(value = "获取机构树", notes = "获取机构树") @MethodLog(operModule = OperModule.机构管理,operType = OperType.查询) public Map<String, Object> getTree() { List<TOrgan> tOrganList = tOrganService.getTree(); return getResult(tOrganList); } }