Browse Source

素材库代码更新

master
xia 3 years ago
parent
commit
cece64cf86
  1. 6
      system/src/main/java/com/canvas/web/modules/device/criteria/DeviceQueryCriteria.java
  2. 26
      system/src/main/java/com/canvas/web/modules/device/criteria/DeviceSettingCriteria.java
  3. 16
      system/src/main/java/com/canvas/web/modules/device/rest/DeviceController.java
  4. 2
      system/src/main/java/com/canvas/web/modules/device/service/impl/DeviceServiceImpl.java
  5. 38
      system/src/main/java/com/canvas/web/modules/device/vo/DeviceVO.java
  6. 10
      system/src/main/java/com/canvas/web/modules/material/criteria/MaterialQueryCriteria.java
  7. 37
      system/src/main/java/com/canvas/web/modules/material/criteria/ThemeQueryCriteria.java
  8. 2
      system/src/main/java/com/canvas/web/modules/material/domain/Material.java
  9. 17
      system/src/main/java/com/canvas/web/modules/material/dto/FolderDTO.java
  10. 33
      system/src/main/java/com/canvas/web/modules/material/dto/MaterialDTO.java
  11. 9
      system/src/main/java/com/canvas/web/modules/material/repository/MaterialFolderRepository.java
  12. 18
      system/src/main/java/com/canvas/web/modules/material/repository/MaterialInFolderRepository.java
  13. 22
      system/src/main/java/com/canvas/web/modules/material/repository/MaterialRepository.java
  14. 4
      system/src/main/java/com/canvas/web/modules/material/repository/ThemeClassRepository.java
  15. 8
      system/src/main/java/com/canvas/web/modules/material/repository/ThemeFolderRepository.java
  16. 15
      system/src/main/java/com/canvas/web/modules/material/repository/ThemeInFolderRepository.java
  17. 44
      system/src/main/java/com/canvas/web/modules/material/rest/MaterialController.java
  18. 4
      system/src/main/java/com/canvas/web/modules/material/rest/ThemeClassController.java
  19. 10
      system/src/main/java/com/canvas/web/modules/material/service/MaterialService.java
  20. 62
      system/src/main/java/com/canvas/web/modules/material/service/impl/MaterialServiceImpl.java
  21. 2
      system/src/main/java/com/canvas/web/modules/material/vo/AlbumVO.java
  22. 2
      system/src/main/java/com/canvas/web/modules/material/vo/MyMaterialVO.java
  23. 32
      system/src/main/java/com/canvas/web/modules/material/vo/ThemeVO.java

6
system/src/main/java/com/canvas/web/modules/device/criteria/DeviceQueryCriteria.java

@ -12,15 +12,15 @@ public class DeviceQueryCriteria {
@Query
@JSONField(name="device_id")
@JsonProperty("device_id")
private String deviceId;
private String device_id;
@Query
@JSONField(name="device_name")
@JsonProperty("device_name")
private String deviceName;
private String device_name;
@Query
@JSONField(name="is_state")
@JsonProperty("is_state")
private Integer isState;
private Integer is_state;
}

26
system/src/main/java/com/canvas/web/modules/device/criteria/DeviceSettingCriteria.java

@ -1,7 +1,9 @@
package com.canvas.web.modules.device.criteria;
import com.alibaba.fastjson.annotation.JSONField;
import com.canvas.web.annotation.Query;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.sql.Timestamp;
@ -9,13 +11,35 @@ import java.sql.Timestamp;
@Data
public class DeviceSettingCriteria {
@Query
@JSONField(name="device_id")
@JsonProperty("device_id")
private String deviceId;
@JSONField(name="open_setting")
@JsonProperty("open_setting")
public Integer openSetting;
@JSONField(name="open_weekly")
@JsonProperty("open_weekly")
public String openWeekly;
@JSONField(name="open_time")
@JsonProperty("open_time")
public String openTime;
@JSONField(name="close_setting")
@JsonProperty("close_setting")
public Integer closeSetting;
@JSONField(name="close_weekly")
@JsonProperty("close_weekly")
public String closeWeekly;
@JSONField(name="close_time")
@JsonProperty("close_time")
public String closeTime;
@JSONField(name="startup_screen")
@JsonProperty("startup_screen")
public String startupScreen;
}

16
system/src/main/java/com/canvas/web/modules/device/rest/DeviceController.java

@ -1,5 +1,6 @@
package com.canvas.web.modules.device.rest;
import com.alibaba.fastjson.annotation.JSONField;
import com.canvas.web.annotation.rest.AnonymousGetMapping;
import com.canvas.web.annotation.rest.AnonymousPostMapping;
import com.canvas.web.modules.device.criteria.DeviceQueryCriteria;
@ -11,6 +12,7 @@ import com.canvas.web.modules.device.vo.DeviceVO;
import com.canvas.web.modules.utils.ResultUtils;
import com.canvas.web.utils.Response;
import com.canvas.web.enums.ResponseEnum;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
@ -34,7 +36,7 @@ public class DeviceController {
public Response<ResultUtils<List<DeviceVO>>> list(
DeviceQueryCriteria criteria, Pageable page
){
return Response.success(deviceService.getDeviceList(criteria.getDeviceId(),criteria.getDeviceName(),criteria.getIsState(),page));
return Response.success(deviceService.getDeviceList(criteria.getDevice_id(),criteria.getDevice_name(),criteria.getIs_state(),page));
}
@ApiOperation("编辑设备")
@ -51,9 +53,9 @@ public class DeviceController {
// @GetMapping("/findById")
@AnonymousGetMapping("/findById")
public Response<Device> findById(
String deviceId
@Validated String device_id
){
return Response.success(deviceService.findById(deviceId));
return Response.success(deviceService.findById(device_id));
}
@ApiOperation("设备开关机列表")
@ -62,14 +64,14 @@ public class DeviceController {
public Response<ResultUtils<List<DeviceVO>>> switchlist(
DeviceQueryCriteria criteria, Pageable page
){
return Response.success(deviceService.getDeviceList(criteria.getDeviceId(),criteria.getDeviceName(),criteria.getIsState(),page));
return Response.success(deviceService.getDeviceList(criteria.getDevice_id(),criteria.getDevice_name(),criteria.getIs_state(),page));
}
@ApiOperation("开关机配置")
// @PostMapping("/switchSetting")
@AnonymousPostMapping("/switchSetting")
public Response<Object> switchSetting(
DeviceSettingCriteria criteria
@Validated @RequestBody DeviceSettingCriteria criteria
){
deviceService.setting(criteria);
return Response.success(ResponseEnum.UPDATE_SUCCESS);
@ -79,9 +81,9 @@ public class DeviceController {
// @PostMapping("/updateState")
@AnonymousPostMapping("/updateState")
public Response<Object> updateState(
String deviceId,Integer state
@Validated String device_id,@Validated Integer state
){
deviceService.updateState(deviceId,state);
deviceService.updateState(device_id,state);
return Response.success(ResponseEnum.UPDATE_SUCCESS);
}

2
system/src/main/java/com/canvas/web/modules/device/service/impl/DeviceServiceImpl.java

@ -86,7 +86,7 @@ public class DeviceServiceImpl implements DeviceService {
@Override
public Device findById(String deviceId) {
Optional<Device> optional = deviceRepository.findById(deviceId);
if(!optional.isPresent()){
if(optional.isPresent()){
return optional.get();
}
return null;

38
system/src/main/java/com/canvas/web/modules/device/vo/DeviceVO.java

@ -1,5 +1,7 @@
package com.canvas.web.modules.device.vo;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
@ -10,28 +12,64 @@ import java.sql.Timestamp;
@Getter
@Setter
public class DeviceVO {
@ApiModelProperty(value = "设备id")
@JSONField(name="deviceId")
@JsonProperty("device_id")
private String deviceId;
@ApiModelProperty(value = "设备账号")
@JSONField(name="deviceAccount")
@JsonProperty("device_account")
private String deviceAccount;
@ApiModelProperty(value = "设备名称")
@JSONField(name="deviceName")
@JsonProperty("device_name")
private String deviceName;
@ApiModelProperty(value = "设备方向")
@JSONField(name="deviceDirection")
@JsonProperty("device_direction")
private String deviceDirection;
@ApiModelProperty(value = "机构名称")
@JSONField(name="organName")
@JsonProperty("organ_name")
private String organName;
@ApiModelProperty(value = "开机设置")
@JSONField(name="openSetting")
@JsonProperty("open_setting")
private Integer openSetting;
@ApiModelProperty(value = "开机每周")
@JSONField(name="openWeekly")
@JsonProperty("open_weekly")
private String openWeekly;
@ApiModelProperty(value = "开机时间")
@JSONField(name="openTime")
@JsonProperty("open_time")
private Time openTime;
@ApiModelProperty(value = "关机设置")
@JSONField(name="closeSetting")
@JsonProperty("close_setting")
private Integer closeSetting;
@ApiModelProperty(value = "关机每周")
@JSONField(name="closeWeekly")
@JsonProperty("close_weekly")
private String closeWeekly;
@ApiModelProperty(value = "关机时间")
@JSONField(name="closeTime")
@JsonProperty("close_time")
private Time closeTime;
@ApiModelProperty(value = "启动动画")
@JSONField(name="startupScreen")
@JsonProperty("startup_screen")
private String startupScreen;
}

10
system/src/main/java/com/canvas/web/modules/material/criteria/MaterialQueryCriteria.java

@ -1,21 +1,31 @@
package com.canvas.web.modules.material.criteria;
import com.alibaba.fastjson.annotation.JSONField;
import com.canvas.web.annotation.Query;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
@Data
public class MaterialQueryCriteria {
@Query
@JSONField(name="material_name")
@JsonProperty("material_name")
private String materialName;
@Query
@JSONField(name="material_type")
@JsonProperty("material_type")
private Integer materialType;
@Query
@JSONField(name="orga_id")
@JsonProperty("orga_id")
private String orgaId;
@Query
@JSONField(name="folder_id")
@JsonProperty("folder_id")
private String folderId;
}

37
system/src/main/java/com/canvas/web/modules/material/criteria/ThemeQueryCriteria.java

@ -1,7 +1,9 @@
package com.canvas.web.modules.material.criteria;
import com.alibaba.fastjson.annotation.JSONField;
import com.canvas.web.annotation.Query;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import java.sql.Timestamp;
@ -9,24 +11,31 @@ import java.sql.Timestamp;
@Data
public class ThemeQueryCriteria {
@Query
private String themeName;
@JSONField(name="theme_name")
@JsonProperty("theme_name")
private String theme_name;
@Query
private String themeClass;
@JSONField(name="theme_class")
@JsonProperty("theme_class")
private String theme_class;
@Query
private Integer deviceDirection;
@JSONField(name="device_direction")
@JsonProperty("device_direction")
private Integer device_direction;
@Query
private String orgaId;
@JSONField(name="orga_id")
@JsonProperty("orga_id")
private String orga_id;
@Query
private String startTime;
@JSONField(name="start_time")
@JsonProperty("start_time")
private String start_time;
@Query
private String endTime;
@JSONField(name="end_time")
@JsonProperty("end_time")
private String end_time;
@Query
private String folderId;
@JSONField(name="folder_id")
@JsonProperty("folder_id")
private String folder_id;
}

2
system/src/main/java/com/canvas/web/modules/material/domain/Material.java

@ -43,7 +43,7 @@ public class Material extends BaseEntity implements Serializable {
@Column(name = "device_direction")
@ApiModelProperty(value = "设备方向")
private String deviceDirection;
private Integer deviceDirection;
@Column(name = "orga_id")
@ApiModelProperty(value = "机构id")

17
system/src/main/java/com/canvas/web/modules/material/dto/FolderDTO.java

@ -1,14 +1,31 @@
package com.canvas.web.modules.material.dto;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class FolderDTO {
@JSONField(name="id")
@JsonProperty("id")
private String id;
@JSONField(name="name")
@JsonProperty("name")
private String name;
@JSONField(name="fid")
@JsonProperty("fid")
private String fid;
@JSONField(name="img_path")
@JsonProperty("img_path")
private String imgPath;
@JSONField(name="orga_id")
@JsonProperty("orga_id")
private String orgaId;
}

33
system/src/main/java/com/canvas/web/modules/material/dto/MaterialDTO.java

@ -1,5 +1,7 @@
package com.canvas.web.modules.material.dto;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
@ -9,14 +11,43 @@ import java.util.List;
@Setter
public class MaterialDTO {
@JSONField(name="material_id")
@JsonProperty("material_id")
private String materialId;
@JSONField(name="material_name")
@JsonProperty("material_name")
private String materialName;
@JSONField(name="material_type")
@JsonProperty("material_type")
private Integer materialType;
@JSONField(name="store_type")
@JsonProperty("store_type")
private Integer storeType;
@JSONField(name="deposit_url")
@JsonProperty("deposit_url")
private String depositUrl;
@JSONField(name="img_path")
@JsonProperty("img_path")
private String imgPath;
private String deviceDirection;
@JSONField(name="device_direction")
@JsonProperty("device_direction")
private Integer deviceDirection;
@JSONField(name="orga_id")
@JsonProperty("orga_id")
private String orgaId;
@JSONField(name="folder_id")
@JsonProperty("folder_id")
private String folderId;
@JSONField(name="class_ids")
@JsonProperty("class_ids")
private List<String> classIds;
}

9
system/src/main/java/com/canvas/web/modules/material/repository/MaterialFolderRepository.java

@ -2,6 +2,9 @@ package com.canvas.web.modules.material.repository;
import com.canvas.web.modules.material.domain.MaterialFolder;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@ -10,4 +13,10 @@ public interface MaterialFolderRepository extends JpaRepository<MaterialFolder,
MaterialFolder findFirstByOrgaIdAndFidIsNull(String orgaId);
List<MaterialFolder> findAllByOrgaIdAndFid(String orgaId, String fid);
List<MaterialFolder> findAllByFid(String fid);
@Modifying
@Transactional(rollbackFor = Exception.class)
@Query(value = "delete from MaterialFolder where id in ?1")
void deleteAllById(List<String> ids);
}

18
system/src/main/java/com/canvas/web/modules/material/repository/MaterialInFolderRepository.java

@ -2,9 +2,27 @@ package com.canvas.web.modules.material.repository;
import com.canvas.web.modules.material.domain.MaterialInFolder;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
public interface MaterialInFolderRepository extends JpaRepository<MaterialInFolder, String> {
@Query(value = "delete from MaterialInFolder where id in ?1")
@Modifying
@Transactional(rollbackFor = Exception.class)
void deleteAllById(List<String> ids);
@Query(value = "delete from MaterialInFolder where mfId in ?1")
@Modifying
@Transactional(rollbackFor = Exception.class)
void deleteAllByMfIdIn(List<String> mfIds);
@Query(value = "delete from MaterialInFolder where materialId = ?1")
@Modifying
@Transactional(rollbackFor = Exception.class)
void deleteAllByMaterialId(String materialId);
}

22
system/src/main/java/com/canvas/web/modules/material/repository/MaterialRepository.java

@ -4,15 +4,18 @@ import com.canvas.web.modules.material.domain.Material;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
import java.util.Map;
public interface MaterialRepository extends JpaRepository<Material, String> {
@Query(nativeQuery = true,
value="select ml.id as materialId,ml.name as materialName,ml.deposit_url as depositUrl,ml.img_path as imgPath,ml.device_direction as deviceDirection, " +
"(select group_concat(tc.class_name) from material_class mc inner join theme_class tc on mc.class_id = tc.id where mc.material_id = ml.id) as classes," +
"(select group_concat(tc.class_name) from material ml INNER JOIN material_class mc ON ml.id = mc.material_id inner join theme_class tc on mc.class_id = tc.id where mc.material_id = ml.id) as classes," +
"ml.create_time as createTime,ml.is_del as isDel from material ml where ml.store_type = 2 " +
"and if(?1 is null,1=1,ml.name like %?1%) " +
"and if(?2 is null,1=1,ml.create_time <= ?2) " +
@ -30,23 +33,28 @@ public interface MaterialRepository extends JpaRepository<Material, String> {
@Query(nativeQuery = true,
value = "SELECT ml.id as materialId,ml.name as materialName,ml.type as materialType,ml.deposit_url as depositUrl,ml.img_path as imgPath," +
"ml.device_direction as deviceDirection,tif.id as inFolderId " +
"ml.device_direction as deviceDirection,tif.id as inFolderId,ml.create_time as createTime,ml.is_del as isDel " +
"FROM material ml INNER JOIN theme_in_folder tif ON ml.id = tif.theme_id " +
"INNER JOIN theme_folder tf ON tf.id = tif.tf_id " +
"WHERE ml.store_type = 2 and ml.is_del = 0 " +
"and tif.tf_id = ?1 and if(?2 is null,1=1,ml.name like %?2%) ")
Page<Map<String,Object>> getMyAlbumTheme(String folderId,String themeName,Pageable page);
"and tif.tf_id = ?1 and if(?2 is null,1=1,ml.name like %?2%) order by ml.create_time desc ")
List<Map<String,Object>> getMyAlbumTheme(String folderId, String themeName);
@Query(nativeQuery = true,
value = "SELECT ml.id AS materialId,ml.NAME AS materialName,ml.type AS materialType,ml.deposit_url AS depositUrl,ml.img_path AS imgPath," +
"ml.device_direction AS deviceDirection,mif.id as inFolderId " +
"FROM material ml INNER JOIN material_in_folder mif ON ml.id = mif.material_id " +
"INNER JOIN material_folder mf ON mf.id = mif.mf_id " +
"where ml.store_type = 2 and ml.is_del = 0 " +
"where ml.store_type = 1 and ml.is_del = 0 " +
"and if(?1 is null,1=1,mf.id = ?1)" +
"and if(?2 is null,1=1,ml.name like %?2%) " +
"and if(?3 is null,1=1,ml.type = ?3) ")
Page<Map<String,Object>> getMyMaterial(String folderId,String materialName,Integer materialType,Pageable page);
"and if(?3 is null,1=1,ml.type = ?3) order by ml.create_time desc ")
List<Map<String,Object>> getMyMaterial(String folderId,String materialName,Integer materialType);
@Query(value = "delete from Material where id = ?1")
@Modifying
@Transactional(rollbackFor = Exception.class)
void deleteById(String id);
}

4
system/src/main/java/com/canvas/web/modules/material/repository/ThemeClassRepository.java

@ -10,9 +10,9 @@ import java.util.Map;
public interface ThemeClassRepository extends JpaRepository<ThemeClass, String> {
@Query(nativeQuery = true,
value = "select tc.id as id,tc.class_name as className from theme_class tc where tc.is_all = true " +
value = "select tc.id as id,tc.class_name as class_name from theme_class tc where tc.is_all = true " +
"UNION " +
"select tc.id as id,tc.class_name as className from theme_class tc inner join orga_class oc on tc.id = oc.class_id where tc.id = ?1 ")
"select tc.id as id,tc.class_name as class_name from theme_class tc inner join orga_class oc on tc.id = oc.class_id where tc.id = ?1 ")
List<Map<String,Object>> getThemeByOrgaId(String orgaId);
}

8
system/src/main/java/com/canvas/web/modules/material/repository/ThemeFolderRepository.java

@ -2,6 +2,9 @@ package com.canvas.web.modules.material.repository;
import com.canvas.web.modules.material.domain.ThemeFolder;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
@ -10,4 +13,9 @@ public interface ThemeFolderRepository extends JpaRepository<ThemeFolder, String
ThemeFolder findFirstByOrgaIdAndFidIsNull(String orgaId);
List<ThemeFolder> findAllByOrgaIdAndFid(String orgaId, String fid);
List<ThemeFolder> findAllByFid(String fid);
@Modifying
@Transactional(rollbackFor = Exception.class)
@Query(value = "delete from ThemeFolder where id in ?1")
void deleteAllById(List<String> ids);
}

15
system/src/main/java/com/canvas/web/modules/material/repository/ThemeInFolderRepository.java

@ -2,6 +2,21 @@ package com.canvas.web.modules.material.repository;
import com.canvas.web.modules.material.domain.ThemeInFolder;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
public interface ThemeInFolderRepository extends JpaRepository<ThemeInFolder, String> {
@Modifying
@Transactional(rollbackFor = Exception.class)
@Query(value = "delete from ThemeInFolder where id = ?1")
void delById(String id);
@Modifying
@Transactional(rollbackFor = Exception.class)
@Query(value = "delete from ThemeInFolder where id in ?1")
void deleteAllByTfIdIn(List<String> tfIds);
}

44
system/src/main/java/com/canvas/web/modules/material/rest/MaterialController.java

@ -46,27 +46,27 @@ public class MaterialController {
public Response<ResultUtils<List<ThemeVO>>> getThemeHistoryList(
ThemeQueryCriteria criteria, Pageable page
){
return Response.success(materialService.themeHistoryList(criteria.getThemeName(),criteria.getStartTime(),criteria.getEndTime(),page));
return Response.success(materialService.themeHistoryList(criteria.getTheme_name(),criteria.getStart_time(),criteria.getEnd_time(),page));
}
@ApiOperation("主题库素材历史列表")
@ApiOperation("主题库素材列表")
// @GetMapping("/getThemeLibrary")
@AnonymousGetMapping("/getThemeLibrary")
public Response<ResultUtils<List<ThemeVO>>> getThemeLibrary(
ThemeQueryCriteria criteria, Pageable page
){
return Response.success(materialService.getThemeLibrary(criteria.getThemeName(),criteria.getThemeClass(),criteria.getDeviceDirection(),page));
return Response.success(materialService.getThemeLibrary(criteria.getTheme_name(),criteria.getTheme_class(),criteria.getDevice_direction(),page));
}
@ApiOperation("我的画布")
// @PostMapping("/myAlbum")
@AnonymousPostMapping("/myAlbum")
public Response<AlbumVO> myAlbum(
ThemeQueryCriteria criteria, Pageable page
ThemeQueryCriteria criteria
){
AlbumVO vo = new AlbumVO();
vo.setMaterialFolders(materialService.getAlbumFolder(criteria.getOrgaId(),criteria.getFolderId(),page.getPageNumber()));
vo.setPageThemeVO(materialService.getMyAlbumTheme(criteria.getOrgaId(),criteria.getFolderId(),criteria.getThemeName(),page));
vo.setMaterialFolders(materialService.getAlbumFolder(criteria.getOrga_id(),criteria.getFolder_id()));
vo.setPageThemeVO(materialService.getMyAlbumTheme(criteria.getOrga_id(),criteria.getFolder_id(),criteria.getTheme_name()));
return Response.success(vo);
}
@ -84,9 +84,9 @@ public class MaterialController {
// @PostMapping("/addMyAlbum")
@AnonymousPostMapping("/addMyAlbum")
public Response<Object> addMyAlbum(
String tfId,String themeId,String orgaId
@Validated String tf_id,@Validated String theme_id,@Validated String orga_id
){
materialService.addMyAlbum(tfId,themeId,orgaId);
materialService.addMyAlbum(tf_id,theme_id,orga_id);
return Response.success(ResponseEnum.CREATED);
}
@ -94,7 +94,7 @@ public class MaterialController {
// @PostMapping("/deleteMyAlbum")
@AnonymousPostMapping("/deleteMyAlbum")
public Response<Object> deleteMyAlbum(
String id
@Validated String id
){
materialService.deleteMyAlbum(id);
return Response.success(ResponseEnum.DELETE_SUCCESS);
@ -134,11 +134,11 @@ public class MaterialController {
// @PostMapping("/myMaterial")
@AnonymousPostMapping("/myMaterial")
public Response<MyMaterialVO> myMaterial(
MaterialQueryCriteria criteria, Pageable page
@Validated @RequestBody MaterialQueryCriteria criteria
){
MyMaterialVO vo = new MyMaterialVO();
vo.setMaterialFolders(materialService.getMaterialFolder(criteria.getOrgaId(),criteria.getFolderId(),page.getPageNumber()));
vo.setPageThemeVO(materialService.getMyMaterial(criteria.getOrgaId(),criteria.getFolderId(),criteria.getMaterialName(),criteria.getMaterialType(),page));
vo.setMaterialFolders(materialService.getMaterialFolder(criteria.getOrgaId(),criteria.getFolderId()));
vo.setPageThemeVO(materialService.getMyMaterial(criteria.getOrgaId(),criteria.getFolderId(),criteria.getMaterialName(),criteria.getMaterialType()));
return Response.success(vo);
}
@ -146,20 +146,30 @@ public class MaterialController {
// @PostMapping("/moveMyMaterial")
@AnonymousPostMapping("/moveMyMaterial")
public Response<Object> moveMyMaterial(
String mifId,String folderId,String materialId
String mif_id,String folder_id,String material_id
){
materialService.moveMyMaterial(mifId,folderId,materialId);
materialService.moveMyMaterial(mif_id,folder_id,material_id);
return Response.success(ResponseEnum.CREATED);
}
@ApiOperation("移动素材-素材库")
@ApiOperation("删除素材-素材库")
// @PostMapping("/deleteMyMaterial")
@AnonymousPostMapping("/deleteMyMaterial")
public Response<Object> deleteMyMaterial(
String materialId
String material_id
){
materialService.deleteMyMaterial(materialId);
materialService.deleteMyMaterial(material_id);
return Response.success(ResponseEnum.DELETE_SUCCESS);
}
@ApiOperation("改变素材库状态")
// @PostMapping("/updateState")
@AnonymousPostMapping("/updateState")
public Response<Object> updateState(
@Validated String material_id,@Validated Integer state
){
materialService.updateState(material_id,state);
return Response.success(ResponseEnum.UPDATE_SUCCESS);
}
}

4
system/src/main/java/com/canvas/web/modules/material/rest/ThemeClassController.java

@ -39,9 +39,9 @@ public class ThemeClassController {
// @GetMapping("/getThemeList")
@AnonymousGetMapping("/get_theme_list")
public Response<List<Map<String,Object>>> getTheme(
@Validated @RequestBody @JsonProperty("orga_id") @JSONField(name="orga_id") String orgaId
@Validated String orga_id
){
return Response.success(themeClassService.getTheme(orgaId));
return Response.success(themeClassService.getTheme(orga_id));
}
}

10
system/src/main/java/com/canvas/web/modules/material/service/MaterialService.java

@ -18,13 +18,13 @@ public interface MaterialService {
//分页查询主题库信息
ResultUtils<List<ThemeVO>> getThemeLibrary(String themeName, String themeClass, Integer deviceDirection, Pageable pageable);
//根据机构id获取我的画册文件夹
List<ThemeFolder> getAlbumFolder(String orgaId, String folderId, Integer pageNum);
List<ThemeFolder> getAlbumFolder(String orgaId, String folderId);
//根据机构id获取素材文件夹
List<MaterialFolder> getMaterialFolder(String orgaId, String folderId, Integer pageNum);
List<MaterialFolder> getMaterialFolder(String orgaId, String folderId);
//分页获取我的画册文件夹内素材
ResultUtils<List<ThemeVO>> getMyAlbumTheme(String orgaId,String folderId,String themeName,Pageable pageable);
List<ThemeVO> getMyAlbumTheme(String orgaId,String folderId,String themeName);
//分页获取素材库内容
ResultUtils<List<ThemeVO>> getMyMaterial(String orgaId,String folderId,String materialName,Integer materialType,Pageable pageable);
List<ThemeVO> getMyMaterial(String orgaId,String folderId,String materialName,Integer materialType);
//编辑主题库文件夹
void editThemeFolder(FolderDTO dto);
//编辑素材库文件夹
@ -41,4 +41,6 @@ public interface MaterialService {
void moveMyMaterial(String mifId,String folderId,String materialId);
//删除素材
void deleteMyMaterial(String materialId);
//更改素材库状态
void updateState(String materialId,Integer state);
}

62
system/src/main/java/com/canvas/web/modules/material/service/impl/MaterialServiceImpl.java

@ -29,12 +29,12 @@ import java.util.Map;
@RequiredArgsConstructor
public class MaterialServiceImpl implements MaterialService {
MaterialRepository materialRepository;
MaterialClassRepository materialClassRepository;
ThemeFolderRepository themeFolderRepository;
MaterialFolderRepository materialFolderRepository;
ThemeInFolderRepository themeInFolderRepository;
MaterialInFolderRepository materialInFolderRepository;
private final MaterialRepository materialRepository;
private final MaterialClassRepository materialClassRepository;
private final ThemeFolderRepository themeFolderRepository;
private final MaterialFolderRepository materialFolderRepository;
private final ThemeInFolderRepository themeInFolderRepository;
private final MaterialInFolderRepository materialInFolderRepository;
@Override
@Transactional(rollbackFor = Exception.class)
@ -70,6 +70,7 @@ public class MaterialServiceImpl implements MaterialService {
materialClasses.add(mc);
}
materialClassRepository.saveAll(materialClasses);
//如果是素材 添加进素材库
}else{
String folderId = dto.getFolderId();
@ -112,9 +113,9 @@ public class MaterialServiceImpl implements MaterialService {
@Override
@Transactional(rollbackFor = Exception.class)
public List<ThemeFolder> getAlbumFolder(String orgaId, String folderId, Integer pageNum) {
public List<ThemeFolder> getAlbumFolder(String orgaId, String folderId) {
//当页面为1时 则为画布初始化
if(pageNum == 1){
if(StringUtils.isEmpty(folderId)){
ThemeFolder firstMaterialFolder = themeFolderRepository.findFirstByOrgaIdAndFidIsNull(orgaId);
if(null == firstMaterialFolder){
firstMaterialFolder = new ThemeFolder();
@ -122,17 +123,17 @@ public class MaterialServiceImpl implements MaterialService {
firstMaterialFolder.setIsState(1);
firstMaterialFolder.setOrgaId(orgaId);
firstMaterialFolder = themeFolderRepository.save(firstMaterialFolder);
folderId = firstMaterialFolder.getId();
}
folderId = firstMaterialFolder.getId();
}
return themeFolderRepository.findAllByOrgaIdAndFid(orgaId,folderId);
}
@Override
@Transactional(rollbackFor = Exception.class)
public List<MaterialFolder> getMaterialFolder(String orgaId, String folderId, Integer pageNum) {
public List<MaterialFolder> getMaterialFolder(String orgaId, String folderId) {
//当页面为1时 则为素材库初始化
if(pageNum == 1){
if(StringUtils.isEmpty(folderId)){
MaterialFolder firstMaterialFolder = materialFolderRepository.findFirstByOrgaIdAndFidIsNull(orgaId);
if(null == firstMaterialFolder){
firstMaterialFolder = new MaterialFolder();
@ -140,28 +141,26 @@ public class MaterialServiceImpl implements MaterialService {
firstMaterialFolder.setIsState(1);
firstMaterialFolder.setOrgaId(orgaId);
firstMaterialFolder = materialFolderRepository.save(firstMaterialFolder);
folderId = firstMaterialFolder.getId();
}
folderId = firstMaterialFolder.getId();
}
return materialFolderRepository.findAllByOrgaIdAndFid(orgaId,folderId);
}
@Override
public ResultUtils<List<ThemeVO>> getMyAlbumTheme(String orgaId, String folderId, String themeName, Pageable pageable) {
PageRequest page= PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "create_time", Sort.Direction.DESC);
folderId = folderId != null ? folderId : themeFolderRepository.findFirstByOrgaIdAndFidIsNull(orgaId).getId();
Page<Map<String,Object>> pageMap = materialRepository.getMyAlbumTheme(folderId,themeName,page);
List<ThemeVO> themeVOList = MapUtil.setList(pageMap.getContent(),ThemeVO.class);
return ResultUtils.getResult(themeVOList,pageMap);
public List<ThemeVO> getMyAlbumTheme(String orgaId, String folderId, String themeName) {
folderId = !StringUtils.isEmpty(folderId) ? folderId : themeFolderRepository.findFirstByOrgaIdAndFidIsNull(orgaId).getId();
List<Map<String,Object>> map = materialRepository.getMyAlbumTheme(folderId,themeName);
List<ThemeVO> themeVOList = MapUtil.setList(map,ThemeVO.class);
return themeVOList;
}
@Override
public ResultUtils<List<ThemeVO>> getMyMaterial(String orgaId, String folderId, String materialName,Integer materialType, Pageable pageable) {
PageRequest page= PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "create_time", Sort.Direction.DESC);
folderId = folderId != null ? folderId : materialFolderRepository.findFirstByOrgaIdAndFidIsNull(orgaId).getId();
Page<Map<String,Object>> pageMap = materialRepository.getMyMaterial(folderId,materialName,materialType,page);
List<ThemeVO> themeVOList = MapUtil.setList(pageMap.getContent(),ThemeVO.class);
return ResultUtils.getResult(themeVOList,pageMap);
public List<ThemeVO> getMyMaterial(String orgaId, String folderId, String materialName,Integer materialType) {
folderId = !StringUtils.isEmpty(folderId) ? folderId : materialFolderRepository.findFirstByOrgaIdAndFidIsNull(orgaId).getId();
List<Map<String,Object>> map = materialRepository.getMyMaterial(folderId,materialName,materialType);
List<ThemeVO> themeVOList = MapUtil.setList(map,ThemeVO.class);
return themeVOList;
}
@Override
@ -225,7 +224,7 @@ public class MaterialServiceImpl implements MaterialService {
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteMyAlbum(String id) {
themeInFolderRepository.deleteById(id);
themeInFolderRepository.delById(id);
}
@Override
@ -233,8 +232,8 @@ public class MaterialServiceImpl implements MaterialService {
public void deleteThemeFolder(String id) {
List<String> resultString = new ArrayList<>();
resultString = getThemeFolder(id,resultString);
System.out.println(resultString);
themeFolderRepository.deleteAllById(resultString);
themeInFolderRepository.deleteAllByTfIdIn(resultString);
}
@Override
@ -242,8 +241,8 @@ public class MaterialServiceImpl implements MaterialService {
public void deleteMaterialFolder(String id) {
List<String> resultString = new ArrayList<>();
resultString = getMaterialFolder(id,resultString);
System.out.println(resultString);
materialFolderRepository.deleteAllById(resultString);
materialInFolderRepository.deleteAllByMfIdIn(resultString);
}
@Override
@ -265,7 +264,15 @@ public class MaterialServiceImpl implements MaterialService {
materialRepository.deleteById(materialId);
}
@Override
public void updateState(String materialId, Integer state) {
Material material = materialRepository.findById(materialId).get();
material.setIsState(state);
materialRepository.saveAndFlush(material);
}
public List<String> getThemeFolder(String id,List<String> resultString){
resultString.add(id);
List<ThemeFolder> themeFolders = themeFolderRepository.findAllByFid(id);
if(null == themeFolders){
return resultString;
@ -278,6 +285,7 @@ public class MaterialServiceImpl implements MaterialService {
}
public List<String> getMaterialFolder(String id,List<String> resultString){
resultString.add(id);
List<MaterialFolder> materialFolders = materialFolderRepository.findAllByFid(id);
if(null == materialFolders){
return resultString;

2
system/src/main/java/com/canvas/web/modules/material/vo/AlbumVO.java

@ -12,6 +12,6 @@ import java.util.List;
public class AlbumVO {
private List<ThemeFolder> materialFolders;
private ResultUtils<List<ThemeVO>> pageThemeVO;
private List<ThemeVO> pageThemeVO;
}

2
system/src/main/java/com/canvas/web/modules/material/vo/MyMaterialVO.java

@ -12,6 +12,6 @@ import java.util.List;
public class MyMaterialVO {
private List<MaterialFolder> materialFolders;
private ResultUtils<List<ThemeVO>> pageThemeVO;
private List<ThemeVO> pageThemeVO;
}

32
system/src/main/java/com/canvas/web/modules/material/vo/ThemeVO.java

@ -1,6 +1,8 @@
package com.canvas.web.modules.material.vo;
import com.alibaba.fastjson.annotation.JSONField;
import com.canvas.web.modules.material.domain.MaterialClass;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Getter;
import lombok.Setter;
@ -10,15 +12,45 @@ import java.util.List;
@Getter
@Setter
public class ThemeVO {
@JSONField(name="materialId")
@JsonProperty("material_id")
private String materialId;
@JSONField(name="materialName")
@JsonProperty("material_name")
private String materialName;
@JSONField(name="materialType")
@JsonProperty("material_type")
private String materialType;
@JSONField(name="depositUrl")
@JsonProperty("deposit_url")
private String depositUrl;
@JSONField(name="imgPath")
@JsonProperty("img_path")
private String imgPath;
@JSONField(name="classes")
@JsonProperty("classes")
private String classes;
@JSONField(name="deviceDirection")
@JsonProperty("device_direction")
private Integer deviceDirection;
@JSONField(name="inFolderId")
@JsonProperty("in_folder_id")
private String inFolderId;
@JSONField(name="createTime")
@JsonProperty("create_time")
private Timestamp createTime;
@JSONField(name="isDel")
@JsonProperty("is_del")
private Boolean isDel;
}
Loading…
Cancel
Save