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