123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- package com.dragoninfo.dcuc.authweb.restcontroller.approval;
- import com.dragoninfo.dcuc.auth.auth.dto.ApprovalDto;
- import com.dragoninfo.dcuc.auth.auth.entity.FuncApproval;
- import com.dragoninfo.dcuc.auth.auth.facade.IApprovalFacade;
- import com.dragoninfo.dcuc.authweb.restcontroller.approval.vo.FuncApprovalVo;
- import com.dragoninfo.dcuc.org.entity.OrgInfo;
- import com.dragoninfo.dcuc.org.facade.IOrgInfoFacade;
- import com.dragoninfo.dcuc.user.user.entity.UserInfo;
- import com.dragoninfo.dcuc.user.user.facade.IUserInfoFacade;
- import com.dragoninfo.duceap.core.response.Result;
- import com.dragonsoft.duceap.base.entity.http.ResponseStatus;
- import com.dragonsoft.duceap.base.entity.search.SearchDTO;
- import com.dragonsoft.duceap.web.annotation.Permission;
- import io.swagger.annotations.*;
- import org.springframework.beans.BeanUtils;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.data.domain.Page;
- import org.springframework.web.bind.annotation.*;
- import java.text.SimpleDateFormat;
- import java.util.List;
- @Api(tags = {"动态授权管理接口"})
- @Permission(value = "power_config")
- @RestController
- @RequestMapping(value = "approsvr/v2/approval/")
- public class ApprovalController {
- @Autowired
- private IApprovalFacade iApprovalFacade;
- @Autowired
- private IOrgInfoFacade iOrgInfoFacade;
- @Autowired
- private IUserInfoFacade iUserInfoFacade;
- @ApiOperation(value = "获取动态授权信息列表")
- @ApiImplicitParam(name = "searchDTO", value = "查询条件", paramType = "body",
- examples = @Example({
- @ExampleProperty(value = "{'appName_like':'应用名称','roleName_like':'角色名称','proposerName_like':'申请人'," +
- "'proposerOrg_eq':'id申请机构id','approvalStatus_eq':'申请状态'}",
- mediaType = "application/json")
- }))
- @PostMapping(value = "_search")
- public Result<List<FuncApproval>> approvalPage(SearchDTO searchDTO) {
- Page<FuncApproval> page = iApprovalFacade.approvalPage(searchDTO);
- page.getContent().stream().forEach(this::setValues);
- return Result.success(page.getTotalElements(), page.getContent());
- }
- @ApiOperation(value = "同意授权")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "id", value = "id"),
- @ApiImplicitParam(name = "hasTime", value = "hasTime,0:不存在时间限制 1:存在时间限制。"),
- @ApiImplicitParam(name = "validTime", value = "授权截止时间 格式:yyyyMMddHHmmss", paramType = "string")
- })
- @PutMapping(value = "agree")
- public Result agree(@RequestBody FuncApprovalVo funcApprovalVo) {
- ApprovalDto approvalDto = new ApprovalDto();
- BeanUtils.copyProperties(funcApprovalVo, approvalDto);
- ResponseStatus responseStatus = iApprovalFacade.agree(approvalDto);
- Result result = dealResponseStatus(responseStatus);
- return result;
- }
- @ApiOperation(value = "拒绝授权")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "id", value = "id"),
- @ApiImplicitParam(name = "approvalOpinion", value = "拒绝意见"),
- })
- @PutMapping(value = "disagree")
- public Result disagree(@RequestBody FuncApprovalVo funcApprovalVo) {
- ApprovalDto approvalDto = new ApprovalDto();
- BeanUtils.copyProperties(funcApprovalVo, approvalDto);
- ResponseStatus responseStatus = iApprovalFacade.disagree(approvalDto);
- Result result = dealResponseStatus(responseStatus);
- return result;
- }
- @ApiOperation(value = "获取详情")
- @ApiImplicitParams({@ApiImplicitParam(paramType = "path", name = "id", value = "授权ID", required = true
- , example = "40288a8b699fc2500169a33b20540000")})
- @GetMapping(value = "detail/{id}")
- public Result<FuncApprovalVo> toDetail(@PathVariable("id") String id) {
- FuncApproval approval = iApprovalFacade.detail(id);
- setValues(approval);
- FuncApprovalVo vo = new FuncApprovalVo();
- BeanUtils.copyProperties(approval, vo);
- if (approval.getValidTime() != null) {
- SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- vo.setValidTime(format.format(approval.getValidTime()));
- }
- return Result.success(vo);
- }
- private FuncApproval setValues(FuncApproval approval) {
- OrgInfo orgInfo = iOrgInfoFacade.detail(approval.getProposerOrg());
- if (orgInfo != null) {
- approval.setOrgName(orgInfo.getFullName());
- }
- UserInfo approvalUser = iUserInfoFacade.userDetail(approval.getApprovalId());
- if (orgInfo != null) {
- approval.setApprovalName(approvalUser.getName());
- }
- return approval;
- }
- private Result dealResponseStatus(ResponseStatus responseStatus) {
- if (ResponseStatus.SUCCESS_CODE.equals(responseStatus.getStatusCode())) {
- return Result.success(responseStatus.getMessage());
- } else {
- return Result.fail(responseStatus.getMessage());
- }
- }
- }
|