zqy
2024-05-26 b1643b619696f2578e22d7f3bcc2cacca63a1ce6
Merge branch 'master' of http://47.93.189.255:8099/r/zhangshi_app_backend
9个文件已添加
407 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/LiveStreamingBackController.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/zhang/LiveStreamingController.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/domain/LiveStreaming.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/mapper/LiveStreamingBackMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/mapper/LiveStreamingMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/LiveStreamingBackService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/LiveStreamingService.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/impl/LiveStreamingBackServiceImpl.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
zhang-content/src/main/java/com/ruoyi/service/impl/LiveStreamingServiceImpl.java 132 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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();
        }
    }
}