Browse Source

移动端未售买断推送消息提醒

zhanglei
dimengzhe 3 years ago
parent
commit
ad8cc38735
  1. 78
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java

78
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java

@ -22,6 +22,8 @@ import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.sysprourl.SysProUrlFeign;
import com.yxt.anrui.flowable.api.sysprourl.SysProUrlVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
@ -33,6 +35,9 @@ import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessageFlowableDto;
import com.yxt.messagecenter.api.message.MessageJsonDto;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -63,6 +68,10 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
private BaseVehicleService baseVehicleService;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private SysProUrlFeign sysProUrlFeign;
@Autowired
private MessageFeign messageFeign;
/**
* 分页列表
@ -275,6 +284,7 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
return rb.setMsg(resultBean.getMsg());
}
String businessSid = resultBean.getData();
baseVehicleActualSales = fetchBySid(businessSid);
//判断车辆的结算状态是否包含预买断的状态,如果是的话,返回提交失败
boolean isTrue = isTrue(businessSid);
if (isTrue) {
@ -308,10 +318,8 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
baseVehicle.setSettlementStatusValue(VehicleState.BuyoutEnum.PRE_BUYOUT.getRemarks());
baseVehicleService.updateVeh(baseVehicle);
}
/* String settlementStatus = VehicleState.BuyoutEnum.PRE_BUYOUT.getCode();
String settlementStatusValue = VehicleState.BuyoutEnum.PRE_BUYOUT.getRemarks();
updateByVinNo(bv.getBusinessSid(), settlementStatus, settlementStatusValue);*/
//极光推送
String msgSid = getMessage(ufVo, appMap, baseVehicleActualSales);
return voResultBean;
}
if (r == 2) {
@ -364,15 +372,19 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
BaseVehicleActualSales baseVehicleActualSales = fetchBySid(bv.getBusinessSid());
if (bv.getTaskId().equals(baseVehicleActualSales.getTaskId())) {
//判断车辆的结算状态是否包含预买断的状态,如果是的话,返回审核失败
/*boolean isTrue = isTrue(bv.getBusinessSid());
if (isTrue) {
return rb.setMsg("审核失败!该申请中包含结算状态已是预买断状态的车辆");
}*/
Map<String,Object> variables = new HashMap<>();
Map<String,Object> appMap = new HashMap<>();
appMap.put("sid",bv.getBusinessSid());
variables.put("app",appMap);
bv.setFormVariables(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.handleProsess(bv);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
//极光推送
String msgSid = getMessage(ufVo, appMap, baseVehicleActualSales);
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
@ -448,13 +460,21 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
}
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
Map<String,Object> variables = new HashMap<>();
Map<String,Object> appMap = new HashMap<>();
appMap.put("sid",query.getBusinessSid());
variables.put("app",appMap);
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
//更新业务中的流程相关的参数
updateFlowFiled(map);
//极光推送
String msgSid = getMessage(ufVo, appMap, baseVehicleActualSales);
return rb.success();
}
}
@ -544,4 +564,46 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
vo.setRecords(records);
return rb.success().setData(vo);
}
public String getMessage(UpdateFlowFieldVo ufVo, Map<String, Object> appMap, BaseVehicleActualSales baseVehicleActualSales) {
//=====极光推送信息========================================参数组装
List<String> receiveSidList = Arrays.asList(ufVo.getNextNodeUserSids().split(","));
//根据用户的sid查询用户的id
ResultBean<String> stringList1 = sysUserFeign.selectIdBySid(receiveSidList);
List<String> reveiveIdList = Arrays.asList(stringList1.getData().split(","));
MessageFlowableDto messageFlowableDto = new MessageFlowableDto();
MessageJsonDto messageJsonDto = new MessageJsonDto();
BeanUtil.copyProperties(ufVo, messageJsonDto);
//查询流程审批的页面操作地址组装json的参数
//根据taskDef和移动端标识
ResultBean<SysProUrlVo> selectUrlByKey = sysProUrlFeign.selectUrlByKey(ProcDefEnum.BASEVEHICLEACTUALSALES.getProDefId(), ufVo.getTaskDefKey(), "1", "2");
SysProUrlVo sysProUrlVo = selectUrlByKey.getData();
messageFlowableDto.setBusinessSid(baseVehicleActualSales.getSid());
messageFlowableDto.setApp_type("2");
if (sysProUrlVo.getUrl().contains("#")) {
messageFlowableDto.setModuleAction(Arrays.asList(sysProUrlVo.getUrl().split("#")).get(0));
List<Integer> codesInteger = Arrays.asList(Arrays.asList(sysProUrlVo.getUrl().split("#")).get(1).split(",")).stream().map(Integer::parseInt).collect(Collectors.toList());
int[] ints = codesInteger.stream().mapToInt(Integer::valueOf).toArray();
;
messageJsonDto.setButtons(ints);
} else {
messageFlowableDto.setModuleAction(sysProUrlVo.getUrl());
}
messageFlowableDto.setModuleSid(Arrays.asList(sysProUrlVo.getModulePluginName().split("#")).get(0));
messageJsonDto.setTaskName(ufVo.getNodeState());
messageJsonDto.setProcInsId(ufVo.getProcInsId());
messageJsonDto.setAppMap(appMap);
messageFlowableDto.setJson(messageJsonDto);
messageFlowableDto.setList(receiveSidList);
messageFlowableDto.setReceiveIdList(reveiveIdList);
messageFlowableDto.setModuleName("未售买断申请");
messageFlowableDto.setMsgContent("未售买断申请");
messageFlowableDto.setMsgTitle("未售买断申请");
messageFlowableDto.setCreateName(baseVehicleActualSales.getApplicationName());
messageFlowableDto.setTaskId(ufVo.getTaskId());
ResultBean<String> stringResultBean = messageFeign.getMessage(messageFlowableDto);
String msgSid = stringResultBean.getData();
return msgSid;
}
}

Loading…
Cancel
Save