|  |  |  | 
|---|
|  |  |  | import com.doumee.api.BaseController; | 
|---|
|  |  |  | import com.doumee.config.annotation.LoginNoRequired; | 
|---|
|  |  |  | import com.doumee.core.annotation.trace.Trace; | 
|---|
|  |  |  | import com.doumee.core.model.ApiResponse; | 
|---|
|  |  |  | import com.doumee.core.model.LoginUserInfo; | 
|---|
|  |  |  | import com.doumee.core.model.PageData; | 
|---|
|  |  |  | import com.doumee.core.model.PageWrap; | 
|---|
|  |  |  | import com.doumee.dao.web.response.DDAuthorizeVO; | 
|---|
|  |  |  | 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.VisitReason; | 
|---|
|  |  |  | import com.doumee.dao.business.model.Visits; | 
|---|
|  |  |  | import com.doumee.dao.web.reqeust.CheckVisitedDTO; | 
|---|
|  |  |  | import com.doumee.dao.web.response.MemberVO; | 
|---|
|  |  |  | import com.doumee.dao.web.response.VisitDetailVO; | 
|---|
|  |  |  | import com.doumee.dao.web.response.WxAuthorizeVO; | 
|---|
|  |  |  | import com.doumee.service.business.MemberService; | 
|---|
|  |  |  | import com.doumee.service.business.VisitReasonService; | 
|---|
|  |  |  | import com.doumee.service.business.VisitsService; | 
|---|
|  |  |  | import com.taobao.api.ApiException; | 
|---|
|  |  |  | import io.swagger.annotations.Api; | 
|---|
|  |  |  | import io.swagger.annotations.ApiImplicitParam; | 
|---|
|  |  |  | import io.swagger.annotations.ApiImplicitParams; | 
|---|
|  |  |  | import io.swagger.annotations.ApiOperation; | 
|---|
|  |  |  | import lombok.extern.slf4j.Slf4j; | 
|---|
|  |  |  | import org.apache.shiro.authz.annotation.RequiresPermissions; | 
|---|
|  |  |  | import org.apache.commons.lang3.StringUtils; | 
|---|
|  |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
|---|
|  |  |  | import org.springframework.web.bind.annotation.*; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | import javax.validation.Valid; | 
|---|
|  |  |  | import java.util.List; | 
|---|
|  |  |  | import java.util.Objects; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * Created by IntelliJ IDEA. | 
|---|
|  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private VisitsService visitsService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @Autowired | 
|---|
|  |  |  | private VisitReasonService visitReasonService; | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation(value = "访客微信授权", notes = "访客微信授权获取openId") | 
|---|
|  |  |  | @GetMapping("/wxAuthorize") | 
|---|
|  |  |  | @ApiImplicitParams({ | 
|---|
|  |  |  | @ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "授权码", required = true) | 
|---|
|  |  |  | @ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "授权码", required = true), | 
|---|
|  |  |  | @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "source", value = "来源:0=司机;1=访客;2=内部员工", required = true) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | public ApiResponse<WxAuthorizeVO> wxAuthorize(@RequestParam String code) { | 
|---|
|  |  |  | WxAuthorizeVO wxAuthorizeVO =  memberService.wxAuthorize(code); | 
|---|
|  |  |  | public ApiResponse<WxAuthorizeVO> wxAuthorize(@RequestParam String code,@RequestParam Integer source) { | 
|---|
|  |  |  | WxAuthorizeVO wxAuthorizeVO =  memberService.wxAuthorize(code,source); | 
|---|
|  |  |  | return ApiResponse.success("查询成功",wxAuthorizeVO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation(value = "钉钉微信授权", notes = "访客微信授权获取openId") | 
|---|
|  |  |  | @GetMapping("/ddAuthorize") | 
|---|
|  |  |  | @ApiImplicitParams({ | 
|---|
|  |  |  | @ApiImplicitParam(paramType = "query", dataType = "String", name = "code", value = "授权码", required = true), | 
|---|
|  |  |  | @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "source", value = "来源:0=司机;1=访客;2=内部员工", required = true) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | public ApiResponse<DDAuthorizeVO> ddAuthorize(@RequestParam String code, @RequestParam Integer source) throws ApiException { | 
|---|
|  |  |  | DDAuthorizeVO ddAuthorizeVO =  memberService.ddAuthorize(code,source); | 
|---|
|  |  |  | return ApiResponse.success("查询成功",ddAuthorizeVO); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation(value = "查询被访问人信息", notes = "查询被访问人信息") | 
|---|
|  |  |  | @PostMapping("/getVisitedMember") | 
|---|
|  |  |  | public ApiResponse<MemberVO> getVisitedMember(@Valid @RequestBody CheckVisitedDTO checkVisitedDTO) { | 
|---|
|  |  |  | public ApiResponse<List<MemberVO>> getVisitedMember(@Valid @RequestBody CheckVisitedDTO checkVisitedDTO) { | 
|---|
|  |  |  | return ApiResponse.success("查询成功", memberService.getVisitedMember(checkVisitedDTO)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | @PostMapping("/createFk") | 
|---|
|  |  |  | public ApiResponse createFk(@RequestBody Visits visits) { | 
|---|
|  |  |  | visits.setSourceType(Constants.ZERO); | 
|---|
|  |  |  | return ApiResponse.success("查询成功", visitsService.createFk(visits,false)); | 
|---|
|  |  |  | return ApiResponse.success("查询成功", visitsService.createFk(visits,false,Constants.ZERO)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation(value = "来访事由", notes = "来访事由") | 
|---|
|  |  |  | @PostMapping("/visitReason") | 
|---|
|  |  |  | public ApiResponse<List<VisitReason>> visitReason() { | 
|---|
|  |  |  | return ApiResponse.success("查询成功", visitReasonService.findList(null)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation(value = "访客记录详情", notes = "访客记录详情") | 
|---|
|  |  |  | @GetMapping("/detail") | 
|---|
|  |  |  | public ApiResponse<VisitDetailVO> detail(@RequestParam Integer id) { | 
|---|
|  |  |  | return ApiResponse.success("查询成功", visitsService.getVisitDetail(id)); | 
|---|
|  |  |  | public ApiResponse<VisitDetailVO> detail(@RequestParam Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { | 
|---|
|  |  |  | LoginUserInfo loginUserInfo = getLoginUser(token); | 
|---|
|  |  |  | return ApiResponse.success("查询成功", visitsService.getVisitDetail(id, Objects.isNull(loginUserInfo)?null:loginUserInfo.getMemberId())); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | @ApiOperation("访客记录 - 分页列表") | 
|---|
|  |  |  | @PostMapping("/visitPage") | 
|---|
|  |  |  | public ApiResponse<PageData<Visits>> visitPage (@RequestBody PageWrap<Visits> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { | 
|---|
|  |  |  | LoginUserInfo loginUserInfo = getLoginUser(token); | 
|---|
|  |  |  | pageWrap.getModel().setMemberId(loginUserInfo.getMemberId()); | 
|---|
|  |  |  | public ApiResponse<PageData<Visits>> visitPage (@RequestBody PageWrap<Visits> pageWrap) { | 
|---|
|  |  |  | if(Objects.isNull(pageWrap.getModel()) || StringUtils.isBlank(pageWrap.getModel().getOpenid())){ | 
|---|
|  |  |  | pageWrap.getModel().setMemberId(0); | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | if(Objects.nonNull(pageWrap.getModel()) && Objects.nonNull(pageWrap.getModel().getStatus()) ){ | 
|---|
|  |  |  | pageWrap.getModel().setBusinessStatus(pageWrap.getModel().getStatus()); | 
|---|
|  |  |  | pageWrap.getModel().setStatus(null); | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | return ApiResponse.success(visitsService.findPage(pageWrap)); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | /** | 
|---|
|  |  |  | * 2025-3-25 14:14:34  加入取消预约 待审批、审批中、已审批 | 
|---|
|  |  |  | * @param visitId | 
|---|
|  |  |  | * @return | 
|---|
|  |  |  | */ | 
|---|
|  |  |  | @ApiOperation("取消预约") | 
|---|
|  |  |  | @GetMapping("/visitsSelfCancel") | 
|---|
|  |  |  | public ApiResponse visitsSelfCancel(@RequestParam Integer visitId,Integer memberId,@RequestParam String openid){ | 
|---|
|  |  |  | if(Objects.isNull(memberId)){ | 
|---|
|  |  |  | memberId = Constants.ZERO; | 
|---|
|  |  |  | } | 
|---|
|  |  |  | visitsService.visitsSelfCancel(visitId,memberId,openid); | 
|---|
|  |  |  | return ApiResponse.success(null); | 
|---|
|  |  |  | } | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | } | 
|---|