Browse Source

增加卖家发货的功能

suntg 7 years ago
parent
commit
6b32a64ae5

+ 28 - 0
src/main/java/com/uas/platform/b2c/logistics/controller/V_invoiceController.java

@@ -0,0 +1,28 @@
+package com.uas.platform.b2c.logistics.controller;
+
+import com.sun.org.apache.regexp.internal.RE;
+import com.uas.platform.b2c.logistics.facade.V_invoiceService;
+import com.uas.platform.b2c.logistics.model.V_Invoice;
+import com.uas.platform.core.model.PageParams;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping(value = "/vinoice")
+public class V_invoiceController {
+
+    private final V_invoiceService v_invoiceService;
+
+    @Autowired
+    public V_invoiceController(V_invoiceService v_invoiceService) {
+        this.v_invoiceService = v_invoiceService;
+    }
+
+    @RequestMapping(value = "/page", method = RequestMethod.GET)
+    public Page<V_Invoice> findVinvoiceByPage(PageParams pageParams) {
+        return v_invoiceService.findVinvoiceByPage(pageParams);
+    }
+}

+ 10 - 0
src/main/java/com/uas/platform/b2c/logistics/dao/V_invoiceDao.java

@@ -0,0 +1,10 @@
+package com.uas.platform.b2c.logistics.dao;
+
+import com.uas.platform.b2c.logistics.model.V_Invoice;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface V_invoiceDao extends JpaSpecificationExecutor<V_Invoice>, JpaRepository<V_Invoice, Long> {
+}

+ 10 - 0
src/main/java/com/uas/platform/b2c/logistics/facade/V_invoiceService.java

@@ -0,0 +1,10 @@
+package com.uas.platform.b2c.logistics.facade;
+
+import com.uas.platform.b2c.logistics.model.V_Invoice;
+import com.uas.platform.core.model.PageParams;
+import org.springframework.data.domain.Page;
+
+public interface V_invoiceService {
+
+    public Page<V_Invoice> findVinvoiceByPage(PageParams pageParams);
+}

+ 40 - 0
src/main/java/com/uas/platform/b2c/logistics/facade/impl/V_invoiceServiceImpl.java

@@ -0,0 +1,40 @@
+package com.uas.platform.b2c.logistics.facade.impl;
+
+import com.uas.platform.b2c.logistics.dao.V_invoiceDao;
+import com.uas.platform.b2c.logistics.facade.V_invoiceService;
+import com.uas.platform.b2c.logistics.model.V_Invoice;
+import com.uas.platform.core.model.PageInfo;
+import com.uas.platform.core.model.PageParams;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Service;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+
+
+@Service
+public class V_invoiceServiceImpl implements V_invoiceService {
+
+    private final V_invoiceDao v_invoiceDao;
+
+    @Autowired
+    public V_invoiceServiceImpl(V_invoiceDao v_invoiceDao) {
+        this.v_invoiceDao = v_invoiceDao;
+    }
+
+    @Override
+    public Page<V_Invoice> findVinvoiceByPage(PageParams pageParams) {
+        final PageInfo info = new PageInfo(pageParams);
+        return v_invoiceDao.findAll(new Specification<V_Invoice>() {
+            @Override
+            public Predicate toPredicate(Root<V_Invoice> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
+                query.where(info.getPredicates(root, query, cb));
+                return null;
+            }
+        }, info);
+    }
+}

+ 333 - 0
src/main/java/com/uas/platform/b2c/logistics/model/V_Invoice.java

@@ -0,0 +1,333 @@
+package com.uas.platform.b2c.logistics.model;
+
+import com.uas.platform.core.persistence.StatusColumn;
+
+import javax.persistence.*;
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 卖家收货的功能
+ *
+ * @author yuj 2018-09-04 19:10
+ */
+@Entity
+@Table(name = "v$invoice")
+public class V_Invoice implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @Id
+    @GeneratedValue
+    @Column(name = "id")
+    private Long id;
+
+    /**
+     * 发货单号
+     */
+    @Column(name = "in_id", unique = true)
+    private String invoiceid;
+
+    /**
+     * 买方uu
+     *
+     * @Tip 这里因为平台作为中间商,所以发货单都由平台下达
+     */
+    @Column(name = "in_buyeruu")
+    private Long buyeruu;
+
+    /**
+     * 买方姓名
+     */
+    @Column(name = "in_buyername")
+    private String buyername;
+
+    /**
+     * 买方企业uu
+     *
+     * @Tip 这里因为平台作为中间商,下达订单都看做给平台下达订单
+     */
+    @Column(name = "in_buyerenuu")
+    private Long buyerenuu;
+
+    /**
+     * 收货地址 这里使用json字符串的形式将收货地址整个存起来
+     */
+    @Column(name = "in_sp_addr", length = 2000)
+    private String jsonSpAddress;
+
+    /**
+     * 配送类型
+     */
+    @Column(name = "in_delivery_type")
+    private Integer deliveryType;
+
+    /**
+     * 适用配送规则
+     */
+    @Column(name = "in_rule", length = 2000)
+    private String jsonRule;
+
+    /**
+     * 自提点信息
+     */
+    @Column(name = "in_take_self", length = 2000)
+    private String jsonTakeSelf;
+
+    /**
+     * 运费
+     */
+    @Column(name = "in_fare")
+    private Double fare;
+
+    /**
+     * 订单备注
+     */
+    @Column(name = "in_remark", length = 4000)
+    private String inforRemark;
+
+    /**
+     * 发货地址 这里使用json字符串的形式将收货地址整个存起来
+     */
+    @Column(name = "in_sd_addr", length = 2000)
+    private String jsonSdAddress;
+
+    /**
+     * 单生成时间
+     */
+    @Column(name = "in_creattime")
+    private Date creattime;
+
+    /**
+     * 订单状态(1->2)
+     *
+     * @Tip 必须严格按照顺序流转 1、INBOUND(404, "待收货") 2、RECEIVED(405, "已收货"),
+     */
+    @Column(name = "in_status")
+    @StatusColumn
+    private Integer status;
+
+    /**
+     * 金额合计
+     */
+    @Column(name = "in_price")
+    private Double price;
+
+    /**
+     * 税金
+     */
+    @Column(name = "in_taxes")
+    private Double taxes;
+
+    /**
+     * 确认金额(考虑商城打折的情况)
+     */
+    @Column(name = "ensure_price")
+    private Double ensurePrice;
+
+    /**
+     * 币别
+     */
+    @Column(name = "in_currency")
+    private String currency;
+
+    /**
+     * 实际成交金额(考虑退货)
+     */
+    @Column(name = "transation_price")
+    private Double transationPrice;
+
+    /**
+     * 状态变更记录 List<StatusHistory> -> Json
+     */
+    @Column(name = "in_statushistory", length = 4000)
+    private String statushistory;
+
+    /**
+     * 送样单id
+     */
+    @Column(name = "in_proofingid")
+    private Long proofingid;
+
+    /**
+     * 包含的数量
+     */
+    @Column(name = "in_number")
+    private Double number;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public String getInvoiceid() {
+        return invoiceid;
+    }
+
+    public void setInvoiceid(String invoiceid) {
+        this.invoiceid = invoiceid;
+    }
+
+    public Long getBuyeruu() {
+        return buyeruu;
+    }
+
+    public void setBuyeruu(Long buyeruu) {
+        this.buyeruu = buyeruu;
+    }
+
+    public String getBuyername() {
+        return buyername;
+    }
+
+    public void setBuyername(String buyername) {
+        this.buyername = buyername;
+    }
+
+    public Long getBuyerenuu() {
+        return buyerenuu;
+    }
+
+    public void setBuyerenuu(Long buyerenuu) {
+        this.buyerenuu = buyerenuu;
+    }
+
+    public String getJsonSpAddress() {
+        return jsonSpAddress;
+    }
+
+    public void setJsonSpAddress(String jsonSpAddress) {
+        this.jsonSpAddress = jsonSpAddress;
+    }
+
+    public Integer getDeliveryType() {
+        return deliveryType;
+    }
+
+    public void setDeliveryType(Integer deliveryType) {
+        this.deliveryType = deliveryType;
+    }
+
+    public String getJsonRule() {
+        return jsonRule;
+    }
+
+    public void setJsonRule(String jsonRule) {
+        this.jsonRule = jsonRule;
+    }
+
+    public String getJsonTakeSelf() {
+        return jsonTakeSelf;
+    }
+
+    public void setJsonTakeSelf(String jsonTakeSelf) {
+        this.jsonTakeSelf = jsonTakeSelf;
+    }
+
+    public Double getFare() {
+        return fare;
+    }
+
+    public void setFare(Double fare) {
+        this.fare = fare;
+    }
+
+    public String getInforRemark() {
+        return inforRemark;
+    }
+
+    public void setInforRemark(String inforRemark) {
+        this.inforRemark = inforRemark;
+    }
+
+    public String getJsonSdAddress() {
+        return jsonSdAddress;
+    }
+
+    public void setJsonSdAddress(String jsonSdAddress) {
+        this.jsonSdAddress = jsonSdAddress;
+    }
+
+    public Date getCreattime() {
+        return creattime;
+    }
+
+    public void setCreattime(Date creattime) {
+        this.creattime = creattime;
+    }
+
+    public Integer getStatus() {
+        return status;
+    }
+
+    public void setStatus(Integer status) {
+        this.status = status;
+    }
+
+    public Double getPrice() {
+        return price;
+    }
+
+    public void setPrice(Double price) {
+        this.price = price;
+    }
+
+    public Double getTaxes() {
+        return taxes;
+    }
+
+    public void setTaxes(Double taxes) {
+        this.taxes = taxes;
+    }
+
+    public Double getEnsurePrice() {
+        return ensurePrice;
+    }
+
+    public void setEnsurePrice(Double ensurePrice) {
+        this.ensurePrice = ensurePrice;
+    }
+
+    public String getCurrency() {
+        return currency;
+    }
+
+    public void setCurrency(String currency) {
+        this.currency = currency;
+    }
+
+    public Double getTransationPrice() {
+        return transationPrice;
+    }
+
+    public void setTransationPrice(Double transationPrice) {
+        this.transationPrice = transationPrice;
+    }
+
+    public String getStatushistory() {
+        return statushistory;
+    }
+
+    public void setStatushistory(String statushistory) {
+        this.statushistory = statushistory;
+    }
+
+    public Long getProofingid() {
+        return proofingid;
+    }
+
+    public void setProofingid(Long proofingid) {
+        this.proofingid = proofingid;
+    }
+
+    public Double getNumber() {
+        return number;
+    }
+
+    public void setNumber(Double number) {
+        this.number = number;
+    }
+}

+ 0 - 17
src/main/java/com/uas/platform/b2c/logistics/model/v$invoice.java

@@ -1,17 +0,0 @@
-package com.uas.platform.b2c.logistics.model;
-
-import javax.persistence.Entity;
-import javax.persistence.Table;
-import java.io.Serializable;
-
-/**
- * 买家的发货
- *
- * @author yuj 2018-09-04 19:10
- */
-@Entity
-@Table(name = "v$invoice")
-public class v$invoice implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-}