PartnershipManagerController.java 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204
  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. * @param record
  69. * @return
  70. */
  71. @RequestMapping(params = "_operate=addPartner", method = RequestMethod.POST)
  72. @ResponseBody
  73. public ModelMap addPartner(PartnershipRecord record) {
  74. try {
  75. partnershipService.addPartner(record);
  76. return new ModelMap("success", "申请发送成功");
  77. } catch (VisibleError e) {
  78. return new ModelMap("error", e.getMessage());
  79. }
  80. }
  81. /**
  82. * b2b因为单据产生新增一条合作关系
  83. *
  84. * @param record
  85. * @return
  86. */
  87. @RequestMapping(params = "_operate=synchronizePartner", method = RequestMethod.POST)
  88. @ResponseBody
  89. public ModelMap synchronizePartner(PartnershipRecord record) {
  90. return partnershipService.synchronizePartner(record);
  91. }
  92. /**
  93. * 拒绝申请
  94. *
  95. * @param id
  96. * @param reason
  97. * @param vendUserTel
  98. * @param appId
  99. * @return
  100. */
  101. @RequestMapping(params = "_operate=rejectRequest")
  102. @ResponseBody
  103. public ModelMap rejectRequest(Long id, String reason, String vendUserTel, String appId) {
  104. return partnershipService.rejectRequest(id, reason, vendUserTel, appId);
  105. }
  106. /**
  107. * 通过申请
  108. *
  109. * @param id
  110. * @param vendUserTel
  111. * @param appId
  112. * @return
  113. */
  114. @RequestMapping(params = "_operate=acceptRequest")
  115. @ResponseBody
  116. public ModelMap acceptRequest(Long id, String vendUserTel, String appId) {
  117. return partnershipService.acceptRequest(id, vendUserTel, appId);
  118. }
  119. /**
  120. * 通过uu号获取申请状态
  121. *
  122. * @param custBusinessCode 申请方营业执照号
  123. * @param vendBusinessCode 被申请方营业执照号
  124. * @return
  125. */
  126. @RequestMapping(params = "_operate=getRequestStatus")
  127. @ResponseBody
  128. public RequestStatus getRequestStatus(String custBusinessCode, String vendBusinessCode) {
  129. return partnershipService.getRequestByBusinessCode(custBusinessCode, vendBusinessCode);
  130. }
  131. /**
  132. * 获取收到的待处理的请求的数量
  133. *
  134. * @param businessCode
  135. * @return
  136. */
  137. @RequestMapping(params = "_operate=getRequestTodo")
  138. public ModelMap getRequestTodo(String businessCode) {
  139. return partnershipService.getRequestTodo(businessCode);
  140. }
  141. /**
  142. * 邀请合作伙伴记录
  143. *
  144. * @param jsonStr
  145. */
  146. @RequestMapping(params = "_operate=invitation", method = RequestMethod.POST)
  147. @ResponseBody
  148. public void invite(String jsonStr) {
  149. InvitationRecord record = JSONObject.parseObject(jsonStr, InvitationRecord.class);
  150. partnershipService.invite(record);
  151. }
  152. @RequestMapping("/addAll")
  153. public ModelMap addPartnership() {
  154. String url = "http://10.1.51.50:8080/api/partners";
  155. int pageNumber = 1;
  156. int pageSize = 1;
  157. com.uas.account.support.Page<PartnershipRecord> page = null;
  158. do {
  159. try {
  160. ModelMap data = new ModelMap("_operate", "getAllRequest");
  161. data.put("pageNumber", pageNumber++);
  162. data.put("pageSize", pageSize);
  163. HttpUtil.ResponseWrap responseWrap = HttpUtil.doGet(url, data);
  164. if (responseWrap.isSuccess()) {
  165. try {
  166. page = JSON.parseObject(responseWrap.getContent(), new TypeReference<com.uas.account.support.Page<PartnershipRecord>>() {
  167. });
  168. List<PartnershipRecord> partnershipRecords = page.getContent();
  169. for (int i = 0; i < partnershipRecords.size(); i++) {
  170. try {
  171. PartnershipRecord partnershipRecord = partnershipRecords.get(i);
  172. partnershipRecord.setVendSpaceUU(userSpaceService.findByBusinessCode(partnershipRecord.getVendBusinessCode()).getSpaceUU());
  173. partnershipRecord.setVendSpaceUU(userSpaceService.findByBusinessCode(partnershipRecord.getCustBusinessCode()).getSpaceUU());
  174. partnershipService.save(partnershipRecord);
  175. } catch (Exception e) {
  176. e.getStackTrace();
  177. }
  178. }
  179. } catch (Exception e) {
  180. e.getStackTrace();
  181. }
  182. }
  183. } catch (Exception e) {
  184. e.printStackTrace();
  185. }
  186. } while (page == null || !page.isLast());
  187. return success();
  188. }
  189. }