浏览代码

Merge remote-tracking branch 'origin/hotix-0110'

Hu Jie 7 年之前
父节点
当前提交
c95d2e9f00

+ 10 - 6
src/main/java/com/uas/platform/b2b/openapi/controller/UsoftController.java

@@ -1,5 +1,6 @@
 package com.uas.platform.b2b.openapi.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.uas.platform.b2b.openapi.model.*;
 import com.uas.platform.b2b.openapi.service.UsoftService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -40,9 +41,11 @@ public class UsoftController {
      *      订单id
      * @return
      */
-    @RequestMapping(value = "/order/item/batch", method = RequestMethod.GET)
-    public List<UsoftOrderItem> getUsoftOrderItemsBatch(String orderIds) {
-        return usoftService.getUsoftOrderItemsBatch(orderIds);
+    @RequestMapping(value = "/order/item/batch", method = RequestMethod.POST)
+    public List<UsoftOrderItemBatch> getUsoftOrderItemsBatch(@RequestBody String orderIds) {
+        String ids = JSON.parseObject(orderIds).getString("orderIds");
+
+        return usoftService.getUsoftOrderItemsBatch(ids);
     }
 
     /**
@@ -88,9 +91,10 @@ public class UsoftController {
      *      验收单id字符串
      * @return
      */
-    @RequestMapping(value = "/accept/item/batch", method = RequestMethod.GET)
-    public List<UsoftAcceptItem> getUsoftAcceptItemsBatch(String acceptIds) {
-        return usoftService.getUsoftAcceptItemsBatch(acceptIds);
+    @RequestMapping(value = "/accept/item/batch", method = RequestMethod.POST)
+    public List<UsoftAcceptItemBatch> getUsoftAcceptItemsBatch(@RequestBody String acceptIds) {
+        String ids = JSON.parseObject(acceptIds).getString("acceptIds");
+        return usoftService.getUsoftAcceptItemsBatch(ids);
     }
 
     /**

+ 22 - 0
src/main/java/com/uas/platform/b2b/openapi/dao/UsoftOrderItemBatchDao.java

@@ -0,0 +1,22 @@
+package com.uas.platform.b2b.openapi.dao;
+
+import com.uas.platform.b2b.openapi.model.UsoftOrderItemBatch;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+
+/**
+ * @Author: huj
+ * @Date: Created in 18:07 2019/01/09.
+ */
+@Repository
+public interface UsoftOrderItemBatchDao extends JpaSpecificationExecutor<UsoftOrderItemBatch>, JpaRepository<UsoftOrderItemBatch, Long> {
+
+    @Query(value = "select u from UsoftOrderItemBatch u where u.orderId in :orderIds")
+    List<UsoftOrderItemBatch> findByIds(@Param("orderIds") List<Long> orderIds);
+}

+ 137 - 0
src/main/java/com/uas/platform/b2b/openapi/model/UsoftAcceptItemBatch.java

@@ -0,0 +1,137 @@
+package com.uas.platform.b2b.openapi.model;
+
+/**
+ * @Author: huj
+ * @Date: Created in 10:30 2019/01/10.
+ */
+public class UsoftAcceptItemBatch {
+    private Long id;
+
+    private String orderCode;
+
+    private String title;
+
+    private String code;
+
+    private String cmpcode;
+
+    private String spec;
+
+    private String brand;
+
+    private Double price;
+
+    private String unit;
+
+    private Double checkqty;
+
+    private Double amount;
+
+    private String batchCode;
+
+    private Long acceptId;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getOrderCode() {
+        return orderCode;
+    }
+
+    public void setOrderCode(String orderCode) {
+        this.orderCode = orderCode;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getCmpcode() {
+        return cmpcode;
+    }
+
+    public void setCmpcode(String cmpcode) {
+        this.cmpcode = cmpcode;
+    }
+
+    public String getSpec() {
+        return spec;
+    }
+
+    public void setSpec(String spec) {
+        this.spec = spec;
+    }
+
+    public String getBrand() {
+        return brand;
+    }
+
+    public void setBrand(String brand) {
+        this.brand = brand;
+    }
+
+    public Double getPrice() {
+        return price;
+    }
+
+    public void setPrice(Double price) {
+        this.price = price;
+    }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+
+    public Double getCheckqty() {
+        return checkqty;
+    }
+
+    public void setCheckqty(Double checkqty) {
+        this.checkqty = checkqty;
+    }
+
+    public Double getAmount() {
+        return amount;
+    }
+
+    public void setAmount(Double amount) {
+        this.amount = amount;
+    }
+
+    public String getBatchCode() {
+        return batchCode;
+    }
+
+    public void setBatchCode(String batchCode) {
+        this.batchCode = batchCode;
+    }
+
+    public Long getAcceptId() {
+        return acceptId;
+    }
+
+    public void setAcceptId(Long acceptId) {
+        this.acceptId = acceptId;
+    }
+}

+ 138 - 0
src/main/java/com/uas/platform/b2b/openapi/model/UsoftOrderItemBatch.java

@@ -0,0 +1,138 @@
+package com.uas.platform.b2b.openapi.model;
+
+import com.alibaba.fastjson.annotation.JSONField;
+
+import javax.persistence.*;
+
+/**
+ * @Author: huj
+ * @Date: Created in 18:03 2019/01/09.
+ */
+@Table(name = "purc$orderitems")
+@Entity
+public class UsoftOrderItemBatch {
+
+    @Id
+    @GeneratedValue(strategy = GenerationType.AUTO)
+    @Column(name = "pd_id")
+    private Long id;
+
+    @Column(name = "pr_code")
+    private String code;
+
+    @Column(name = "pr_title")
+    private String title;
+
+    @Column(name = "pr_cmpcode")
+    private String cmpcode;
+
+    @Column(name = "pr_spec", length = 1000)
+    private String spec;
+
+    @Column(name = "pd_price")
+    private Double price;
+
+    @Column(name = "pd_taxrate")
+    private Float rate;
+
+    @Column(name = "pd_qty")
+    private Double quantity;
+
+    @Column(name = "pr_unit")
+    private String unit;
+
+    @Column(name = "pd_delivery")
+    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
+    private String delivery;
+
+    @Column(name = "pd_puid")
+    private Long orderId;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getCmpcode() {
+        return cmpcode;
+    }
+
+    public void setCmpcode(String cmpcode) {
+        this.cmpcode = cmpcode;
+    }
+
+    public String getSpec() {
+        return spec;
+    }
+
+    public void setSpec(String spec) {
+        this.spec = spec;
+    }
+
+    public Double getPrice() {
+        return price;
+    }
+
+    public void setPrice(Double price) {
+        this.price = price;
+    }
+
+    public Float getRate() {
+        return rate;
+    }
+
+    public void setRate(Float rate) {
+        this.rate = rate;
+    }
+
+    public Double getQuantity() {
+        return quantity;
+    }
+
+    public void setQuantity(Double quantity) {
+        this.quantity = quantity;
+    }
+
+    public String getUnit() {
+        return unit;
+    }
+
+    public void setUnit(String unit) {
+        this.unit = unit;
+    }
+
+    public String getDelivery() {
+        return delivery;
+    }
+
+    public void setDelivery(String delivery) {
+        this.delivery = delivery;
+    }
+
+    public Long getOrderId() {
+        return orderId;
+    }
+
+    public void setOrderId(Long orderId) {
+        this.orderId = orderId;
+    }
+}

+ 2 - 2
src/main/java/com/uas/platform/b2b/openapi/service/UsoftService.java

@@ -36,7 +36,7 @@ public interface UsoftService {
      *      订单id
      * @return
      */
-    List<UsoftOrderItem> getUsoftOrderItemsBatch(String orderIds);
+    List<UsoftOrderItemBatch> getUsoftOrderItemsBatch(String orderIds);
 
     /**
      * 根据卖方uu获取验收单数据
@@ -64,7 +64,7 @@ public interface UsoftService {
      *      验收单id字符串
      * @return
      */
-    List<UsoftAcceptItem> getUsoftAcceptItemsBatch(String acceptIds);
+    List<UsoftAcceptItemBatch> getUsoftAcceptItemsBatch(String acceptIds);
 
     /**
      * 获取白名单用户数据

+ 20 - 25
src/main/java/com/uas/platform/b2b/openapi/service/impl/UsoftServiceImpl.java

@@ -3,6 +3,7 @@ package com.uas.platform.b2b.openapi.service.impl;
 import com.uas.platform.b2b.dao.CommonDao;
 import com.uas.platform.b2b.dao.EnterpriseDao;
 import com.uas.platform.b2b.model.Enterprise;
+import com.uas.platform.b2b.openapi.dao.UsoftOrderItemBatchDao;
 import com.uas.platform.b2b.openapi.dao.UsoftWhitelistDao;
 import com.uas.platform.b2b.openapi.model.*;
 import com.uas.platform.b2b.openapi.service.TradingDataService;
@@ -16,10 +17,7 @@ import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
 import java.sql.Date;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
 
 /**
  * @Author: huj
@@ -40,6 +38,9 @@ public class UsoftServiceImpl implements UsoftService {
     @Autowired
     EnterpriseDao enterpriseDao;
 
+    @Autowired
+    UsoftOrderItemBatchDao usoftOrderItemBatchDao;
+
     /**
      * 根据卖方uu获取订单数据
      *
@@ -89,18 +90,18 @@ public class UsoftServiceImpl implements UsoftService {
      * @return
      */
     @Override
-    public List<UsoftOrderItem> getUsoftOrderItemsBatch(String orderIds) {
-        String sql = "SELECT pd_id id,pd_price price,pd_taxrate rate,pd_qty quantity,pr_unit unit,pd_puid orderId,"
-                + "pd_delivery  delivery from purc$orderitems WHERE pd_puid in (" + orderIds + ")";
-        List<UsoftOrderItem> orderItems = commonDao.query(sql, UsoftOrderItem.class);
-        if (!CollectionUtils.isEmpty(orderItems)) {
-            orderItems.forEach( orderItem -> {
-                Product product = commonDao.queryBean("select pr_code code,pr_title title,pr_cmpcode cmpcode,"
-                        + "pr_spec spec from purc$orderitems WHERE pd_id = " + orderItem.getId(), Product.class);
-                orderItem.setProduct(product);
-            });
+    public List<UsoftOrderItemBatch> getUsoftOrderItemsBatch(String orderIds) {
+        if (!StringUtils.isEmpty(orderIds)) {
+            String[] split = orderIds.split(",");
+            List<Long> ids = new ArrayList<>();
+            if (split != null) {
+                for (String id : split) {
+                    ids.add(Long.parseLong(id));
+                }
+            }
+            return usoftOrderItemBatchDao.findByIds(ids);
         }
-        return orderItems;
+        return null;
     }
 
     /**
@@ -154,21 +155,15 @@ public class UsoftServiceImpl implements UsoftService {
      * @return
      */
     @Override
-    public List<UsoftAcceptItem> getUsoftAcceptItemsBatch(String acceptIds) {
-        String sql = "SELECT pai_id id,pu_code orderCode,a.pr_brand brand,a.pr_unit unit,pai_orderprice price, pai_paid acceptId,"
+    public List<UsoftAcceptItemBatch> getUsoftAcceptItemsBatch(String acceptIds) {
+        String sql = "SELECT a.pr_code code,a.pr_title title,a.pr_cmpcode cmpcode,a.pr_spec spec,pai_id id,pu_code orderCode,a.pr_brand brand,a.pr_unit unit,pai_orderprice price, pai_paid acceptId,"
                 + "(case pa_currency when 'RMB' then pai_qty * pai_orderprice when 'USD' then pai_qty * pai_orderprice * "
                 + ErpRate.USD_RATE + " when 'HKD' then pai_qty * pai_orderprice * " + ErpRate.HKD_RATE
                 + " end) amount,pai_qty checkqty,pai_batchcode batchCode from purc$acceptitem a "
                 + "LEFT JOIN purc$orderitems on pai_pdid = pd_id LEFT JOIN purc$orders on pd_puid = pu_id LEFT JOIN purc$accept"
                 + " on pai_paid = pa_id where pai_paid in (" + acceptIds + ")";
-        List<UsoftAcceptItem> acceptItems = commonDao.query(sql, UsoftAcceptItem.class);
-        if (!CollectionUtils.isEmpty(acceptItems)) {
-            acceptItems.forEach( acceptItem -> {
-                Product product = commonDao.queryBean("select pr_code code,pr_title title,pr_cmpcode cmpcode,"
-                        + "pr_spec spec from purc$acceptitem WHERE pai_id = " + acceptItem.getId(), Product.class);
-                acceptItem.setProduct(product);
-            });
-        }
+        List<UsoftAcceptItemBatch> acceptItems = commonDao.query(sql, UsoftAcceptItemBatch.class);
+
         return acceptItems;
     }