package com.dg.core.api; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.dg.core.ResultData; import com.dg.core.annotation.Authorization; import com.dg.core.annotation.CurrentUser; import com.dg.core.controller.BaseController; import com.dg.core.db.gen.entity.AutomessageSmartConsulting; import com.dg.core.db.gen.entity.SysUser; import com.dg.core.db.gen.entity.TransactionEvent; import com.dg.core.db.manual.pojo.QueryResults; import com.dg.core.db.manual.pojo.RecommendResult; import com.dg.core.db.manual.pojo.Search; import com.dg.core.service.IAutomessageSmartConsultingService; import com.dg.core.service.ITransactionEventService; import com.dg.core.util.TableDataInfo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.util.Assert; import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; import java.util.List; @Api(tags = {"导办事项管理(及办事指南)小程序接口"}) @RestController @RequestMapping("/applets/transaction") public class TransactionEventAppletsController extends BaseController { @Autowired(required = true) ITransactionEventService iTransactionEventService; @Autowired(required = true) IAutomessageSmartConsultingService iAutomessageSmartConsultingService; /** * 查询导办事务详情 * * @param Id * @return */ @ApiOperation("查询导办事务详情") @GetMapping("/getData") public ResultData selectConfigData(@RequestParam("Id") String Id, @CurrentUser SysUser sysUser) { Assert.notNull(Id, "Id 不能为空"); return ResultData.success(iTransactionEventService.selectConfigData(Id, sysUser)); } /** * 导办事物列表(不分页) * * @param * @return */ @ApiOperation(value = "导办事物列表(不分页)", response = TransactionEvent.class) @GetMapping("/selectList") public TableDataInfo selectList(@RequestParam(value = "keyWord", required = false) String keyWord) { return getDataTable(iTransactionEventService.selectList(keyWord)); } /** * 导办事务搜索(无分页用于小程序) * * @param keyWord * @return */ @ApiOperation(value = "导办事务搜索(无分页用于小程序)", response = QueryResults.class) @ApiImplicitParams({ @ApiImplicitParam(name = "isSmartConsulting", value = "是否是智能咨询(1.是 2.否)", required = true, dataType = "String", paramType = "query") }) @GetMapping("/queryKeyWord") public QueryResults queryKeyWord(@RequestParam(value = "keyWord", required = false) String keyWord, @RequestParam(value = "isSmartConsulting", required = false) String isSmartConsulting, @CurrentUser SysUser sysUser) { QueryResults queryResults = iTransactionEventService.queryMatterNameList(keyWord); if (isSmartConsulting != null && isSmartConsulting.equals("1")) { AutomessageSmartConsulting automessageSmartConsulting = new AutomessageSmartConsulting(); if (sysUser != null) { automessageSmartConsulting.setCreateUserId(sysUser.getUserId()); } automessageSmartConsulting.setType(1); automessageSmartConsulting.setCreateTime(LocalDateTime.now()); iAutomessageSmartConsultingService.add(automessageSmartConsulting); } return queryResults; } /** * 根据分类查询导办事务 * * @param classifyId * @return */ @ApiOperation(value = "根据分类查询导办事务", response = TransactionEvent.class) @GetMapping("/queryByClassifyIdList") public TableDataInfo queryByClassifyIdList(@RequestParam("classifyId") String classifyId, @RequestParam(required = false, name = "departmentId") Integer departmentId) { return getDataTable(iTransactionEventService.queryByClassifyIdList(classifyId, departmentId), iTransactionEventService.countNumByClassifyIdList(classifyId, departmentId)); } /** * 查询导办事务求和 * * @return */ @ApiOperation(value = "查询导办事务求和", response = TransactionEvent.class) @GetMapping("/sumTransactionNum") public ResultData sumTransactionNum() { return ResultData.success(iTransactionEventService.sumTransactionNum()); } /** * 智能咨询 * * @return */ @ApiOperation(value = "智能咨询", response = RecommendResult.class) @GetMapping("/smartConsulting") public RecommendResult smartConsulting(@RequestParam("keyWord") String keyWord) { return iTransactionEventService.smartConsulting(keyWord); } }