Browse Source

1.商机返回结果调整
2.报价

chenw 7 years ago
parent
commit
802cf2088d

+ 96 - 0
applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/RemindRspDTO.java

@@ -50,6 +50,38 @@ public class RemindRspDTO implements Serializable {
      * 是否已报价, 1是  0否
      */
     private int quoted;
+    /**
+     * 买家联系人名称
+     */
+    private String userName;
+    /**
+     * 买家联系人UU
+     */
+    private Long userUU;
+    /**
+     * 买家联系人电话
+     */
+    private String userTel;
+    /**
+     * 询价明细ID
+     */
+    private Long sourceId;
+    /**
+     * 询价企业UU
+     */
+    private Long enUU;
+    /**
+     * 询价单录入人UU
+     */
+    private Long recorderUU;
+    /**
+     * 询价单号
+     */
+    private String inquiryCode;
+    /**
+     * 询价单ID
+     */
+    private Long inquiryId;
 
     public String getCustName() {
         return custName;
@@ -130,4 +162,68 @@ public class RemindRspDTO implements Serializable {
     public void setQuoted(int quoted) {
         this.quoted = quoted;
     }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public Long getUserUU() {
+        return userUU;
+    }
+
+    public void setUserUU(Long userUU) {
+        this.userUU = userUU;
+    }
+
+    public String getUserTel() {
+        return userTel;
+    }
+
+    public void setUserTel(String userTel) {
+        this.userTel = userTel;
+    }
+
+    public Long getSourceId() {
+        return sourceId;
+    }
+
+    public void setSourceId(Long sourceId) {
+        this.sourceId = sourceId;
+    }
+
+    public Long getEnUU() {
+        return enUU;
+    }
+
+    public void setEnUU(Long enUU) {
+        this.enUU = enUU;
+    }
+
+    public Long getRecorderUU() {
+        return recorderUU;
+    }
+
+    public void setRecorderUU(Long recorderUU) {
+        this.recorderUU = recorderUU;
+    }
+
+    public String getInquiryCode() {
+        return inquiryCode;
+    }
+
+    public void setInquiryCode(String inquiryCode) {
+        this.inquiryCode = inquiryCode;
+    }
+
+    public Long getInquiryId() {
+        return inquiryId;
+    }
+
+    public void setInquiryId(Long inquiryId) {
+        this.inquiryId = inquiryId;
+    }
 }

+ 11 - 0
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/controller/SaleController.java

@@ -2,6 +2,7 @@ package com.usoftchina.saas.sale.controller;
 
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.inquiry.po.inquiry.IPage;
+import com.usoftchina.inquiry.po.inquiry.PublicInquiryItem;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
@@ -215,4 +216,14 @@ public class SaleController {
         IPage<RemindRspDTO> remindRspDTOIPage = saleService.findRemindByUserInfo(remindReqDTO);
         return Result.success(remindRspDTOIPage);
     }
+
+    /**
+     * 报价
+     * @param publicInquiryItem
+     * @return
+     */
+    @PostMapping("/businessChance/saveQuote")
+    public Result saveQuote(PublicInquiryItem publicInquiryItem){
+        return Result.success(saleService.saveQuote(publicInquiryItem));
+    }
 }

+ 3 - 0
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/SaleService.java

@@ -2,6 +2,7 @@ package com.usoftchina.saas.sale.service;
 
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.inquiry.po.inquiry.IPage;
+import com.usoftchina.inquiry.po.inquiry.PublicInquiryItem;
 import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
@@ -52,4 +53,6 @@ public interface SaleService {
     IPage<RemindRspDTO> getEnremind(RemindReqDTO remindReqDTO);
 
     IPage<RemindRspDTO> findRemindByUserInfo(RemindReqDTO remindReqDTO);
+
+    String saveQuote(PublicInquiryItem publicInquiryItem);
 }

+ 42 - 1
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/SaleServiceImpl.java

@@ -6,6 +6,7 @@ import com.usoftchina.inquiry.api.InquiryApi;
 import com.usoftchina.inquiry.po.inquiry.IPage;
 import com.usoftchina.inquiry.po.inquiry.InquiryEnRemind;
 import com.usoftchina.inquiry.po.inquiry.InquiryRemind;
+import com.usoftchina.inquiry.po.inquiry.PublicInquiryItem;
 import com.usoftchina.saas.account.api.AccountApi;
 import com.usoftchina.saas.account.api.CompanyApi;
 import com.usoftchina.saas.base.Result;
@@ -34,9 +35,12 @@ import com.usoftchina.saas.sale.service.SaleService;
 import com.usoftchina.saas.storage.po.ProdIODetail;
 import com.usoftchina.saas.storage.po.ProdInOut;
 import com.usoftchina.saas.utils.*;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.ui.ModelMap;
 import org.springframework.util.StringUtils;
 
 import java.util.*;
@@ -75,6 +79,8 @@ public class SaleServiceImpl implements SaleService{
     @Autowired
     private CompanyApi companyApi;
 
+    private static final Logger LOGGER = LoggerFactory.getLogger(SaleServiceImpl.class);
+
     @Override
     public PageInfo<SaleList> getListData(@PageDefault(size = 10) PageRequest page, ListReqDTO req) {
         PageHelper.startPage(page.getNumber(), page.getSize());
@@ -675,7 +681,7 @@ public class SaleServiceImpl implements SaleService{
         Long enUU = companyApi.getCompanyById(BaseContextHolder.getCompanyId()).getData().getUu();
         //Long userUU = 1000002503L, enUU = 10041559L;
         IPage<InquiryEnRemind> inquiryEnRemindIPage = inquiryApi.findEnRemind(userUU, enUU, remindReqDTO.getPageNumber(),
-                remindReqDTO.getPageSize(), remindReqDTO.getEnableOffer(), remindReqDTO.getKeyword(), /*remindReqDTO.getQuoted(),*/
+                remindReqDTO.getPageSize(), remindReqDTO.getEnableOffer(), remindReqDTO.getKeyword(), remindReqDTO.getQuoted(),
                 remindReqDTO.getFromDate(), remindReqDTO.getEndDate());
         List<InquiryEnRemind> inquiryEnRemindList = inquiryEnRemindIPage.getContent();
         if (CollectionUtils.isEmpty(inquiryEnRemindList)){
@@ -713,6 +719,23 @@ public class SaleServiceImpl implements SaleService{
         return remindRspDTOIPage;
     }
 
+    /**
+     * 报价
+     * @param publicInquiryItem
+     * @return
+     */
+    @Override
+    public String saveQuote(PublicInquiryItem publicInquiryItem) {
+        Long enUU = companyApi.getCompanyById(BaseContextHolder.getCompanyId()).getData().getUu();
+        Long userUU = accountApi.getAccountById(BaseContextHolder.getUserId()).getData().getUu();
+        publicInquiryItem.setVendUU(enUU);
+        publicInquiryItem.setVendUserUU(userUU);
+        LOGGER.info("publicInquiryItem, {}", JsonUtils.toJsonString(publicInquiryItem));
+        ModelMap modelMap = inquiryApi.saveQuote(publicInquiryItem);
+        LOGGER.info("返回结果, ModelMap{}", JsonUtils.toJsonString(modelMap));
+        return null;
+    }
+
     /**
      * 将平台返回的结果集转成SAAS的传输对象
      * @param data
@@ -740,6 +763,15 @@ public class SaleServiceImpl implements SaleService{
                 }else{
                     remindRspDTO.setQuoted(1);
                 }
+                Long userUU = inquiryEnRemind.getInquiry().getRecorderUU();
+                remindRspDTO.setUserName(inquiryEnRemind.getUserName());
+                remindRspDTO.setUserTel(inquiryEnRemind.getUserTel());
+                remindRspDTO.setUserUU(userUU);
+                remindRspDTO.setSourceId(inquiryEnRemind.getItemId());
+                remindRspDTO.setEnUU(inquiryEnRemind.getEnUU());
+                remindRspDTO.setRecorderUU(userUU);
+                remindRspDTO.setInquiryCode(inquiryEnRemind.getCode());
+                remindRspDTO.setInquiryId(inquiryEnRemind.getId());
                 remindRspDTOList.add(remindRspDTO);
             }
         }else if("personal".equals(type)){
@@ -760,6 +792,15 @@ public class SaleServiceImpl implements SaleService{
                 }else{
                     remindRspDTO.setQuoted(1);
                 }
+                Long userUU = inquiryRemind.getInquiry().getRecorderUU();
+                remindRspDTO.setUserName(inquiryRemind.getUserName());
+                remindRspDTO.setUserTel(inquiryRemind.getUserTel());
+                remindRspDTO.setUserUU(userUU);
+                remindRspDTO.setSourceId(inquiryRemind.getItemId());
+                remindRspDTO.setEnUU(inquiryRemind.getEnUU());
+                remindRspDTO.setRecorderUU(userUU);
+                remindRspDTO.setInquiryCode(inquiryRemind.getCode());
+                remindRspDTO.setInquiryId(inquiryRemind.getId());
                 remindRspDTOList.add(remindRspDTO);
             }
         }

+ 2 - 3
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/api/InquiryApi.java

@@ -36,7 +36,7 @@ public interface InquiryApi {
     IPage<InquiryEnRemind> findEnRemind(@RequestParam("useruu") Long useruu, @RequestParam("enuu") Long enuu,
                                         @RequestParam("pageNumber") int pageNumber, @RequestParam("pageSize") int pageSize,
                                         @RequestParam("enableOffer") Integer enableOffer, @RequestParam("keyword") String keyword,
-                                        /*@RequestParam("quoted") Integer quoted, */@RequestParam("fromDate") Long fromDate,
+                                        @RequestParam("quoted") Integer quoted, @RequestParam("fromDate") Long fromDate,
                                         @RequestParam("endDate") Long endDate);
 
     /**
@@ -98,8 +98,7 @@ public interface InquiryApi {
      * @return
      */
     @GetMapping("/buyer/quotations")
-    IPage<PurcInquiryItemInfo> findQuotationsByPage(@RequestParam(value = "state", defaultValue = "done") String state,
-                                                    @RequestParam("enUU") Long enUU,
+    IPage<PurcInquiryItemInfo> findQuotationsByPage(@RequestParam("state") String state, @RequestParam("enUU") Long enUU,
                                                     @RequestParam("pageNumber") int pageNumber, @RequestParam("pageSize") int pageSize);
 
     /**

+ 41 - 4
applications/transfers/mall-api/src/test/java/com/usoftchina/inquiry/test/InquiryApiTest.java

@@ -13,9 +13,7 @@ import org.springframework.test.context.junit4.SpringRunner;
 import org.springframework.ui.ModelMap;
 
 import javax.naming.directory.InvalidSearchFilterException;
-import java.util.Date;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.*;
 
 /**
  * 询报价接口测试
@@ -44,7 +42,7 @@ public class InquiryApiTest {
 
     @Test
     public void testB_findEnRemind(){
-        IPage<InquiryEnRemind> inquiryEnRemindIPage = inquiryApi.findEnRemind(userUU, enUU, pageNum, pageSize, 0, "", /*0,*/ null, null);
+        IPage<InquiryEnRemind> inquiryEnRemindIPage = inquiryApi.findEnRemind(userUU, enUU, pageNum, pageSize, 0, "", 0, null, null);
         System.out.println(JsonUtils.toJsonString(inquiryEnRemindIPage));
     }
 
@@ -57,6 +55,45 @@ public class InquiryApiTest {
     @Test
     public void testD_saveQuote(){
         PublicInquiryItem publicInquiryItem = new PublicInquiryItem();
+        publicInquiryItem.setSourceId(2443698L);
+        publicInquiryItem.setVendUU(10050549L);     //祝通鸿
+        publicInquiryItem.setVendUserUU(1000027410L);   //祝通鸿
+        publicInquiryItem.setIsReplace((short) 0);
+        publicInquiryItem.setCmpCode("MT8783V");
+        publicInquiryItem.setSpec("MT8783V/CT,VFBGA641,SMD,无卤");
+        publicInquiryItem.setDate(new Date());
+        publicInquiryItem.setEndDate(new Date(System.currentTimeMillis() + 3 * 24 * 60 * 60 * 1000));
+        publicInquiryItem.setInbrand("MTK");
+        publicInquiryItem.setProdTitle("控制器IC");
+        publicInquiryItem.setQutoApp("sp");
+        publicInquiryItem.setCurrency("RMB");
+        publicInquiryItem.setLeadtime(3L);
+        publicInquiryItem.setTaxrate(0.16f);
+        //分段报价信息
+        List<PublicInquiryReply> replyList = new ArrayList<PublicInquiryReply>();
+        PublicInquiryReply publicInquiryReply = new PublicInquiryReply();
+        publicInquiryReply.setLapQty(100.0);
+        publicInquiryReply.setPrice(23.13);
+        replyList.add(publicInquiryReply);
+        publicInquiryReply = new PublicInquiryReply();
+        publicInquiryReply.setLapQty(200.0);
+        publicInquiryReply.setPrice(22.13);
+        replyList.add(publicInquiryReply);
+
+        //买家采购员信息
+        publicInquiryItem.setUserName("何炎");
+        publicInquiryItem.setUserTel("13978887888");
+        publicInquiryItem.setUserUU(1000012297L);
+        //询价单信息
+        PublicInquiry inquiry = new PublicInquiry();
+        inquiry.setId(2293571L);
+        inquiry.setEnUU(10050573L);
+        inquiry.setRecorderUU(1000012297L);
+        inquiry.setCode("sp1546790412000295579");
+
+        publicInquiryItem.setInquiry(inquiry);
+        publicInquiryItem.setReplies(replyList);
+        System.out.println(JsonUtils.toJsonString(publicInquiryItem));
         ModelMap modelMap = inquiryApi.saveQuote(publicInquiryItem);
         System.out.println(JsonUtils.toJsonString(modelMap));
     }