lizhenhao преди 2 години
родител
ревизия
4172a3a781

+ 1 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/jobPosion/controller/PositionCategoryController.java

@@ -147,7 +147,7 @@ public class PositionCategoryController {
     @PostMapping("updateSort")
     public ResponseEntity updateSortById(@RequestBody List<PositionCategoryDTO> positionCategoryDTOList) {
         positionCategoryService.updateSortByIdList(positionCategoryDTOList);
-        return ResponseEntity.ok ("保存职务分类成功");
+        return ResponseEntity.ok ("保存职务分类排序成功");
     }
 
 }

+ 13 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/jobPosion/controller/PositionController.java

@@ -15,6 +15,7 @@ import com.jeeplus.test.jobPosion.enums.PositionTypeEnum;
 import com.jeeplus.test.jobPosion.service.PositionCategoryService;
 import com.jeeplus.test.jobPosion.service.PositionLogService;
 import com.jeeplus.test.jobPosion.service.PositionService;
+import com.jeeplus.test.jobPosion.service.dto.PositionCategoryDTO;
 import com.jeeplus.test.jobPosion.service.dto.PositionDTO;
 import com.jeeplus.test.jobPosion.service.dto.PositionLogDTO;
 import com.jeeplus.test.jobPosion.service.mapstruct.PositionWrapper;
@@ -186,4 +187,16 @@ public class PositionController {
     }
 
 
+    /**
+     * 修改职务顺序
+     * @param positionDTOList
+     * @return
+     */
+    @ApiLog("修改职务分类顺序")
+    @PreAuthorize("hasAnyAuthority('job:position:view')")
+    @PostMapping("updateSort")
+    public ResponseEntity updateSortById(@RequestBody List<PositionDTO> positionDTOList) {
+        positionService.updateSortByIdList(positionDTOList);
+        return ResponseEntity.ok ("保存职务排序成功");
+    }
 }

+ 5 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/jobPosion/domain/Position.java

@@ -42,5 +42,10 @@ public class Position extends BaseEntity {
     @ForUpdate(fieldName = "职务类型")
     private String categoryId;
 
+    /**
+     * 排序
+     */
+    private int sort;
+
     private static final long serialVersionUID = 1L;
 }

+ 6 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/jobPosion/mapper/PositionMapper.java

@@ -7,11 +7,17 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.jeeplus.test.jobPosion.domain.Position;
+import com.jeeplus.test.jobPosion.service.dto.PositionCategoryDTO;
+import com.jeeplus.test.jobPosion.service.dto.PositionDTO;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
+import java.util.List;
+
 @Mapper
 public interface PositionMapper extends BaseMapper<Position> {
 
     public IPage<Position> findList(Page<Position> page,@Param(Constants.WRAPPER) QueryWrapper<Position> queryWrapper);
+
+    public void updateSortByIdList(@Param("list") List<PositionDTO> positionDTOList);
 }

+ 8 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/jobPosion/mapper/xml/PositionMapper.xml

@@ -45,6 +45,13 @@
     from `position` p
     left join position_category pc on p.category_id = pc.id
     ${ew.customSqlSegment}
-    order by p.create_date desc
   </select>
+
+  <update id="updateSortByIdList">
+    <foreach collection="list" separator=";" item="item">
+      update `position`
+      set sort = #{item.sort}
+      where id = #{item.id}
+    </foreach>
+  </update>
 </mapper>

+ 20 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/jobPosion/service/PositionService.java

@@ -1,5 +1,7 @@
 package com.jeeplus.test.jobPosion.service;
 
+import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Constants;
@@ -7,11 +9,16 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.jeeplus.test.jobPosion.domain.Position;
 import com.jeeplus.test.jobPosion.mapper.PositionMapper;
+import com.jeeplus.test.jobPosion.service.dto.PositionCategoryDTO;
+import com.jeeplus.test.jobPosion.service.dto.PositionDTO;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
+import java.util.List;
+
 @Service
 @Transactional
 public class PositionService extends ServiceImpl<PositionMapper, Position> {
@@ -21,6 +28,19 @@ public class PositionService extends ServiceImpl<PositionMapper, Position> {
 
     public IPage<Position> findList(Page<Position> page, QueryWrapper<Position> queryWrapper){
         queryWrapper.eq("p.del_flag","0");
+        queryWrapper.orderByAsc("p.sort").orderByDesc("p.create_date");
         return positionMapper.findList(page, queryWrapper);
     }
+
+    public void updateSortByIdList(List<PositionDTO> positionDTOList){
+        List<PositionDTO> list = new ArrayList<>();
+        positionDTOList.stream().forEach(item->{
+            if(ObjectUtil.isNotEmpty(item)){
+                if(StrUtil.isNotEmpty(item.getId())&&ObjectUtil.isNotEmpty(item.getSort())){
+                    list.add(item);
+                }
+            }
+        });
+        positionMapper.updateSortByIdList(list);
+    }
 }

+ 5 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/jobPosion/service/dto/PositionDTO.java

@@ -34,5 +34,10 @@ public class PositionDTO extends BaseDTO {
      */
     private String categoryId;
 
+    /**
+     * 排序
+     */
+    private int sort;
+
     private static final long serialVersionUID = 1L;
 }