package com.doumee.cloud.web; import com.doumee.cloud.web.ApiController; import com.doumee.config.annotation.LoginNoRequired; 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.core.utils.Constants; 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.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 ApiController { @Autowired private MemberService memberService; @Autowired private VisitsService visitsService; @Autowired private ApproveService approveService; @ApiOperation(value = "人员登录", notes = "H5") @PostMapping("/accountLogin") public ApiResponse accountLogin(@RequestBody AccountLoginDTO accountLoginDTO) { WxAuthorizeVO wxAuthorizeVO = memberService.accountLogin(accountLoginDTO); return ApiResponse.success("登录成功",wxAuthorizeVO); } @ApiOperation(value = "内部人员首页", notes = "H5") @GetMapping("/internalHome") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), }) public ApiResponse internalHome() { return ApiResponse.success("查询成功",approveService.getHomeData(getMemberId())); } @ApiOperation("任务中心") @PostMapping("/taskCenter") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), }) public ApiResponse> taskCenter (@RequestBody PageWrap pageWrap) { pageWrap.getModel().setMemberId(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 visitDetail (@RequestParam Integer id) { // return ApiResponse.success(visitsService.getVisitDetail(id)); // } @ApiOperation(value = "人员分页",notes = "可拜访内部人员") @PostMapping("/memberList") @ApiImplicitParams({ @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "用户token值", required = true), }) public ApiResponse> memberList (@RequestBody PageWrap pageWrap) { return ApiResponse.success(memberService.getVisitedMemberList(pageWrap)); } @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,false)); } @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("操作成功"); } }