yang_shj
3 months ago
10 changed files with 283 additions and 8 deletions
@ -0,0 +1,25 @@ |
|||||||
|
package com.hnac.hzims.operational.station.entity; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.annotation.TableName; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
import lombok.EqualsAndHashCode; |
||||||
|
import lombok.experimental.Accessors; |
||||||
|
import org.springblade.core.tenant.mp.TenantEntity; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@EqualsAndHashCode(callSuper = false) |
||||||
|
@Accessors(chain = true) |
||||||
|
@TableName("hzims_station_video_carousel") |
||||||
|
public class VideoCarouselEntity extends TenantEntity { |
||||||
|
|
||||||
|
@ApiModelProperty("视频保存配置ID") |
||||||
|
private String carouselId; |
||||||
|
|
||||||
|
@ApiModelProperty("视频保存名称") |
||||||
|
private String carouselName; |
||||||
|
} |
@ -0,0 +1,32 @@ |
|||||||
|
package com.hnac.hzims.operational.station.vo; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.station.entity.StationVideoTypeEntity; |
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@ApiModel("视频轮播配置响应对象") |
||||||
|
public class StationVideoCarouselVO { |
||||||
|
|
||||||
|
@ApiModelProperty("站点ID") |
||||||
|
private String stationId; |
||||||
|
|
||||||
|
@ApiModelProperty("站点名称") |
||||||
|
private String stationName; |
||||||
|
|
||||||
|
@ApiModelProperty("视频保存配置ID") |
||||||
|
private String carouselId; |
||||||
|
|
||||||
|
@ApiModelProperty("视频保存名称") |
||||||
|
private String carouselName; |
||||||
|
|
||||||
|
@ApiModelProperty("视频播放记录") |
||||||
|
private List<StationVideoTypeEntity> videoTypes; |
||||||
|
|
||||||
|
} |
@ -0,0 +1,19 @@ |
|||||||
|
package com.hnac.hzims.operational.station.vo; |
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@ApiModel("视频轮播配置响应对象") |
||||||
|
public class StationVideoConfigPointVO { |
||||||
|
|
||||||
|
@ApiModelProperty("视频点位id") |
||||||
|
private Long id; |
||||||
|
|
||||||
|
@ApiModelProperty("视频点位名称") |
||||||
|
private String name; |
||||||
|
} |
@ -0,0 +1,24 @@ |
|||||||
|
package com.hnac.hzims.operational.station.vo; |
||||||
|
|
||||||
|
import io.swagger.annotations.ApiModel; |
||||||
|
import io.swagger.annotations.ApiModelProperty; |
||||||
|
import lombok.Data; |
||||||
|
|
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
@Data |
||||||
|
@ApiModel("视频轮播配置响应对象") |
||||||
|
public class StationVideoConfigVO { |
||||||
|
|
||||||
|
@ApiModelProperty("站点ID") |
||||||
|
private String name; |
||||||
|
|
||||||
|
@ApiModelProperty("站点名称") |
||||||
|
private String layout; |
||||||
|
|
||||||
|
@ApiModelProperty("视频保存配置ID") |
||||||
|
private List<StationVideoConfigPointVO> stations; |
||||||
|
} |
@ -0,0 +1,43 @@ |
|||||||
|
package com.hnac.hzims.operational.station.controller; |
||||||
|
|
||||||
|
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; |
||||||
|
import com.hnac.hzims.operational.station.entity.VideoCarouselEntity; |
||||||
|
import com.hnac.hzims.operational.station.service.VideoCarouselService; |
||||||
|
import io.swagger.annotations.Api; |
||||||
|
import io.swagger.annotations.ApiOperation; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import org.springblade.core.boot.ctrl.BladeController; |
||||||
|
import org.springblade.core.tool.api.R; |
||||||
|
import org.springframework.web.bind.annotation.*; |
||||||
|
|
||||||
|
import javax.validation.Valid; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
@RestController |
||||||
|
@RequestMapping("/station/carouselRecord") |
||||||
|
@RequiredArgsConstructor |
||||||
|
@Api(value = "站点视频轮播保存记录", tags = "视频轮播保存记录") |
||||||
|
public class StationVideoCarouselController extends BladeController { |
||||||
|
|
||||||
|
private final VideoCarouselService videoCarouselService; |
||||||
|
|
||||||
|
@PostMapping("/submit") |
||||||
|
@ApiOperationSupport(order = 1) |
||||||
|
@ApiOperation(value = "新增或修改站点视频轮播保存记录", notes = "传入VideoRecordEntity") |
||||||
|
public R submit(@Valid @RequestBody VideoCarouselEntity entity) { |
||||||
|
return R.status(videoCarouselService.submit(entity)); |
||||||
|
} |
||||||
|
|
||||||
|
@GetMapping("/query") |
||||||
|
@ApiOperationSupport(order = 2) |
||||||
|
@ApiOperation(value = "查询站点视频轮播保存记录", notes = "传入VideoRecordEntity") |
||||||
|
public R query(@RequestParam("stationId") String stationId, |
||||||
|
@RequestParam("userId") String userId) { |
||||||
|
return R.data(videoCarouselService.videoCarousel(stationId,userId)); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
} |
@ -0,0 +1,13 @@ |
|||||||
|
package com.hnac.hzims.operational.station.mapper; |
||||||
|
|
||||||
|
import com.hnac.hzims.operational.station.entity.VideoCarouselEntity; |
||||||
|
import com.hnac.hzims.operational.station.entity.VideoRecordEntity; |
||||||
|
import org.springblade.core.datascope.mapper.UserDataScopeBaseMapper; |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface VideoCarouselMapper extends UserDataScopeBaseMapper<VideoCarouselEntity> { |
||||||
|
|
||||||
|
} |
@ -0,0 +1,6 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
||||||
|
<mapper namespace="com.hnac.hzims.operational.station.mapper.VideoCarouselMapper"> |
||||||
|
|
||||||
|
|
||||||
|
</mapper> |
@ -0,0 +1,14 @@ |
|||||||
|
package com.hnac.hzims.operational.station.service; |
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService; |
||||||
|
import com.hnac.hzims.operational.station.entity.VideoCarouselEntity; |
||||||
|
import com.hnac.hzims.operational.station.vo.StationVideoCarouselVO; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author ysj |
||||||
|
*/ |
||||||
|
public interface VideoCarouselService extends IService<VideoCarouselEntity> { |
||||||
|
boolean submit(VideoCarouselEntity entity); |
||||||
|
|
||||||
|
StationVideoCarouselVO videoCarousel(String stationId, String userId); |
||||||
|
} |
@ -0,0 +1,102 @@ |
|||||||
|
package com.hnac.hzims.operational.station.service.impl; |
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
||||||
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
||||||
|
import com.hnac.hzims.operational.station.entity.StationVideoTypeEntity; |
||||||
|
import com.hnac.hzims.operational.station.entity.VideoCarouselEntity; |
||||||
|
import com.hnac.hzims.operational.station.entity.VideoConfigEntity; |
||||||
|
import com.hnac.hzims.operational.station.entity.VideoRecordEntity; |
||||||
|
import com.hnac.hzims.operational.station.mapper.VideoCarouselMapper; |
||||||
|
import com.hnac.hzims.operational.station.service.IStationVideoTypeService; |
||||||
|
import com.hnac.hzims.operational.station.service.VideoCarouselService; |
||||||
|
import com.hnac.hzims.operational.station.service.VideoConfigService; |
||||||
|
import com.hnac.hzims.operational.station.vo.StationVideoCarouselVO; |
||||||
|
import com.hnac.hzims.operational.station.vo.StationVideoConfigVO; |
||||||
|
import lombok.RequiredArgsConstructor; |
||||||
|
import lombok.extern.slf4j.Slf4j; |
||||||
|
import org.springblade.core.secure.utils.AuthUtil; |
||||||
|
import org.springblade.core.tool.api.R; |
||||||
|
import org.springblade.core.tool.utils.CollectionUtil; |
||||||
|
import org.springblade.core.tool.utils.ObjectUtil; |
||||||
|
import org.springframework.stereotype.Service; |
||||||
|
|
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.List; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author 86187 |
||||||
|
*/ |
||||||
|
@Service |
||||||
|
@RequiredArgsConstructor |
||||||
|
@Slf4j |
||||||
|
public class VideoCarouselServiceImpl extends ServiceImpl<VideoCarouselMapper, VideoCarouselEntity> implements VideoCarouselService { |
||||||
|
|
||||||
|
private final VideoConfigService videoConfigService; |
||||||
|
|
||||||
|
private final IStationVideoTypeService stationVideoTypeService; |
||||||
|
|
||||||
|
/** |
||||||
|
* 视频配置记录提交 |
||||||
|
* @param entity |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public boolean submit(VideoCarouselEntity entity) { |
||||||
|
// 根据用户,站点查询历史配置记录
|
||||||
|
VideoCarouselEntity videoCarousel = this.getOne(Wrappers.<VideoCarouselEntity>lambdaQuery() |
||||||
|
.eq(VideoCarouselEntity::getCreateUser,AuthUtil.getUserId()) |
||||||
|
); |
||||||
|
if(ObjectUtils.isEmpty(videoCarousel)){ |
||||||
|
return this.save(entity); |
||||||
|
} |
||||||
|
entity.setId(videoCarousel.getId()); |
||||||
|
return this.updateById(entity); |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
/** |
||||||
|
* 查询视频轮播保存记录 |
||||||
|
* @param stationId |
||||||
|
* @param userId |
||||||
|
* @return |
||||||
|
*/ |
||||||
|
@Override |
||||||
|
public StationVideoCarouselVO videoCarousel(String stationId, String userId) { |
||||||
|
VideoCarouselEntity videoCarousel = this.getOne(Wrappers.<VideoCarouselEntity>lambdaQuery() |
||||||
|
.eq(VideoCarouselEntity::getCreateUser,userId) |
||||||
|
); |
||||||
|
if(ObjectUtil.isEmpty(videoCarousel)){ |
||||||
|
return new StationVideoCarouselVO(); |
||||||
|
} |
||||||
|
StationVideoCarouselVO carousel = new StationVideoCarouselVO(); |
||||||
|
carousel.setCarouselId(videoCarousel.getCarouselId()); |
||||||
|
carousel.setCarouselName(videoCarousel.getCarouselName()); |
||||||
|
|
||||||
|
// 查询视频轮播记录
|
||||||
|
VideoConfigEntity config = videoConfigService.getById(carousel.getCarouselId()); |
||||||
|
if(ObjectUtil.isEmpty(config)){ |
||||||
|
return carousel; |
||||||
|
} |
||||||
|
List<StationVideoConfigVO> childs = JSONObject.parseArray(config.getConfigEntity(),StationVideoConfigVO.class); |
||||||
|
if(CollectionUtil.isEmpty(childs)){ |
||||||
|
return carousel; |
||||||
|
} |
||||||
|
List<StationVideoTypeEntity> videoTypes = new ArrayList<>(); |
||||||
|
childs.forEach(child->{ |
||||||
|
if(CollectionUtil.isEmpty(childs)){ |
||||||
|
return; |
||||||
|
} |
||||||
|
child.getStations().forEach(station->{ |
||||||
|
StationVideoTypeEntity videoType = stationVideoTypeService.getById(station.getId()); |
||||||
|
if(ObjectUtil.isEmpty(videoType)){ |
||||||
|
return; |
||||||
|
} |
||||||
|
videoTypes.add(videoType); |
||||||
|
}); |
||||||
|
}); |
||||||
|
carousel.setVideoTypes(videoTypes); |
||||||
|
return carousel; |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue