| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484 |
- package com.uas.ps.inquiry.controller;
- import com.alibaba.fastjson.JSONObject;
- import com.uas.ps.entity.Status;
- import com.uas.ps.inquiry.domain.IPage;
- import com.uas.ps.inquiry.entity.Constant;
- import com.uas.ps.inquiry.entity.InquiryMessage;
- import com.uas.ps.inquiry.entity.InquirySource;
- import com.uas.ps.inquiry.entity.OrderStatus;
- import com.uas.ps.inquiry.model.Attach;
- import com.uas.ps.inquiry.model.PublicInquiryItemInfo;
- import com.uas.ps.inquiry.model.PurcInquiry;
- import com.uas.ps.inquiry.model.PurcInquiryItemInfo;
- import com.uas.ps.inquiry.page.PageInfo;
- import com.uas.ps.inquiry.page.SearchFilter;
- import com.uas.ps.inquiry.page.criteria.PredicateUtils;
- import com.uas.ps.inquiry.service.AttachService;
- 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.data.domain.Page;
- import org.springframework.data.domain.Sort;
- import org.springframework.ui.ModelMap;
- import org.springframework.util.StringUtils;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.bind.annotation.RestController;
- import java.rmi.AccessException;
- import java.util.List;
- import java.util.Map;
- /**
- * 公共询价接口路径
- * <p>
- * Created by hejq on 2018-01-13.
- */
- @RestController
- @RequestMapping("/inquiry/public")
- public class PublicInquiryController {
- @Autowired
- private PublicInquiryService publicInquiryService;
- @Autowired
- private AttachService attachService;
- @Autowired
- private InquiryForSaleService saleService;
- private final static Logger log = LoggerFactory.getLogger(PublicInquiryController.class);
- /**
- * 通过分页参数和过滤条件查询公共询价列表信息
- * B2B\B2C\IM
- *
- * @param pageInfo 分页参数
- * @param searchFilter 过滤条件
- * @return
- * @author hejq
- * @date 2018-01-17 10:27
- */
- @RequestMapping(method = RequestMethod.GET)
- public IPage<PurcInquiryItemInfo> getInquiry(PageInfo pageInfo, SearchFilter searchFilter, String distributes) {
- long start = System.currentTimeMillis();
- if (!StringUtils.isEmpty(distributes)) {
- List<Long> distribute = JSONObject.parseArray(distributes, Long.class);
- searchFilter.setDistribute(distribute);
- }
- // 询价单主列表接口,默认限制询价单为有效状态
- if (null != searchFilter.getValid()) {
- pageInfo.expression(PredicateUtils.eq("valid", searchFilter.getValid(), false));
- } else {
- pageInfo.expression(PredicateUtils.eq("valid", Constant.YES, false));
- }
- IPage<PurcInquiryItemInfo> page = publicInquiryService.findTodoByPageInfo(pageInfo, searchFilter);
- log.info("/inquiry/public, 查询公共询价信息, UserUU: {}, EnUU: {}, 报价的应用来源: {}, 耗时: {}", searchFilter.getUserUU(), searchFilter.getEnUU(), InquirySource.PLAIN.name(), (System.currentTimeMillis() - start));
- return page;
- }
- /**
- * 针对商城,查询已发布的公共询价信息
- * 暂无
- *
- * @param pageInfo 分页信息
- * @param searchFilter 过滤条件
- * @return
- */
- @RequestMapping(value = "/inquiryList", method = RequestMethod.GET)
- public IPage<PurcInquiryItemInfo> getInquiryList(PageInfo pageInfo, SearchFilter searchFilter) {
- long start = System.currentTimeMillis();
- if (null != searchFilter.getUserUU()) {
- pageInfo.filter("userUU", searchFilter.getUserUU());
- }
- if (null != searchFilter.getEnUU()) {
- pageInfo.filter("inquiry.enUU", searchFilter.getEnUU());
- }
- IPage<PurcInquiryItemInfo> infoIPage = publicInquiryService.findTodoByPageInfo(pageInfo, searchFilter);
- log.info("/inquiry/public/inquiryList, 查询公共询价信息, UserUU: {}, EnUU: {}, 报价的应用来源: {}, 耗时: {}", searchFilter.getUserUU(), searchFilter.getEnUU(), InquirySource.MALL.name(), (System.currentTimeMillis() - start));
- return infoIPage;
- }
- /**
- * 通过分页信息和过滤条件查询已转报价的信息
- * B2B\B2C
- *
- * @param pageInfo 分页参数
- * @param filter 过滤条件
- * @return
- * @author hejq
- * @date 2018-01-18 15:36
- */
- @RequestMapping(value = "/quotation/list", method = RequestMethod.GET)
- public IPage<PublicInquiryItemInfo> getQuotation(PageInfo pageInfo, String filter, String _state, Short overdue) {
- long start = System.currentTimeMillis();
- SearchFilter searchFilter = JSONObject.parseObject(filter, SearchFilter.class);
- if (null != searchFilter) {
- if (null != searchFilter.getVendUU()) {
- pageInfo.filter("vendUU", searchFilter.getVendUU());
- } else if (null != searchFilter.getEnUU()) {
- pageInfo.filter("inquiry.enUU", searchFilter.getEnUU());
- // 已报价未传vendUU时,抛出异常
- }
- } else if (null != _state && _state.equals(OrderStatus.done.name())) {
- throw new IllegalAccessError("请先传入企业信息");
- }
- if (null != _state) {
- pageInfo = publicInquiryService.covert(pageInfo, _state, overdue);
- }
- IPage<PublicInquiryItemInfo> inquiryItemInfoIPage = publicInquiryService.findByPageInfo(pageInfo, searchFilter);
- log.info("/inquiry/public/quotation/list, 查询已转报价询价列表信息, 状态:{}, UserUU: {}, EnUU: {}, 报价的应用来源: {}, 耗时: {}", (_state == null ? "all" : _state), searchFilter != null ? searchFilter.getUserUU() : null, searchFilter != null ? searchFilter.getEnUU() : null, InquirySource.PLAIN.name(), (System.currentTimeMillis() - start));
- return inquiryItemInfoIPage;
- }
- /**
- * 通过id查询单个已转报价的信息
- * B2C
- *
- * @param id
- * @return
- */
- @RequestMapping(value = "/quotation/one", method = RequestMethod.GET)
- public PublicInquiryItemInfo getQuotationById(Long id, Long enuu, Long useruu) throws AccessException {
- long start = System.currentTimeMillis();
- if (StringUtils.isEmpty(enuu) || StringUtils.isEmpty(useruu)) {
- throw new IllegalAccessError("暂无访问权限");
- }
- PublicInquiryItemInfo info = publicInquiryService.findOneInfo(id, enuu, useruu);
- log.info("/inquiry/public/quotation/one,通过id查询单个已转报价的信息,id: {}, enuu: {}, useruu: {}, 耗时: {}", id, enuu, useruu, (System.currentTimeMillis() - start));
- return info;
- }
- /**
- * 商城获取采纳列表
- * B2C
- *
- * @param pageInfo
- * @param filter
- * @param _state
- * @return
- */
- @RequestMapping(value = "/quotationList", method = RequestMethod.GET)
- public Page<PublicInquiryItemInfo> getQuotationList(PageInfo pageInfo, String filter, String _state, Short overdue) {
- long start = System.currentTimeMillis();
- SearchFilter searchFilter = JSONObject.parseObject(filter, SearchFilter.class);
- if (null != _state) {
- pageInfo = publicInquiryService.covert(pageInfo, _state, overdue);
- }
- Page<PublicInquiryItemInfo> itemInfoPage = publicInquiryService.findListByPageInfo(pageInfo, searchFilter);
- log.info("/inquiry/public/quotationList, 商城获取采纳列表, filter: {}, state: {}, overdue: {}, 耗时: {}", filter, _state, overdue, (System.currentTimeMillis() - start));
- return itemInfoPage;
- }
- /**
- * 获取最新的公共询价列表
- * B2B
- *
- * @param enuu 当前企业UU号
- * @param size 大小
- * @return
- */
- @RequestMapping(value = "/messageList", method = RequestMethod.GET)
- public List<InquiryMessage> getList(Long enuu, Integer size) {
- long start = System.currentTimeMillis();
- List<InquiryMessage> messages = publicInquiryService.getMessageList(enuu, size);
- log.info("/inquiry/public/messageList, 获取最新的公共询价, size:{}, Constant: {}, EnUU: {}, 报价的应用来源: {}, 耗时: {}", size, Constant.UU, enuu, InquirySource.PLAIN.name(), (System.currentTimeMillis() - start));
- return messages;
- }
- /**
- * 将客户的公共询价列表中一条数据转成询价报价单数据
- * 暂无
- *
- * @param id 公共询价明细id
- * @param enuu 报价企业UU
- * @param useruu 报价个人UU
- * @return
- * @author hejq
- * @date 2018-01-14 15:20
- */
- @RequestMapping(value = "/turntoInquiry", method = RequestMethod.POST)
- private ModelMap transtoInquiry(Long id, Long enuu, Long useruu) {
- long start = System.currentTimeMillis();
- ModelMap map = publicInquiryService.transtoInquiry(id, enuu, useruu);
- log.info("/inquiry/public/turntoInquiry post, 将数据转成询价报价单数据, id: {}, enuu: {}, useruu: {}, 耗时: {}", id, enuu, useruu, (System.currentTimeMillis() - start));
- return map;
- }
- /**
- * 获取附件信息
- * B2B
- *
- * @param id 附件id
- * @return
- */
- @RequestMapping(value = "/attachUrl", method = RequestMethod.GET)
- public com.uas.ps.inquiry.model.Attach getAttach(Long id) {
- long start = System.currentTimeMillis();
- Attach attach = attachService.findById(id);
- log.info("/inquiry/public/atatchUrl, 获取附件信息, id:{ }, 耗时: {}", id, (System.currentTimeMillis() - start));
- return attach;
- }
- /**
- * 通过询价主表id查询主表信息
- * B2C
- *
- * @param id 主表id
- * @return
- */
- @RequestMapping(value = "/findInquiryById", method = RequestMethod.GET)
- public PurcInquiry findById(Long id, Long enuu) {
- long start = System.currentTimeMillis();
- PurcInquiry inquiry = publicInquiryService.findInquiryById(id);
- inquiry = publicInquiryService.getQuotedDetail(inquiry);
- log.info("/inquiry/public/findInquiryById, 获取询价信息, id: {}, Constant: {}, EnUU: {}, 报价的应用来源: {}, 耗时:{}", id, Constant.UU, enuu, InquirySource.PLAIN.name(), (System.currentTimeMillis() - start));
- return inquiry;
- }
- /**
- * 商城-采购排行榜
- * B2C
- *
- * @return
- */
- @RequestMapping(value = "/findCodeRankingList", method = RequestMethod.GET)
- public List<Map<String, Object>> findCodeRankingList() {
- long start = System.currentTimeMillis();
- List<Map<String, Object>> list = publicInquiryService.findCodeRankingList();
- log.info("/inquiry/public/findCodeRankingList,商城-采购排行榜, 耗时: {}", (System.currentTimeMillis() - start));
- return list;
- }
- /**
- * 通过明细id查询该条询价的详情
- * B2B\B2C
- *
- * @param itemId 明细id
- * @param enuu enuu
- * @return
- */
- @RequestMapping(value = "/findItemByItemId", method = RequestMethod.GET)
- public PurcInquiryItemInfo findItemByItemId(Long itemId, Long enuu) {
- long start = System.currentTimeMillis();
- PurcInquiryItemInfo itemInfo = publicInquiryService.findItemByItemId(itemId, enuu);
- log.info("/inquiry/public/findItemByItemId, 获取询价信息, id: {}, Constant: {}, EnUU: {}, 报价的应用来源: {}, 耗时: {}", itemId, Constant.UU, enuu, InquirySource.B2B.name(), (System.currentTimeMillis() - start));
- return itemInfo;
- }
- /**
- * 公共询价单明细总数
- * zanwu
- *
- * @return
- */
- @RequestMapping(value = "/getPurcInquiryItemCount", method = RequestMethod.GET)
- public ModelMap getPurcInquiryItemCount() {
- long start = System.currentTimeMillis();
- ModelMap map = publicInquiryService.getPurcInquiryItemCount();
- log.info("/inquiry/public/getPurcInquiryItemCount, 公共询价单明细总数, 耗时: {}", (System.currentTimeMillis() - start));
- return map;
- }
- /**
- * 公共询价单明细某年某月总数
- * B2C
- *
- * @param month 月份
- * @return
- */
- @RequestMapping(value = "/getPurcInquiryItemCountByMonth", method = RequestMethod.GET)
- public ModelMap getPurcInquiryItemCountByMonth(Integer year, Integer month) {
- long start = System.currentTimeMillis();
- ModelMap map = publicInquiryService.countByMonth(year, month);
- log.info("/inquiry/public/getPurcInquiryItemCountByMonth, 公共询价单明细某年某月总数, year: {}, month: {}, 耗时: {}", year, month, (System.currentTimeMillis() - start));
- return map;
- }
- /**
- * 公共询价单明细本月数量和上月数量
- * B2C
- *
- * @return
- */
- @RequestMapping(value = "/getCountOfLastAndThisMonth", method = RequestMethod.GET)
- public ModelMap getPurcInquiryItemCountByMonth() {
- long start = System.currentTimeMillis();
- ModelMap map = publicInquiryService.getCountOfLastAndThisMonth();
- log.info("/inquiry/public/getCountOfLastAndThisMonth,公共询价单明细本月数量和上月数量, 耗时: {}", (System.currentTimeMillis() - start));
- return map;
- }
- /**
- * 公共询价单明细设置禁用或反禁用
- * B2C-admin
- *
- * @param id 询价明细id
- * @param valid 是否生效状态 1为是,0为否
- * @return
- */
- @RequestMapping(value = "/deleteItem", method = RequestMethod.POST)
- public ModelMap deleteItems(Long id, Integer valid) {
- long start = System.currentTimeMillis();
- if (null == valid) {
- valid = 0;
- }
- ModelMap map = publicInquiryService.deleteItems(id, valid);
- log.info("/inquiry/public/deleteItems, 公共询价单明细设置禁用或反禁用, 耗时: {}", (System.currentTimeMillis() - start));
- return map;
- }
- /**
- * 商城后台-统计询价产品和用户
- *
- * @param startDate
- * @param endDate
- * @return
- */
- @RequestMapping(value = "/getInquiryCountData", method = RequestMethod.GET)
- public ModelMap getInquiryCountData(String startDate, String endDate) {
- log.info("/inquiry/public/getInquiryCountData, 商城后台-统计询价产品和用户, startDate: {}, endDate:{}", startDate, endDate);
- return publicInquiryService.getInquiryCountData(startDate, endDate);
- }
- /* ===========================================app接口start============================================================ */
- /**
- * 移动端查询公共询价列表信息
- *
- * @param page 页码
- * @param size 每页大小
- * @param en_uu 企业UU
- * @param _state 过滤状态
- * @param keyword 搜索词
- * @param user_tel 电话
- * @param fromDate 开始日期
- * @param endDate 截止日期
- * @return
- */
- @Deprecated
- @RequestMapping(value = "/mobile", method = RequestMethod.GET)
- public ModelMap publincInquiry(Integer page, Integer size, Long en_uu, String _state,
- String keyword, String user_tel, Long fromDate, Long endDate) {
- long start = System.currentTimeMillis();
- ModelMap map = new ModelMap();
- PageInfo pageInfo = setPageInfo(page, size);
- SearchFilter filter = new SearchFilter();
- filter.setFromDate(fromDate);
- filter.setEndDate(endDate);
- filter.setKeyword(keyword);
- if (StringUtils.hasText(_state)) {
- if (_state.equals(OrderStatus.end.name())) {
- pageInfo.filter("overdue", Constant.YES);
- map.put("content", publicInquiryService.findTodoByPageInfo(pageInfo, filter).getContent());
- log.info("/inquiry/mobile, 查询公共询价信息, tel: {}, Constant: {}, EnUU: {}, 报价的应用来源: {}, 耗时: {}", user_tel, Constant.UU, en_uu, InquirySource.UU.name(), (System.currentTimeMillis() - start));
- return map;
- } else if (_state.equals(OrderStatus.invalid.name())) {
- pageInfo.filter("status", Status.DISABLED.value());
- map.put("content", publicInquiryService.findTodoByPageInfo(pageInfo, filter).getContent());
- log.info("/inquiry/mobile, 查询公共询价信息, tel: {}, Constant: {}, EnUU: {}, 报价的应用来源: {}, 耗时: {}", user_tel, Constant.UU, en_uu, InquirySource.UU.name(), (System.currentTimeMillis() - start));
- return map;
- } else if (_state.equals(OrderStatus.done.name())) {
- pageInfo.filter("vendUU", en_uu);
- filter.setKeyword(keyword);
- map.put("content", publicInquiryService.findByPageInfo(pageInfo, filter).getContent());
- log.info("/inquiry/mobile, 查询已转报价询价列表信息, tel: {}, Constant: {}, EnUU: {}, 报价的应用来源: {}, 耗时: {}", user_tel, Constant.UU, en_uu, InquirySource.UU.name(), (System.currentTimeMillis() - start));
- return map;
- }
- } else {
- filter.setEnUU(en_uu);
- map.put("content", publicInquiryService.findTodoByPageInfo(pageInfo, filter).getContent());
- log.info("/inquiry/mobile, 查询公共询价信息, tel: {}, Constant: {}, EnUU: {}, 报价的应用来源: {}, 耗时: {}", user_tel, Constant.UU, en_uu, InquirySource.UU.name(), (System.currentTimeMillis() - start));
- return map;
- }
- return map;
- }
- /**
- * 设置分页信息
- *
- * @param page 页码
- * @param size 条数
- * @return
- */
- private PageInfo setPageInfo(Integer page, Integer size) {
- PageInfo pageInfo = new PageInfo();
- if (page == null || page == 0) {
- pageInfo.setPageNumber(1);
- } else {
- pageInfo.setPageNumber(page);
- }
- if (size == null || size == 0) {
- pageInfo.setPageSize(5);
- } else {
- pageInfo.setPageSize(size);
- }
- pageInfo.setOffset(pageInfo.getPageSize() * (pageInfo.getPageNumber() - 1));
- Sort sort = new Sort(Sort.Direction.DESC, "date");
- pageInfo.setSort(sort);
- log.info("设置分页信息, page: {}, size: {}", page, size);
- return pageInfo;
- }
- /**
- * 移动端查询公共询价列表信息
- * 2018年7月10日 16:24:35 此接口实际是将获取全部、获取已报价、获取未报价接口整合到一起,供UU互联只调用一个接口,
- * 可以修改为去调用对应的列表方法,这样,UU只用调用一个接口,公共服务也不用重复维护。
- *
- * @param page 页码
- * @param size 每页大小
- * @param en_uu 企业UU
- * @param _state 过滤状态
- * @param keyword 搜索词
- * @param user_tel 电话
- * @param fromDate 开始日期
- * @param endDate 截止日期
- * @return
- */
- @Deprecated
- @RequestMapping(value = "/mobile/v2", method = RequestMethod.GET)
- public ModelMap publicInquiry(Integer page, Integer size, Long en_uu, String _state,
- String keyword, String user_tel, Long fromDate, Long endDate) {
- long start = System.currentTimeMillis();
- ModelMap map = new ModelMap();
- PageInfo pageInfo = setPageInfo(page, size);
- SearchFilter filter = new SearchFilter();
- filter.setFromDate(fromDate);
- filter.setEndDate(endDate);
- filter.setKeyword(keyword);
- if (StringUtils.hasText(_state)) {
- if (_state.equals(OrderStatus.end.name())) {
- pageInfo.filter("overdue", Constant.YES);
- map.put("content", publicInquiryService.findTodoByPageInfo(pageInfo, filter).getContent());
- log.info("/inquiry/mobile/mobile/v2, 查询公共询价信息, tel: {}, Constant: {}, EnUU: {}, 报价的应用来源: {}, 耗时:{}", user_tel, Constant.UU, en_uu, InquirySource.UU.name(), (System.currentTimeMillis() - start));
- return map;
- } else if (_state.equals(OrderStatus.invalid.name())) {
- pageInfo.filter("status", Status.DISABLED.value());
- map.put("content", publicInquiryService.findTodoByPageInfo(pageInfo, filter).getContent());
- log.info("/inquiry/mobile/mobile/v2, 查询公共询价信息, tel: {}, Constant: {}, EnUU: {}, 报价的应用来源: {}, 耗时:{}", user_tel, Constant.UU, en_uu, InquirySource.UU.name(), (System.currentTimeMillis() - start));
- return map;
- } else if (_state.equals(OrderStatus.done.name())) {
- pageInfo.filter("vendUU", en_uu);
- filter.setKeyword(keyword);
- map.put("content", publicInquiryService.findByPageInfo(pageInfo, filter).getContent());
- log.info("/inquiry/mobile/mobile/v2, 查询已转报价询价列表信息, tel: {}, Constant: {}, EnUU: {}, 报价的应用来源: {}, 耗时: {}", user_tel, Constant.UU, en_uu, InquirySource.UU.name(), (System.currentTimeMillis() - start));
- return map;
- }
- } else {
- pageInfo.filter("vendUU", en_uu);
- map.put("content", publicInquiryService.covertRemindToInquiry(saleService.findRemindByPageInfo(pageInfo, filter).getContent()));
- log.info("/inquiry/mobile/mobile/v2, 查询公共询价信息, tel: {}, Constant: {}, EnUU: {}, 报价的应用来源: {}, 耗时: {}", user_tel, Constant.UU, en_uu, InquirySource.UU.name(), (System.currentTimeMillis() - start));
- return map;
- }
- return map;
- }
- /* ===========================================app接口end============================================================ */
- }
|