package com.tanpu.feo.feojob.controller;

import cn.hutool.core.date.DateUtil;
import cn.hutool.json.JSONUtil;
import com.tanpu.common.api.CommonResp;
import com.tanpu.feo.feojob.dao.user.entity.DaySubjectEntity;
import com.tanpu.feo.feojob.dto.OrgSyncDto;
import com.tanpu.feo.feojob.jobs.DaySubJob;
import com.tanpu.feo.feojob.jobs.OrgSyncByWxcpJob;
import com.tanpu.feo.feojob.service.OrgSyncByJyzyService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;
import java.util.stream.Collectors;

@RestController
@Api(tags = "手动执行 早报推送")
@RequestMapping(value = "v1/daySubJob")
@Slf4j
public class DaySubjectController {

    @Resource
    private DaySubJob daySubJob;

    @RequestMapping(value = "/sendDaySubjectMessage", method = RequestMethod.GET)
    @ApiOperation(value = "早报推送")
    public CommonResp<String> executeSyneFromWxCp() {
        daySubJob.sendDaySubjectMessage();
        return CommonResp.success("执行完成");
    }

    @RequestMapping(value = "/sendOneOrgDaySubject", method = RequestMethod.GET)
    @ApiOperation(value = "单机构早报推送")
    public CommonResp<String> sendOneOrgDaySubject(@RequestParam String orgId, @RequestParam String date) {
        List<DaySubjectEntity> daySubjectList = daySubJob.getDaySubject(date, orgId);
        List<DaySubjectEntity> list = daySubjectList.stream().filter(p -> StringUtils.equals(p.getDsPt(), orgId))
                .collect(Collectors.toList());
        String oneMorningTitle = daySubJob.getOneMorningTitle();
        daySubJob.sendDaySubject(orgId, list, oneMorningTitle);
        return CommonResp.success("执行完成");
    }

}