123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- package com.dragoninfo.dcuc.authweb.restcontroller.app;
- import cn.hutool.core.bean.BeanUtil;
- import cn.hutool.core.util.StrUtil;
- import com.alibaba.nacos.client.naming.utils.CollectionUtils;
- import com.dragoninfo.dcuc.app.dto.ApplyInfoDTO;
- import com.dragoninfo.dcuc.app.entity.ApplyInfo;
- import com.dragoninfo.dcuc.app.facade.IApplyInfoFacade;
- import com.dragoninfo.dcuc.app.facade.IManufacturerInfoFacade;
- import com.dragoninfo.dcuc.auth.auth.vo.ApplicationInfoVO;
- import com.dragoninfo.dcuc.auth.power.facade.IApplicationInfoFacade;
- import com.dragoninfo.dcuc.auth.sub.dto.AuthOrgDTO;
- import com.dragoninfo.dcuc.auth.sub.facade.IAuthOrgInfoFacade;
- import com.dragoninfo.dcuc.authweb.business.MtAuthBusiness;
- import com.dragoninfo.dcuc.authweb.restcontroller.app.vo.AppVo;
- import com.dragoninfo.dcuc.duceap.facade.IDuceapUploadFacade;
- import com.dragoninfo.duceap.core.enums.ResultEnum;
- 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.base.exception.ApplicationException;
- import com.dragonsoft.duceap.commons.util.string.StringUtils;
- import com.dragonsoft.duceap.core.search.Searchable;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiImplicitParam;
- import io.swagger.annotations.ApiImplicitParams;
- import io.swagger.annotations.ApiOperation;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.data.domain.Page;
- import org.springframework.web.bind.annotation.*;
- import java.util.*;
- /**
- * @author yica
- * @date 2018/8/8
- */
- @Slf4j
- @Api(tags = {"应用管理接口"})
- @RestController
- @RequestMapping(value = "/appsvr/v2")
- public class AppController {
- @Autowired
- private IApplyInfoFacade applyInfoFacade;
- @Autowired
- private IAuthOrgInfoFacade authOrgInfoFacade;
- @Autowired
- private IDuceapUploadFacade uploadFacade;
- @ApiOperation(value = "查询所有应用列表")
- @ApiImplicitParam(name = "applyStatus", value = "applyStatus:应用在用标识(0:启用 1:禁用)")
- @GetMapping("allApps")
- public Result<List<ApplyInfo>> allApps(@RequestParam(value = "applyStatus",required = false) String applyStatus){
- List<ApplyInfo> applyList = applyInfoFacade.findList(applyStatus);
- return Result.success(applyList);
- }
- @ApiOperation(value = "查询应用列表")
- @ApiImplicitParam(name = "searchable", value = "查询条件(applyName:应用名称,like;orgCode:应用系统事权单位代码,like;applyStatus:应用在用标识(0:启用 1:禁用);=;)")
- @PostMapping(value = "apps")
- public Result<List<ApplyInfo>> applyPage(Searchable searchable) {
- SearchDTO searchDTO = searchable.toSearchDTO();
- Page<ApplyInfo> page = applyInfoFacade.applyInfoPage(searchDTO);
- return Result.success(page.getTotalElements(), page.getContent());
- }
- @ApiOperation(value = "修改应用")
- @PutMapping(value = "/app/{id}")
- public Result<Object> update(@RequestBody AppVo appVo) {
- try {
- ApplyInfoDTO applyInfoDTO = new ApplyInfoDTO();
- BeanUtil.copyProperties(appVo, applyInfoDTO);
- //检查应用信息是否已存
- ResponseStatus responseStatus = applyInfoFacade.isRepeat(applyInfoDTO);
- if (!ResponseStatus.SUCCESS_CODE.equals(responseStatus.getStatusCode())) {
- return Result.fail(ResultEnum.SERVICE_FAIL.getValue(), responseStatus.getMessage());
- }
- applyInfoFacade.updateApply(applyInfoDTO);
- } catch (Exception e) {
- log.error("update app", e);
- return Result.fail(ResultEnum.SERVICE_FAIL.getValue(), "修改异常");
- }
- return Result.success();
- }
- @ApiOperation(value = "保存应用")
- @PostMapping(value = "/app")
- public Result<Object> save(@RequestBody AppVo appVo) {
- try {
- ApplyInfoDTO applyInfoDTO = new ApplyInfoDTO();
- BeanUtil.copyProperties(appVo, applyInfoDTO);
- //检查应用信息是否已存
- ResponseStatus responseStatus = applyInfoFacade.isRepeat(applyInfoDTO);
- if (!ResponseStatus.SUCCESS_CODE.equals(responseStatus.getStatusCode())) {
- return Result.fail(ResultEnum.SERVICE_FAIL.getValue(), responseStatus.getMessage());
- }
- applyInfoFacade.saveAppIy(applyInfoDTO);
- } catch (Exception e) {
- log.error("save app", e);
- return Result.fail(ResultEnum.SERVICE_FAIL.getValue(), "保存异常");
- }
- return Result.success();
- }
- @ApiOperation(value = "删除应用")
- @ApiImplicitParams({@ApiImplicitParam(paramType = "path", name = "id", value = "应用ID", required = true
- , example = "40288a8b699fc2500169a33b20540000")})
- @DeleteMapping(value = "/app/{id}")
- public Result<Object> del(@PathVariable("id") String id) {
- //TODO
- //权限中心对施工人员和厂商未做管理
- applyInfoFacade.del(id);
- return Result.success("删除成功");
- }
- /**
- * 详情
- *
- * @param id
- * @return
- */
- @ApiOperation(value = "查询应用")
- @ApiImplicitParams({@ApiImplicitParam(paramType = "path", name = "id", value = "应用ID", required = true
- , example = "40288a8b699fc2500169a33b20540000")})
- @GetMapping(value = "/app/{id}")
- public Result<AppVo> toDetail(@PathVariable("id") String id) {
- //查询应用信息
- ApplyInfo applyInfo = applyInfoFacade.applyDetail(id);
- //存入机构信息信息
- String orgCode = applyInfo.getOrgCode();
- if(StringUtils.isNotBlank(orgCode)) {
- applyInfo.setOrgName(authOrgInfoFacade.getOrgByCode(orgCode).getFullName());
- }
- AppVo appVo = new AppVo();
- BeanUtil.copyProperties(applyInfo, appVo);
- appVo.setFile(uploadFacade.queryByBusiId(id, ""));
- return Result.success(appVo);
- }
- @ApiOperation(value = "开启停止应用")
- @ApiImplicitParams({@ApiImplicitParam(paramType = "path", name = "id", value = "应用ID", required = true
- , example = "40288a8b699fc2500169a33b20540000")})
- @PutMapping(value = "/app/status/{id}")
- public Result<Object> startOrStop(@PathVariable String id) {
- String message = "";
- try {
- message = applyInfoFacade.startOrStop(id);
- } catch (Exception e) {
- log.error(e.getMessage(), e);
- throw new ApplicationException(300, "操作失败", e);
- }
- return Result.success(message);
- }
- }
|