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