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