package com.glxp.api.controller.system; import com.github.pagehelper.PageInfo; import com.glxp.api.annotation.AuthRuleAnnotation; import com.glxp.api.annotation.Log; import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.constant.BusinessType; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; import com.glxp.api.entity.system.SystemPDFModuleEntity; import com.glxp.api.entity.system.SystemPDFTemplateEntity; import com.glxp.api.entity.system.SystemPDFTemplateRelevanceEntity; import com.glxp.api.req.basic.FilterBussinessTypeRequest; import com.glxp.api.req.system.FilterPdfModuleRequest; import com.glxp.api.req.system.SysPdfModuleSaveRequest; import com.glxp.api.req.system.FilterPdfTemplateRelevanceRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.res.system.SystemPDFModuleResponse; import com.glxp.api.res.system.SystemPDFModuleSelectResponse; import com.glxp.api.res.system.SystemPDFTemplateRelevanceResponse; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.system.SystemPDFModuleService; import com.glxp.api.service.system.SystemPDFTemplateRelevanceService; import com.glxp.api.service.system.SystemPDFTemplateService; import org.springframework.beans.BeanUtils; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; import java.util.Date; import java.util.List; import java.util.stream.Collectors; @RestController public class SysPdfModuleController { @Resource private SystemPDFModuleService systemPDFModuleService; @Resource private SystemPDFTemplateRelevanceService systemPDFTemplateRelevanceService; @Resource private SystemPDFTemplateService systemPDFTemplateService; // @Resource // BussinessLocalTypeService bussinessLocalTypeService; @AuthRuleAnnotation("system/pdf/module/list") @GetMapping("/system/pdf/module/list") public BaseResponse list(@Valid FilterPdfModuleRequest filterPDFModuleRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } List systemPDFModuleEntityList = systemPDFModuleService.queryPage(filterPDFModuleRequest); List systemPDFModuleResponseList = systemPDFModuleEntityList.stream().map(item -> { SystemPDFModuleResponse systemPDFModuleResponse = new SystemPDFModuleResponse(); BeanUtils.copyProperties(item, systemPDFModuleResponse); if (item.getTemplateId() != 0) { SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(item.getTemplateId())); if (systemPDFTemplateEntity != null) { systemPDFModuleResponse.setTemplateName(systemPDFTemplateEntity.getName()); } } return systemPDFModuleResponse; }).collect(Collectors.toList()); PageInfo pageInfo = new PageInfo<>(systemPDFModuleEntityList); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); pageSimpleResponse.setList(systemPDFModuleResponseList); return ResultVOUtils.success(pageSimpleResponse); } @Resource IBasicBussinessTypeService basicBussinessTypeService; @AuthRuleAnnotation("system/pdf/module/detail") @GetMapping("/system/pdf/module/detail") public BaseResponse moduleDetail(@Valid FilterPdfTemplateRelevanceRequest systemPDFModuleRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } if (systemPDFModuleRequest.getTemplateType() != null && systemPDFModuleRequest.getTemplateType() == 2) { FilterBussinessTypeRequest filterBussinessTypeRequest = new FilterBussinessTypeRequest(); filterBussinessTypeRequest.setEnable(true); List bussinessLocalTypeEntities = basicBussinessTypeService.findList(filterBussinessTypeRequest); for (BasicBussinessTypeEntity basicBussinessTypeEntity : bussinessLocalTypeEntities) { SystemPDFTemplateRelevanceEntity systemPDFTemplateRelevanceEntity = new SystemPDFTemplateRelevanceEntity(); systemPDFTemplateRelevanceEntity.setLocalAction(basicBussinessTypeEntity.getAction()); systemPDFTemplateRelevanceEntity.setModuleId(systemPDFModuleRequest.getModuleId()); systemPDFTemplateRelevanceService.insert(systemPDFTemplateRelevanceEntity); } List systemPDFTemplateRelevanceEntityList = systemPDFTemplateRelevanceService.filterList(systemPDFModuleRequest); PageInfo pageInfo = new PageInfo<>(systemPDFTemplateRelevanceEntityList); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setList(pageInfo.getList()); pageSimpleResponse.setTotal(pageInfo.getTotal()); return ResultVOUtils.success(pageSimpleResponse); } return ResultVOUtils.success(null); } @AuthRuleAnnotation("system/pdf/module/updateRl") @PostMapping("/system/pdf/module/updateRl") @Log(title = "pdf模板", businessType = BusinessType.UPDATE) public BaseResponse updateRl(@RequestBody SystemPDFTemplateRelevanceEntity systemPDFModuleSaveRequest) { systemPDFTemplateRelevanceService.udpateRl(systemPDFModuleSaveRequest); return ResultVOUtils.success("修改成功"); } @AuthRuleAnnotation("system/pdf/module/list") @GetMapping("/system/pdf/module/pdfModules") public BaseResponse pdfModules(@RequestParam(value = "page", defaultValue = "1") Integer page, @RequestParam(value = "limit", defaultValue = "100") Integer limit) { List systemPDFModuleEntityList = systemPDFModuleService.listPDFModules(page, limit); PageInfo pageInfo = new PageInfo<>(systemPDFModuleEntityList); PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); pageSimpleResponse.setTotal(pageInfo.getTotal()); List systemPDFModuleSelectResponses = systemPDFModuleEntityList.stream().map(e -> { SystemPDFModuleSelectResponse systemPDFModuleSelectResponse = new SystemPDFModuleSelectResponse(); BeanUtils.copyProperties(e, systemPDFModuleSelectResponse); systemPDFModuleSelectResponse.setIdStr(String.valueOf(e.getId())); return systemPDFModuleSelectResponse; }).collect(Collectors.toList()); pageSimpleResponse.setList(systemPDFModuleSelectResponses); return ResultVOUtils.success(pageSimpleResponse); } @AuthRuleAnnotation("system/pdf/module/save") @PostMapping("/system/pdf/module/save") @Log(title = "pdf模板", businessType = BusinessType.INSERT) public BaseResponse save(@RequestBody @Valid SysPdfModuleSaveRequest sysPdfModuleSaveRequest, BindingResult bindingResult) { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } SystemPDFModuleEntity systemPDFModuleEntity = new SystemPDFModuleEntity(); BeanUtils.copyProperties(sysPdfModuleSaveRequest, systemPDFModuleEntity); systemPDFModuleEntity.setCreate_time(new Date()); systemPDFModuleEntity.setUpdate_time(new Date()); boolean b = systemPDFModuleService.insert(systemPDFModuleEntity); if (!b) { return ResultVOUtils.error(ResultEnum.NOT_NETWORK); } return ResultVOUtils.success(); } @AuthRuleAnnotation("system/pdf/module/update") @PostMapping("/system/pdf/module/update") @Log(title = "pdf模板", businessType = BusinessType.UPDATE) public BaseResponse update(@RequestBody SysPdfModuleSaveRequest sysPdfModuleSaveRequest) { sysPdfModuleSaveRequest.setUpdate_time(new Date()); systemPDFModuleService.updateById(sysPdfModuleSaveRequest); return ResultVOUtils.success("修改成功"); } @AuthRuleAnnotation("system/pdf/module/delete") @GetMapping("/system/pdf/module/delete") @Log(title = "pdf模板", businessType = BusinessType.DELETE) public BaseResponse deleteById(@RequestParam("id") Integer id) { boolean b = systemPDFModuleService.deleteById(id); if (b) return ResultVOUtils.success("删除成功"); else { return ResultVOUtils.error(500, "删除失败"); } } }