package com.doumee.api.web; 
 | 
  
 | 
import com.baomidou.mybatisplus.core.metadata.IPage; 
 | 
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; 
 | 
import com.doumee.core.erp.model.openapi.request.erp.ApproveAddRequest; 
 | 
import com.doumee.core.erp.model.openapi.request.erp.UserFailRequest; 
 | 
import com.doumee.core.erp.model.openapi.response.erp.ERPApiResponse; 
 | 
import com.doumee.core.erp.model.openapi.response.erp.ErpOrgListResponse; 
 | 
import com.doumee.service.business.third.model.PageData; 
 | 
import com.doumee.service.business.third.model.PageWrap; 
 | 
import com.doumee.core.erp.model.openapi.request.erp.OrgListRequest; 
 | 
import com.doumee.core.erp.model.openapi.request.erp.UserListRequest; 
 | 
import com.doumee.core.erp.model.openapi.response.erp.ApproveInfoResponse; 
 | 
import com.doumee.core.erp.model.openapi.response.erp.ErpUserListResponse; 
 | 
import com.doumee.core.utils.Constants; 
 | 
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.web.bind.annotation.*; 
 | 
  
 | 
import java.util.ArrayList; 
 | 
import java.util.Date; 
 | 
import java.util.List; 
 | 
import java.util.UUID; 
 | 
  
 | 
/** 
 | 
 * Created by IntelliJ IDEA. 
 | 
 * 
 | 
 * @Author : Rk 
 | 
 * @create 2023/5/5 16:02 
 | 
 */ 
 | 
  
 | 
@Api(tags = "2、【ERP】端提供接口(向访客端提供或提交数据信息)") 
 | 
@RestController 
 | 
@RequestMapping("/erp/resource") 
 | 
@Slf4j 
 | 
public class ErpResourceController{ 
 | 
    @ApiOperation(value = "全量组织信息接口", notes = "ERP端提供,供访客端拉取全部组织信息,用于初始化及周期性数据核查") 
 | 
    @PostMapping("/org/list") 
 | 
    public ERPApiResponse<PageData<ErpOrgListResponse>> orgList (@RequestBody PageWrap<OrgListRequest> pageWrap) { 
 | 
        List<ErpOrgListResponse> list = new ArrayList<>(); 
 | 
        String[] ids = new String[]{"","001","002","003"}; 
 | 
        String[] names = new String[]{"","组织1","组织2","组织3"}; 
 | 
        for(int i=1;i<4;i++){ 
 | 
            ErpOrgListResponse r = new ErpOrgListResponse(); 
 | 
            r.setParentOrgId(ids[i-1]); 
 | 
            r.setId(ids[i]); 
 | 
            r.setCreateDate(new Date()); 
 | 
            r.setCode(ids[i]); 
 | 
            r.setStatus(Constants.ZERO); 
 | 
            r.setIsdeleted(Constants.ZERO); 
 | 
            r.setName(names[i]); 
 | 
            list.add(r); 
 | 
        } 
 | 
        IPage<ErpOrgListResponse> pageInfo = new Page<>(1,10,3); 
 | 
        pageInfo.setTotal(3); 
 | 
        pageInfo.setRecords(list); 
 | 
        PageData<ErpOrgListResponse> r = PageData.from( pageInfo); 
 | 
        return ERPApiResponse.success(r); 
 | 
    } 
 | 
    @ApiOperation(value = "全量人员信息接口", notes = "ERP端提供,供访客端拉取全部人员信息,用于初始化及周期性数据核查") 
 | 
    @PostMapping("/user/list") 
 | 
    public ERPApiResponse<PageData<ErpUserListResponse>> userList (@RequestBody PageWrap<UserListRequest> pageWrap) { 
 | 
        List<ErpUserListResponse> list = new ArrayList<>(); 
 | 
        String[] ids = new String[]{"","DM1004","DM1005","DM1006"}; 
 | 
        String[] names = new String[]{"","人员1","人员2","人员3"}; 
 | 
        String[] orgs = new String[]{"","001","002","003"}; 
 | 
        for(int i=1;i<4;i++){ 
 | 
            ErpUserListResponse r = new ErpUserListResponse(); 
 | 
            r.setOrgId(orgs[i]); 
 | 
            r.setId(ids[i]); 
 | 
            r.setName(names[i-1]); 
 | 
            r.setCode( ids[i]); 
 | 
            r.setIdNo("34112219880427042"+i); 
 | 
            r.setPhone("1534569000"+i); 
 | 
            r.setStatus(Constants.ZERO); 
 | 
            r.setRoleIds(new Integer[]{21+(i%2)}); 
 | 
            r.setName(names[i]); 
 | 
            r.setFaceImg("/20223402/"+r.getId()+".png"); 
 | 
            list.add(r); 
 | 
        } 
 | 
        IPage<ErpUserListResponse> pageInfo = new Page<>(1,10,3); 
 | 
        pageInfo.setRecords(list); 
 | 
        pageInfo.setTotal(3); 
 | 
        PageData<ErpUserListResponse> r = PageData.from( pageInfo); 
 | 
        return ERPApiResponse.success(r); 
 | 
    } 
 | 
    @ApiOperation(value = "访客申请提交审批接口", notes = "ERP端提供,供访客端调用,提交访客申请信息,接口提交成功,ERP端返回审批记录编码") 
 | 
    @PostMapping("/event/approve/apply") 
 | 
    public ERPApiResponse<String> approveApply(@RequestBody ApproveAddRequest param ) { 
 | 
        return ERPApiResponse.success(UUID.randomUUID().toString()); 
 | 
    } 
 | 
    @ApiOperation(value = "访客申请审批结果查询接口", notes = "ERP端提供,供访客端调用,查询访客申请审批结果") 
 | 
    @GetMapping("/approve/info") 
 | 
    @ApiImplicitParams({ 
 | 
            @ApiImplicitParam(paramType = "query", dataType = "String", name = "id", value = "审批记录唯一标识", required = true) 
 | 
    }) 
 | 
    public ERPApiResponse<ApproveInfoResponse> approveInfo(@RequestParam String id ) { 
 | 
        return ERPApiResponse.success(null ); 
 | 
    } 
 | 
    @ApiOperation(value = "员工同步失败推送接口", notes = "ERP端提供,供访客端调用,告知erp员工信息同步失败的数据") 
 | 
    @PostMapping("/member/fail") 
 | 
    public ERPApiResponse memberFail(@RequestBody List<UserFailRequest> param) { 
 | 
        return ERPApiResponse.success(null ); 
 | 
    } 
 | 
  
 | 
} 
 |