Quellcode durchsuchen

更新 藏品拖动排序功能

wuweihao vor 3 Jahren
Ursprung
Commit
f30aa6afbf

+ 1 - 1
gis_cms/src/main/java/com/gis/cms/controller/GoodsController.java

@@ -91,7 +91,7 @@ public class GoodsController  {
     }
 
     @WebControllerLog(description = "精品典藏-排序", addDb = true)
-    @ApiOperation(value = "v0.2-排序")
+    @ApiOperation(value = "v0.2-排序", notes = "拖动排序")
     @PostMapping("sort")
     public Result sort(@Valid @RequestBody GoodsSortDto param) {
         return entityService.sort(param);

+ 12 - 8
gis_cms/src/main/java/com/gis/cms/entity/dto/GoodsSortDto.java

@@ -16,15 +16,19 @@ public class GoodsSortDto {
     @ApiModelProperty(value = "ID", required = true)
     private Long id;
 
-    @NotNull(message = "序号不能为空")
-    @ApiModelProperty(value = "序号", required = true)
+    @NotNull(message = "序号不能为空")
+    @ApiModelProperty(value = "序号(翻页需要加上之前页面的序号)", required = true)
     private Integer sort;
 
-//    @NotBlank(message = "类型不能为空")
-//    @ApiModelProperty(value = "类型, model:模型, img:图片, video:视频", required = true)
-//    private String type;
+    @NotBlank(message = "类型不能为空")
+    @ApiModelProperty(value = "类型, model:模型, img:图片, video:视频", required = true)
+    private String type;
 
-    @NotBlank(message = "排序类型不能为空")
-    @ApiModelProperty(value = "排序类型, desc:降序, asc:升序", required = true)
-    private String orderBy;
+    @NotNull(message = "旧序号不能为空")
+    @ApiModelProperty(value = "旧序号", required = true)
+    private Integer sortOld;
+
+//    @NotBlank(message = "排序类型不能为空")
+//    @ApiModelProperty(value = "排序类型, desc:降序, asc:升序", required = true)
+//    private String orderBy;
 }

+ 4 - 2
gis_cms/src/main/java/com/gis/cms/mapper/GoodsMapper.java

@@ -31,10 +31,12 @@ public interface GoodsMapper  extends BaseMapper<GoodsEntity> {
     @SelectProvider(type = GoodsProvider.class, method = "searchGlobal")
     Page<GoodsEntity> searchGlobal(PageDto param, IPage page);
 
-    @Update("update tb_goods set sort = sort-1 , update_time = NOW() where is_delete = 0  and type = #{type}  and ( sort between #{sort} and #{oldSort} )")
+    // 降序, 当前大, 旧值小
+    @Update("update tb_goods set sort = sort-1 , update_time = NOW() where is_delete = 0  and type = #{type} and sort > 0 and ( sort between #{oldSort} and #{sort} )")
     void descSort(Integer sort, Integer oldSort, String type);
 
-    @Update("update tb_goods set sort = sort+1 , update_time = NOW() where is_delete = 0  and type = #{type}  and ( sort between #{oldSort} and #{sort} )")
+    // 升序, 当前小, 旧值大
+    @Update("update tb_goods set sort = sort+1 , update_time = NOW() where is_delete = 0  and type = #{type}  and ( sort between #{sort} and #{oldSort} )")
     void ascSort(Integer sort, Integer oldSort, String type);
 
     @Update("update tb_goods set sort = #{sort} , update_time = NOW() where is_delete = 0  and id = #{id}")

+ 2 - 1
gis_cms/src/main/java/com/gis/cms/mapper/provider/GoodsProvider.java

@@ -52,7 +52,8 @@ public class GoodsProvider {
 
 
 
-        sql.append(" order by sort asc, create_time desc");
+//        sql.append(" order by sort asc, create_time desc");
+        sql.append(" order by sort asc, update_time desc");
         log.info("sql: {}", sql.toString());
         return sql.toString();
     }

+ 12 - 12
gis_cms/src/main/java/com/gis/cms/service/impl/GoodsServiceImpl.java

@@ -263,33 +263,33 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, GoodsEntity> impl
     @Override
     public Result sort(GoodsSortDto param) {
         Long id = param.getId();
-        GoodsEntity entity = this.getById(id);
-        String orderBy = param.getOrderBy();
+        Integer sort = param.getSort();
+        Integer sortOld = param.getSortOld();
+        String type = param.getType();
+
         // id降序, 区间升
-        if ("desc".equals(orderBy)){
-            ascSort(id, param.getSort(), entity.getSort(), entity.getType());
+        if (sort < sortOld){
+            log.info("走升序");
+            entityMapper.ascSort(sort, sortOld, type);
         } else { // id升序, 区间降
-            descSort(id, param.getSort(), entity.getSort(), entity.getType());
+            log.info("走将序");
+            entityMapper.descSort(sort, sortOld, type);
         }
+        entityMapper.updateSortById(id, sort);
         return Result.success();
     }
 
     /**
      *
-     * @param id 对象id
      * @param sort 新排序序号
      * @param oldSort 旧序号
      */
-    private void descSort(Long id, Integer sort, Integer oldSort, String type){
+    private void descSort(Integer sort, Integer oldSort, String type){
         entityMapper.descSort(sort, oldSort, type);
-        entityMapper.updateSortById(id, sort);
-
     }
 
-    private void ascSort(Long id, Integer sort, Integer oldSort, String type){
+    private void ascSort(Integer sort, Integer oldSort, String type){
         entityMapper.ascSort(sort, oldSort, type);
-        entityMapper.updateSortById(id, sort);
-
     }
 
     // 更新封面图