Parcourir la source

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

liaoyitao il y a 9 mois
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 58
     @PostMapping("/pageQuery")
59 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 184
             description = "5.1.2.20 模型列表接口"
185 185
     )
186 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 190
         String authHeader = request.getHeader("Authorization");
189 191
         String userCode = jwtService.decryptUsernameWithHeader(authHeader);
190
-        return resourceService.models(userCode);
192
+        return resourceService.models(userCode, categoryId, modelName);
191 193
     }
192 194
 
193 195
     @Operation(

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

@@ -44,6 +44,10 @@ public class MaterialInfo {
44 44
     @Schema(description = "材质图标")
45 45
     private String compressFileName;
46 46
 
47
+    @Column(name = "material_type")
48
+    @Schema(description = "材质类型: 1:材质, 2:贴图")
49
+    private Integer materialType;
50
+
47 51
     @Column(name = "update_time")
48 52
     @JsonFormat(pattern = "YYYY-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
49 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 40
     @Query(nativeQuery = true,
41 41
             value = "select * from material_info where " +
42 42
                     "(:materialName = '' or material_name like concat('%', :materialName, '%')) " +
43
+                    "and material_type = :materialType " +
43 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 21
         value = "select mi.* from model_info mi " +
22 22
                 "left join model_category mc on mi.category_id = mc.category_id " +
23 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 34
     @Query("select t from ModelInfo t where t.categoryId = :categoryId")
29 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 30
      * @param pageSize
31 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 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 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 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 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 62
     @Transactional
@@ -96,7 +96,7 @@ public class MaterialInfoServiceImpl implements MaterialInfoService {
96 96
                         }
97 97
                         if (!materialMap.containsKey(modelFileName.substring(0, modelFileName.lastIndexOf(".")))) {
98 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 100
                         } else {
101 101
                             MaterialInfo materialInfo = materialMap.get(modelFileName.substring(0, modelFileName.lastIndexOf(".")));
102 102
                             materialInfo.setMaterialIcon(modelPath.replace("model", "icon").replace("json", "png").substring(1));