|
|
@@ -1,7 +1,12 @@
|
|
|
package com.xjrsoft.module.personnel.service.impl;
|
|
|
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.github.yulichang.base.MPJBaseServiceImpl;
|
|
|
+import com.google.gson.JsonObject;
|
|
|
+import com.xjrsoft.common.enums.GenderIntEnum;
|
|
|
+import com.xjrsoft.module.hikvision.entity.HikvisionData;
|
|
|
+import com.xjrsoft.module.hikvision.mapper.HikvisionDataMapper;
|
|
|
+import com.xjrsoft.module.hikvision.util.ApiUtil;
|
|
|
import com.xjrsoft.module.personnel.entity.ReservationSchoolPeople;
|
|
|
import com.xjrsoft.module.personnel.mapper.ReservationSchoolPeopleMapper;
|
|
|
import com.xjrsoft.module.personnel.entity.ReservationSchool;
|
|
|
@@ -10,6 +15,8 @@ import com.xjrsoft.module.personnel.service.IReservationSchoolService;
|
|
|
import lombok.AllArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+
|
|
|
+import java.text.SimpleDateFormat;
|
|
|
import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
import java.util.stream.Collectors;
|
|
|
@@ -24,18 +31,19 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
@Service
|
|
|
@AllArgsConstructor
|
|
|
public class ReservationSchoolServiceImpl extends MPJBaseServiceImpl<ReservationSchoolMapper, ReservationSchool> implements IReservationSchoolService {
|
|
|
- private final ReservationSchoolMapper reservationSchoolReservationSchoolMapper;
|
|
|
+ private final ReservationSchoolMapper reservationSchoolMapper;
|
|
|
|
|
|
- private final ReservationSchoolPeopleMapper reservationSchoolReservationSchoolPeopleMapper;
|
|
|
+ private final ReservationSchoolPeopleMapper reservationSchoolPeopleMapper;
|
|
|
|
|
|
+ private final HikvisionDataMapper hikvisionDataMapper;
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean add(ReservationSchool reservationSchool) {
|
|
|
- reservationSchoolReservationSchoolMapper.insert(reservationSchool);
|
|
|
+ reservationSchoolMapper.insert(reservationSchool);
|
|
|
for (ReservationSchoolPeople reservationSchoolPeople : reservationSchool.getReservationSchoolPeopleList()) {
|
|
|
reservationSchoolPeople.setReservationSchooId(reservationSchool.getId());
|
|
|
- reservationSchoolReservationSchoolPeopleMapper.insert(reservationSchoolPeople);
|
|
|
+ reservationSchoolPeopleMapper.insert(reservationSchoolPeople);
|
|
|
}
|
|
|
|
|
|
return true;
|
|
|
@@ -44,11 +52,11 @@ public class ReservationSchoolServiceImpl extends MPJBaseServiceImpl<Reservation
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean update(ReservationSchool reservationSchool) {
|
|
|
- reservationSchoolReservationSchoolMapper.updateById(reservationSchool);
|
|
|
+ reservationSchoolMapper.updateById(reservationSchool);
|
|
|
//********************************* ReservationSchoolPeople 增删改 开始 *******************************************/
|
|
|
{
|
|
|
// 查出所有子级的id
|
|
|
- List<ReservationSchoolPeople> reservationSchoolPeopleList = reservationSchoolReservationSchoolPeopleMapper.selectList(Wrappers.lambdaQuery(ReservationSchoolPeople.class).eq(ReservationSchoolPeople::getReservationSchooId, reservationSchool.getId()).select(ReservationSchoolPeople::getId));
|
|
|
+ List<ReservationSchoolPeople> reservationSchoolPeopleList = reservationSchoolPeopleMapper.selectList(Wrappers.lambdaQuery(ReservationSchoolPeople.class).eq(ReservationSchoolPeople::getReservationSchooId, reservationSchool.getId()).select(ReservationSchoolPeople::getId));
|
|
|
List<Long> reservationSchoolPeopleIds = reservationSchoolPeopleList.stream().map(ReservationSchoolPeople::getId).collect(Collectors.toList());
|
|
|
//原有子表单 没有被删除的主键
|
|
|
List<Long> reservationSchoolPeopleOldIds = reservationSchool.getReservationSchoolPeopleList().stream().map(ReservationSchoolPeople::getId).filter(Objects::nonNull).collect(Collectors.toList());
|
|
|
@@ -58,18 +66,18 @@ public class ReservationSchoolServiceImpl extends MPJBaseServiceImpl<Reservation
|
|
|
for (ReservationSchoolPeople reservationSchoolPeople : reservationSchool.getReservationSchoolPeopleList()) {
|
|
|
//如果不等于空则修改
|
|
|
if (reservationSchoolPeople.getId() != null) {
|
|
|
- reservationSchoolReservationSchoolPeopleMapper.updateById(reservationSchoolPeople);
|
|
|
+ reservationSchoolPeopleMapper.updateById(reservationSchoolPeople);
|
|
|
}
|
|
|
//如果等于空 则新增
|
|
|
else {
|
|
|
//已经不存在的id 删除
|
|
|
reservationSchoolPeople.setReservationSchooId(reservationSchool.getId());
|
|
|
- reservationSchoolReservationSchoolPeopleMapper.insert(reservationSchoolPeople);
|
|
|
+ reservationSchoolPeopleMapper.insert(reservationSchoolPeople);
|
|
|
}
|
|
|
}
|
|
|
//已经不存在的id 删除
|
|
|
if(reservationSchoolPeopleRemoveIds.size() > 0){
|
|
|
- reservationSchoolReservationSchoolPeopleMapper.deleteBatchIds(reservationSchoolPeopleRemoveIds);
|
|
|
+ reservationSchoolPeopleMapper.deleteBatchIds(reservationSchoolPeopleRemoveIds);
|
|
|
}
|
|
|
}
|
|
|
//********************************* ReservationSchoolPeople 增删改 结束 *******************************************/
|
|
|
@@ -80,8 +88,54 @@ public class ReservationSchoolServiceImpl extends MPJBaseServiceImpl<Reservation
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public Boolean delete(List<Long> ids) {
|
|
|
- reservationSchoolReservationSchoolMapper.deleteBatchIds(ids);
|
|
|
- reservationSchoolReservationSchoolPeopleMapper.delete(Wrappers.lambdaQuery(ReservationSchoolPeople.class).in(ReservationSchoolPeople::getReservationSchooId, ids));
|
|
|
+ reservationSchoolMapper.deleteBatchIds(ids);
|
|
|
+ reservationSchoolPeopleMapper.delete(Wrappers.lambdaQuery(ReservationSchoolPeople.class).in(ReservationSchoolPeople::getReservationSchooId, ids));
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 预约免登记
|
|
|
+ * @param dataObj
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Boolean registration(ReservationSchool dataObj) {
|
|
|
+ String apiPath = "/api/visitor/v1/appointment/registration";
|
|
|
+ ApiUtil apiUtil = new ApiUtil();
|
|
|
+
|
|
|
+ //查询被访人id
|
|
|
+ HikvisionData hikvisionData = hikvisionDataMapper.selectOne(
|
|
|
+ new QueryWrapper<HikvisionData>().lambda()
|
|
|
+ .eq(HikvisionData::getSourceId, dataObj.getRespondentUserId())
|
|
|
+ .eq(HikvisionData::getTableName, "base_teacher")
|
|
|
+ );
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
|
|
|
+ List<ReservationSchoolPeople> peopleList = dataObj.getReservationSchoolPeopleList();
|
|
|
+ for (ReservationSchoolPeople people : peopleList) {
|
|
|
+ JsonObject paramJson = new JsonObject();
|
|
|
+ paramJson.addProperty("receptionistId", hikvisionData.getHikvisionId());
|
|
|
+
|
|
|
+ paramJson.addProperty("visitStartTime", sdf.format(dataObj.getStartTime()));
|
|
|
+ paramJson.addProperty("visitEndTime", sdf.format(dataObj.getEndTime()));
|
|
|
+
|
|
|
+ //查询来访人数
|
|
|
+ paramJson.addProperty("personNum", dataObj.getReservationSchoolPeopleList().size());
|
|
|
+ paramJson.addProperty("visitorInfo", dataObj.getReservationSchoolPeopleList().size());
|
|
|
+ paramJson.addProperty("personNum", dataObj.getReservationSchoolPeopleList().size());
|
|
|
+
|
|
|
+ JsonObject visitorInfo = new JsonObject();
|
|
|
+ visitorInfo.addProperty("visitorName", people.getName());
|
|
|
+ visitorInfo.addProperty("gender", GenderIntEnum.getValue(people.getGender()));
|
|
|
+ visitorInfo.addProperty("phoneNo", people.getPhone());
|
|
|
+ if("是".equals(people.getIsCar())){
|
|
|
+ visitorInfo.addProperty("plateNo", people.getPlateNumber());
|
|
|
+ }
|
|
|
+ visitorInfo.addProperty("certificateNo", people.getIdentityCard());
|
|
|
+ paramJson.add("visitorInfo", visitorInfo);
|
|
|
+
|
|
|
+ apiUtil.doPost(apiPath, paramJson.toString(), null);
|
|
|
+ }
|
|
|
|
|
|
return true;
|
|
|
}
|