Explorar o código

refactor:岗位服务

tangfudong %!s(int64=2) %!d(string=hai) anos
pai
achega
5c1e048d61

+ 6 - 0
iot-common/iot-common-dao/iot-data-service/src/main/java/cc/iotkit/data/system/ISysPostData.java

@@ -12,4 +12,10 @@ import java.util.List;
  */
 public interface ISysPostData extends ICommonData<SysPost, Long> {
     List<Long> selectPostListByUserId(Long userId);
+
+    List<SysPost> selectPostList(SysPost post);
+
+    boolean checkPostNameUnique(SysPost post);
+
+    boolean checkPostCodeUnique(SysPost post);
 }

+ 50 - 0
iot-common/iot-common-dao/iot-data-serviceImpl-rdb/src/main/java/cc/iotkit/data/service/SysPostDataImpl.java

@@ -1,7 +1,9 @@
 package cc.iotkit.data.service;
 
 import cc.iotkit.common.utils.MapstructUtils;
+import cc.iotkit.common.utils.StringUtils;
 import cc.iotkit.data.dao.SysPostRepository;
+import cc.iotkit.data.model.TbSysPost;
 import cc.iotkit.data.system.ISysPostData;
 import cc.iotkit.data.util.PredicateBuilder;
 import cc.iotkit.model.system.SysPost;
@@ -11,7 +13,9 @@ import lombok.RequiredArgsConstructor;
 import org.springframework.context.annotation.Primary;
 import org.springframework.stereotype.Service;
 
+import java.util.Collection;
 import java.util.List;
+import java.util.Objects;
 
 import static cc.iotkit.data.model.QTbSysPost.tbSysPost;
 import static cc.iotkit.data.model.QTbSysUser.tbSysUser;
@@ -46,4 +50,50 @@ public class SysPostDataImpl implements ISysPostData {
                         .and(tbSysUser.id.eq(userId))
                         .build()).fetch();
     }
+
+    @Override
+    public List<SysPost> selectPostList(SysPost post) {
+        List<TbSysPost> ret=jpaQueryFactory.selectFrom(tbSysPost).where(PredicateBuilder.instance()
+                .and(StringUtils.isNotBlank(post.getPostCode()),()->tbSysPost.postCode.like(post.getPostCode()))
+                .and(StringUtils.isNotBlank(post.getPostName()),()->tbSysPost.postName.like(post.getPostName()))
+                .and(StringUtils.isNotBlank(post.getStatus()),()->tbSysPost.status.eq(post.getStatus())).build())
+                .orderBy(tbSysPost.postSort.asc()).fetch();
+        return MapstructUtils.convert(ret,SysPost.class);
+    }
+
+    @Override
+    public boolean checkPostNameUnique(SysPost post) {
+        final TbSysPost ret = jpaQueryFactory.selectFrom(tbSysPost)
+                .where(PredicateBuilder.instance()
+                        .and(tbSysPost.postName.eq(post.getPostName()))
+                        .and(Objects.nonNull(post.getId()), () -> tbSysPost.id.eq(post.getId()))
+                        .build()).fetchOne();
+        return Objects.isNull(ret);
+    }
+
+    @Override
+    public boolean checkPostCodeUnique(SysPost post) {
+        final TbSysPost ret = jpaQueryFactory.selectFrom(tbSysPost)
+                .where(PredicateBuilder.instance()
+                        .and(tbSysPost.postCode.eq(post.getPostCode()))
+                        .and(Objects.nonNull(post.getId()), () -> tbSysPost.id.eq(post.getId()))
+                        .build()).fetchOne();
+        return Objects.isNull(ret);
+    }
+
+    @Override
+    public SysPost findById(Long aLong) {
+        return MapstructUtils.convert(postRepository.findById(aLong),SysPost.class);
+    }
+
+    @Override
+    public SysPost save(SysPost data) {
+        postRepository.save(data.to(TbSysPost.class));
+        return data;
+    }
+
+    @Override
+    public void deleteByIds(Collection<Long> longs) {
+        postRepository.deleteAllByIdInBatch(longs);
+    }
 }

+ 16 - 6
iot-module/iot-system/src/main/java/cc/iotkit/system/controller/SysPostController.java

@@ -8,8 +8,10 @@ import cc.iotkit.common.log.enums.BusinessType;
 import cc.iotkit.common.web.core.BaseController;
 import cc.iotkit.system.dto.bo.SysPostBo;
 import cc.iotkit.system.dto.vo.SysPostVo;
-import cn.dev33.satoken.annotation.SaCheckPermission;
 import cc.iotkit.system.service.ISysPostService;
+import cn.dev33.satoken.annotation.SaCheckPermission;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
@@ -27,6 +29,7 @@ import java.util.List;
 @RequiredArgsConstructor
 @RestController
 @RequestMapping("/system/post")
+@Api(tags = "岗位信息")
 public class SysPostController extends BaseController {
 
     private final ISysPostService postService;
@@ -34,8 +37,9 @@ public class SysPostController extends BaseController {
     /**
      * 获取岗位列表
      */
+    @ApiOperation("获取岗位列表")
     @SaCheckPermission("system:post:list")
-    @GetMapping("/list")
+    @PostMapping("/list")
     public Paging<SysPostVo> list(SysPostBo post, PageRequest<?> query) {
         return postService.selectPagePostList(post, query);
     }
@@ -43,6 +47,7 @@ public class SysPostController extends BaseController {
     /**
      * 导出岗位列表
      */
+    @ApiOperation("导出岗位列表")
     @Log(title = "岗位管理", businessType = BusinessType.EXPORT)
     @SaCheckPermission("system:post:export")
     @PostMapping("/export")
@@ -56,8 +61,9 @@ public class SysPostController extends BaseController {
      *
      * @param postId 岗位ID
      */
+    @ApiOperation("根据岗位编号获取详细信息")
     @SaCheckPermission("system:post:query")
-    @GetMapping(value = "/{postId}")
+    @PostMapping(value = "/{postId}")
     public SysPostVo getInfo(@PathVariable Long postId) {
         return postService.selectPostById(postId);
     }
@@ -65,6 +71,7 @@ public class SysPostController extends BaseController {
     /**
      * 新增岗位
      */
+    @ApiOperation("新增岗位")
     @SaCheckPermission("system:post:add")
     @Log(title = "岗位管理", businessType = BusinessType.INSERT)
     @PostMapping
@@ -80,9 +87,10 @@ public class SysPostController extends BaseController {
     /**
      * 修改岗位
      */
+    @ApiOperation("修改岗位")
     @SaCheckPermission("system:post:edit")
     @Log(title = "岗位管理", businessType = BusinessType.UPDATE)
-    @PutMapping
+    @PostMapping
     public void edit(@Validated @RequestBody SysPostBo post) {
         if (!postService.checkPostNameUnique(post)) {
             fail("修改岗位'" + post.getPostName() + "'失败,岗位名称已存在");
@@ -97,9 +105,10 @@ public class SysPostController extends BaseController {
      *
      * @param postIds 岗位ID串
      */
+    @ApiOperation("删除岗位")
     @SaCheckPermission("system:post:remove")
     @Log(title = "岗位管理", businessType = BusinessType.DELETE)
-    @DeleteMapping("/{postIds}")
+    @PostMapping("/{postIds}")
     public void remove(@PathVariable Collection postIds) {
         postService.deletePostByIds(postIds);
     }
@@ -107,7 +116,8 @@ public class SysPostController extends BaseController {
     /**
      * 获取岗位选择框列表
      */
-    @GetMapping("/optionselect")
+    @ApiOperation("获取岗位选择框列表")
+    @PostMapping("/optionselect")
     public List<SysPostVo> optionselect() {
         return postService.selectPostAll();
     }

+ 5 - 5
iot-module/iot-system/src/main/java/cc/iotkit/system/service/impl/SysPostServiceImpl.java

@@ -11,7 +11,6 @@ import cc.iotkit.system.service.ISysPostService;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
@@ -28,7 +27,7 @@ public class SysPostServiceImpl implements ISysPostService {
 
     @Override
     public Paging<SysPostVo> selectPagePostList(SysPostBo post, PageRequest<?> query) {
-        return new Paging<>();
+        return sysPostData.findAll(query.to(SysPost.class)).to(SysPostVo.class);
     }
 
     /**
@@ -39,7 +38,7 @@ public class SysPostServiceImpl implements ISysPostService {
      */
     @Override
     public List<SysPostVo> selectPostList(SysPostBo post) {
-        return new ArrayList<>();
+        return MapstructUtils.convert(sysPostData.selectPostList(post.to(SysPost.class)),SysPostVo.class);
     }
 
     /**
@@ -82,7 +81,7 @@ public class SysPostServiceImpl implements ISysPostService {
      */
     @Override
     public boolean checkPostNameUnique(SysPostBo post) {
-        return false;
+        return sysPostData.checkPostNameUnique(post.to(SysPost.class));
     }
 
     /**
@@ -93,7 +92,7 @@ public class SysPostServiceImpl implements ISysPostService {
      */
     @Override
     public boolean checkPostCodeUnique(SysPostBo post) {
-        return false;
+        return sysPostData.checkPostCodeUnique(post.to(SysPost.class));
     }
 
     /**
@@ -126,6 +125,7 @@ public class SysPostServiceImpl implements ISysPostService {
      */
     @Override
     public void deletePostByIds(Collection<Long> postIds) {
+        sysPostData.deleteByIds(postIds);
     }
 
     /**