Browse Source

Merge remote-tracking branch 'origin/dev_ic_mp' into develop

dev
yinzuomei 4 years ago
parent
commit
e499e8a9ab
  1. 5
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiDemandController.java
  2. 49
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java

5
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/ResiDemandController.java

@ -4,6 +4,7 @@ package com.epmet.controller;
import com.epmet.commons.rocketmq.messages.ServerSatisfactionCalFormDTO; import com.epmet.commons.rocketmq.messages.ServerSatisfactionCalFormDTO;
import com.epmet.commons.tools.annotation.LoginUser; import com.epmet.commons.tools.annotation.LoginUser;
import com.epmet.commons.tools.aop.NoRepeatSubmit; import com.epmet.commons.tools.aop.NoRepeatSubmit;
import com.epmet.commons.tools.constant.AppClientConstant;
import com.epmet.commons.tools.constant.MqConstant; import com.epmet.commons.tools.constant.MqConstant;
import com.epmet.commons.tools.constant.NumConstant; import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.dto.form.PageFormDTO; import com.epmet.commons.tools.dto.form.PageFormDTO;
@ -106,7 +107,11 @@ public class ResiDemandController {
formDTO.setCustomerId(tokenDto.getCustomerId()); formDTO.setCustomerId(tokenDto.getCustomerId());
formDTO.setUserId(tokenDto.getUserId()); formDTO.setUserId(tokenDto.getUserId());
formDTO.setType(UserDemandConstant.FINISHED); formDTO.setType(UserDemandConstant.FINISHED);
if (AppClientConstant.APP_GOV.equals(tokenDto.getApp())) {
formDTO.setUserType(UserDemandConstant.STAFF);
} else if (AppClientConstant.APP_RESI.equals(tokenDto.getApp())) {
formDTO.setUserType(UserDemandConstant.RESI); formDTO.setUserType(UserDemandConstant.RESI);
}
ValidatorUtils.validateEntity(formDTO, FinishStaffFromDTO.ResiShowGroup.class, FinishStaffFromDTO.AddUserInternalGroup.class); ValidatorUtils.validateEntity(formDTO, FinishStaffFromDTO.ResiShowGroup.class, FinishStaffFromDTO.AddUserInternalGroup.class);
icUserDemandRecService.finish(formDTO); icUserDemandRecService.finish(formDTO);
return new Result(); return new Result();

49
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcUserDemandRecServiceImpl.java

@ -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;
} }

Loading…
Cancel
Save