package com.uas.ps.inquiry.controller; import com.alibaba.fastjson.JSONObject; import com.uas.ps.inquiry.entity.InquiryDetailInfo; import com.uas.ps.inquiry.entity.InquiryProductInfo; import com.uas.ps.inquiry.model.PublicInquiryItem; 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.service.InquiryService; import com.uas.ps.inquiry.service.PublicInquiryService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.domain.Sort; 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; /** * 针对买家,对询价的操作 * * Created by hejq on 2018-01-17. */ @RequestMapping("/inquiry/buyer") @RestController public class InquiryForBuyerController { @Autowired private InquiryService inquiryService; /** * 作为买家,保存更新公共询价单 * * @param inquiry 询价信息 * @return */ @RequestMapping(value = "/save", method = RequestMethod.POST) public String saveInquiry(@RequestBody PurcInquiry inquiry) throws Exception { inquiry = inquiryService.saveInquiry(inquiry); if (null != inquiry.getId()) { return JSONObject.toJSONString(inquiry); } else { throw new Exception("保存失败"); } } /** * 通过明细id对供应商报价进行审核操作 * * @param id 报价明细id * @param status 状态 * @return * @throws Exception */ @RequestMapping(value = "/decide", method = RequestMethod.POST) public void decideQuote(Long id, Short status) throws Exception { inquiryService.decideQuote(id, status); } /** * 客户查询供应商报价详情 * * @param id 报价主表id * @param enuu 企业UU * @return */ @RequestMapping(value = "/detail", method = RequestMethod.GET) public InquiryDetailInfo findById(Long id, Long enuu) { return inquiryService.findById(id, enuu); } /** * 通过企业UU和分页参数获取已发布的询价信息 * * @param pageInfo 分页参数 * @param searchFilter 过滤条件 * @return */ @RequestMapping(value = "/inquiryList", method = RequestMethod.GET) public Page getInquiry(PageInfo pageInfo, SearchFilter searchFilter) { if (pageInfo.getOffset() == 0) { pageInfo.setOffset(pageInfo.getPageSize() * (pageInfo.getPageNumber() - 1)); } Sort sort = new Sort(Sort.Direction.DESC, "date"); if (pageInfo.getPageNumber() == 0) { pageInfo.setPageNumber(1); } if (pageInfo.getPageSize() == 0) { pageInfo.setPageSize(5); } pageInfo.setSort(sort); if (null != searchFilter.getUserUU()) { pageInfo.filter("recorderUU", searchFilter.getUserUU()); } else if (null != searchFilter.getEnUU()) { pageInfo.filter("enUU", searchFilter.getEnUU()); } else { throw new IllegalAccessError("非法访问"); } return inquiryService.findByPageInfo(pageInfo, searchFilter); } /** * 通过企业UU和分页参数获取已发布的询价信息 * * @param pageInfo 分页参数 * @param searchFilter 过滤条件 * @param state 过滤状态 * @param overdue 是否过期 1、过期;0、 未过期 * @return */ @RequestMapping(value = "/list", method = RequestMethod.GET) public Page getInquiryList(PageInfo pageInfo, SearchFilter searchFilter, String state, Integer overdue) { Sort sort = new Sort(Sort.Direction.DESC, "date"); if (pageInfo.getOffset() == 0) { pageInfo.setOffset(pageInfo.getPageSize() * (pageInfo.getPageNumber() - 1)); } pageInfo.setSort(sort); if (null != searchFilter.getUserUU()) { pageInfo.filter("userUU", searchFilter.getUserUU()); } else if (null != searchFilter.getEnUU()) { pageInfo.filter("inquiry.enUU", searchFilter.getEnUU()); } else { throw new IllegalAccessError("非法访问"); } return inquiryService.findTodoByPageInfo(pageInfo, searchFilter, state, overdue); } /** * 针对客户查询单个物料明细的报价情况 * * @param id 来源id * @param enuu 当前企业UU * @return */ @RequestMapping(value = "/product/detail", method = RequestMethod.GET) public InquiryProductInfo findInquiryDetailById(Long id, Long enuu) { return inquiryService.findInquiryDetailById(id, enuu); } }