package com.srm.bpm.facde;
import com.google.common.collect.Maps;
import com.alibaba.fastjson.JSONObject;
import com.srm.bpm.facde.dto.BillItemDTO;
import com.srm.bpm.facde.dto.BillTaskDTO;
import com.srm.bpm.facde.dto.ProcessTypeDTO;
import com.srm.common.data.rest.R;
import java.util.List;
import java.util.Map;
import cn.hutool.core.util.StrUtil;
import lombok.extern.slf4j.Slf4j;
/**
*
*
* @author BOGON
* @version 1.0
* @since JDK 1.8
*/
@Slf4j
public class BillHttpClient extends BaseHttpClient {
private final RestTemplateUtil restTemplateUtil;
public BillHttpClient(RestTemplateUtil restTemplateUtil, String host) {
this.restTemplateUtil = restTemplateUtil;
if (host.endsWith(StrUtil.C_SLASH + "")) {
host = host.substring(0, host.length() - 1);
}
this.host = host;
}
public R> minecreate(Map params, String user) {
final R> objectR = restTemplateUtil.getList(this.host + ListUrl + "/minecreate", params, user,BillItemDTO.class);
return objectR;
}
public R> approved(Map params, String user) {
final R> objectR = restTemplateUtil.getList(this.host + ListUrl + "/approved", params, user,BillItemDTO.class);
return objectR;
}
public R> todo(Map params, String user) {
final R> objectR = restTemplateUtil.getList(this.host + ListUrl + "/todo", params, user,BillItemDTO.class);
return objectR;
}
public R> todoCateSize(String user) {
Map params = Maps.newHashMap();
R> a = restTemplateUtil.getList(this.host + ListUrl + "/todo/cate/size", params, user,ProcessTypeDTO.class);
return a;
}
public R todoSize(String user) {
Map params = Maps.newHashMap();
final R objectR = restTemplateUtil.getOne(this.host + ListUrl + "/todo/size", params, user,String.class);
return objectR;
}
public R> drafts(Map params, String user) {
final R> objectR = restTemplateUtil.getList(this.host + ListUrl + "/drafts", params, user,BillItemDTO.class);
return objectR;
}
public R> cc(Map params, String user) {
final R> objectR = restTemplateUtil.getList(this.host + ListUrl + "/cc", params, user,BillItemDTO.class);
return objectR;
}
public R> findAll(Map params, String user) {
final R> objectR = restTemplateUtil.getList(this.host + ListUrl + "/all/bill", params, user,BillItemDTO.class);
return objectR;
}
public R submit(JSONObject data, String user) {
return restTemplateUtil.postReturnOne(this.host + thirdPartUrl + "/submit", data, user,BillItemDTO.class);
}
public R saveDrafts(JSONObject data, String user) {
return restTemplateUtil.postReturnOne(this.host + thirdPartUrl + "/save", data, user,BillItemDTO.class);
}
public R> getHistoryTasks(String billId, String user) {
Map params = Maps.newHashMap();
params.put("billId", billId);
final R> result = restTemplateUtil.getList(this.host + ListUrl + "/history/tasks", params, user,BillItemDTO.class);
return result;
}
/**
* 转办处理
*
* @param billId 审批单主键
* @param taskId 任务主键
* @param transferUserIds 转办目标用户ID列表
* @param remark 转办意见
* @param user 当前用户
* @return 操作结果
*/
public R transfer(Long billId, Long taskId, String transferUserIds, String remark, String user) {
// Map params = Maps.newHashMap();
// params.put("billId", billId);
// params.put("taskId", taskId);
// params.put("transferUserIds", transferUserIds);
// params.put("remark", remark);
// return restTemplateUtil.postNoReturn(this.host + "/bill/flow/rest/transfer", params, user);
return null;
}
}