package com.doumee.cloud.admin; import com.doumee.api.BaseController; import com.doumee.service.business.third.model.ApiResponse; import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.service.business.third.model.PageData; import com.doumee.service.business.third.model.PageWrap; import com.doumee.core.utils.Constants; import com.doumee.dao.admin.response.PCWorkPlatformDataVO; import com.doumee.dao.admin.response.StagingDataVO; import com.doumee.dao.business.model.Visits; import com.doumee.dao.system.dto.NoticesDTO; import com.doumee.dao.system.model.Notices; import com.doumee.dao.web.response.InternalHomeVO; import com.doumee.service.business.ApproveService; import com.doumee.service.business.MemberService; import com.doumee.service.business.VisitsService; import com.doumee.service.business.impl.hksync.HkSyncNoticeServiceImpl; import com.doumee.service.system.NoticesService; 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.web.bind.annotation.*; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2024/2/26 11:00 */ @Api(tags = "工作台数据") @RestController @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/staging") public class StagingCloudController extends BaseController { @Autowired private MemberService memberService; @Autowired private VisitsService visitsService; @Autowired private HkSyncNoticeServiceImpl hkSyncNoticeService; @Autowired private NoticesService noticesService; @Autowired private ApproveService approveService; @ApiOperation("头部数据") @GetMapping("/head") public ApiResponse head(@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ return ApiResponse.success("查询成功",memberService.stagingHead(new StagingDataVO())); } @ApiOperation("主体数据") @GetMapping("/body") public ApiResponse body(@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ return ApiResponse.success("查询成功",memberService.stagingBody(new StagingDataVO())); } @ApiOperation("超时预警人员") @PostMapping("/timeoutPage") public ApiResponse> timeoutPage (@RequestBody PageWrap pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ pageWrap.getModel().setLevelStatus(Constants.ZERO); return ApiResponse.success(visitsService.retentionPage(pageWrap)); } @ApiOperation("超时预警人员离场") @GetMapping("/level") // @RequiresPermissions("business:visits:level") public ApiResponse level (@RequestParam Integer visitId,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ visitsService.visitLevel(visitId); return ApiResponse.success("操作成功"); } @ApiOperation(value = "任务中心头部 - H5", notes = "H5") @GetMapping("/taskCenterHead") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "isDetail", value = " 是否查询详细 1是;0否", required = true), }) public ApiResponse taskCenterHead(@RequestParam Integer isDetail,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { LoginUserInfo loginUserInfo = getLoginUser(token); hkSyncNoticeService.syncHkNotices(loginUserInfo.getUsername()); return ApiResponse.success("查询成功",approveService.getHomeDataH5(getLoginUser(token).getMemberId(),isDetail)); } @ApiOperation(value = "任务中心头部 - PC", notes = "PC") @PostMapping("/taskCenterHeadPC") public ApiResponse taskCenterHeadPC(@RequestBody NoticesDTO noticesDTO,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { LoginUserInfo loginUserInfo = getLoginUser(token); hkSyncNoticeService.syncHkNotices(loginUserInfo.getUsername()); noticesDTO.setMemberId(loginUserInfo.getMemberId()); noticesDTO.setUserId(loginUserInfo.getId()); return ApiResponse.success("查询成功",approveService.getHomeDataPC(noticesDTO)); } @ApiOperation("任务中心分页") @PostMapping("/taskPage") public ApiResponse> taskPage (@RequestBody PageWrap pageWrap, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { LoginUserInfo loginUserInfo = getLoginUser(token); pageWrap.getModel().setMemberId(loginUserInfo.getMemberId()); // pageWrap.getModel().setUserId(loginUserInfo.getId()); return ApiResponse.success(noticesService.taskCanterPage(pageWrap)); } @ApiOperation("标记已读") @GetMapping("/signRead") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "noticesId", value = "记录主键", required = false), @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "signType", value = "标记类型:0=单个标记;1=标记全部未读", required = false), }) public ApiResponse signRead (Integer noticesId,@RequestParam Integer signType, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { LoginUserInfo loginUserInfo = getLoginUser(token); if(Constants.equalsInteger(signType,Constants.ZERO)){ noticesService.signReadById(noticesId); }else{ noticesService.signRead(loginUserInfo.getMemberId()); } return ApiResponse.success("操作成功"); } @ApiOperation("PC工作台") @GetMapping("/pCWorkPlatformData") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "queryType", value = "查询类型:1=在园人数;2=报表数据;3=待办事项;4=超时预警", required = true), }) public ApiResponse pCWorkPlatformData (@RequestParam Integer queryType, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { if(queryType==Constants.THREE){ //同步海康代办数据 hkSyncNoticeService.syncHkNotices(this.getLoginUser(token).getUsername()); } PCWorkPlatformDataVO pcWorkPlatformDataVO = visitsService.getPcWorkPlatformData(queryType,getLoginUser(token)); return ApiResponse.success("查询成功",pcWorkPlatformDataVO); } }