diff --git a/client/src/main/java/com/canvas/web/modules/front/rest/FrontController.java b/client/src/main/java/com/canvas/web/modules/front/rest/FrontController.java index 261664c..517bcb7 100644 --- a/client/src/main/java/com/canvas/web/modules/front/rest/FrontController.java +++ b/client/src/main/java/com/canvas/web/modules/front/rest/FrontController.java @@ -1,16 +1,36 @@ package com.canvas.web.modules.front.rest; +import com.canvas.web.annotation.rest.AnonymousGetMapping; +import com.canvas.web.modules.release.service.ReleaseListService; +import com.canvas.web.modules.release.vo.ReleaseListVO; +import com.canvas.web.modules.release.vo.ShowDeviceBackVO; +import com.canvas.web.modules.utils.ResultUtils; +import com.canvas.web.utils.Response; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.sql.Timestamp; +import java.util.List; + @RestController @RequiredArgsConstructor @Api(tags = "画屏客户端") @RequestMapping("/api/front") public class FrontController { + private final ReleaseListService releaseListService; + + + Long beOrgId = 133221333123111L; + @ApiOperation("根据设备显示发布信息") +// @GetMapping("/showContextByDevice") + @AnonymousGetMapping("/showContextByDevice") + public Response> showContextByDevice(String device_id){ + return Response.success(releaseListService.findReleaseDetailsByDeviceId(beOrgId,device_id)); + } } diff --git a/client/src/main/java/com/canvas/web/modules/front/vo/ShowResourcesVO.java b/client/src/main/java/com/canvas/web/modules/front/vo/ShowResourcesVO.java new file mode 100644 index 0000000..a892ffb --- /dev/null +++ b/client/src/main/java/com/canvas/web/modules/front/vo/ShowResourcesVO.java @@ -0,0 +1,32 @@ +package com.canvas.web.modules.front.vo; + +import com.alibaba.fastjson.annotation.JSONField; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class ShowResourcesVO { + + @JSONField(name="depositUrl") + @JsonProperty("deposit_url") + private String depositUrl; + + @JSONField(name="ranking") + @JsonProperty("ranking") + private String ranking; + + @JSONField(name="duration") + @JsonProperty("duration") + private String duration; + + @JSONField(name="effect") + @JsonProperty("effect") + private String effect; + + @JSONField(name="bgmUrl") + @JsonProperty("bgm_url") + private String bgmUrl; + +} 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 ae7a399..75b965f 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 @@ -10,6 +10,8 @@ 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.release.service.ReleaseListService; +import com.canvas.web.modules.release.vo.ShowDeviceBackVO; import com.canvas.web.modules.utils.ResultUtils; import com.canvas.web.utils.Response; import com.canvas.web.enums.ResponseEnum; @@ -21,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 @@ -30,7 +33,9 @@ import java.util.List; public class DeviceController { private final DeviceService deviceService; + private final ReleaseListService releaseListService; Long beOrgId = 133221333123111L; + @ApiOperation("设备列表") // @GetMapping("/list") @AnonymousGetMapping("/list") @@ -112,4 +117,13 @@ public class DeviceController { return Response.success(ResponseEnum.DELETE_SUCCESS); } + @ApiOperation("根据设备id获取该设备发布内容") +// @GetMapping("/findReleaseDetailsByDeviceId") + @AnonymousGetMapping("/findReleaseDetailsByDeviceId") + public Response> findReleaseDetailsByDeviceId( + @Validated String device_id + ){ + return Response.success(releaseListService.findReleaseDetailsByDeviceId(beOrgId,device_id)); + } + } diff --git a/system/src/main/java/com/canvas/web/modules/material/criteria/MaterialQueryCriteria.java b/system/src/main/java/com/canvas/web/modules/material/criteria/MaterialQueryCriteria.java index 2c46f93..3a0e92e 100644 --- a/system/src/main/java/com/canvas/web/modules/material/criteria/MaterialQueryCriteria.java +++ b/system/src/main/java/com/canvas/web/modules/material/criteria/MaterialQueryCriteria.java @@ -24,11 +24,6 @@ public class MaterialQueryCriteria { @JsonProperty("material_type_not") private Integer materialTypeNot; - @Query - @JSONField(name="orga_id") - @JsonProperty("orga_id") - private Long orgaId; - @Query @JSONField(name="folder_id") @JsonProperty("folder_id") 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 9589863..d1a66af 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 @@ -54,12 +54,12 @@ public interface MaterialRepository extends JpaRepository { "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 " + + "where ml.store_type = 1 and ml.is_del = 0 and ml.orga_id = ?2 " + "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) " + - "and if(?4 is null,1=1,ml.type != ?4) order by ml.create_time desc ") - List> getMyMaterial(String folderId,String materialName,Integer materialType,Integer materialTypeNot); + "and if(?3 is null,1=1,ml.name like %?3%) " + + "and if(?4 is null,1=1,ml.type = ?4) " + + "and if(?5 is null,1=1,ml.type != ?5) order by ml.create_time desc ") + List> getMyMaterial(String folderId,Long orgaId,String materialName,Integer materialType,Integer materialTypeNot); @Query(nativeQuery = true, @@ -81,5 +81,7 @@ public interface MaterialRepository extends JpaRepository { @Transactional(rollbackFor = Exception.class) void deleteById(List id); + Integer countByOrgaIdAndStoreTypeAndType(Long orgaId,Integer storeType,Integer materialType); + } 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 0b46ba0..29a5878 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 @@ -13,6 +13,7 @@ import com.canvas.web.modules.material.vo.ThemeVO; import com.canvas.web.modules.utils.ResultUtils; import com.canvas.web.utils.Response; import com.canvas.web.enums.ResponseEnum; +import com.canvas.web.utils.StringUtils; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; @@ -152,10 +153,16 @@ public class MaterialController { public Response myMaterial( @Validated @RequestBody MaterialQueryCriteria criteria ){ +// Long id = SecurityUtils.getCurrentOrgId(); MyMaterialVO vo = new MyMaterialVO(); - vo.setMaterialFolders(materialService.getMaterialFolder(criteria.getOrgaId(),criteria.getFolderId())); - vo.setPageThemeVO(materialService.getMyMaterial(criteria.getOrgaId(),criteria.getFolderId(),criteria.getMaterialName(),criteria.getMaterialType(),criteria.getMaterialTypeNot())); - vo.setThisFoldId(materialService.getCurrentFold(criteria.getOrgaId(),criteria.getFolderId())); + if(StringUtils.isEmpty(criteria.getMaterialName()) && null == criteria.getMaterialType()){ + vo.setMaterialFolders(materialService.getMaterialFolder(beOrgId,criteria.getFolderId())); + vo.setThisFoldId(materialService.getCurrentFold(beOrgId,criteria.getFolderId())); + } + vo.setPageThemeVO(materialService.getMyMaterial(beOrgId,criteria.getFolderId(),criteria.getMaterialName(),criteria.getMaterialType(),criteria.getMaterialTypeNot())); + vo.setImgNum(materialService.getMaterialNum(beOrgId,0)); + vo.setVideoNum(materialService.getMaterialNum(beOrgId,1)); + vo.setAudioNum(materialService.getMaterialNum(beOrgId,2)); return Response.success(vo); } 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 c17d06b..97d5834 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 @@ -54,4 +54,6 @@ public interface MaterialService { void updateState(String materialId,Integer state); //根据素材类型获取素材 - 素材库 ResultUtils> getMaterialByType(String themeName,Integer themeType,Integer themeTypeNot,Long orgaId,Pageable pageable); + //根据机构id获取我的素材各种类素材数量 + Integer getMaterialNum(Long orgaId,Integer materialType); } 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 349b503..5ee780a 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 @@ -197,8 +197,13 @@ public class MaterialServiceImpl implements MaterialService { @Override public List getMyMaterial(Long orgaId, String folderId, String materialName,Integer materialType,Integer materialTypeNot) { - folderId = !StringUtils.isEmpty(folderId) ? folderId : materialFolderRepository.findFirstByOrgaIdAndFidIsNull(orgaId).getId(); - List> map = materialRepository.getMyMaterial(folderId,materialName,materialType,materialTypeNot); + List> map = new ArrayList<>(); + if(StringUtils.isEmpty(materialName) && null == materialType){ + folderId = !StringUtils.isEmpty(folderId) ? folderId : materialFolderRepository.findFirstByOrgaIdAndFidIsNull(orgaId).getId(); + }else{ + folderId = null; + } + map = materialRepository.getMyMaterial(folderId,orgaId,materialName,materialType,materialTypeNot); List themeVOList = MapUtil.setList(map,ThemeVO.class); return themeVOList; } @@ -354,6 +359,11 @@ public class MaterialServiceImpl implements MaterialService { return ResultUtils.getResult(themeVOList,pageMap); } + @Override + public Integer getMaterialNum(Long orgaId, Integer materialType) { + return materialRepository.countByOrgaIdAndStoreTypeAndType(orgaId,1,materialType); + } + 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/MyMaterialVO.java b/system/src/main/java/com/canvas/web/modules/material/vo/MyMaterialVO.java index 2b08674..d78fcb6 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 @@ -14,5 +14,8 @@ public class MyMaterialVO { private List materialFolders; private List pageThemeVO; private String thisFoldId; + private Integer imgNum; + private Integer videoNum; + private Integer audioNum; } 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 28e2544..4824ded 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 @@ -78,6 +78,12 @@ public class ReleaseList extends BaseEntity implements Serializable { @JsonProperty("release_device") private Integer releaseDevice; + @Column(name = "bgm_name") + @ApiModelProperty(value = "背景音乐名称") + @JSONField(name="bgmName") + @JsonProperty("bgm_name") + private String bgmName; + @Column(name = "bgm_main") @ApiModelProperty(value = "背景音乐url") @JSONField(name="bgmMain") 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 e114b5b..b04f89a 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 @@ -53,6 +53,10 @@ public class ReleaseDTO { @JsonProperty("release_device") private Integer releaseDevice; + @JSONField(name="bgmName") + @JsonProperty("bgm_name") + private String bgmName; + @JSONField(name="bgmMain") @JsonProperty("bgm_main") private String bgmMain; 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 9c5a1b7..1e2b071 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 @@ -17,7 +17,7 @@ public interface NoticeRepository extends JpaRepository { "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.phone " + + "su.username 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,Long orgaId, Pageable page); 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 ca94413..57146a0 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 @@ -6,28 +6,30 @@ import org.springframework.data.domain.Pageable; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; +import java.sql.Timestamp; +import java.util.List; import java.util.Map; public interface ReleaseListRepository extends JpaRepository { @Query(nativeQuery = true, - countQuery = "select count(1) from release_list rl inner join sys_user su on rl.create_by = su.id " + + countQuery = "select count(1) from release_list rl inner join sys_user su on rl.create_by = su.phone " + "where rl.is_del = false AND if(rl.release_type = 0,rl.actual_end is null,rl.release_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.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 rm.ranking asc limit 0,1) as releaseFirstImg " + + "on rm.release_id = inrl2.id where rl.is_del = false 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 if(rl.release_type = 0,rl.actual_end is null,rl.release_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 ") + "and rl.orga_id = ?2 and if(?1 is null,1=1,rl.relaase_name like %?1% ) order by rl.release_start asc,rl.create_time desc ") Page> getReleaseList(String releaseName,Long orgaId, Pageable page); @Query(nativeQuery = true, - countQuery = "select count(1) from release_list rl inner join sys_user su on rl.create_by = su.id " + + countQuery = "select count(1) from release_list rl inner join sys_user su on rl.create_by = su.phone " + "where (rl.is_del = true or if(rl.release_type = 0,rl.actual_end <= now(),rl.release_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," + @@ -42,4 +44,40 @@ public interface ReleaseListRepository extends JpaRepository> getReleaseHistoryList(String releaseName,Long orgaId, Pageable page); + @Query(nativeQuery = true, + value = "select t.id from (SELECT rl.release_start,rl.id,rl.create_time FROM release_list rl " + + "WHERE rl.is_state = 1 AND rl.is_del = FALSE AND rl.orga_id = ?1 AND rl.release_device = 1 AND " + + "if(rl.release_type = 0,rl.release_start <= ?3 AND rl.actual_end IS NULL," + + "rl.release_start <= ?3 AND rl.release_end >= ?3) " + + "union all " + + "select rl.release_start,rl.id,rl.create_time from release_list rl " + + "inner join release_device rd on rl.id = rd.release_id WHERE rl.is_state = 1 " + + "AND rl.is_del = FALSE AND rl.orga_id = ?1 AND rl.release_device = 2 AND rd.device_id = ?2 " + + "AND if(rl.release_type = 0,rl.release_start <= ?3 AND rl.actual_end IS NULL," + + "rl.release_start <= ?3 AND rl.release_end >= ?3)) as t order by t.release_start desc,t.create_time desc") + List showReleascIds(Long orgaId, String deviceId, Timestamp currentTime); + + @Query(nativeQuery = true, + value = "select t.id as relaaseId,t.relaase_name as relaaseName,t.bgm_name as bgmName,t.bgm_main as bgmMain,t.release_start as releaseStart,t.release_end as releaseEnd from (" + + "SELECT rl.id,rl.relaase_name,rl.bgm_name,rl.bgm_main,rl.release_start,rl.release_end,rl.create_time FROM release_list rl " + + "WHERE rl.is_state = 1 AND rl.is_del = FALSE AND rl.orga_id = ?1 AND rl.release_device = 1 " + + "AND if(rl.release_cycle=1,1=1,locate(dayofweek(now())-1,rl.release_weekly)) " + + "AND if(rl.release_type = 0,rl.release_start <= now() AND rl.actual_end IS NULL," + + "rl.release_start <= now() AND rl.release_end >= now()) " + + "union all " + + "select rl.id as relaaseId,rl.relaase_name,rl.bgm_name,rl.bgm_main,rl.release_start,rl.release_end,rl.create_time from release_list rl " + + "inner join release_device rd on rl.id = rd.release_id WHERE rl.is_state = 1 " + + "AND rl.is_del = FALSE AND rl.orga_id = ?1 AND rl.release_device = 2 AND rd.device_id = ?2 " + + "AND if(rl.release_cycle=1,1=1,locate(dayofweek(now())-1,rl.release_weekly)) " + + "AND if(rl.release_type = 0,rl.release_start <= now() AND rl.actual_end IS NULL," + + "rl.release_start <= now() AND rl.release_end >= now())) as t order by t.release_start desc,t.create_time desc") + List> showReleascInfos(Long orgaId, String deviceId); + + + @Query(nativeQuery = true, + value = "select rm.release_id as releaseId,ml.name as materialName,ml.type as materialType,ml.deposit_url as depositUrl," + + "ml.img_path as imgPath,ml.device_direction as deviceDirection,rm.duration,rm.effect,rm.bgm_name as bgmName," + + "rm.bgm_url as bgmUrl,rm.ranking from release_material rm inner join material ml on rm.material_id = ml.id " + + "where rm.release_id = ?1 order by rm.ranking asc ") + List> getShowMaterial(String relaaseId); } 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 3f2f157..33c2692 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 @@ -2,14 +2,12 @@ package com.canvas.web.modules.release.service; 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.release.vo.*; import com.canvas.web.modules.utils.ResultUtils; import org.springframework.data.domain.Pageable; +import java.sql.Timestamp; import java.util.List; public interface ReleaseListService { @@ -35,4 +33,6 @@ public interface ReleaseListService { void toppingReleaseState(String releaseId,boolean isTopping); //更改紧急通知状态 void updateNoticeState(String noticeId,Integer state); + //提供后台显示 - 根据时间机构设备id 显示发布内容 + List findReleaseDetailsByDeviceId(Long orgaId, String deviceId); } 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 4e61c72..c00bac4 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 @@ -90,6 +90,7 @@ public class ReleaseListServiceImpl implements ReleaseListService { releaseList.setReleaseWeekly(dto.getReleaseWeekly()); releaseList.setIsTopping(dto.getIsTopping()); releaseList.setReleaseDevice(dto.getReleaseDevice()); + releaseList.setBgmName(dto.getBgmName()); releaseList.setBgmMain(dto.getBgmMain()); releaseList.setOrgaId(dto.getOrgaId()); releaseList = releaseListRepository.saveAndFlush(releaseList); @@ -223,4 +224,23 @@ public class ReleaseListServiceImpl implements ReleaseListService { notice.setIsState(state); noticeRepository.saveAndFlush(notice); } + + @Override + public List findReleaseDetailsByDeviceId(Long orgaId, String deviceId) { + List vos = new ArrayList<>(); + List> releascInfoList = releaseListRepository.showReleascInfos(orgaId, deviceId); + for(Map map : releascInfoList){ + ShowDeviceBackVO vo = new ShowDeviceBackVO(); + vo.setRelaaseId(map.get("relaaseId")+""); + vo.setRelaaseName(map.get("relaaseName")+""); + vo.setBgmName(map.get("bgmName")+""); + vo.setBgmMain(map.get("bgmMain")+""); + vo.setReleaseStart(map.get("releaseStart")+""); + vo.setReleaseEnd(map.get("releaseEnd")+""); + List> list = releaseListRepository.getShowMaterial(map.get("relaaseId")+""); + vo.setShowMaterials(MapUtil.setList(list,ShowMaterialVO.class)); + vos.add(vo); + } + return vos; + } } diff --git a/system/src/main/java/com/canvas/web/modules/release/vo/ShowDeviceBackVO.java b/system/src/main/java/com/canvas/web/modules/release/vo/ShowDeviceBackVO.java new file mode 100644 index 0000000..9330e95 --- /dev/null +++ b/system/src/main/java/com/canvas/web/modules/release/vo/ShowDeviceBackVO.java @@ -0,0 +1,43 @@ +package com.canvas.web.modules.release.vo; + +import com.alibaba.fastjson.annotation.JSONField; +import com.canvas.web.modules.release.domain.ReleaseMaterial; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Getter; +import lombok.Setter; + +import java.util.List; + +@Getter +@Setter +public class ShowDeviceBackVO { + + @JSONField(name="relaaseId") + @JsonProperty("relaase_id") + private String relaaseId; + + @JSONField(name="relaaseName") + @JsonProperty("relaase_name") + private String relaaseName; + + @JSONField(name="bgmName") + @JsonProperty("bgm_name") + private String bgmName; + + @JSONField(name="bgmMain") + @JsonProperty("bgm_main") + private String bgmMain; + + @JSONField(name="releaseStart") + @JsonProperty("release_start") + private String releaseStart; + + @JSONField(name="releaseEnd") + @JsonProperty("release_end") + private String releaseEnd; + + @JSONField(name="showMaterials") + @JsonProperty("show_materials") + private List showMaterials; + +} diff --git a/system/src/main/java/com/canvas/web/modules/release/vo/ShowMaterialVO.java b/system/src/main/java/com/canvas/web/modules/release/vo/ShowMaterialVO.java new file mode 100644 index 0000000..b598ac3 --- /dev/null +++ b/system/src/main/java/com/canvas/web/modules/release/vo/ShowMaterialVO.java @@ -0,0 +1,55 @@ +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; + +@Getter +@Setter +public class ShowMaterialVO { + + @JSONField(name="releaseId") + @JsonProperty("release_id") + private String releaseId; + + @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="deviceDirection") + @JsonProperty("device_direction") + private String deviceDirection; + + @JSONField(name="duration") + @JsonProperty("duration") + private String duration; + + @JSONField(name="effect") + @JsonProperty("effect") + private String effect; + + @JSONField(name="bgmName") + @JsonProperty("bgm_name") + private String bgmName; + + @JSONField(name="bgmUrl") + @JsonProperty("bgm_url") + private String bgmUrl; + + @JSONField(name="ranking") + @JsonProperty("ranking") + private String ranking; +}