|
|
@ -1,5 +1,6 @@ |
|
|
|
package com.epmet.service.impl; |
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
|
|
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
|
import com.epmet.commons.tools.constant.ServiceConstant; |
|
|
|
import com.epmet.commons.tools.enums.DictTypeEnum; |
|
|
@ -59,6 +60,8 @@ public class IcServiceRecordServiceImpl extends BaseServiceImpl<IcServiceRecordD |
|
|
|
private IcServiceFeedbackDao serviceFeedbackDao; |
|
|
|
@Autowired |
|
|
|
private IcServiceProjectAttachmentDao serviceProjectAttachmentDao; |
|
|
|
@Autowired |
|
|
|
private IcServiceRecordDao serviceRecordDao; |
|
|
|
|
|
|
|
/** |
|
|
|
* http://yapi.elinkservice.cn/project/245/interface/api/7820
|
|
|
@ -159,6 +162,15 @@ public class IcServiceRecordServiceImpl extends BaseServiceImpl<IcServiceRecordD |
|
|
|
|
|
|
|
@Transactional(rollbackFor = Throwable.class) |
|
|
|
public void initiateService(ServiceProjectRecordFormDTO input) { |
|
|
|
|
|
|
|
LambdaQueryWrapper<IcServiceRecordEntity> query = new LambdaQueryWrapper<>(); |
|
|
|
query.eq(IcServiceRecordEntity::getServiceProjectId, input.getServiceProjectId()); |
|
|
|
|
|
|
|
if (serviceRecordDao.selectCount(query) > 0) { |
|
|
|
String msg = "该项目已经发起服务,不能重复发起"; |
|
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), msg, msg); |
|
|
|
} |
|
|
|
|
|
|
|
IcServiceProjectEntity serviceProject = serviceProjectDao.selectById(input.getServiceProjectId()); |
|
|
|
IcServiceOrgEntity serviceOrg = serviceOrgDao.selectById(input.getServiceOrgId()); |
|
|
|
|
|
|
@ -203,40 +215,7 @@ public class IcServiceRecordServiceImpl extends BaseServiceImpl<IcServiceRecordD |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
IcServiceFeedbackEntity feedbackEntity = new IcServiceFeedbackEntity(); |
|
|
|
feedbackEntity.setServiceCategoryKey(input.getServiceCategoryKey()); |
|
|
|
feedbackEntity.setServiceProjectId(input.getServiceProjectId()); |
|
|
|
feedbackEntity.setServiceOrgId(input.getServiceOrgId()); |
|
|
|
feedbackEntity.setServiceGoal(feedbackDto.getServiceGoal()); |
|
|
|
feedbackEntity.setServiceEffect(feedbackDto.getServiceEffect()); |
|
|
|
feedbackEntity.setServicePeopleNumber(feedbackDto.getServicePeopleNumber()); |
|
|
|
feedbackEntity.setSatisfaction(feedbackDto.getSatisfaction()); |
|
|
|
feedbackEntity.setLongitude(feedbackDto.getLongitude()); |
|
|
|
feedbackEntity.setLatitude(feedbackDto.getLatitude()); |
|
|
|
feedbackEntity.setAddress(feedbackDto.getAddress()); |
|
|
|
feedbackEntity.setServiceRecordId(serviceRecord.getId()); |
|
|
|
serviceFeedbackDao.insert(feedbackEntity); |
|
|
|
|
|
|
|
// 4.反馈附件列表
|
|
|
|
List<ServiceProjectFeedbackFormDTO.Attachment> attachmentList = feedbackDto.getAttachmentList(); |
|
|
|
if (CollectionUtils.isNotEmpty(attachmentList)) { |
|
|
|
for (int i = 0; i < attachmentList.size(); i++) { |
|
|
|
ServiceProjectFeedbackFormDTO.Attachment a = attachmentList.get(i); |
|
|
|
|
|
|
|
IcServiceProjectAttachmentEntity at = new IcServiceProjectAttachmentEntity(); |
|
|
|
at.setAttachmentFormat(a.getAttachmentFormat()); |
|
|
|
at.setAttachmentName(a.getAttachmentName()); |
|
|
|
at.setAttachmentType(a.getAttachmentType()); |
|
|
|
at.setAttachmentUrl(a.getAttachmentUrl()); |
|
|
|
at.setDuration(0); |
|
|
|
at.setIcServiceId(input.getServiceProjectId()); |
|
|
|
// 根本不需要审核,逗你玩
|
|
|
|
at.setReason(null); |
|
|
|
at.setStatus("auto_passed"); |
|
|
|
at.setSort(i); |
|
|
|
serviceProjectAttachmentDao.insert(at); |
|
|
|
} |
|
|
|
} |
|
|
|
serviceFeedback(input.getServiceCategoryKey(), input.getServiceOrgId(), input.getServiceProjectId(), serviceRecord.getId(), feedbackDto); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@ -283,4 +262,52 @@ public class IcServiceRecordServiceImpl extends BaseServiceImpl<IcServiceRecordD |
|
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), msg, msg); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Transactional(rollbackFor = Throwable.class) |
|
|
|
@Override |
|
|
|
public void serviceFeedback(String serviceCategoryKey, String serviceOrgId, String serviceProjectId, String serviceRecordId, ServiceProjectFeedbackFormDTO feedbackDto) { |
|
|
|
|
|
|
|
// 如果还在服务中,那么需要改为已结束
|
|
|
|
IcServiceRecordEntity serviceRecord = serviceRecordDao.selectById(serviceRecordId); |
|
|
|
if ("in_service".equals(serviceRecord.getServiceStatus())) { |
|
|
|
serviceRecord.setServiceStatus("completed"); |
|
|
|
serviceRecordDao.updateById(serviceRecord); |
|
|
|
} |
|
|
|
|
|
|
|
// 反馈信息
|
|
|
|
IcServiceFeedbackEntity feedbackEntity = new IcServiceFeedbackEntity(); |
|
|
|
feedbackEntity.setServiceCategoryKey(serviceCategoryKey); |
|
|
|
feedbackEntity.setServiceProjectId(serviceProjectId); |
|
|
|
feedbackEntity.setServiceOrgId(serviceOrgId); |
|
|
|
feedbackEntity.setServiceGoal(feedbackDto.getServiceGoal()); |
|
|
|
feedbackEntity.setServiceEffect(feedbackDto.getServiceEffect()); |
|
|
|
feedbackEntity.setServicePeopleNumber(feedbackDto.getServicePeopleNumber()); |
|
|
|
feedbackEntity.setSatisfaction(feedbackDto.getSatisfaction()); |
|
|
|
feedbackEntity.setLongitude(feedbackDto.getLongitude()); |
|
|
|
feedbackEntity.setLatitude(feedbackDto.getLatitude()); |
|
|
|
feedbackEntity.setAddress(feedbackDto.getAddress()); |
|
|
|
feedbackEntity.setServiceRecordId(serviceRecordId); |
|
|
|
serviceFeedbackDao.insert(feedbackEntity); |
|
|
|
|
|
|
|
// 反馈附件列表
|
|
|
|
List<ServiceProjectFeedbackFormDTO.Attachment> attachmentList = feedbackDto.getAttachmentList(); |
|
|
|
if (CollectionUtils.isNotEmpty(attachmentList)) { |
|
|
|
for (int i = 0; i < attachmentList.size(); i++) { |
|
|
|
ServiceProjectFeedbackFormDTO.Attachment a = attachmentList.get(i); |
|
|
|
|
|
|
|
IcServiceProjectAttachmentEntity at = new IcServiceProjectAttachmentEntity(); |
|
|
|
at.setAttachmentFormat(a.getAttachmentFormat()); |
|
|
|
at.setAttachmentName(a.getAttachmentName()); |
|
|
|
at.setAttachmentType(a.getAttachmentType()); |
|
|
|
at.setAttachmentUrl(a.getAttachmentUrl()); |
|
|
|
at.setDuration(0); |
|
|
|
at.setIcServiceId(serviceProjectId); |
|
|
|
// 根本不需要审核,逗你玩
|
|
|
|
at.setReason(null); |
|
|
|
at.setStatus("auto_passed"); |
|
|
|
at.setSort(i); |
|
|
|
serviceProjectAttachmentDao.insert(at); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |