zqy
5 天以前 b02beccf4567068cb47a3f1181a00039456c872d
zhang-content/src/main/java/com/ruoyi/service/impl/LiveStreamingServiceImpl.java
@@ -17,6 +17,8 @@
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
@Slf4j
@@ -26,17 +28,50 @@
    @Resource
    private EsService esSer;
    private LambdaQueryWrapper<LiveStreaming> buildCondition(LiveStreaming liveStreaming) {
    private LambdaQueryWrapper<LiveStreaming> buildCondition(LiveStreaming liveStreaming) throws ParseException {
        LambdaQueryWrapper<LiveStreaming> lqw = new LambdaQueryWrapper<>();
//        lqw.in(LiveStreaming::getFamilyId,familyIdList);
        lqw.orderByDesc(LiveStreaming::getId);
        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())
                .like(StringUtils.isNotEmpty(liveStreaming.getRoomId()),LiveStreaming::getRoomId,liveStreaming.getRoomId());
        lqw.between(liveStreaming.getHappenStartTime() != null && liveStreaming.getHappenEndTime() != null,LiveStreaming::getCreateTime,liveStreaming.getHappenStartTime(),liveStreaming.getHappenEndTime());
                .eq(LiveStreaming::getStatus,0);
        List<LiveStreaming> liveStreamingList = list(lqw);
        for (LiveStreaming liveStreaming1: liveStreamingList) {
            SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Calendar nowTime = Calendar.getInstance();
            String currentTime = df.format(nowTime.getTime());
            Date date = df.parse(currentTime);
            if(liveStreaming1.getStartTime() != null && liveStreaming1.getEndTime() != null){
            if (!belongCalendar(date,liveStreaming1.getStartTime(),liveStreaming1.getEndTime())){
                liveStreaming1.setStatus(1);
                updateById(liveStreaming1);
            }}
        }
        return lqw;
    }
    /**MaNongXF
     * 判断时间是否处于某个时间段内
     *
     * @param time 需要比较的时间
     * @param from 起始时间
     * @param to 结束时间
     * @return
     */
    public static boolean belongCalendar(Date time, Date from, Date to) {
        System.out.println("11111"+time+"222"+from+"333"+to);
        Calendar date = Calendar.getInstance();
        date.setTime(time);
        Calendar after = Calendar.getInstance();
        after.setTime(from);
        Calendar before = Calendar.getInstance();
        before.setTime(to);
        if (date.after(after) && date.before(before)) {
            return true;
        } else {
            return false;
        }
    }
    private LambdaQueryWrapper<LiveStreaming> uniqueCondition(LiveStreaming liveStreaming){
@@ -50,7 +85,7 @@
    }
    @Override
    public AjaxResult selectDataList(LiveStreaming liveStreaming, Integer pageNum, Integer pageSize) {
    public AjaxResult selectDataList(LiveStreaming liveStreaming, Integer pageNum, Integer pageSize) throws ParseException {
        //要查自己家庭的
//        ZInfoUser myself = zInfoUserService.getMyself();
//        if(myself==null)
@@ -69,6 +104,7 @@
        LambdaQueryWrapper<LiveStreaming> lqw = buildCondition(liveStreaming);
        Page<LiveStreaming> liveStreamingPage = new Page<>(pageNum, pageSize);
        Page<LiveStreaming> pageResult = page(liveStreamingPage, lqw);
@@ -77,6 +113,8 @@
//        List<LiveStreaming> dtoResult = markOwnData(familyId, beanRecords);
        HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords);
        return AjaxResult.success(data);
    }
@@ -92,8 +130,18 @@
        return list;
    }
    private Date getEndTime1(LiveStreaming liveStreaming) throws ParseException{
        System.out.println(liveStreaming.getStartTime());
        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        Calendar nowTime = Calendar.getInstance();
        nowTime.setTime(liveStreaming.getStartTime());
        nowTime.add(Calendar.MINUTE, liveStreaming.getDuration());
        String currentTime = df.format(nowTime.getTime());
        return df.parse(currentTime);
    }
    @Override
    public AjaxResult addData(LiveStreaming liveStreaming) {
    public AjaxResult addData(LiveStreaming liveStreaming) throws ParseException {
        LambdaQueryWrapper<LiveStreaming> lqw = uniqueCondition(liveStreaming);
        List<LiveStreaming> list = list(lqw);
@@ -103,6 +151,8 @@
        if (liveStreaming.getMaxPerson() > 120){
            throw new RuntimeException("可容纳人数暂时最多为120人");
        }
        liveStreaming.setStatus(0);
        liveStreaming.setEndTime(getEndTime1(liveStreaming));
        if (save(liveStreaming)) {
            EsModel esModel = new EsModel();
@@ -114,7 +164,12 @@
            esModel.setBy1(liveStreaming.getTitle());
            esModel.setBy2(liveStreaming.getApplyPerson());
            esModel.setBy3(liveStreaming.getRoomId());
            //取当前的时分-30
            System.out.println(liveStreaming.getEndTime());
//            esModel.setBy4(liveStreaming.getEndTime());
            //这里存储查询详情的路径
            esModel.setBy5("/zLiveStreaming");
//            esModel.setFid(familyId);
@@ -127,4 +182,13 @@
        }
    }
    @Override
    public AjaxResult deleteData(Long[] ids) {
        List<LiveStreaming> liveStreaming = selectByIds(ids);
        for (LiveStreaming liveStreaming1:liveStreaming) {
            liveStreaming1.setStatus(1);
            updateById(liveStreaming1);
        }
        return AjaxResult.success();
}
}