Browse Source

个人商机接口

chenw 7 years ago
parent
commit
e7cde3dae0

+ 11 - 9
applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/EnremindReqDTO.java → applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/RemindReqDTO.java

@@ -3,11 +3,11 @@ package com.usoftchina.saas.sale.dto;
 import java.io.Serializable;
 
 /**
- * @Description 公司商机请求参数对象
+ * @Description 商机请求参数对象
  * @Author chenwei
  * @Date 2019/01/07
  */
-public class EnremindReqDTO implements Serializable {
+public class RemindReqDTO implements Serializable {
     /**
      * 页码
      */
@@ -27,12 +27,14 @@ public class EnremindReqDTO implements Serializable {
     /**
      * 筛选开始时间
      */
-    private String fromDate;
+    private Long fromDate;
     /**
      * 筛选截止时间
      */
-    private String endDate;
-
+    private Long endDate;
+    /**
+     * 是否已报价, 1:已报价,0:未报价,null 全部
+     */
     private Integer quoted;
 
     public int getPageNumber() {
@@ -67,19 +69,19 @@ public class EnremindReqDTO implements Serializable {
         this.keyword = keyword;
     }
 
-    public String getFromDate() {
+    public Long getFromDate() {
         return fromDate;
     }
 
-    public void setFromDate(String fromDate) {
+    public void setFromDate(Long fromDate) {
         this.fromDate = fromDate;
     }
 
-    public String getEndDate() {
+    public Long getEndDate() {
         return endDate;
     }
 
-    public void setEndDate(String endDate) {
+    public void setEndDate(Long endDate) {
         this.endDate = endDate;
     }
 

+ 1 - 1
applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/EnremindRspDTO.java → applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/RemindRspDTO.java

@@ -8,7 +8,7 @@ import java.util.Date;
  * @Author chenwei
  * @Date 2019/01/07
  */
-public class EnremindRspDTO implements Serializable {
+public class RemindRspDTO implements Serializable {
 
     /**
      * 客户名称

+ 19 - 8
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/controller/SaleController.java

@@ -1,13 +1,15 @@
 package com.usoftchina.saas.sale.controller;
 
 import com.github.pagehelper.PageInfo;
+import com.usoftchina.inquiry.po.IPage;
+import com.usoftchina.inquiry.po.InquiryRemind;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.page.PageRequest;
-import com.usoftchina.saas.sale.dto.EnremindReqDTO;
-import com.usoftchina.saas.sale.dto.EnremindRspDTO;
+import com.usoftchina.saas.sale.dto.RemindReqDTO;
+import com.usoftchina.saas.sale.dto.RemindRspDTO;
 import com.usoftchina.saas.sale.dto.SaleFormDTO;
 import com.usoftchina.saas.sale.po.SaleList;
 import com.usoftchina.saas.sale.service.SaleService;
@@ -196,15 +198,24 @@ public class SaleController {
         return Result.success(baseDTO);
     }
 
+    /**
+     * 企业商机
+     * @param remindReqDTO
+     * @return
+     */
     @GetMapping("/enterprise/businessChance")
-    public Result getEnremind(EnremindReqDTO enremindReqDTO){
-        List<EnremindRspDTO> enremindRspDTOList =  saleService.getEnremind(enremindReqDTO);
-        return Result.success(enremindRspDTOList);
+    public Result getEnremind(RemindReqDTO remindReqDTO){
+        IPage<RemindRspDTO> remindRspDTOIPage =  saleService.getEnremind(remindReqDTO);
+        return Result.success(remindRspDTOIPage);
     }
 
+    /**
+     * 个人商机
+     * @return
+     */
     @GetMapping("/personal/businessChance")
-    public Result getPersonalBusinessChance(){
-
-        return Result.success();
+    public Result getPersonalBusinessChance(RemindReqDTO remindReqDTO){
+        IPage<RemindRspDTO> remindRspDTOIPage = saleService.findRemindByUserInfo(remindReqDTO);
+        return Result.success(remindRspDTOIPage);
     }
 }

+ 7 - 4
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/SaleService.java

@@ -1,13 +1,14 @@
 package com.usoftchina.saas.sale.service;
 
 import com.github.pagehelper.PageInfo;
-import com.usoftchina.saas.base.service.CommonBaseService;
+import com.usoftchina.inquiry.po.IPage;
+import com.usoftchina.inquiry.po.InquiryRemind;
 import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.page.PageRequest;
-import com.usoftchina.saas.sale.dto.EnremindReqDTO;
-import com.usoftchina.saas.sale.dto.EnremindRspDTO;
+import com.usoftchina.saas.sale.dto.RemindReqDTO;
+import com.usoftchina.saas.sale.dto.RemindRspDTO;
 import com.usoftchina.saas.sale.dto.SaleFormDTO;
 import com.usoftchina.saas.sale.po.SaleList;
 
@@ -51,5 +52,7 @@ public interface SaleService {
 
     DocBaseDTO saleTurnPurchase(Long id);
 
-    List<EnremindRspDTO> getEnremind(EnremindReqDTO enremindReqDTO);
+    IPage<RemindRspDTO> getEnremind(RemindReqDTO remindReqDTO);
+
+    IPage<RemindRspDTO> findRemindByUserInfo(RemindReqDTO remindReqDTO);
 }

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

@@ -1,10 +1,13 @@
 package com.usoftchina.saas.sale.service.impl;
 
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.inquiry.api.InquiryApi;
 import com.usoftchina.inquiry.po.IPage;
 import com.usoftchina.inquiry.po.InquiryEnRemind;
+import com.usoftchina.inquiry.po.InquiryRemind;
 import com.usoftchina.saas.account.api.AccountApi;
 import com.usoftchina.saas.account.api.CompanyApi;
 import com.usoftchina.saas.base.Result;
@@ -35,6 +38,7 @@ import com.usoftchina.saas.storage.po.ProdInOut;
 import com.usoftchina.saas.utils.BeanMapper;
 import com.usoftchina.saas.utils.CollectionUtils;
 import com.usoftchina.saas.utils.DateUtils;
+import com.usoftchina.saas.utils.JsonUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -664,50 +668,97 @@ public class SaleServiceImpl implements SaleService{
 
     /**
      * 获取企业商机
-     * @param enremindReqDTO
+     * @param remindReqDTO
      * @return
      */
     @Override
-    public List<EnremindRspDTO> getEnremind(EnremindReqDTO enremindReqDTO) {
-        /*Long userUU = accountApi.getAccountById(BaseContextHolder.getUserId()).getData().getUu();
+    public IPage<RemindRspDTO> getEnremind(RemindReqDTO remindReqDTO) {
+        Long userUU = accountApi.getAccountById(BaseContextHolder.getUserId()).getData().getUu();
         if (userUU == null){
             userUU = 0L;
         }
         Long enUU = companyApi.getCompanyById(BaseContextHolder.getCompanyId()).getData().getUu();
-        */
-        Long userUU = 1000002503L, enUU = 10041559L;
-        IPage<InquiryEnRemind> inquiryEnRemindIPage = inquiryApi.findEnRemind(userUU, enUU, enremindReqDTO.getPageNumber(),
-                enremindReqDTO.getPageSize(), enremindReqDTO.getEnableOffer(), enremindReqDTO.getKeyword(), enremindReqDTO.getQuoted());
+        //Long userUU = 1000002503L, enUU = 10041559L;
+        IPage<InquiryEnRemind> inquiryEnRemindIPage = inquiryApi.findEnRemind(userUU, enUU, remindReqDTO.getPageNumber(),
+                remindReqDTO.getPageSize(), remindReqDTO.getEnableOffer(), remindReqDTO.getKeyword(), remindReqDTO.getQuoted(),
+                remindReqDTO.getFromDate(), remindReqDTO.getEndDate());
         List<InquiryEnRemind> inquiryEnRemindList = inquiryEnRemindIPage.getContent();
         if (CollectionUtils.isEmpty(inquiryEnRemindList)){
             return null;
         }
-        List<EnremindRspDTO> enremindRspDTOList = convertToEnremindRspDTO(inquiryEnRemindList);
-        return enremindRspDTOList;
+        List<RemindRspDTO> remindRspDTOList = convertToRemindRspDTO(JsonUtils.toJsonString(inquiryEnRemindList), "enterprise");
+        //转换成分页对象
+        IPage<RemindRspDTO> remindRspDTOIPage = new IPage<RemindRspDTO>(inquiryEnRemindIPage.getNumber(), inquiryEnRemindIPage.getSize(),
+                inquiryEnRemindIPage.getNumberOfElements(),remindRspDTOList, inquiryEnRemindIPage.isFirst(), inquiryEnRemindIPage.isLast(),
+                inquiryEnRemindIPage.getTotalElements());
+        return remindRspDTOIPage;
+    }
+
+    /**
+     * 获取个人商机
+     * @param remindReqDTO
+     * @return
+     */
+    @Override
+    public IPage<RemindRspDTO> findRemindByUserInfo(RemindReqDTO remindReqDTO) {
+        Long userUU = accountApi.getAccountById(BaseContextHolder.getUserId()).getData().getUu();
+        Long enUU = companyApi.getCompanyById(BaseContextHolder.getCompanyId()).getData().getUu();
+        IPage<InquiryRemind> inquiryRemindIpage = inquiryApi.findRemindByUserInfo(userUU, enUU, remindReqDTO.getPageNumber(), remindReqDTO.getPageSize(),
+                remindReqDTO.getEnableOffer(),remindReqDTO.getKeyword(), remindReqDTO.getQuoted(),
+                remindReqDTO.getFromDate(), remindReqDTO.getEndDate());
+        List<InquiryRemind> inquiryRemindList = inquiryRemindIpage.getContent();
+        if (CollectionUtils.isEmpty(inquiryRemindList)){
+            return null;
+        }
+        List<RemindRspDTO> remindRspDTOList = convertToRemindRspDTO(JsonUtils.toJsonString(inquiryRemindList), "personal");
+        //转换成分页对象
+        IPage<RemindRspDTO> remindRspDTOIPage = new IPage<RemindRspDTO>(inquiryRemindIpage.getNumber(), inquiryRemindIpage.getSize(),
+                inquiryRemindIpage.getNumberOfElements(),remindRspDTOList, inquiryRemindIpage.isFirst(), inquiryRemindIpage.isLast(),
+                inquiryRemindIpage.getTotalElements());
+        return remindRspDTOIPage;
     }
 
     /**
      * 将平台返回的结果集转成SAAS的传输对象
-     * @param inquiryEnRemindList
+     * @param data
+     * @param type
      * @return
      */
-    private List<EnremindRspDTO> convertToEnremindRspDTO(List<InquiryEnRemind> inquiryEnRemindList) {
-        List<EnremindRspDTO> enremindRspDTOList = new ArrayList<EnremindRspDTO>();
-        EnremindRspDTO enremindRspDTO = null;
-        for (InquiryEnRemind inquiryEnRemind : inquiryEnRemindList){
-            enremindRspDTO = new EnremindRspDTO();
-            enremindRspDTO.setCustName(inquiryEnRemind.getEnName());
-            enremindRspDTO.setProdBrand(inquiryEnRemind.getInbrand());
-            enremindRspDTO.setProdName(inquiryEnRemind.getProdTitle());
-            enremindRspDTO.setProdOrispeccode(inquiryEnRemind.getCmpCode());
-            enremindRspDTO.setProdSpec(inquiryEnRemind.getSpec());
-            //enremindRspDTO.setProdUnit(inquiryEnRemind.get);
-            enremindRspDTO.setNeedQty(inquiryEnRemind.getNeedQty());
-            enremindRspDTO.setStartDate(inquiryEnRemind.getReDate());
-            enremindRspDTO.setEndDate(inquiryEnRemind.getEndDate());
-            enremindRspDTOList.add(enremindRspDTO);
-        }
-        return enremindRspDTOList;
+    private List<RemindRspDTO> convertToRemindRspDTO(String data, String type) {
+        List<RemindRspDTO> remindRspDTOList = new ArrayList<RemindRspDTO>();
+        RemindRspDTO remindRspDTO = null;
+        if ("enterprise".equals(type)){
+            List<InquiryEnRemind> inquiryEnRemindList = JsonUtils.fromJsonArray(data, InquiryEnRemind.class);
+            for (InquiryEnRemind inquiryEnRemind : inquiryEnRemindList){
+                remindRspDTO = new RemindRspDTO();
+                remindRspDTO.setCustName(inquiryEnRemind.getEnName());
+                remindRspDTO.setProdBrand(inquiryEnRemind.getInbrand());
+                remindRspDTO.setProdName(inquiryEnRemind.getProdTitle());
+                remindRspDTO.setProdOrispeccode(inquiryEnRemind.getCmpCode());
+                remindRspDTO.setProdSpec(inquiryEnRemind.getSpec());
+                remindRspDTO.setProdUnit("pcs");
+                remindRspDTO.setNeedQty(inquiryEnRemind.getNeedQty());
+                remindRspDTO.setStartDate(inquiryEnRemind.getReDate());
+                remindRspDTO.setEndDate(inquiryEnRemind.getEndDate());
+                remindRspDTOList.add(remindRspDTO);
+            }
+        }else if("personal".equals(type)){
+            List<InquiryRemind> inquiryRemindList = JsonUtils.fromJsonArray(data, InquiryRemind.class);
+            for (InquiryRemind inquiryRemind : inquiryRemindList){
+                remindRspDTO = new RemindRspDTO();
+                remindRspDTO.setCustName(inquiryRemind.getEnName());
+                remindRspDTO.setProdBrand(inquiryRemind.getInbrand());
+                remindRspDTO.setProdName(inquiryRemind.getProdTitle());
+                remindRspDTO.setProdOrispeccode(inquiryRemind.getCmpCode());
+                remindRspDTO.setProdSpec(inquiryRemind.getSpec());
+                remindRspDTO.setProdUnit("pcs");
+                remindRspDTO.setNeedQty(inquiryRemind.getNeedQty());
+                remindRspDTO.setStartDate(inquiryRemind.getReDate());
+                remindRspDTO.setEndDate(inquiryRemind.getEndDate());
+                remindRspDTOList.add(remindRspDTO);
+            }
+        }
+        return remindRspDTOList;
     }
 
     //更新最新销售总额

+ 12 - 4
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/api/InquiryApi.java

@@ -28,13 +28,16 @@ public interface InquiryApi {
      * @param enableOffer   是否能报价的:1为是 0为否,作为搜索条件。  值为0或null时,筛选所有
      * @param keyword       关键词
      * @param quoted        1是已报价 0是未报价 查看全部不传
+     * @param fromDate      起始时间
+     * @param endDate       截止时间
      * @return
      */
     @GetMapping("/sale/enremind")
     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("quoted") Integer quoted, @RequestParam("fromDate") Long fromDate,
+                                        @RequestParam("endDate") Long endDate);
 
     /**
      * 查看(个人商机)
@@ -44,12 +47,17 @@ public interface InquiryApi {
      * @param pageSize
      * @param enableOffer   是否能报价的:1为是 0为否,作为搜索条件。  值为0或null时,筛选所有
      * @param keyword       关键词,做筛选用
+     * @param quoted        1是已报价 0是未报价 查看全部不传
+     * @param fromDate      起始时间
+     * @param endDate       截止时间
      * @return
      */
     @GetMapping("/sale/remind")
-    IPage<InquiryRemind> findByUserInfo(@RequestParam("useruu") Long useruu, @RequestParam("enuu") Long enuu,
-                                        @RequestParam("pageNumber") int pageNumber, @RequestParam("pageSize") int pageSize,
-                                        @RequestParam("enableOffer") Integer enableOffer, @RequestParam("keyword") String keyword);
+    IPage<InquiryRemind> findRemindByUserInfo(@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("endDate") Long endDate);
 
     /**
      * 保存报价接口

+ 9 - 0
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/IPage.java

@@ -60,4 +60,13 @@ public class IPage<T> implements Serializable {
         this.last = last;
     }
 
+    public IPage(int number, int size, int numberOfElements, List<T> content, boolean first, boolean last, long totalElements) {
+        this.number = number;
+        this.size = size;
+        this.numberOfElements = numberOfElements;
+        this.content = content;
+        this.first = first;
+        this.last = last;
+        this.totalElements = totalElements;
+    }
 }

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

@@ -42,13 +42,13 @@ public class InquiryApiTest {
 
     @Test
     public void testB_findEnRemind(){
-        IPage<InquiryEnRemind> inquiryEnRemindIPage = inquiryApi.findEnRemind(userUU, enUU, pageNum, pageSize, 1, "", 0);
+        IPage<InquiryEnRemind> inquiryEnRemindIPage = inquiryApi.findEnRemind(userUU, enUU, pageNum, pageSize, 1, "", 0, null, null);
         System.out.println(JsonUtils.toJsonString(inquiryEnRemindIPage));
     }
 
     @Test
     public void testC_findByUserInfo(){
-        IPage<InquiryRemind> inquiryRemindIPage = inquiryApi.findByUserInfo(userUU, enUU, pageNum, pageSize, 1, "1");
+        IPage<InquiryRemind> inquiryRemindIPage = inquiryApi.findRemindByUserInfo(userUU, enUU, pageNum, pageSize, 1, "1", 0, null, null);
         System.out.println(JsonUtils.toJsonString(inquiryRemindIPage));
     }