package com.dg.core.controller; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dg.core.ResultData; import com.dg.core.annotation.Authorization; import com.dg.core.annotation.CurrentUser; import com.dg.core.db.gen.entity.ReplyTemplateEntity; import com.dg.core.db.gen.entity.SysUser; import com.dg.core.service.IOrganizationChartService; import com.dg.core.service.IReplyTemplateService; import com.dg.core.util.PermissionUtil; import com.dg.core.util.TableDataInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; @Api(tags = {"回复模板接口"}) @RestController @RequestMapping("/reply") public class ReplyTemplateController extends BaseController { @Autowired IReplyTemplateService iReplyTemplateService; @Autowired IOrganizationChartService iOrganizationChartService; /** * 获取模板列表 * @return */ @ApiOperation("获取模板列表") @GetMapping("/getlist") @Authorization public TableDataInfo selectConfigList(@RequestParam(value = "pageNum",required = false) Integer pageNum, @RequestParam(value = "pageSize",required = false) Integer pageSize, @RequestParam(value = "name",required = false) String Name, @CurrentUser SysUser sysUser) { Page pageParam = new Page<>(pageNum,pageSize); List ids=PermissionUtil.getStairDepartment(sysUser,iOrganizationChartService); List list; if (sysUser.getUserType().equals("1")||sysUser.getIsDivisionHead().equals("1")){ list = iReplyTemplateService.selectConfigList(pageParam,pageSize,Name,ids,null); } else { list = iReplyTemplateService.selectConfigList(pageParam,pageSize,Name,ids,sysUser.getUserId()); } int num=iReplyTemplateService.countNum(Name,ids); return getDataTable(list,num); } /** * 获取详情 * @param Id * @return */ @ApiOperation("获取详情") @GetMapping("/getdata") @Authorization public ResultData selectConfigData(@RequestParam(value = "Id",required = false) String Id) { if(StringUtils.isEmpty(Id)) { return ResultData.error("Id不能为空"); } return ResultData.success(iReplyTemplateService.selectConfigData(Id)); } /** * 新增模板 * @param entity * @return */ @ApiOperation("新增模板") @PostMapping("/add") @Authorization public ResultData insertConfig(@RequestBody ReplyTemplateEntity entity,@CurrentUser SysUser sysUser) { if(entity==null) { return ResultData.error("参数不能为空"); } if(StringUtils.isEmpty(entity.getName())) { return ResultData.error("模板名称不能为空"); } if(StringUtils.isEmpty(entity.getDepartmentId())) { return ResultData.error("部门id不能为空 请分配部门id"); } List ids=iOrganizationChartService.getIds(entity.getDepartmentId()); int num=iReplyTemplateService.countNum(entity.getName(),ids); if(num>0) { return ResultData.error("部门里办事名称重复!"); } entity.setId(null); entity.setDepartmentId(entity.getDepartmentId()); entity.setCreateUserId(sysUser.getUserId()+""); return toAjax(iReplyTemplateService.insertConfig(entity)); } /** * 更新模板 * @param entity * @return */ @ApiOperation("更新模板") @PostMapping("/update") @Authorization public ResultData updateConfig(@RequestBody ReplyTemplateEntity entity) { if(entity==null) { return ResultData.error("参数不能为空"); } if(StringUtils.isEmpty(entity.getName())) { return ResultData.error("模板名称不能为空"); } return toAjax(iReplyTemplateService.updateConfig(entity)); } /** * 删除模板 * @param Id * @return */ @ApiOperation("删除模板") @DeleteMapping("/delete") @Authorization public ResultData deleteConfigById(@RequestParam(value = "Id",required = false) String Id) { return toAjax(iReplyTemplateService.deleteConfigById(Id)); } /** * 复制模板 * @param Id * @return */ @ApiOperation("复制模板") @PostMapping("/copy") @Authorization public ResultData copy(@RequestParam(value = "Id",required = false) String Id,@CurrentUser SysUser sysUser) { if(StringUtils.isEmpty(Id)) { return ResultData.error("Id不能为空"); } ReplyTemplateEntity entity=iReplyTemplateService.selectConfigData(Id); if(entity==null) { return ResultData.error("模板不存在!"); } entity.setCreateUserId(sysUser.getUserId()); entity.setName(entity.getName()+"(副本)"); entity.setId(null); return toAjax(iReplyTemplateService.insertConfig(entity)); } }