package com.ruoyi.service.impl;
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
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.SecurityUtils;
|
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.domain.*;
|
import com.ruoyi.mapper.ZfApplicationMapper;
|
import com.ruoyi.service.*;
|
import org.elasticsearch.action.delete.DeleteRequest;
|
import org.elasticsearch.client.RequestOptions;
|
import org.elasticsearch.client.RestHighLevelClient;
|
import org.springframework.stereotype.Service;
|
import javax.annotation.Resource;
|
import java.io.IOException;
|
import java.util.*;
|
|
|
@Service
|
public class ZfApplicationServiceImpl extends ServiceImpl<ZfApplicationMapper, ZfApplication> implements ZfApplicationService {
|
|
@Resource
|
ZInfoUserService zInfoUserService;
|
|
|
@Resource
|
EsService esService;
|
|
@Resource
|
private RestHighLevelClient restHighLevelClient;
|
|
|
|
|
|
@Override
|
public AjaxResult selectDoctorList(ZfApplication zfApplication, Integer pageNum, Integer pageSize,Integer roleId) {
|
|
//要查自己家庭的
|
ZInfoUser myself = zInfoUserService.getMyself();
|
System.out.println("[[[[[[[[["+myself);
|
if (myself !=null) {
|
System.out.println("iiiiiii"+myself.getClanId());
|
zfApplication.setClanId(myself.getClanId());
|
if (roleId != 1) zfApplication.setApplicant(myself.getSysId().intValue());
|
}
|
|
|
LambdaQueryWrapper<ZfApplication> lqw = buildCondition(zfApplication);
|
Page<ZfApplication> zfDoctorPage = new Page<>(pageNum, pageSize);
|
Page<ZfApplication> pageResult = page(zfDoctorPage, lqw);
|
List<ZfApplication> beanRecords = pageResult.getRecords();//得到查询出来的数据
|
|
HashMap<String, Object> data = MapUtils.getResult(pageResult, beanRecords);
|
return AjaxResult.success(data);
|
}
|
|
@Override
|
public List<ZfApplication> selectByCondition(ZfApplication zfApplication) {
|
LambdaQueryWrapper<ZfApplication> lambdaQueryWrapper = buildCondition(zfApplication);
|
List<ZfApplication> beanRecords = list(lambdaQueryWrapper);
|
return beanRecords;
|
}
|
|
@Override
|
public List<ZfApplication> selectByIds(Long[] ids) {
|
List<ZfApplication> list = new ArrayList<>();
|
if (ids.length != 0)
|
list = listByIds(Arrays.asList(ids));
|
else
|
list = list();
|
return list;
|
}
|
|
|
|
@Override
|
public AjaxResult addData(ZfApplication zfApplication) {
|
ZInfoUser myself = zInfoUserService.getMyself();
|
|
Long userId = SecurityUtils.getUserId();
|
|
if (myself !=null) {
|
zfApplication.setClanId(myself.getClanId());
|
}
|
|
Date currentDate = new Date();
|
|
zfApplication.setApplicant(userId.intValue());
|
zfApplication.setStatus("0");
|
zfApplication.setCreateTime(currentDate);
|
if (save(zfApplication)) {
|
EsModel esModel = new EsModel();
|
Integer inte = zfApplication.getId();
|
String uuid = UUID.randomUUID().toString().replace("-", "");
|
esModel.setId(uuid);
|
esModel.setCtId(Long.valueOf(inte));
|
esModel.setCtTableName("申请表");
|
esModel.setBy2(zfApplication.getApplyReason());
|
//这里存储查询详情的路径
|
esService.insertTable(esModel);
|
return AjaxResult.success();
|
} else {
|
return AjaxResult.error();
|
}
|
}
|
|
|
|
@Override
|
public AjaxResult deleteData(Long[] ids) {
|
|
List<ZfApplication> zfDoctors = listByIds(Arrays.asList(ids));
|
|
if (this.removeByIds(Arrays.asList(ids))) {
|
|
//删除es中的数据
|
zfDoctors.stream().forEach(zfDoctor -> {
|
EsModel esModel = esService.findByCtId(zfDoctor.getId().intValue(), "申请表");
|
|
if (esModel != null) {
|
DeleteRequest deleteRequest = new DeleteRequest("allsearchdata", esModel.getId());
|
try {
|
restHighLevelClient.delete(deleteRequest, RequestOptions.DEFAULT);
|
} catch (IOException e) {
|
throw new RuntimeException(e);
|
}
|
|
}
|
});
|
return AjaxResult.success();
|
} else {
|
return AjaxResult.error();
|
}
|
}
|
|
@Override
|
public AjaxResult setStatus(ZfApplication zfApplication)
|
{
|
Date currentDate = new Date();
|
System.out.println("[[[[[[["+zfApplication);
|
|
LambdaUpdateWrapper<ZfApplication> lqw = new LambdaUpdateWrapper();
|
lqw
|
.eq(ZfApplication::getId,zfApplication.getId())
|
.set(ZfApplication::getStatus,zfApplication.getStatus())
|
.set(ZfApplication::getCreateTime, currentDate);
|
|
|
boolean isUpdated = this.update(lqw); // 使用Service执行更新
|
|
if (isUpdated) {
|
if (zfApplication.getStatus().equals("1"))
|
return AjaxResult.success("已经给该用户延长试用时间");
|
else return AjaxResult.success("已驳回该用户的申请");
|
} else {
|
return AjaxResult.error("更新失败,请检查数据");
|
}
|
}
|
|
|
private LambdaQueryWrapper<ZfApplication> uniqueCondition(ZfApplication zfApplication) {
|
LambdaQueryWrapper<ZfApplication> lqw = new LambdaQueryWrapper<>();
|
lqw.eq(zfApplication.getApplicant() != null,ZfApplication::getApplicant, zfApplication.getApplicant())
|
.eq(StringUtils.isNotEmpty(zfApplication.getApplyReason()), ZfApplication::getApplyReason, zfApplication.getApplyReason())
|
.eq(zfApplication.getStatus() != null, ZfApplication::getStatus, zfApplication.getStatus())
|
.eq(zfApplication.getClanId() != null, ZfApplication::getClanId, zfApplication.getClanId())
|
.eq(zfApplication.getApplyDay() != null, ZfApplication::getApplyDay, zfApplication.getApplyDay());
|
return lqw;
|
}
|
|
private LambdaQueryWrapper<ZfApplication> buildCondition(ZfApplication zfApplication) {
|
LambdaQueryWrapper<ZfApplication> lqw = new LambdaQueryWrapper<>();
|
lqw.orderByDesc(ZfApplication::getCreateTime);
|
lqw.like(zfApplication.getApplicant() !=null,ZfApplication::getApplicant, zfApplication.getApplicant())
|
.like(StringUtils.isNotEmpty(zfApplication.getApplyReason()), ZfApplication::getApplyReason, zfApplication.getApplyReason())
|
.like(zfApplication.getStatus() != null, ZfApplication::getStatus, zfApplication.getStatus())
|
.like(zfApplication.getClanId() != null, ZfApplication::getClanId, zfApplication.getClanId())
|
.like(zfApplication.getApplyDay() != null, ZfApplication::getApplyDay, zfApplication.getApplyDay())
|
.like(zfApplication.getId() != null, ZfApplication::getId, zfApplication.getId())
|
;
|
|
return lqw;
|
}
|
}
|