You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

130 lines
4.0 KiB

package jnpf.controller;
import jnpf.base.controller.SuperController;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.Parameters;
import io.swagger.v3.oas.annotations.Operation;
import jnpf.base.ActionResult;
import jnpf.base.vo.ListVO;
import jnpf.base.vo.PageListVO;
import jnpf.base.vo.PaginationVO;
import jnpf.constant.MsgCode;
import jnpf.engine.model.flowengine.FlowPagination;
import jnpf.entity.AppDataEntity;
import jnpf.model.AppDataCrForm;
import jnpf.model.AppDataListAllVO;
import jnpf.model.AppDataListVO;
import jnpf.model.AppFlowListAllVO;
import jnpf.service.AppDataService;
import jnpf.util.JsonUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* app
*
* @author JNPF
* @version V3.1.0
* @copyright https://www.jnpfsoft.com
* @date 2021-07-08
*/
@Tag(name = "app常用数据", description = "data")
@RestController
@RequestMapping("/api/app/Data")
public class AppDataController extends SuperController<AppDataService, AppDataEntity> {
@Autowired
private AppDataService appDataService;
/**
*
*
* @param type
* @return
*/
@Operation(summary = "常用数据")
@GetMapping
@Parameters({
@Parameter(name = "type", description = "类型"),
})
public ActionResult<ListVO<AppDataListVO>> list(@RequestParam("type") String type) {
List<AppDataEntity> list = appDataService.getList(type);
List<AppDataListVO> data = JsonUtil.getJsonToList(list, AppDataListVO.class);
ListVO listVO = new ListVO();
listVO.setList(data);
return ActionResult.success(listVO);
}
/**
*
*
* @param appDataCrForm
* @return
*/
@PostMapping
@Operation(summary = "新建")
@Parameters({
@Parameter(name = "appDataCrForm", description = "常用模型",required = true),
})
public ActionResult create(@RequestBody @Valid AppDataCrForm appDataCrForm) {
AppDataEntity entity = JsonUtil.getJsonToBean(appDataCrForm, AppDataEntity.class);
if (appDataService.isExistByObjectId(entity.getObjectId(),appDataCrForm.getSystemId())) {
return ActionResult.fail("常用数据已存在");
}
appDataService.create(entity);
return ActionResult.success(MsgCode.SU001.get());
}
/**
*
*
* @param objectId
* @return
*/
@Operation(summary = "删除")
@DeleteMapping("/{objectId}")
@Parameters({
@Parameter(name = "objectId", description = "主键", required = true),
})
public ActionResult create(@PathVariable("objectId") String objectId) {
AppDataEntity entity = appDataService.getInfo(objectId);
if (entity != null) {
appDataService.delete(entity);
return ActionResult.success(MsgCode.SU003.get());
}
return ActionResult.fail(MsgCode.FA003.get());
}
/**
*
*
* @param pagination
* @return
*/
@Operation(summary = "所有流程")
@GetMapping("/getFlowList")
public ActionResult<PageListVO<AppFlowListAllVO>> getFlowList(FlowPagination pagination) {
List<AppFlowListAllVO> list = appDataService.getFlowList(pagination);
PaginationVO paginationVO = JsonUtil.getJsonToBean(pagination, PaginationVO.class);
return ActionResult.page(list, paginationVO);
}
/**
*
*
* @return
*/
@Operation(summary = "所有应用")
@GetMapping("/getDataList")
public ActionResult<ListVO<AppDataListAllVO>> getAllList() {
List<AppDataListAllVO> result = appDataService.getDataList("2");
ListVO listVO = new ListVO();
listVO.setList(result);
return ActionResult.success(listVO);
}
}