优化tao订单消息

This commit is contained in:
启航 2024-03-16 18:02:44 +08:00
parent a3a63207e7
commit 6e0aab290d
26 changed files with 3606 additions and 308 deletions

View File

@ -0,0 +1,462 @@
package com.qihang.oms.domain;
import java.io.Serializable;
import java.util.Date;
/**
*
* @TableName tao_goods_sku
*/
public class TaoGoodsSku implements Serializable {
/**
* 主键id
*/
private Long id;
/**
* 外键id
*/
private Long taoGoodsId;
/**
* sku所属商品数字id
*/
private Long numIid;
/**
* sku所属商品id(注意iid近期即将废弃请用num_iid参数)
*/
private String iid;
/**
* 商品skuid阿里
*/
private Long skuId;
/**
* sku的销售属性组合字符串颜色大小等等可通过类目API获取某类目下的销售属性,格式是p1:v1;p2:v2
*/
private String properties;
/**
* sku所对应的销售属性的中文名字串格式如pid1:vid1:pid_name1:vid_name1;pid2:vid2:pid_name2:vid_name2
*/
private String propertiesName;
/**
* 属于这个sku的商品的数量
*/
private Long quantity;
/**
* specId
*/
private String spec;
/**
* 属于这个sku的商品的价格 取值范围:0-100000000;精确到2位小数;单位::200.07表示:200元7分
*/
private Double price;
/**
* 商家设置的外部id
*/
private String outerId;
/**
* sku创建日期 时间格式yyyy-MM-dd HH:mm:ss
*/
private Date created;
/**
* sku最后修改日期 时间格式yyyy-MM-dd HH:mm:ss
*/
private Date modified;
/**
* sku状态 normal
*/
private String status;
/**
* 表示SKu上的产品规格信息
*/
private String skuSpecId;
/**
* 商品级别的条形码
*/
private String barcode;
/**
* erp商品SKUid
*/
private Long erpGoodsSkuId;
/**
* erp商品id
*/
private Long erpGoodsId;
/**
* 创建时间
*/
private Date createTime;
private static final long serialVersionUID = 1L;
/**
* 主键id
*/
public Long getId() {
return id;
}
/**
* 主键id
*/
public void setId(Long id) {
this.id = id;
}
/**
* 外键id
*/
public Long getTaoGoodsId() {
return taoGoodsId;
}
/**
* 外键id
*/
public void setTaoGoodsId(Long taoGoodsId) {
this.taoGoodsId = taoGoodsId;
}
/**
* sku所属商品数字id
*/
public Long getNumIid() {
return numIid;
}
/**
* sku所属商品数字id
*/
public void setNumIid(Long numIid) {
this.numIid = numIid;
}
/**
* sku所属商品id(注意iid近期即将废弃请用num_iid参数)
*/
public String getIid() {
return iid;
}
/**
* sku所属商品id(注意iid近期即将废弃请用num_iid参数)
*/
public void setIid(String iid) {
this.iid = iid;
}
/**
* 商品skuid阿里
*/
public Long getSkuId() {
return skuId;
}
/**
* 商品skuid阿里
*/
public void setSkuId(Long skuId) {
this.skuId = skuId;
}
/**
* sku的销售属性组合字符串颜色大小等等可通过类目API获取某类目下的销售属性,格式是p1:v1;p2:v2
*/
public String getProperties() {
return properties;
}
/**
* sku的销售属性组合字符串颜色大小等等可通过类目API获取某类目下的销售属性,格式是p1:v1;p2:v2
*/
public void setProperties(String properties) {
this.properties = properties;
}
/**
* sku所对应的销售属性的中文名字串格式如pid1:vid1:pid_name1:vid_name1;pid2:vid2:pid_name2:vid_name2
*/
public String getPropertiesName() {
return propertiesName;
}
/**
* sku所对应的销售属性的中文名字串格式如pid1:vid1:pid_name1:vid_name1;pid2:vid2:pid_name2:vid_name2
*/
public void setPropertiesName(String propertiesName) {
this.propertiesName = propertiesName;
}
/**
* 属于这个sku的商品的数量
*/
public Long getQuantity() {
return quantity;
}
/**
* 属于这个sku的商品的数量
*/
public void setQuantity(Long quantity) {
this.quantity = quantity;
}
/**
* specId
*/
public String getSpec() {
return spec;
}
/**
* specId
*/
public void setSpec(String spec) {
this.spec = spec;
}
/**
* 属于这个sku的商品的价格 取值范围:0-100000000;精确到2位小数;单位::200.07表示:200元7分
*/
public Double getPrice() {
return price;
}
/**
* 属于这个sku的商品的价格 取值范围:0-100000000;精确到2位小数;单位::200.07表示:200元7分
*/
public void setPrice(Double price) {
this.price = price;
}
/**
* 商家设置的外部id
*/
public String getOuterId() {
return outerId;
}
/**
* 商家设置的外部id
*/
public void setOuterId(String outerId) {
this.outerId = outerId;
}
/**
* sku创建日期 时间格式yyyy-MM-dd HH:mm:ss
*/
public Date getCreated() {
return created;
}
/**
* sku创建日期 时间格式yyyy-MM-dd HH:mm:ss
*/
public void setCreated(Date created) {
this.created = created;
}
/**
* sku最后修改日期 时间格式yyyy-MM-dd HH:mm:ss
*/
public Date getModified() {
return modified;
}
/**
* sku最后修改日期 时间格式yyyy-MM-dd HH:mm:ss
*/
public void setModified(Date modified) {
this.modified = modified;
}
/**
* sku状态 normal
*/
public String getStatus() {
return status;
}
/**
* sku状态 normal
*/
public void setStatus(String status) {
this.status = status;
}
/**
* 表示SKu上的产品规格信息
*/
public String getSkuSpecId() {
return skuSpecId;
}
/**
* 表示SKu上的产品规格信息
*/
public void setSkuSpecId(String skuSpecId) {
this.skuSpecId = skuSpecId;
}
/**
* 商品级别的条形码
*/
public String getBarcode() {
return barcode;
}
/**
* 商品级别的条形码
*/
public void setBarcode(String barcode) {
this.barcode = barcode;
}
/**
* erp商品SKUid
*/
public Long getErpGoodsSkuId() {
return erpGoodsSkuId;
}
/**
* erp商品SKUid
*/
public void setErpGoodsSkuId(Long erpGoodsSkuId) {
this.erpGoodsSkuId = erpGoodsSkuId;
}
/**
* erp商品id
*/
public Long getErpGoodsId() {
return erpGoodsId;
}
/**
* erp商品id
*/
public void setErpGoodsId(Long erpGoodsId) {
this.erpGoodsId = erpGoodsId;
}
/**
* 创建时间
*/
public Date getCreateTime() {
return createTime;
}
/**
* 创建时间
*/
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
@Override
public boolean equals(Object that) {
if (this == that) {
return true;
}
if (that == null) {
return false;
}
if (getClass() != that.getClass()) {
return false;
}
TaoGoodsSku other = (TaoGoodsSku) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getTaoGoodsId() == null ? other.getTaoGoodsId() == null : this.getTaoGoodsId().equals(other.getTaoGoodsId()))
&& (this.getNumIid() == null ? other.getNumIid() == null : this.getNumIid().equals(other.getNumIid()))
&& (this.getIid() == null ? other.getIid() == null : this.getIid().equals(other.getIid()))
&& (this.getSkuId() == null ? other.getSkuId() == null : this.getSkuId().equals(other.getSkuId()))
&& (this.getProperties() == null ? other.getProperties() == null : this.getProperties().equals(other.getProperties()))
&& (this.getPropertiesName() == null ? other.getPropertiesName() == null : this.getPropertiesName().equals(other.getPropertiesName()))
&& (this.getQuantity() == null ? other.getQuantity() == null : this.getQuantity().equals(other.getQuantity()))
&& (this.getSpec() == null ? other.getSpec() == null : this.getSpec().equals(other.getSpec()))
&& (this.getPrice() == null ? other.getPrice() == null : this.getPrice().equals(other.getPrice()))
&& (this.getOuterId() == null ? other.getOuterId() == null : this.getOuterId().equals(other.getOuterId()))
&& (this.getCreated() == null ? other.getCreated() == null : this.getCreated().equals(other.getCreated()))
&& (this.getModified() == null ? other.getModified() == null : this.getModified().equals(other.getModified()))
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
&& (this.getSkuSpecId() == null ? other.getSkuSpecId() == null : this.getSkuSpecId().equals(other.getSkuSpecId()))
&& (this.getBarcode() == null ? other.getBarcode() == null : this.getBarcode().equals(other.getBarcode()))
&& (this.getErpGoodsSkuId() == null ? other.getErpGoodsSkuId() == null : this.getErpGoodsSkuId().equals(other.getErpGoodsSkuId()))
&& (this.getErpGoodsId() == null ? other.getErpGoodsId() == null : this.getErpGoodsId().equals(other.getErpGoodsId()))
&& (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()));
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
result = prime * result + ((getTaoGoodsId() == null) ? 0 : getTaoGoodsId().hashCode());
result = prime * result + ((getNumIid() == null) ? 0 : getNumIid().hashCode());
result = prime * result + ((getIid() == null) ? 0 : getIid().hashCode());
result = prime * result + ((getSkuId() == null) ? 0 : getSkuId().hashCode());
result = prime * result + ((getProperties() == null) ? 0 : getProperties().hashCode());
result = prime * result + ((getPropertiesName() == null) ? 0 : getPropertiesName().hashCode());
result = prime * result + ((getQuantity() == null) ? 0 : getQuantity().hashCode());
result = prime * result + ((getSpec() == null) ? 0 : getSpec().hashCode());
result = prime * result + ((getPrice() == null) ? 0 : getPrice().hashCode());
result = prime * result + ((getOuterId() == null) ? 0 : getOuterId().hashCode());
result = prime * result + ((getCreated() == null) ? 0 : getCreated().hashCode());
result = prime * result + ((getModified() == null) ? 0 : getModified().hashCode());
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
result = prime * result + ((getSkuSpecId() == null) ? 0 : getSkuSpecId().hashCode());
result = prime * result + ((getBarcode() == null) ? 0 : getBarcode().hashCode());
result = prime * result + ((getErpGoodsSkuId() == null) ? 0 : getErpGoodsSkuId().hashCode());
result = prime * result + ((getErpGoodsId() == null) ? 0 : getErpGoodsId().hashCode());
result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
return result;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", taoGoodsId=").append(taoGoodsId);
sb.append(", numIid=").append(numIid);
sb.append(", iid=").append(iid);
sb.append(", skuId=").append(skuId);
sb.append(", properties=").append(properties);
sb.append(", propertiesName=").append(propertiesName);
sb.append(", quantity=").append(quantity);
sb.append(", spec=").append(spec);
sb.append(", price=").append(price);
sb.append(", outerId=").append(outerId);
sb.append(", created=").append(created);
sb.append(", modified=").append(modified);
sb.append(", status=").append(status);
sb.append(", skuSpecId=").append(skuSpecId);
sb.append(", barcode=").append(barcode);
sb.append(", erpGoodsSkuId=").append(erpGoodsSkuId);
sb.append(", erpGoodsId=").append(erpGoodsId);
sb.append(", createTime=").append(createTime);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,930 @@
package com.qihang.oms.domain;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 淘宝订单明细表
* @TableName tao_order_item
*/
public class TaoOrderItem implements Serializable {
/**
*
*/
private Long id;
/**
* 订单id
*/
private Long tid;
/**
* 子订单编号
*/
private Long oid;
/**
* 应付金额商品价格 * 商品数量 + 手工调整金额 - 子订单级订单优惠金额精确到2位小数;单位::200.07表示:200元7分
*/
private BigDecimal totalFee;
/**
* 子订单级订单优惠金额精确到2位小数;单位::200.07表示:200元7分
*/
private BigDecimal discountFee;
/**
* 手工调整金额.格式为:1.01;单位:;精确到小数点后两位.
*/
private BigDecimal adjustFee;
/**
* 分摊之后的实付金额
*/
private Double divideOrderFee;
/**
* 优惠分摊
*/
private Double partMjzDiscount;
/**
* 子订单实付金额精确到2位小数单位::200.07表示:200元7分对于多子订单的交易计算公式如下payment = price * num + adjust_fee - discount_fee 单子订单交易payment与主订单的payment一致对于退款成功的子订单由于主订单的优惠分摊金额会造成该字段可能不为0.00元建议使用退款前的实付金额减去退款单中的实际退款金额计算
*/
private Double payment;
/**
* 商品标题
*/
private String title;
/**
* 商品主图
*/
private String picPath;
/**
* 商品价格
*/
private BigDecimal price;
/**
* 商品数字ID
*/
private Long numIid;
/**
* 商品的最小库存单位Sku的id.可以通过taobao.item.sku.get获取详细的Sku信息天猫的SKUID
*/
private String skuId;
/**
* 商家外部编码(可与商家外部系统对接)
*/
private String outerIid;
/**
* 外部网店自己定义的Sku编号
*/
private String outerSkuId;
/**
* SKU的值机身颜色:黑色;手机套餐:官方标配
*/
private String skuPropertiesName;
/**
* 套餐ID
*/
private String itemMealId;
/**
* 套餐的值M8原装电池:便携支架:M8专用座充:莫凡保护袋
*/
private String itemMealName;
/**
* 数量
*/
private Integer num;
/**
* 订单超时到期时间格式:yyyy-MM-dd HH:mm:ss
*/
private Date timeoutActionTime;
/**
* 商品备注
*/
private String itemMemo;
/**
* 买家是否已评价可选值true(已评价)false(未评价)
*/
private String buyerRate;
/**
* 卖家是否已评价可选值true(已评价)false(未评价)
*/
private String sellerRate;
/**
* 卖家类型可选值为B商城商家C普通卖家
*/
private String sellerType;
/**
* 交易商品对应的类目ID
*/
private Long cid;
/**
* 是否超卖
*/
private String isOversold;
/**
* 子订单的交易结束时间说明子订单有单独的结束时间与主订单的结束时间可能有所不同在有退款发起的时候或者是主订单分阶段付款的时候子订单的结束时间会早于主订单的结束时间所以开放这个字段便于订单结束状态的判断
*/
private Date endTime;
/**
* 子订单来源,如jhs(聚划算)taobao(淘宝)wap(无线)
*/
private String orderFrom;
/**
* 是否是服务订单是返回true否返回false
*/
private String isServiceOrder;
/**
* 子订单发货时间当卖家对订单进行了多次发货子订单的发货时间和主订单的发货时间可能不一样了那么就需要以子订单的时间为准没有进行多次发货的订单主订单的发货时间和子订单的发货时间都一样
*/
private Date consignTime;
/**
* 子订单的运送方式卖家对订单进行多次发货之后一个主订单下的子订单的运送方式可能不同用order.shipping_type来区分子订单的运送方式
*/
private String shippingType;
/**
* 子订单发货的快递公司名称
*/
private String logisticsCompany;
/**
* 子订单所在包裹的运单号
*/
private String invoiceNo;
/**
* 捆绑的子订单号表示该子订单要和捆绑的子订单一起发货用于卖家子订单捆绑发货
*/
private String bindOid;
/**
* 订单状态请关注此状态如果为TRADE_CLOSED_BY_TAOBAO状态则不要对此订单进行发货切记啊可选值:
TRADE_NO_CREATE_PAY(没有创建支付宝交易)
WAIT_BUYER_PAY(等待买家付款)
WAIT_SELLER_SEND_GOODS(等待卖家发货,:买家已付款)
WAIT_BUYER_CONFIRM_GOODS(等待买家确认收货,:卖家已发货)
TRADE_BUYER_SIGNED(买家已签收,货到付款专用)
TRADE_FINISHED(交易成功)
TRADE_CLOSED(付款以后用户退款成功交易自动关闭)
TRADE_CLOSED_BY_TAOBAO(付款以前卖家或买家主动关闭交易)
PAY_PENDING(国际信用卡支付付款确认中)
*/
private String status;
/**
* 退款状态退款状态可选值 WAIT_SELLER_AGREE(买家已经申请退款等待卖家同意) WAIT_BUYER_RETURN_GOODS(卖家已经同意退款等待买家退货) WAIT_SELLER_CONFIRM_GOODS(买家已经退货等待卖家确认收货) SELLER_REFUSE_BUYER(卖家拒绝退款) CLOSED(退款关闭) SUCCESS(退款成功)
*/
private String refundStatus;
/**
* 最近退款ID
*/
private String refundId;
/**
*
*/
private String remark;
private static final long serialVersionUID = 1L;
/**
*
*/
public Long getId() {
return id;
}
/**
*
*/
public void setId(Long id) {
this.id = id;
}
/**
* 订单id
*/
public Long getTid() {
return tid;
}
/**
* 订单id
*/
public void setTid(Long tid) {
this.tid = tid;
}
/**
* 子订单编号
*/
public Long getOid() {
return oid;
}
/**
* 子订单编号
*/
public void setOid(Long oid) {
this.oid = oid;
}
/**
* 应付金额商品价格 * 商品数量 + 手工调整金额 - 子订单级订单优惠金额精确到2位小数;单位::200.07表示:200元7分
*/
public BigDecimal getTotalFee() {
return totalFee;
}
/**
* 应付金额商品价格 * 商品数量 + 手工调整金额 - 子订单级订单优惠金额精确到2位小数;单位::200.07表示:200元7分
*/
public void setTotalFee(BigDecimal totalFee) {
this.totalFee = totalFee;
}
/**
* 子订单级订单优惠金额精确到2位小数;单位::200.07表示:200元7分
*/
public BigDecimal getDiscountFee() {
return discountFee;
}
/**
* 子订单级订单优惠金额精确到2位小数;单位::200.07表示:200元7分
*/
public void setDiscountFee(BigDecimal discountFee) {
this.discountFee = discountFee;
}
/**
* 手工调整金额.格式为:1.01;单位:;精确到小数点后两位.
*/
public BigDecimal getAdjustFee() {
return adjustFee;
}
/**
* 手工调整金额.格式为:1.01;单位:;精确到小数点后两位.
*/
public void setAdjustFee(BigDecimal adjustFee) {
this.adjustFee = adjustFee;
}
/**
* 分摊之后的实付金额
*/
public Double getDivideOrderFee() {
return divideOrderFee;
}
/**
* 分摊之后的实付金额
*/
public void setDivideOrderFee(Double divideOrderFee) {
this.divideOrderFee = divideOrderFee;
}
/**
* 优惠分摊
*/
public Double getPartMjzDiscount() {
return partMjzDiscount;
}
/**
* 优惠分摊
*/
public void setPartMjzDiscount(Double partMjzDiscount) {
this.partMjzDiscount = partMjzDiscount;
}
/**
* 子订单实付金额精确到2位小数单位::200.07表示:200元7分对于多子订单的交易计算公式如下payment = price * num + adjust_fee - discount_fee 单子订单交易payment与主订单的payment一致对于退款成功的子订单由于主订单的优惠分摊金额会造成该字段可能不为0.00元建议使用退款前的实付金额减去退款单中的实际退款金额计算
*/
public Double getPayment() {
return payment;
}
/**
* 子订单实付金额精确到2位小数单位::200.07表示:200元7分对于多子订单的交易计算公式如下payment = price * num + adjust_fee - discount_fee 单子订单交易payment与主订单的payment一致对于退款成功的子订单由于主订单的优惠分摊金额会造成该字段可能不为0.00元建议使用退款前的实付金额减去退款单中的实际退款金额计算
*/
public void setPayment(Double payment) {
this.payment = payment;
}
/**
* 商品标题
*/
public String getTitle() {
return title;
}
/**
* 商品标题
*/
public void setTitle(String title) {
this.title = title;
}
/**
* 商品主图
*/
public String getPicPath() {
return picPath;
}
/**
* 商品主图
*/
public void setPicPath(String picPath) {
this.picPath = picPath;
}
/**
* 商品价格
*/
public BigDecimal getPrice() {
return price;
}
/**
* 商品价格
*/
public void setPrice(BigDecimal price) {
this.price = price;
}
/**
* 商品数字ID
*/
public Long getNumIid() {
return numIid;
}
/**
* 商品数字ID
*/
public void setNumIid(Long numIid) {
this.numIid = numIid;
}
/**
* 商品的最小库存单位Sku的id.可以通过taobao.item.sku.get获取详细的Sku信息天猫的SKUID
*/
public String getSkuId() {
return skuId;
}
/**
* 商品的最小库存单位Sku的id.可以通过taobao.item.sku.get获取详细的Sku信息天猫的SKUID
*/
public void setSkuId(String skuId) {
this.skuId = skuId;
}
/**
* 商家外部编码(可与商家外部系统对接)
*/
public String getOuterIid() {
return outerIid;
}
/**
* 商家外部编码(可与商家外部系统对接)
*/
public void setOuterIid(String outerIid) {
this.outerIid = outerIid;
}
/**
* 外部网店自己定义的Sku编号
*/
public String getOuterSkuId() {
return outerSkuId;
}
/**
* 外部网店自己定义的Sku编号
*/
public void setOuterSkuId(String outerSkuId) {
this.outerSkuId = outerSkuId;
}
/**
* SKU的值机身颜色:黑色;手机套餐:官方标配
*/
public String getSkuPropertiesName() {
return skuPropertiesName;
}
/**
* SKU的值机身颜色:黑色;手机套餐:官方标配
*/
public void setSkuPropertiesName(String skuPropertiesName) {
this.skuPropertiesName = skuPropertiesName;
}
/**
* 套餐ID
*/
public String getItemMealId() {
return itemMealId;
}
/**
* 套餐ID
*/
public void setItemMealId(String itemMealId) {
this.itemMealId = itemMealId;
}
/**
* 套餐的值M8原装电池:便携支架:M8专用座充:莫凡保护袋
*/
public String getItemMealName() {
return itemMealName;
}
/**
* 套餐的值M8原装电池:便携支架:M8专用座充:莫凡保护袋
*/
public void setItemMealName(String itemMealName) {
this.itemMealName = itemMealName;
}
/**
* 数量
*/
public Integer getNum() {
return num;
}
/**
* 数量
*/
public void setNum(Integer num) {
this.num = num;
}
/**
* 订单超时到期时间格式:yyyy-MM-dd HH:mm:ss
*/
public Date getTimeoutActionTime() {
return timeoutActionTime;
}
/**
* 订单超时到期时间格式:yyyy-MM-dd HH:mm:ss
*/
public void setTimeoutActionTime(Date timeoutActionTime) {
this.timeoutActionTime = timeoutActionTime;
}
/**
* 商品备注
*/
public String getItemMemo() {
return itemMemo;
}
/**
* 商品备注
*/
public void setItemMemo(String itemMemo) {
this.itemMemo = itemMemo;
}
/**
* 买家是否已评价可选值true(已评价)false(未评价)
*/
public String getBuyerRate() {
return buyerRate;
}
/**
* 买家是否已评价可选值true(已评价)false(未评价)
*/
public void setBuyerRate(String buyerRate) {
this.buyerRate = buyerRate;
}
/**
* 卖家是否已评价可选值true(已评价)false(未评价)
*/
public String getSellerRate() {
return sellerRate;
}
/**
* 卖家是否已评价可选值true(已评价)false(未评价)
*/
public void setSellerRate(String sellerRate) {
this.sellerRate = sellerRate;
}
/**
* 卖家类型可选值为B商城商家C普通卖家
*/
public String getSellerType() {
return sellerType;
}
/**
* 卖家类型可选值为B商城商家C普通卖家
*/
public void setSellerType(String sellerType) {
this.sellerType = sellerType;
}
/**
* 交易商品对应的类目ID
*/
public Long getCid() {
return cid;
}
/**
* 交易商品对应的类目ID
*/
public void setCid(Long cid) {
this.cid = cid;
}
/**
* 是否超卖
*/
public String getIsOversold() {
return isOversold;
}
/**
* 是否超卖
*/
public void setIsOversold(String isOversold) {
this.isOversold = isOversold;
}
/**
* 子订单的交易结束时间说明子订单有单独的结束时间与主订单的结束时间可能有所不同在有退款发起的时候或者是主订单分阶段付款的时候子订单的结束时间会早于主订单的结束时间所以开放这个字段便于订单结束状态的判断
*/
public Date getEndTime() {
return endTime;
}
/**
* 子订单的交易结束时间说明子订单有单独的结束时间与主订单的结束时间可能有所不同在有退款发起的时候或者是主订单分阶段付款的时候子订单的结束时间会早于主订单的结束时间所以开放这个字段便于订单结束状态的判断
*/
public void setEndTime(Date endTime) {
this.endTime = endTime;
}
/**
* 子订单来源,如jhs(聚划算)taobao(淘宝)wap(无线)
*/
public String getOrderFrom() {
return orderFrom;
}
/**
* 子订单来源,如jhs(聚划算)taobao(淘宝)wap(无线)
*/
public void setOrderFrom(String orderFrom) {
this.orderFrom = orderFrom;
}
/**
* 是否是服务订单是返回true否返回false
*/
public String getIsServiceOrder() {
return isServiceOrder;
}
/**
* 是否是服务订单是返回true否返回false
*/
public void setIsServiceOrder(String isServiceOrder) {
this.isServiceOrder = isServiceOrder;
}
/**
* 子订单发货时间当卖家对订单进行了多次发货子订单的发货时间和主订单的发货时间可能不一样了那么就需要以子订单的时间为准没有进行多次发货的订单主订单的发货时间和子订单的发货时间都一样
*/
public Date getConsignTime() {
return consignTime;
}
/**
* 子订单发货时间当卖家对订单进行了多次发货子订单的发货时间和主订单的发货时间可能不一样了那么就需要以子订单的时间为准没有进行多次发货的订单主订单的发货时间和子订单的发货时间都一样
*/
public void setConsignTime(Date consignTime) {
this.consignTime = consignTime;
}
/**
* 子订单的运送方式卖家对订单进行多次发货之后一个主订单下的子订单的运送方式可能不同用order.shipping_type来区分子订单的运送方式
*/
public String getShippingType() {
return shippingType;
}
/**
* 子订单的运送方式卖家对订单进行多次发货之后一个主订单下的子订单的运送方式可能不同用order.shipping_type来区分子订单的运送方式
*/
public void setShippingType(String shippingType) {
this.shippingType = shippingType;
}
/**
* 子订单发货的快递公司名称
*/
public String getLogisticsCompany() {
return logisticsCompany;
}
/**
* 子订单发货的快递公司名称
*/
public void setLogisticsCompany(String logisticsCompany) {
this.logisticsCompany = logisticsCompany;
}
/**
* 子订单所在包裹的运单号
*/
public String getInvoiceNo() {
return invoiceNo;
}
/**
* 子订单所在包裹的运单号
*/
public void setInvoiceNo(String invoiceNo) {
this.invoiceNo = invoiceNo;
}
/**
* 捆绑的子订单号表示该子订单要和捆绑的子订单一起发货用于卖家子订单捆绑发货
*/
public String getBindOid() {
return bindOid;
}
/**
* 捆绑的子订单号表示该子订单要和捆绑的子订单一起发货用于卖家子订单捆绑发货
*/
public void setBindOid(String bindOid) {
this.bindOid = bindOid;
}
/**
* 订单状态请关注此状态如果为TRADE_CLOSED_BY_TAOBAO状态则不要对此订单进行发货切记啊可选值:
TRADE_NO_CREATE_PAY(没有创建支付宝交易)
WAIT_BUYER_PAY(等待买家付款)
WAIT_SELLER_SEND_GOODS(等待卖家发货,:买家已付款)
WAIT_BUYER_CONFIRM_GOODS(等待买家确认收货,:卖家已发货)
TRADE_BUYER_SIGNED(买家已签收,货到付款专用)
TRADE_FINISHED(交易成功)
TRADE_CLOSED(付款以后用户退款成功交易自动关闭)
TRADE_CLOSED_BY_TAOBAO(付款以前卖家或买家主动关闭交易)
PAY_PENDING(国际信用卡支付付款确认中)
*/
public String getStatus() {
return status;
}
/**
* 订单状态请关注此状态如果为TRADE_CLOSED_BY_TAOBAO状态则不要对此订单进行发货切记啊可选值:
TRADE_NO_CREATE_PAY(没有创建支付宝交易)
WAIT_BUYER_PAY(等待买家付款)
WAIT_SELLER_SEND_GOODS(等待卖家发货,:买家已付款)
WAIT_BUYER_CONFIRM_GOODS(等待买家确认收货,:卖家已发货)
TRADE_BUYER_SIGNED(买家已签收,货到付款专用)
TRADE_FINISHED(交易成功)
TRADE_CLOSED(付款以后用户退款成功交易自动关闭)
TRADE_CLOSED_BY_TAOBAO(付款以前卖家或买家主动关闭交易)
PAY_PENDING(国际信用卡支付付款确认中)
*/
public void setStatus(String status) {
this.status = status;
}
/**
* 退款状态退款状态可选值 WAIT_SELLER_AGREE(买家已经申请退款等待卖家同意) WAIT_BUYER_RETURN_GOODS(卖家已经同意退款等待买家退货) WAIT_SELLER_CONFIRM_GOODS(买家已经退货等待卖家确认收货) SELLER_REFUSE_BUYER(卖家拒绝退款) CLOSED(退款关闭) SUCCESS(退款成功)
*/
public String getRefundStatus() {
return refundStatus;
}
/**
* 退款状态退款状态可选值 WAIT_SELLER_AGREE(买家已经申请退款等待卖家同意) WAIT_BUYER_RETURN_GOODS(卖家已经同意退款等待买家退货) WAIT_SELLER_CONFIRM_GOODS(买家已经退货等待卖家确认收货) SELLER_REFUSE_BUYER(卖家拒绝退款) CLOSED(退款关闭) SUCCESS(退款成功)
*/
public void setRefundStatus(String refundStatus) {
this.refundStatus = refundStatus;
}
/**
* 最近退款ID
*/
public String getRefundId() {
return refundId;
}
/**
* 最近退款ID
*/
public void setRefundId(String refundId) {
this.refundId = refundId;
}
/**
*
*/
public String getRemark() {
return remark;
}
/**
*
*/
public void setRemark(String remark) {
this.remark = remark;
}
@Override
public boolean equals(Object that) {
if (this == that) {
return true;
}
if (that == null) {
return false;
}
if (getClass() != that.getClass()) {
return false;
}
TaoOrderItem other = (TaoOrderItem) that;
return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
&& (this.getTid() == null ? other.getTid() == null : this.getTid().equals(other.getTid()))
&& (this.getOid() == null ? other.getOid() == null : this.getOid().equals(other.getOid()))
&& (this.getTotalFee() == null ? other.getTotalFee() == null : this.getTotalFee().equals(other.getTotalFee()))
&& (this.getDiscountFee() == null ? other.getDiscountFee() == null : this.getDiscountFee().equals(other.getDiscountFee()))
&& (this.getAdjustFee() == null ? other.getAdjustFee() == null : this.getAdjustFee().equals(other.getAdjustFee()))
&& (this.getDivideOrderFee() == null ? other.getDivideOrderFee() == null : this.getDivideOrderFee().equals(other.getDivideOrderFee()))
&& (this.getPartMjzDiscount() == null ? other.getPartMjzDiscount() == null : this.getPartMjzDiscount().equals(other.getPartMjzDiscount()))
&& (this.getPayment() == null ? other.getPayment() == null : this.getPayment().equals(other.getPayment()))
&& (this.getTitle() == null ? other.getTitle() == null : this.getTitle().equals(other.getTitle()))
&& (this.getPicPath() == null ? other.getPicPath() == null : this.getPicPath().equals(other.getPicPath()))
&& (this.getPrice() == null ? other.getPrice() == null : this.getPrice().equals(other.getPrice()))
&& (this.getNumIid() == null ? other.getNumIid() == null : this.getNumIid().equals(other.getNumIid()))
&& (this.getSkuId() == null ? other.getSkuId() == null : this.getSkuId().equals(other.getSkuId()))
&& (this.getOuterIid() == null ? other.getOuterIid() == null : this.getOuterIid().equals(other.getOuterIid()))
&& (this.getOuterSkuId() == null ? other.getOuterSkuId() == null : this.getOuterSkuId().equals(other.getOuterSkuId()))
&& (this.getSkuPropertiesName() == null ? other.getSkuPropertiesName() == null : this.getSkuPropertiesName().equals(other.getSkuPropertiesName()))
&& (this.getItemMealId() == null ? other.getItemMealId() == null : this.getItemMealId().equals(other.getItemMealId()))
&& (this.getItemMealName() == null ? other.getItemMealName() == null : this.getItemMealName().equals(other.getItemMealName()))
&& (this.getNum() == null ? other.getNum() == null : this.getNum().equals(other.getNum()))
&& (this.getTimeoutActionTime() == null ? other.getTimeoutActionTime() == null : this.getTimeoutActionTime().equals(other.getTimeoutActionTime()))
&& (this.getItemMemo() == null ? other.getItemMemo() == null : this.getItemMemo().equals(other.getItemMemo()))
&& (this.getBuyerRate() == null ? other.getBuyerRate() == null : this.getBuyerRate().equals(other.getBuyerRate()))
&& (this.getSellerRate() == null ? other.getSellerRate() == null : this.getSellerRate().equals(other.getSellerRate()))
&& (this.getSellerType() == null ? other.getSellerType() == null : this.getSellerType().equals(other.getSellerType()))
&& (this.getCid() == null ? other.getCid() == null : this.getCid().equals(other.getCid()))
&& (this.getIsOversold() == null ? other.getIsOversold() == null : this.getIsOversold().equals(other.getIsOversold()))
&& (this.getEndTime() == null ? other.getEndTime() == null : this.getEndTime().equals(other.getEndTime()))
&& (this.getOrderFrom() == null ? other.getOrderFrom() == null : this.getOrderFrom().equals(other.getOrderFrom()))
&& (this.getIsServiceOrder() == null ? other.getIsServiceOrder() == null : this.getIsServiceOrder().equals(other.getIsServiceOrder()))
&& (this.getConsignTime() == null ? other.getConsignTime() == null : this.getConsignTime().equals(other.getConsignTime()))
&& (this.getShippingType() == null ? other.getShippingType() == null : this.getShippingType().equals(other.getShippingType()))
&& (this.getLogisticsCompany() == null ? other.getLogisticsCompany() == null : this.getLogisticsCompany().equals(other.getLogisticsCompany()))
&& (this.getInvoiceNo() == null ? other.getInvoiceNo() == null : this.getInvoiceNo().equals(other.getInvoiceNo()))
&& (this.getBindOid() == null ? other.getBindOid() == null : this.getBindOid().equals(other.getBindOid()))
&& (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
&& (this.getRefundStatus() == null ? other.getRefundStatus() == null : this.getRefundStatus().equals(other.getRefundStatus()))
&& (this.getRefundId() == null ? other.getRefundId() == null : this.getRefundId().equals(other.getRefundId()))
&& (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()));
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
result = prime * result + ((getTid() == null) ? 0 : getTid().hashCode());
result = prime * result + ((getOid() == null) ? 0 : getOid().hashCode());
result = prime * result + ((getTotalFee() == null) ? 0 : getTotalFee().hashCode());
result = prime * result + ((getDiscountFee() == null) ? 0 : getDiscountFee().hashCode());
result = prime * result + ((getAdjustFee() == null) ? 0 : getAdjustFee().hashCode());
result = prime * result + ((getDivideOrderFee() == null) ? 0 : getDivideOrderFee().hashCode());
result = prime * result + ((getPartMjzDiscount() == null) ? 0 : getPartMjzDiscount().hashCode());
result = prime * result + ((getPayment() == null) ? 0 : getPayment().hashCode());
result = prime * result + ((getTitle() == null) ? 0 : getTitle().hashCode());
result = prime * result + ((getPicPath() == null) ? 0 : getPicPath().hashCode());
result = prime * result + ((getPrice() == null) ? 0 : getPrice().hashCode());
result = prime * result + ((getNumIid() == null) ? 0 : getNumIid().hashCode());
result = prime * result + ((getSkuId() == null) ? 0 : getSkuId().hashCode());
result = prime * result + ((getOuterIid() == null) ? 0 : getOuterIid().hashCode());
result = prime * result + ((getOuterSkuId() == null) ? 0 : getOuterSkuId().hashCode());
result = prime * result + ((getSkuPropertiesName() == null) ? 0 : getSkuPropertiesName().hashCode());
result = prime * result + ((getItemMealId() == null) ? 0 : getItemMealId().hashCode());
result = prime * result + ((getItemMealName() == null) ? 0 : getItemMealName().hashCode());
result = prime * result + ((getNum() == null) ? 0 : getNum().hashCode());
result = prime * result + ((getTimeoutActionTime() == null) ? 0 : getTimeoutActionTime().hashCode());
result = prime * result + ((getItemMemo() == null) ? 0 : getItemMemo().hashCode());
result = prime * result + ((getBuyerRate() == null) ? 0 : getBuyerRate().hashCode());
result = prime * result + ((getSellerRate() == null) ? 0 : getSellerRate().hashCode());
result = prime * result + ((getSellerType() == null) ? 0 : getSellerType().hashCode());
result = prime * result + ((getCid() == null) ? 0 : getCid().hashCode());
result = prime * result + ((getIsOversold() == null) ? 0 : getIsOversold().hashCode());
result = prime * result + ((getEndTime() == null) ? 0 : getEndTime().hashCode());
result = prime * result + ((getOrderFrom() == null) ? 0 : getOrderFrom().hashCode());
result = prime * result + ((getIsServiceOrder() == null) ? 0 : getIsServiceOrder().hashCode());
result = prime * result + ((getConsignTime() == null) ? 0 : getConsignTime().hashCode());
result = prime * result + ((getShippingType() == null) ? 0 : getShippingType().hashCode());
result = prime * result + ((getLogisticsCompany() == null) ? 0 : getLogisticsCompany().hashCode());
result = prime * result + ((getInvoiceNo() == null) ? 0 : getInvoiceNo().hashCode());
result = prime * result + ((getBindOid() == null) ? 0 : getBindOid().hashCode());
result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
result = prime * result + ((getRefundStatus() == null) ? 0 : getRefundStatus().hashCode());
result = prime * result + ((getRefundId() == null) ? 0 : getRefundId().hashCode());
result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
return result;
}
@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
sb.append(", id=").append(id);
sb.append(", tid=").append(tid);
sb.append(", oid=").append(oid);
sb.append(", totalFee=").append(totalFee);
sb.append(", discountFee=").append(discountFee);
sb.append(", adjustFee=").append(adjustFee);
sb.append(", divideOrderFee=").append(divideOrderFee);
sb.append(", partMjzDiscount=").append(partMjzDiscount);
sb.append(", payment=").append(payment);
sb.append(", title=").append(title);
sb.append(", picPath=").append(picPath);
sb.append(", price=").append(price);
sb.append(", numIid=").append(numIid);
sb.append(", skuId=").append(skuId);
sb.append(", outerIid=").append(outerIid);
sb.append(", outerSkuId=").append(outerSkuId);
sb.append(", skuPropertiesName=").append(skuPropertiesName);
sb.append(", itemMealId=").append(itemMealId);
sb.append(", itemMealName=").append(itemMealName);
sb.append(", num=").append(num);
sb.append(", timeoutActionTime=").append(timeoutActionTime);
sb.append(", itemMemo=").append(itemMemo);
sb.append(", buyerRate=").append(buyerRate);
sb.append(", sellerRate=").append(sellerRate);
sb.append(", sellerType=").append(sellerType);
sb.append(", cid=").append(cid);
sb.append(", isOversold=").append(isOversold);
sb.append(", endTime=").append(endTime);
sb.append(", orderFrom=").append(orderFrom);
sb.append(", isServiceOrder=").append(isServiceOrder);
sb.append(", consignTime=").append(consignTime);
sb.append(", shippingType=").append(shippingType);
sb.append(", logisticsCompany=").append(logisticsCompany);
sb.append(", invoiceNo=").append(invoiceNo);
sb.append(", bindOid=").append(bindOid);
sb.append(", status=").append(status);
sb.append(", refundStatus=").append(refundStatus);
sb.append(", refundId=").append(refundId);
sb.append(", remark=").append(remark);
sb.append(", serialVersionUID=").append(serialVersionUID);
sb.append("]");
return sb.toString();
}
}

View File

@ -0,0 +1,18 @@
package com.qihang.oms.mapper;
import com.qihang.oms.domain.TaoGoodsSku;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author TW
* @description 针对表tao_goods_sku的数据库操作Mapper
* @createDate 2024-03-16 17:51:46
* @Entity com.qihang.oms.domain.TaoGoodsSku
*/
public interface TaoGoodsSkuMapper extends BaseMapper<TaoGoodsSku> {
}

View File

@ -0,0 +1,18 @@
package com.qihang.oms.mapper;
import com.qihang.oms.domain.TaoOrderItem;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author TW
* @description 针对表tao_order_item(淘宝订单明细表)的数据库操作Mapper
* @createDate 2024-03-16 17:51:46
* @Entity com.qihang.oms.domain.TaoOrderItem
*/
public interface TaoOrderItemMapper extends BaseMapper<TaoOrderItem> {
}

View File

@ -0,0 +1,18 @@
package com.qihang.oms.mapper;
import com.qihang.oms.domain.TaoOrder;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @author TW
* @description 针对表tao_order(淘宝订单表)的数据库操作Mapper
* @createDate 2024-03-16 17:51:46
* @Entity com.qihang.oms.domain.TaoOrder
*/
public interface TaoOrderMapper extends BaseMapper<TaoOrder> {
}

View File

@ -0,0 +1,13 @@
package com.qihang.oms.service;
import com.qihang.oms.domain.TaoGoodsSku;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author TW
* @description 针对表tao_goods_sku的数据库操作Service
* @createDate 2024-03-16 17:51:46
*/
public interface TaoGoodsSkuService extends IService<TaoGoodsSku> {
}

View File

@ -0,0 +1,13 @@
package com.qihang.oms.service;
import com.qihang.oms.domain.TaoOrderItem;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author TW
* @description 针对表tao_order_item(淘宝订单明细表)的数据库操作Service
* @createDate 2024-03-16 17:51:46
*/
public interface TaoOrderItemService extends IService<TaoOrderItem> {
}

View File

@ -0,0 +1,13 @@
package com.qihang.oms.service;
import com.qihang.oms.domain.TaoOrder;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @author TW
* @description 针对表tao_order(淘宝订单表)的数据库操作Service
* @createDate 2024-03-16 17:51:46
*/
public interface TaoOrderService extends IService<TaoOrder> {
}

View File

@ -35,6 +35,10 @@ public class OOrderServiceImpl extends ServiceImpl<OOrderMapper, OOrder>
private final JdOrderMapper jdOrderMapper;
private final JdOrderItemMapper jdOrderItemMapper;
private final JdGoodsSkuMapper jdGoodsSkuMapper;
private final TaoOrderMapper taoOrderMapper;
private final TaoOrderItemMapper taoOrderItemMapper;
private final TaoGoodsSkuMapper taoGoodsSkuMapper;
@Transactional
@Override
public ResultVo<Integer> jdOrderMessage(String orderId) {
@ -42,7 +46,7 @@ public class OOrderServiceImpl extends ServiceImpl<OOrderMapper, OOrder>
List<JdOrder> jdOrders = jdOrderMapper.selectList(new LambdaQueryWrapper<JdOrder>().eq(JdOrder::getOrderId, orderId));
if(jdOrders == null || jdOrders.size() == 0) {
// 没有找到订单信息
return new ResultVo<>(ResultVoEnum.NotFound,"没有找到京东订单:"+orderId);
return new ResultVo<>(ResultVoEnum.NotFound,"没有找到JD订单:"+orderId);
}
JdOrder jdOrder = jdOrders.get(0);
@ -147,11 +151,42 @@ public class OOrderServiceImpl extends ServiceImpl<OOrderMapper, OOrder>
@Override
public ResultVo<Integer> taoOrderMessage(String orderId) {
log.info("Tao订单消息处理"+orderId);
// List<JdOrder> jdOrders = jdOrderMapper.selectList(new LambdaQueryWrapper<JdOrder>().eq(JdOrder::getOrderId, orderId));
// if(jdOrders == null || jdOrders.size() == 0) {
// // 没有找到订单信息
// return new ResultVo<>(ResultVoEnum.NotFound,"没有找到TAO订单"+orderId);
// }
List<TaoOrder> taoOrders = taoOrderMapper.selectList(new LambdaQueryWrapper<TaoOrder>().eq(TaoOrder::getTid, orderId));
if(taoOrders == null || taoOrders.size() == 0) {
// 没有找到订单信息
return new ResultVo<>(ResultVoEnum.NotFound,"没有找到TAO订单"+orderId);
}
TaoOrder taoOrder = taoOrders.get(0);
List<OOrder> oOrders = orderMapper.selectList(new LambdaQueryWrapper<OOrder>().eq(OOrder::getOrderNum, orderId));
if(oOrders == null || oOrders.isEmpty()) {
// 新增订单
OOrder insert = new OOrder();
List<TaoOrderItem> taoOrderItems = taoOrderItemMapper.selectList(new LambdaQueryWrapper<TaoOrderItem>().eq(TaoOrderItem::getTid, taoOrder.getTid()));
if(taoOrderItems!=null && taoOrderItems.size()>0) {
for (var item : taoOrderItems) {
OOrderItem orderItem = new OOrderItem();
orderItem.setOrderId(insert.getId());
orderItem.setSubOrderNum(item.getTid().toString());
// TODO这里将订单商品skuid转换成erp系统的skuid
Long erpGoodsId = 0L;
Long erpSkuId = 0L;
List<TaoGoodsSku> taoGoodsSku = taoGoodsSkuMapper.selectList(new LambdaQueryWrapper<TaoGoodsSku>().eq(TaoGoodsSku::getSkuId, item.getSkuId()));
if (taoGoodsSku != null && !taoGoodsSku.isEmpty()) {
erpGoodsId = taoGoodsSku.get(0).getErpGoodsId();
erpSkuId = taoGoodsSku.get(0).getErpGoodsSkuId();
// orderItem.setGoodsImg(taoGoodsSku.get(0).getLogo());
// orderItem.setGoodsSpec(jdGoodsSkus.get(0).getSkuName());
orderItem.setSkuNum(taoGoodsSku.get(0).getOuterId());
}
}
}
}else{
// 修改订单 (修改)
}
return null;
}
}

View File

@ -0,0 +1,22 @@
package com.qihang.oms.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qihang.oms.domain.TaoGoodsSku;
import com.qihang.oms.service.TaoGoodsSkuService;
import com.qihang.oms.mapper.TaoGoodsSkuMapper;
import org.springframework.stereotype.Service;
/**
* @author TW
* @description 针对表tao_goods_sku的数据库操作Service实现
* @createDate 2024-03-16 17:51:46
*/
@Service
public class TaoGoodsSkuServiceImpl extends ServiceImpl<TaoGoodsSkuMapper, TaoGoodsSku>
implements TaoGoodsSkuService{
}

View File

@ -0,0 +1,22 @@
package com.qihang.oms.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qihang.oms.domain.TaoOrderItem;
import com.qihang.oms.service.TaoOrderItemService;
import com.qihang.oms.mapper.TaoOrderItemMapper;
import org.springframework.stereotype.Service;
/**
* @author TW
* @description 针对表tao_order_item(淘宝订单明细表)的数据库操作Service实现
* @createDate 2024-03-16 17:51:46
*/
@Service
public class TaoOrderItemServiceImpl extends ServiceImpl<TaoOrderItemMapper, TaoOrderItem>
implements TaoOrderItemService{
}

View File

@ -0,0 +1,22 @@
package com.qihang.oms.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.qihang.oms.domain.TaoOrder;
import com.qihang.oms.service.TaoOrderService;
import com.qihang.oms.mapper.TaoOrderMapper;
import org.springframework.stereotype.Service;
/**
* @author TW
* @description 针对表tao_order(淘宝订单表)的数据库操作Service实现
* @createDate 2024-03-16 17:51:46
*/
@Service
public class TaoOrderServiceImpl extends ServiceImpl<TaoOrderMapper, TaoOrder>
implements TaoOrderService{
}

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qihang.oms.mapper.TaoGoodsSkuMapper">
<resultMap id="BaseResultMap" type="com.qihang.oms.domain.TaoGoodsSku">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="taoGoodsId" column="tao_goods_id" jdbcType="BIGINT"/>
<result property="numIid" column="num_iid" jdbcType="BIGINT"/>
<result property="iid" column="iid" jdbcType="VARCHAR"/>
<result property="skuId" column="sku_id" jdbcType="BIGINT"/>
<result property="properties" column="properties" jdbcType="VARCHAR"/>
<result property="propertiesName" column="properties_name" jdbcType="VARCHAR"/>
<result property="quantity" column="quantity" jdbcType="BIGINT"/>
<result property="spec" column="spec" jdbcType="VARCHAR"/>
<result property="price" column="price" jdbcType="DOUBLE"/>
<result property="outerId" column="outer_id" jdbcType="VARCHAR"/>
<result property="created" column="created" jdbcType="TIMESTAMP"/>
<result property="modified" column="modified" jdbcType="TIMESTAMP"/>
<result property="status" column="status" jdbcType="VARCHAR"/>
<result property="skuSpecId" column="sku_spec_id" jdbcType="VARCHAR"/>
<result property="barcode" column="barcode" jdbcType="VARCHAR"/>
<result property="erpGoodsSkuId" column="erp_goods_sku_id" jdbcType="BIGINT"/>
<result property="erpGoodsId" column="erp_goods_id" jdbcType="BIGINT"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id,tao_goods_id,num_iid,
iid,sku_id,properties,
properties_name,quantity,spec,
price,outer_id,created,
modified,status,sku_spec_id,
barcode,erp_goods_sku_id,erp_goods_id,
create_time
</sql>
</mapper>

View File

@ -0,0 +1,64 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qihang.oms.mapper.TaoOrderItemMapper">
<resultMap id="BaseResultMap" type="com.qihang.oms.domain.TaoOrderItem">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="tid" column="tid" jdbcType="BIGINT"/>
<result property="oid" column="oid" jdbcType="BIGINT"/>
<result property="totalFee" column="total_fee" jdbcType="DECIMAL"/>
<result property="discountFee" column="discount_fee" jdbcType="DECIMAL"/>
<result property="adjustFee" column="adjust_fee" jdbcType="DECIMAL"/>
<result property="divideOrderFee" column="divide_order_fee" jdbcType="FLOAT"/>
<result property="partMjzDiscount" column="part_mjz_discount" jdbcType="FLOAT"/>
<result property="payment" column="payment" jdbcType="FLOAT"/>
<result property="title" column="title" jdbcType="VARCHAR"/>
<result property="picPath" column="pic_path" jdbcType="VARCHAR"/>
<result property="price" column="price" jdbcType="DECIMAL"/>
<result property="numIid" column="num_iid" jdbcType="BIGINT"/>
<result property="skuId" column="sku_id" jdbcType="VARCHAR"/>
<result property="outerIid" column="outer_iid" jdbcType="VARCHAR"/>
<result property="outerSkuId" column="outer_sku_id" jdbcType="VARCHAR"/>
<result property="skuPropertiesName" column="sku_properties_name" jdbcType="VARCHAR"/>
<result property="itemMealId" column="item_meal_id" jdbcType="VARCHAR"/>
<result property="itemMealName" column="item_meal_name" jdbcType="VARCHAR"/>
<result property="num" column="num" jdbcType="INTEGER"/>
<result property="timeoutActionTime" column="timeout_action_time" jdbcType="TIMESTAMP"/>
<result property="itemMemo" column="item_memo" jdbcType="VARCHAR"/>
<result property="buyerRate" column="buyer_rate" jdbcType="VARCHAR"/>
<result property="sellerRate" column="seller_rate" jdbcType="VARCHAR"/>
<result property="sellerType" column="seller_type" jdbcType="VARCHAR"/>
<result property="cid" column="cid" jdbcType="BIGINT"/>
<result property="isOversold" column="is_oversold" jdbcType="VARCHAR"/>
<result property="endTime" column="end_time" jdbcType="TIMESTAMP"/>
<result property="orderFrom" column="order_from" jdbcType="VARCHAR"/>
<result property="isServiceOrder" column="is_service_order" jdbcType="VARCHAR"/>
<result property="consignTime" column="consign_time" jdbcType="TIMESTAMP"/>
<result property="shippingType" column="shipping_type" jdbcType="VARCHAR"/>
<result property="logisticsCompany" column="logistics_company" jdbcType="VARCHAR"/>
<result property="invoiceNo" column="invoice_no" jdbcType="VARCHAR"/>
<result property="bindOid" column="bind_oid" jdbcType="VARCHAR"/>
<result property="status" column="status" jdbcType="VARCHAR"/>
<result property="refundStatus" column="refund_status" jdbcType="VARCHAR"/>
<result property="refundId" column="refund_id" jdbcType="VARCHAR"/>
<result property="remark" column="remark" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
id,tid,oid,
total_fee,discount_fee,adjust_fee,
divide_order_fee,part_mjz_discount,payment,
title,pic_path,price,
num_iid,sku_id,outer_iid,
outer_sku_id,sku_properties_name,item_meal_id,
item_meal_name,num,timeout_action_time,
item_memo,buyer_rate,seller_rate,
seller_type,cid,is_oversold,
end_time,order_from,is_service_order,
consign_time,shipping_type,logistics_company,
invoice_no,bind_oid,status,
refund_status,refund_id,remark
</sql>
</mapper>

View File

@ -0,0 +1,118 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.qihang.oms.mapper.TaoOrderMapper">
<resultMap id="BaseResultMap" type="com.qihang.oms.domain.TaoOrder">
<id property="id" column="id" jdbcType="BIGINT"/>
<result property="shopId" column="shop_id" jdbcType="INTEGER"/>
<result property="tid" column="tid" jdbcType="BIGINT"/>
<result property="title" column="title" jdbcType="VARCHAR"/>
<result property="type" column="type" jdbcType="VARCHAR"/>
<result property="sellerFlag" column="seller_flag" jdbcType="VARCHAR"/>
<result property="hasBuyerMessage" column="has_buyer_message" jdbcType="VARCHAR"/>
<result property="creditCardFee" column="credit_card_fee" jdbcType="VARCHAR"/>
<result property="stepTradeStatus" column="step_trade_status" jdbcType="VARCHAR"/>
<result property="stepPaidFee" column="step_paid_fee" jdbcType="VARCHAR"/>
<result property="buyerOpenUid" column="buyer_open_uid" jdbcType="VARCHAR"/>
<result property="markDesc" column="mark_desc" jdbcType="VARCHAR"/>
<result property="buyerNick" column="buyer_nick" jdbcType="VARCHAR"/>
<result property="numIid" column="num_iid" jdbcType="VARCHAR"/>
<result property="num" column="num" jdbcType="INTEGER"/>
<result property="price" column="price" jdbcType="FLOAT"/>
<result property="totalFee" column="total_fee" jdbcType="FLOAT"/>
<result property="adjustFee" column="adjust_fee" jdbcType="FLOAT"/>
<result property="postFee" column="post_fee" jdbcType="DECIMAL"/>
<result property="discountFee" column="discount_fee" jdbcType="DECIMAL"/>
<result property="payment" column="payment" jdbcType="DECIMAL"/>
<result property="receivedPayment" column="received_payment" jdbcType="DECIMAL"/>
<result property="availableConfirmFee" column="available_confirm_fee" jdbcType="FLOAT"/>
<result property="codFee" column="cod_fee" jdbcType="FLOAT"/>
<result property="codStatus" column="cod_status" jdbcType="VARCHAR"/>
<result property="buyerCodFee" column="buyer_cod_fee" jdbcType="VARCHAR"/>
<result property="sellerCodFee" column="seller_cod_fee" jdbcType="VARCHAR"/>
<result property="expressAgencyFee" column="express_agency_fee" jdbcType="VARCHAR"/>
<result property="commissionFee" column="commission_fee" jdbcType="FLOAT"/>
<result property="shippingType" column="shipping_type" jdbcType="VARCHAR"/>
<result property="created" column="created" jdbcType="TIMESTAMP"/>
<result property="modified" column="modified" jdbcType="TIMESTAMP"/>
<result property="payTime" column="pay_time" jdbcType="TIMESTAMP"/>
<result property="consignTime" column="consign_time" jdbcType="TIMESTAMP"/>
<result property="endTime" column="end_time" jdbcType="TIMESTAMP"/>
<result property="sellerMemo" column="seller_memo" jdbcType="VARCHAR"/>
<result property="buyerMemo" column="buyer_memo" jdbcType="VARCHAR"/>
<result property="buyerMessage" column="buyer_message" jdbcType="VARCHAR"/>
<result property="pointFee" column="point_fee" jdbcType="VARCHAR"/>
<result property="realPointFee" column="real_point_fee" jdbcType="VARCHAR"/>
<result property="buyerObtainPointFee" column="buyer_obtain_point_fee" jdbcType="VARCHAR"/>
<result property="receivingTime" column="receiving_time" jdbcType="TIMESTAMP"/>
<result property="status" column="status" jdbcType="VARCHAR"/>
<result property="tradeMemo" column="trade_memo" jdbcType="VARCHAR"/>
<result property="erpSendCompany" column="erp_send_company" jdbcType="VARCHAR"/>
<result property="erpSendCode" column="erp_send_code" jdbcType="VARCHAR"/>
<result property="erpSendStatus" column="erp_send_status" jdbcType="INTEGER"/>
<result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="update_time" jdbcType="TIMESTAMP"/>
<result property="updateBy" column="update_by" jdbcType="VARCHAR"/>
<result property="oaid" column="oaid" jdbcType="VARCHAR"/>
<result property="aid" column="aid" jdbcType="VARCHAR"/>
<result property="receiverCountry" column="receiver_country" jdbcType="VARCHAR"/>
<result property="receiverState" column="receiver_state" jdbcType="VARCHAR"/>
<result property="receiverCity" column="receiver_city" jdbcType="VARCHAR"/>
<result property="receiverDistrict" column="receiver_district" jdbcType="VARCHAR"/>
<result property="receiverTown" column="receiver_town" jdbcType="VARCHAR"/>
<result property="receiverAddress" column="receiver_address" jdbcType="VARCHAR"/>
<result property="receiverZip" column="receiver_zip" jdbcType="VARCHAR"/>
<result property="receiverName" column="receiver_name" jdbcType="VARCHAR"/>
<result property="receiverMobile" column="receiver_mobile" jdbcType="VARCHAR"/>
<result property="receiverPhone" column="receiver_phone" jdbcType="VARCHAR"/>
<result property="sellerRate" column="seller_rate" jdbcType="VARCHAR"/>
<result property="sellerNick" column="seller_nick" jdbcType="VARCHAR"/>
<result property="buyerRate" column="buyer_rate" jdbcType="VARCHAR"/>
<result property="buyerArea" column="buyer_area" jdbcType="VARCHAR"/>
<result property="alipayNo" column="alipay_no" jdbcType="VARCHAR"/>
<result property="buyerAlipayNo" column="buyer_alipay_no" jdbcType="VARCHAR"/>
<result property="buyerEmail" column="buyer_email" jdbcType="VARCHAR"/>
<result property="sellerAlipayNo" column="seller_alipay_no" jdbcType="VARCHAR"/>
<result property="hasPostFee" column="has_post_fee" jdbcType="VARCHAR"/>
<result property="timeoutActionTime" column="timeout_action_time" jdbcType="VARCHAR"/>
<result property="snapshotUrl" column="snapshot_url" jdbcType="VARCHAR"/>
<result property="promotion" column="promotion" jdbcType="VARCHAR"/>
<result property="yfxFee" column="yfx_fee" jdbcType="VARCHAR"/>
<result property="hasYfx" column="has_yfx" jdbcType="VARCHAR"/>
<result property="sendTime" column="send_time" jdbcType="VARCHAR"/>
<result property="isPartConsign" column="is_part_consign" jdbcType="VARCHAR"/>
<result property="sid" column="sid" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
id,shop_id,tid,
title,type,seller_flag,
has_buyer_message,credit_card_fee,step_trade_status,
step_paid_fee,buyer_open_uid,mark_desc,
buyer_nick,num_iid,num,
price,total_fee,adjust_fee,
post_fee,discount_fee,payment,
received_payment,available_confirm_fee,cod_fee,
cod_status,buyer_cod_fee,seller_cod_fee,
express_agency_fee,commission_fee,shipping_type,
created,modified,pay_time,
consign_time,end_time,seller_memo,
buyer_memo,buyer_message,point_fee,
real_point_fee,buyer_obtain_point_fee,receiving_time,
status,trade_memo,erp_send_company,
erp_send_code,erp_send_status,create_time,
update_time,update_by,oaid,
aid,receiver_country,receiver_state,
receiver_city,receiver_district,receiver_town,
receiver_address,receiver_zip,receiver_name,
receiver_mobile,receiver_phone,seller_rate,
seller_nick,buyer_rate,buyer_area,
alipay_no,buyer_alipay_no,buyer_email,
seller_alipay_no,has_post_fee,timeout_action_time,
snapshot_url,promotion,yfx_fee,
has_yfx,send_time,is_part_consign,
sid
</sql>
</mapper>

View File

@ -39,9 +39,9 @@ public class OrderApiController {
* @return
* @throws ApiException
*/
@GetMapping("/pull_order_tao")
@PostMapping("/pull_order_tao")
@ResponseBody
public ApiResult<Object> pullIncrementOrder(TaoRequest req) throws ApiException {
public ApiResult<Object> pullIncrementOrder(@RequestBody TaoRequest req) throws ApiException {
log.info("/**************增量拉取tao订单****************/");
if (req.getShopId() == null || req.getShopId() <= 0) {
return ApiResult.build(HttpStatus.PARAMS_ERROR, "参数错误没有店铺Id");

View File

@ -31,6 +31,7 @@ public class TaoOrderServiceImpl extends ServiceImpl<TaoOrderMapper, TaoOrder>
@Transactional
@Override
public ResultVo<Integer> saveOrder(Integer shopId, TaoOrder order) {
if(order == null ) return new ResultVo<>(ResultVoEnum.SystemException);
try {
List<TaoOrder> taoOrders = mapper.selectList(new LambdaQueryWrapper<TaoOrder>().eq(TaoOrder::getTid, order.getTid()));
if (taoOrders != null && taoOrders.size() > 0) {

View File

@ -1,7 +1,7 @@
{
"name": "qihang-ecerp",
"version": "0.1.1",
"description": "启航电商ERP系统",
"description": "启航电商OMS系统",
"author": "qihang",
"license": "MIT",
"scripts": {

View File

@ -18,17 +18,7 @@ export function login(username, password, code, uuid) {
})
}
// 注册方法
export function register(data) {
return request({
url: '/register',
headers: {
isToken: false
},
method: 'post',
data: data
})
}
// 获取用户详细信息
export function getInfo() {
@ -46,14 +36,4 @@ export function logout() {
})
}
// 获取验证码
export function getCodeImg() {
return request({
url: '/captchaImage',
headers: {
isToken: false
},
method: 'get',
timeout: 20000
})
}

View File

@ -1,21 +0,0 @@
<template>
<div>
<svg-icon icon-class="question" @click="goto" />
</div>
</template>
<script>
export default {
name: 'ZhiJianDoc',
data() {
return {
url: 'http://doc.zhijian.vip'
}
},
methods: {
goto() {
window.open(this.url)
}
}
}
</script>

View File

@ -1,21 +0,0 @@
<template>
<div>
<svg-icon icon-class="github" @click="goto" />
</div>
</template>
<script>
export default {
name: 'ZhiJianGit',
data() {
return {
url: 'https://gitee.com/qiliping/zhijian.git'
}
},
methods: {
goto() {
window.open(this.url)
}
}
}
</script>

View File

@ -54,8 +54,6 @@ import Hamburger from '@/components/Hamburger'
import Screenfull from '@/components/Screenfull'
import SizeSelect from '@/components/SizeSelect'
import Search from '@/components/HeaderSearch'
import ZhiJianGit from '@/components/ZhiJian/Git'
import ZhiJianDoc from '@/components/ZhiJian/Doc'
export default {
components: {
@ -64,9 +62,7 @@ export default {
Hamburger,
Screenfull,
SizeSelect,
Search,
ZhiJianGit,
ZhiJianDoc
Search
},
computed: {
...mapGetters([

View File

@ -46,11 +46,6 @@ export const constantRoutes = [
component: () => import('@/views/login'),
hidden: true
},
{
path: '/register',
component: () => import('@/views/register'),
hidden: true
},
{
path: '/404',
component: () => import('@/views/error/404'),

View File

@ -1,7 +1,7 @@
<template>
<div class="login">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
<h3 class="title">启航电商ERP系统</h3>
<h3 class="title">启航电商OMS系统</h3>
<el-form-item prop="username">
<el-input
v-model="loginForm.username"
@ -49,20 +49,17 @@
<span v-if="!loading"> </span>
<span v-else> 中...</span>
</el-button>
<div style="float: right;" v-if="register">
<router-link class="link-type" :to="'/register'">立即注册</router-link>
</div>
</el-form-item>
</el-form>
<!-- 底部 -->
<div class="el-login-footer">
<span>Copyright © 2018-2023 zhijian.vip All Rights Reserved.</span>
<span>Copyright © 2023-2024 qihangec.tech All Rights Reserved.</span>
</div>
</div>
</template>
<script>
import { getCodeImg } from "@/api/login";
import Cookies from "js-cookie";
import { encrypt, decrypt } from '@/utils/jsencrypt'
@ -108,15 +105,6 @@ export default {
this.getCookie();
},
methods: {
getCode() {
getCodeImg().then(res => {
this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled;
if (this.captchaEnabled) {
this.codeUrl = "data:image/gif;base64," + res.img;
this.loginForm.uuid = res.uuid;
}
});
},
getCookie() {
const username = Cookies.get("username");
const password = Cookies.get("password");

View File

@ -1,209 +0,0 @@
<template>
<div class="register">
<el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
<h3 class="title">启航电商ERP系统</h3>
<el-form-item prop="username">
<el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号">
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
</el-input>
</el-form-item>
<el-form-item prop="password">
<el-input
v-model="registerForm.password"
type="password"
auto-complete="off"
placeholder="密码"
@keyup.enter.native="handleRegister"
>
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
</el-input>
</el-form-item>
<el-form-item prop="confirmPassword">
<el-input
v-model="registerForm.confirmPassword"
type="password"
auto-complete="off"
placeholder="确认密码"
@keyup.enter.native="handleRegister"
>
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
</el-input>
</el-form-item>
<el-form-item prop="code" v-if="captchaEnabled">
<el-input
v-model="registerForm.code"
auto-complete="off"
placeholder="验证码"
style="width: 63%"
@keyup.enter.native="handleRegister"
>
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
</el-input>
<div class="register-code">
<img :src="codeUrl" @click="getCode" class="register-code-img"/>
</div>
</el-form-item>
<el-form-item style="width:100%;">
<el-button
:loading="loading"
size="medium"
type="primary"
style="width:100%;"
@click.native.prevent="handleRegister"
>
<span v-if="!loading"> </span>
<span v-else> 中...</span>
</el-button>
<div style="float: right;">
<router-link class="link-type" :to="'/login'">使用已有账户登录</router-link>
</div>
</el-form-item>
</el-form>
<!-- 底部 -->
<div class="el-register-footer">
<span>Copyright © 2018-2023 zhijian.vip All Rights Reserved.</span>
</div>
</div>
</template>
<script>
import { getCodeImg, register } from "@/api/login";
export default {
name: "Register",
data() {
const equalToPassword = (rule, value, callback) => {
if (this.registerForm.password !== value) {
callback(new Error("两次输入的密码不一致"));
} else {
callback();
}
};
return {
codeUrl: "",
registerForm: {
username: "",
password: "",
confirmPassword: "",
code: "",
uuid: ""
},
registerRules: {
username: [
{ required: true, trigger: "blur", message: "请输入您的账号" },
{ min: 2, max: 20, message: '用户账号长度必须介于 2 和 20 之间', trigger: 'blur' }
],
password: [
{ required: true, trigger: "blur", message: "请输入您的密码" },
{ min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' }
],
confirmPassword: [
{ required: true, trigger: "blur", message: "请再次输入您的密码" },
{ required: true, validator: equalToPassword, trigger: "blur" }
],
code: [{ required: true, trigger: "change", message: "请输入验证码" }]
},
loading: false,
captchaEnabled: true
};
},
created() {
this.getCode();
},
methods: {
getCode() {
getCodeImg().then(res => {
this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled;
if (this.captchaEnabled) {
this.codeUrl = "data:image/gif;base64," + res.img;
this.registerForm.uuid = res.uuid;
}
});
},
handleRegister() {
this.$refs.registerForm.validate(valid => {
if (valid) {
this.loading = true;
register(this.registerForm).then(res => {
const username = this.registerForm.username;
this.$alert("<font color='red'>恭喜你,您的账号 " + username + " 注册成功!</font>", '系统提示', {
dangerouslyUseHTMLString: true,
type: 'success'
}).then(() => {
this.$router.push("/login");
}).catch(() => {});
}).catch(() => {
this.loading = false;
if (this.captchaEnabled) {
this.getCode();
}
})
}
});
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss">
.register {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
background-image: url("../assets/images/login-background.jpg");
background-size: cover;
}
.title {
margin: 0px auto 30px auto;
text-align: center;
color: #707070;
}
.register-form {
border-radius: 6px;
background: #ffffff;
width: 400px;
padding: 25px 25px 5px 25px;
.el-input {
height: 38px;
input {
height: 38px;
}
}
.input-icon {
height: 39px;
width: 14px;
margin-left: 2px;
}
}
.register-tip {
font-size: 13px;
text-align: center;
color: #bfbfbf;
}
.register-code {
width: 33%;
height: 38px;
float: right;
img {
cursor: pointer;
vertical-align: middle;
}
}
.el-register-footer {
height: 40px;
line-height: 40px;
position: fixed;
bottom: 0;
width: 100%;
text-align: center;
color: #fff;
font-family: Arial;
font-size: 12px;
letter-spacing: 1px;
}
.register-code-img {
height: 38px;
}
</style>