package cn.huge.module.grid.service; import cn.huge.base.common.bo.R; import cn.huge.base.common.utils.HttpClientUtils; import cn.huge.module.grid.domain.vo.*; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Service; import java.util.HashMap; import java.util.List; import java.util.UUID; @Slf4j @Service public class GridToDoService { @Value("${grid.url:http://219.137.166.84:8061}") private String gridUrl; @Value("${grid.username:mtxt0011}") private String userName; @Value("${grid.password}") private String passWord; public R createToDo(GridToDoVo gridToDoVo) { HeadVo headVo = initHeadVo(); GridToDoRequestVo requestVo = new GridToDoRequestVo(); requestVo.setHeadVo(headVo); requestVo.setBodyVo(gridToDoVo); log.info("xsd:{}", JSON.toJSONString(requestVo)); log.info("xsd:{}", gridUrl + "/sysUserTodo/save"); String s = null; try { s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/save", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8"); } catch (Exception e) { log.info("xsderror:{}", e); throw new RuntimeException(e); } log.info("xsd:{}", s); GridToDoVo gridToDoDto = JSONObject.parseObject(s).getObject("data", GridToDoVo.class); return R.ok(gridToDoDto); } public R updateToDo(GridToDoVo gridToDoVo) { HeadVo headVo = initHeadVo(); GridToDoRequestVo requestVo = new GridToDoRequestVo(); requestVo.setHeadVo(headVo); requestVo.setBodyVo(gridToDoVo); String s = null; log.info("xsd:{}", JSON.toJSONString(requestVo)); log.info("xsd:{}", gridUrl + "/sysUserTodo/update"); try { s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/update", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8"); } catch (Exception e) { log.info("xsderror:{}", e); throw new RuntimeException(e); } log.info("xsd:{}", s); JSONObject object = JSONObject.parseObject(s); if (object.getInteger("code") != null && object.getInteger("code") == 0) { gridToDoVo = object.getObject("data", GridToDoVo.class); return R.ok(gridToDoVo, "创建待办成功"); } else { return R.fail("创建待办失败"); } } public R deleteToDo(GridIdsVo gridIdsVo) { HeadVo headVo = initHeadVo(); GridToDoDeleteRequestVo requestVo = new GridToDoDeleteRequestVo(); requestVo.setHeadVo(headVo); requestVo.setBodyVo(gridIdsVo); log.info("xsd:{}", requestVo); log.info("xsd:{}", gridUrl + "/sysUserTodo/batchDel"); String s = null; try { s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/batchDel", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8"); } catch (Exception e) { log.info("xsderror:{}", e); throw new RuntimeException(e); } log.info("xsd:{}", s); JSONObject object = JSONObject.parseObject(s); if (object.getInteger("code") != null && object.getInteger("code") == 0) { return R.ok("", "删除成功"); } else { return R.fail(object.getString("data"), "删除失败"); } } public HeadVo initHeadVo() { HeadVo headVo = new HeadVo(); headVo.setUsername(userName); headVo.setPassword(passWord); headVo.setRequestId(UUID.randomUUID().toString()); headVo.setSource("string"); return headVo; } public R> getToDo(GridGetToDoVo gridGetToDoVo) { HeadVo headVo = initHeadVo(); GridToDoGetRequestVo requestVo = new GridToDoGetRequestVo(); gridGetToDoVo.setCurrent(1); gridGetToDoVo.setSize(10); requestVo.setHeadVo(headVo); requestVo.setBodyVo(gridGetToDoVo); log.info("xsd:{}", JSON.toJSONString(requestVo)); log.info("xsd:{}", gridUrl + "/sysUserTodo/page"); String s = null; try { s = HttpClientUtils.httpPostRaw(gridUrl + "/sysUserTodo/page", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8"); } catch (Exception e) { log.info("xsderror:{}", e); throw new RuntimeException(e); } log.info("xsd:{}", s); JSONObject object = JSONObject.parseObject(s); if (object.getInteger("code") != null && object.getInteger("code") == 0) { JSONObject data = object.getJSONObject("data"); JSONArray records = data.getJSONArray("records"); List gridToDoVos = records.toJavaList(GridToDoVo.class); return R.ok(gridToDoVos); } else { return R.fail("获取失败"); } } }