| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194 |
- package com.uas.ps.inquiry.controller;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.uas.ps.core.logging.BufferedLoggerManager;
- import com.uas.ps.inquiry.domain.IPage;
- import com.uas.ps.inquiry.entity.Constant;
- import com.uas.ps.inquiry.entity.Inquiry;
- import com.uas.ps.inquiry.entity.InquirySource;
- import com.uas.ps.inquiry.model.Attach;
- import com.uas.ps.inquiry.model.InquiryRemind;
- import com.uas.ps.inquiry.model.PublicInquiryItem;
- import com.uas.ps.inquiry.model.PublicInquiryReply;
- import com.uas.ps.inquiry.page.PageInfo;
- import com.uas.ps.inquiry.page.PageParams;
- import com.uas.ps.inquiry.page.SearchFilter;
- import com.uas.ps.inquiry.service.InquiryForSaleService;
- import com.uas.ps.inquiry.support.InquiryBufferedLogger;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.data.domain.Page;
- import org.springframework.data.domain.Sort;
- import org.springframework.ui.ModelMap;
- import org.springframework.web.bind.annotation.RequestBody;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RestController;
- import java.util.List;
- /**
- * 针对供应商,对询价的相关操作
- *
- * Created by hejq on 2018-01-18.
- */
- @RequestMapping("/inquiry/sale")
- @RestController
- public class InquiryForSaleController {
- @Autowired
- private InquiryForSaleService saleService;
- private final static InquiryBufferedLogger logger = BufferedLoggerManager.getLogger(InquiryBufferedLogger.class);
- /**
- * 通过ID查询报价详情
- *
- * @param itemId 已转报价的明细id
- * @return
- */
- @RequestMapping(value = "/inquiry/detail", method = RequestMethod.GET)
- public PublicInquiryItem findById(Long itemId, Long en_uu) {
- logger.log("公共询价", "查询已转报价的明细", "id: " + itemId, Constant.UU, en_uu, InquirySource.PLAIN.name());
- return saleService.findById(itemId);
- }
- /**
- * 通过id查询公共询价详情
- *
- * @param id 询价明细id
- * @param enuu 企业UU号
- * @return
- */
- @RequestMapping(value = "/publicInquiry/detail", method = RequestMethod.GET)
- public ModelMap findInquiryById(Long id, Long enuu) {
- logger.log("公共询价", "通过id查询公共询价详情", "id: " + id, Constant.UU, enuu, InquirySource.PLAIN.name());
- return saleService.findByIdAndEnuu(id, enuu);
- }
- /**
- * 卖家报价时上传附件信息
- *
- * @param attach 附件信息
- * @return
- * @throws Exception
- */
- @RequestMapping(value = "/attach", method = RequestMethod.POST)
- public String addAttachs(@RequestBody Attach attach) throws Exception {
- attach = saleService.addAttachs(attach);
- if (null != attach.getId()) {
- return JSONObject.toJSONString(attach);
- } else {
- throw new Exception("保存失败");
- }
- }
- /**
- * 作为卖家,新增报价
- *
- * @param item 前台数据
- * @return
- */
- @RequestMapping(value = "/item/add", method = RequestMethod.POST)
- public String saveInquiryItem(@RequestBody PublicInquiryItem item) throws Exception {
- item = saleService.add(item);
- if (null != item.getId()) {
- return JSONObject.toJSONString(item);
- } else {
- throw new Exception("保存失败");
- }
- }
- /**
- * 作为卖家,保存更新公共询价单
- *
- * @param item 前台数据
- * @return
- */
- @RequestMapping(value = "/item/save", method = RequestMethod.POST)
- public String saveInquiryItems(@RequestBody PublicInquiryItem item) throws Exception {
- item = saleService.saveItem(item);
- logger.log("公共询价", "作为卖家,对公共询价进行报价操作", "sourceid: " + item.getSourceId() + ", id" + item.getId(),
- item.getVendUserUU(), item.getVendUU(), item.getQutoApp());
- if (null != item) {
- return JSON.toJSONString(item.getInquiry());
- } else {
- throw new Exception("保存失败");
- }
- }
- /**
- * 保存询价信息
- *
- * @author hejq
- * @date 2018-01-16 15:49
- * @param inquiryItem 供应商报价信息
- * @return
- * @throws Exception
- */
- @RequestMapping(value = "/renew", method = RequestMethod.POST)
- public String saveItem(@RequestBody PublicInquiryItem inquiryItem) throws Exception {
- inquiryItem = saleService.save(inquiryItem);
- return JSONObject.toJSONString(inquiryItem);
- }
- /**
- * 根据公共询价明细id查询报价信息,判断是否已报价
- *
- * @param id 公共询价明细id
- * @param en_uu 当前企业UU
- * @return
- */
- @RequestMapping(value = "/quote", method = RequestMethod.GET)
- public PublicInquiryItem findBySourceId(Long id, Long en_uu) {
- logger.log("公共询价", "查询公共询价单是否已报价", "id: " + id,
- Constant.UU, en_uu, InquirySource.PLAIN.name());
- return saleService.findBySourceIdAndEnuu(id, en_uu);
- }
- /**
- * 移动端转报价的功能
- *
- * @param inquiryItemId 公共询价明细id
- * @param en_uu 报价企业UU号
- * @param replies 报价信息
- * @param leadtime 交货周期
- * @param minOrderQty 最小订购
- * @param minPackQty 最小包装
- * @return
- */
- @RequestMapping(value = "/mobile/quote", method = RequestMethod.POST)
- public ModelMap quote(Long inquiryItemId, Long en_uu, Long useruu, Long leadtime, Double minPackQty, Double minOrderQty, String replies) throws Exception {
- List<PublicInquiryReply> replyList = JSONObject.parseArray(replies, PublicInquiryReply.class);
- logger.log("公共询价", "作为卖家,对公共询价进行报价操作", "sourceid: " + inquiryItemId,
- useruu, en_uu, InquirySource.UU.name());
- return saleService.quoteInquiry(inquiryItemId, en_uu, useruu, replyList, leadtime, minPackQty, minOrderQty);
- }
- /**
- * 通过用户信息查询推荐的询价列表
- *
- * @param useruu 用户UU
- * @param enuu 企业UU
- * @param pageInfo 分页参数
- * @param searchFilter 过滤条件
- * @return page<T>
- */
- @RequestMapping(value = "/remind", method = RequestMethod.GET)
- public IPage<InquiryRemind> findByUserInfo(Long useruu, Long enuu, PageInfo pageInfo, SearchFilter searchFilter) {
- if (useruu == null || enuu == null) {
- throw new IllegalAccessError("非法访问");
- } else {
- Sort sort = new Sort(Sort.Direction.DESC, "date");
- if (pageInfo.getOffset() == 0) {
- pageInfo.setOffset(pageInfo.getPageSize() * (pageInfo.getPageNumber() - 1));
- }
- pageInfo.setSort(sort);
- pageInfo.filter("vendUU", enuu);
- pageInfo.filter("vendUserUU", useruu);
- logger.log("公共询价", "查询推荐询价信息", null, useruu, enuu, InquirySource.PLAIN.name());
- return saleService.findRemindByPageInfo(pageInfo, searchFilter);
- }
- }
- }
|