| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294 |
- package com.uas.ps.inquiry.controller;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONObject;
- import com.uas.ps.core.page.exception.IllegalOperatorException;
- import com.uas.ps.inquiry.domain.IPage;
- import com.uas.ps.inquiry.entity.InquirySource;
- import com.uas.ps.inquiry.model.*;
- import com.uas.ps.inquiry.page.PageInfo;
- import com.uas.ps.inquiry.page.SearchFilter;
- import com.uas.ps.inquiry.service.InquiryForSaleService;
- import com.uas.ps.inquiry.service.PublicInquiryService;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.ui.ModelMap;
- import org.springframework.util.StringUtils;
- 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;
- @Autowired
- private PublicInquiryService publicInquiryService;
- private final static Logger log = LoggerFactory.getLogger(InquiryForSaleController.class);
- /**
- * 保存报价接口
- * B2C\UAS\IM
- * 后续统一使用
- * @param publicInquiryItem 报价单内容
- * @return
- */
- @RequestMapping(value = "/item/saveQuote", method = RequestMethod.POST)
- public ModelMap saveQuote(@RequestBody PublicInquiryItem publicInquiryItem) {
- Long start = System.currentTimeMillis();
- log.info("/inquiry/sale/item/saveQuote post,保存报价接口, publciInquiryItem: {}", JSON.toJSON(publicInquiryItem));
- ModelMap result = saleService.saveQuote(publicInquiryItem);
- log.info("/inquiry/sale/item/saveQuote post, 耗时: {}", (System.currentTimeMillis() - start));
- publicInquiryService.ReceiveMessage(publicInquiryItem, InquirySource.MALL.name());
- return result;
- }
- /**
- * 通过ID查询报价详情
- * B2B
- * @param itemId 已转报价的明细id
- * @return
- */
- @RequestMapping(value = "/inquiry/detail", method = RequestMethod.GET)
- public PublicInquiryItem findById(Long itemId, Long en_uu) throws IllegalAccessException {
- long start = System.currentTimeMillis();
- log.info("/inquiry/sale/inquiry/detail , 查询已转报价的明细, id: {}, en_uu: {}, ", itemId, en_uu);
- PublicInquiryItem item = saleService.findById(itemId, en_uu);
- log.info("/inquiry/sale/inquiry/detail , 耗时: {}", (System.currentTimeMillis() - start));
- return item;
- }
- /**
- * 通过id查询公共询价详情
- * B2B\B2C\IM
- * @param id 询价明细id
- * @param enuu 企业UU号
- * @return
- */
- @RequestMapping(value = "/publicInquiry/detail", method = RequestMethod.GET)
- public ModelMap findInquiryById(Long id, Long enuu) {
- long start = System.currentTimeMillis();
- log.info("/inquiry/sale/publicInquiry/detail get, 通过id查询公共询价详情, id: {}, enuu: {},", id, enuu);
- ModelMap map = saleService.findByIdAndEnuu(id, enuu);
- log.info("/inquiry/sale/publicInquiry/detail get, 耗时: {}", (System.currentTimeMillis() - start));
- return map;
- }
- /**
- * 卖家报价时上传附件信息
- * B2B
- * @param attach 附件信息
- * @return
- * @throws Exception
- */
- @RequestMapping(value = "/attach", method = RequestMethod.POST)
- public String addAttachs(@RequestBody Attach attach) throws Exception {
- long start = System.currentTimeMillis();
- log.info("/inquiry/sale/attach post, 卖家报价时上传附件信息,附件: {}", JSON.toJSON(attach));
- attach = saleService.addAttachs(attach);
- log.info("/inquiry/sale/attach post, 耗时: {}", (System.currentTimeMillis() - start));
- if (null != attach.getId()) {
- return JSONObject.toJSONString(attach);
- } else {
- throw new Exception("保存失败");
- }
- }
- /**
- * 保存询价信息
- * 无
- * @author hejq
- * @date 2018-01-16 15:49
- * @param inquiryItem 供应商报价信息
- * @return
- * @throws Exception
- */
- @Deprecated
- @RequestMapping(value = "/renew", method = RequestMethod.POST)
- public String saveItem(@RequestBody PublicInquiryItem inquiryItem) throws Exception {
- long start = System.currentTimeMillis();
- log.info("/inquiry/sale/renew post,保存询价信息,inquiryItem:{}", JSON.toJSON(inquiryItem));
- inquiryItem = saleService.save(inquiryItem);
- log.info("/inquiry/sale/renew post,耗时: {}", (System.currentTimeMillis() - start));
- return JSONObject.toJSONString(inquiryItem);
- }
- /**
- * 根据公共询价明细id查询报价信息,判断是否已报价
- * UU转报价前,会调用,查询是否已转\B2B
- * @param id 公共询价明细id
- * @param en_uu 当前企业UU
- * @return
- */
- @RequestMapping(value = "/quote", method = RequestMethod.GET)
- public PublicInquiryItem findBySourceId(Long id, Long en_uu) {
- long start = System.currentTimeMillis();
- log.info("/inquiry/sale/quote , 查询公共询价单是否已报价, id: {}, en_uu: {}", id, en_uu);
- PublicInquiryItem item = saleService.findBySourceIdAndEnuu(id, en_uu);
- log.info("/inquiry/sale/quote , 耗时: {}", (System.currentTimeMillis() - start));
- return item;
- }
- /**
- * 通过用户信息查询推荐的询价列表
- * B2B\B2C
- * @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) {
- long start = System.currentTimeMillis();
- log.info("/inquiry/sale/remind, 查询推荐询价信息, useruu: {}, enuu: {}, pageInfo: {}, searchFilter: {}", useruu, enuu, JSON.toJSON(pageInfo), JSON.toJSON(searchFilter));
- if (useruu == null || enuu == null) {
- throw new IllegalAccessError("非法访问");
- } else {
- pageInfo.filter("vendUU", enuu);
- pageInfo.filter("vendUserUU", useruu);
- IPage<InquiryRemind> remindIPage = saleService.findRemindByPageInfo(pageInfo, searchFilter);
- log.info("/inquiry/sale/remind, 耗时: {}", (System.currentTimeMillis() - start));
- return remindIPage;
- }
- }
- /**
- * 查询某企业商机
- * B2B\B2C\IM
- * @param useruu
- * @param enuu
- * @param pageInfo
- * @param searchFilter
- * @return
- */
- @RequestMapping(value = "/enremind", method = RequestMethod.GET)
- public IPage<InquiryEnRemind> findEnRemind(Long useruu, Long enuu, PageInfo pageInfo, SearchFilter searchFilter) {
- long start = System.currentTimeMillis();
- log.info("/inquiry/sale/enremind, 查询企业推荐询价信息, useruu: {}, enuu: {}, pageInfo: {}, searchFilter: {}", useruu, enuu, JSON.toJSON(pageInfo), JSON.toJSON(searchFilter));
- if (useruu == null || enuu == null) {
- throw new IllegalAccessError("非法访问");
- } else {
- pageInfo.filter("vendUU", enuu);
- IPage<InquiryEnRemind> enRemindIPage = saleService.findEnRemindByPageInfo(pageInfo, searchFilter);
- log.info("/inquiry/sale/enremind, 耗时: {}", (System.currentTimeMillis() - start));
- return enRemindIPage;
- }
- }
- /**
- * 分配企业商机
- * UAS
- * @param userUU
- * @param enRemindId
- * @return
- */
- @RequestMapping(value = "/allot/enremind", method = RequestMethod.POST)
- public ModelMap allotEnRemind(Long userUU, Long enRemindId) {
- long start = System.currentTimeMillis();
- log.info("/inquiry/sale/allot/enremind post,分配企业商机,useruu: {}, enRemindId: {}", userUU, enRemindId);
- ModelMap modelMap = saleService.allotEnRemind(userUU, enRemindId);
- log.info("/inquiry/sale/allot/enremind post, 耗时: {}", (System.currentTimeMillis() - start));
- return modelMap;
- }
- /**
- * 分配平台商机
- * UAS
- * @param userUU
- * @param enUU
- * @param itemId
- * @return
- */
- @RequestMapping(value = "/allot/inquiry", method = RequestMethod.POST)
- public ModelMap allotInquiry(Long userUU, Long enUU, Long itemId) {
- long start = System.currentTimeMillis();
- log.info("/inquiry/sale/allot/inquiry post, 分配平台商机, useruu: {}, enuu: {}, itemId: {},", userUU, enUU, itemId);
- ModelMap map = saleService.allotInquiry(userUU, enUU, itemId);
- log.info("/inquiry/sale/allot/inquiry post, 耗时: {}", (System.currentTimeMillis() - start));
- return map;
- }
- /**
- * 移动端转报价的功能
- * IM 2018年7月10日 15:24:55 之后app报价将调用统一报价接口 /inquiry/sale/item/saveQuote
- * @param inquiryItemId 公共询价明细id
- * @param en_uu 报价企业UU号
- * @param replies 报价信息
- * @param leadtime 交货周期
- * @param minOrderQty 最小订购
- * @param minPackQty 最小包装
- * @return
- */
- @Deprecated
- @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, String currency, Float taxrate) throws Exception {
- long start = System.currentTimeMillis();
- log.info("/inquiry/sale/mobile/quote post, 作为卖家,对公共询价进行报价操作, sourceid: {}, useruu: {}, en_uu:{}", inquiryItemId,
- useruu, en_uu);
- if (StringUtils.isEmpty(en_uu) || StringUtils.isEmpty(useruu)) {
- throw new IllegalOperatorException("en_uu或useruu不能为空");
- }
- List<PublicInquiryReply> replyList = JSONObject.parseArray(replies, PublicInquiryReply.class);
- ModelMap map = saleService.quoteInquiry(inquiryItemId, en_uu, useruu, replyList, leadtime, minPackQty, minOrderQty, currency, taxrate);
- log.info("/inquiry/sale/mobile/quote post, 耗时: {}", (System.currentTimeMillis() - start));
- return map;
- }
- /**
- * 作为卖家,新增报价
- * 暂无
- * @param item 前台数据
- * @return
- */
- @Deprecated
- @RequestMapping(value = "/item/add", method = RequestMethod.POST)
- public String saveInquiryItem(@RequestBody PublicInquiryItem item) throws Exception {
- long start = System.currentTimeMillis();
- log.info("/inquiry/sale/item/add post,作为卖家,新增报价,item: {}",JSON.toJSON(item));
- item = saleService.add(item);
- log.info("/inquiry/sale/item/add post, 耗时: {}", (System.currentTimeMillis() - start));
- if (null != item.getId()) {
- return JSONObject.toJSONString(item);
- } else {
- throw new Exception("保存失败");
- }
- }
- /**
- * 作为卖家,保存更新公共询价单
- *
- * @param item 前台数据
- * @return
- * 报价后续统一调用 /item/saveQuote 2018年7月10日 之后不在维护
- */
- @Deprecated
- @RequestMapping(value = "/item/save", method = RequestMethod.POST)
- public String saveInquiryItems(@RequestBody PublicInquiryItem item) throws Exception {
- long start = System.currentTimeMillis();
- log.info("/inquiry/sale/item/save post, 作为卖家,对公共询价进行报价操作, item: {}", JSON.toJSON(item));
- item = saleService.saveItem(item);
- log.info("/inquiry/sale/item/save post, 耗时: {}", (System.currentTimeMillis() - start));
- publicInquiryService.ReceiveMessage(item,InquirySource.MALL.name());
- if (null != item) {
- PublicInquiry inquiry = item.getInquiry();
- inquiry.setQuteId(item.getId());
- return JSON.toJSONString(inquiry);
- } else {
- throw new Exception("保存失败");
- }
- }
- }
|