package com.doumee.api.web; 
 | 
  
 | 
import com.alibaba.fastjson.JSONObject; 
 | 
import com.doumee.config.annotation.LoginRequired; 
 | 
import com.doumee.core.annotation.trace.Trace; 
 | 
import com.doumee.core.model.ApiResponse; 
 | 
import com.doumee.core.model.PageData; 
 | 
import com.doumee.core.model.PageWrap; 
 | 
import com.doumee.dao.business.model.Visits; 
 | 
import com.doumee.dao.web.reqeust.AccountLoginDTO; 
 | 
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.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.springframework.beans.factory.annotation.Autowired; 
 | 
import org.springframework.web.bind.annotation.*; 
 | 
  
 | 
import java.util.List; 
 | 
  
 | 
/** 
 | 
 * Created by IntelliJ IDEA. 
 | 
 * 
 | 
 * @Author : Rk 
 | 
 * @create 2023/12/28 14:31 
 | 
 */ 
 | 
  
 | 
@Api(tags = "3、内部劳务人员") 
 | 
@Trace(exclude = true) 
 | 
@RestController 
 | 
@RequestMapping("/web/internal") 
 | 
@Slf4j 
 | 
public class InternalController extends ApiController{ 
 | 
  
 | 
    @Autowired 
 | 
    private MemberService memberService; 
 | 
  
 | 
    @Autowired 
 | 
    private VisitsService visitsService; 
 | 
  
 | 
    @Autowired 
 | 
    private ApproveService approveService; 
 | 
  
 | 
    @ApiOperation(value = "人员登录", notes = "H5") 
 | 
    @PostMapping("/accountLogin") 
 | 
    public ApiResponse<WxAuthorizeVO> accountLogin(@RequestBody AccountLoginDTO accountLoginDTO) { 
 | 
        WxAuthorizeVO wxAuthorizeVO = memberService.accountLogin(accountLoginDTO); 
 | 
        return ApiResponse.success("登录成功",wxAuthorizeVO); 
 | 
    } 
 | 
  
 | 
    @LoginRequired 
 | 
    @ApiOperation(value = "内部人员首页", notes = "H5") 
 | 
    @GetMapping("/internalHome") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), 
 | 
    }) 
 | 
    public ApiResponse<InternalHomeVO> internalHome() { 
 | 
        return ApiResponse.success("查询成功",approveService.getHomeData(getMemberId())); 
 | 
    } 
 | 
  
 | 
  
 | 
    @LoginRequired 
 | 
    @ApiOperation("任务中心") 
 | 
    @PostMapping("/taskCenter") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), 
 | 
    }) 
 | 
    public ApiResponse<PageData<VisitRecordVO>> taskCenter (@RequestBody PageWrap<VisitRecordDTO> pageWrap) { 
 | 
        pageWrap.getModel().setMemberId(getMemberId()); 
 | 
        return ApiResponse.success(visitsService.taskCenter(pageWrap)); 
 | 
    } 
 | 
  
 | 
    @LoginRequired 
 | 
    @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)); 
 | 
    } 
 | 
  
 | 
  
 | 
    @LoginRequired 
 | 
    @ApiOperation(value = "人员分页",notes = "可拜访内部人员") 
 | 
    @PostMapping("/memberList") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), 
 | 
    }) 
 | 
    public ApiResponse<PageData<MemberVO>> memberList (@RequestBody PageWrap<VisitMemberDTO> pageWrap) { 
 | 
        return ApiResponse.success(memberService.getVisitedMemberList(pageWrap)); 
 | 
    } 
 | 
  
 | 
    @LoginRequired 
 | 
    @ApiOperation(value = "访客记录提交", notes = "内部人员提交") 
 | 
    @PostMapping("/createVisit") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), 
 | 
    }) 
 | 
    public ApiResponse createVisit(@RequestBody Visits visits) { 
 | 
        visits.setCreateMemberId(getMemberId()); 
 | 
        return ApiResponse.success("查询成功", visitsService.createFk(visits)); 
 | 
    } 
 | 
  
 | 
    @LoginRequired 
 | 
    @ApiOperation(value = "审批流记录审批", notes = "内部人员") 
 | 
    @PostMapping("/auditApprove") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), 
 | 
    }) 
 | 
    public ApiResponse auditApprove(@RequestBody AuditApproveDTO auditApproveDTO) { 
 | 
        visitsService.auditApprove(auditApproveDTO); 
 | 
        return ApiResponse.success("操作成功"); 
 | 
    } 
 | 
  
 | 
} 
 |