7807d7847bf2f9c02ff32b7d4772abf52ab5ff2c.svn-base 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. package cn.com.goldenwater.dcproj.service.impl.meeting;
  2. import cn.com.goldenwater.core.service.AbstractCrudService;
  3. import cn.com.goldenwater.dcproj.dao.BisInspAllRlationPersDao;
  4. import cn.com.goldenwater.dcproj.dao.BisInspMeetUserDao;
  5. import cn.com.goldenwater.dcproj.model.BisInspAllRlationPers;
  6. import cn.com.goldenwater.dcproj.model.BisInspMeetUser;
  7. import cn.com.goldenwater.dcproj.param.BisInspAllRlationPersParam;
  8. import cn.com.goldenwater.dcproj.param.BisInspMeetUserParam;
  9. import cn.com.goldenwater.dcproj.service.BisInspMeetUserService;
  10. import cn.com.goldenwater.dcproj.utils.gwxy.MeetUtil;
  11. import com.xylink.util.HttpUtil;
  12. import com.xylink.util.Result;
  13. import net.sf.json.JSONObject;
  14. import org.slf4j.Logger;
  15. import org.slf4j.LoggerFactory;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.beans.factory.annotation.Value;
  18. import org.springframework.stereotype.Service;
  19. import org.springframework.transaction.annotation.Transactional;
  20. import java.io.IOException;
  21. import java.util.ArrayList;
  22. import java.util.HashMap;
  23. import java.util.List;
  24. import java.util.Map;
  25. /**
  26. * @author lhc
  27. * @date 2019-5-27
  28. */
  29. @Service
  30. @Transactional
  31. public class BisInspMeetUserServiceImpl extends AbstractCrudService<BisInspMeetUser, BisInspMeetUserParam> implements BisInspMeetUserService {
  32. private Logger logger = LoggerFactory.getLogger(this.getClass());
  33. @Value("${ylink.enterpriseId}")
  34. public String enterpriseId;
  35. @Value("${ylink.token}")
  36. public String token;
  37. @Value("${ylink.ip}")
  38. public String ylinkIp;
  39. @Autowired
  40. private BisInspAllRlationPersDao bisInspAllRlationPersDao;
  41. public BisInspMeetUserServiceImpl(BisInspMeetUserDao bisInspMeetUserDao) {
  42. super(bisInspMeetUserDao);
  43. }
  44. //获取获取用户,添加到通讯录
  45. @Override
  46. public void controlUserByParam(String orgId, String method) throws IOException {
  47. BisInspAllRlationPersParam bisInspAllRlationPersParam = new BisInspAllRlationPersParam();
  48. if (orgId != null) {
  49. bisInspAllRlationPersParam.setOrgId(orgId);
  50. }
  51. List<BisInspAllRlationPers> bisInspAllRlationPers = bisInspAllRlationPersDao.findList(bisInspAllRlationPersParam);
  52. List<BisInspMeetUser> bisInspMeetUsers = new ArrayList<>();
  53. for (BisInspAllRlationPers item : bisInspAllRlationPers) {
  54. if (item.getMobilenumb() != null && item.getMobilenumb().length() == 11) {
  55. BisInspMeetUser bisInspMeetUser = new BisInspMeetUser();
  56. bisInspMeetUser.setName(item.getPersName());
  57. bisInspMeetUser.setUserId(item.getGuid());
  58. bisInspMeetUser.setPhone(item.getMobilenumb());
  59. bisInspMeetUser.setDept(item.getOrgNm());
  60. bisInspMeetUser.setPassword(item.getMobilenumb().substring(5));
  61. bisInspMeetUser.setCountryCode("+86");
  62. bisInspMeetUsers.add(bisInspMeetUser);
  63. }
  64. }
  65. if ("add".equals(method)) {
  66. add(bisInspMeetUsers);
  67. } else if ("up".equals(method)) {
  68. edit(bisInspMeetUsers);
  69. } else if ("del".equals(method)) {
  70. del(bisInspMeetUsers);
  71. }
  72. }
  73. @Override
  74. public int add(List<BisInspMeetUser> bisInspMeetUsers) throws IOException {
  75. //添加用户到小鱼api 通讯录
  76. for (BisInspMeetUser item : bisInspMeetUsers) {
  77. Map<String, Object> jsonEntity = new HashMap<>();
  78. jsonEntity.put("userId", item.getUserId());
  79. jsonEntity.put("name", item.getName());
  80. jsonEntity.put("countryCode", item.getCountryCode());
  81. jsonEntity.put("phone", item.getPhone());
  82. if (item.getTelephone() != null) {
  83. jsonEntity.put("telephone", item.getTelephone());
  84. }
  85. if (item.getMailbox() != null) {
  86. jsonEntity.put("mailbox", item.getMailbox());
  87. }
  88. if (item.getAvatar() != null) {
  89. jsonEntity.put("avatar", item.getAvatar());
  90. }
  91. if (item.getPassword() != null) {
  92. jsonEntity.put("password", item.getPassword());
  93. }
  94. String json = JSONObject.fromObject(jsonEntity).toString();
  95. String method = "POST";
  96. String reqPath = ylinkIp + "/api/rest/external/v1/buffet/user?enterpriseId=" + enterpriseId;
  97. String requestUriPrefix = ylinkIp + "/api/rest/external/v1/";
  98. String signature = MeetUtil.computeSignature(json, method, token, reqPath, requestUriPrefix);
  99. reqPath += "&signature=" + signature;
  100. Result result = HttpUtil.getResponse(reqPath, method, json, null);
  101. if (result.isSuccess()) {
  102. logger.info(item.getPhone() + "add suc!");
  103. } else {
  104. logger.info(String.valueOf(result.getErrorStatus()));
  105. logger.info(item.getPhone() + "add fail!");
  106. }
  107. }
  108. return 0;
  109. }
  110. @Override
  111. public int edit(List<BisInspMeetUser> bisInspMeetUsers) throws IOException {
  112. String method = "PUT";
  113. String reqPath = ylinkIp + "/api/rest/external/v1/buffet/user?enterpriseId=" + enterpriseId;
  114. String requestUriPrefix = ylinkIp + "/api/rest/external/v1/";
  115. //修改用户信息
  116. for (BisInspMeetUser item : bisInspMeetUsers) {
  117. Map<String, Object> jsonEntity = new HashMap<>();
  118. jsonEntity.put("userId", item.getUserId());
  119. jsonEntity.put("name", item.getName());
  120. jsonEntity.put("countryCode", item.getCountryCode());
  121. jsonEntity.put("phone", item.getPhone());
  122. if (item.getTelephone() != null) {
  123. jsonEntity.put("telephone", item.getTelephone());
  124. }
  125. if (item.getMailbox() != null) {
  126. jsonEntity.put("mailbox", item.getMailbox());
  127. }
  128. if (item.getAvatar() != null) {
  129. jsonEntity.put("avatar", item.getAvatar());
  130. }
  131. if (item.getDept() != null) {
  132. jsonEntity.put("dept", item.getDept());
  133. }
  134. if (item.getPassword() != null) {
  135. jsonEntity.put("password", item.getPassword());
  136. }
  137. String json = JSONObject.fromObject(jsonEntity).toString();
  138. String signature = MeetUtil.computeSignature(json, method, token, reqPath, requestUriPrefix);
  139. reqPath += "&signature=" + signature;
  140. Result result = HttpUtil.getResponse(reqPath, method, json, null);
  141. if (result.isSuccess()) {
  142. logger.info(item.getPhone() + "add suc!");
  143. } else {
  144. logger.info(String.valueOf(result.getErrorStatus()));
  145. logger.info(item.getPhone() + "add fail!");
  146. }
  147. }
  148. return 0;
  149. }
  150. @Override
  151. public int del(List<BisInspMeetUser> bisInspMeetUsers) throws IOException {
  152. //删除小鱼用户
  153. String method = "DELETE";
  154. String requestUriPrefix = ylinkIp + "/api/rest/external/v1/";
  155. for (BisInspMeetUser item : bisInspMeetUsers) {
  156. String reqPath = ylinkIp + "/api/rest/external/v1/buffet/user?enterpriseId=" + enterpriseId + "&countryCode=86&phone=" + item.getPhone();
  157. String signature = MeetUtil.computeSignature("", method, token, reqPath, requestUriPrefix);
  158. reqPath += "&signature=" + signature;
  159. Result result = HttpUtil.getResponse(reqPath, method, "", null);
  160. if (result.isSuccess()) {
  161. logger.info(item.getPhone() + "delete suc!");
  162. } else {
  163. logger.info(String.valueOf(result.getErrorStatus()));
  164. logger.info(item.getPhone() + "delete fail!");
  165. }
  166. }
  167. return 0;
  168. }
  169. @Override
  170. public int queryAllUser(Integer pageIndex, Integer pageSize) throws IOException {
  171. String method = "GET";
  172. String requestUriPrefix = ylinkIp + "/api/rest/external/v1/";
  173. String reqPath = ylinkIp + "/api/rest/external/v1/buffet/user/page?enterpriseId=" + enterpriseId + "&pageIndex=" + pageIndex + "&pageSize=" + pageSize;
  174. String signature = MeetUtil.computeSignature("", method, token, reqPath, requestUriPrefix);
  175. reqPath += "&signature=" + signature;
  176. Result result = HttpUtil.getResponse(reqPath, method, "", null);
  177. if (result.isSuccess()) {
  178. logger.info("获取用户信息成功!");
  179. } else {
  180. logger.info("获取用户信息失败!");
  181. }
  182. return 0;
  183. }
  184. }