diff --git a/system/pom.xml b/system/pom.xml index af64b91..5fcaf6f 100644 --- a/system/pom.xml +++ b/system/pom.xml @@ -88,8 +88,14 @@ org.apache.httpcomponents - httpclient - 4.5.13 + httpmime + 4.5.12 + + + + com.qiniu + qiniu-java-sdk + [7.7.0, 7.7.99] \ No newline at end of file diff --git a/system/src/main/java/com/canvas/web/modules/device/criteria/DeviceSettingCriteria.java b/system/src/main/java/com/canvas/web/modules/device/criteria/DeviceSettingCriteria.java index 1c0e918..eaaa348 100644 --- a/system/src/main/java/com/canvas/web/modules/device/criteria/DeviceSettingCriteria.java +++ b/system/src/main/java/com/canvas/web/modules/device/criteria/DeviceSettingCriteria.java @@ -42,4 +42,8 @@ public class DeviceSettingCriteria { @JSONField(name="startup_screen") @JsonProperty("startup_screen") public String startupScreen; + + @JSONField(name="device_direction") + @JsonProperty("device_direction") + public Integer deviceDirection; } diff --git a/system/src/main/java/com/canvas/web/modules/device/domain/Device.java b/system/src/main/java/com/canvas/web/modules/device/domain/Device.java index 5048d5d..723993d 100644 --- a/system/src/main/java/com/canvas/web/modules/device/domain/Device.java +++ b/system/src/main/java/com/canvas/web/modules/device/domain/Device.java @@ -70,7 +70,7 @@ public class Device extends BaseEntity implements Serializable { public String startupScreen; @Column(name = "is_state") - @ApiModelProperty(value = "停用/禁用", hidden = true) + @ApiModelProperty(value = "状态", hidden = true) public Integer isState; @Column(name = "is_del") diff --git a/system/src/main/java/com/canvas/web/modules/device/repository/DeviceRepository.java b/system/src/main/java/com/canvas/web/modules/device/repository/DeviceRepository.java index 8ad3ef4..e2eb5c4 100644 --- a/system/src/main/java/com/canvas/web/modules/device/repository/DeviceRepository.java +++ b/system/src/main/java/com/canvas/web/modules/device/repository/DeviceRepository.java @@ -4,20 +4,36 @@ import com.canvas.web.modules.device.domain.Device; 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 DeviceRepository extends JpaRepository { @Query(nativeQuery = true, + countQuery = "select count(1) " + + "from device d left join organization o on d.orga_id = o.id " + + "where if(?1 is null,1=1,d.id like %?1%) and if(?2 is null,1=1,d.device_name like %?2%) " + + "and if(?3 is null,1=1,d.is_state = ?3)", value="select d.id as deviceId,d.account deviceAccount,d.device_name as deviceName,d.device_direction as deviceDirection," + "o.name as organName,d.open_setting as openSetting,d.open_weekly as openWeekly,d.open_time as openTime," + "d.close_setting as closeSetting,d.close_weekly as closeWeekly,d.close_time as closeTime," + - "d.startup_screen as startupScreen,d.is_state as deviceState,d.create_time as createTime " + + "d.startup_screen as startupScreen,d.is_state as deviceState,d.create_time as createTime,d.update_time as updateTime," + + "d.is_del as isDel " + "from device d left join organization o on d.orga_id = o.id " + "where if(?1 is null,1=1,d.id like %?1%) and if(?2 is null,1=1,d.device_name like %?2%) " + "and if(?3 is null,1=1,d.is_state = ?3)") Page> getDeviceList(String deviceId, String deviceName, Integer state, Pageable page); + @Query(value = "from Device where id in ?1") + List findByIds(List ids); + + @Modifying + @Transactional(rollbackFor = Exception.class) + @Query(value = "delete from Device where id = ?1") + void delete(String id); + } diff --git a/system/src/main/java/com/canvas/web/modules/device/rest/DeviceController.java b/system/src/main/java/com/canvas/web/modules/device/rest/DeviceController.java index 0ab959d..ab297cd 100644 --- a/system/src/main/java/com/canvas/web/modules/device/rest/DeviceController.java +++ b/system/src/main/java/com/canvas/web/modules/device/rest/DeviceController.java @@ -1,6 +1,5 @@ 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; @@ -9,10 +8,11 @@ import com.canvas.web.modules.device.domain.Device; import com.canvas.web.modules.device.dto.DeviceDTO; import com.canvas.web.modules.device.service.DeviceService; import com.canvas.web.modules.device.vo.DeviceVO; +import com.canvas.web.modules.material.dto.ChangeStateDTO; +import com.canvas.web.modules.material.dto.PrimaryDTO; 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; @@ -81,10 +81,30 @@ public class DeviceController { // @PostMapping("/updateState") @AnonymousPostMapping("/updateState") public Response updateState( - @Validated String device_id,@Validated Integer state + @Validated @RequestBody ChangeStateDTO dto ){ - deviceService.updateState(device_id,state); + deviceService.updateState(dto.getId(),dto.getState()); return Response.success(ResponseEnum.UPDATE_SUCCESS); } + @ApiOperation("清空开关机设置") +// @PostMapping("/clearSetting") + @AnonymousPostMapping("/clearSetting") + public Response clearSetting( + @Validated @RequestBody PrimaryDTO dto + ){ + deviceService.clearSetting(dto.getIds()); + return Response.success(ResponseEnum.UPDATE_SUCCESS); + } + + @ApiOperation("删除设备") +// @PostMapping("/delete") + @AnonymousPostMapping("/delete") + public Response delete( + @Validated @RequestBody PrimaryDTO dto + ){ + deviceService.delete(dto.getId()); + return Response.success(ResponseEnum.DELETE_SUCCESS); + } + } diff --git a/system/src/main/java/com/canvas/web/modules/device/service/DeviceService.java b/system/src/main/java/com/canvas/web/modules/device/service/DeviceService.java index 0133893..a0c7b0e 100644 --- a/system/src/main/java/com/canvas/web/modules/device/service/DeviceService.java +++ b/system/src/main/java/com/canvas/web/modules/device/service/DeviceService.java @@ -21,4 +21,8 @@ public interface DeviceService { Device findById(String deviceId); //更新设备状态 void updateState(String deviceId,Integer state); + //清空设备开关机 + void clearSetting(List ids); + //删除设备 + void delete(String id); } diff --git a/system/src/main/java/com/canvas/web/modules/device/service/impl/DeviceServiceImpl.java b/system/src/main/java/com/canvas/web/modules/device/service/impl/DeviceServiceImpl.java index ba8c80c..3d831e4 100644 --- a/system/src/main/java/com/canvas/web/modules/device/service/impl/DeviceServiceImpl.java +++ b/system/src/main/java/com/canvas/web/modules/device/service/impl/DeviceServiceImpl.java @@ -15,15 +15,13 @@ import org.springframework.data.domain.Page; import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; +import org.springframework.data.jpa.repository.Modifying; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.sql.Time; import java.sql.Timestamp; -import java.util.Date; -import java.util.List; -import java.util.Map; -import java.util.Optional; +import java.util.*; @Service @RequiredArgsConstructor @@ -79,6 +77,7 @@ public class DeviceServiceImpl implements DeviceService { device.setCloseWeekly(criteria.getCloseWeekly()); device.setCloseTime(Time.valueOf(criteria.getCloseTime())); device.setStartupScreen(criteria.getStartupScreen()); + device.setDeviceDirection(criteria.getDeviceDirection()); device.setUpdateTime(new Timestamp(new Date().getTime())); deviceRepository.saveAndFlush(device); } @@ -99,4 +98,29 @@ public class DeviceServiceImpl implements DeviceService { device.setIsState(state); deviceRepository.saveAndFlush(device); } + + @Override + public void clearSetting(List ids) { + List devices = deviceRepository.findByIds(ids); + List updateDevices = new ArrayList<>(); + for (int i = 0;i materialIds; + + @JSONField(name="orga_id") + @JsonProperty("orga_id") + private String orgaId; +} diff --git a/system/src/main/java/com/canvas/web/modules/material/dto/MaterialDTO.java b/system/src/main/java/com/canvas/web/modules/material/dto/MaterialDTO.java index ddf03b1..09e8df2 100644 --- a/system/src/main/java/com/canvas/web/modules/material/dto/MaterialDTO.java +++ b/system/src/main/java/com/canvas/web/modules/material/dto/MaterialDTO.java @@ -23,6 +23,10 @@ public class MaterialDTO { @JsonProperty("material_type") private Integer materialType; + @JSONField(name="file_size") + @JsonProperty("file_size") + private String fileSize; + @JSONField(name="store_type") @JsonProperty("store_type") private Integer storeType; @@ -39,6 +43,10 @@ public class MaterialDTO { @JsonProperty("device_direction") private Integer deviceDirection; + @JSONField(name="duration") + @JsonProperty("duration") + private Integer duration; + @JSONField(name="orga_id") @JsonProperty("orga_id") private String orgaId; diff --git a/system/src/main/java/com/canvas/web/modules/material/dto/MoveFileDTO.java b/system/src/main/java/com/canvas/web/modules/material/dto/MoveFileDTO.java new file mode 100644 index 0000000..c26d6dc --- /dev/null +++ b/system/src/main/java/com/canvas/web/modules/material/dto/MoveFileDTO.java @@ -0,0 +1,26 @@ +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; + +import java.util.List; + +@Getter +@Setter +public class MoveFileDTO { + + @JSONField(name="ids") + @JsonProperty("ids") + private List ids; + + @JSONField(name="folder_id") + @JsonProperty("folder_id") + private String folderId; + + @JSONField(name="material_ids") + @JsonProperty("material_ids") + private List materialIds; + +} diff --git a/system/src/main/java/com/canvas/web/modules/material/dto/PrimaryDTO.java b/system/src/main/java/com/canvas/web/modules/material/dto/PrimaryDTO.java new file mode 100644 index 0000000..f405b77 --- /dev/null +++ b/system/src/main/java/com/canvas/web/modules/material/dto/PrimaryDTO.java @@ -0,0 +1,22 @@ +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; + +import java.util.List; + +@Getter +@Setter +public class PrimaryDTO { + + @JSONField(name="id") + @JsonProperty("id") + private String id; + + @JSONField(name="ids") + @JsonProperty("ids") + private List ids; + +} diff --git a/system/src/main/java/com/canvas/web/modules/material/repository/MaterialInFolderRepository.java b/system/src/main/java/com/canvas/web/modules/material/repository/MaterialInFolderRepository.java index 4d912ea..de8611e 100644 --- a/system/src/main/java/com/canvas/web/modules/material/repository/MaterialInFolderRepository.java +++ b/system/src/main/java/com/canvas/web/modules/material/repository/MaterialInFolderRepository.java @@ -20,9 +20,9 @@ public interface MaterialInFolderRepository extends JpaRepository mfIds); - @Query(value = "delete from MaterialInFolder where materialId = ?1") + @Query(value = "delete from MaterialInFolder where materialId in ?1") @Modifying @Transactional(rollbackFor = Exception.class) - void deleteAllByMaterialId(String materialId); + void deleteAllByMaterialId(List materialId); } diff --git a/system/src/main/java/com/canvas/web/modules/material/repository/MaterialRepository.java b/system/src/main/java/com/canvas/web/modules/material/repository/MaterialRepository.java index 7ff85fa..7e0a70a 100644 --- a/system/src/main/java/com/canvas/web/modules/material/repository/MaterialRepository.java +++ b/system/src/main/java/com/canvas/web/modules/material/repository/MaterialRepository.java @@ -14,7 +14,7 @@ import java.util.Map; public interface MaterialRepository extends JpaRepository { @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, " + + 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,ml.duration as duration,ml.file_size as fileSize, " + "(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%) " + @@ -23,8 +23,8 @@ public interface MaterialRepository extends JpaRepository { Page> getThemeHistoryList(String themeName, String startTime, String endTime, Pageable page); @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 " + + 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.file_size as fileSize," + + "ml.device_direction as deviceDirection,ml.duration as duration " + "from material ml inner join material_class mc on ml.id = mc.material_id where ml.store_type = 2 and ml.is_del = 0 " + "and if(?1 is null,1=1,ml.name like %?1%) " + "and if(?2 is null,1=1,mc.class_id = ?2) " + @@ -32,8 +32,8 @@ public interface MaterialRepository extends JpaRepository { Page> getThemeLibrary(String themeName, String themeClass, Integer deviceDirection, Pageable page); @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.create_time as createTime,ml.is_del as isDel " + + 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.file_size as fileSize," + + "ml.device_direction as deviceDirection,ml.duration as duration,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 " + @@ -41,8 +41,8 @@ public interface MaterialRepository extends JpaRepository { List> 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 " + + 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.file_size as fileSize," + + "ml.device_direction AS deviceDirection,ml.duration as duration,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 = 1 and ml.is_del = 0 " + @@ -51,10 +51,25 @@ public interface MaterialRepository extends JpaRepository { "and if(?3 is null,1=1,ml.type = ?3) order by ml.create_time desc ") List> getMyMaterial(String folderId,String materialName,Integer materialType); - @Query(value = "delete from Material where id = ?1") + + @Query(nativeQuery = true, + countQuery = "select count(1) from material ml where ml.store_type = 1 " + + "and if(?1 is null,1=1,ml.name like %?1%) " + + "and if(?2 is null,1=1,ml.type = ?2) " + + "and if(?3 is null,1=1,ml.type != ?3) " + + "and ml.orga_id = ?4 ", + 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,ml.duration as duration,ml.file_size as fileSize, " + + "ml.create_time as createTime,ml.is_del as isDel from material ml where ml.store_type = 1 " + + "and if(?1 is null,1=1,ml.name like %?1%) " + + "and if(?2 is null,1=1,ml.type = ?2) " + + "and if(?3 is null,1=1,ml.type != ?3) " + + "and ml.orga_id = ?4 ") + Page> getMaterialByType(String themeName,Integer themeType,Integer themeTypeNot,String orgaId,Pageable page); + + @Query(value = "delete from Material where id in ?1") @Modifying @Transactional(rollbackFor = Exception.class) - void deleteById(String id); + void deleteById(List id); } diff --git a/system/src/main/java/com/canvas/web/modules/material/rest/MaterialController.java b/system/src/main/java/com/canvas/web/modules/material/rest/MaterialController.java index f8f04c5..406134d 100644 --- a/system/src/main/java/com/canvas/web/modules/material/rest/MaterialController.java +++ b/system/src/main/java/com/canvas/web/modules/material/rest/MaterialController.java @@ -4,8 +4,7 @@ import com.canvas.web.annotation.rest.AnonymousGetMapping; import com.canvas.web.annotation.rest.AnonymousPostMapping; import com.canvas.web.modules.material.criteria.MaterialQueryCriteria; import com.canvas.web.modules.material.criteria.ThemeQueryCriteria; -import com.canvas.web.modules.material.dto.FolderDTO; -import com.canvas.web.modules.material.dto.MaterialDTO; +import com.canvas.web.modules.material.dto.*; import com.canvas.web.modules.material.service.MaterialService; import com.canvas.web.modules.material.vo.AlbumVO; import com.canvas.web.modules.material.vo.MyMaterialVO; @@ -67,6 +66,7 @@ public class MaterialController { AlbumVO vo = new AlbumVO(); vo.setMaterialFolders(materialService.getAlbumFolder(criteria.getOrga_id(),criteria.getFolder_id())); vo.setPageThemeVO(materialService.getMyAlbumTheme(criteria.getOrga_id(),criteria.getFolder_id(),criteria.getTheme_name())); + vo.setThisFoldId(materialService.getThisAlbumFoldId(criteria.getOrga_id(),criteria.getFolder_id())); return Response.success(vo); } @@ -84,9 +84,9 @@ public class MaterialController { // @PostMapping("/addMyAlbum") @AnonymousPostMapping("/addMyAlbum") public Response addMyAlbum( - @Validated String tf_id,@Validated String theme_id,@Validated String orga_id + @Validated @RequestBody DoFolderDTO dto ){ - materialService.addMyAlbum(tf_id,theme_id,orga_id); + materialService.addMyAlbum(dto.getId(),dto.getMaterialIds(),dto.getOrgaId()); return Response.success(ResponseEnum.CREATED); } @@ -94,9 +94,9 @@ public class MaterialController { // @PostMapping("/deleteMyAlbum") @AnonymousPostMapping("/deleteMyAlbum") public Response deleteMyAlbum( - @Validated String id + @Validated @RequestBody PrimaryDTO dto ){ - materialService.deleteMyAlbum(id); + materialService.deleteMyAlbum(dto.getIds()); return Response.success(ResponseEnum.DELETE_SUCCESS); } @@ -104,9 +104,9 @@ public class MaterialController { // @PostMapping("/deleteThemeFolder") @AnonymousPostMapping("/deleteThemeFolder") public Response deleteThemeFolder( - String id + @Validated @RequestBody PrimaryDTO dto ){ - materialService.deleteThemeFolder(id); + materialService.deleteThemeFolder(dto.getIds()); return Response.success(ResponseEnum.DELETE_SUCCESS); } @@ -124,9 +124,9 @@ public class MaterialController { // @PostMapping("/deleteMaterialFolder") @AnonymousPostMapping("/deleteMaterialFolder") public Response deleteMaterialFolder( - String id + @Validated @RequestBody PrimaryDTO dto ){ - materialService.deleteMaterialFolder(id); + materialService.deleteMaterialFolder(dto.getIds()); return Response.success(ResponseEnum.DELETE_SUCCESS); } @@ -139,6 +139,7 @@ public class MaterialController { MyMaterialVO vo = new MyMaterialVO(); vo.setMaterialFolders(materialService.getMaterialFolder(criteria.getOrgaId(),criteria.getFolderId())); vo.setPageThemeVO(materialService.getMyMaterial(criteria.getOrgaId(),criteria.getFolderId(),criteria.getMaterialName(),criteria.getMaterialType())); + vo.setThisFoldId(materialService.getCurrentFold(criteria.getOrgaId(),criteria.getFolderId())); return Response.success(vo); } @@ -146,9 +147,9 @@ public class MaterialController { // @PostMapping("/moveMyMaterial") @AnonymousPostMapping("/moveMyMaterial") public Response moveMyMaterial( - String mif_id,String folder_id,String material_id + @Validated @RequestBody MoveFileDTO dto ){ - materialService.moveMyMaterial(mif_id,folder_id,material_id); + materialService.moveMyMaterial(dto.getIds(),dto.getFolderId(),dto.getMaterialIds()); return Response.success(ResponseEnum.CREATED); } @@ -156,9 +157,9 @@ public class MaterialController { // @PostMapping("/deleteMyMaterial") @AnonymousPostMapping("/deleteMyMaterial") public Response deleteMyMaterial( - String material_id + @Validated @RequestBody PrimaryDTO dto ){ - materialService.deleteMyMaterial(material_id); + materialService.deleteMyMaterial(dto.getIds()); return Response.success(ResponseEnum.DELETE_SUCCESS); } @@ -166,10 +167,19 @@ public class MaterialController { // @PostMapping("/updateState") @AnonymousPostMapping("/updateState") public Response updateState( - @Validated String material_id,@Validated Integer state + @Validated @RequestBody ChangeStateDTO dto ){ - materialService.updateState(material_id,state); + materialService.updateState(dto.getId(),dto.getState()); return Response.success(ResponseEnum.UPDATE_SUCCESS); } + @ApiOperation("根据素材类型获取素材 - 素材库") +// @GetMapping("/getMaterialByType") + @AnonymousGetMapping("/getMaterialByType") + public Response>> getMaterialByType( + ThemeQueryCriteria criteria, Pageable page + ){ + return Response.success(materialService.getMaterialByType(criteria.getTheme_name(),criteria.getTheme_type(),criteria.getTheme_type_not(),criteria.getOrga_id(),page)); + } + } diff --git a/system/src/main/java/com/canvas/web/modules/material/service/MaterialService.java b/system/src/main/java/com/canvas/web/modules/material/service/MaterialService.java index 4c56d71..4746c64 100644 --- a/system/src/main/java/com/canvas/web/modules/material/service/MaterialService.java +++ b/system/src/main/java/com/canvas/web/modules/material/service/MaterialService.java @@ -19,8 +19,12 @@ public interface MaterialService { ResultUtils> getThemeLibrary(String themeName, String themeClass, Integer deviceDirection, Pageable pageable); //根据机构id获取我的画册文件夹 List getAlbumFolder(String orgaId, String folderId); + //获取我的画布当前文件夹id + String getThisAlbumFoldId(String orgaId, String folderId); //根据机构id获取素材文件夹 List getMaterialFolder(String orgaId, String folderId); + //获取当前文件夹 + String getCurrentFold(String orgaId,String folderId); //分页获取我的画册文件夹内素材 List getMyAlbumTheme(String orgaId,String folderId,String themeName); //分页获取素材库内容 @@ -30,17 +34,19 @@ public interface MaterialService { //编辑素材库文件夹 void editMaterialFolder(FolderDTO dto); //添加素材到我的画册 - void addMyAlbum(String tfId,String themeId,String orgaId); + void addMyAlbum(String tfId,List themeIds,String orgaId); //删除我的画册主题素材 - void deleteMyAlbum(String id); + void deleteMyAlbum(List ids); //删除主题库文件夹 - void deleteThemeFolder(String id); + void deleteThemeFolder(List ids); //删除素材库文件夹 - void deleteMaterialFolder(String id); + void deleteMaterialFolder(List ids); //移动素材到文件夹 - void moveMyMaterial(String mifId,String folderId,String materialId); + void moveMyMaterial(List mifIds,String folderId,List materialId); //删除素材 - void deleteMyMaterial(String materialId); + void deleteMyMaterial(List materialIds); //更改素材库状态 void updateState(String materialId,Integer state); + //根据素材类型获取素材 - 素材库 + ResultUtils> getMaterialByType(String themeName,Integer themeType,Integer themeTypeNot,String orgaId,Pageable pageable); } diff --git a/system/src/main/java/com/canvas/web/modules/material/service/impl/MaterialServiceImpl.java b/system/src/main/java/com/canvas/web/modules/material/service/impl/MaterialServiceImpl.java index 9799726..5c1c6d2 100644 --- a/system/src/main/java/com/canvas/web/modules/material/service/impl/MaterialServiceImpl.java +++ b/system/src/main/java/com/canvas/web/modules/material/service/impl/MaterialServiceImpl.java @@ -55,7 +55,9 @@ public class MaterialServiceImpl implements MaterialService { material.setStoreType(dto.getStoreType()); material.setDepositUrl(dto.getDepositUrl()); material.setImgPath(dto.getImgPath()); + material.setFileSize(dto.getFileSize()); material.setDeviceDirection(dto.getDeviceDirection()); + material.setDuration(dto.getDuration()); material.setOrgaId(dto.getOrgaId()); material = materialRepository.saveAndFlush(material); @@ -73,26 +75,30 @@ public class MaterialServiceImpl implements MaterialService { //如果是素材 添加进素材库 }else{ - String folderId = dto.getFolderId(); - MaterialFolder firstMaterialFolder = materialFolderRepository.findFirstByOrgaIdAndFidIsNull(material.getOrgaId()); - if(null == firstMaterialFolder){ - firstMaterialFolder = new MaterialFolder(); - firstMaterialFolder.setIsDel(false); - firstMaterialFolder.setIsState(1); - firstMaterialFolder.setOrgaId(material.getOrgaId()); - firstMaterialFolder = materialFolderRepository.save(firstMaterialFolder); + if(null == dto.getMaterialId()){ + String folderId = dto.getFolderId(); + MaterialFolder firstMaterialFolder = materialFolderRepository.findFirstByOrgaIdAndFidIsNull(material.getOrgaId()); + if(null == firstMaterialFolder){ + firstMaterialFolder = new MaterialFolder(); + firstMaterialFolder.setIsDel(false); + firstMaterialFolder.setIsState(1); + firstMaterialFolder.setOrgaId(material.getOrgaId()); + firstMaterialFolder = materialFolderRepository.save(firstMaterialFolder); + } + folderId = StringUtils.isEmpty(folderId) ? firstMaterialFolder.getId() : folderId; + MaterialInFolder materialInFolder = new MaterialInFolder(); + materialInFolder.setMaterialId(material.getId()); + materialInFolder.setMfId(folderId); + materialInFolderRepository.save(materialInFolder); } - folderId = StringUtils.isEmpty(folderId) ? firstMaterialFolder.getId() : folderId; - MaterialInFolder materialInFolder = new MaterialInFolder(); - materialInFolder.setMaterialId(material.getId()); - materialInFolder.setMfId(folderId); - materialInFolderRepository.save(materialInFolder); } } @Override public ResultUtils> themeHistoryList(String themeName, String startTime, String endTime, Pageable pageable) { + startTime = StringUtils.isEmpty(startTime) ? null : startTime; + endTime = StringUtils.isEmpty(endTime) ? null : endTime; PageRequest page= PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "create_time", Sort.Direction.DESC); //分页查询 Page> pageMap = materialRepository.getThemeHistoryList(themeName,startTime,endTime,page); @@ -129,6 +135,22 @@ public class MaterialServiceImpl implements MaterialService { return themeFolderRepository.findAllByOrgaIdAndFid(orgaId,folderId); } + @Override + public String getThisAlbumFoldId(String orgaId, String folderId) { + if(StringUtils.isEmpty(folderId)){ + ThemeFolder firstMaterialFolder = themeFolderRepository.findFirstByOrgaIdAndFidIsNull(orgaId); + if(null == firstMaterialFolder){ + firstMaterialFolder = new ThemeFolder(); + firstMaterialFolder.setIsDel(false); + firstMaterialFolder.setIsState(1); + firstMaterialFolder.setOrgaId(orgaId); + firstMaterialFolder = themeFolderRepository.save(firstMaterialFolder); + } + folderId = firstMaterialFolder.getId(); + } + return folderId; + } + @Override @Transactional(rollbackFor = Exception.class) public List getMaterialFolder(String orgaId, String folderId) { @@ -147,6 +169,22 @@ public class MaterialServiceImpl implements MaterialService { return materialFolderRepository.findAllByOrgaIdAndFid(orgaId,folderId); } + @Override + public String getCurrentFold(String orgaId, String folderId) { + if(StringUtils.isEmpty(folderId)){ + MaterialFolder firstMaterialFolder = materialFolderRepository.findFirstByOrgaIdAndFidIsNull(orgaId); + if(null == firstMaterialFolder){ + firstMaterialFolder = new MaterialFolder(); + firstMaterialFolder.setIsDel(false); + firstMaterialFolder.setIsState(1); + firstMaterialFolder.setOrgaId(orgaId); + firstMaterialFolder = materialFolderRepository.save(firstMaterialFolder); + } + folderId = firstMaterialFolder.getId(); + } + return folderId; + } + @Override public List getMyAlbumTheme(String orgaId, String folderId, String themeName) { folderId = !StringUtils.isEmpty(folderId) ? folderId : themeFolderRepository.findFirstByOrgaIdAndFidIsNull(orgaId).getId(); @@ -203,8 +241,8 @@ public class MaterialServiceImpl implements MaterialService { @Override @Transactional(rollbackFor = Exception.class) - public void addMyAlbum(String tfId, String themeId,String orgaId) { - ThemeInFolder themeInFolder = new ThemeInFolder(); + public void addMyAlbum(String tfId, List themeIds,String orgaId) { + List themeInFolders = new ArrayList<>(); if(StringUtils.isEmpty(tfId)){ ThemeFolder firstMaterialFolder = themeFolderRepository.findFirstByOrgaIdAndFidIsNull(orgaId); if(null == firstMaterialFolder){ @@ -216,52 +254,68 @@ public class MaterialServiceImpl implements MaterialService { tfId = firstMaterialFolder.getId(); } } - themeInFolder.setThemeId(themeId); - themeInFolder.setTfId(tfId); - themeInFolderRepository.saveAndFlush(themeInFolder); + for(int i = 0;i 0){ + themeInFolderRepository.saveAllAndFlush(themeInFolders); + } } @Override @Transactional(rollbackFor = Exception.class) - public void deleteMyAlbum(String id) { - themeInFolderRepository.delById(id); + public void deleteMyAlbum(List ids) { + themeInFolderRepository.deleteAllByTfIdIn(ids); } @Override @Transactional(rollbackFor = Exception.class) - public void deleteThemeFolder(String id) { + public void deleteThemeFolder(List ids) { List resultString = new ArrayList<>(); - resultString = getThemeFolder(id,resultString); + for(int i = 0;i ids) { List resultString = new ArrayList<>(); - resultString = getMaterialFolder(id,resultString); + for(int i = 0;i mifIds,String folderId, List materialId) { + List materialInFolders = new ArrayList<>(); + List oldMaterialInFolders = materialInFolderRepository.findAllById(mifIds); + for(int i = 0;i0){ + materialInFolderRepository.saveAllAndFlush(materialInFolders); } - materialInFolder.setMaterialId(materialId); - materialInFolder.setMfId(folderId); - materialInFolderRepository.saveAndFlush(materialInFolder); } @Override @Transactional(rollbackFor = Exception.class) - public void deleteMyMaterial(String materialId) { - materialInFolderRepository.deleteAllByMaterialId(materialId); - materialRepository.deleteById(materialId); + public void deleteMyMaterial(List materialIds) { + materialInFolderRepository.deleteAllByMaterialId(materialIds); + materialRepository.deleteById(materialIds); } @Override @@ -271,6 +325,16 @@ public class MaterialServiceImpl implements MaterialService { materialRepository.saveAndFlush(material); } + @Override + public ResultUtils> getMaterialByType(String themeName, Integer themeType, Integer themeTypeNot, String orgaId, Pageable pageable) { + PageRequest page= PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "create_time", Sort.Direction.DESC); + //分页查询 + Page> pageMap = materialRepository.getMaterialByType(themeName,themeType,themeTypeNot,orgaId,page); + //初始化分页返回数据 + List themeVOList = MapUtil.setList(pageMap.getContent(),ThemeVO.class); + return ResultUtils.getResult(themeVOList,pageMap); + } + public List getThemeFolder(String id,List resultString){ resultString.add(id); List themeFolders = themeFolderRepository.findAllByFid(id); diff --git a/system/src/main/java/com/canvas/web/modules/material/vo/AlbumVO.java b/system/src/main/java/com/canvas/web/modules/material/vo/AlbumVO.java index 820b828..3591170 100644 --- a/system/src/main/java/com/canvas/web/modules/material/vo/AlbumVO.java +++ b/system/src/main/java/com/canvas/web/modules/material/vo/AlbumVO.java @@ -13,5 +13,6 @@ public class AlbumVO { private List materialFolders; private List pageThemeVO; + private String thisFoldId; } diff --git a/system/src/main/java/com/canvas/web/modules/material/vo/MyMaterialVO.java b/system/src/main/java/com/canvas/web/modules/material/vo/MyMaterialVO.java index bbca198..2b08674 100644 --- a/system/src/main/java/com/canvas/web/modules/material/vo/MyMaterialVO.java +++ b/system/src/main/java/com/canvas/web/modules/material/vo/MyMaterialVO.java @@ -13,5 +13,6 @@ public class MyMaterialVO { private List materialFolders; private List pageThemeVO; + private String thisFoldId; } diff --git a/system/src/main/java/com/canvas/web/modules/material/vo/ThemeVO.java b/system/src/main/java/com/canvas/web/modules/material/vo/ThemeVO.java index ebc3355..4d612a7 100644 --- a/system/src/main/java/com/canvas/web/modules/material/vo/ThemeVO.java +++ b/system/src/main/java/com/canvas/web/modules/material/vo/ThemeVO.java @@ -25,6 +25,10 @@ public class ThemeVO { @JsonProperty("material_type") private String materialType; + @JSONField(name="fileSize") + @JsonProperty("file_size") + private String fileSize; + @JSONField(name="depositUrl") @JsonProperty("deposit_url") private String depositUrl; @@ -41,6 +45,10 @@ public class ThemeVO { @JsonProperty("device_direction") private Integer deviceDirection; + @JSONField(name="duration") + @JsonProperty("duration") + private Integer duration; + @JSONField(name="inFolderId") @JsonProperty("in_folder_id") private String inFolderId; diff --git a/system/src/main/java/com/canvas/web/modules/qiniu/rest/QiniuController.java b/system/src/main/java/com/canvas/web/modules/qiniu/rest/QiniuController.java new file mode 100644 index 0000000..aebfd6c --- /dev/null +++ b/system/src/main/java/com/canvas/web/modules/qiniu/rest/QiniuController.java @@ -0,0 +1,65 @@ +package com.canvas.web.modules.qiniu.rest; + +import com.canvas.web.annotation.rest.AnonymousGetMapping; +import com.canvas.web.utils.Response; +import com.canvas.web.utils.StringUtils; +import com.qiniu.util.Auth; +import com.qiniu.util.StringMap; +import com.qiniu.util.UrlSafeBase64; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController +@RequiredArgsConstructor +@Api(tags = "七牛云管理") +@RequestMapping("/api/qiniu") +public class QiniuController { + + private final String accessKey = "c39eAF6CRLXTPcOp7YZWN47QG-R8GMdJwBtBQ1Eb"; + private final String secretKey = "dmjAyljtsS5W2VA7McOI3ay_Ryw8z3vQYv9_BhH7"; + private final String bucket = "aiyuexing"; + private final String domain = "https://qiniu.aiyxlib.com/"; + private final String qiniuGet = "https://api.qiniu.com/status/get/"; + private final String hlsKey = "ftzn19aiyxlib201"; + private final String hlsKeyUrl = "https://qiniu.aiyxlib.com/aixylibword.key"; + + // tFileName 文件名称 + @ApiOperation("获取上传Token(覆盖上传凭证)") +// @GetMapping("/uploadTokenCover") + @AnonymousGetMapping("/uploadTokenCover") + private Response uploadTokenCover(String tFileName){ + Auth auth = Auth.create(accessKey, secretKey); + String upToken = auth.uploadToken(bucket, tFileName); + return Response.success(upToken); + } + + // tFileName 文件名称 + // tExtNam 后缀名 + @ApiOperation("带数据处理的凭证") +// @GetMapping("/uploadTokenAndOps") + @AnonymousGetMapping("/uploadTokenAndOps") + public Response uploadTokenAndOps(String tFileName,String tExtNam){ + Auth auth = Auth.create(accessKey, secretKey); + StringMap putPolicy = new StringMap(); + //hls加密后可防止嗅探工具恶意下载 + + String saveMp4Entry = String.format(tFileName+":avthumb_test_target.m3u8", bucket); + String avthumbMp4Fop = String.format("avthumb/m3u8/noDomain/1/segtime/15/vb/440k/hlsKey/"+ hlsKey + "/hlsKeyUrl/" + hlsKeyUrl+"|saveas/"+tFileName, UrlSafeBase64.encodeToString(saveMp4Entry)); + String persistentOpfs = StringUtils.join(new String[]{ + avthumbMp4Fop + }, ";"); + putPolicy.put("persistentOps", persistentOpfs); + //数据处理队列名称,必填 + putPolicy.put("persistentPipeline", "aiyxlib_video-pipe"); + //数据处理完成结果通知地址 + //putPolicy.put("persistentNotifyUrl", "http://api.example.com/qiniu/pfop/notify"); + long expireSeconds = 3600; + String upToken = auth.uploadToken(bucket, null, expireSeconds, putPolicy); + return Response.success(upToken); + } + +} diff --git a/system/src/main/java/com/canvas/web/modules/release/criteria/NoticeQueryCriteria.java b/system/src/main/java/com/canvas/web/modules/release/criteria/NoticeQueryCriteria.java new file mode 100644 index 0000000..55e5771 --- /dev/null +++ b/system/src/main/java/com/canvas/web/modules/release/criteria/NoticeQueryCriteria.java @@ -0,0 +1,26 @@ +package com.canvas.web.modules.release.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 NoticeQueryCriteria { + + @Query + @JSONField(name="notice_name") + @JsonProperty("notice_name") + private String notice_name; + + @Query + @JSONField(name="orga_id") + @JsonProperty("orga_id") + private String orga_id; + + @Query + @JSONField(name="notice_id") + @JsonProperty("notice_id") + private String notice_id; + +} diff --git a/system/src/main/java/com/canvas/web/modules/release/criteria/ReleaseListQueryCriteria.java b/system/src/main/java/com/canvas/web/modules/release/criteria/ReleaseListQueryCriteria.java new file mode 100644 index 0000000..76d34a0 --- /dev/null +++ b/system/src/main/java/com/canvas/web/modules/release/criteria/ReleaseListQueryCriteria.java @@ -0,0 +1,21 @@ +package com.canvas.web.modules.release.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 ReleaseListQueryCriteria { + + @Query + @JSONField(name="release_name") + @JsonProperty("release_name") + private String release_name; + + @Query + @JSONField(name="orga_id") + @JsonProperty("orga_id") + private String orga_id; + +} diff --git a/system/src/main/java/com/canvas/web/modules/release/domain/ReleaseList.java b/system/src/main/java/com/canvas/web/modules/release/domain/ReleaseList.java index 796eea5..b3188d2 100644 --- a/system/src/main/java/com/canvas/web/modules/release/domain/ReleaseList.java +++ b/system/src/main/java/com/canvas/web/modules/release/domain/ReleaseList.java @@ -46,6 +46,10 @@ public class ReleaseList extends BaseEntity implements Serializable { @ApiModelProperty(value = "发布周期 0.无 1.每天 2.每周") private Integer releaseCycle; + @Column(name = "release_weekly") + @ApiModelProperty(value = "发布每周 如果设置为每天则为空") + private String releaseWeekly; + @Column(name = "is_topping") @ApiModelProperty(value = "是否置顶") private Boolean isTopping; @@ -54,6 +58,10 @@ public class ReleaseList extends BaseEntity implements Serializable { @ApiModelProperty(value = "发布设备 1.全部 2.部分") private Integer releaseDevice; + @Column(name = "bgm_main") + @ApiModelProperty(value = "背景音乐url") + private String bgmMain; + @Column(name = "orga_id") @ApiModelProperty(value = "机构id") private String orgaId; diff --git a/system/src/main/java/com/canvas/web/modules/release/domain/ReleaseMaterial.java b/system/src/main/java/com/canvas/web/modules/release/domain/ReleaseMaterial.java index 5012c38..ef70130 100644 --- a/system/src/main/java/com/canvas/web/modules/release/domain/ReleaseMaterial.java +++ b/system/src/main/java/com/canvas/web/modules/release/domain/ReleaseMaterial.java @@ -33,6 +33,18 @@ public class ReleaseMaterial extends BaseEntity implements Serializable { @ApiModelProperty(value = "时长(s)") private Integer duration; + @Column(name = "file_size") + @ApiModelProperty(value = "文件大小") + private String fileSize; + + @Column(name = "img_path") + @ApiModelProperty(value = "图片路径") + private String imgPath; + + @Column(name = "bgm_url") + @ApiModelProperty(value = "背景音乐") + private String bgmUrl; + @Column(name = "ranking") @ApiModelProperty(value = "排行") private Integer ranking; diff --git a/system/src/main/java/com/canvas/web/modules/release/dto/NoticeDTO.java b/system/src/main/java/com/canvas/web/modules/release/dto/NoticeDTO.java index 10a1bee..f46dfa6 100644 --- a/system/src/main/java/com/canvas/web/modules/release/dto/NoticeDTO.java +++ b/system/src/main/java/com/canvas/web/modules/release/dto/NoticeDTO.java @@ -1,6 +1,8 @@ package com.canvas.web.modules.release.dto; +import com.alibaba.fastjson.annotation.JSONField; import com.canvas.web.modules.release.domain.NoticeDevice; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; import lombok.Setter; @@ -9,17 +11,57 @@ import java.util.List; @Getter @Setter public class NoticeDTO { + + @JSONField(name="noticeId") + @JsonProperty("notice_id") private String noticeId; + + @JSONField(name="context") + @JsonProperty("context") private String context; + + @JSONField(name="contextColor") + @JsonProperty("context_color") private String contextColor; + + @JSONField(name="contextSize") + @JsonProperty("context_size") private Integer contextSize; - private String contextPosition; - private String contextSpeed; + + @JSONField(name="contextPosition") + @JsonProperty("context_position") + private Integer contextPosition; + + @JSONField(name="contextSpeed") + @JsonProperty("context_speed") + private Integer contextSpeed; + + @JSONField(name="orgaId") + @JsonProperty("orga_id") private String orgaId; + + @JSONField(name="noticeDevice") + @JsonProperty("notice_device") private Integer noticeDevice; + + @JSONField(name="createBy") + @JsonProperty("create_by") private String createBy; + + @JSONField(name="updateBy") + @JsonProperty("update_by") private String updateBy; + + @JSONField(name="isState") + @JsonProperty("is_state") private Integer isState; + + @JSONField(name="isDel") + @JsonProperty("is_del") private Boolean isDel; + + @JSONField(name="noticeDevices") + @JsonProperty("notice_devices") List noticeDevices; + } diff --git a/system/src/main/java/com/canvas/web/modules/release/dto/ReleaseDTO.java b/system/src/main/java/com/canvas/web/modules/release/dto/ReleaseDTO.java index 3a22b6d..d13136b 100644 --- a/system/src/main/java/com/canvas/web/modules/release/dto/ReleaseDTO.java +++ b/system/src/main/java/com/canvas/web/modules/release/dto/ReleaseDTO.java @@ -1,5 +1,7 @@ package com.canvas.web.modules.release.dto; +import com.alibaba.fastjson.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; import lombok.Setter; @@ -10,19 +12,69 @@ import java.util.List; @Setter public class ReleaseDTO { + + @JSONField(name="releaseId") + @JsonProperty("release_id") private String releaseId; + + @JSONField(name="relaaseName") + @JsonProperty("relaase_name") private String relaaseName; + + @JSONField(name="releaseType") + @JsonProperty("release_type") private Integer releaseType; - private Timestamp releaseStart; - private Timestamp releaseEnd; - private Timestamp actualEnd; + + @JSONField(name="releaseStart") + @JsonProperty("release_start") + private String releaseStart; + + @JSONField(name="releaseEnd") + @JsonProperty("release_end") + private String releaseEnd; + + @JSONField(name="actualEnd") + @JsonProperty("actual_end") + private String actualEnd; + + @JSONField(name="releaseCycle") + @JsonProperty("release_cycle") private Integer releaseCycle; + + @JSONField(name="releaseWeekly") + @JsonProperty("release_weekly") + private String releaseWeekly; + + @JSONField(name="isTopping") + @JsonProperty("is_topping") private Boolean isTopping; + + @JSONField(name="releaseDevice") + @JsonProperty("release_device") private Integer releaseDevice; + + @JSONField(name="bgmMain") + @JsonProperty("bgm_main") + private String bgmMain; + + @JSONField(name="orgaId") + @JsonProperty("orga_id") private String orgaId; + + @JSONField(name="isState") + @JsonProperty("is_state") private Integer isState; + + @JSONField(name="isDel") + @JsonProperty("is_del") private Boolean isDel; + + @JSONField(name="releaseMaterialDTOs") + @JsonProperty("release_materialDTOs") private List releaseMaterialDTOs; + + @JSONField(name="releaseDeviceDTOs") + @JsonProperty("release_deviceDTOs") private List releaseDeviceDTOs; } diff --git a/system/src/main/java/com/canvas/web/modules/release/dto/ReleaseDeviceDTO.java b/system/src/main/java/com/canvas/web/modules/release/dto/ReleaseDeviceDTO.java index edfacc1..6b43e9b 100644 --- a/system/src/main/java/com/canvas/web/modules/release/dto/ReleaseDeviceDTO.java +++ b/system/src/main/java/com/canvas/web/modules/release/dto/ReleaseDeviceDTO.java @@ -1,5 +1,7 @@ package com.canvas.web.modules.release.dto; +import com.alibaba.fastjson.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; import lombok.Setter; @@ -7,9 +9,20 @@ import lombok.Setter; @Setter public class ReleaseDeviceDTO { + @JSONField(name="rdId") + @JsonProperty("rd_id") private String rdId; + + @JSONField(name="releaseId") + @JsonProperty("release_id") private String releaseId; + + @JSONField(name="deviceId") + @JsonProperty("device_id") private String deviceId; + + @JSONField(name="deviceName") + @JsonProperty("device_name") private String deviceName; } diff --git a/system/src/main/java/com/canvas/web/modules/release/dto/ReleaseMaterialDTO.java b/system/src/main/java/com/canvas/web/modules/release/dto/ReleaseMaterialDTO.java index 7cf3e7a..8fecc56 100644 --- a/system/src/main/java/com/canvas/web/modules/release/dto/ReleaseMaterialDTO.java +++ b/system/src/main/java/com/canvas/web/modules/release/dto/ReleaseMaterialDTO.java @@ -1,5 +1,7 @@ package com.canvas.web.modules.release.dto; +import com.alibaba.fastjson.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; import lombok.Setter; @@ -7,13 +9,44 @@ import lombok.Setter; @Setter public class ReleaseMaterialDTO { + @JSONField(name="rmId") + @JsonProperty("rm_id") private String rmId; + + @JSONField(name="releaseId") + @JsonProperty("release_id") private String releaseId; + + @JSONField(name="materialId") + @JsonProperty("material_id") private String materialId; + + @JSONField(name="duration") + @JsonProperty("duration") private Integer duration; + + @JSONField(name="effect") + @JsonProperty("effect") private Integer effect; + + @JSONField(name="fileSize") + @JsonProperty("file_size") + private String fileSize; + + @JSONField(name="ranking") + @JsonProperty("ranking") private Integer ranking; + + @JSONField(name="materialName") + @JsonProperty("material_name") private String materialName; + + @JSONField(name="imgPath") + @JsonProperty("img_path") private String imgPath; + @JSONField(name="bgmUrl") + @JsonProperty("bgm_path") + private String bgmUrl; + } diff --git a/system/src/main/java/com/canvas/web/modules/release/repository/NoticeDeviceRepository.java b/system/src/main/java/com/canvas/web/modules/release/repository/NoticeDeviceRepository.java index 372d9c7..f193dcd 100644 --- a/system/src/main/java/com/canvas/web/modules/release/repository/NoticeDeviceRepository.java +++ b/system/src/main/java/com/canvas/web/modules/release/repository/NoticeDeviceRepository.java @@ -16,8 +16,8 @@ public interface NoticeDeviceRepository extends JpaRepository findByIdToDevice(String noticeId); + "from notice_device nd inner join device d on nd.device_id = d.id where nd.notice_id = ?1") + List> findByIdToDevice(String noticeId); @Transactional(rollbackFor = Exception.class) @Modifying(clearAutomatically = true) diff --git a/system/src/main/java/com/canvas/web/modules/release/repository/NoticeRepository.java b/system/src/main/java/com/canvas/web/modules/release/repository/NoticeRepository.java index f411569..01838b9 100644 --- a/system/src/main/java/com/canvas/web/modules/release/repository/NoticeRepository.java +++ b/system/src/main/java/com/canvas/web/modules/release/repository/NoticeRepository.java @@ -13,8 +13,11 @@ import java.util.Map; public interface NoticeRepository extends JpaRepository { @Query(nativeQuery = true, + countQuery = "select count(1) from notice n inner join sys_user su on n.create_by = su.phone " + + "where n.orga_id = ?2 " + + "and n.context like %?1% ", value = "select n.id as noticeId,n.context as context,n.create_time as createTime,n.create_by as createBy," + - "su.avatar_name as createrName, n.is_state as isState from notice n inner join sys_user su on n.create_by = su.id " + + "su.avatar_name as createrName, n.is_state as isState from notice n inner join sys_user su on n.create_by = su.phone " + "where n.orga_id = ?2 " + "and n.context like %?1% ") Page> getUrgentNoticeList(String noticeName,String orgaId, Pageable page); diff --git a/system/src/main/java/com/canvas/web/modules/release/repository/ReleaseDeviceRepository.java b/system/src/main/java/com/canvas/web/modules/release/repository/ReleaseDeviceRepository.java index 58ce9f4..b0e19e0 100644 --- a/system/src/main/java/com/canvas/web/modules/release/repository/ReleaseDeviceRepository.java +++ b/system/src/main/java/com/canvas/web/modules/release/repository/ReleaseDeviceRepository.java @@ -5,6 +5,7 @@ import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Modifying; import org.springframework.transaction.annotation.Transactional; +import java.util.List; import java.util.Map; public interface ReleaseDeviceRepository extends JpaRepository { @@ -13,4 +14,6 @@ public interface ReleaseDeviceRepository extends JpaRepository findAllByReleaseId(String releaseId); + } diff --git a/system/src/main/java/com/canvas/web/modules/release/repository/ReleaseListRepository.java b/system/src/main/java/com/canvas/web/modules/release/repository/ReleaseListRepository.java index 30f4460..b7a4955 100644 --- a/system/src/main/java/com/canvas/web/modules/release/repository/ReleaseListRepository.java +++ b/system/src/main/java/com/canvas/web/modules/release/repository/ReleaseListRepository.java @@ -11,29 +11,35 @@ import java.util.Map; public interface ReleaseListRepository extends JpaRepository { @Query(nativeQuery = true, - value = "select rl.id as releaseId,rl.relaase_name as relaaseName,rl.release_start as releaseStart,rl.release_end as releaseEnd," + + countQuery = "select count(1) from release_list rl inner join sys_user su on rl.create_by = su.id " + + "where rl.is_del = false and rl.is_state = 1 and (rl.release_end <= now() or rl.actual_end <= now()) " + + "and rl.orga_id = ?2 and if(?1 is null,1=1,rl.relaase_name like %?1% ) ", + value = "select rl.id as releaseId,rl.relaase_name as relaaseName,rl.release_start as releaseStart,rl.release_end as releaseEnd,rl.release_cycle as releaseCycle,rl.release_weekly as releaseWeekly," + "rl.release_type as releaseType,rl.actual_end as actualEnd,rl.is_state as isState,su.nick_name as nickName," + - "rl.release_device as releaseDevice,rl.is_topping as isTopping,rl.is_del as isDel,rl.create_time as createTime,rl.update_time as updateTime," + + "rl.release_device as releaseDevice,rl.bgm_main as bgmMain,rl.is_topping as isTopping,rl.is_del as isDel,rl.create_time as createTime,rl.update_time as updateTime," + "(select group_concat(d.device_name) from device d inner join release_device rd on d.id = rd.device_id inner join release_list inrl " + "on rd.release_id = inrl.id where rl.is_del = false and rl.is_state = 1 and d.orga_id = ?2 and inrl.id = rl.id) as bindingDevice," + "(select ml.img_path from material ml inner join release_material rm on ml.id = rm.material_id inner join release_list inrl2 " + - "on rm.release_id = inrl2.id where rl.is_del = false and rl.is_state = 1 and ml.orga_id = ?2 and inrl2.id = rl.id order by ml.ranking asc limit 0,1) as releaseFirstImg " + - "from release_list rl inner join sys_user su on rl.create_by = su.id " + - "where rl.is_del = false and rl.is_state = 1 and (rl.release_end <= now() or rl.actual_end <= now()) " + - "and rl.orga_id = ?2 and if(?1 is null,1=1,rl.relaase_name like %?1% )") + "on rm.release_id = inrl2.id where rl.is_del = false and rl.is_state = 1 and ml.orga_id = ?2 and inrl2.id = rl.id order by rm.ranking asc limit 0,1) as releaseFirstImg " + + "from release_list rl inner join sys_user su on rl.create_by = su.phone " + + "where rl.is_del = false and rl.is_state = 1 and (rl.release_end >= now() or rl.actual_end >= now()) " + + "and rl.orga_id = ?2 and if(?1 is null,1=1,rl.relaase_name like %?1% ) order by rl.create_time desc ") Page> getReleaseList(String releaseName,String orgaId, Pageable page); @Query(nativeQuery = true, - value = "select rl.id as releaseId,rl.relaase_name as relaaseName,rl.release_start as releaseStart,rl.release_end as releaseEnd," + + countQuery = "select count(1) from release_list rl inner join sys_user su on rl.create_by = su.id " + + "where rl.is_del = false and (rl.is_state != 1 or rl.release_end >= now() or rl.actual_end >= now()) " + + "and rl.orga_id = ?2 and if(?1 is null,1=1,rl.relaase_name like %?1% ) ", + value = "select rl.id as releaseId,rl.relaase_name as relaaseName,rl.release_start as releaseStart,rl.release_end as releaseEnd,rl.release_cycle as releaseCycle,rl.release_weekly as releaseWeekly," + "rl.release_type as releaseType,rl.actual_end as actualEnd,rl.is_state as isState,su.nick_name as nickName," + - "rl.release_device as releaseDevice,rl.is_topping as isTopping,rl.is_del as isDel,rl.create_time as createTime,rl.update_time as updateTime," + + "rl.release_device as releaseDevice,rl.bgm_main as bgmMain,rl.is_topping as isTopping,rl.is_del as isDel,rl.create_time as createTime,rl.update_time as updateTime," + "(select group_concat(d.device_name) from device d inner join release_device rd on d.id = rd.device_id inner join release_list inrl " + - "on rd.release_id = inrl.id where rl.is_del = false and rl.is_state = 1 and d.orga_id = ?2 and inrl.id = rl.id) as bindingDevice," + + "on rd.release_id = inrl.id where d.orga_id = ?2 and inrl.id = rl.id) as bindingDevice," + "(select ml.img_path from material ml inner join release_material rm on ml.id = rm.material_id inner join release_list inrl2 " + - "on rm.release_id = inrl2.id where rl.is_del = false and rl.is_state = 1 and ml.orga_id = ?2 and inrl2.id = rl.id order by ml.ranking asc limit 0,1) as releaseFirstImg " + - "from release_list rl inner join sys_user su on rl.create_by = su.id " + - "where rl.is_del = false and (rl.is_state != 1 or rl.release_end >= now() or rl.actual_end >= now()) " + - "and rl.orga_id = ?2 and if(?1 is null,1=1,rl.relaase_name like %?1% )") + "on rm.release_id = inrl2.id where rl.is_del = false and rl.is_state = 1 and ml.orga_id = ?2 and inrl2.id = rl.id order by rm.ranking asc limit 0,1) as releaseFirstImg " + + "from release_list rl inner join sys_user su on rl.create_by = su.phone " + + "where rl.is_del = false and (rl.is_state != 1 or rl.release_end <= now() or rl.actual_end <= now()) " + + "and rl.orga_id = ?2 and if(?1 is null,1=1,rl.relaase_name like %?1% ) order by rl.actual_end desc") Page> getReleaseHistoryList(String releaseName,String orgaId, Pageable page); } diff --git a/system/src/main/java/com/canvas/web/modules/release/repository/ReleaseMaterialRepository.java b/system/src/main/java/com/canvas/web/modules/release/repository/ReleaseMaterialRepository.java index d8357e4..2e943fc 100644 --- a/system/src/main/java/com/canvas/web/modules/release/repository/ReleaseMaterialRepository.java +++ b/system/src/main/java/com/canvas/web/modules/release/repository/ReleaseMaterialRepository.java @@ -3,7 +3,10 @@ package com.canvas.web.modules.release.repository; import com.canvas.web.modules.release.domain.ReleaseMaterial; import org.springframework.data.jpa.repository.JpaRepository; +import java.util.List; + public interface ReleaseMaterialRepository extends JpaRepository { + List findAllByReleaseId(String releaseId); } diff --git a/system/src/main/java/com/canvas/web/modules/release/rest/ReleaseListController.java b/system/src/main/java/com/canvas/web/modules/release/rest/ReleaseListController.java index 03f172c..318fdd8 100644 --- a/system/src/main/java/com/canvas/web/modules/release/rest/ReleaseListController.java +++ b/system/src/main/java/com/canvas/web/modules/release/rest/ReleaseListController.java @@ -1,10 +1,16 @@ package com.canvas.web.modules.release.rest; +import com.canvas.web.annotation.rest.AnonymousGetMapping; +import com.canvas.web.annotation.rest.AnonymousPostMapping; +import com.canvas.web.modules.material.dto.ChangeStateDTO; +import com.canvas.web.modules.release.criteria.NoticeQueryCriteria; +import com.canvas.web.modules.release.criteria.ReleaseListQueryCriteria; import com.canvas.web.modules.release.dto.NoticeDTO; import com.canvas.web.modules.release.dto.ReleaseDTO; import com.canvas.web.modules.release.service.ReleaseListService; import com.canvas.web.modules.release.vo.NoticeDeviceVO; import com.canvas.web.modules.release.vo.NoticeVO; +import com.canvas.web.modules.release.vo.ReleaseDetailVO; import com.canvas.web.modules.release.vo.ReleaseListVO; import com.canvas.web.modules.utils.ResultUtils; import com.canvas.web.utils.Response; @@ -17,6 +23,7 @@ import org.springframework.data.domain.Pageable; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; +import java.sql.Timestamp; import java.util.List; @RestController @@ -25,18 +32,20 @@ import java.util.List; @RequestMapping("/api/release") public class ReleaseListController { - ReleaseListService releaseListService; + private final ReleaseListService releaseListService; @ApiOperation("发布列表") - @GetMapping("/getReleaseList") +// @GetMapping("/getReleaseList") + @AnonymousGetMapping("/getReleaseList") public Response>> getReleaseList( - String releaseName,String orgaId, Pageable page + ReleaseListQueryCriteria criteria, Pageable page ){ - return Response.success(releaseListService.getReleaseList(releaseName,orgaId,page)); + return Response.success(releaseListService.getReleaseList(criteria.getRelease_name(),criteria.getOrga_id(),page)); } @ApiOperation("编辑发布信息") - @PostMapping("/saveRelease") +// @PostMapping("/saveRelease") + @AnonymousPostMapping("/saveRelease") public Response saveRelease( @Validated @RequestBody ReleaseDTO dto ){ @@ -45,31 +54,45 @@ public class ReleaseListController { } @ApiOperation("发布历史列表") - @GetMapping("/getReleaseHistoryList") +// @GetMapping("/getReleaseHistoryList") + @AnonymousGetMapping("/getReleaseHistoryList") public Response>> getReleaseHistoryList( - String releaseName,String orgaId, Pageable page + ReleaseListQueryCriteria criteria, Pageable page ){ - return Response.success(releaseListService.getReleaseHistoryList(releaseName,orgaId,page)); + return Response.success(releaseListService.getReleaseHistoryList(criteria.getRelease_name(),criteria.getOrga_id(),page)); } + @ApiOperation("根据id查询发布详细信息") +// @GetMapping("/getReleaseDetailsById") + @AnonymousGetMapping("/getReleaseDetailsById") + public Response getReleaseDetailsById( + @Validated String release_id + ){ + return Response.success(releaseListService.getReleaseDetailsById(release_id)); + } + + @ApiOperation("紧急通知列表") - @GetMapping("/getUrgentNoticeList") +// @GetMapping("/getUrgentNoticeList") + @AnonymousGetMapping("/getUrgentNoticeList") public Response>> getUrgentNoticeList( - String noticeName,String orgaId, Pageable page + NoticeQueryCriteria criteria, Pageable page ){ - return Response.success(releaseListService.getUrgentNoticeList(noticeName,orgaId,page)); + return Response.success(releaseListService.getUrgentNoticeList(criteria.getNotice_name(),criteria.getOrga_id(),page)); } @ApiOperation("根据id查询紧急通知") - @GetMapping("/getNoticeById") +// @GetMapping("/getNoticeById") + @AnonymousGetMapping("/getNoticeById") public Response getNoticeById( - String noticeId + NoticeQueryCriteria criteria ){ - return Response.success(releaseListService.getNoticeById(noticeId)); + return Response.success(releaseListService.getNoticeById(criteria.getNotice_id())); } @ApiOperation("编辑紧急通知") - @PostMapping("/editNotice") +// @PostMapping("/editNotice") + @AnonymousPostMapping("/editNotice") public Response editNotice( @Validated @RequestBody NoticeDTO dto ){ @@ -77,5 +100,15 @@ public class ReleaseListController { return Response.success(dto.getNoticeId() == null ? ResponseEnum.CREATED : ResponseEnum.UPDATE_SUCCESS); } + @ApiOperation("改变紧急通知状态") +// @PostMapping("/updateNoticeState") + @AnonymousPostMapping("/updateNoticeState") + public Response updateNoticeState( + @Validated @RequestBody ChangeStateDTO dto + ){ + releaseListService.updateNoticeState(dto.getId(),dto.getState()); + return Response.success(ResponseEnum.UPDATE_SUCCESS); + } + } diff --git a/system/src/main/java/com/canvas/web/modules/release/service/ReleaseListService.java b/system/src/main/java/com/canvas/web/modules/release/service/ReleaseListService.java index 85e7d55..02d78a3 100644 --- a/system/src/main/java/com/canvas/web/modules/release/service/ReleaseListService.java +++ b/system/src/main/java/com/canvas/web/modules/release/service/ReleaseListService.java @@ -4,6 +4,7 @@ import com.canvas.web.modules.release.dto.NoticeDTO; import com.canvas.web.modules.release.dto.ReleaseDTO; import com.canvas.web.modules.release.vo.NoticeDeviceVO; import com.canvas.web.modules.release.vo.NoticeVO; +import com.canvas.web.modules.release.vo.ReleaseDetailVO; import com.canvas.web.modules.release.vo.ReleaseListVO; import com.canvas.web.modules.utils.ResultUtils; @@ -16,6 +17,8 @@ public interface ReleaseListService { ResultUtils> getReleaseList(String releaseName, String orgaId, Pageable pageable); //分页查询发布历史信息 ResultUtils> getReleaseHistoryList(String releaseName,String orgaId, Pageable pageable); + //根据发布id查询发布详细信息 + ReleaseDetailVO getReleaseDetailsById(String releaseId); //编辑发布内容 void edit(ReleaseDTO dto); //获取紧急通知列表 @@ -24,4 +27,6 @@ public interface ReleaseListService { NoticeDeviceVO getNoticeById(String noticeId); //编辑紧急通知 void editNotice(NoticeDTO dto); + //更改紧急通知状态 + void updateNoticeState(String noticeId,Integer state); } diff --git a/system/src/main/java/com/canvas/web/modules/release/service/impl/ReleaseListServiceImpl.java b/system/src/main/java/com/canvas/web/modules/release/service/impl/ReleaseListServiceImpl.java index 43c6a89..2346545 100644 --- a/system/src/main/java/com/canvas/web/modules/release/service/impl/ReleaseListServiceImpl.java +++ b/system/src/main/java/com/canvas/web/modules/release/service/impl/ReleaseListServiceImpl.java @@ -7,10 +7,7 @@ import com.canvas.web.modules.release.dto.ReleaseDeviceDTO; import com.canvas.web.modules.release.dto.ReleaseMaterialDTO; import com.canvas.web.modules.release.repository.*; import com.canvas.web.modules.release.service.ReleaseListService; -import com.canvas.web.modules.release.vo.NoticeDeviceDetailsVO; -import com.canvas.web.modules.release.vo.NoticeDeviceVO; -import com.canvas.web.modules.release.vo.NoticeVO; -import com.canvas.web.modules.release.vo.ReleaseListVO; +import com.canvas.web.modules.release.vo.*; import com.canvas.web.modules.utils.MapUtil; import com.canvas.web.modules.utils.PageSort; import com.canvas.web.modules.utils.ResultUtils; @@ -22,6 +19,7 @@ import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Sort; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.sql.Timestamp; import java.util.ArrayList; @@ -33,16 +31,16 @@ import java.util.Map; @RequiredArgsConstructor public class ReleaseListServiceImpl implements ReleaseListService { - ReleaseListRepository releaseListRepository; - ReleaseMaterialRepository releaseMaterialRepository; - ReleaseDeviceRepository releaseDeviceRepository; - NoticeRepository noticeRepository; - NoticeDeviceRepository noticeDeviceRepository; + private final ReleaseListRepository releaseListRepository; + private final ReleaseMaterialRepository releaseMaterialRepository; + private final ReleaseDeviceRepository releaseDeviceRepository; + private final NoticeRepository noticeRepository; + private final NoticeDeviceRepository noticeDeviceRepository; @Override public ResultUtils> getReleaseList(String releaseName,String orgaId, Pageable pageable) { - PageRequest page= PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "create_time", Sort.Direction.DESC); + PageRequest page = PageRequest.of(pageable.getPageNumber(),pageable.getPageSize()); //分页查询 Page> pageMap = releaseListRepository.getReleaseList(releaseName,orgaId,page); //初始化分页返回数据 @@ -52,7 +50,7 @@ public class ReleaseListServiceImpl implements ReleaseListService { @Override public ResultUtils> getReleaseHistoryList(String releaseName, String orgaId, Pageable pageable) { - PageRequest page= PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "actual_end", Sort.Direction.DESC); + PageRequest page = PageRequest.of(pageable.getPageNumber(),pageable.getPageSize()); //分页查询 Page> pageMap = releaseListRepository.getReleaseHistoryList(releaseName,orgaId,page); //初始化分页返回数据 @@ -61,6 +59,16 @@ public class ReleaseListServiceImpl implements ReleaseListService { } @Override + public ReleaseDetailVO getReleaseDetailsById(String releaseId) { + ReleaseDetailVO vo = new ReleaseDetailVO(); + vo.setReleaseList(releaseListRepository.findById(releaseId).get()); + vo.setReleaseDevices(releaseDeviceRepository.findAllByReleaseId(releaseId)); + vo.setReleaseMaterials(releaseMaterialRepository.findAllByReleaseId(releaseId)); + return vo; + } + + @Override + @Transactional(rollbackFor = Exception.class) public void edit(ReleaseDTO dto) { ReleaseList releaseList = new ReleaseList(); //修改 @@ -75,15 +83,14 @@ public class ReleaseListServiceImpl implements ReleaseListService { } releaseList.setRelaaseName(dto.getRelaaseName()); releaseList.setReleaseType(dto.getReleaseType()); - releaseList.setReleaseStart(dto.getReleaseStart()); - releaseList.setReleaseEnd(dto.getReleaseEnd()); - releaseList.setActualEnd(dto.getActualEnd()); + releaseList.setReleaseStart(StringUtils.isEmpty(dto.getReleaseStart()) ? null : Timestamp.valueOf(dto.getReleaseStart())); + releaseList.setReleaseEnd(StringUtils.isEmpty(dto.getReleaseEnd()) ? null : Timestamp.valueOf(dto.getReleaseEnd())); + releaseList.setActualEnd(StringUtils.isEmpty(dto.getActualEnd()) ? null : Timestamp.valueOf(dto.getActualEnd())); releaseList.setReleaseCycle(dto.getReleaseCycle()); releaseList.setIsTopping(dto.getIsTopping()); releaseList.setReleaseDevice(dto.getReleaseDevice()); + releaseList.setBgmMain(dto.getBgmMain()); releaseList.setOrgaId(dto.getOrgaId()); - releaseList.setIsDel(dto.getIsDel()); - releaseList.setIsState(dto.getIsState()); releaseList = releaseListRepository.saveAndFlush(releaseList); List rmDtos = dto.getReleaseMaterialDTOs(); @@ -96,11 +103,14 @@ public class ReleaseListServiceImpl implements ReleaseListService { rm.setCreateTime(new Timestamp(new Date().getTime())); } rm.setUpdateTime(new Timestamp(new Date().getTime())); - rm.setReleaseId(rmDto.getReleaseId()); + rm.setReleaseId(releaseList.getId()); rm.setMaterialId(rmDto.getMaterialId()); rm.setDuration(rmDto.getDuration()); + rm.setFileSize(rmDto.getFileSize()); + rm.setBgmUrl(rmDto.getBgmUrl()); rm.setRanking(rmDto.getRanking()); rm.setEffect(rmDto.getEffect()); + rm.setReleaseId(releaseList.getId()); releaseMaterialRepository.saveAndFlush(rm); } //当选择全部设备时 @@ -112,7 +122,7 @@ public class ReleaseListServiceImpl implements ReleaseListService { List releaseDevices = new ArrayList<>(); for(int i =0;i nddVOs = noticeDeviceRepository.findByIdToDevice(noticeId); + List> map = noticeDeviceRepository.findByIdToDevice(noticeId); + List nddVOs = MapUtil.setList(map,NoticeDeviceDetailsVO.class); vo.setNoticeDeviceDetailsVO(nddVOs); return vo; } @@ -147,30 +158,39 @@ public class ReleaseListServiceImpl implements ReleaseListService { if(null != dto.getNoticeId()){ notice = noticeRepository.findById(dto.getNoticeId()).get(); notice.setUpdateTime(new Timestamp(new Date().getTime())); - notice.setIsDel(dto.getIsDel()); - notice.setIsState(dto.getIsState()); }else{ notice.setCreateTime(new Timestamp(new Date().getTime())); notice.setUpdateTime(new Timestamp(new Date().getTime())); notice.setIsDel(false); notice.setIsState(1); } - notice.setContext(notice.getContext()); - notice.setContextColor(notice.getContextColor()); - notice.setContextSize(notice.getContextSize()); - notice.setContextPosition(notice.getContextPosition()); - notice.setContextSpeed(notice.getContextSpeed()); - notice.setOrgaId(notice.getOrgaId()); - notice.setNoticeDevice(notice.getNoticeDevice()); + notice.setContext(dto.getContext()); + notice.setContextColor(dto.getContextColor()); + notice.setContextSize(dto.getContextSize()); + notice.setContextPosition(dto.getContextPosition()); + notice.setContextSpeed(dto.getContextSpeed()); + notice.setOrgaId(dto.getOrgaId()); + notice.setNoticeDevice(dto.getNoticeDevice()); notice = noticeRepository.saveAndFlush(notice); //当选择全部设备时 if(1 == dto.getNoticeDevice()){ - noticeDeviceRepository.deleteByNoticeId(dto.getNoticeId()); + noticeDeviceRepository.deleteByNoticeId(notice.getId()); }else if(null != dto.getNoticeDevices() && dto.getNoticeDevices().size()!=0){ - noticeDeviceRepository.deleteByNoticeId(dto.getNoticeId()); + noticeDeviceRepository.deleteByNoticeId(notice.getId()); List nds = dto.getNoticeDevices(); + for(int i = 0;i releaseMaterials; + + @JSONField(name="releaseDevices") + @JsonProperty("release_devices") + private List releaseDevices; + +} diff --git a/system/src/main/java/com/canvas/web/modules/release/vo/ReleaseListVO.java b/system/src/main/java/com/canvas/web/modules/release/vo/ReleaseListVO.java index 7dc61c3..8db83f3 100644 --- a/system/src/main/java/com/canvas/web/modules/release/vo/ReleaseListVO.java +++ b/system/src/main/java/com/canvas/web/modules/release/vo/ReleaseListVO.java @@ -1,5 +1,7 @@ package com.canvas.web.modules.release.vo; +import com.alibaba.fastjson.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; import lombok.Setter; @@ -9,20 +11,72 @@ import java.sql.Timestamp; @Setter public class ReleaseListVO { + @JSONField(name="releaseId") + @JsonProperty("release_id") private String releaseId; + + @JSONField(name="relaaseName") + @JsonProperty("relaase_name") private String relaaseName; + + @JSONField(name="releaseType") + @JsonProperty("release_type") private String releaseType; + + @JSONField(name="releaseFirstImg") + @JsonProperty("release_first_img") private String releaseFirstImg; + + @JSONField(name="releaseStart") + @JsonProperty("release_start") private Timestamp releaseStart; + + @JSONField(name="releaseEnd") + @JsonProperty("release_end") private Timestamp releaseEnd; + + @JSONField(name="actualEnd") + @JsonProperty("actual_end") private Timestamp actualEnd; + + @JSONField(name="releaseCycle") + @JsonProperty("release_cycle") private Integer releaseCycle; + + @JSONField(name="releaseWeekly") + @JsonProperty("release_weekly") + private String releaseWeekly; + + @JSONField(name="nickName") + @JsonProperty("nick_name") private String nickName; + + @JSONField(name="isState") + @JsonProperty("is_state") private Integer isState; + + @JSONField(name="releaseDevice") + @JsonProperty("release_device") private Integer releaseDevice; + + @JSONField(name="bgmMain") + @JsonProperty("bgm_main") + private String bgmMain; + + @JSONField(name="isTopping") + @JsonProperty("is_topping") private Boolean isTopping; + + @JSONField(name="isDel") + @JsonProperty("is_del") private Boolean isDel; + + @JSONField(name="createTime") + @JsonProperty("create_time") private Timestamp createTime; + + @JSONField(name="updateTime") + @JsonProperty("update_time") private Timestamp updateTime; }