package com.hotent.runtime.controller; import com.hotent.base.annotation.ApiGroup; import com.hotent.base.constants.ApiGroupConsts; import com.hotent.base.query.PageBean; import com.hotent.base.query.PageList; import com.hotent.base.query.QueryField; import com.hotent.base.query.QueryFilter; import com.hotent.bpm.persistence.model.DefaultBpmDefinition; import com.hotent.uc.api.impl.util.ContextUtil; import io.swagger.annotations.Api; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import com.hotent.base.model.CommonResult; import com.hotent.base.util.StringUtil; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.springframework.web.bind.annotation.RestController; import com.hotent.base.controller.BaseController; import com.hotent.runtime.model.BpmFlowCollect; import com.hotent.runtime.manager.BpmFlowCollectManager; import java.util.List; import java.util.Map; /** * 流程收藏记录 前端控制器 * * @company 广州宏天软件股份有限公司 * @author zengst * @since 2021-09-24 */ @RestController @RequestMapping("/bpmFlowCollect/v1/") @Api(tags = "流程收藏") @ApiGroup(group= {ApiGroupConsts.GROUP_BPM}) public class BpmFlowCollectController extends BaseController { /** * 根据id获取流程收藏记录数据详情 * @param id * @return * @throws Exception * ModelAndView */ @GetMapping(value="/getDetail", produces = {"application/json; charset=utf-8"}) @ApiOperation(value="根据id获取流程收藏记录数据详情",httpMethod = "GET",notes = "根据id获取流程收藏记录数据详情") public CommonResult getDetail(@ApiParam(name="id",value="业务对象主键", required = true)@RequestParam(required=true) String id) throws Exception{ return CommonResult.ok().value(baseService.getDetail(id)); } /** * 新增,更新流程收藏记录 * @param bpmFlowCollect * @throws Exception * @return * @exception */ @PostMapping(value="/save", produces = {"application/json; charset=utf-8"}) @ApiOperation(value = "新增,更新流程收藏记录数据", httpMethod = "POST", notes = "新增,更新流程收藏记录数据") public CommonResult save(@ApiParam(name="BpmFlowCollect",value="流程收藏记录对象", required = true)@RequestBody BpmFlowCollect bpmFlowCollect) throws Exception{ String msg = StringUtil.isEmpty(bpmFlowCollect.getId()) ? "添加流程收藏记录成功" : "更新流程收藏记录成功"; baseService.createOrUpdate(bpmFlowCollect); return CommonResult.ok().message(msg); } @PostMapping(value = "bookmark", produces = {"application/json; charset=utf-8"}) @ApiOperation(value = "收藏流程", httpMethod = "POST", notes = "收藏流程") public CommonResult bookmark(@ApiParam(name = "defKey", value = "流程定义key", required = true) @RequestBody String defKey) { baseService.bookmark(defKey); return new CommonResult<>(true, "收藏成功"); } @PostMapping(value = "cancel", produces = {"application/json; charset=utf-8"}) @ApiOperation(value = "取消收藏流程", httpMethod = "POST", notes = "取消收藏流程") public CommonResult cancel(@ApiParam(name = "defKey", value = "流程定义key", required = true) @RequestBody String defKey) { baseService.cancel(defKey); return new CommonResult<>(true, "取消收藏成功"); } @PostMapping(value = "myCollect", produces = {"application/json; charset=utf-8"}) @ApiOperation(value = "获取我收藏的流程", httpMethod = "POST", notes = "获取我收藏的流程") public CommonResult> myCollection(@ApiParam(name = "queryFilter", required = true, value = "通用查询条件") @RequestBody QueryFilter queryFilter)throws Exception { return new CommonResult<>(true, "获取成功", baseService.myCollectFlow(queryFilter)); } @GetMapping(value = "myCollectShowButton", produces = {"application/json; charset=utf-8"}) @ApiOperation(value = "获取我收藏的流程时,是否有未配置移动表单", httpMethod = "GET", notes = "获取我收藏的流程时,是否有未配置移动表单") public CommonResult myCollectShowButton() throws Exception { QueryFilter queryFilter = QueryFilter.build(); queryFilter.addQueryField(new QueryField("SUPPORT_MOBILE_",0)); queryFilter.setPageBean(new PageBean(1,0)); PageList queryList = baseService.myCollectFlow(queryFilter); return CommonResult.success(queryList.getTotal() > Long.valueOf("0")); } @PostMapping(value = "myCollectCount", produces = {"application/json; charset=utf-8"}) @ApiOperation(value = "获取我的收藏分类数量", httpMethod = "GET", notes = "获取我的收藏分类数量") public List> myCollectCount(@ApiParam(required = true, name = "queryFilter", value = "查询参数对象") @RequestBody QueryFilter queryFilter) { return baseService.getCollectCountByUserId(queryFilter, ContextUtil.getCurrentUserId()); } @GetMapping(value = "myCollectDefKeys", produces = {"application/json; charset=utf-8"}) @ApiOperation(value = "获取我收藏的流程key集合", httpMethod = "GET", notes = "获取我收藏的流程key集合") public CommonResult> myCollectDefKeys() { return new CommonResult<>(true, "获取成功", baseService.getMyCollectDefKeys()); } }