package cn.stylefeng.guns.modular.business.service.impl;
|
|
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.ListUtil;
|
import cn.stylefeng.guns.modular.business.dto.MentalAnalysisTimeConfigPageDTO;
|
import cn.stylefeng.guns.modular.business.dto.request.MentalAnalysisTimeConfigAddUpdateRequest;
|
import cn.stylefeng.guns.modular.business.entity.MentalAnalysisTimeConfig;
|
import cn.stylefeng.guns.modular.business.mapper.MentalAnalysisTimeConfigMapper;
|
import cn.stylefeng.guns.modular.business.service.IMentalAnalysisTimeConfigService;
|
import cn.stylefeng.guns.utils.GeneralUtil;
|
import cn.stylefeng.roses.kernel.customer.modular.entity.Customer;
|
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 org.springframework.stereotype.Service;
|
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* <p>
|
* 性格分析时间配置 服务实现类
|
* </p>
|
*
|
* @author goupan
|
* @since 2024-01-26
|
*/
|
@Service
|
public class MentalAnalysisTimeConfigServiceImpl extends ServiceImpl<MentalAnalysisTimeConfigMapper, MentalAnalysisTimeConfig> implements IMentalAnalysisTimeConfigService {
|
|
@Override
|
public Page<MentalAnalysisTimeConfigPageDTO> getWorkerPage(Page<Object> page, String nickName) {
|
return this.baseMapper.getWorkerPage(page, nickName);
|
}
|
|
@Override
|
public void addTimeConfig(MentalAnalysisTimeConfigAddUpdateRequest req) {
|
// for (MentalAnalysisTimeConfigAddUpdateRequest.TimeConfigRequest tc : req.getTimeConfigList()) {
|
// MentalAnalysisTimeConfig o = BeanUtil.toBean(tc, MentalAnalysisTimeConfig.class);
|
// o.setCounsellingInfoId(req.getCounsellingInfoId());
|
// this.save(o);
|
// }
|
// 删除时间配置重新生成
|
this.remove(new LambdaQueryWrapper<MentalAnalysisTimeConfig>().eq(MentalAnalysisTimeConfig::getCounsellingInfoId, req.getCounsellingInfoId()));
|
// 处理预约时间配置
|
if (CollectionUtil.isNotEmpty(req.getTimeConfigDTOList()) ){
|
List<MentalAnalysisTimeConfig> counsellingTimeConfigs = new ArrayList<>();
|
req.getTimeConfigDTOList().forEach(timeConfigDTO -> {
|
// 模块编号
|
String moduleNo = GeneralUtil.generateModuleNo();
|
// 星期几
|
List<String> weekList = ListUtil.toList(timeConfigDTO.getWeeks().split(","));
|
// 时间点
|
List<String> timePointList = ListUtil.toList(timeConfigDTO.getTimePoints().split(","));
|
weekList.stream().forEach(week -> {
|
timePointList.forEach(timePoint -> {
|
MentalAnalysisTimeConfig obj = new MentalAnalysisTimeConfig();
|
obj.setModuleNo(moduleNo);
|
obj.setWeekDay(Integer.parseInt(week));
|
obj.setCounsellingInfoId(req.getCounsellingInfoId());
|
obj.setBeginTimePoint(timePoint.split("-")[0]);
|
obj.setEndTimePoint(timePoint.split("-")[1]);
|
counsellingTimeConfigs.add(obj);
|
});
|
});
|
});
|
|
if (CollectionUtil.isNotEmpty(counsellingTimeConfigs)){
|
this.saveBatch(counsellingTimeConfigs);
|
}
|
}
|
}
|
|
@Override
|
public void editTimeConfig(MentalAnalysisTimeConfigAddUpdateRequest req) {
|
// for (MentalAnalysisTimeConfigAddUpdateRequest.TimeConfigRequest tc : req.getTimeConfigList()) {
|
// MentalAnalysisTimeConfig o = BeanUtil.toBean(tc, MentalAnalysisTimeConfig.class);
|
// o.setCounsellingInfoId(req.getCounsellingInfoId());
|
// this.saveOrUpdate(o);
|
// }
|
}
|
|
@Override
|
public List<MentalAnalysisTimeConfig> getWorkerListByAppointmentTime(Integer workStatus, Integer mentalAnalysisStatus, Integer weekDay, String appointmentDay, String beginTimePoint, String endTimePoint) {
|
return this.baseMapper.getWorkerListByAppointmentTime(workStatus, mentalAnalysisStatus, weekDay, appointmentDay, beginTimePoint, endTimePoint);
|
}
|
|
}
|