package cn.huge.module.grid.service; import cn.huge.base.common.bo.R; import cn.huge.base.common.utils.HttpClientUtils; import cn.huge.base.common.utils.SpringContextUtil; import cn.huge.module.grid.domain.dto.GridSysRoleDTO; import cn.huge.module.grid.domain.vo.*; import cn.huge.module.sys.dto.GridRoleMenuDTO; import cn.huge.module.sys.dto.GridUserRoleDTO; import cn.huge.module.sys.vo.GridRoleMenuVo; import cn.huge.module.sys.vo.GridUserRoleVo; 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 GridUserService { @Value("${grid.url:http://219.137.166.84:8061}") private String gridUrl; @Value("${grid.username:mtxt0011}") private String userName; @Value("${grid.password:aek8CdcaM}") private String passWord; private String testUrl = "http://183.2.142.46:9007"; public R getUserInfo(GridTokenVo gridTokenVo) { String s = null; HeadVo headVo = initHeadVo(); GridUserRequestVo requestVo = new GridUserRequestVo(); requestVo.setHeadVo(headVo); requestVo.setBodyVo(gridTokenVo); try { // log.info("xsdobject:{}",JSON.toJSONString(requestVo)); // 开发环境 if (SpringContextUtil.checkDev()) { log.info("xsdurl:{}",testUrl + "/sys/getUserByToken"); s = HttpClientUtils.httpPostRaw(testUrl + "/sys/getUserByToken", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8"); }else { log.info("xsdurl:{}",gridUrl + "/sys/getUserByToken"); s = HttpClientUtils.httpPostRaw(gridUrl + "/sys/getUserByToken", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8"); } log.info("xsd:{}",s); } catch (Exception e) { log.info("xsderror:{}",e.getLocalizedMessage()); throw new RuntimeException(e); } GridUserVo gridUserVo = JSONObject.parseObject(s).getObject("data", GridUserVo.class); return R.ok(gridUserVo); } public R> getUserRoleList(GridUserRoleVo gridUserRoleVo) { String s = null; HeadVo headVo = initHeadVo(); GridUserRoleRequestVo requestVo = new GridUserRoleRequestVo(); requestVo.setHeadVo(headVo); requestVo.setBodyVo(gridUserRoleVo); try { // log.info("xsdobject:{}",JSON.toJSONString(requestVo)); log.info("xsdurl:{}",gridUrl + "/sys/getOrgRole"); // log.info("xsdurl:{}",testUrl + "/sys/getUserByToken"); s = HttpClientUtils.httpPostRaw(gridUrl + "/sys/getOrgRole", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8"); log.info("xsd:{}",s); } catch (Exception e) { log.info("xsderror:{}",e.getLocalizedMessage()); throw new RuntimeException(e); } JSONArray data = JSONObject.parseObject(s).getJSONArray("data"); List gridUserRoleDTOList = data.toJavaList(GridUserRoleDTO.class); return R.ok(gridUserRoleDTOList); } 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 getSysRoleList(GridOrgVo gridOrgVo) { HeadVo headVo = initHeadVo(); GridOrgRequestVo requestVo = new GridOrgRequestVo(); requestVo.setHeadVo(headVo); requestVo.setBodyVo(gridOrgVo); log.info("xsd:{}", JSON.toJSONString(requestVo)); log.info("xsd:{}", gridUrl + "/sys/getRoleList"); String s = null; try { s = HttpClientUtils.httpPostRaw(gridUrl + "/sys/getRoleList", 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) { GridSysRoleDTO data = object.getObject("data", GridSysRoleDTO.class); return R.ok(data); } else { return R.fail("获取企业信息失败"); } } public R> getRoleMenu(GridRoleMenuVo gridRoleMenuVo) { String s = null; HeadVo headVo = initHeadVo(); GridRoleMenuRequestVo requestVo = new GridRoleMenuRequestVo(); requestVo.setHeadVo(headVo); requestVo.setBodyVo(gridRoleMenuVo); try { // log.info("xsdobject:{}",JSON.toJSONString(requestVo)); log.info("xsdurl:{}",gridUrl + "/sys/getUserMenuRecur"); // log.info("xsdurl:{}",testUrl + "/sys/getUserByToken"); s = HttpClientUtils.httpPostRaw(gridUrl + "/sys/getUserMenuRecur", JSON.toJSONString(requestVo), new HashMap<>(), "utf-8"); log.info("xsd:{}",s); } catch (Exception e) { log.info("xsderror:{}",e.getLocalizedMessage()); throw new RuntimeException(e); } JSONArray data = JSONObject.parseObject(s).getJSONArray("data"); List gridRoleMenuDTOList = data.toJavaList(GridRoleMenuDTO.class); return R.ok(gridRoleMenuDTOList); } public R initNewUsers(GridUserRoleVo gridUserRoleVo) { //根据用户id获取用户信息 //拿到用户机构信息 //拿到用户角色菜单权限信息 //如果全部菜单权限,分配管理员角色;如果部分菜单权限,分配纠纷化解员角色 //初始化完成用户信息,返回给前端登录 return R.fail(); } }