|
@ -409,45 +409,50 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD |
|
|
@Override |
|
|
@Override |
|
|
public FinishResultDTO finish(FinishStaffFromDTO formDTO) { |
|
|
public FinishResultDTO finish(FinishStaffFromDTO formDTO) { |
|
|
IcUserDemandRecEntity entity = checkFinishPreCondition(formDTO.getDemandRecId()); |
|
|
IcUserDemandRecEntity entity = checkFinishPreCondition(formDTO.getDemandRecId()); |
|
|
|
|
|
//查询服务记录
|
|
|
|
|
|
IcUserDemandServiceEntity serviceEntity=demandServiceDao.selectById(formDTO.getServiceId()); |
|
|
|
|
|
if(null==serviceEntity){ |
|
|
|
|
|
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "服务记录不存在", EpmetErrorCode.SERVER_ERROR.getMsg()); |
|
|
|
|
|
} |
|
|
|
|
|
FinishResultDTO finishResultDTO=new FinishResultDTO(); |
|
|
|
|
|
finishResultDTO.setServerId(serviceEntity.getServerId()); |
|
|
|
|
|
finishResultDTO.setServiceType(serviceEntity.getServiceType()); |
|
|
|
|
|
Date nowDate=new Date(); |
|
|
|
|
|
if(!UserDemandConstant.FINISHED.equals(entity.getStatus())){ |
|
|
//1、插入完成操作日志
|
|
|
//1、插入完成操作日志
|
|
|
IcUserDemandOperateLogEntity logEntity = ConvertUtils.sourceToTarget(formDTO,IcUserDemandOperateLogEntity.class); |
|
|
IcUserDemandOperateLogEntity logEntity = ConvertUtils.sourceToTarget(formDTO,IcUserDemandOperateLogEntity.class); |
|
|
logEntity.setActionCode(UserDemandConstant.FINISH); |
|
|
logEntity.setActionCode(UserDemandConstant.FINISH); |
|
|
logEntity.setOperateTime(new Date()); |
|
|
logEntity.setOperateTime(nowDate); |
|
|
operateLogDao.insert(logEntity); |
|
|
operateLogDao.insert(logEntity); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//2、更新服务记录,记录实际开始,实际结束时间
|
|
|
//1.2、更新服务记录,记录实际开始,实际结束时间
|
|
|
IcUserDemandServiceEntity serviceEntity=demandServiceDao.selectById(formDTO.getServiceId()); |
|
|
|
|
|
if(null==serviceEntity){ |
|
|
|
|
|
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), "服务记录不存在", EpmetErrorCode.SERVER_ERROR.getMsg()); |
|
|
|
|
|
} |
|
|
|
|
|
serviceEntity.setServiceStartTime(formDTO.getServiceStartTime()); |
|
|
serviceEntity.setServiceStartTime(formDTO.getServiceStartTime()); |
|
|
serviceEntity.setServiceEndTime(formDTO.getServiceEndTime()); |
|
|
serviceEntity.setServiceEndTime(formDTO.getServiceEndTime()); |
|
|
demandServiceDao.updateById(serviceEntity); |
|
|
demandServiceDao.updateById(serviceEntity); |
|
|
|
|
|
//1.3、修改主表状态为已完成
|
|
|
FinishResultDTO finishResultDTO=new FinishResultDTO(); |
|
|
entity.setStatus(UserDemandConstant.FINISHED); |
|
|
finishResultDTO.setServerId(serviceEntity.getServerId()); |
|
|
} |
|
|
finishResultDTO.setServiceType(serviceEntity.getServiceType()); |
|
|
// 2、pc完成情况:完成+评价
|
|
|
// 3、pc完成情况:完成+评价
|
|
|
|
|
|
if(UserDemandConstant.FINISH_AND_EVALUATE.equals(formDTO.getType())){ |
|
|
if(UserDemandConstant.FINISH_AND_EVALUATE.equals(formDTO.getType())){ |
|
|
//3.1、插入评价得分记录
|
|
|
//2.1、插入评价得分记录
|
|
|
IcUserDemandSatisfactionEntity satisfactionEntity=ConvertUtils.sourceToTarget(formDTO,IcUserDemandSatisfactionEntity.class); |
|
|
IcUserDemandSatisfactionEntity satisfactionEntity=ConvertUtils.sourceToTarget(formDTO,IcUserDemandSatisfactionEntity.class); |
|
|
satisfactionEntity.setEvaluateTime(logEntity.getOperateTime()); |
|
|
satisfactionEntity.setEvaluateTime(nowDate); |
|
|
satisfactionEntity.setRemark(StringUtils.isNotBlank(formDTO.getFinishDesc())?formDTO.getFinishDesc():StrConstant.EPMETY_STR); |
|
|
satisfactionEntity.setRemark(StringUtils.isNotBlank(formDTO.getFinishDesc())?formDTO.getFinishDesc():StrConstant.EPMETY_STR); |
|
|
demandSatisfactionDao.insert(satisfactionEntity); |
|
|
demandSatisfactionDao.insert(satisfactionEntity); |
|
|
|
|
|
|
|
|
// 3.2插入评价操作日志
|
|
|
// 2.2插入评价操作日志
|
|
|
IcUserDemandOperateLogEntity evaluateEntity=ConvertUtils.sourceToTarget(logEntity,IcUserDemandOperateLogEntity.class); |
|
|
IcUserDemandOperateLogEntity evaluateEntity = ConvertUtils.sourceToTarget(formDTO,IcUserDemandOperateLogEntity.class); |
|
|
evaluateEntity.setActionCode(UserDemandConstant.EVALUATE); |
|
|
evaluateEntity.setActionCode(UserDemandConstant.EVALUATE); |
|
|
|
|
|
evaluateEntity.setOperateTime(nowDate); |
|
|
evaluateEntity.setId(null); |
|
|
evaluateEntity.setId(null); |
|
|
operateLogDao.insert(evaluateEntity); |
|
|
operateLogDao.insert(evaluateEntity); |
|
|
|
|
|
|
|
|
//3.4更新主表已评价标识,是否解决标识。
|
|
|
//2.3更新主表已评价标识,是否解决标识。
|
|
|
entity.setEvaluateFlag(true); |
|
|
entity.setEvaluateFlag(true); |
|
|
entity.setFinishResult(formDTO.getFinishResult()); |
|
|
entity.setFinishResult(formDTO.getFinishResult()); |
|
|
|
|
|
|
|
|
//3.5如果需求是志愿者完成的,发送消息:您收到来自XXX的评价,请查看。
|
|
|
//2.4如果需求是志愿者完成的,发送消息:您收到来自XXX的评价,请查看。
|
|
|
sendVolunnterEvaluated(entity); |
|
|
sendVolunnterEvaluated(entity); |
|
|
|
|
|
|
|
|
finishResultDTO.setAwardPoint(entity.getAwardPoint()); |
|
|
finishResultDTO.setAwardPoint(entity.getAwardPoint()); |
|
@ -461,12 +466,8 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD |
|
|
String content = entity.getContent().length() > 100 ? entity.getContent().substring(0, 99) : entity.getContent(); |
|
|
String content = entity.getContent().length() > 100 ? entity.getContent().substring(0, 99) : entity.getContent(); |
|
|
finishResultDTO.setRemark(String.format(UserDemandConstant.GRANT_POINT_REMARK,entity.getDemandUserName(),content)); |
|
|
finishResultDTO.setRemark(String.format(UserDemandConstant.GRANT_POINT_REMARK,entity.getDemandUserName(),content)); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//4、修改主表状态为已完成
|
|
|
|
|
|
entity.setStatus(UserDemandConstant.FINISHED); |
|
|
|
|
|
baseDao.updateById(entity); |
|
|
baseDao.updateById(entity); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 5、如果是居民端用户提出的需求,发消息:您提出的需求已完成,请进行服务评价。
|
|
|
// 5、如果是居民端用户提出的需求,发消息:您提出的需求已完成,请进行服务评价。
|
|
|
sendDemandUserFinished(entity); |
|
|
sendDemandUserFinished(entity); |
|
|
return finishResultDTO; |
|
|
return finishResultDTO; |
|
@ -483,14 +484,14 @@ public class IcUserDemandRecServiceImpl extends BaseServiceImpl<IcUserDemandRecD |
|
|
if (null == entity) { |
|
|
if (null == entity) { |
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "需求不存在", EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getMsg()); |
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "需求不存在", EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getMsg()); |
|
|
} |
|
|
} |
|
|
if(UserDemandConstant.FINISHED.equals(entity.getStatus()) ){ |
|
|
/*if(UserDemandConstant.FINISHED.equals(entity.getStatus()) ){ |
|
|
//已经完成
|
|
|
//已经完成
|
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "服务已完成,不可重复提交", "服务已完成,不可重复提交"); |
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), "服务已完成,不可重复提交", "服务已完成,不可重复提交"); |
|
|
} |
|
|
} |
|
|
if (!UserDemandConstant.ASSIGNED.equals(entity.getStatus()) && !UserDemandConstant.HAVE_ORDER.equals(entity.getStatus())) { |
|
|
if (!UserDemandConstant.ASSIGNED.equals(entity.getStatus()) && !UserDemandConstant.HAVE_ORDER.equals(entity.getStatus())) { |
|
|
//已指派、已抢单的才可以完成
|
|
|
//已指派、已抢单的才可以完成
|
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), String.format("需求当前状态为【%s】,不可点击服务完成",entity.getStatus()), "当前状态,不能确认服务完成"); |
|
|
throw new EpmetException(EpmetErrorCode.EPMET_COMMON_OPERATION_FAIL.getCode(), String.format("需求当前状态为【%s】,不可点击服务完成",entity.getStatus()), "当前状态,不能确认服务完成"); |
|
|
} |
|
|
}*/ |
|
|
return entity; |
|
|
return entity; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|