package com.sandu.ximon.admin.controller;
|
|
import cn.hutool.core.util.StrUtil;
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import com.baomidou.mybatisplus.extension.api.R;
|
import com.github.pagehelper.PageHelper;
|
import com.sandu.common.domain.ResponseVO;
|
import com.sandu.common.execption.BusinessException;
|
import com.sandu.common.object.BaseConditionVO;
|
import com.sandu.common.util.ResponseUtil;
|
import com.sandu.ximon.admin.entity.ProgramPro;
|
import com.sandu.ximon.admin.security.SecurityUtils;
|
import com.sandu.ximon.admin.service.ClientService;
|
import com.sandu.ximon.admin.service.PoleLightemitService;
|
import com.sandu.ximon.admin.service.XiXunPlayerService;
|
import com.sandu.ximon.admin.utils.LightemitUtils;
|
import com.sandu.ximon.dao.domain.LedPlayerEntity;
|
import com.sandu.ximon.dao.domain.PlayPlanNv;
|
import com.sandu.ximon.dao.domain.PoleLightemitEntity;
|
import com.sandu.ximon.dao.domain.PoleXixunPlayerEntity;
|
import com.sandu.ximon.dao.enums.AdministratorEnums;
|
import lombok.AllArgsConstructor;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* @Author liuhaonan
|
* @Date 2022/2/22 13:55
|
* @Version 1.0
|
*/
|
@RestController
|
@AllArgsConstructor
|
@RequestMapping("/v1/xixun")
|
public class XiXunController {
|
|
private final XiXunPlayerService xiXunPlayerService;
|
private final ClientService clientService;
|
private final PoleLightemitService poleLightemitService;
|
private final LightemitUtils lightemitUtils;
|
|
@PostMapping("/addProgram")
|
public ResponseVO<Object> addProgram(@RequestBody ProgramPro programPro){
|
return ResponseUtil.success(xiXunPlayerService.insert(programPro));
|
}
|
|
@PostMapping("/deleteProgram/{pid}")
|
public ResponseVO<Object> deleteProgram(@PathVariable Long pid){
|
return ResponseUtil.success(xiXunPlayerService.deleteProgram(pid));
|
}
|
|
@GetMapping("/getByPid/{pid}")
|
public ResponseVO<Object> getByPid(@PathVariable Long pid){
|
return ResponseUtil.success(xiXunPlayerService.getByPid(pid));
|
}
|
@GetMapping("/list")
|
public ResponseVO<Object> list(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
|
PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
|
|
LambdaQueryWrapper<PoleXixunPlayerEntity> wrapper = Wrappers.lambdaQuery(PoleXixunPlayerEntity.class).like(PoleXixunPlayerEntity::getProgramName, keyword);
|
// if(AdministratorEnums.CUSTOMER.getCode().equals(SecurityUtils.getAdministratorIdentity())){
|
// boolean clientId = clientService.findClientId();
|
// if(clientId){
|
// wrapper= wrapper.eq(PoleXixunPlayerEntity::getUserId,SecurityUtils.getUserId());
|
// }
|
// wrapper= wrapper.eq(PoleXixunPlayerEntity::getClientId,clientService.getClientId());
|
// }
|
// wrapper=Wrappers.lambdaQuery(PoleXixunPlayerEntity.class);
|
// if(StrUtil.isNotBlank(keyword)){
|
// wrapper.like(PoleXixunPlayerEntity::getLightemitName,keyword).or(
|
// lambdaQueryWrapper -> {
|
// lambdaQueryWrapper.like(PoleXixunPlayerEntity::getLightemitControlCode, keyword);
|
// }
|
// );
|
// }
|
// return ResponseUtil.success(poleLightemitService.list(wrapper));
|
if(AdministratorEnums.CUSTOMER.getCode().equals(SecurityUtils.getAdministratorIdentity())) {
|
|
return ResponseUtil.success(xiXunPlayerService.list(wrapper)); // todo
|
}else {
|
return ResponseUtil.success(xiXunPlayerService.list(wrapper));
|
}
|
}
|
|
|
@GetMapping("/pushToXixun/{pid}")
|
public ResponseVO<Object> getByPid(@PathVariable Long pid, @RequestBody List<Long> lightemitIds ){
|
xiXunPlayerService.videoXixunPlayer(pid,lightemitIds);
|
return ResponseUtil.success("推送成功");
|
}
|
|
@PostMapping("/saveLed")
|
public ResponseVO<Object> save(@RequestBody PoleLightemitEntity poleLightemit){
|
int count = poleLightemitService.count(new QueryWrapper<PoleLightemitEntity>().eq("lightemit_control_code", poleLightemit.getLightemitControlCode()));
|
if(count != 0){
|
throw new BusinessException("LED控制卡编号不能重复");
|
}
|
|
poleLightemit.setCreateUserId(SecurityUtils.getClientId());
|
|
poleLightemitService.savePoleLightemit(poleLightemit);
|
|
|
return ResponseUtil.success("新增成功");
|
}
|
|
@PostMapping("/updateLed/{ledId}")
|
public ResponseVO<Object> updatePoleLightemit(@PathVariable Long ledId,@RequestBody PoleLightemitEntity poleLightemit){
|
poleLightemitService.updatePoleLightemit(ledId,poleLightemit);
|
return ResponseUtil.success("修改成功");
|
}
|
|
@PostMapping("/deleteLed")
|
public ResponseVO<Object> deleteLed(@RequestBody List<Long> ledIds){
|
boolean b = poleLightemitService.deletePoleLightemit(ledIds);
|
if(b){
|
return ResponseUtil.success("删除成功");
|
}else {
|
return ResponseUtil.success("删除失败");
|
}
|
}
|
|
|
@GetMapping("/listLed")
|
public ResponseVO<Object> listLed(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) {
|
PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
|
LambdaQueryWrapper<PoleLightemitEntity> wrapper = Wrappers.lambdaQuery(PoleLightemitEntity.class);
|
if(AdministratorEnums.CUSTOMER.getCode().equals(SecurityUtils.getAdministratorIdentity())){
|
boolean clientId = clientService.findClientId();
|
if(clientId){
|
wrapper= wrapper.eq(PoleLightemitEntity::getUserId,SecurityUtils.getUserId());
|
}
|
wrapper= wrapper.eq(PoleLightemitEntity::getClientId,clientService.getClientId());
|
}
|
wrapper=Wrappers.lambdaQuery(PoleLightemitEntity.class);
|
if(StrUtil.isNotBlank(keyword)){
|
wrapper.like(PoleLightemitEntity::getLightemitName,keyword).or(
|
lambdaQueryWrapper -> {
|
lambdaQueryWrapper.like(PoleLightemitEntity::getLightemitControlCode, keyword);
|
}
|
);
|
}
|
return ResponseUtil.success(poleLightemitService.list(wrapper));
|
}
|
|
/*
|
获取led实时画面
|
*/
|
@GetMapping("/getPicture/{id}")
|
public ResponseVO<Object> getPicture(@PathVariable Long id){
|
if(id == null){
|
throw new BusinessException("未选择LED屏");
|
}
|
PoleLightemitEntity poleLightemitEntity = poleLightemitService.getById(id);
|
if(poleLightemitEntity != null){
|
String result = lightemitUtils.getPicture(poleLightemitEntity.getLightemitControlCode());
|
return ResponseUtil.success(result);
|
}else {
|
throw new BusinessException("未选择LED屏");
|
}
|
}
|
}
|