Browse Source

更新发布模块信息

master
xia 3 years ago
parent
commit
728e4019e1
  1. 60
      system/src/main/java/com/canvas/web/modules/release/domain/Notice.java
  2. 30
      system/src/main/java/com/canvas/web/modules/release/domain/NoticeDevice.java
  3. 30
      system/src/main/java/com/canvas/web/modules/release/domain/ReleaseDevice.java
  4. 6
      system/src/main/java/com/canvas/web/modules/release/domain/ReleaseList.java
  5. 4
      system/src/main/java/com/canvas/web/modules/release/domain/ReleaseMaterial.java
  6. 25
      system/src/main/java/com/canvas/web/modules/release/dto/NoticeDTO.java
  7. 28
      system/src/main/java/com/canvas/web/modules/release/dto/ReleaseDTO.java
  8. 16
      system/src/main/java/com/canvas/web/modules/release/dto/ReleaseDeviceDTO.java
  9. 19
      system/src/main/java/com/canvas/web/modules/release/dto/ReleaseMaterialDTO.java
  10. 26
      system/src/main/java/com/canvas/web/modules/release/repository/NoticeDeviceRepository.java
  11. 22
      system/src/main/java/com/canvas/web/modules/release/repository/NoticeRepository.java
  12. 16
      system/src/main/java/com/canvas/web/modules/release/repository/ReleaseDeviceRepository.java
  13. 21
      system/src/main/java/com/canvas/web/modules/release/repository/ReleaseListRepository.java
  14. 60
      system/src/main/java/com/canvas/web/modules/release/rest/ReleaseListController.java
  15. 18
      system/src/main/java/com/canvas/web/modules/release/service/ReleaseListService.java
  16. 149
      system/src/main/java/com/canvas/web/modules/release/service/impl/ReleaseListServiceImpl.java
  17. 18
      system/src/main/java/com/canvas/web/modules/release/vo/NoticeDeviceDetailsVO.java
  18. 16
      system/src/main/java/com/canvas/web/modules/release/vo/NoticeDeviceVO.java
  19. 17
      system/src/main/java/com/canvas/web/modules/release/vo/NoticeVO.java

60
system/src/main/java/com/canvas/web/modules/release/domain/Notice.java

@ -0,0 +1,60 @@
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 = "notice")
public class Notice extends BaseEntity implements Serializable {
@Id
@Column(name = "id")
@GeneratedValue(generator = "idGenerator")
@GenericGenerator(name = "idGenerator", strategy = "uuid")
private String id;
@Column(name = "context")
@ApiModelProperty(value = "文本内容")
private String context;
@Column(name = "context_color")
@ApiModelProperty(value = "文本颜色")
private String contextColor;
@Column(name = "context_size")
@ApiModelProperty(value = "文本大小")
private Integer contextSize;
@Column(name = "context_position")
@ApiModelProperty(value = "文本位子")
private Integer contextPosition;
@Column(name = "context_speed")
@ApiModelProperty(value = "滚动速度")
private Integer contextSpeed;
@Column(name = "orga_id")
@ApiModelProperty(value = "机构id")
private String orgaId;
@Column(name = "notice_device")
@ApiModelProperty(value = "发布机器")
private Integer noticeDevice;
@Column(name = "is_state")
@ApiModelProperty(value = "状态")
private Integer isState;
@Column(name = "is_del")
@ApiModelProperty(value = "是否删除")
private Boolean isDel;
}

30
system/src/main/java/com/canvas/web/modules/release/domain/NoticeDevice.java

@ -0,0 +1,30 @@
package com.canvas.web.modules.release.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 = "notice_device")
public class NoticeDevice {
@Id
@Column(name = "id")
@GeneratedValue(generator = "idGenerator")
@GenericGenerator(name = "idGenerator", strategy = "uuid")
private String id;
@Column(name = "notice_id")
@ApiModelProperty(value = "通知id")
private String noticeId;
@Column(name = "notice_id")
@ApiModelProperty(value = "设备id")
private String deviceId;
}

30
system/src/main/java/com/canvas/web/modules/release/domain/ReleaseDevice.java

@ -0,0 +1,30 @@
package com.canvas.web.modules.release.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 = "release_device")
public class ReleaseDevice {
@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 = "device_id")
@ApiModelProperty(value = "设备id")
private String deviceId;
}

6
system/src/main/java/com/canvas/web/modules/release/domain/ReleaseList.java

@ -24,7 +24,7 @@ public class ReleaseList extends BaseEntity implements Serializable {
@Column(name = "relaase_name") @Column(name = "relaase_name")
@ApiModelProperty(value = "发布名称") @ApiModelProperty(value = "发布名称")
private Integer relaaseName;
private String relaaseName;
@Column(name = "release_type") @Column(name = "release_type")
@ApiModelProperty(value = "发布类型") @ApiModelProperty(value = "发布类型")
@ -54,6 +54,10 @@ public class ReleaseList extends BaseEntity implements Serializable {
@ApiModelProperty(value = "发布设备 1.全部 2.部分") @ApiModelProperty(value = "发布设备 1.全部 2.部分")
private Integer releaseDevice; private Integer releaseDevice;
@Column(name = "orga_id")
@ApiModelProperty(value = "机构id")
private String orgaId;
@Column(name = "is_state") @Column(name = "is_state")
@ApiModelProperty(value = "状态") @ApiModelProperty(value = "状态")
private Integer isState; private Integer isState;

4
system/src/main/java/com/canvas/web/modules/release/domain/ReleaseMaterial.java

@ -33,6 +33,10 @@ public class ReleaseMaterial extends BaseEntity implements Serializable {
@ApiModelProperty(value = "时长(s)") @ApiModelProperty(value = "时长(s)")
private Integer duration; private Integer duration;
@Column(name = "ranking")
@ApiModelProperty(value = "排行")
private Integer ranking;
@Column(name = "effect") @Column(name = "effect")
@ApiModelProperty(value = "切换动效") @ApiModelProperty(value = "切换动效")
private Integer effect; private Integer effect;

25
system/src/main/java/com/canvas/web/modules/release/dto/NoticeDTO.java

@ -0,0 +1,25 @@
package com.canvas.web.modules.release.dto;
import com.canvas.web.modules.release.domain.NoticeDevice;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
public class NoticeDTO {
private String noticeId;
private String context;
private String contextColor;
private Integer contextSize;
private String contextPosition;
private String contextSpeed;
private String orgaId;
private Integer noticeDevice;
private String createBy;
private String updateBy;
private Integer isState;
private Boolean isDel;
List<NoticeDevice> noticeDevices;
}

28
system/src/main/java/com/canvas/web/modules/release/dto/ReleaseDTO.java

@ -0,0 +1,28 @@
package com.canvas.web.modules.release.dto;
import lombok.Getter;
import lombok.Setter;
import java.sql.Timestamp;
import java.util.List;
@Getter
@Setter
public class ReleaseDTO {
private String releaseId;
private String relaaseName;
private Integer releaseType;
private Timestamp releaseStart;
private Timestamp releaseEnd;
private Timestamp actualEnd;
private Integer releaseCycle;
private Boolean isTopping;
private Integer releaseDevice;
private String orgaId;
private Integer isState;
private Boolean isDel;
private List<ReleaseMaterialDTO> releaseMaterialDTOs;
private List<ReleaseDeviceDTO> releaseDeviceDTOs;
}

16
system/src/main/java/com/canvas/web/modules/release/dto/ReleaseDeviceDTO.java

@ -0,0 +1,16 @@
package com.canvas.web.modules.release.dto;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class ReleaseDeviceDTO {
private String rdId;
private String releaseId;
private String deviceId;
private String deviceName;
}

19
system/src/main/java/com/canvas/web/modules/release/dto/ReleaseMaterialDTO.java

@ -0,0 +1,19 @@
package com.canvas.web.modules.release.dto;
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class ReleaseMaterialDTO {
private String rmId;
private String releaseId;
private String materialId;
private Integer duration;
private Integer effect;
private Integer ranking;
private String materialName;
private String imgPath;
}

26
system/src/main/java/com/canvas/web/modules/release/repository/NoticeDeviceRepository.java

@ -0,0 +1,26 @@
package com.canvas.web.modules.release.repository;
import com.canvas.web.modules.release.domain.NoticeDevice;
import com.canvas.web.modules.release.vo.NoticeDeviceDetailsVO;
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 NoticeDeviceRepository extends JpaRepository<NoticeDevice, String> {
@Query(nativeQuery = true,
value = "select nd.id as ndId,nd.notice_id as noticeId,nd.device_id as deviceId,d.device_name as deviceName " +
"from notice_device nd inner join device on nd.device_id = d.id where nd.notice_id = ?1")
List<NoticeDeviceDetailsVO> findByIdToDevice(String noticeId);
@Transactional(rollbackFor = Exception.class)
@Modifying(clearAutomatically = true)
void deleteByNoticeId(String noticeId);
}

22
system/src/main/java/com/canvas/web/modules/release/repository/NoticeRepository.java

@ -0,0 +1,22 @@
package com.canvas.web.modules.release.repository;
import com.canvas.web.modules.release.domain.Notice;
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.Map;
public interface NoticeRepository extends JpaRepository<Notice, String> {
@Query(nativeQuery = true,
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 " +
"where n.orga_id = ?2 " +
"and n.context like %?1% ")
Page<Map<String,Object>> getUrgentNoticeList(String noticeName,String orgaId, Pageable page);
}

16
system/src/main/java/com/canvas/web/modules/release/repository/ReleaseDeviceRepository.java

@ -0,0 +1,16 @@
package com.canvas.web.modules.release.repository;
import com.canvas.web.modules.release.domain.ReleaseDevice;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.transaction.annotation.Transactional;
import java.util.Map;
public interface ReleaseDeviceRepository extends JpaRepository<ReleaseDevice, String> {
@Transactional(rollbackFor = Exception.class)
@Modifying(clearAutomatically = true)
void deleteByReleaseId(String releaseId);
}

21
system/src/main/java/com/canvas/web/modules/release/repository/ReleaseListRepository.java

@ -15,12 +15,25 @@ public interface ReleaseListRepository extends JpaRepository<ReleaseList, String
"rl.release_type as releaseType,rl.actual_end as actualEnd,rl.is_state as isState,su.nick_name as nickName," + "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.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 " + "(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," +
"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 " + "(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 " +
"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 " + "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()) " + "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);
"and rl.orga_id = ?2 and if(?1 is null,1=1,rl.relaase_name like %?1% )")
Page<Map<String,Object>> 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," +
"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 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% )")
Page<Map<String,Object>> getReleaseHistoryList(String releaseName,String orgaId, Pageable page);
} }

60
system/src/main/java/com/canvas/web/modules/release/rest/ReleaseListController.java

@ -1,18 +1,22 @@
package com.canvas.web.modules.release.rest; package com.canvas.web.modules.release.rest;
import com.canvas.web.modules.material.criteria.ThemeQueryCriteria; import com.canvas.web.modules.material.criteria.ThemeQueryCriteria;
import com.canvas.web.modules.material.vo.ThemeVO;
import com.canvas.web.modules.release.domain.Notice;
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.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.ReleaseListVO; import com.canvas.web.modules.release.vo.ReleaseListVO;
import com.canvas.web.modules.utils.Response; import com.canvas.web.modules.utils.Response;
import com.canvas.web.modules.utils.ResultUtils; import com.canvas.web.modules.utils.ResultUtils;
import com.canvas.web.modules.utils.enums.ResponseEnum;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Pageable; 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 org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
@ -24,13 +28,55 @@ public class ReleaseListController {
ReleaseListService releaseListService; ReleaseListService releaseListService;
//发布
@ApiOperation("发布列表") @ApiOperation("发布列表")
@GetMapping("/getReleaseList") @GetMapping("/getReleaseList")
public Response<ResultUtils<List<ReleaseListVO>>> getReleaseList( public Response<ResultUtils<List<ReleaseListVO>>> getReleaseList(
String releaseName, Pageable page
String releaseName,String orgaId, Pageable page
){ ){
return Response.success(releaseListService.getReleaseList(releaseName,page));
return Response.success(releaseListService.getReleaseList(releaseName,orgaId,page));
} }
@ApiOperation("编辑发布信息")
@PostMapping("/saveRelease")
public Response<Object> saveRelease(
@Validated @RequestBody ReleaseDTO dto
){
releaseListService.edit(dto);
return Response.success(dto.getReleaseId() == null ? ResponseEnum.CREATED : ResponseEnum.UPDATE_SUCCESS);
}
@ApiOperation("发布历史列表")
@GetMapping("/getReleaseHistoryList")
public Response<ResultUtils<List<ReleaseListVO>>> getReleaseHistoryList(
String releaseName,String orgaId, Pageable page
){
return Response.success(releaseListService.getReleaseHistoryList(releaseName,orgaId,page));
}
@ApiOperation("紧急通知列表")
@GetMapping("/getUrgentNoticeList")
public Response<ResultUtils<List<NoticeVO>>> getUrgentNoticeList(
String noticeName,String orgaId, Pageable page
){
return Response.success(releaseListService.getUrgentNoticeList(noticeName,orgaId,page));
}
@ApiOperation("根据id查询紧急通知")
@GetMapping("/getNoticeById")
public Response<NoticeDeviceVO> getNoticeById(
String noticeId
){
return Response.success(releaseListService.getNoticeById(noticeId));
}
@ApiOperation("编辑紧急通知")
@PostMapping("/editNotice")
public Response<Object> editNotice(
@Validated @RequestBody NoticeDTO dto
){
releaseListService.editNotice(dto);
return Response.success(dto.getNoticeId() == null ? ResponseEnum.CREATED : ResponseEnum.UPDATE_SUCCESS);
}
} }

18
system/src/main/java/com/canvas/web/modules/release/service/ReleaseListService.java

@ -1,5 +1,9 @@
package com.canvas.web.modules.release.service; 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.ReleaseListVO; import com.canvas.web.modules.release.vo.ReleaseListVO;
import com.canvas.web.modules.utils.ResultUtils; import com.canvas.web.modules.utils.ResultUtils;
import org.springframework.data.domain.Pageable; import org.springframework.data.domain.Pageable;
@ -7,6 +11,16 @@ import org.springframework.data.domain.Pageable;
import java.util.List; import java.util.List;
public interface ReleaseListService { public interface ReleaseListService {
//分页查询主题素材历史信息
ResultUtils<List<ReleaseListVO>> getReleaseList(String releaseName, Pageable pageable);
//分页查询发布信息
ResultUtils<List<ReleaseListVO>> getReleaseList(String releaseName,String orgaId, Pageable pageable);
//分页查询发布历史信息
ResultUtils<List<ReleaseListVO>> getReleaseHistoryList(String releaseName,String orgaId, Pageable pageable);
//编辑发布内容
void edit(ReleaseDTO dto);
//获取紧急通知列表
ResultUtils<List<NoticeVO>> getUrgentNoticeList(String noticeName, String orgaId, Pageable pageable);
//根据id获取详细通知信息
NoticeDeviceVO getNoticeById(String noticeId);
//编辑紧急通知
void editNotice(NoticeDTO dto);
} }

149
system/src/main/java/com/canvas/web/modules/release/service/impl/ReleaseListServiceImpl.java

@ -1,11 +1,20 @@
package com.canvas.web.modules.release.service.impl; package com.canvas.web.modules.release.service.impl;
import com.canvas.web.modules.release.repository.ReleaseListRepository;
import com.canvas.web.modules.release.domain.*;
import com.canvas.web.modules.release.dto.NoticeDTO;
import com.canvas.web.modules.release.dto.ReleaseDTO;
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.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.ReleaseListVO;
import com.canvas.web.modules.utils.MapUtil; import com.canvas.web.modules.utils.MapUtil;
import com.canvas.web.modules.utils.PageSort; import com.canvas.web.modules.utils.PageSort;
import com.canvas.web.modules.utils.ResultUtils; import com.canvas.web.modules.utils.ResultUtils;
import com.canvas.web.utils.StringUtils;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.data.domain.Page; import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest; import org.springframework.data.domain.PageRequest;
@ -13,6 +22,9 @@ import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort; import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -21,14 +33,143 @@ import java.util.Map;
public class ReleaseListServiceImpl implements ReleaseListService { public class ReleaseListServiceImpl implements ReleaseListService {
ReleaseListRepository releaseListRepository; ReleaseListRepository releaseListRepository;
ReleaseMaterialRepository releaseMaterialRepository;
ReleaseDeviceRepository releaseDeviceRepository;
NoticeRepository noticeRepository;
NoticeDeviceRepository noticeDeviceRepository;
@Override
public ResultUtils<List<ReleaseListVO>> getReleaseList(String releaseName,String orgaId, Pageable pageable) {
PageRequest page= PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "create_time", Sort.Direction.DESC);
//分页查询
Page<Map<String,Object>> pageMap = releaseListRepository.getReleaseList(releaseName,orgaId,page);
//初始化分页返回数据
List<ReleaseListVO> releaseList = MapUtil.setList(pageMap.getContent(),ReleaseListVO.class);
return ResultUtils.getResult(releaseList,pageMap);
}
@Override @Override
public ResultUtils<List<ReleaseListVO>> getReleaseList(String releaseName, Pageable pageable) {
PageRequest page= PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "create_time", Sort.Direction.DESC);
public ResultUtils<List<ReleaseListVO>> getReleaseHistoryList(String releaseName, String orgaId, Pageable pageable) {
PageRequest page= PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "actual_end", Sort.Direction.DESC);
//分页查询 //分页查询
Page<Map<String,Object>> pageMap = releaseListRepository.getReleaseList(releaseName,page);
Page<Map<String,Object>> pageMap = releaseListRepository.getReleaseHistoryList(releaseName,orgaId,page);
//初始化分页返回数据 //初始化分页返回数据
List<ReleaseListVO> releaseList = MapUtil.setList(pageMap.getContent(),ReleaseListVO.class); List<ReleaseListVO> releaseList = MapUtil.setList(pageMap.getContent(),ReleaseListVO.class);
return ResultUtils.getResult(releaseList,pageMap); return ResultUtils.getResult(releaseList,pageMap);
} }
@Override
public void edit(ReleaseDTO dto) {
ReleaseList releaseList = new ReleaseList();
//修改
if(null != dto.getReleaseId()){
releaseList = releaseListRepository.findById(dto.getReleaseId()).get();
releaseList.setUpdateTime(new Timestamp(new Date().getTime()));
}else{
releaseList.setCreateTime(new Timestamp(new Date().getTime()));
releaseList.setUpdateTime(new Timestamp(new Date().getTime()));
releaseList.setIsDel(false);
releaseList.setIsState(1);
}
releaseList.setRelaaseName(dto.getRelaaseName());
releaseList.setReleaseType(dto.getReleaseType());
releaseList.setReleaseStart(dto.getReleaseStart());
releaseList.setReleaseEnd(dto.getReleaseEnd());
releaseList.setActualEnd(dto.getActualEnd());
releaseList.setReleaseCycle(dto.getReleaseCycle());
releaseList.setIsTopping(dto.getIsTopping());
releaseList.setReleaseDevice(dto.getReleaseDevice());
releaseList.setOrgaId(dto.getOrgaId());
releaseList.setIsDel(dto.getIsDel());
releaseList.setIsState(dto.getIsState());
releaseList = releaseListRepository.saveAndFlush(releaseList);
List<ReleaseMaterialDTO> rmDtos = dto.getReleaseMaterialDTOs();
for(int i = 0;i<rmDtos.size();i++){
ReleaseMaterialDTO rmDto = rmDtos.get(i);
ReleaseMaterial rm = new ReleaseMaterial();
if(!StringUtils.isEmpty(rmDto.getRmId())){
rm = releaseMaterialRepository.findById(rmDto.getRmId()).get();
}else{
rm.setCreateTime(new Timestamp(new Date().getTime()));
}
rm.setUpdateTime(new Timestamp(new Date().getTime()));
rm.setReleaseId(rmDto.getReleaseId());
rm.setMaterialId(rmDto.getMaterialId());
rm.setDuration(rmDto.getDuration());
rm.setRanking(rmDto.getRanking());
rm.setEffect(rmDto.getEffect());
releaseMaterialRepository.saveAndFlush(rm);
}
//当选择全部设备时
if(1 == dto.getReleaseDevice()){
releaseDeviceRepository.deleteByReleaseId(dto.getReleaseId());
}else if(null != dto.getReleaseDeviceDTOs() && dto.getReleaseDeviceDTOs().size()!=0){
releaseDeviceRepository.deleteByReleaseId(dto.getReleaseId());
List<ReleaseDeviceDTO> rdDTOs = dto.getReleaseDeviceDTOs();
List<ReleaseDevice> releaseDevices = new ArrayList<>();
for(int i =0;i<rdDTOs.size();i++){
ReleaseDevice rd = new ReleaseDevice();
rd.setReleaseId(rdDTOs.get(i).getReleaseId());
rd.setDeviceId(rdDTOs.get(i).getDeviceId());
releaseDevices.add(rd);
}
releaseDeviceRepository.saveAll(releaseDevices);
}
}
@Override
public ResultUtils<List<NoticeVO>> getUrgentNoticeList(String noticeName, String orgaId, Pageable pageable)
{
PageRequest page= PageSort.pageRequest(pageable.getPageNumber(), pageable.getPageSize(), "create_time", Sort.Direction.DESC);
//分页查询
Page<Map<String,Object>> pageMap = noticeRepository.getUrgentNoticeList(noticeName,orgaId,page);
//初始化分页返回数据
List<NoticeVO> noticeList = MapUtil.setList(pageMap.getContent(),NoticeVO.class);
return ResultUtils.getResult(noticeList,pageMap);
}
@Override
public NoticeDeviceVO getNoticeById(String noticeId) {
NoticeDeviceVO vo = new NoticeDeviceVO();
vo.setNotice(noticeRepository.findById(noticeId).get());
List<NoticeDeviceDetailsVO> nddVOs = noticeDeviceRepository.findByIdToDevice(noticeId);
vo.setNoticeDeviceDetailsVO(nddVOs);
return vo;
}
@Override
public void editNotice(NoticeDTO dto) {
Notice notice = new Notice();
//修改
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 = noticeRepository.saveAndFlush(notice);
//当选择全部设备时
if(1 == dto.getNoticeDevice()){
noticeDeviceRepository.deleteByNoticeId(dto.getNoticeId());
}else if(null != dto.getNoticeDevices() && dto.getNoticeDevices().size()!=0){
noticeDeviceRepository.deleteByNoticeId(dto.getNoticeId());
List<NoticeDevice> nds = dto.getNoticeDevices();
noticeDeviceRepository.saveAll(nds);
}
}
} }

18
system/src/main/java/com/canvas/web/modules/release/vo/NoticeDeviceDetailsVO.java

@ -0,0 +1,18 @@
package com.canvas.web.modules.release.vo;
import com.canvas.web.modules.release.domain.Notice;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
public class NoticeDeviceDetailsVO {
private String ndId;
private String noticeId;
private String deviceId;
private String deviceName;
}

16
system/src/main/java/com/canvas/web/modules/release/vo/NoticeDeviceVO.java

@ -0,0 +1,16 @@
package com.canvas.web.modules.release.vo;
import com.canvas.web.modules.release.domain.Notice;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
public class NoticeDeviceVO {
private Notice notice;
private List<NoticeDeviceDetailsVO> noticeDeviceDetailsVO;
}

17
system/src/main/java/com/canvas/web/modules/release/vo/NoticeVO.java

@ -0,0 +1,17 @@
package com.canvas.web.modules.release.vo;
import lombok.Getter;
import lombok.Setter;
import java.sql.Timestamp;
@Getter
@Setter
public class NoticeVO {
private String noticeId;
private String context;
private Timestamp createTime;
private String createBy;
private String createrName;
private Integer isState;
}
Loading…
Cancel
Save