package cn.huge.module.client.api.impl; import cn.huge.base.common.bo.ReturnBO; import cn.huge.base.common.constant.ReturnConsts; import cn.huge.base.common.dto.SelectTermDTO; import cn.huge.base.common.exception.ClientException; import cn.huge.base.common.exception.ServiceException; import cn.huge.base.common.utils.ObjectUtils; import cn.huge.module.client.api.CustClient; import cn.huge.module.cust.dto.CtUnitDTO; import cn.huge.module.cust.dto.CtUserDTO; import cn.huge.module.cust.dto.PaUserDTO; import cn.huge.module.mediate.dto.WechatBindCaseDTO; import cn.huge.module.sys.dto.FileIdTypeInfoBaseDTO; import com.alibaba.fastjson.JSON; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; /** * @title: 客户用户中心微服务调用接口实现 * @description: 客户用户中心微服务调用接口实现 * @company: hugeinfo * @author: liyj * @time: 2021-11-05 16:51:48 * @version: 1.0.0 */ @Slf4j @Component public class CustClientImpl { private CustClient custClient; @Autowired public CustClientImpl(CustClient custClient) { this.custClient = custClient; } /** * ObjectMapper工具类 */ private ObjectMapper objectMapper = new ObjectMapper(); /** * 内部用户-获取登录用户 * @param userId 用户编号 * @return CtUserDTO */ public CtUserDTO clientGetUser(String userId){ try{ ReturnBO returnBo = custClient.clientGetUser(userId); if (ReturnConsts.OK == returnBo.getCode()){ CtUserDTO loginUser = objectMapper.convertValue(returnBo.getData(), CtUserDTO.class); return loginUser; }else{ log.error("Client外服务接口[CustClientImpl.clientGetUser]请求异常:" + returnBo.getMsg(), returnBo.getMsg()); throw new ClientException("CustClientImpl.clientGetUser", returnBo.getMsg()); } }catch (Exception e){ log.error("service方法[CustClientImpl.clientGetUser]调用异常:"+e, e); throw new ServiceException("CustClientImpl.clientGetUser", e); } } /** * 内部用户-获取登录用户-所有信息 * @param userId * @return */ public CtUserDTO clientGetUserAll(String userId){ try{ ReturnBO returnBo = custClient.clientGetUserAll(userId); if (ReturnConsts.OK == returnBo.getCode()){ CtUserDTO loginUser = objectMapper.convertValue(returnBo.getData(), CtUserDTO.class); return loginUser; }else{ log.error("Client外服务接口[CustClientImpl.clientGetUserAll]请求异常:" + returnBo.getMsg(), returnBo.getMsg()); throw new ClientException("CustClientImpl.clientGetUserAll", returnBo.getMsg()); } }catch (Exception e){ log.error("service方法[CustClientImpl.clientGetUserAll]调用异常:"+e, e); throw new ServiceException("CustClientImpl.clientGetUserAll", e); } } /** * 当事人-获取登录用户-所有信息 * @param userId 用户编号 * @return */ public PaUserDTO paclientGetUser(String userId){ try{ ReturnBO returnBo = custClient.paclientGetUser(userId); if (ReturnConsts.OK == returnBo.getCode()){ PaUserDTO loginUser = objectMapper.convertValue(returnBo.getData(), PaUserDTO.class); return loginUser; }else{ log.error("Client外服务接口[CustClientImpl.paclientGetUser]请求异常:" + returnBo.getMsg(), returnBo.getMsg()); throw new ClientException("CustClientImpl.paclientGetUser", returnBo.getMsg()); } }catch (Exception e){ log.error("service方法[CustClientImpl.paclientGetUser]调用异常:"+e, e); throw new ServiceException("CustClientImpl.paclientGetUser", e); } } /** * pc端提交案件后-获取相关当事人用户编号 * @param wechatBindCaseDTO 实体对象 * @return ReturnBO */ public String bindGetUserId(WechatBindCaseDTO wechatBindCaseDTO){ String userId = null; try{ ReturnBO returnBo = custClient.bindGetUserId(wechatBindCaseDTO); if (ReturnConsts.OK == returnBo.getCode()){ userId = (String) returnBo.getData(); }else{ log.error("Client外服务接口[CustClientImpl.bindGetUserId]请求异常:" + returnBo.getMsg(), returnBo.getMsg()); } }catch (Exception e){ log.error("service方法[CustClientImpl.bindGetUserId]调用异常:"+e, e); } return userId; } /** * 根据id查询组织信息 * @url {ctx}/api/client/ctUnit/getUnitById * @param unitId 组织编号 * @return Object */ public CtUnitDTO getUnitById(String unitId){ try{ ReturnBO returnBo = custClient.getUnitById(unitId); if (ReturnConsts.OK == returnBo.getCode()){ CtUnitDTO ctUnitDTO = objectMapper.convertValue(returnBo.getData(), CtUnitDTO.class); return ctUnitDTO; }else{ log.error("Client外服务接口[CustClientImpl.getUnitById]请求异常:" + returnBo.getMsg(), returnBo.getMsg()); throw new ClientException("CustClientImpl.getUnitById", returnBo.getMsg()); } }catch (Exception e){ log.error("service方法[CustClientImpl.getUnitById]调用异常:"+e, e); throw new ServiceException("CustClientImpl.getUnitById", e); } } /** * 获取上级综治中心 * @url {ctx}/api/client/ctUnit/getParentZzzxUnit * @param unitId 组织编号 * @return Object */ public CtUnitDTO getParentZzzxUnit(String unitId){ try{ ReturnBO returnBo = custClient.getParentZzzxUnit(unitId); if (ReturnConsts.OK == returnBo.getCode()){ CtUnitDTO ctUnitDTO = objectMapper.convertValue(returnBo.getData(), CtUnitDTO.class); return ctUnitDTO; }else{ log.error("Client外服务接口[CustClientImpl.getParentZzzxUnit]请求异常:" + returnBo.getMsg(), returnBo.getMsg()); throw new ClientException("CustClientImpl.getParentZzzxUnit", returnBo.getMsg()); } }catch (Exception e){ log.error("service方法[CustClientImpl.getParentZzzxUnit]请求成功,处理异常:"+e, e); throw new ServiceException("CustClientImpl.getParentZzzxUnit", e); } } /** * 获取本级综治中心 * @url {ctx}/api/client/ctUnit/getBjZzzx * @param unitId 组织编号 * @return Object */ public CtUnitDTO getBjZzzx(String unitId){ try{ ReturnBO returnBo = custClient.getBjZzzx(unitId); if (ReturnConsts.OK == returnBo.getCode()){ CtUnitDTO ctUnitDTO = objectMapper.convertValue(returnBo.getData(), CtUnitDTO.class); return ctUnitDTO; }else{ log.error("Client外服务接口[CustClientImpl.getBjZzzx]请求异常:" + returnBo.getMsg(), returnBo.getMsg()); throw new ClientException("CustClientImpl.getBjZzzx", returnBo.getMsg()); } }catch (Exception e){ log.error("service方法[CustClientImpl.getBjZzzx]请求成功,处理异常:"+e, e); throw new ServiceException("CustClientImpl.getBjZzzx", e); } } /** * 查询用户所在的单位信息 * @url {ctx}/api/client/ctUnit/getUnitByUserId * @param userId 用户编号 * @return Object */ public CtUnitDTO getUnitByUserId(String userId){ try{ ReturnBO returnBo = custClient.getUnitByUserId(userId); if (ReturnConsts.OK == returnBo.getCode()){ CtUnitDTO ctUnitDTO = objectMapper.convertValue(returnBo.getData(), CtUnitDTO.class); return ctUnitDTO; }else{ log.error("Client外服务接口[CustClientImpl.getUnitByUserId]请求异常:" + returnBo.getMsg(), returnBo.getMsg()); throw new ClientException("CustClientImpl.getUnitByUserId", returnBo.getMsg()); } }catch (Exception e){ log.error("service方法[CustClientImpl.getUnitByUserId]调用异常:"+e, e); throw new ServiceException("CustClientImpl.getUnitByUserId", e); } } /** * 根据id查询组织信息 * @url {ctx}/api/client/ctUnit/listByTerms * @param terms 条件 * @return Object */ public List listByTerms(Map terms){ List ctUnitDTOList = new ArrayList<>(); try{ ReturnBO returnBo = custClient.listByTerms(terms); if (ReturnConsts.OK == returnBo.getCode()){ if (ObjectUtils.isNotEmpty(returnBo.getData())){ List list = (List) returnBo.getData(); for (LinkedHashMap map : list) { CtUnitDTO ctUnitDTO = JSON.parseObject(JSON.toJSONString(map), CtUnitDTO.class); ctUnitDTOList.add(ctUnitDTO); } } }else{ log.error("Client外服务接口[CustClientImpl.listByTerms]请求异常:" + returnBo.getMsg(), returnBo.getMsg()); throw new ClientException("CustClientImpl.listByTerms", returnBo.getMsg()); } }catch (Exception e){ log.error("service方法[CustClientImpl.listByTerms]调用异常:"+e, e); throw new ServiceException("CustClientImpl.listByTerms", e); } return ctUnitDTOList; } }