PartnershipManagerController.java 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. package com.uas.sso.controller;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.alibaba.fastjson.TypeReference;
  5. import com.uas.sso.ResultWrap;
  6. import com.uas.sso.common.util.HttpUtil;
  7. import com.uas.sso.entity.InvitationRecord;
  8. import com.uas.sso.entity.PartnershipRecord;
  9. import com.uas.sso.entity.RequestStatus;
  10. import com.uas.sso.exception.VisibleError;
  11. import com.uas.sso.service.PartnershipService;
  12. import com.uas.sso.service.UserspaceService;
  13. import org.springframework.beans.factory.annotation.Autowired;
  14. import org.springframework.data.domain.Page;
  15. import org.springframework.ui.ModelMap;
  16. import org.springframework.web.bind.annotation.*;
  17. import java.util.List;
  18. /**
  19. * 为平台和ERP用户提供公共接口查询当前企业的合作伙伴
  20. *
  21. * @author hejq
  22. * @time 创建时间:2017年1月17日
  23. */
  24. @RestController
  25. @RequestMapping(value = "/api/partners")
  26. public class PartnershipManagerController extends BaseController {
  27. @Autowired
  28. private PartnershipService partnershipService;
  29. @Autowired
  30. private UserspaceService userSpaceService;
  31. /**
  32. * 查询发出的申请
  33. *
  34. * @param businessCode 申请方营业执照号
  35. * @param statusCode 申请状态
  36. * @param keyword
  37. * @param pageNumber
  38. * @param pageSize
  39. * @return
  40. */
  41. @RequestMapping(params = "_operate=getAllRequest")
  42. public ModelMap getAllRequest(String businessCode, Integer statusCode, String keyword,
  43. @RequestParam(defaultValue = "1") int pageNumber, @RequestParam(defaultValue = "20") int pageSize) {
  44. return success(partnershipService.findByBusinessCodeAndStatusCode(businessCode, statusCode, keyword, pageNumber, pageSize));
  45. }
  46. // /**
  47. // * 过滤掉已存在UU,查询发出的申请(UAS接口)
  48. // *
  49. // * @param businessCode
  50. // * @param statusCode
  51. // * @param keyword
  52. // * @param pageNumber
  53. // * @param pageSize
  54. // * @return
  55. // */
  56. // @RequestMapping(params = "_operate=getAllRequestFilterByPartnerUUs")
  57. // @ResponseBody
  58. // public Page<PartnershipRecord> getAllRequestFilterByPartnerUUs(String businessCode, Integer statusCode, String keyword, int pageNumber, int pageSize, String partnerUUs) {
  59. // List<Long> UUs = JSON.parseArray(partnerUUs, Long.class);
  60. // if (!CollectionUtils.isEmpty(UUs)) { // 存在需要过滤的UU时
  61. // return partnershipService.findBySpaceUidAndStatusCodeFilterByPartnerUUs(businessCode, statusCode, keyword, UUs, pageNumber, pageSize);
  62. // }
  63. // return partnershipService.findBySpaceUidAndStatusCode(businessCode, statusCode, keyword, pageNumber, pageSize);
  64. // }
  65. //
  66. // /**
  67. // * 查询所有企业列表
  68. // */
  69. // @RequestMapping(params = "_operate=getUserSpaces")
  70. // @ResponseBody
  71. // public Page<UserSpaceDetail> getUserSpaces(String keyword, int pageNumber, int pageSize) {
  72. // return userSpaceService.findByKeyword(keyword, pageNumber, pageSize);
  73. // }
  74. /**
  75. * 从各应用新增一条合作关系
  76. *
  77. * @param record
  78. * @return
  79. */
  80. @RequestMapping(params = "_operate=addPartner", method = RequestMethod.POST)
  81. @ResponseBody
  82. public ModelMap addPartner(PartnershipRecord record) {
  83. try {
  84. partnershipService.addPartner(record);
  85. return new ModelMap("success", "申请发送成功");
  86. } catch (VisibleError e) {
  87. return new ModelMap("error", e.getMessage());
  88. }
  89. }
  90. /**
  91. * b2b因为单据产生新增一条合作关系
  92. *
  93. * @param record
  94. * @return
  95. */
  96. @RequestMapping(params = "_operate=synchronizePartner", method = RequestMethod.POST)
  97. @ResponseBody
  98. public ModelMap synchronizePartner(PartnershipRecord record) {
  99. return partnershipService.synchronizePartner(record);
  100. }
  101. /**
  102. * 拒绝申请
  103. *
  104. * @param id
  105. * @param reason
  106. * @param vendUserTel
  107. * @param appId
  108. * @return
  109. */
  110. @RequestMapping(params = "_operate=rejectRequest")
  111. @ResponseBody
  112. public ModelMap rejectRequest(Long id, String reason, String vendUserTel, String appId) {
  113. return partnershipService.rejectRequest(id, reason, vendUserTel, appId);
  114. }
  115. /**
  116. * 通过申请
  117. *
  118. * @param id
  119. * @param vendUserTel
  120. * @param appId
  121. * @return
  122. */
  123. @RequestMapping(params = "_operate=acceptRequest")
  124. @ResponseBody
  125. public ModelMap acceptRequest(Long id, String vendUserTel, String appId) {
  126. return partnershipService.acceptRequest(id, vendUserTel, appId);
  127. }
  128. /**
  129. * 通过uu号获取申请状态
  130. *
  131. * @param custBusinessCode 申请方营业执照号
  132. * @param vendBusinessCode 被申请方营业执照号
  133. * @return
  134. */
  135. @RequestMapping(params = "_operate=getRequestStatus")
  136. @ResponseBody
  137. public RequestStatus getRequestStatus(String custBusinessCode, String vendBusinessCode) {
  138. return partnershipService.getRequestByBusinessCode(custBusinessCode, vendBusinessCode);
  139. }
  140. /**
  141. * 获取收到的待处理的请求的数量
  142. *
  143. * @param businessCode
  144. * @return
  145. */
  146. @RequestMapping(params = "_operate=getRequestTodo")
  147. public ModelMap getRequestTodo(String businessCode) {
  148. return partnershipService.getRequestTodo(businessCode);
  149. }
  150. /**
  151. * 邀请合作伙伴记录
  152. *
  153. * @param jsonStr
  154. */
  155. @RequestMapping(params = "_operate=invitation", method = RequestMethod.POST)
  156. @ResponseBody
  157. public void invite(String jsonStr) {
  158. InvitationRecord record = JSONObject.parseObject(jsonStr, InvitationRecord.class);
  159. partnershipService.invite(record);
  160. }
  161. @RequestMapping("/addAll")
  162. public ModelMap addPartnership() {
  163. String url = "http://10.1.51.50:8080/api/partners";
  164. int pageNumber = 1;
  165. int pageSize = 1;
  166. com.uas.account.support.Page<PartnershipRecord> page = null;
  167. do {
  168. try {
  169. ModelMap data = new ModelMap("_operate", "getAllRequest");
  170. data.put("pageNumber", pageNumber++);
  171. data.put("pageSize", pageSize);
  172. HttpUtil.ResponseWrap responseWrap = HttpUtil.doGet(url, data);
  173. if (responseWrap.isSuccess()) {
  174. try {
  175. page = JSON.parseObject(responseWrap.getContent(), new TypeReference<com.uas.account.support.Page<PartnershipRecord>>() {
  176. });
  177. List<PartnershipRecord> partnershipRecords = page.getContent();
  178. for (int i = 0; i < partnershipRecords.size(); i++) {
  179. try {
  180. PartnershipRecord partnershipRecord = partnershipRecords.get(i);
  181. partnershipRecord.setVendSpaceUU(userSpaceService.findByBusinessCode(partnershipRecord.getVendBusinessCode()).getSpaceUU());
  182. partnershipRecord.setVendSpaceUU(userSpaceService.findByBusinessCode(partnershipRecord.getCustBusinessCode()).getSpaceUU());
  183. partnershipService.save(partnershipRecord);
  184. } catch (Exception e) {
  185. e.getStackTrace();
  186. }
  187. }
  188. } catch (Exception e) {
  189. e.getStackTrace();
  190. }
  191. }
  192. } catch (Exception e) {
  193. e.printStackTrace();
  194. }
  195. } while (page == null || !page.isLast());
  196. return success();
  197. }
  198. }