Browse Source

更新spring-core-5.2.20
添加 藏品拖动排序功能

wuweihao 3 years ago
parent
commit
c7e7757038

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

@@ -23,7 +23,7 @@ import javax.validation.Valid;
 @Slf4j
 @Api(tags = "v0.1-留言管理")
 @RestController
-@RequestMapping("cms/comment")
+@RequestMapping("/cms/comment")
 public class CommentController  {
 
     @Autowired

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

@@ -1,6 +1,7 @@
 package com.gis.cms.controller;
 
 import com.gis.cms.entity.dto.GoodsPageDateDto;
+import com.gis.cms.entity.dto.GoodsSortDto;
 import com.gis.cms.entity.dto.TypePageDateDto;
 import com.gis.cms.entity.po.GoodsEntity;
 import com.gis.common.base.aop.WebControllerLog;
@@ -18,7 +19,7 @@ import javax.validation.Valid;
 /**
  * Created by owen on 2022/1/10 0008 9:54
  */
-@Api(tags = "精品典藏管理")
+@Api(tags = "v0.2-精品典藏管理")
 @RestController
 @RequestMapping("cms/goods")
 public class GoodsController  {
@@ -88,4 +89,11 @@ public class GoodsController  {
     public Result afreshUploadImg(MultipartFile file, @PathVariable String code, @PathVariable Long fileId) {
         return entityService.afreshUploadImg(file, code, fileId);
     }
+
+    @WebControllerLog(description = "精品典藏-排序", addDb = true)
+    @ApiOperation(value = "v0.2-排序")
+    @PostMapping("sort")
+    public Result sort(@Valid @RequestBody GoodsSortDto param) {
+        return entityService.sort(param);
+    }
 }

+ 30 - 0
gis_cms/src/main/java/com/gis/cms/entity/dto/GoodsSortDto.java

@@ -0,0 +1,30 @@
+package com.gis.cms.entity.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+/**
+ * Created by owen on 2022/4/7 0007 15:29
+ */
+@Data
+public class GoodsSortDto {
+
+    @NotNull(message = "ID不能为空")
+    @ApiModelProperty(value = "ID", required = true)
+    private Long id;
+
+    @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 = "排序类型, desc:降序, asc:升序", required = true)
+    private String orderBy;
+}

+ 3 - 0
gis_cms/src/main/java/com/gis/cms/entity/po/GoodsEntity.java

@@ -51,4 +51,7 @@ public class GoodsEntity extends BaseEntity {
     @ApiModelProperty(value = "封面图id")
     private Long indexId;
 
+    @ApiModelProperty(value = "排序")
+    private Integer sort;
+
 }

+ 9 - 0
gis_cms/src/main/java/com/gis/cms/mapper/GoodsMapper.java

@@ -30,4 +30,13 @@ 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} )")
+    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} )")
+    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}")
+    void updateSortById(Long id, Integer sort);
 }

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

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

+ 3 - 0
gis_cms/src/main/java/com/gis/cms/service/GoodsService.java

@@ -4,6 +4,7 @@ package com.gis.cms.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.gis.cms.entity.dto.GoodsDto;
 import com.gis.cms.entity.dto.GoodsPageDateDto;
+import com.gis.cms.entity.dto.GoodsSortDto;
 import com.gis.cms.entity.po.GoodsEntity;
 import com.gis.cms.entity.vo.SearchVo;
 import com.gis.common.base.entity.dto.PageDto;
@@ -41,4 +42,6 @@ public interface GoodsService extends IService<GoodsEntity> {
     Result<SearchVo> searchGlobal(PageDto param);
 
     Result afreshUploadImg(MultipartFile file, String code, Long fileId);
+
+    Result sort(GoodsSortDto param);
 }

+ 1 - 1
gis_cms/src/main/java/com/gis/cms/service/impl/CommentServiceImpl.java

@@ -74,7 +74,7 @@ public class CommentServiceImpl extends ServiceImpl<CommentMapper, CommentEntity
 
         wrapper.orderByDesc(CommentEntity::getCreateTime);
 
-        return Result.success(page);
+        return Result.success(this.page(page, wrapper));
     }
 
     @Override

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

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.gis.cms.entity.dto.GoodsDto;
 import com.gis.cms.entity.dto.GoodsPageDateDto;
+import com.gis.cms.entity.dto.GoodsSortDto;
 import com.gis.cms.entity.po.FileEntity;
 import com.gis.cms.entity.po.GoodsEntity;
 import com.gis.cms.entity.vo.SearchVo;
@@ -29,6 +30,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 import java.time.LocalDateTime;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -257,6 +260,38 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, GoodsEntity> impl
         return Result.success(entity);
     }
 
+    @Override
+    public Result sort(GoodsSortDto param) {
+        Long id = param.getId();
+        GoodsEntity entity = this.getById(id);
+        String orderBy = param.getOrderBy();
+        // id降序, 区间升
+        if ("desc".equals(orderBy)){
+            ascSort(id, param.getSort(), entity.getSort(), entity.getType());
+        } else { // id升序, 区间降
+            descSort(id, param.getSort(), entity.getSort(), entity.getType());
+        }
+        return Result.success();
+    }
+
+    /**
+     *
+     * @param id 对象id
+     * @param sort 新排序序号
+     * @param oldSort 旧序号
+     */
+    private void descSort(Long id, 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){
+        entityMapper.ascSort(sort, oldSort, type);
+        entityMapper.updateSortById(id, sort);
+
+    }
+
     // 更新封面图
     private void updateIndexImg(FileEntity entity){
         if (entity.getIsIndex() == 1) {

+ 30 - 0
gis_common/pom.xml

@@ -13,12 +13,36 @@
     <packaging>jar</packaging>
 
     <dependencies>
+
+        <!--&lt;!&ndash; https://mvnrepository.com/artifact/org.springframework/spring-core &ndash;&gt;-->
+        <!--<dependency>-->
+            <!--<groupId>org.springframework</groupId>-->
+            <!--<artifactId>spring-core</artifactId>-->
+            <!--&lt;!&ndash;<version>5.3.18</version>&ndash;&gt;-->
+            <!--<version>5.2.20.RELEASE</version>-->
+        <!--</dependency>-->
+
+
+        <!--springboot-->
+        <!--<dependency>-->
+            <!--<groupId>org.springframework.boot</groupId>-->
+            <!--<artifactId>spring-boot-starter-web</artifactId>-->
+            <!--<exclusions>-->
+            <!--<exclusion>-->
+            <!--<groupId>org.springframework</groupId>-->
+            <!--<artifactId>spring-core</artifactId>-->
+            <!--</exclusion>-->
+            <!--</exclusions>-->
+        <!--</dependency>-->
+
         <!--springboot-->
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
         </dependency>
 
+
+
         <!-- JPA -->
         <dependency>
             <groupId>org.springframework.boot</groupId>
@@ -91,6 +115,12 @@
             <artifactId>hutool-all</artifactId>
         </dependency>
 
+        <!-- 中文转拼音 -->
+        <dependency>
+            <groupId>com.belerweb</groupId>
+            <artifactId>pinyin4j</artifactId>
+        </dependency>
+
         <!--excel 依赖工具包, hutool需要用的-->
         <dependency>
             <groupId>org.apache.poi</groupId>

+ 0 - 1
gis_common/src/main/java/com/gis/common/util/RedisUtil.java

@@ -8,7 +8,6 @@ import org.springframework.stereotype.Component;
 import org.springframework.util.CollectionUtils;
 
 import javax.annotation.Resource;
-import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;

+ 1 - 4
gis_pano/src/main/java/com/gis/cms/service/WorkService.java

@@ -27,14 +27,11 @@ public interface WorkService extends IService<WorkEntity> {
 
     Result edit(SomeDataDto param);
 
-//    Result select4dkk(PageDto param, String workId);
 
-    Result uploadFix(MultipartFile file, String sceneCode);
 
+    Result uploadFix(MultipartFile file, String sceneCode);
 
-//    List<WorkEntity> likeSceneCode(String sceneCode);
 
-//    WorkEntity findByIdForUpdate(String id);
 
 
     Result checkToken(String workId);

+ 0 - 1
gis_pano/src/main/java/com/gis/cms/service/impl/FodderServiceImpl.java

@@ -24,7 +24,6 @@ import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.Arrays;
 
 
 /**

+ 2 - 2
gis_pano/src/main/java/com/gis/cms/service/impl/WorkServiceImpl.java

@@ -296,7 +296,7 @@ public class WorkServiceImpl extends ServiceImpl<WorkMapper, WorkEntity> impleme
     public Result uploadFix(MultipartFile file, String sceneCode) {
         // 检查非法文件上传
         BaseRuntimeException.isHas(!fileUtils.checkFile(file), null, "上传文件格式有误, 请重新上传");
-        Map<String, Object> uploadMap = fileUtils.uploadMap(file, "/" + sceneCode, true);
+        Map<String, Object> uploadMap = fileUtils.uploadMap(file, "/pano/" + sceneCode, true);
         return Result.success(uploadMap);
     }
 
@@ -305,7 +305,7 @@ public class WorkServiceImpl extends ServiceImpl<WorkMapper, WorkEntity> impleme
     public Result upload(MultipartFile file, String sceneCode) {
         // 检查非法文件上传
         BaseRuntimeException.isHas(!fileUtils.checkFile(file), null, "上传文件格式有误, 请重新上传");
-        Map<String, Object> uploadMap = fileUtils.uploadMap(file, "/" + sceneCode + "/edit", false);
+        Map<String, Object> uploadMap = fileUtils.uploadMap(file, "/pano/" + sceneCode + "/edit", false);
         return Result.success(uploadMap);
     }
 

+ 29 - 28
pom.xml

@@ -34,6 +34,7 @@
     <spring.boot.version>2.3.4.RELEASE</spring.boot.version>
     <gis.version>1.0.0</gis.version>
     <hutool.version>5.3.3</hutool.version>
+    <pinyin4j.version>2.5.1</pinyin4j.version>
     <poi.version>3.17</poi.version>
     <lombok.version>1.18.2</lombok.version>
     <fastjson.version>1.2.75</fastjson.version>
@@ -97,6 +98,14 @@
       </dependency>
 
 
+      <!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
+      <dependency>
+        <groupId>org.springframework</groupId>
+        <artifactId>spring-core</artifactId>
+        <!--<version>5.3.18</version>-->
+        <version>5.2.20.RELEASE</version>
+      </dependency>
+
 
 
       <!-- springboot -->
@@ -104,8 +113,21 @@
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-data-jpa</artifactId>
         <version>${spring.boot.version}</version>
+
       </dependency>
 
+      <!--<dependency>-->
+        <!--<groupId>org.springframework.boot</groupId>-->
+        <!--<artifactId>spring-boot-starter-web</artifactId>-->
+        <!--<version>${spring.boot.version}</version>-->
+        <!--<exclusions>-->
+          <!--<exclusion>-->
+            <!--<groupId>org.springframework</groupId>-->
+            <!--<artifactId>spring-core</artifactId>-->
+          <!--</exclusion>-->
+        <!--</exclusions>-->
+      <!--</dependency>-->
+
       <dependency>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-web</artifactId>
@@ -185,6 +207,13 @@
         <version>${hutool.version}</version>
       </dependency>
 
+      <!-- 中文转拼音 -->
+      <dependency>
+        <groupId>com.belerweb</groupId>
+        <artifactId>pinyin4j</artifactId>
+        <version>${pinyin4j.version}</version>
+      </dependency>
+
       <!--excel 依赖工具包, hutool需要用的-->
       <dependency>
         <groupId>org.apache.poi</groupId>
@@ -227,34 +256,6 @@
       </dependency>
 
 
-
-      <!--tk.mybatis 依赖-->
-      <!--<dependency>-->
-        <!--<groupId>tk.mybatis</groupId>-->
-        <!--<artifactId>mapper-spring-boot-starter</artifactId>-->
-        <!--<version>${tk.mybatis.version}</version>-->
-        <!--&lt;!&ndash; tk.mybatis 跟springboot jap 包冲突&ndash;&gt;-->
-        <!--<exclusions>-->
-          <!--<exclusion>-->
-            <!--<groupId>javax.persistence</groupId>-->
-            <!--<artifactId>persistence-api</artifactId>-->
-          <!--</exclusion>-->
-        <!--</exclusions>-->
-
-      <!--</dependency>-->
-
-
-
-
-
-
-      <!--&lt;!&ndash;分页插件&ndash;&gt;-->
-      <!--<dependency>-->
-        <!--<groupId>com.github.pagehelper</groupId>-->
-        <!--<artifactId>pagehelper-spring-boot-starter</artifactId>-->
-        <!--<version>${pagehelper.version}</version>-->
-      <!--</dependency>-->
-
     </dependencies>
   </dependencyManagement>
 </project>