| | |
| | | package cn.stylefeng.rest.modular.work; |
| | | |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | import cn.hutool.core.bean.copier.CopyOptions; |
| | | import cn.hutool.core.collection.CollUtil; |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import cn.hutool.core.convert.Convert; |
| | | import cn.hutool.core.date.DateTime; |
| | | import cn.hutool.core.date.DateUtil; |
| | | import cn.hutool.core.util.ObjUtil; |
| | | import cn.hutool.core.util.StrUtil; |
| | | import cn.hutool.json.JSONUtil; |
| | | import cn.stylefeng.guns.modular.business.dto.CounsellinginfoResponseDTO; |
| | | import cn.stylefeng.guns.modular.business.dto.CourseResponseDTO; |
| | | import cn.stylefeng.guns.modular.business.dto.ImPushDataDTO; |
| | | import cn.stylefeng.guns.modular.business.dto.MentalTestMyTestTopicDTO; |
| | | import cn.stylefeng.guns.modular.business.entity.*; |
| | | import cn.stylefeng.guns.modular.business.dto.MentalTestMyTestRecordTopicDTO; |
| | | import cn.stylefeng.guns.modular.business.entity.MentalAppointment; |
| | | import cn.stylefeng.guns.modular.business.service.*; |
| | | import cn.stylefeng.guns.modular.business.service.impl.ImBizService; |
| | | import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; |
| | | import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi; |
| | | import cn.stylefeng.roses.kernel.customer.modular.entity.Customer; |
| | | import cn.stylefeng.roses.kernel.customer.modular.service.CustomerService; |
| | | import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; |
| | | import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; |
| | | import cn.stylefeng.roses.kernel.rule.enums.*; |
| | | import cn.stylefeng.roses.kernel.rule.pojo.response.SuccessResponseData; |
| | | 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.plugins.pagination.Page; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.scheduling.annotation.EnableScheduling; |
| | | import org.springframework.scheduling.annotation.Scheduled; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.util.*; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | ); |
| | | |
| | | // 我的测试(含题库信息) |
| | | List<MentalTestMyTestTopicDTO> myTestRecordTopicList = new ArrayList<>(); |
| | | List<MentalTestMyTestRecordTopicDTO> myTestRecordTopicList = new ArrayList<>(); |
| | | if (CollUtil.isNotEmpty(mentalAppointmentList)) { |
| | | myTestRecordTopicList = mentalTestRecordService.myTestRecordTopicByMentalAppointmentId(null, mentalAppointmentList.stream().map(MentalAppointment::getId).collect(Collectors.toList())); |
| | | } |
| | | |
| | | for (MentalAppointment o : mentalAppointmentList) { |
| | | if (o.getType()==null) { |
| | | MentalTestMyTestTopicDTO mentalTestMyTestTopicDTO = myTestRecordTopicList.stream().filter(rt -> rt.getMentalAppointmentId().equals(o.getId())).findFirst().orElse(new MentalTestMyTestTopicDTO()); |
| | | MentalTestMyTestRecordTopicDTO mentalTestMyTestRecordTopicDTO = myTestRecordTopicList.stream().filter(rt -> rt.getMentalAppointmentId().equals(o.getId())).findFirst().orElse(new MentalTestMyTestRecordTopicDTO()); |
| | | |
| | | // 发送IM消息 |
| | | ImPushDataDTO pushData = ImPushDataDTO.builder() |
| | | .type(ImPushTypeEnum.C_TO_W_IM_1V1_START_CONSULT.getCode()) |
| | | .title(ImPushTypeEnum.C_TO_W_IM_1V1_START_CONSULT.getName()) |
| | | .content("做了" |
| | | + ObjUtil.defaultIfEmpty(mentalTestMyTestTopicDTO.getTitle(), "心理测试题") |
| | | + ObjUtil.defaultIfEmpty(mentalTestMyTestRecordTopicDTO.getTitle(), "心理测试题") |
| | | + ",帮我分析一下!") |
| | | .objId(ObjUtil.toString(o.getId())) |
| | | .data1(ObjUtil.toString(o.getUserId())) |
| | | .data2(ObjUtil.toString(o.getWorkerId())) |
| | | .data3(ObjUtil.toString(mentalTestMyTestTopicDTO.getId())) |
| | | .data3(ObjUtil.toString(mentalTestMyTestRecordTopicDTO.getId())) |
| | | .build(); |
| | | imBizService.messageSendPrivate( |
| | | ObjUtil.toString(o.getUserId()), |