浏览代码

新增UAS获取公司商机和回调接口

dongbw 7 年之前
父节点
当前提交
2a1d7ef8a7

+ 37 - 0
src/main/java/com/uas/ps/inquiry/controller/ErpDownloadController.java

@@ -3,6 +3,7 @@ package com.uas.ps.inquiry.controller;
 import com.uas.ps.core.logging.BufferedLoggerManager;
 import com.uas.ps.httplog.annotation.HttpLog;
 import com.uas.ps.inquiry.entity.*;
+import com.uas.ps.inquiry.model.InquiryEnRemind;
 import com.uas.ps.inquiry.model.PublicInquiryItem;
 import com.uas.ps.inquiry.service.AttachService;
 import com.uas.ps.inquiry.service.InquiryForSaleService;
@@ -20,6 +21,7 @@ import org.springframework.web.bind.annotation.RestController;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 
@@ -235,4 +237,39 @@ public class ErpDownloadController {
         publicInquiryService.onReplyDownLoadSuccess(idArray);
         log.info("/inquiry/public/down/reply/back post 耗时:" + (System.currentTimeMillis() - start));
     }
+
+    /**
+     * UAS获取商城账套下企业商机
+     *
+     * @param vendUU 报价企业UU
+     * @author dongbw
+     * @date 2018年7月23日 10:34:54
+     */
+    @HttpLog
+    @RequestMapping(value = "/enremind", method = RequestMethod.GET)
+    public List<InquiryEnRemind> downEnRemind(Long vendUU) {
+        long start = System.currentTimeMillis();
+        List<InquiryEnRemind> details = publicInquiryService.findNotUploadEnRemind(vendUU);
+        log.info("/inquiry/public/enremind 耗时:" + (System.currentTimeMillis() - start));
+        logger.log("公共询价", "UAS获取商城账套下企业商机", "size: " + details.size(), Constant.UU, vendUU, InquirySource.ERP.name());
+        return details;
+    }
+
+    /**
+     * UAS获取商城账套下企业商机之后 回调 修改状态
+     *
+     * @param vendUU 报价企业UU
+     * @param ids 报价单明细id list
+     * @author dongbw
+     * @date 2018年7月23日 10:34:50
+     */
+    @HttpLog
+    @RequestMapping(value = "/enremind/back", method = RequestMethod.POST)
+    public void downEnRemindSuccess(String ids, Long vendUU) throws UnsupportedEncodingException {
+        long start = System.currentTimeMillis();
+        String[] idArray = URLDecoder.decode(ids, "UTF-8").split(",");
+        logger.log("公共询价", "UAS获取商城账套下企业商机之后 之后 回调 修改状态", "id: " + Arrays.toString(idArray), Constant.UU, vendUU, InquirySource.ERP.name());
+        publicInquiryService.downEnRemindSuccess(idArray, vendUU);
+        log.info("/inquiry/public/enremind/back post 耗时:" + (System.currentTimeMillis() - start));
+    }
 }

+ 8 - 0
src/main/java/com/uas/ps/inquiry/dao/InquiryEnRemindDao.java

@@ -81,4 +81,12 @@ public interface InquiryEnRemindDao extends JpaRepository<InquiryEnRemind, Long>
      */
     @Query("select itemId from InquiryEnRemind where vendUU = :vendUU")
     List<Long> findIdsByVendUU(@Param("vendUU") Long vendUU);
+
+    /**
+     * 根据vendUU获取
+     * @param vendUU 报价企业UU
+     * @return 企业商机List
+     */
+    @Query(value = "select o.* from purc$inquiry$enremind o where o.ir_venduu = :vendUU and o.ir_erpdownstatus = 202 limit 200", nativeQuery = true)
+    List<InquiryEnRemind> findNotUploadEnRemind(@Param("vendUU") Long vendUU);
 }

+ 14 - 0
src/main/java/com/uas/ps/inquiry/model/InquiryEnRemind.java

@@ -179,6 +179,12 @@ public class InquiryEnRemind implements Serializable {
     @Transient
     private PublicInquiryItem quotation;
 
+    /**
+     * erp下载状态 202  待上传 203 已下载
+     */
+    @Column(name = "ir_erpdownstatus", columnDefinition = "smallint default 202")
+    private Short erpDownStatus = 202;
+
     public String getInbrand() {
         return inbrand;
     }
@@ -373,4 +379,12 @@ public class InquiryEnRemind implements Serializable {
     public void setQuotation(PublicInquiryItem quotation) {
         this.quotation = quotation;
     }
+
+    public Short getErpDownStatus() {
+        return erpDownStatus;
+    }
+
+    public void setErpDownStatus(Short erpDownStatus) {
+        this.erpDownStatus = erpDownStatus;
+    }
 }

+ 16 - 0
src/main/java/com/uas/ps/inquiry/service/PublicInquiryService.java

@@ -304,5 +304,21 @@ public interface PublicInquiryService {
      */
     List<PublicInquiryItem> findNotUploadToUas(Long enUU);
 
+    /**
+     * UAS获取商城账套下企业商机
+     *
+     * @param enUU 报价企业UU
+     * @author dongbw
+     * @return 待下载的企业商机
+     */
+    List<InquiryEnRemind> findNotUploadEnRemind(Long enUU);
+
+    /**
+     * UAS获取商城账套下企业商机之后 回调 修改状态
+     *
+     * @param enUU 报价企业UU
+     * @param idArray 报价单明细id list
+     */
+    void downEnRemindSuccess(String[] idArray, Long enUU);
 }
 

+ 35 - 0
src/main/java/com/uas/ps/inquiry/service/impl/PublicInquiryServiceImpl.java

@@ -667,6 +667,41 @@ public class PublicInquiryServiceImpl implements PublicInquiryService {
         return publicInquiryItemDao.findByVendUUAndReplySendStatus(enUU, (short) Status.NOT_UPLOAD.value());
     }
 
+    /**
+     * UAS获取商城账套下企业商机
+     *
+     * @param vendUU 报价企业UU
+     * @return 待下载的企业商机
+     * @author dongbw
+     */
+    @Override
+    public List<InquiryEnRemind> findNotUploadEnRemind(Long vendUU) {
+        return inquiryEnRemindDao.findNotUploadEnRemind(vendUU);
+    }
+
+    /**
+     * UAS获取商城账套下企业商机之后 回调 修改状态
+     *
+     * @param idArray 报价单明细id list
+     * @param vendUU    报价企业UU
+     */
+    @Override
+    public void downEnRemindSuccess(String[] idArray, Long vendUU) {
+        System.out.println("enUU:" + vendUU);
+        List<InquiryEnRemind> items = new ArrayList<>();
+        for (String id : idArray) {
+            InquiryEnRemind item = inquiryEnRemindDao.findOne(Long.parseLong(id));
+            if (item != null && vendUU.equals(item.getVendUU())) {
+                item.setErpDownStatus((short) Status.DOWNLOADED.value());
+                items.add(item);
+                System.out.println("item:" + item.getId() + "," + item.getVendUU());
+            }
+        }
+        if (!CollectionUtils.isEmpty(items)) {
+            inquiryEnRemindDao.save(items);
+        }
+    }
+
     /**
      * 将公共询价服务中心的公共询价转成ERP的对应的字段
      *