NavServiceSMOImpl.java 3.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. package com.java110.boot.smo.impl;
  2. import com.alibaba.fastjson.JSONArray;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.java110.boot.smo.DefaultAbstractComponentSMO;
  5. import com.java110.boot.smo.INavServiceSMO;
  6. import com.java110.core.context.IPageData;
  7. import com.java110.core.log.LoggerFactory;
  8. import com.java110.utils.cache.MappingCache;
  9. import com.java110.utils.constant.StateConstant;
  10. import com.java110.utils.util.StringUtil;
  11. import org.slf4j.Logger;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.http.HttpMethod;
  14. import org.springframework.http.HttpStatus;
  15. import org.springframework.http.ResponseEntity;
  16. import org.springframework.stereotype.Service;
  17. import org.springframework.util.Assert;
  18. import org.springframework.web.client.RestTemplate;
  19. /**
  20. * 导航栏业务处理类
  21. * Created by Administrator on 2019/4/1.
  22. */
  23. @Service("navServiceSMOImpl")
  24. public class NavServiceSMOImpl extends DefaultAbstractComponentSMO implements INavServiceSMO {
  25. private static Logger logger = LoggerFactory.getLogger(NavServiceSMOImpl.class);
  26. @Autowired
  27. private RestTemplate restTemplate;
  28. /**
  29. * 用户退出
  30. *
  31. * @param pd
  32. * @return
  33. */
  34. @Override
  35. public ResponseEntity<String> doExit(IPageData pd) {
  36. ResponseEntity<String> responseEntity = null;
  37. JSONObject exitInfo = new JSONObject();
  38. exitInfo.put("token", pd.getToken());
  39. responseEntity = this.callCenterService(restTemplate, pd, exitInfo.toJSONString(),
  40. "user.service.logout", HttpMethod.POST);
  41. return responseEntity;
  42. }
  43. /**
  44. * 获取用户信息
  45. *
  46. * @param pd
  47. * @return
  48. */
  49. @Override
  50. public ResponseEntity<String> getUserInfo(IPageData pd) {
  51. Assert.hasLength(pd.getUserId(), "用户未登录请先登录");
  52. ResponseEntity<String> responseEntity = null;
  53. responseEntity = super.getUserInfo(pd, restTemplate);
  54. if (responseEntity.getStatusCode() != HttpStatus.OK) {
  55. return responseEntity;
  56. }
  57. JSONObject tmpUserInfo = JSONObject.parseObject(responseEntity.getBody().toString());
  58. JSONObject resultUserInfo = new JSONObject();
  59. responseEntity = super.getStoreInfo(pd, restTemplate);
  60. if (responseEntity.getStatusCode() == HttpStatus.OK && StringUtil.jsonHasKayAndValue(responseEntity.getBody().toString(),"storeTypeCd")) {
  61. String storeTypeCd = JSONObject.parseObject(responseEntity.getBody().toString()).getString("storeTypeCd");
  62. resultUserInfo.put("storeTypeCd", storeTypeCd);
  63. }
  64. resultUserInfo.put("name", tmpUserInfo.getString("name"));
  65. resultUserInfo.put("address", tmpUserInfo.getString("address"));
  66. resultUserInfo.put("sex", tmpUserInfo.getString("sex"));
  67. resultUserInfo.put("localtionCd", tmpUserInfo.getString("localtionCd"));
  68. resultUserInfo.put("levelCd", tmpUserInfo.getString("levelCd"));
  69. //resultUserInfo.put("tel", CommonUtil.mobileEncrypt(tmpUserInfo.getString("tel")));
  70. resultUserInfo.put("tel", tmpUserInfo.getString("tel")); // 这里不加密了 因为前台很多地方直接 关联出 用户的手机号 所以 加密了 没法处理 modify by wuxw 2022-07-04
  71. resultUserInfo.put("email", tmpUserInfo.getString("email"));
  72. resultUserInfo.put("userId",tmpUserInfo.getString("userId"));
  73. String watermark = MappingCache.getValue("watermark");
  74. resultUserInfo.put("watermark",watermark);
  75. responseEntity = new ResponseEntity<String>(resultUserInfo.toJSONString(), HttpStatus.OK);
  76. return responseEntity;
  77. }
  78. }