InquiryForSaleController.java 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. package com.uas.ps.inquiry.controller;
  2. import com.alibaba.fastjson.JSON;
  3. import com.alibaba.fastjson.JSONObject;
  4. import com.uas.ps.core.logging.BufferedLoggerManager;
  5. import com.uas.ps.inquiry.entity.Constant;
  6. import com.uas.ps.inquiry.entity.InquirySource;
  7. import com.uas.ps.inquiry.model.Attach;
  8. import com.uas.ps.inquiry.model.PublicInquiryItem;
  9. import com.uas.ps.inquiry.model.PublicInquiryReply;
  10. import com.uas.ps.inquiry.service.InquiryForSaleService;
  11. import com.uas.ps.inquiry.support.InquiryBufferedLogger;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.ui.ModelMap;
  14. import org.springframework.web.bind.annotation.RequestBody;
  15. import org.springframework.web.bind.annotation.RequestMapping;
  16. import org.springframework.web.bind.annotation.RequestMethod;
  17. import org.springframework.web.bind.annotation.RestController;
  18. import java.util.List;
  19. /**
  20. * 针对供应商,对询价的相关操作
  21. *
  22. * Created by hejq on 2018-01-18.
  23. */
  24. @RequestMapping("/inquiry/sale")
  25. @RestController
  26. public class InquiryForSaleController {
  27. @Autowired
  28. private InquiryForSaleService saleService;
  29. private final static InquiryBufferedLogger logger = BufferedLoggerManager.getLogger(InquiryBufferedLogger.class);
  30. /**
  31. * 通过ID查询报价详情
  32. *
  33. * @param itemId 已转报价的明细id
  34. * @return
  35. */
  36. @RequestMapping(value = "/inquiry/detail", method = RequestMethod.GET)
  37. public PublicInquiryItem findById(Long itemId, Long en_uu) {
  38. logger.log("公共询价", "查询已转报价的明细", "id: " + itemId, Constant.UU, en_uu, InquirySource.PLAIN.name());
  39. return saleService.findById(itemId);
  40. }
  41. /**
  42. * 通过id查询公共询价详情
  43. *
  44. * @param id 询价明细id
  45. * @param enuu 企业UU号
  46. * @return
  47. */
  48. @RequestMapping(value = "/publicInquiry/detail", method = RequestMethod.GET)
  49. public ModelMap findInquiryById(Long id, Long enuu) {
  50. logger.log("公共询价", "通过id查询公共询价详情", "id: " + id, Constant.UU, enuu, InquirySource.PLAIN.name());
  51. return saleService.findByIdAndEnuu(id, enuu);
  52. }
  53. /**
  54. * 卖家报价时上传附件信息
  55. *
  56. * @param attach 附件信息
  57. * @return
  58. * @throws Exception
  59. */
  60. @RequestMapping(value = "/attach", method = RequestMethod.POST)
  61. public String addAttachs(@RequestBody Attach attach) throws Exception {
  62. attach = saleService.addAttachs(attach);
  63. if (null != attach.getId()) {
  64. return JSONObject.toJSONString(attach);
  65. } else {
  66. throw new Exception("保存失败");
  67. }
  68. }
  69. /**
  70. * 作为卖家,新增报价
  71. *
  72. * @param item 前台数据
  73. * @return
  74. */
  75. @RequestMapping(value = "/item/add", method = RequestMethod.POST)
  76. public String saveInquiryItem(@RequestBody PublicInquiryItem item) throws Exception {
  77. item = saleService.add(item);
  78. if (null != item.getId()) {
  79. return JSONObject.toJSONString(item);
  80. } else {
  81. throw new Exception("保存失败");
  82. }
  83. }
  84. /**
  85. * 作为卖家,保存更新公共询价单
  86. *
  87. * @param item 前台数据
  88. * @return
  89. */
  90. @RequestMapping(value = "/item/save", method = RequestMethod.POST)
  91. public String saveInquiryItems(@RequestBody PublicInquiryItem item) throws Exception {
  92. item = saleService.saveItem(item);
  93. logger.log("公共询价", "作为卖家,对公共询价进行报价操作", "sourceid: " + item.getSourceId() + ", id" + item.getId(),
  94. item.getVendUserUU(), item.getVendUU(), item.getQutoApp());
  95. if (null != item) {
  96. return JSON.toJSONString(item.getInquiry());
  97. } else {
  98. throw new Exception("保存失败");
  99. }
  100. }
  101. /**
  102. * 保存询价信息
  103. *
  104. * @author hejq
  105. * @date 2018-01-16 15:49
  106. * @param inquiryItem 供应商报价信息
  107. * @return
  108. * @throws Exception
  109. */
  110. @RequestMapping(value = "/renew", method = RequestMethod.POST)
  111. public String saveItem(@RequestBody PublicInquiryItem inquiryItem) throws Exception {
  112. inquiryItem = saleService.save(inquiryItem);
  113. return JSONObject.toJSONString(inquiryItem);
  114. }
  115. /**
  116. * 根据公共询价明细id查询报价信息,判断是否已报价
  117. *
  118. * @param id 公共询价明细id
  119. * @param en_uu 当前企业UU
  120. * @return
  121. */
  122. @RequestMapping(value = "/quote", method = RequestMethod.GET)
  123. public PublicInquiryItem findBySourceId(Long id, Long en_uu) {
  124. logger.log("公共询价", "查询公共询价单是否已报价", "id: " + id,
  125. Constant.UU, en_uu, InquirySource.PLAIN.name());
  126. return saleService.findBySourceIdAndEnuu(id, en_uu);
  127. }
  128. /**
  129. * 移动端转报价的功能
  130. *
  131. * @param inquiryItemId 公共询价明细id
  132. * @param en_uu 报价企业UU号
  133. * @param replies 报价信息
  134. * @param leadtime 交货周期
  135. * @param minOrderQty 最小订购
  136. * @param minPackQty 最小包装
  137. * @return
  138. */
  139. @RequestMapping(value = "/mobile/quote", method = RequestMethod.POST)
  140. public ModelMap quote(Long inquiryItemId, Long en_uu, Long useruu, Long leadtime, Double minPackQty, Double minOrderQty, String replies) throws Exception {
  141. List<PublicInquiryReply> replyList = JSONObject.parseArray(replies, PublicInquiryReply.class);
  142. logger.log("公共询价", "作为卖家,对公共询价进行报价操作", "sourceid: " + inquiryItemId,
  143. useruu, en_uu, InquirySource.UU.name());
  144. return saleService.quoteInquiry(inquiryItemId, en_uu, useruu, replyList, leadtime, minPackQty, minOrderQty);
  145. }
  146. }