package com.gkhy.safePlatform.accountController; import com.alibaba.fastjson.JSONObject; import com.gkhy.safePlatform.account.rpc.apimodel.AccountAuthService; import com.gkhy.safePlatform.account.rpc.apimodel.AccountDepartmentService; import com.gkhy.safePlatform.account.rpc.apimodel.model.req.DepAddRPCReqDTO; import com.gkhy.safePlatform.account.rpc.apimodel.model.req.DepModRPCReqDTO; import com.gkhy.safePlatform.account.rpc.apimodel.model.resp.DepRPCRespDTO; import com.gkhy.safePlatform.commons.co.ContextCacheUser; import com.gkhy.safePlatform.commons.enums.ResultCodes; import com.gkhy.safePlatform.commons.vo.ResultVO; import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.security.core.Authentication; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import java.security.Principal; import java.util.List; @RestController @RequestMapping("/department") public class DepartmentController { @DubboReference(check = false) private AccountDepartmentService accountDepartmentService; @RequestMapping(value = "/list",method = RequestMethod.POST) public ResultVO> getListTree(){ return accountDepartmentService.depList(); } @RequestMapping(value = "/add", method = RequestMethod.POST) public ResultVO addDepartment(Authentication authentication, @RequestBody DepAddRPCReqDTO depAddRPCReqDTO) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); return accountDepartmentService.addDep(currentUser, depAddRPCReqDTO); } @RequestMapping(value = "/mod", method = RequestMethod.POST) public ResultVO addDepartment(Authentication authentication, @RequestBody DepModRPCReqDTO depModRPCReqDTO) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); return accountDepartmentService.modDep(currentUser, depModRPCReqDTO); } @RequestMapping(value = "/del", method = RequestMethod.POST) public ResultVO addDepartment(Authentication authentication, @RequestBody JSONObject json) { ContextCacheUser currentUser = (ContextCacheUser) authentication.getPrincipal(); Long depId = json.getLong("depId"); return accountDepartmentService.delDep(currentUser, depId); } }