| package com.doumee.api.cloud; | 
|   | 
| import com.doumee.api.BaseController; | 
| import com.doumee.biz.system.SystemDataPermissionBiz; | 
| import com.doumee.config.annotation.CloudRequiredPermission; | 
| import com.doumee.core.annotation.pr.PreventRepeat; | 
| import com.doumee.core.annotation.trace.Trace; | 
| import com.doumee.core.constants.DataPermissionConstants; | 
| import com.doumee.core.constants.OperaType; | 
| import com.doumee.core.model.ApiResponse; | 
| import com.doumee.core.model.PageData; | 
| import com.doumee.core.model.PageWrap; | 
| import com.doumee.core.utils.Constants; | 
| import com.doumee.dao.system.model.SystemDataPermission; | 
| import com.doumee.dao.system.vo.SystemDataPermissionListVO; | 
| import com.doumee.service.system.SystemDataPermissionService; | 
| import io.swagger.annotations.Api; | 
| import io.swagger.annotations.ApiOperation; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.validation.annotation.Validated; | 
| import org.springframework.web.bind.annotation.*; | 
|   | 
| import java.util.ArrayList; | 
| import java.util.List; | 
| import java.util.Map; | 
|   | 
| /** | 
|  * @author Eva.Caesar Liu | 
|  * @date 2023/03/21 14:49 | 
|  */ | 
| @RestController | 
| @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/system/dataPermission") | 
| @Api(tags = "系统数据权限") | 
| public class SystemDataPermissionCloudController extends BaseController { | 
|   | 
|     @Autowired | 
|     private SystemDataPermissionService systemDataPermissionService; | 
|   | 
|     @Autowired | 
|     private SystemDataPermissionBiz systemDataPermissionBiz; | 
|     @ApiOperation("根据roleId查询企业数据权限") | 
|     @PostMapping("/findByRoleId") | 
|     @CloudRequiredPermission("system:datapermission:query") | 
|     public ApiResponse<SystemDataPermission> findByRoleId (@RequestBody  SystemDataPermission  pageWrap) { | 
|         return ApiResponse.success(systemDataPermissionService.findByRoleId(pageWrap)); | 
|     } | 
|     @PreventRepeat | 
|     @ApiOperation("新建") | 
|     @PostMapping("/create") | 
|     @CloudRequiredPermission("system:datapermission:create") | 
|     public ApiResponse create(@RequestHeader(Constants.HEADER_USER_TOKEN) String token, @Validated(OperaType.Create.class) @RequestBody SystemDataPermission systemDataPermission) { | 
|         systemDataPermission.setCreateUser(this.getLoginUser(token).getId()); | 
|         return ApiResponse.success(systemDataPermissionBiz.create(systemDataPermission)); | 
|     } | 
|   | 
|     @ApiOperation("根据ID删除") | 
|     @GetMapping("/delete/{id}") | 
|     @CloudRequiredPermission("system:datapermission:delete") | 
|     public ApiResponse deleteById(@PathVariable Integer id) { | 
|         systemDataPermissionService.deleteById(id); | 
|         return ApiResponse.success(null); | 
|     } | 
|   | 
|     @ApiOperation("批量删除") | 
|     @GetMapping("/delete/batch") | 
|     @CloudRequiredPermission("system:datapermission:delete") | 
|     public ApiResponse deleteByIdInBatch(@RequestParam String ids) { | 
|         String [] idArray = ids.split(","); | 
|         List<Integer> idList = new ArrayList<>(); | 
|         for (String id : idArray) { | 
|             idList.add(Integer.valueOf(id)); | 
|         } | 
|         systemDataPermissionService.deleteByIdInBatch(idList); | 
|         return ApiResponse.success(null); | 
|     } | 
|   | 
|     @ApiOperation("修改") | 
|     @PostMapping("/updateById") | 
|     @CloudRequiredPermission("system:datapermission:update") | 
|     public ApiResponse updateById(@RequestHeader(Constants.HEADER_USER_TOKEN) String token,@Validated(OperaType.Update.class) @RequestBody SystemDataPermission systemDataPermission) { | 
|         systemDataPermission.setUpdateUser(this.getLoginUser(token).getId()); | 
|         systemDataPermissionBiz.update(systemDataPermission); | 
|         return ApiResponse.success(null); | 
|     } | 
|   | 
|     @ApiOperation("修改状态") | 
|     @PostMapping("/updateStatus") | 
|     @CloudRequiredPermission("system:datapermission:update") | 
|     public ApiResponse updateStatus(@RequestHeader(Constants.HEADER_USER_TOKEN) String token,@Validated(OperaType.UpdateStatus.class) @RequestBody SystemDataPermission systemDataPermission) { | 
|         systemDataPermission.setLoginUserInfo(this.getLoginUser(token)); | 
|         systemDataPermissionBiz.updateStatus(systemDataPermission); | 
|         return ApiResponse.success(null); | 
|     } | 
|   | 
|     @ApiOperation("分页查询") | 
|     @PostMapping("/page") | 
|     @CloudRequiredPermission("system:datapermission:query") | 
|     public ApiResponse<PageData<SystemDataPermissionListVO>> findPage (@RequestHeader(Constants.HEADER_USER_TOKEN) String token,@RequestBody PageWrap<SystemDataPermission> pageWrap) { | 
|         return ApiResponse.success(systemDataPermissionService.findPage(pageWrap)); | 
|     } | 
|   | 
|     @Trace(exclude = true) | 
|     @ApiOperation("查询数据权限类型") | 
|     @GetMapping("/types") | 
|     public ApiResponse<List<Map<String, Object>>> findTypes (@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { | 
|         return ApiResponse.success(DataPermissionConstants.Type.valueList()); | 
|     } | 
|     @Trace(exclude = true) | 
|     @ApiOperation("查询数据权限模块") | 
|     @GetMapping("/modules") | 
|     public ApiResponse<List<Map<String, Object>>> findModules (@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { | 
|         return ApiResponse.success(DataPermissionConstants.Module.valueList()); | 
|     } | 
| } |