package com.sandu.ximon.admin.controller; 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.dao.domain.LedPlayerEntity; 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; @PostMapping("/addProgram") public ResponseVO addProgram(@RequestBody ProgramPro programPro){ return ResponseUtil.success(xiXunPlayerService.insert(programPro)); } @PostMapping("/deleteProgram/{pid}") public ResponseVO deleteProgram(@PathVariable Long pid){ return ResponseUtil.success(xiXunPlayerService.deleteProgram(pid)); } @GetMapping("/getByPid/{pid}") public ResponseVO getByPid(@PathVariable Long pid){ return ResponseUtil.success(xiXunPlayerService.getByPid(pid)); } @GetMapping("/list") public ResponseVO list(BaseConditionVO baseConditionVO, @RequestParam(value = "keyword", required = false) String keyword) { PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize()); LambdaQueryWrapper wrapper = Wrappers.lambdaQuery(PoleXixunPlayerEntity.class).like(PoleXixunPlayerEntity::getProgramName, keyword); if(AdministratorEnums.CUSTOMER.getCode().equals(SecurityUtils.getAdministratorIdentity())) { // clientService.findClientId() // wrapper.eq(PoleXixunPlayerEntity::getCreateUserId,) //wrapper.eq(LedPlayerEntity::get) return ResponseUtil.success(xiXunPlayerService.list(wrapper)); // todo }else { return ResponseUtil.success(xiXunPlayerService.list(wrapper)); } } @GetMapping("/pushToXixun/{pid}") public ResponseVO getByPid(@PathVariable Long pid, @RequestBody List lightemitIds ){ xiXunPlayerService.videoXixunPlayer(pid,lightemitIds); return ResponseUtil.success("推送成功"); } @PostMapping("/saveLed") public ResponseVO save(@RequestBody PoleLightemitEntity poleLightemit){ int count = poleLightemitService.count(new QueryWrapper().eq("lightemit_control_code", poleLightemit.getLightemitControlCode())); if(count != 0){ throw new BusinessException("LED控制卡编号不能重复"); } poleLightemit.setCreateUserId(SecurityUtils.getClientId()); poleLightemitService.savePoleLightemit(poleLightemit); return ResponseUtil.success("新增成功"); } }