| package com.doumee.cloud.web; | 
|   | 
| import com.doumee.api.BaseController; | 
| import com.doumee.config.annotation.CloudRequiredPermission; | 
| import com.doumee.config.annotation.LoginNoRequired; | 
| import com.doumee.core.annotation.trace.Trace; | 
| 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.business.model.Visits; | 
| import com.doumee.dao.web.reqeust.AuditApproveDTO; | 
| import com.doumee.dao.web.reqeust.VisitMemberDTO; | 
| import com.doumee.dao.web.reqeust.VisitRecordDTO; | 
| import com.doumee.dao.web.response.*; | 
| import com.doumee.service.business.ApproveService; | 
| import com.doumee.service.business.MemberService; | 
| import com.doumee.service.business.VisitsService; | 
| import io.swagger.annotations.Api; | 
| import io.swagger.annotations.ApiOperation; | 
| import lombok.extern.slf4j.Slf4j; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import org.springframework.web.bind.annotation.*; | 
|   | 
| /** | 
|  * Created by IntelliJ IDEA. | 
|  * | 
|  * @Author : Rk | 
|  * @create 2023/12/28 14:31 | 
|  */ | 
|   | 
| @Api(tags = "【公众号】内部人员") | 
| @Trace(exclude = true) | 
| @RestController | 
| @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/web/member") | 
| @Slf4j | 
| //@LoginNoRequired | 
| public class InternalWebController extends BaseController { | 
|   | 
|     @Autowired | 
|     private MemberService memberService; | 
|   | 
|     @Autowired | 
|     private VisitsService visitsService; | 
|   | 
|     @Autowired | 
|     private ApproveService approveService; | 
|   | 
|   | 
| //    @ApiOperation(value = "内部人员首页", notes = "H5") | 
| //    @GetMapping("/internalHome") | 
| //    public ApiResponse<InternalHomeVO> internalHome(@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { | 
| //        return ApiResponse.success("查询成功",approveService.getHomeData(getLoginUser(token).getMemberId())); | 
| //    } | 
|   | 
|     @ApiOperation("任务中心") | 
|     @PostMapping("/taskCenter") | 
|     public ApiResponse<PageData<VisitRecordVO>> taskCenter (@RequestBody PageWrap<VisitRecordDTO> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { | 
|         pageWrap.getModel().setMemberId(getLoginUser(token).getMemberId()); | 
|         return ApiResponse.success(visitsService.taskCenter(pageWrap)); | 
|     } | 
|   | 
| //    @ApiOperation("访客记录详情") | 
| //    @GetMapping("/visitDetail") | 
| //    @ApiImplicitParams({ | 
| //            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), | 
| //            @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "id", value = "记录主键", required = true) | 
| //    }) | 
| //    public ApiResponse<VisitDetailVO> visitDetail (@RequestParam Integer id) { | 
| //        return ApiResponse.success(visitsService.getVisitDetail(id)); | 
| //    } | 
|   | 
|   | 
|     @ApiOperation(value = "人员分页",notes = "可拜访内部人员") | 
|     @PostMapping("/memberList") | 
|     public ApiResponse<PageData<MemberVO>> memberList (@RequestBody PageWrap<VisitMemberDTO> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { | 
|         return ApiResponse.success(memberService.getVisitedMemberList(pageWrap)); | 
|     } | 
|   | 
|     @ApiOperation(value = "访客记录提交", notes = "内部人员提交") | 
|     @PostMapping("/createVisit") | 
|     public ApiResponse createVisit(@RequestBody Visits visits,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { | 
|         visits.setCreateMemberId(getLoginUser(token).getMemberId()); | 
|         return ApiResponse.success("查询成功", visitsService.createFk(visits,false,Constants.ZERO)); | 
|     } | 
|   | 
|     @ApiOperation(value = "审批流记录审批", notes = "内部人员") | 
|     @PostMapping("/auditApprove") | 
|     public ApiResponse auditApprove(@RequestBody AuditApproveDTO auditApproveDTO,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { | 
|         visitsService.auditApprove(auditApproveDTO); | 
|         return ApiResponse.success("操作成功"); | 
|     } | 
|   | 
|     /** | 
|      * 2025-3-25 14:14:34  加入取消预约 待审批、审批中、已审批 | 
|      * @param visitId | 
|      * @param token | 
|      * @return | 
|      */ | 
|     @ApiOperation("取消预约") | 
|     @GetMapping("/visitsCancel") | 
| //    @CloudRequiredPermission("business:visits:cancel") | 
|     public ApiResponse visitsCancel(@RequestParam Integer visitId,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ | 
|         LoginUserInfo loginUserInfo = getLoginUser(token); | 
|         visitsService.visitsCancel(visitId,loginUserInfo); | 
|         return ApiResponse.success(null); | 
|     } | 
|   | 
| } |