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.core.model.PageData; import com.doumee.core.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> orgList (@RequestBody PageWrap pageWrap) { List 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 pageInfo = new Page<>(1,10,3); pageInfo.setTotal(3); pageInfo.setRecords(list); PageData r = PageData.from( pageInfo); return ERPApiResponse.success(r); } @ApiOperation(value = "全量人员信息接口", notes = "ERP端提供,供访客端拉取全部人员信息,用于初始化及周期性数据核查") @PostMapping("/user/list") public ERPApiResponse> userList (@RequestBody PageWrap pageWrap) { List 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 pageInfo = new Page<>(1,10,3); pageInfo.setRecords(list); pageInfo.setTotal(3); PageData r = PageData.from( pageInfo); return ERPApiResponse.success(r); } @ApiOperation(value = "访客申请提交审批接口", notes = "ERP端提供,供访客端调用,提交访客申请信息,接口提交成功,ERP端返回审批记录编码") @PostMapping("/event/approve/apply") public ERPApiResponse 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 approveInfo(@RequestParam String id ) { return ERPApiResponse.success(null ); } @ApiOperation(value = "员工同步失败推送接口", notes = "ERP端提供,供访客端调用,告知erp员工信息同步失败的数据") @PostMapping("/member/fail") public ERPApiResponse memberFail(@RequestBody List param) { return ERPApiResponse.success(null ); } }