16 changed files with 351 additions and 5 deletions
			
			
		- 
					30system/src/main/java/com/canvas/web/modules/material/domain/MaterialInFolder.java
- 
					1system/src/main/java/com/canvas/web/modules/material/dto/MaterialDTO.java
- 
					10system/src/main/java/com/canvas/web/modules/material/repository/MaterialInFolderRepository.java
- 
					6system/src/main/java/com/canvas/web/modules/material/repository/MaterialRepository.java
- 
					18system/src/main/java/com/canvas/web/modules/material/rest/MaterialController.java
- 
					4system/src/main/java/com/canvas/web/modules/material/service/MaterialService.java
- 
					35system/src/main/java/com/canvas/web/modules/material/service/impl/MaterialServiceImpl.java
- 
					2system/src/main/java/com/canvas/web/modules/material/vo/ThemeVO.java
- 
					65system/src/main/java/com/canvas/web/modules/release/domain/ReleaseList.java
- 
					40system/src/main/java/com/canvas/web/modules/release/domain/ReleaseMaterial.java
- 
					26system/src/main/java/com/canvas/web/modules/release/repository/ReleaseListRepository.java
- 
					9system/src/main/java/com/canvas/web/modules/release/repository/ReleaseMaterialRepository.java
- 
					36system/src/main/java/com/canvas/web/modules/release/rest/ReleaseListController.java
- 
					12system/src/main/java/com/canvas/web/modules/release/service/ReleaseListService.java
- 
					34system/src/main/java/com/canvas/web/modules/release/service/impl/ReleaseListServiceImpl.java
- 
					28system/src/main/java/com/canvas/web/modules/release/vo/ReleaseListVO.java
| @ -0,0 +1,30 @@ | |||||
|  | package com.canvas.web.modules.material.domain; | ||||
|  | 
 | ||||
|  | import io.swagger.annotations.ApiModelProperty; | ||||
|  | import lombok.Getter; | ||||
|  | import lombok.Setter; | ||||
|  | import org.hibernate.annotations.GenericGenerator; | ||||
|  | 
 | ||||
|  | import javax.persistence.*; | ||||
|  | 
 | ||||
|  | @Getter | ||||
|  | @Setter | ||||
|  | @Entity | ||||
|  | @Table(name = "material_in_folder") | ||||
|  | public class MaterialInFolder { | ||||
|  | 
 | ||||
|  |     @Id | ||||
|  |     @Column(name = "id") | ||||
|  |     @GeneratedValue(generator = "idGenerator") | ||||
|  |     @GenericGenerator(name = "idGenerator", strategy = "uuid") | ||||
|  |     private String id; | ||||
|  | 
 | ||||
|  |     @Column(name = "mf_id") | ||||
|  |     @ApiModelProperty(value = "文件夹id") | ||||
|  |     private String mfId; | ||||
|  | 
 | ||||
|  |     @Column(name = "material_id") | ||||
|  |     @ApiModelProperty(value = "素材id") | ||||
|  |     private String materialId; | ||||
|  | 
 | ||||
|  | } | ||||
| @ -0,0 +1,10 @@ | |||||
|  | package com.canvas.web.modules.material.repository; | ||||
|  | 
 | ||||
|  | import com.canvas.web.modules.material.domain.MaterialInFolder; | ||||
|  | import org.springframework.data.jpa.repository.JpaRepository; | ||||
|  | 
 | ||||
|  | public interface MaterialInFolderRepository extends JpaRepository<MaterialInFolder, String> { | ||||
|  | 
 | ||||
|  |     void deleteAllByMaterialId(String materialId); | ||||
|  | 
 | ||||
|  | } | ||||
| @ -0,0 +1,65 @@ | |||||
|  | package com.canvas.web.modules.release.domain; | ||||
|  | 
 | ||||
|  | import com.canvas.web.base.BaseEntity; | ||||
|  | import io.swagger.annotations.ApiModelProperty; | ||||
|  | import lombok.Getter; | ||||
|  | import lombok.Setter; | ||||
|  | import org.hibernate.annotations.GenericGenerator; | ||||
|  | 
 | ||||
|  | import javax.persistence.*; | ||||
|  | import java.io.Serializable; | ||||
|  | import java.sql.Timestamp; | ||||
|  | 
 | ||||
|  | @Getter | ||||
|  | @Setter | ||||
|  | @Entity | ||||
|  | @Table(name = "release_list") | ||||
|  | public class ReleaseList extends BaseEntity implements Serializable { | ||||
|  | 
 | ||||
|  |     @Id | ||||
|  |     @Column(name = "id") | ||||
|  |     @GeneratedValue(generator = "idGenerator") | ||||
|  |     @GenericGenerator(name = "idGenerator", strategy = "uuid") | ||||
|  |     private String id; | ||||
|  | 
 | ||||
|  |     @Column(name = "relaase_name") | ||||
|  |     @ApiModelProperty(value = "发布名称") | ||||
|  |     private Integer relaaseName; | ||||
|  | 
 | ||||
|  |     @Column(name = "release_type") | ||||
|  |     @ApiModelProperty(value = "发布类型") | ||||
|  |     private Integer releaseType; | ||||
|  | 
 | ||||
|  |     @Column(name = "release_start") | ||||
|  |     @ApiModelProperty(value = "发布开始时间") | ||||
|  |     private Timestamp releaseStart; | ||||
|  | 
 | ||||
|  |     @Column(name = "release_end") | ||||
|  |     @ApiModelProperty(value = "发布结束时间") | ||||
|  |     private Timestamp releaseEnd; | ||||
|  | 
 | ||||
|  |     @Column(name = "actual_end") | ||||
|  |     @ApiModelProperty(value = "实际结束时间") | ||||
|  |     private Timestamp actualEnd; | ||||
|  | 
 | ||||
|  |     @Column(name = "release_cycle") | ||||
|  |     @ApiModelProperty(value = "发布周期 0.无 1.每天 2.每周") | ||||
|  |     private Integer releaseCycle; | ||||
|  | 
 | ||||
|  |     @Column(name = "is_topping") | ||||
|  |     @ApiModelProperty(value = "是否置顶") | ||||
|  |     private Boolean isTopping; | ||||
|  | 
 | ||||
|  |     @Column(name = "release_device") | ||||
|  |     @ApiModelProperty(value = "发布设备 1.全部 2.部分") | ||||
|  |     private Integer releaseDevice; | ||||
|  | 
 | ||||
|  |     @Column(name = "is_state") | ||||
|  |     @ApiModelProperty(value = "状态") | ||||
|  |     private Integer isState; | ||||
|  | 
 | ||||
|  |     @Column(name = "is_del") | ||||
|  |     @ApiModelProperty(value = "是否删除") | ||||
|  |     private Boolean isDel; | ||||
|  | 
 | ||||
|  | } | ||||
| @ -0,0 +1,40 @@ | |||||
|  | package com.canvas.web.modules.release.domain; | ||||
|  | 
 | ||||
|  | import com.canvas.web.base.BaseEntity; | ||||
|  | import io.swagger.annotations.ApiModelProperty; | ||||
|  | import lombok.Getter; | ||||
|  | import lombok.Setter; | ||||
|  | import org.hibernate.annotations.GenericGenerator; | ||||
|  | 
 | ||||
|  | import javax.persistence.*; | ||||
|  | import java.io.Serializable; | ||||
|  | 
 | ||||
|  | @Getter | ||||
|  | @Setter | ||||
|  | @Entity | ||||
|  | @Table(name = "release_material") | ||||
|  | public class ReleaseMaterial extends BaseEntity implements Serializable { | ||||
|  | 
 | ||||
|  |     @Id | ||||
|  |     @Column(name = "id") | ||||
|  |     @GeneratedValue(generator = "idGenerator") | ||||
|  |     @GenericGenerator(name = "idGenerator", strategy = "uuid") | ||||
|  |     private String id; | ||||
|  | 
 | ||||
|  |     @Column(name = "release_id") | ||||
|  |     @ApiModelProperty(value = "发布Id") | ||||
|  |     private String releaseId; | ||||
|  | 
 | ||||
|  |     @Column(name = "material_id") | ||||
|  |     @ApiModelProperty(value = "素材id") | ||||
|  |     private String materialId; | ||||
|  | 
 | ||||
|  |     @Column(name = "duration") | ||||
|  |     @ApiModelProperty(value = "时长(s)") | ||||
|  |     private Integer duration; | ||||
|  | 
 | ||||
|  |     @Column(name = "effect") | ||||
|  |     @ApiModelProperty(value = "切换动效") | ||||
|  |     private Integer effect; | ||||
|  | 
 | ||||
|  | } | ||||
| @ -0,0 +1,26 @@ | |||||
|  | package com.canvas.web.modules.release.repository; | ||||
|  | 
 | ||||
|  | import com.canvas.web.modules.release.domain.ReleaseList; | ||||
|  | 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.Query; | ||||
|  | 
 | ||||
|  | import java.util.Map; | ||||
|  | 
 | ||||
|  | public interface ReleaseListRepository extends JpaRepository<ReleaseList, String> { | ||||
|  | 
 | ||||
|  |     @Query(nativeQuery = true, | ||||
|  |             value = "select rl.id as releaseId,rl.relaase_name as relaaseName,rl.release_start as releaseStart,rl.release_end as releaseEnd," + | ||||
|  |                     "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," + | ||||
|  |                     "(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 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 inrl2.id = rl.id 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 if(?1 is null,1=1,rl.relaase_name like %?1% )") | ||||
|  |     Page<Map<String,Object>> getReleaseList(String releaseName, Pageable page); | ||||
|  | 
 | ||||
|  | } | ||||
| @ -0,0 +1,9 @@ | |||||
|  | package com.canvas.web.modules.release.repository; | ||||
|  | 
 | ||||
|  | import com.canvas.web.modules.release.domain.ReleaseMaterial; | ||||
|  | import org.springframework.data.jpa.repository.JpaRepository; | ||||
|  | 
 | ||||
|  | public interface ReleaseMaterialRepository extends JpaRepository<ReleaseMaterial, String> { | ||||
|  | 
 | ||||
|  | 
 | ||||
|  | } | ||||
| @ -0,0 +1,36 @@ | |||||
|  | package com.canvas.web.modules.release.rest; | ||||
|  | 
 | ||||
|  | import com.canvas.web.modules.material.criteria.ThemeQueryCriteria; | ||||
|  | import com.canvas.web.modules.material.vo.ThemeVO; | ||||
|  | import com.canvas.web.modules.release.service.ReleaseListService; | ||||
|  | import com.canvas.web.modules.release.vo.ReleaseListVO; | ||||
|  | import com.canvas.web.modules.utils.Response; | ||||
|  | import com.canvas.web.modules.utils.ResultUtils; | ||||
|  | import io.swagger.annotations.Api; | ||||
|  | import io.swagger.annotations.ApiOperation; | ||||
|  | import lombok.RequiredArgsConstructor; | ||||
|  | import org.springframework.data.domain.Pageable; | ||||
|  | import org.springframework.web.bind.annotation.GetMapping; | ||||
|  | import org.springframework.web.bind.annotation.RequestMapping; | ||||
|  | import org.springframework.web.bind.annotation.RestController; | ||||
|  | 
 | ||||
|  | import java.util.List; | ||||
|  | 
 | ||||
|  | @RestController | ||||
|  | @RequiredArgsConstructor | ||||
|  | @Api(tags = "发布管理") | ||||
|  | @RequestMapping("/api/release") | ||||
|  | public class ReleaseListController { | ||||
|  | 
 | ||||
|  |     ReleaseListService releaseListService; | ||||
|  | 
 | ||||
|  |     //发布 | ||||
|  |     @ApiOperation("发布列表") | ||||
|  |     @GetMapping("/getReleaseList") | ||||
|  |     public Response<ResultUtils<List<ReleaseListVO>>> getReleaseList( | ||||
|  |             String releaseName, Pageable page | ||||
|  |     ){ | ||||
|  |         return Response.success(releaseListService.getReleaseList(releaseName,page)); | ||||
|  |     } | ||||
|  | 
 | ||||
|  | } | ||||
| @ -0,0 +1,12 @@ | |||||
|  | package com.canvas.web.modules.release.service; | ||||
|  | 
 | ||||
|  | import com.canvas.web.modules.release.vo.ReleaseListVO; | ||||
|  | import com.canvas.web.modules.utils.ResultUtils; | ||||
|  | import org.springframework.data.domain.Pageable; | ||||
|  | 
 | ||||
|  | import java.util.List; | ||||
|  | 
 | ||||
|  | public interface ReleaseListService { | ||||
|  |     //分页查询主题素材历史信息 | ||||
|  |     ResultUtils<List<ReleaseListVO>> getReleaseList(String releaseName, Pageable pageable); | ||||
|  | } | ||||
| @ -0,0 +1,34 @@ | |||||
|  | package com.canvas.web.modules.release.service.impl; | ||||
|  | 
 | ||||
|  | import com.canvas.web.modules.release.repository.ReleaseListRepository; | ||||
|  | import com.canvas.web.modules.release.service.ReleaseListService; | ||||
|  | import com.canvas.web.modules.release.vo.ReleaseListVO; | ||||
|  | import com.canvas.web.modules.utils.MapUtil; | ||||
|  | import com.canvas.web.modules.utils.PageSort; | ||||
|  | import com.canvas.web.modules.utils.ResultUtils; | ||||
|  | import lombok.RequiredArgsConstructor; | ||||
|  | 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.stereotype.Service; | ||||
|  | 
 | ||||
|  | import java.util.List; | ||||
|  | import java.util.Map; | ||||
|  | 
 | ||||
|  | @Service | ||||
|  | @RequiredArgsConstructor | ||||
|  | public class ReleaseListServiceImpl implements ReleaseListService { | ||||
|  | 
 | ||||
|  |     ReleaseListRepository releaseListRepository; | ||||
|  | 
 | ||||
|  |     @Override | ||||
|  |     public ResultUtils<List<ReleaseListVO>> getReleaseList(String releaseName, Pageable pageable) { | ||||
|  |         PageRequest page= PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "create_time", Sort.Direction.DESC); | ||||
|  |         //分页查询 | ||||
|  |         Page<Map<String,Object>> pageMap = releaseListRepository.getReleaseList(releaseName,page); | ||||
|  |         //初始化分页返回数据 | ||||
|  |         List<ReleaseListVO> releaseList = MapUtil.setList(pageMap.getContent(),ReleaseListVO.class); | ||||
|  |         return ResultUtils.getResult(releaseList,pageMap); | ||||
|  |     } | ||||
|  | } | ||||
| @ -0,0 +1,28 @@ | |||||
|  | package com.canvas.web.modules.release.vo; | ||||
|  | 
 | ||||
|  | import lombok.Getter; | ||||
|  | import lombok.Setter; | ||||
|  | 
 | ||||
|  | import java.sql.Timestamp; | ||||
|  | 
 | ||||
|  | @Getter | ||||
|  | @Setter | ||||
|  | public class ReleaseListVO { | ||||
|  | 
 | ||||
|  |     private String releaseId; | ||||
|  |     private String relaaseName; | ||||
|  |     private String releaseType; | ||||
|  |     private String releaseFirstImg; | ||||
|  |     private Timestamp releaseStart; | ||||
|  |     private Timestamp releaseEnd; | ||||
|  |     private Timestamp actualEnd; | ||||
|  |     private Integer releaseCycle; | ||||
|  |     private String nickName; | ||||
|  |     private Integer isState; | ||||
|  |     private Integer releaseDevice; | ||||
|  |     private Boolean isTopping; | ||||
|  |     private Boolean isDel; | ||||
|  |     private Timestamp createTime; | ||||
|  |     private Timestamp updateTime; | ||||
|  | 
 | ||||
|  | } | ||||
						Write
						Preview
					
					
					Loading…
					
					Cancel
						Save
					
		Reference in new issue