ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/LiveStreamingBackController.java
New file @@ -0,0 +1,40 @@ package com.ruoyi.web.controller.zhang; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.domain.LiveStreaming; import com.ruoyi.service.LiveStreamingService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import static com.ruoyi.common.core.page.TableSupport.PAGE_NUM; import static com.ruoyi.common.core.page.TableSupport.PAGE_SIZE; @Slf4j @RestController @RequestMapping("/zLiveStreamingBack") public class LiveStreamingBackController extends BaseController { @Autowired private LiveStreamingService liveStreamingService; @GetMapping("/all") public AjaxResult listAll(LiveStreaming liveStreaming){ Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1); Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10); return liveStreamingService.selectDataList(liveStreaming, pageNum, pageSize); } /** * 通过id获取直播回放详细信息 */ @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(liveStreamingService.getById(id)); } } ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/LiveStreamingController.java
New file @@ -0,0 +1,48 @@ package com.ruoyi.web.controller.zhang; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.ServletUtils; import com.ruoyi.domain.LiveStreaming; import com.ruoyi.service.LiveStreamingService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import static com.ruoyi.common.core.page.TableSupport.PAGE_NUM; import static com.ruoyi.common.core.page.TableSupport.PAGE_SIZE; @Slf4j @RestController @RequestMapping("/zLiveStreaming") public class LiveStreamingController extends BaseController { @Autowired private LiveStreamingService liveStreamingService; @GetMapping("/all") public AjaxResult listAll(LiveStreaming liveStreaming){ Integer pageNum = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1); Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10); return liveStreamingService.selectDataList(liveStreaming, pageNum, pageSize); } /** * 通过id获取直播详细信息 */ @GetMapping(value = "/{id}") public AjaxResult getInfo(@PathVariable("id") Long id) { return success(liveStreamingService.getById(id)); } /** * 新增直播 */ @Log(title = "直播", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody LiveStreaming liveStreaming) { return liveStreamingService.addData(liveStreaming); } } zhang-content/src/main/java/com/ruoyi/domain/LiveStreaming.java
New file @@ -0,0 +1,63 @@ package com.ruoyi.domain; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; import org.apache.ibatis.type.JdbcType; import java.sql.Timestamp; import java.util.Date; @Data @TableName("live_streaming") public class LiveStreaming { @TableId(value = "id", type = IdType.AUTO) private Long id; /** * 开始开会时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date startTime; /** * 结束开会时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endTime; /** * 标题 */ private String title; /** * 申请人 */ private String applyPerson; /** * 联系人 */ private String contactPerson; /** * 联系电话 */ private String contactPhone; /** * 生成时间 */ @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; /** * 开始时间 */ @TableField(exist = false, jdbcType = JdbcType.TIMESTAMP) private Timestamp happenStartTime; /** * 结束时间 */ @TableField(exist = false, jdbcType = JdbcType.TIMESTAMP) private Timestamp happenEndTime; } zhang-content/src/main/java/com/ruoyi/mapper/LiveStreamingBackMapper.java
New file @@ -0,0 +1,9 @@ package com.ruoyi.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.domain.LiveStreaming; import org.apache.ibatis.annotations.Mapper; @Mapper public interface LiveStreamingBackMapper extends BaseMapper<LiveStreaming> { } zhang-content/src/main/java/com/ruoyi/mapper/LiveStreamingMapper.java
New file @@ -0,0 +1,9 @@ package com.ruoyi.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.domain.LiveStreaming; import org.apache.ibatis.annotations.Mapper; @Mapper public interface LiveStreamingMapper extends BaseMapper<LiveStreaming> { } zhang-content/src/main/java/com/ruoyi/service/LiveStreamingBackService.java
New file @@ -0,0 +1,13 @@ package com.ruoyi.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.domain.LiveStreaming; import java.util.List; public interface LiveStreamingBackService extends IService<LiveStreaming> { AjaxResult selectDataList(LiveStreaming liveStreaming, Integer pageNum, Integer pageSize); List<LiveStreaming> selectByIds(Long[] ids); } zhang-content/src/main/java/com/ruoyi/service/LiveStreamingService.java
New file @@ -0,0 +1,16 @@ package com.ruoyi.service; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.domain.LiveStreaming; import org.springframework.stereotype.Service; import java.util.List; public interface LiveStreamingService extends IService<LiveStreaming> { AjaxResult selectDataList(LiveStreaming liveStreaming, Integer pageNum, Integer pageSize); List<LiveStreaming> selectByIds(Long[] ids); AjaxResult addData(LiveStreaming liveStreaming); } zhang-content/src/main/java/com/ruoyi/service/impl/LiveStreamingBackServiceImpl.java
New file @@ -0,0 +1,77 @@ package com.ruoyi.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.utils.MapUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.domain.LiveStreaming; import com.ruoyi.mapper.LiveStreamingBackMapper; import com.ruoyi.service.LiveStreamingBackService; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; @Service public class LiveStreamingBackServiceImpl extends ServiceImpl<LiveStreamingBackMapper, LiveStreaming> implements LiveStreamingBackService { private LambdaQueryWrapper<LiveStreaming> buildCondition(LiveStreaming liveStreaming) { LambdaQueryWrapper<LiveStreaming> lqw = new LambdaQueryWrapper<>(); // lqw.in(LiveStreaming::getFamilyId,familyIdList); lqw.orderByDesc(LiveStreaming::getCreateTime); lqw.like(StringUtils.isNotEmpty(liveStreaming.getTitle()), LiveStreaming::getTitle, liveStreaming.getTitle()) .like(StringUtils.isNotEmpty(liveStreaming.getApplyPerson()),LiveStreaming::getApplyPerson,liveStreaming.getApplyPerson()) .like(StringUtils.isNotEmpty(liveStreaming.getContactPerson()),LiveStreaming::getContactPerson,liveStreaming.getContactPerson()); lqw.between(liveStreaming.getHappenStartTime() != null && liveStreaming.getHappenEndTime() != null,LiveStreaming::getCreateTime,liveStreaming.getHappenStartTime(),liveStreaming.getHappenEndTime()); return lqw; } @Override public AjaxResult selectDataList(LiveStreaming liveStreaming, Integer pageNum, Integer pageSize) { //要查自己家庭的 // ZInfoUser myself = zInfoUserService.getMyself(); // if(myself==null) // { // // System.out.println("ssssss"); // return AjaxResult.success("您没加入到对应的家庭,请联系管理员"); // } // Long familyId = myself.getFamilyId(); // //也要查别人授权的 // List<ZAuthority> authority = zAuthorityService.getAuthority(); // List<Long> idList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(DOCTOR_LIST)).map(ZAuthority::getFid).collect(Collectors.toList()); // //加上自己家庭的id // idList.add(familyId); // String familyIds = listFamilyIds(); // String secondFamilyAuthority = listSecondFamilyIds(); LambdaQueryWrapper<LiveStreaming> lqw = buildCondition(liveStreaming); Page<LiveStreaming> liveStreamingPage = new Page<>(pageNum, pageSize); Page<LiveStreaming> pageResult = page(liveStreamingPage, lqw); List<LiveStreaming> beanRecords = pageResult.getRecords();//得到查询出来的数据 // List<LiveStreaming> dtoResult = markOwnData(familyId, beanRecords); HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords); return AjaxResult.success(data); } @Override public List<LiveStreaming> selectByIds(Long[] ids) { List<LiveStreaming> list = new ArrayList<>(); if (ids.length != 0) list = listByIds(Arrays.asList(ids)); else list = list(); return list; } } zhang-content/src/main/java/com/ruoyi/service/impl/LiveStreamingServiceImpl.java
New file @@ -0,0 +1,132 @@ package com.ruoyi.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.EsModel; import com.ruoyi.common.utils.MapUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.domain.*; import com.ruoyi.mapper.LiveStreamingMapper; import com.ruoyi.service.EsService; import com.ruoyi.service.LiveStreamingService; import com.ruoyi.service.ZAuthorityService; import com.ruoyi.service.ZInfoUserService; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.*; import java.util.stream.Collectors; import static com.ruoyi.constant.MenuAuthority.DOCTOR_LIST; @Slf4j @Service public class LiveStreamingServiceImpl extends ServiceImpl<LiveStreamingMapper, LiveStreaming> implements LiveStreamingService { @Resource ZInfoUserService zInfoUserService; @Resource ZAuthorityService zAuthorityService; @Resource private EsService esSer; private LambdaQueryWrapper<LiveStreaming> buildCondition(LiveStreaming liveStreaming) { LambdaQueryWrapper<LiveStreaming> lqw = new LambdaQueryWrapper<>(); // lqw.in(LiveStreaming::getFamilyId,familyIdList); lqw.orderByDesc(LiveStreaming::getCreateTime); lqw.like(StringUtils.isNotEmpty(liveStreaming.getTitle()), LiveStreaming::getTitle, liveStreaming.getTitle()) .like(StringUtils.isNotEmpty(liveStreaming.getApplyPerson()),LiveStreaming::getApplyPerson,liveStreaming.getApplyPerson()) .like(StringUtils.isNotEmpty(liveStreaming.getContactPerson()),LiveStreaming::getContactPerson,liveStreaming.getContactPerson()); lqw.between(liveStreaming.getHappenStartTime() != null && liveStreaming.getHappenEndTime() != null,LiveStreaming::getCreateTime,liveStreaming.getHappenStartTime(),liveStreaming.getHappenEndTime()); return lqw; } private LambdaQueryWrapper<LiveStreaming> uniqueCondition(LiveStreaming liveStreaming){ LambdaQueryWrapper<LiveStreaming> lqw = new LambdaQueryWrapper<>(); lqw.eq(!StringUtils.isEmpty(liveStreaming.getTitle()), LiveStreaming::getTitle, liveStreaming.getTitle()); lqw.eq(!StringUtils.isEmpty(liveStreaming.getContactPhone()), LiveStreaming::getContactPhone, liveStreaming.getContactPhone()); lqw.eq(!StringUtils.isEmpty(liveStreaming.getApplyPerson()), LiveStreaming::getApplyPerson, liveStreaming.getApplyPerson()); lqw.eq(!StringUtils.isEmpty(liveStreaming.getContactPerson()), LiveStreaming::getContactPerson, liveStreaming.getContactPerson()); return lqw; } @Override public AjaxResult selectDataList(LiveStreaming liveStreaming, Integer pageNum, Integer pageSize) { //要查自己家庭的 // ZInfoUser myself = zInfoUserService.getMyself(); // if(myself==null) // { // // System.out.println("ssssss"); // return AjaxResult.success("您没加入到对应的家庭,请联系管理员"); // } // Long familyId = myself.getFamilyId(); // //也要查别人授权的 // List<ZAuthority> authority = zAuthorityService.getAuthority(); // List<Long> idList = authority.stream().filter(auth -> auth.getAuthority().toString().equals(DOCTOR_LIST)).map(ZAuthority::getFid).collect(Collectors.toList()); // //加上自己家庭的id // idList.add(familyId); // String familyIds = listFamilyIds(); // String secondFamilyAuthority = listSecondFamilyIds(); LambdaQueryWrapper<LiveStreaming> lqw = buildCondition(liveStreaming); Page<LiveStreaming> liveStreamingPage = new Page<>(pageNum, pageSize); Page<LiveStreaming> pageResult = page(liveStreamingPage, lqw); List<LiveStreaming> beanRecords = pageResult.getRecords();//得到查询出来的数据 // List<LiveStreaming> dtoResult = markOwnData(familyId, beanRecords); HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords); return AjaxResult.success(data); } @Override public List<LiveStreaming> selectByIds(Long[] ids) { List<LiveStreaming> list = new ArrayList<>(); if (ids.length != 0) list = listByIds(Arrays.asList(ids)); else list = list(); return list; } @Override public AjaxResult addData(LiveStreaming liveStreaming) { LambdaQueryWrapper<LiveStreaming> lqw = uniqueCondition(liveStreaming); List<LiveStreaming> list = list(lqw); if(list.size()>0){ throw new RuntimeException("请勿新增重复数据"); } if (save(liveStreaming)) { EsModel esModel = new EsModel(); Long inte =liveStreaming.getId(); String uuid = UUID.randomUUID().toString().replace("-",""); esModel.setId(uuid); esModel.setCtId(Long.valueOf(inte)); esModel.setCtTableName("直播"); esModel.setBy1(liveStreaming.getTitle()); esModel.setBy2(liveStreaming.getApplyPerson()); //这里存储查询详情的路径 esModel.setBy5("/zLIveStreaming"); // esModel.setFid(familyId); esSer.insertTable(esModel); // System.out.println(esModel); return AjaxResult.success(); } else { return AjaxResult.error(); } } }