Browse Source

fix: 材质管理,资源管理功能优化

liaoyitao 9 months ago
parent
commit
2a517c24c6

+ 4 - 3
src/main/java/com/lqkj/link/module/zone/controller/MaterialInfoController.java

@@ -57,9 +57,10 @@ public class MaterialInfoController {
57
      */
57
      */
58
     @PostMapping("/pageQuery")
58
     @PostMapping("/pageQuery")
59
     public MessageBean<Page<MaterialInfo>> pageQueryTemplate(@RequestParam(required = false, defaultValue = "") String name,
59
     public MessageBean<Page<MaterialInfo>> pageQueryTemplate(@RequestParam(required = false, defaultValue = "") String name,
60
-                                                      @RequestParam(required = false, defaultValue = "0") Integer page,
61
-                                                      @RequestParam(required = false, defaultValue = "10") Integer pageSize) {
62
-        return MessageBean.ok(materialInfoService.pageQuery(name, page, pageSize), "材质分页接口");
60
+                                                             @RequestParam(required = false, defaultValue = "0") Integer page,
61
+                                                             @RequestParam(required = false) Integer materialType,
62
+                                                             @RequestParam(required = false, defaultValue = "10") Integer pageSize) {
63
+        return MessageBean.ok(materialInfoService.pageQuery(name, page, pageSize, materialType), "材质分页接口");
63
 
64
 
64
     }
65
     }
65
 
66
 

+ 4 - 2
src/main/java/com/lqkj/link/module/zone/controller/ResourceController.java

@@ -184,10 +184,12 @@ public class ResourceController {
184
             description = "5.1.2.20 模型列表接口"
184
             description = "5.1.2.20 模型列表接口"
185
     )
185
     )
186
     @PostMapping("/" + VERSION_V1 + "/models")
186
     @PostMapping("/" + VERSION_V1 + "/models")
187
-    public List<ModelInfo> models(HttpServletRequest request) {
187
+    public List<ModelInfo> models(@RequestParam(required = false) Integer categoryId,
188
+                                  @RequestParam(required = false, defaultValue = "") String modelName,
189
+                                  HttpServletRequest request) {
188
         String authHeader = request.getHeader("Authorization");
190
         String authHeader = request.getHeader("Authorization");
189
         String userCode = jwtService.decryptUsernameWithHeader(authHeader);
191
         String userCode = jwtService.decryptUsernameWithHeader(authHeader);
190
-        return resourceService.models(userCode);
192
+        return resourceService.models(userCode, categoryId, modelName);
191
     }
193
     }
192
 
194
 
193
     @Operation(
195
     @Operation(

+ 4 - 0
src/main/java/com/lqkj/link/module/zone/domain/MaterialInfo.java

@@ -44,6 +44,10 @@ public class MaterialInfo {
44
     @Schema(description = "材质图标")
44
     @Schema(description = "材质图标")
45
     private String compressFileName;
45
     private String compressFileName;
46
 
46
 
47
+    @Column(name = "material_type")
48
+    @Schema(description = "材质类型: 1:材质, 2:贴图")
49
+    private Integer materialType;
50
+
47
     @Column(name = "update_time")
51
     @Column(name = "update_time")
48
     @JsonFormat(pattern = "YYYY-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
52
     @JsonFormat(pattern = "YYYY-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
49
     @Schema(description = "更新时间")
53
     @Schema(description = "更新时间")

+ 3 - 1
src/main/java/com/lqkj/link/module/zone/repository/MaterialInfoRepository.java

@@ -40,7 +40,9 @@ public interface MaterialInfoRepository extends JpaRepository<MaterialInfo, Inte
40
     @Query(nativeQuery = true,
40
     @Query(nativeQuery = true,
41
             value = "select * from material_info where " +
41
             value = "select * from material_info where " +
42
                     "(:materialName = '' or material_name like concat('%', :materialName, '%')) " +
42
                     "(:materialName = '' or material_name like concat('%', :materialName, '%')) " +
43
+                    "and material_type = :materialType " +
43
                     "order by update_time"
44
                     "order by update_time"
44
     )
45
     )
45
-    Page<MaterialInfo> pageQuery(@Param("materialName")String materialName, Pageable pageable);
46
+    Page<MaterialInfo> pageQuery(@Param("materialName") String materialName,
47
+                                 @Param("materialType") Integer materialType,Pageable pageable);
46
 }
48
 }

+ 8 - 2
src/main/java/com/lqkj/link/module/zone/repository/ModelInfoRepository.java

@@ -21,9 +21,15 @@ public interface ModelInfoRepository extends JpaRepository<ModelInfo, Integer> {
21
         value = "select mi.* from model_info mi " +
21
         value = "select mi.* from model_info mi " +
22
                 "left join model_category mc on mi.category_id = mc.category_id " +
22
                 "left join model_category mc on mi.category_id = mc.category_id " +
23
                 "left join user_info ui on mc.user_id = ui.user_id " +
23
                 "left join user_info ui on mc.user_id = ui.user_id " +
24
-                "where mc.user_id is null or ui.user_code = :userCode order by mi.order_id"
24
+                "where " +
25
+                "(:modelName = '' or mi.model_name like concat('%', :modelName, '%')) " +
26
+                "and (:categoryId = 0 or mi.category_id = :categoryId) " +
27
+                "and mc.user_id is null or ui.user_code = :userCode " +
28
+                "order by mi.order_id"
25
     )
29
     )
26
-    List<ModelInfo> listWitUserCode(@Param("userCode") String userCode);
30
+    List<ModelInfo> listWitUserCode(@Param("userCode") String userCode,
31
+                                    @Param("categoryId") Integer categoryId,
32
+                                    @Param("modelName") String modelName);
27
 
33
 
28
     @Query("select t from ModelInfo t where t.categoryId = :categoryId")
34
     @Query("select t from ModelInfo t where t.categoryId = :categoryId")
29
     List<ModelInfo> listWithCategory(@Param("categoryId") Integer categoryId);
35
     List<ModelInfo> listWithCategory(@Param("categoryId") Integer categoryId);

+ 1 - 1
src/main/java/com/lqkj/link/module/zone/service/MaterialInfoService.java

@@ -30,7 +30,7 @@ public interface MaterialInfoService {
30
      * @param pageSize
30
      * @param pageSize
31
      * @return
31
      * @return
32
      */
32
      */
33
-    Page<MaterialInfo> pageQuery(String name, Integer page, Integer pageSize);
33
+    Page<MaterialInfo> pageQuery(String name, Integer page, Integer pageSize, Integer materialType);
34
 
34
 
35
 
35
 
36
     /**
36
     /**

+ 2 - 2
src/main/java/com/lqkj/link/module/zone/service/ResourceService.java

@@ -146,8 +146,8 @@ public class ResourceService {
146
         return categoryRepository.queryWithUserCode(userCode);
146
         return categoryRepository.queryWithUserCode(userCode);
147
     }
147
     }
148
 
148
 
149
-    public List<ModelInfo> models(String userCode) {
150
-        return infoRepository.listWitUserCode(userCode);
149
+    public List<ModelInfo> models(String userCode, Integer categoryId, String modelName) {
150
+        return infoRepository.listWitUserCode(userCode, categoryId, modelName);
151
     }
151
     }
152
 
152
 
153
     public String savePersonal(ModelCategory modelCategory, String userCode) {
153
     public String savePersonal(ModelCategory modelCategory, String userCode) {

+ 3 - 3
src/main/java/com/lqkj/link/module/zone/service/impl/MaterialInfoServiceImpl.java

@@ -54,9 +54,9 @@ public class MaterialInfoServiceImpl implements MaterialInfoService {
54
 
54
 
55
 
55
 
56
     @Override
56
     @Override
57
-    public Page<MaterialInfo> pageQuery(String name, Integer page, Integer pageSize) {
57
+    public Page<MaterialInfo> pageQuery(String name, Integer page, Integer pageSize, Integer materialType) {
58
         Pageable pageable = PageRequest.of(page, pageSize);
58
         Pageable pageable = PageRequest.of(page, pageSize);
59
-        return materialInfoRepository.pageQuery(name, pageable);
59
+        return materialInfoRepository.pageQuery(name, materialType, pageable);
60
     }
60
     }
61
 
61
 
62
     @Transactional
62
     @Transactional
@@ -96,7 +96,7 @@ public class MaterialInfoServiceImpl implements MaterialInfoService {
96
                         }
96
                         }
97
                         if (!materialMap.containsKey(modelFileName.substring(0, modelFileName.lastIndexOf(".")))) {
97
                         if (!materialMap.containsKey(modelFileName.substring(0, modelFileName.lastIndexOf(".")))) {
98
                             materialInfoList.add(new MaterialInfo(null, modelFileName.substring(0, modelFileName.lastIndexOf(".")), modelPath.substring(1),
98
                             materialInfoList.add(new MaterialInfo(null, modelFileName.substring(0, modelFileName.lastIndexOf(".")), modelPath.substring(1),
99
-                                    modelPath.replace("model", "icon").replace("json", "png").substring(1), modelFileName, new Date()));
99
+                                    modelPath.replace("model", "icon").replace("json", "png").substring(1), modelFileName, 1, new Date()));
100
                         } else {
100
                         } else {
101
                             MaterialInfo materialInfo = materialMap.get(modelFileName.substring(0, modelFileName.lastIndexOf(".")));
101
                             MaterialInfo materialInfo = materialMap.get(modelFileName.substring(0, modelFileName.lastIndexOf(".")));
102
                             materialInfo.setMaterialIcon(modelPath.replace("model", "icon").replace("json", "png").substring(1));
102
                             materialInfo.setMaterialIcon(modelPath.replace("model", "icon").replace("json", "png").substring(1));