Browse Source

Merge remote-tracking branch 'origin/dev' into dev

rainco 7 years ago
parent
commit
abc37b1b8a
26 changed files with 553 additions and 149 deletions
  1. 20 1
      applications/document/document-api/src/main/java/com/usoftchina/saas/document/api/ProductApi.java
  2. 94 0
      applications/document/document-dto/src/main/java/com.usoftchina.saas.document.dto/ProductUploadDTO.java
  3. 5 0
      applications/document/document-server/pom.xml
  4. 31 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/controller/ProductController.java
  5. 5 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/ProductMapper.java
  6. 18 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/ProductService.java
  7. 31 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/ProductServiceImpl.java
  8. 2 2
      applications/document/document-server/src/main/resources/mapper/CurrencyMapper.xml
  9. 10 0
      applications/document/document-server/src/main/resources/mapper/ProductMapper.xml
  10. 6 5
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/controller/PurchaseController.java
  11. 2 1
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/PurchaseService.java
  12. 44 6
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/PurchaseServiceImpl.java
  13. 5 2
      applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/api/InquiryApi.java
  14. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/api/PublicProductApi.java
  15. 14 6
      applications/transfers/mall-api/src/test/java/com/usoftchina/inquiry/test/InquiryApiTest.java
  16. 4 4
      applications/transfers/mall-api/src/test/java/com/usoftchina/inquiry/test/PublicProductApiTest.java
  17. 0 15
      applications/transfers/transfers-api/src/main/java/com/usoftchina/saas/transfers/api/SendApi.java
  18. 23 0
      applications/transfers/transfers-api/src/main/java/com/usoftchina/saas/transfers/api/SendMessageApi.java
  19. 1 1
      applications/transfers/transfers-api/src/main/java/com/usoftchina/saas/transfers/api/SendMessageApiFallBack.java
  20. 101 101
      applications/transfers/transfers-dto/src/main/java/com/usoftchina/saas/transfers/dto/MessageInfo.java
  21. 13 0
      applications/transfers/transfers-server/pom.xml
  22. 4 1
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/service/ReceiveService.java
  23. 3 1
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/task/Executable.java
  24. 115 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/task/SendProductTask.java
  25. 1 1
      base-servers/account/account-server/src/main/resources/mapper/CompanyMapper.xml
  26. 0 1
      framework/core/src/main/java/com/netflix/hystrix/strategy/concurrency/HystrixContextScheduler.java

+ 20 - 1
applications/document/document-api/src/main/java/com/usoftchina/saas/document/api/ProductApi.java

@@ -1,10 +1,13 @@
 package com.usoftchina.saas.document.api;
 
 import com.usoftchina.saas.auth.client.interceptor.ServiceFeignInterceptor;
+import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.document.dto.ProductDTO;
+import com.usoftchina.saas.document.dto.ProductUploadDTO;
 import com.usoftchina.saas.page.PageRequest;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 
@@ -31,5 +34,21 @@ public interface ProductApi {
     * @Date: 2018/10/16
     */
     @RequestMapping("/product/updateLatestPurchasePrice")
-    public void updateLatestPurchasePrice(@RequestParam(value = "id") Long pu_id);
+    void updateLatestPurchasePrice(@RequestParam(value = "id") Long pu_id);
+
+    /**
+     * 获取需要上传的物料数据
+     * @return
+     */
+    @GetMapping("/b2b/upload/data")
+    Result<List<ProductUploadDTO>> getUploadData();
+
+    /**
+     * 批量更新物料上传状态
+     * @param ids
+     * @param status
+     * @return
+     */
+    @PostMapping("/b2b/status/update")
+    Result updateStatus(@RequestParam("ids") String ids, @RequestParam("status") String status);
 }

+ 94 - 0
applications/document/document-dto/src/main/java/com.usoftchina.saas.document.dto/ProductUploadDTO.java

@@ -0,0 +1,94 @@
+package com.usoftchina.saas.document.dto;
+
+import java.io.Serializable;
+
+/**
+ * @Description 上传B2B 物料对象
+ * @Author chenwei
+ * @Date 2019/01/10
+ */
+public class ProductUploadDTO implements Serializable {
+
+    private String pr_code;
+    private String pr_detail;
+    private Double pr_leadtime;
+    private String pr_spec;
+    private String pr_unit;
+    private Double pr_zxbzs;
+    private Long pr_id;
+    private Double pr_zxdhl;
+    private String pr_orispeccode;
+
+    public String getPr_code() {
+        return pr_code;
+    }
+
+    public void setPr_code(String pr_code) {
+        this.pr_code = pr_code;
+    }
+
+    public String getPr_detail() {
+        return pr_detail;
+    }
+
+    public void setPr_detail(String pr_detail) {
+        this.pr_detail = pr_detail;
+    }
+
+    public Double getPr_leadtime() {
+        return pr_leadtime;
+    }
+
+    public void setPr_leadtime(Double pr_leadtime) {
+        this.pr_leadtime = pr_leadtime;
+    }
+
+    public String getPr_spec() {
+        return pr_spec;
+    }
+
+    public void setPr_spec(String pr_spec) {
+        this.pr_spec = pr_spec;
+    }
+
+    public String getPr_unit() {
+        return pr_unit;
+    }
+
+    public void setPr_unit(String pr_unit) {
+        this.pr_unit = pr_unit;
+    }
+
+    public Double getPr_zxbzs() {
+        return pr_zxbzs;
+    }
+
+    public void setPr_zxbzs(Double pr_zxbzs) {
+        this.pr_zxbzs = pr_zxbzs;
+    }
+
+    public Long getPr_id() {
+        return pr_id;
+    }
+
+    public void setPr_id(Long pr_id) {
+        this.pr_id = pr_id;
+    }
+
+    public Double getPr_zxdhl() {
+        return pr_zxdhl;
+    }
+
+    public void setPr_zxdhl(Double pr_zxdhl) {
+        this.pr_zxdhl = pr_zxdhl;
+    }
+
+    public String getPr_orispeccode() {
+        return pr_orispeccode;
+    }
+
+    public void setPr_orispeccode(String pr_orispeccode) {
+        this.pr_orispeccode = pr_orispeccode;
+    }
+
+}

+ 5 - 0
applications/document/document-server/pom.xml

@@ -83,6 +83,11 @@
             <groupId>com.usoftchina.saas</groupId>
             <artifactId>account-dto</artifactId>
         </dependency>
+        <dependency>
+          <groupId>com.usoftchina.saas</groupId>
+          <artifactId>transfers-api</artifactId>
+          <version>1.0.0-SNAPSHOT</version>
+        </dependency>
         <dependency>
             <groupId>com.usoftchina.saas</groupId>
             <artifactId>datacenter-client</artifactId>

+ 31 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/controller/ProductController.java

@@ -10,6 +10,7 @@ import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.document.dto.ProductDTO;
 import com.usoftchina.saas.document.dto.ProductListDTO;
+import com.usoftchina.saas.document.dto.ProductUploadDTO;
 import com.usoftchina.saas.document.entities.Product;
 import com.usoftchina.saas.document.service.ProductService;
 import com.usoftchina.saas.page.PageRequest;
@@ -122,4 +123,34 @@ public class ProductController {
         return Result.success();
     }
 
+    /**
+     * 上传至B2B平台
+     * @return
+     */
+    @PostMapping("/b2b/upload")
+    public Result uploadToB2B(){
+        productService.uploadToB2B();
+        return Result.success();
+    }
+
+    /**
+     * 获取需要上传的物料数据
+     * @return
+     */
+    @GetMapping("/b2b/upload/data")
+    public Result<List<ProductUploadDTO>> getUploadData(){
+        return Result.success(productService.getUploadData());
+    }
+
+    /**
+     * 批量更新物料上传状态
+     * @param ids
+     * @param status
+     * @return
+     */
+    @PostMapping("/b2b/status/update")
+    public Result updateStatus(@RequestParam("ids") String ids, @RequestParam("status") String status){
+        productService.updateB2BStatus(ids, status);
+        return Result.success();
+    }
 }

+ 5 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/ProductMapper.java

@@ -4,6 +4,7 @@ import com.usoftchina.saas.base.mapper.CommonBaseMapper;
 import com.usoftchina.saas.commons.dto.ComboDTO;
 import com.usoftchina.saas.document.dto.ProductDTO;
 import com.usoftchina.saas.document.dto.ProductReserveCostDTO;
+import com.usoftchina.saas.document.dto.ProductUploadDTO;
 import com.usoftchina.saas.document.entities.ProdIODetail;
 import com.usoftchina.saas.document.entities.ProdInOut;
 import com.usoftchina.saas.document.entities.Product;
@@ -62,4 +63,8 @@ public interface ProductMapper extends CommonBaseMapper<Product> {
     int selectSale(Long id);
 
     int selectPurchase(Long id);
+
+    List<ProductUploadDTO> selectUploadProdByCompanyId(@Param("companyId") Long companyId);
+
+    void updateB2BStatus(List<String> idsList, @Param("status") String status);
 }

+ 18 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/ProductService.java

@@ -11,6 +11,7 @@ import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.document.dto.ProductDTO;
 import com.usoftchina.saas.document.dto.ProductListDTO;
 import com.usoftchina.saas.document.dto.ProductReserveCostDTO;
+import com.usoftchina.saas.document.dto.ProductUploadDTO;
 import com.usoftchina.saas.document.entities.Product;
 import com.usoftchina.saas.document.mapper.ProductMapper;
 
@@ -120,4 +121,21 @@ public interface ProductService extends CommonBaseService<ProductMapper, Product
     boolean deleteDetailById(Long id);
 
     void saveToFormal(Integer id, boolean update);
+
+    /**
+     * 上传至B2B
+     */
+    void uploadToB2B();
+
+    /**
+     * 获取需要上传的数据
+     */
+    List<ProductUploadDTO> getUploadData();
+
+    /**
+     * 批量更新物料上传状态
+     * @param ids
+     * @param status
+     */
+    void updateB2BStatus(String ids, String status);
 }

+ 31 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/ProductServiceImpl.java

@@ -21,6 +21,7 @@ import com.usoftchina.saas.context.BaseContextHolder;
 import com.usoftchina.saas.document.dto.ProductDTO;
 import com.usoftchina.saas.document.dto.ProductListDTO;
 import com.usoftchina.saas.document.dto.ProductReserveCostDTO;
+import com.usoftchina.saas.document.dto.ProductUploadDTO;
 import com.usoftchina.saas.document.entities.*;
 import com.usoftchina.saas.document.mapper.DataImportMapper;
 import com.usoftchina.saas.document.mapper.ProductDetailMapper;
@@ -29,6 +30,8 @@ import com.usoftchina.saas.document.mapper.WarehouseMapper;
 import com.usoftchina.saas.document.service.*;
 import com.usoftchina.saas.exception.BizException;
 import com.usoftchina.saas.page.PageRequest;
+import com.usoftchina.saas.transfers.api.SendMessageApi;
+import com.usoftchina.saas.transfers.dto.MessageInfo;
 import com.usoftchina.saas.utils.CollectionUtils;
 import com.usoftchina.saas.utils.ObjectUtils;
 import com.usoftchina.saas.utils.RegexpUtils;
@@ -39,6 +42,8 @@ import org.springframework.util.StringUtils;
 
 import java.util.*;
 
+import static java.util.Arrays.asList;
+
 @Service
 public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Product> implements ProductService {
 
@@ -60,6 +65,8 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
     private ProductunitService productunitService;
     @Autowired
     private ProducttypeService producttypeService;
+    @Autowired
+    private SendMessageApi sendMessageApi;
 
     @Override
     public PageInfo<ProductDTO> getProductsByCondition(PageRequest page, ListReqDTO listReqDTO) {
@@ -737,6 +744,30 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
         }
     }
 
+    /**
+     * 生成物料上传的消息
+     */
+    @Override
+    public void uploadToB2B() {
+        MessageInfo messageInfo = new MessageInfo(BaseContextHolder.getUserId(), BillCodeSeq.PRODUCT.name(), "", BaseContextHolder.getCompanyId());
+        sendMessageApi.sendMsg(messageInfo);
+    }
+
+    /**
+     * 获取需要上传的数据, 上传状态为待上传
+     * @return
+     */
+    @Override
+    public List<ProductUploadDTO> getUploadData(){
+        return getMapper().selectUploadProdByCompanyId(BaseContextHolder.getCompanyId());
+    }
+
+    @Override
+    public void updateB2BStatus(String ids, String status){
+        List<String> idsList = new ArrayList<String>(Arrays.asList(ids.split(",")));
+        getMapper().updateB2BStatus(idsList, status);
+    }
+
     private List<ProductReserveCostDTO> geReserveCost(ListReqDTO listReqDTO) {
         Long companyId = BaseContextHolder.getCompanyId();
         String condition = listReqDTO.getFinalCondition();

+ 2 - 2
applications/document/document-server/src/main/resources/mapper/CurrencyMapper.xml

@@ -131,10 +131,10 @@
       ORDER BY CR_ID DESC
     </select>
     <update id="clearStandard">
-      UPDATE CURRENCYS SET CR_STANDARD = 0 WHERE COMPANYID = #{companyId}
+      UPDATE CURRENCYS SET CR_STANDARD = 0, CR_RATE = 0 WHERE COMPANYID = #{companyId}
     </update>
     <update id="setStandard">
-      UPDATE CURRENCYS SET CR_STANDARD = #{standard} WHERE COMPANYID = #{companyId} AND CR_NAME = #{name}
+      UPDATE CURRENCYS SET CR_STANDARD = #{standard}, CR_RATE = 1 WHERE COMPANYID = #{companyId} AND CR_NAME = #{name}
     </update>
     <select id="selectCountByName" resultType="int">
       SELECT COUNT(*) FROM CURRENCYS WHERE CR_NAME = #{name} AND COMPANYID = #{companyId}

+ 10 - 0
applications/document/document-server/src/main/resources/mapper/ProductMapper.xml

@@ -960,5 +960,15 @@
     <select id="selectPurchase" resultType="int">
         SELECT COUNT(*) FROM PURCHASE LEFT JOIN PURCHASEDETAIL ON PU_ID = PD_PUID WHERE IFNULL(PU_ACCEPTSTATUS,' ') != '已出库' AND IFNULL(PU_ACCEPTSTATUSCODE,' ') != '已关闭' AND IFNULL(PD_PRODID,0) = #{id}
     </select>
+    <select id="selectUploadProdByCompanyId" resultType="com.usoftchina.saas.document.dto.ProductUploadDTO">
+        SELECT pr_id,pr_code,pr_spec,pr_detail,pr_leadtime,pr_unit,pr_zxbzs,pr_brand,pr_orispeccode
+        FROM PRODUCT WHERE COMPANYID = #{companyId} AND IFNULL(B2BSTATUS, '待上传') = '待上传'
+    </select>
+    <update id="updateB2BStatus">
+        UPDATE PRODUCT SET B2BSTATUS = #{status} WHERE PR_ID IN
+        <foreach collection="list" item="id" index="index" open="(" close=")" separator=",">
+          #{id}
+        </foreach>
+    </update>
 </mapper>
 

+ 6 - 5
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/controller/PurchaseController.java

@@ -11,6 +11,7 @@ import com.usoftchina.saas.page.PageRequest;
 import com.usoftchina.saas.purchase.dto.*;
 import com.usoftchina.saas.purchase.po.PurchaseList;
 import com.usoftchina.saas.purchase.service.PurchaseService;
+import com.usoftchina.saas.utils.JsonUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
@@ -208,7 +209,7 @@ public class PurchaseController {
      * @return
      */
     @PostMapping("/inquiry/deal")
-    public Result dealInquiry(InquiryDealReqDTO inquiryDealReqDTO){
+    public Result dealInquiry(@RequestBody InquiryDealReqDTO inquiryDealReqDTO){
         purchaseService.DealInquiry(inquiryDealReqDTO);
         return Result.success();
     }
@@ -217,9 +218,9 @@ public class PurchaseController {
      * 发起询价
      * @return
      */
-    @PostMapping("/inquiry/save")
-    public Result saveInquiry(List<InquiryAddDTO> inquiryAddDTO){
-        purchaseService.saveInquiry(inquiryAddDTO);
-        return Result.success();
+    @PostMapping("/inquiry/send")
+    public Result saveInquiry(@RequestBody String data){
+        List<InquiryAddDTO> inquiryAddDTOList = JsonUtils.fromJsonArray(data, InquiryAddDTO.class);
+        return Result.success(purchaseService.saveInquiry(inquiryAddDTOList));
     }
 }

+ 2 - 1
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/PurchaseService.java

@@ -14,6 +14,7 @@ import com.usoftchina.saas.purchase.po.Purchase;
 import com.usoftchina.saas.purchase.po.PurchaseList;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author yingp
@@ -164,5 +165,5 @@ public interface PurchaseService extends CommonBaseService<PurchaseMapper, Purch
      * 发起询价
      * @param inquiryAddDTO
      */
-    void saveInquiry(List<InquiryAddDTO> inquiryAddDTO);
+    List<Map<String, String>> saveInquiry(List<InquiryAddDTO> inquiryAddDTO);
 }

+ 44 - 6
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/PurchaseServiceImpl.java

@@ -38,6 +38,9 @@ import com.usoftchina.saas.purchase.service.ProdInOutService;
 import com.usoftchina.saas.purchase.service.PurchaseService;
 import com.usoftchina.saas.utils.BeanMapper;
 import com.usoftchina.saas.utils.CollectionUtils;
+import com.usoftchina.saas.utils.JsonUtils;
+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;
@@ -45,6 +48,7 @@ import org.springframework.util.StringUtils;
 
 import java.math.BigDecimal;
 import java.util.*;
+import java.util.concurrent.CountDownLatch;
 
 
 /**
@@ -81,6 +85,7 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
     @Autowired
     private AccountApi accountApi;
 
+    private static final Logger LOGGER = LoggerFactory.getLogger(PurchaseServiceImpl.class);
 
     @Override
     public PageInfo<PurchaseList> getListData(PageRequest page, ListReqDTO req) {
@@ -682,9 +687,11 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
         IPage<PurcInquiryItemInfo> purcInquiryItemInfoIPage = null;
         Long enUU = companyApi.getCompanyById(BaseContextHolder.getCompanyId()).getData().getUu();
         if (inquiryReqDTO.getQuoted() == 1){
-            purcInquiryItemInfoIPage = inquiryApi.findQuotationsByPage("done", enUU, inquiryReqDTO.getPageNumber(), inquiryReqDTO.getPageSize());
+            purcInquiryItemInfoIPage = inquiryApi.findQuotationsByPage("done", enUU, inquiryReqDTO.getPageNumber(), inquiryReqDTO.getPageSize(),
+                    inquiryReqDTO.getFromDate(), inquiryReqDTO.getKeyword(), inquiryReqDTO.getOverdue(), inquiryReqDTO.getEndDate());
         }else{
-            purcInquiryItemInfoIPage = inquiryApi.getInquiryList(enUU, inquiryReqDTO.getOverdue(), inquiryReqDTO.getPageNumber(), inquiryReqDTO.getPageSize(), "todo");
+            purcInquiryItemInfoIPage = inquiryApi.getInquiryList(enUU, inquiryReqDTO.getOverdue(), inquiryReqDTO.getPageNumber(), inquiryReqDTO.getPageSize(),
+                    "todo", inquiryReqDTO.getFromDate(), inquiryReqDTO.getKeyword(), inquiryReqDTO.getEndDate());
         }
         List<PurcInquiryItemInfo> purcInquiryItemInfoList =  purcInquiryItemInfoIPage.getContent();
         if (CollectionUtils.isEmpty(purcInquiryItemInfoList)){
@@ -718,7 +725,7 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
      * @param inquiryAddDTOList
      */
     @Override
-    public void saveInquiry(List<InquiryAddDTO> inquiryAddDTOList) {
+    public List<Map<String, String>> saveInquiry(List<InquiryAddDTO> inquiryAddDTOList) {
         List<PurcInquiry> purcInquiryList = new ArrayList<PurcInquiry>();
         CompanyRspDTO companyRspDTO = companyApi.getCompanyRspDTOById(BaseContextHolder.getCompanyId()).getData();
         AccountDTO accountDTO = accountApi.getAccountById(BaseContextHolder.getUserId()).getData();
@@ -734,6 +741,7 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
             PurcInquiry purcInquiry = new PurcInquiry();
             //询价主表信息
             purcInquiry.setEnterprise(enterprise);
+            purcInquiry.setEnUU(companyRspDTO.getUu());
             purcInquiry.setEnName(companyRspDTO.getName());
             purcInquiry.setRecorderUU(accountDTO.getUu());
             purcInquiry.setDate(new Date());
@@ -758,8 +766,37 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
             purcInquiry.setInquiryItems(purcInquiryItemSet);
             purcInquiryList.add(purcInquiry);
         }
-        //调用商城ap,保存询价
-
+        //开启线程调用商城ap,保存询价
+        int length = purcInquiryList.size();
+        CountDownLatch latch = new CountDownLatch(length);
+        List<Map<String, String>> result = new ArrayList<Map<String, String>>();    //失败数据
+        for (int i = 0; i < length; i++) {
+            PurcInquiry purcInquiry = purcInquiryList.get(i);
+            new Thread(new Runnable() {
+                @Override
+                public void run() {
+                    try {
+                        PurcInquiry result = inquiryApi.saveInquiry(purcInquiry);
+                        LOGGER.info("发起询价,成功,返回数据: {}", JsonUtils.toJsonString(result));
+                        latch.countDown();
+                    }catch (Exception e){
+                        LOGGER.info("发起询价,失败,传入数据: {}, 失败原因: {}, 返回结果: {}", JsonUtils.toJsonString(purcInquiry), e.getMessage(), JsonUtils.toJsonString(result));
+                        Map<String, String> map = new HashMap<String, String>();
+                        map.put("errCode", purcInquiry.getInquiryItems().iterator().next().getProdCode());
+                        result.add(map);
+                        latch.countDown();
+                    }
+                }
+            }).start();
+        }
+        try {
+            latch.await();
+            LOGGER.info("发起询价,处理完成.");
+            return result;
+        } catch (InterruptedException e) {
+            e.printStackTrace();
+        }
+        return null;
     }
 
     /**
@@ -777,7 +814,7 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
             inquiryRspDTO.setProdBrand(purcInquiryItemInfo.getProduct().getBrand());
             inquiryRspDTO.setProdName(purcInquiryItemInfo.getProdTitle());
             inquiryRspDTO.setProdSpec(purcInquiryItemInfo.getSpec());
-            inquiryRspDTO.setStartDate(purcInquiryItemInfo.getFromDate());
+            inquiryRspDTO.setStartDate(purcInquiryItemInfo.getDate());
             inquiryRspDTO.setEndDate(purcInquiryItemInfo.getEndDate());
             inquiryRspDTO.setQuoted(purcInquiryItemInfo.getQuoted());
             //报价信息
@@ -792,6 +829,7 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
                     quotationRspDTO.setLeadTime(publicInquiryItem.getLeadtime());
                     quotationRspDTO.setTel(publicInquiryItem.getUserTel());
                     quotationRspDTO.setAgreed(publicInquiryItem.getAgreed());
+                    quotationRspDTO.setRefusereason(publicInquiryItem.getRefusereason());
                     quotationRspDTO.setReplaceOrispeccode(publicInquiryItem.getCmpCode());
                     //分段报价信息
                     List<PublicInquiryReply> publicInquiryReplyList = publicInquiryItem.getReplies();

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

@@ -87,7 +87,8 @@ public interface InquiryApi {
     @GetMapping("/buyer/list")
     IPage<PurcInquiryItemInfo> getInquiryList(@RequestParam("enUU") Long enUU, @RequestParam("overdue") Integer overdue,
                                               @RequestParam("pageNumber") int pageNumber, @RequestParam("pageSize") int pageSize,
-                                              @RequestParam("state") String state);
+                                              @RequestParam("state") String state, @RequestParam("fromDate") Long fromDate,
+                                              @RequestParam("keyword") String keyword, @RequestParam("endDate") Long endDate);
 
     /**
      * 查看已报价列表
@@ -99,7 +100,9 @@ public interface InquiryApi {
      */
     @GetMapping("/buyer/quotations")
     IPage<PurcInquiryItemInfo> findQuotationsByPage(@RequestParam("state") String state, @RequestParam("enUU") Long enUU,
-                                                    @RequestParam("pageNumber") int pageNumber, @RequestParam("pageSize") int pageSize);
+                                                    @RequestParam("pageNumber") int pageNumber, @RequestParam("pageSize") int pageSize,
+                                                    @RequestParam("fromDate") Long fromDate, @RequestParam("keyword") String keyword,
+                                                    @RequestParam("overdue") Integer overdue, @RequestParam("endDate") Long endDate);
 
     /**
      * 采纳

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/api/ProductApi.java → applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/api/PublicProductApi.java

@@ -7,7 +7,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 
 @FeignClient(url = "${b2b.baseUrl.product}", name = "product-server")
 @RequestMapping("/product")
-public interface ProductApi {
+public interface PublicProductApi {
 
     @PostMapping("/erp/save")
     void saveProducts(@RequestParam("data") String data, @RequestParam("enUU")Long enUU);

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

@@ -122,14 +122,14 @@ public class InquiryApiTest {
 
         //询价明细
         PurcInquiryItem purcInquiryItem = new PurcInquiryItem();
-        purcInquiryItem.setCmpCode("MT8783V");
+        purcInquiryItem.setCmpCode("123123");
         purcInquiryItem.setUserUU(1000012297L);
         purcInquiryItem.setUserName("何炎");
         purcInquiryItem.setUserTel("13978887888");
-        purcInquiryItem.setProdCode("CPU0000001");
-        purcInquiryItem.setProdTitle("控制器IC");
-        purcInquiryItem.setSpec("MT8783V/CT,VFBGA641,SMD,无卤");
-        purcInquiryItem.setInbrand("MTK");
+        purcInquiryItem.setProdCode("PR0006");
+        purcInquiryItem.setProdTitle("1");
+        purcInquiryItem.setSpec("1");
+        purcInquiryItem.setInbrand("YAGEO");
 
         Set<PurcInquiryItem> purcInquiryItemSet = new HashSet<PurcInquiryItem>();
         purcInquiryItemSet.add(purcInquiryItem);
@@ -139,9 +139,17 @@ public class InquiryApiTest {
         System.out.println(JsonUtils.toJsonString(result));
     }
 
+    @Test
+    public void testE_saveInquiry2(){
+        String data = "{\"id\":null,\"enUU\":null,\"enterprise\":{\"uu\":null,\"enName\":\"何炎\",\"enTel\":null,\"enAddress\":null,\"businesscode\":null,\"adminUU\":null},\"enName\":\"何炎\",\"recorderUU\":1000012297,\"code\":null,\"date\":\"2019-01-10 10:38:17\",\"recorder\":\"何炎\",\"endDate\":\"2019-01-11 10:38:17\",\"remark\":null,\"environment\":null,\"inquiryItems\":[{\"id\":null,\"number\":null,\"inquiry\":null,\"userUU\":1000012297,\"userName\":\"何炎\",\"userTel\":\"18702604709\",\"productId\":null,\"product\":null,\"prodCode\":\"PR0006\",\"prodTitle\":\"1\",\"spec\":\"1\",\"cmpCode\":\"123123\",\"inbrand\":\"YAGEO\",\"currency\":null,\"taxrate\":null,\"fromDate\":null,\"replies\":null,\"status\":null,\"agreed\":null,\"overdue\":null,\"source\":null,\"needquantity\":null,\"sourceid\":null,\"date\":null,\"enuu\":null,\"offerAmount\":null,\"endDate\":null,\"remainingTime\":null,\"valid\":null}],\"attachs\":null,\"enteryStatus\":null,\"ship\":null,\"invoice\":null,\"ifTax\":null,\"currency\":null,\"inquirytype\":null,\"sourceapp\":\"sp\",\"erpid\":null,\"erpdate\":null,\"amount\":null,\"spec\":null,\"count\":1,\"quotedAmount\":null,\"replaceQuotedAmount\":null,\"minPriceSum\":null,\"minDeliverySum\":null}";
+        PurcInquiry purcInquiry = JsonUtils.fromJsonString(data, PurcInquiry.class);
+        PurcInquiry result  = inquiryApi.saveInquiry(purcInquiry);
+        System.out.println(JsonUtils.toJsonString(result));
+    }
+
     @Test
     public void testF_getInquiryList(){
-        IPage<PurcInquiryItemInfo> getInquiryList = inquiryApi.getInquiryList(enUU, 1, pageNum, pageSize, "todo");
+        IPage<PurcInquiryItemInfo> getInquiryList = inquiryApi.getInquiryList(enUU, 1, pageNum, pageSize, "todo", null, null, null);
         System.out.println(JsonUtils.toJsonString(getInquiryList));
     }
 

+ 4 - 4
applications/transfers/mall-api/src/test/java/com/usoftchina/inquiry/test/ProductApiTest.java → applications/transfers/mall-api/src/test/java/com/usoftchina/inquiry/test/PublicProductApiTest.java

@@ -1,6 +1,6 @@
 package com.usoftchina.inquiry.test;
 
-import com.usoftchina.inquiry.api.ProductApi;
+import com.usoftchina.inquiry.api.PublicProductApi;
 import org.junit.FixMethodOrder;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -12,16 +12,16 @@ import org.springframework.test.context.junit4.SpringRunner;
 @RunWith(SpringRunner.class)
 @SpringBootTest
 @FixMethodOrder(MethodSorters.NAME_ASCENDING)
-public class ProductApiTest {
+public class PublicProductApiTest {
 
     @Autowired
-    private ProductApi productApi;
+    private PublicProductApi publicProductApi;
 
     @Test
     public void testA_saveProduct(){
         String data = "[{\"pr_code\":\"0204020020015\",\"pr_detail\":\"P沟道场效应管\",\"pr_id\":3057682,\"pr_ispubsale\":0,\"pr_ispurchase\":1,\"pr_issale\":1,\"pr_isshow\":0,\"pr_leadtime\":28.0,\"pr_ltinstock\":0.0,\"pr_spec\":\"WPM1485-6/TR,-7.4A,-12V,DFN8,SMD,无卤/WPM1485-6/TR/Will SEMI\",\"pr_unit\":\"PCS\",\"pr_zxbzs\":3000.0,\"pr_zxdhl\":3000.0},{\"pr_code\":\"B2B001\",\"pr_detail\":\"B2B平台测试\",\"pr_id\":50688771,\"pr_ispubsale\":0,\"pr_ispurchase\":1,\"pr_issale\":1,\"pr_isshow\":0,\"pr_leadtime\":0.0,\"pr_orispeccode\":\"LMK01020ISQX/NOPB\",\"pr_spec\":\"B2B平台测试01\",\"pr_unit\":\"PCS\",\"pr_uuid\":\"1200200000000521\",\"pr_zxbzs\":0.0,\"pr_zxdhl\":0.0}]";
         Long enUU = 10050573L;
-        productApi.saveProducts(data, enUU);
+        publicProductApi.saveProducts(data, enUU);
         System.out.println("success");
     }
 

+ 0 - 15
applications/transfers/transfers-api/src/main/java/com/usoftchina/saas/transfers/api/SendApi.java

@@ -1,15 +0,0 @@
-package com.usoftchina.saas.transfers.api;
-
-import com.usoftchina.saas.base.Result;
-import com.usoftchina.saas.transfers.dto.MessageInfo;
-import org.springframework.cloud.openfeign.FeignClient;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-
-@FeignClient(name = "transfers-server" , fallback = SendApiFallBack.class)
-public interface SendApi {
-
-    @PostMapping("/send/Message")
-    public Result sendMsg(@RequestBody MessageInfo info);
-
-}

+ 23 - 0
applications/transfers/transfers-api/src/main/java/com/usoftchina/saas/transfers/api/SendMessageApi.java

@@ -0,0 +1,23 @@
+package com.usoftchina.saas.transfers.api;
+
+import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.transfers.dto.MessageInfo;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@FeignClient(name = "transfers-server" , fallback = SendMessageApiFallBack.class)
+public interface SendMessageApi {
+
+    @PostMapping("/send/Message")
+    Result sendMsg(@RequestBody MessageInfo info);
+
+    @Component
+    class SendMessageApiFallBack implements SendMessageApi {
+        @Override
+        public Result sendMsg(MessageInfo info) {
+            return null;
+        }
+    }
+}

+ 1 - 1
applications/transfers/transfers-api/src/main/java/com/usoftchina/saas/transfers/api/SendApiFallBack.java → applications/transfers/transfers-api/src/main/java/com/usoftchina/saas/transfers/api/SendMessageApiFallBack.java

@@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.RequestBody;
  * @create: 2019-01-09 13:50
  **/
 @Component
-public class SendApiFallBack implements SendApi{
+public class SendMessageApiFallBack implements SendMessageApi {
 
     @Override
     public Result sendMsg(@RequestBody MessageInfo info) {

+ 101 - 101
applications/transfers/transfers-dto/src/main/java/com/usoftchina/saas/transfers/dto/MessageInfo.java

@@ -9,105 +9,105 @@ import java.util.UUID;
  * @create: 2019-01-09 11:33
  **/
 public class MessageInfo implements Serializable{
-        /**
-         * 消息ID
-         */
-        private String msgId;
-        /**
-         * 用户ID
-         */
-        private String userId;
-        /**
-         * 应用ID
-         */
-        private String appId;
-        /**
-         * 业务类型
-         */
-        private String bizType;
-
-        /**
-         * 业务单据ID
-         */
-
-        private String bizId;
-        /**
-         * 公司id
-         * @return
-         */
-        private Long companyId;
-
-        /**
-         * 时间戳
-         */
-        private long timestamp;
-
-        public long getTimestamp() {
-            return timestamp;
-        }
-
-        public void setTimestamp(long timestamp) {
-            this.timestamp = timestamp;
-        }
-
-        public String getMsgId() {
-            return msgId;
-        }
-
-        public void setMsgId(String msgId) {
-            this.msgId = msgId;
-        }
-
-        public String getUserId() {
-            return userId;
-        }
-
-        public void setUserId(String userId) {
-            this.userId = userId;
-        }
-
-        public String getAppId() {
-            return appId;
-        }
-
-        public void setAppId(String appId) {
-            this.appId = appId;
-        }
-
-        public String getBizType() {
-            return bizType;
-        }
-
-        public void setBizType(String bizType) {
-            this.bizType = bizType;
-        }
-
-        public String getBizId() {
-            return bizId;
-        }
-
-        public void setBizId(String bizId) {
-            this.bizId = bizId;
-        }
-
-        public MessageInfo(String userId, String bizType, String bizId, Long companyId) {
-            this.msgId = UUID.randomUUID().toString();
-            this.userId = userId;
-            this.appId = "trade";
-            this.bizType = bizType;
-            this.bizId = bizId;
-            this.companyId = companyId;
-            this.timestamp = new Date().getTime();
-        }
-
-        public MessageInfo() {
-
-        }
-        public Long getCompanyId() {
-            return companyId;
-        }
-
-        public void setCompanyId(Long companyId) {
-            this.companyId = companyId;
-        }
+    /**
+     * 消息ID
+     */
+    private String msgId;
+    /**
+     * 用户ID
+     */
+    private Long userId;
+    /**
+     * 应用ID
+     */
+    private String appId;
+    /**
+     * 业务类型
+     */
+    private String bizType;
+
+    /**
+     * 业务单据ID
+     */
+
+    private String bizId;
+    /**
+     * 公司id
+     * @return
+     */
+    private Long companyId;
+
+    /**
+     * 时间戳
+     */
+    private long timestamp;
+
+    public long getTimestamp() {
+        return timestamp;
+    }
+
+    public void setTimestamp(long timestamp) {
+        this.timestamp = timestamp;
+    }
+
+    public String getMsgId() {
+        return msgId;
+    }
+
+    public void setMsgId(String msgId) {
+        this.msgId = msgId;
+    }
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public String getAppId() {
+        return appId;
+    }
+
+    public void setAppId(String appId) {
+        this.appId = appId;
+    }
+
+    public String getBizType() {
+        return bizType;
+    }
+
+    public void setBizType(String bizType) {
+        this.bizType = bizType;
+    }
+
+    public String getBizId() {
+        return bizId;
+    }
+
+    public void setBizId(String bizId) {
+        this.bizId = bizId;
+    }
+
+    public MessageInfo(Long userId, String bizType, String bizId, Long companyId) {
+        this.msgId = UUID.randomUUID().toString();
+        this.userId = userId;
+        this.appId = "trade";
+        this.bizType = bizType;
+        this.bizId = bizId;
+        this.companyId = companyId;
+        this.timestamp = new Date().getTime();
+    }
+
+    public MessageInfo() {
+
+    }
+    public Long getCompanyId() {
+        return companyId;
+    }
+
+    public void setCompanyId(Long companyId) {
+        this.companyId = companyId;
+    }
 }

+ 13 - 0
applications/transfers/transfers-server/pom.xml

@@ -56,6 +56,19 @@
             <groupId>com.usoftchina.saas</groupId>
             <artifactId>transfers-dto</artifactId>
         </dependency>
+        <dependency>
+          <groupId>com.usoftchina.saas</groupId>
+          <artifactId>document-api</artifactId>
+        </dependency>
+        <dependency>
+          <groupId>com.usoftchina.saas</groupId>
+          <artifactId>account-api</artifactId>
+        </dependency>
+        <dependency>
+          <groupId>com.usoftchina.saas</groupId>
+          <artifactId>mall-api</artifactId>
+          <version>1.0.0-SNAPSHOT</version>
+        </dependency>
         <!-- db -->
         <dependency>
             <groupId>mysql</groupId>

+ 4 - 1
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/service/ReceiveService.java

@@ -65,9 +65,12 @@ public class ReceiveService {
                case PURCHASEOUT:
                    task = new SendPurchaseOutTask();
                    break;
+               case PRODUCT:        //物料库上传
+                   task = new SendProductTask();
+                   break;
            }
 
-           task.execute();
+           task.execute(info);
 
            //更新状态
            brokerMessageLogMapper.updateSuccess(info.getMsgId());

+ 3 - 1
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/task/Executable.java

@@ -1,5 +1,7 @@
 package com.usoftchina.saas.transfers.task;
 
+import com.usoftchina.saas.transfers.dto.MessageInfo;
+
 /**
  * @author: guq
  * @create: 2019-01-08 13:38
@@ -18,5 +20,5 @@ public abstract class Executable {
     /**
      * 执行任务
      */
-    public abstract void execute();
+    public abstract void execute(MessageInfo messageInfo);
 }

+ 115 - 0
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/task/SendProductTask.java

@@ -0,0 +1,115 @@
+package com.usoftchina.saas.transfers.task;
+
+import com.usoftchina.inquiry.api.PublicProductApi;
+import com.usoftchina.saas.account.api.CompanyApi;
+import com.usoftchina.saas.context.BaseContextHolder;
+import com.usoftchina.saas.document.api.ProductApi;
+import com.usoftchina.saas.document.dto.ProductUploadDTO;
+import com.usoftchina.saas.transfers.dto.MessageInfo;
+import com.usoftchina.saas.transfers.service.SendService;
+import com.usoftchina.saas.utils.CollectionUtils;
+import com.usoftchina.saas.utils.DateUtils;
+import com.usoftchina.saas.utils.JsonUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.*;
+import java.util.concurrent.CountDownLatch;
+
+/**
+ * @Description 物料上传
+ * @Author chenwei
+ * @Date 2019/01/09
+ */
+public class SendProductTask extends Executable{
+
+    @Autowired
+    private ProductApi productApi;
+    @Autowired
+    private PublicProductApi publicProductApi;
+    @Autowired
+    private CompanyApi companyApi;
+    @Autowired
+    private SendService sendService;
+
+    private static final Logger LOGGER = LoggerFactory.getLogger(SendProductTask.class);
+
+    @Override
+    public void execute(MessageInfo messageInfo) {
+        Long enUU = companyApi.getCompanyById(BaseContextHolder.getCompanyId()).getData().getUu();
+        //需要上传的物料信息
+        List<ProductUploadDTO> productUploadDTOList = productApi.getUploadData().getData();
+        //上传结果反馈
+        List<Long> successIds = new ArrayList<Long>();
+        List<Long> failedIds = new ArrayList<Long>();
+        if (!CollectionUtils.isEmpty(productUploadDTOList)){
+            //分批次上传,每次50条. 物料服务提供接口采用@requestParam接收物料数据,存在数据长度限制
+            if (productUploadDTOList.size() >= 50){
+                int count = (int) Math.ceil(productUploadDTOList.size() / 50.0);
+                CountDownLatch latch = new CountDownLatch(count);
+                for (int i = 0; i < count; i++) {
+                    //第loop次循环
+                    int loop = i;
+                    new Thread(new Runnable() {
+                        @Override
+                        public void run() {
+                            int startPoint = loop * 50;
+                            int endPoint = 0;
+                            if (loop + 1 == count) {
+                                endPoint = productUploadDTOList.size() - 1;
+                            }else{
+                                endPoint = (loop + 1) * 50;
+                            }
+                            List<ProductUploadDTO> subList = productUploadDTOList.subList(startPoint, endPoint);
+                            try {
+                                publicProductApi.saveProducts(JsonUtils.toJsonString(subList), enUU);
+                                subList.forEach(ProductUploadDTO -> successIds.add(ProductUploadDTO.getPr_id()));
+                                LOGGER.info("本批次第{}至{},物料上传成功, 发起时间 {}",startPoint, endPoint, DateUtils.format(new Date(System.currentTimeMillis()), "yyyy-MM-dd hh:mm:ss"));
+                            }catch (Exception e){
+                                subList.forEach(ProductUploadDTO -> failedIds.add(ProductUploadDTO.getPr_id()));
+                                LOGGER.info("本批次第{}至{},物料上传失败,原因:{}, 发起时间 {}",startPoint, endPoint, e.getMessage(), DateUtils.format(new Date(System.currentTimeMillis()), "yyyy-MM-dd hh:mm:ss"));
+                            }finally {
+                                latch.countDown();
+                            }
+                        }
+                    }).start();
+                }
+                try {
+                    latch.await();
+                    LOGGER.info("物料上传完成, 成功{}条,失败{}条", successIds.size(), failedIds.size());
+                } catch (InterruptedException e) {
+                    e.printStackTrace();
+                }
+            }else{
+                try {
+                    publicProductApi.saveProducts(JsonUtils.toJsonString(productUploadDTOList), enUU);
+                    productUploadDTOList.forEach(productUploadDTO -> successIds.add(productUploadDTO.getPr_id()));
+                    LOGGER.info(",物料上传成功,条数{}, 发起时间 {}",productUploadDTOList.size(), DateUtils.format(new Date(System.currentTimeMillis()), "yyyy-MM-dd hh:mm:ss"));
+                }catch (Exception e){
+                    productUploadDTOList.forEach(productUploadDTO -> failedIds.add(productUploadDTO.getPr_id()));
+                    LOGGER.info("物料上传失败,条数{},原因:{}, 发起时间 {}", productUploadDTOList.size(), e.getMessage(), DateUtils.format(new Date(System.currentTimeMillis()), "yyyy-MM-dd hh:mm:ss"));
+                }
+            }
+            //更新物料状态
+            if (successIds.size() > 0) {
+                Iterator<Long> it = successIds.iterator();
+                StringBuilder success = new StringBuilder();
+                while (it.hasNext()){
+                    success.append(it.next() + ",");
+                }
+                productApi.updateStatus(success.substring(0, success.length() - 1), "已上传");
+            }
+            if (failedIds.size() > 0){
+                Iterator<Long> it = failedIds.iterator();
+                StringBuilder failed = new StringBuilder();
+                while (it.hasNext()){
+                    failed.append(it.next() + ",");
+                }
+                String failedStr = failed.substring(0, failed.length() - 1);
+                MessageInfo newMessageInfo = new MessageInfo(messageInfo.getUserId(), messageInfo.getBizType(), failedStr, messageInfo.getCompanyId());
+                sendService.sendMessage(newMessageInfo);
+            }
+        }
+    }
+}

+ 1 - 1
base-servers/account/account-server/src/main/resources/mapper/CompanyMapper.xml

@@ -129,7 +129,7 @@
     </select>
     <select id="getCompanyRspDTOById" resultType="com.usoftchina.saas.account.dto.CompanyRspDTO">
         SELECT
-          ac.id,ac.name,aa.realname admin,aa.mobile adminMobile
+          ac.id,ac.name,aa.realname admin,aa.mobile adminMobile,aa.uu adminUU,ac.uu,ac.tel,ac.address,ac.business_code businessCode
         FROM
           ac_company ac
           INNER JOIN ac_account aa on ac.creator_id = aa.id

+ 0 - 1
framework/core/src/main/java/com/netflix/hystrix/strategy/concurrency/HystrixContextScheduler.java

@@ -175,7 +175,6 @@ public class HystrixContextScheduler extends Scheduler {
             sa.addParent(subscription);
 
             ThreadPoolExecutor executor = (ThreadPoolExecutor) threadPool.getExecutor();
-            LOGGER.info("创建新线程...............");
             Runnable runnable = TtlRunnable.get(sa);
             FutureTask<?> f = (FutureTask<?>) executor.submit(runnable);
             sa.add(new FutureCompleterWithConfigurableInterrupt(f, shouldInterruptThread, executor));