feat:[REQ-3282] 编写岗位相关代码

This commit is contained in:
liuyang 2024-12-13 15:42:20 +08:00
parent 4487b0f866
commit 9f86ad450b
10 changed files with 146 additions and 3 deletions

View File

@ -1,7 +1,10 @@
package cn.axzo.orgmanax.api.orgjob.feign;
import cn.axzo.foundation.page.PageResp;
import cn.axzo.foundation.result.ApiResult;
import cn.axzo.orgmanax.api.orgjob.req.CreateOrgJobReq;
import cn.axzo.orgmanax.api.orgjob.req.DeleteOrgJobReq;
import cn.axzo.orgmanax.api.orgjob.req.ListOrgJobReq;
import cn.axzo.orgmanax.api.orgjob.req.UpdateOrgJobReq;
import cn.axzo.orgmanax.api.orgjob.resp.OrgJobDTO;
import org.springframework.cloud.openfeign.FeignClient;
@ -9,6 +12,8 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import java.util.List;
@FeignClient(
value = "orgmanax",
url = "${axzo.service.orgmanax:http://orgmanax:8080}")
@ -19,4 +24,10 @@ public interface OrgJobApi {
@PostMapping("/api/org/job/update")
ApiResult<OrgJobDTO> update(@RequestBody @Validated UpdateOrgJobReq req);
@PostMapping("/api/org/job/delete")
ApiResult<Void> delete(@RequestBody @Validated DeleteOrgJobReq req);
@PostMapping("/api/org/job/list")
ApiResult<PageResp<OrgJobDTO>> list(@RequestBody @Validated ListOrgJobReq req);
}

View File

@ -0,0 +1,16 @@
package cn.axzo.orgmanax.api.orgjob.req;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
public class DeleteOrgJobReq {
private Long id;
}

View File

@ -0,0 +1,22 @@
package cn.axzo.orgmanax.api.orgjob.req;
import cn.axzo.foundation.page.IPageReq;
import com.alibaba.fastjson.JSONObject;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@NoArgsConstructor
@AllArgsConstructor
@Data
@Builder
public class ListOrgJobReq implements IPageReq {
/**
* 名称
*/
private String name;
}

View File

@ -6,15 +6,21 @@ import cn.axzo.orgmanax.infra.dao.unit.entity.OrganizationalUnit;
public interface OrgJobUpsertRepository {
/**
* 创建
* 创建
* @param orgJob
*/
void save(OrgJob orgJob);
/**
* 更新
* 更新
* @param orgJob
*/
void update(OrgJob orgJob);
/**
* 删除岗位
* @param id
*/
void delete(Long id);
}

View File

@ -22,4 +22,12 @@ public class OrgJobUpsertRepositoryImpl implements OrgJobUpsertRepository {
public void update(OrgJob orgJob) {
orgJobDao.updateById(orgJob);
}
@Override
public void delete(Long id) {
orgJobDao.lambdaUpdate()
.setSql(" is_delete = id ")
.eq(OrgJob::getId, id)
.update();
}
}

View File

@ -8,6 +8,8 @@ import cn.axzo.orgmanax.api.node.req.NodeProcessReq;
import cn.axzo.orgmanax.api.node.resp.OrgNodeDTO;
import cn.axzo.orgmanax.api.orgjob.feign.OrgJobApi;
import cn.axzo.orgmanax.api.orgjob.req.CreateOrgJobReq;
import cn.axzo.orgmanax.api.orgjob.req.DeleteOrgJobReq;
import cn.axzo.orgmanax.api.orgjob.req.ListOrgJobReq;
import cn.axzo.orgmanax.api.orgjob.req.UpdateOrgJobReq;
import cn.axzo.orgmanax.api.orgjob.resp.OrgJobDTO;
import cn.axzo.orgmanax.server.orgjob.service.OrgJobService;
@ -32,4 +34,15 @@ public class OrgJobController implements OrgJobApi {
public ApiResult<OrgJobDTO> update(UpdateOrgJobReq req) {
return ApiResult.success(orgJobService.update(req));
}
@Override
public ApiResult<Void> delete(DeleteOrgJobReq req) {
orgJobService.delete(req);
return ApiResult.success();
}
@Override
public ApiResult<PageResp<OrgJobDTO>> list(ListOrgJobReq req) {
return ApiResult.success(orgJobService.list(req));
}
}

View File

@ -1,5 +1,7 @@
package cn.axzo.orgmanax.server.orgjob.foundation;
import cn.axzo.foundation.page.PageResp;
import cn.axzo.orgmanax.api.orgjob.req.ListOrgJobReq;
import cn.axzo.orgmanax.api.orgjob.resp.OrgJobDTO;
import cn.axzo.orgmanax.server.orgjob.foundation.dto.OrgJobCreator;
@ -21,4 +23,17 @@ public interface OrgJobFoundationService {
* @return
*/
OrgJobDTO update(OrgJobCreator creator);
/**
* 删除岗位
* @param id
* @return
*/
void delete(Long id);
/**
* 查询岗位信息
* @return
*/
PageResp<OrgJobDTO> page(ListOrgJobReq req);
}

View File

@ -1,8 +1,10 @@
package cn.axzo.orgmanax.server.orgjob.foundation.impl;
import cn.axzo.foundation.page.PageResp;
import cn.axzo.orgmanax.api.orgjob.req.ListOrgJobReq;
import cn.axzo.orgmanax.api.orgjob.resp.OrgJobDTO;
import cn.axzo.orgmanax.infra.dao.orgjob.dao.OrgJobDao;
import cn.axzo.orgmanax.infra.dao.orgjob.entity.OrgJob;
import cn.axzo.orgmanax.infra.dao.orgjob.repository.OrgJobQueryRepository;
import cn.axzo.orgmanax.infra.dao.orgjob.repository.OrgJobUpsertRepository;
import cn.axzo.orgmanax.server.orgjob.foundation.OrgJobFoundationService;
import cn.axzo.orgmanax.server.orgjob.foundation.dto.OrgJobCreator;
@ -15,6 +17,7 @@ import org.springframework.stereotype.Service;
public class OrgJobFoundationServiceImpl implements OrgJobFoundationService {
private final OrgJobUpsertRepository orgJobUpsertRepository;
private final OrgJobQueryRepository orgJobQueryRepository;
@Override
public OrgJobDTO create(OrgJobCreator creator) {
@ -29,4 +32,21 @@ public class OrgJobFoundationServiceImpl implements OrgJobFoundationService {
orgJobUpsertRepository.update(entity);
return BeanUtil.copyProperties(creator, OrgJobDTO.class);
}
@Override
public void delete(Long id) {
orgJobUpsertRepository.delete(id);
}
@Override
public PageResp<OrgJobDTO> page(ListOrgJobReq req) {
PageResp<OrgJob> page = orgJobQueryRepository.page(BeanUtil.copyProperties(req, OrgJobQueryRepository.ListReq.class));
return PageResp.<OrgJobDTO>builder()
.size(page.getSize())
.current(page.getCurrent())
.total(page.getTotal())
.data(BeanUtil.copyToList(page.getData(), OrgJobDTO.class))
.build();
}
}

View File

@ -1,7 +1,11 @@
package cn.axzo.orgmanax.server.orgjob.service;
import cn.axzo.foundation.page.PageResp;
import cn.axzo.foundation.result.ApiResult;
import cn.axzo.orgmanax.api.node.resp.OrgNodeDTO;
import cn.axzo.orgmanax.api.orgjob.req.CreateOrgJobReq;
import cn.axzo.orgmanax.api.orgjob.req.DeleteOrgJobReq;
import cn.axzo.orgmanax.api.orgjob.req.ListOrgJobReq;
import cn.axzo.orgmanax.api.orgjob.req.UpdateOrgJobReq;
import cn.axzo.orgmanax.api.orgjob.resp.OrgJobDTO;
@ -20,4 +24,18 @@ public interface OrgJobService {
* @return
*/
OrgJobDTO update(UpdateOrgJobReq req);
/**
* 删除岗位
* @param req
* @return
*/
void delete(DeleteOrgJobReq req);
/**
* 查询岗位
* @param req
* @return
*/
PageResp<OrgJobDTO> list(ListOrgJobReq req);
}

View File

@ -1,6 +1,10 @@
package cn.axzo.orgmanax.server.orgjob.service.impl;
import cn.axzo.foundation.page.PageResp;
import cn.axzo.foundation.result.ApiResult;
import cn.axzo.orgmanax.api.orgjob.req.CreateOrgJobReq;
import cn.axzo.orgmanax.api.orgjob.req.DeleteOrgJobReq;
import cn.axzo.orgmanax.api.orgjob.req.ListOrgJobReq;
import cn.axzo.orgmanax.api.orgjob.req.UpdateOrgJobReq;
import cn.axzo.orgmanax.api.orgjob.resp.OrgJobDTO;
import cn.axzo.orgmanax.server.orgjob.foundation.OrgJobFoundationService;
@ -27,4 +31,14 @@ public class OrgJobServiceImpl implements OrgJobService {
OrgJobCreator creator = BeanUtil.copyProperties(req, OrgJobCreator.class);
return foundationService.update(creator);
}
@Override
public void delete(DeleteOrgJobReq req) {
foundationService.delete(req.getId());
}
@Override
public PageResp<OrgJobDTO> list(ListOrgJobReq req) {
return foundationService.page(req);
}
}