admin
2019-04-22 08e5c64ec7424fd0048d85ef293148977f4739cb
大淘客商品缓存
2个文件已修改
7个文件已添加
812 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/taobao/dataoke/DaTaoKeDetailMapper.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dto/dataoke/DaTaoKeApiResult.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dto/jd/JDSearchResult.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/taobao/dataoke/DaTaoKeDetail.java 381 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/mapping/taobao/dataoke/DaTaoKeDetailMapper.xml 188 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsServiceImpl.java 61 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/dataoke/DaTaoKeGoodsService.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/jd/JDUtil.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/mybatis/taobao/dataoke/DaTaoKeDetailMapper.java
New file
@@ -0,0 +1,8 @@
package com.yeshi.fanli.dao.mybatis.taobao.dataoke;
import com.yeshi.fanli.dao.BaseMapper;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail;
public interface DaTaoKeDetailMapper extends BaseMapper<DaTaoKeDetail> {
}
fanli/src/main/java/com/yeshi/fanli/dto/dataoke/DaTaoKeApiResult.java
New file
@@ -0,0 +1,45 @@
package com.yeshi.fanli.dto.dataoke;
import java.util.List;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail;
public class DaTaoKeApiResult {
    private int totalNum;
    private String updateTime;
    private List<DaTaoKeDetail> detailList;
    public DaTaoKeApiResult(int totalNum, String updateTime, List<DaTaoKeDetail> detailList) {
        this.totalNum = totalNum;
        this.updateTime = updateTime;
        this.detailList = detailList;
    }
    public DaTaoKeApiResult() {
    }
    public int getTotalNum() {
        return totalNum;
    }
    public void setTotalNum(int totalNum) {
        this.totalNum = totalNum;
    }
    public String getUpdateTime() {
        return updateTime;
    }
    public void setUpdateTime(String updateTime) {
        this.updateTime = updateTime;
    }
    public List<DaTaoKeDetail> getDetailList() {
        return detailList;
    }
    public void setDetailList(List<DaTaoKeDetail> detailList) {
        this.detailList = detailList;
    }
}
fanli/src/main/java/com/yeshi/fanli/dto/jd/JDSearchResult.java
New file
@@ -0,0 +1,28 @@
package com.yeshi.fanli.dto.jd;
import java.util.List;
import com.yeshi.fanli.entity.jd.JDGoods;
import com.yeshi.fanli.tag.PageEntity;
public class JDSearchResult {
    private PageEntity pageEntity;
    private List<JDGoods> goodsList;
    public PageEntity getPageEntity() {
        return pageEntity;
    }
    public void setPageEntity(PageEntity pageEntity) {
        this.pageEntity = pageEntity;
    }
    public List<JDGoods> getGoodsList() {
        return goodsList;
    }
    public void setGoodsList(List<JDGoods> goodsList) {
        this.goodsList = goodsList;
    }
}
fanli/src/main/java/com/yeshi/fanli/entity/taobao/dataoke/DaTaoKeDetail.java
@@ -1,230 +1,337 @@
package com.yeshi.fanli.entity.taobao.dataoke;
import java.math.BigDecimal;
import java.util.Date;
import org.yeshi.utils.mybatis.Column;
import org.yeshi.utils.mybatis.Table;
import com.google.gson.annotations.SerializedName;
/**
 * 大淘客商品详情
 *
 * @author Administrator
 *
 */
@Table("yeshi_ec_goods_dataoke")
public class DaTaoKeDetail {
    private long ID; /* 商品id */
    private long GoodsID; /* 商品淘宝id */
    private String Title; /* 商品标题 */;
    private String D_title; /* 商品短标题 */
    private String Pic; /* 商品主图 */
    private int Cid; /* 分类ID */
    private double Org_Price; /* 正常售价 */
    private double Price; /* 券后价 */
    private int IsTmall; /* 是否天猫 */
    private int Sales_num; /* 商品月销 */
    private double Dsr; /* 商品描述 */
    private long SellerID; /* 卖家ID */
    private double Commission_jihua; /* 计划(通用)佣金比例 */
    private double Commission_queqiao; /* 高佣鹊桥佣金比例 */
    private String Jihua_link; /* 计划链接 */
    private int Jihua_shenhe; /* 计划审核状 */
    private String Introduce; /* 商品文案 */
    private String Quan_id; /* 优惠券ID */
    private double Quan_price; /* 优惠券金额 */
    private String Quan_time; /* 优惠券结束时间 */
    private int Quan_surplus; /* 优惠券剩余数 */
    private int Quan_receive; /* 已领券数 */
    private String Quan_condition; /* 优惠券使用条件 */
    private String Quan_m_link; /* 手机券短链 */
    private String Quan_link; /* 手机券链接 */
    @Column(name = "id")
    @SerializedName("ID")
    private Long id;// 大淘客ID
    @Column(name = "d_title")
    @SerializedName("D_title")
    private String dTitle;// 商品短标题
    @Column(name = "title")
    @SerializedName("Title")
    private String title;// 商品标题
    @Column(name = "dsr")
    @SerializedName("Dsr")
    private String dsr;// 商品描述分
    @Column(name = "commission_queqiao")
    @SerializedName("Commission_queqiao")
    private BigDecimal commissionQueQiao;// 高佣鹊桥佣金比例
    @Column(name = "quan_receive")
    @SerializedName("Quan_receive")
    private Integer quanReceive;// 已领券数量
    @Column(name = "quan_price")
    @SerializedName("Quan_price")
    private BigDecimal quanPrice;// 优惠券金额
    @Column(name = "yongjin_type")
    @SerializedName("Yongjin_type")
    private Integer yongJinType;// 佣金类型
    @Column(name = "quan_time")
    @SerializedName("Quan_time")
    private String quanTime;// 优惠券结束时间
    @Column(name = "jihua_link")
    @SerializedName("Jihua_link")
    private String jiHuaLink;// 计划链接
    @Column(name = "price")
    @SerializedName("Price")
    private BigDecimal price;// 券后价
    @Column(name = "jihua_shenhe")
    @SerializedName("Jihua_shenhe")
    private Integer jiHuaShenHe;// 计划审核
    @Column(name = "introduce")
    @SerializedName("Introduce")
    private String introduce;// 商品文案
    @Column(name = "cid")
    @SerializedName("Cid")
    private Integer cid;// 分类ID
    @Column(name = "sales_num")
    @SerializedName("Sales_num")
    private Integer salesNum;// 销量
    @Column(name = "quan_link")
    @SerializedName("Quan_link")
    private String quanLink;// 手机券链接
    @Column(name = "is_tmall")
    @SerializedName("IsTmall")
    private Integer isTmall;// 是否是天猫
    @Column(name = "goods_id")
    @SerializedName("GoodsID")
    private Long goodsId;// 淘宝商品ID
    @Column(name = "commission_jihua")
    @SerializedName("Commission_jihua")
    private BigDecimal commissionJiHua;// 计划(通用)佣金比例
    @Column(name = "que_siteid")
    @SerializedName("Que_siteid")
    private Integer queSiteId;
    @Column(name = "commission")
    @SerializedName("Commission")
    private BigDecimal commission;// 佣金
    @Column(name = "pic")
    @SerializedName("Pic")
    private String pic;// 图片
    @Column(name = "org_price")
    @SerializedName("Org_Price")
    private BigDecimal orgPrice;// 正常售价
    @Column(name = "quan_m_link")
    @SerializedName("Quan_m_link")
    private String quanMLink;// 手机券短链
    @Column(name = "quan_id")
    @SerializedName("Quan_id")
    private String quanId;// 优惠券ID
    @Column(name = "quan_condition")
    @SerializedName("Quan_condition")
    private String quanCondition;// 优惠券使用条件
    @Column(name = "quan_surplus")
    @SerializedName("Quan_surplus")
    private Integer quanSurplus;// 优惠券剩余数量
    @Column(name = "seller_id")
    @SerializedName("SellerID")
    private Long sellerId;// 卖家ID
    @Column(name = "udapte_time")
    private Date updateTime;
    public long getID() {
        return ID;
    public Date getUpdateTime() {
        return updateTime;
    }
    public void setID(long iD) {
        ID = iD;
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
    public long getGoodsID() {
        return GoodsID;
    public Long getId() {
        return id;
    }
    public void setGoodsID(long goodsID) {
        GoodsID = goodsID;
    public void setId(Long id) {
        this.id = id;
    }
    public String getdTitle() {
        return dTitle;
    }
    public void setdTitle(String dTitle) {
        this.dTitle = dTitle;
    }
    public String getTitle() {
        return Title;
        return title;
    }
    public void setTitle(String title) {
        Title = title;
        this.title = title;
    }
    public String getD_title() {
        return D_title;
    public String getDsr() {
        return dsr;
    }
    public void setD_title(String d_title) {
        D_title = d_title;
    public void setDsr(String dsr) {
        this.dsr = dsr;
    }
    public String getPic() {
        return Pic;
    public BigDecimal getCommissionQueQiao() {
        return commissionQueQiao;
    }
    public void setPic(String pic) {
        Pic = pic;
    public void setCommissionQueQiao(BigDecimal commissionQueQiao) {
        this.commissionQueQiao = commissionQueQiao;
    }
    public int getCid() {
        return Cid;
    public Integer getQuanReceive() {
        return quanReceive;
    }
    public void setCid(int cid) {
        Cid = cid;
    public void setQuanReceive(Integer quanReceive) {
        this.quanReceive = quanReceive;
    }
    public double getOrg_Price() {
        return Org_Price;
    public BigDecimal getQuanPrice() {
        return quanPrice;
    }
    public void setOrg_Price(double org_Price) {
        Org_Price = org_Price;
    public void setQuanPrice(BigDecimal quanPrice) {
        this.quanPrice = quanPrice;
    }
    public double getPrice() {
        return Price;
    public Integer getYongJinType() {
        return yongJinType;
    }
    public void setPrice(double price) {
        Price = price;
    public void setYongJinType(Integer yongJinType) {
        this.yongJinType = yongJinType;
    }
    public int getIsTmall() {
        return IsTmall;
    public String getQuanTime() {
        return quanTime;
    }
    public void setIsTmall(int isTmall) {
        IsTmall = isTmall;
    public void setQuanTime(String quanTime) {
        this.quanTime = quanTime;
    }
    public int getSales_num() {
        return Sales_num;
    public String getJiHuaLink() {
        return jiHuaLink;
    }
    public void setSales_num(int sales_num) {
        Sales_num = sales_num;
    public void setJiHuaLink(String jiHuaLink) {
        this.jiHuaLink = jiHuaLink;
    }
    public double getDsr() {
        return Dsr;
    public BigDecimal getPrice() {
        return price;
    }
    public void setDsr(double dsr) {
        Dsr = dsr;
    public void setPrice(BigDecimal price) {
        this.price = price;
    }
    public long getSellerID() {
        return SellerID;
    public Integer getJiHuaShenHe() {
        return jiHuaShenHe;
    }
    public void setSellerID(long sellerID) {
        SellerID = sellerID;
    }
    public double getCommission_jihua() {
        return Commission_jihua;
    }
    public void setCommission_jihua(double commission_jihua) {
        Commission_jihua = commission_jihua;
    }
    public double getCommission_queqiao() {
        return Commission_queqiao;
    }
    public void setCommission_queqiao(double commission_queqiao) {
        Commission_queqiao = commission_queqiao;
    }
    public String getJihua_link() {
        return Jihua_link;
    }
    public void setJihua_link(String jihua_link) {
        Jihua_link = jihua_link;
    }
    public int getJihua_shenhe() {
        return Jihua_shenhe;
    }
    public void setJihua_shenhe(int jihua_shenhe) {
        Jihua_shenhe = jihua_shenhe;
    public void setJiHuaShenHe(Integer jiHuaShenHe) {
        this.jiHuaShenHe = jiHuaShenHe;
    }
    public String getIntroduce() {
        return Introduce;
        return introduce;
    }
    public void setIntroduce(String introduce) {
        Introduce = introduce;
        this.introduce = introduce;
    }
    public String getQuan_id() {
        return Quan_id;
    public Integer getCid() {
        return cid;
    }
    public void setQuan_id(String quan_id) {
        Quan_id = quan_id;
    public void setCid(Integer cid) {
        this.cid = cid;
    }
    public double getQuan_price() {
        return Quan_price;
    public Integer getSalesNum() {
        return salesNum;
    }
    public void setQuan_price(double quan_price) {
        Quan_price = quan_price;
    public void setSalesNum(Integer salesNum) {
        this.salesNum = salesNum;
    }
    public String getQuan_time() {
        return Quan_time;
    public String getQuanLink() {
        return quanLink;
    }
    public void setQuan_time(String quan_time) {
        Quan_time = quan_time;
    public void setQuanLink(String quanLink) {
        this.quanLink = quanLink;
    }
    public int getQuan_surplus() {
        return Quan_surplus;
    public Integer getIsTmall() {
        return isTmall;
    }
    public void setQuan_surplus(int quan_surplus) {
        Quan_surplus = quan_surplus;
    public void setIsTmall(Integer isTmall) {
        this.isTmall = isTmall;
    }
    public int getQuan_receive() {
        return Quan_receive;
    public Long getGoodsId() {
        return goodsId;
    }
    public void setQuan_receive(int quan_receive) {
        Quan_receive = quan_receive;
    public void setGoodsId(Long goodsId) {
        this.goodsId = goodsId;
    }
    public String getQuan_condition() {
        return Quan_condition;
    public BigDecimal getCommissionJiHua() {
        return commissionJiHua;
    }
    public void setQuan_condition(String quan_condition) {
        Quan_condition = quan_condition;
    public void setCommissionJiHua(BigDecimal commissionJiHua) {
        this.commissionJiHua = commissionJiHua;
    }
    public String getQuan_m_link() {
        return Quan_m_link;
    public Integer getQueSiteId() {
        return queSiteId;
    }
    public void setQuan_m_link(String quan_m_link) {
        Quan_m_link = quan_m_link;
    public void setQueSiteId(Integer queSiteId) {
        this.queSiteId = queSiteId;
    }
    public String getQuan_link() {
        return Quan_link;
    public BigDecimal getCommission() {
        return commission;
    }
    public void setQuan_link(String quan_link) {
        Quan_link = quan_link;
    public void setCommission(BigDecimal commission) {
        this.commission = commission;
    }
    public String getPic() {
        return pic;
    }
    public void setPic(String pic) {
        this.pic = pic;
    }
    public BigDecimal getOrgPrice() {
        return orgPrice;
    }
    public void setOrgPrice(BigDecimal orgPrice) {
        this.orgPrice = orgPrice;
    }
    public String getQuanMLink() {
        return quanMLink;
    }
    public void setQuanMLink(String quanMLink) {
        this.quanMLink = quanMLink;
    }
    public String getQuanId() {
        return quanId;
    }
    public void setQuanId(String quanId) {
        this.quanId = quanId;
    }
    public String getQuanCondition() {
        return quanCondition;
    }
    public void setQuanCondition(String quanCondition) {
        this.quanCondition = quanCondition;
    }
    public Integer getQuanSurplus() {
        return quanSurplus;
    }
    public void setQuanSurplus(Integer quanSurplus) {
        this.quanSurplus = quanSurplus;
    }
    public Long getSellerId() {
        return sellerId;
    }
    public void setSellerId(Long sellerId) {
        this.sellerId = sellerId;
    }
}
fanli/src/main/java/com/yeshi/fanli/mapping/taobao/dataoke/DaTaoKeDetailMapper.xml
New file
@@ -0,0 +1,188 @@
<?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.yeshi.fanli.dao.mybatis.taobao.dataoke.DaTaoKeDetailMapper">
    <resultMap id="BaseResultMap"
        type="com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail">
        <id column="id" property="id" jdbcType="BIGINT" />
        <result column="d_title" property="dTitle" jdbcType="VARCHAR" />
        <result column="title" property="title" jdbcType="VARCHAR" />
        <result column="dsr" property="dsr" jdbcType="VARCHAR" />
        <result column="commission_queqiao" property="commissionQueQiao"
            jdbcType="DECIMAL" />
        <result column="quan_receive" property="quanReceive" jdbcType="INTEGER" />
        <result column="quan_price" property="quanPrice" jdbcType="DECIMAL" />
        <result column="yongjin_type" property="yongJinType" jdbcType="INTEGER" />
        <result column="quan_time" property="quanTime" jdbcType="VARCHAR" />
        <result column="jihua_link" property="jiHuaLink" jdbcType="VARCHAR" />
        <result column="price" property="price" jdbcType="DECIMAL" />
        <result column="jihua_shenhe" property="jiHuaShenHe" jdbcType="INTEGER" />
        <result column="introduce" property="introduce" jdbcType="VARCHAR" />
        <result column="cid" property="cid" jdbcType="INTEGER" />
        <result column="sales_num" property="salesNum" jdbcType="INTEGER" />
        <result column="quan_link" property="quanLink" jdbcType="VARCHAR" />
        <result column="is_tmall" property="isTmall" jdbcType="INTEGER" />
        <result column="goods_id" property="goodsId" jdbcType="BIGINT" />
        <result column="commission_jihua" property="commissionJiHua"
            jdbcType="DECIMAL" />
        <result column="que_siteid" property="queSiteId" jdbcType="INTEGER" />
        <result column="commission" property="commission" jdbcType="DECIMAL" />
        <result column="pic" property="pic" jdbcType="VARCHAR" />
        <result column="org_price" property="orgPrice" jdbcType="DECIMAL" />
        <result column="quan_m_link" property="quanMLink" jdbcType="VARCHAR" />
        <result column="quan_id" property="quanId" jdbcType="VARCHAR" />
        <result column="quan_condition" property="quanCondition"
            jdbcType="VARCHAR" />
        <result column="quan_surplus" property="quanSurplus" jdbcType="INTEGER" />
        <result column="seller_id" property="sellerId" jdbcType="BIGINT" />
        <result column="udapte_time" property="updateTime" jdbcType="TIMESTAMP" />
    </resultMap>
    <sql id="Base_Column_List">id,d_title,title,dsr,commission_queqiao,quan_receive,quan_price,yongjin_type,quan_time,jihua_link,price,jihua_shenhe,introduce,cid,sales_num,quan_link,is_tmall,goods_id,commission_jihua,que_siteid,commission,pic,org_price,quan_m_link,quan_id,quan_condition,quan_surplus,seller_id,udapte_time
    </sql>
    <select id="selectByPrimaryKey" resultMap="BaseResultMap"
        parameterType="java.lang.Long">
        select
        <include refid="Base_Column_List" />
        from yeshi_ec_goods_dataoke where id = #{id,jdbcType=BIGINT}
    </select>
    <delete id="deleteByPrimaryKey" parameterType="java.lang.Long">delete from
        yeshi_ec_goods_dataoke where id = #{id,jdbcType=BIGINT}
    </delete>
    <insert id="insert" parameterType="com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail"
        useGeneratedKeys="true" keyProperty="id">insert into yeshi_ec_goods_dataoke
        (id,d_title,title,dsr,commission_queqiao,quan_receive,quan_price,yongjin_type,quan_time,jihua_link,price,jihua_shenhe,introduce,cid,sales_num,quan_link,is_tmall,goods_id,commission_jihua,que_siteid,commission,pic,org_price,quan_m_link,quan_id,quan_condition,quan_surplus,seller_id,udapte_time)
        values
        (#{id,jdbcType=BIGINT},#{dTitle,jdbcType=VARCHAR},#{title,jdbcType=VARCHAR},#{dsr,jdbcType=VARCHAR},#{commissionQueQiao,jdbcType=DECIMAL},#{quanReceive,jdbcType=INTEGER},#{quanPrice,jdbcType=DECIMAL},#{yongJinType,jdbcType=INTEGER},#{quanTime,jdbcType=VARCHAR},#{jiHuaLink,jdbcType=VARCHAR},#{price,jdbcType=DECIMAL},#{jiHuaShenHe,jdbcType=INTEGER},#{introduce,jdbcType=VARCHAR},#{cid,jdbcType=INTEGER},#{salesNum,jdbcType=INTEGER},#{quanLink,jdbcType=VARCHAR},#{isTmall,jdbcType=INTEGER},#{goodsId,jdbcType=BIGINT},#{commissionJiHua,jdbcType=DECIMAL},#{queSiteId,jdbcType=INTEGER},#{commission,jdbcType=DECIMAL},#{pic,jdbcType=VARCHAR},#{orgPrice,jdbcType=DECIMAL},#{quanMLink,jdbcType=VARCHAR},#{quanId,jdbcType=VARCHAR},#{quanCondition,jdbcType=VARCHAR},#{quanSurplus,jdbcType=INTEGER},#{sellerId,jdbcType=BIGINT},#{updateTime,jdbcType=TIMESTAMP})
    </insert>
    <insert id="insertSelective" parameterType="com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail"
        useGeneratedKeys="true" keyProperty="id">
        insert into yeshi_ec_goods_dataoke
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">id,</if>
            <if test="dTitle != null">d_title,</if>
            <if test="title != null">title,</if>
            <if test="dsr != null">dsr,</if>
            <if test="commissionQueQiao != null">commission_queqiao,</if>
            <if test="quanReceive != null">quan_receive,</if>
            <if test="quanPrice != null">quan_price,</if>
            <if test="yongJinType != null">yongjin_type,</if>
            <if test="quanTime != null">quan_time,</if>
            <if test="jiHuaLink != null">jihua_link,</if>
            <if test="price != null">price,</if>
            <if test="jiHuaShenHe != null">jihua_shenhe,</if>
            <if test="introduce != null">introduce,</if>
            <if test="cid != null">cid,</if>
            <if test="salesNum != null">sales_num,</if>
            <if test="quanLink != null">quan_link,</if>
            <if test="isTmall != null">is_tmall,</if>
            <if test="goodsId != null">goods_id,</if>
            <if test="commissionJiHua != null">commission_jihua,</if>
            <if test="queSiteId != null">que_siteid,</if>
            <if test="commission != null">commission,</if>
            <if test="pic != null">pic,</if>
            <if test="orgPrice != null">org_price,</if>
            <if test="quanMLink != null">quan_m_link,</if>
            <if test="quanId != null">quan_id,</if>
            <if test="quanCondition != null">quan_condition,</if>
            <if test="quanSurplus != null">quan_surplus,</if>
            <if test="sellerId != null">seller_id,</if>
            <if test="updateTime != null">udapte_time,</if>
        </trim>
        values
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="id != null">#{id,jdbcType=BIGINT},</if>
            <if test="dTitle != null">#{dTitle,jdbcType=VARCHAR},</if>
            <if test="title != null">#{title,jdbcType=VARCHAR},</if>
            <if test="dsr != null">#{dsr,jdbcType=VARCHAR},</if>
            <if test="commissionQueQiao != null">#{commissionQueQiao,jdbcType=DECIMAL},</if>
            <if test="quanReceive != null">#{quanReceive,jdbcType=INTEGER},</if>
            <if test="quanPrice != null">#{quanPrice,jdbcType=DECIMAL},</if>
            <if test="yongJinType != null">#{yongJinType,jdbcType=INTEGER},</if>
            <if test="quanTime != null">#{quanTime,jdbcType=VARCHAR},</if>
            <if test="jiHuaLink != null">#{jiHuaLink,jdbcType=VARCHAR},</if>
            <if test="price != null">#{price,jdbcType=DECIMAL},</if>
            <if test="jiHuaShenHe != null">#{jiHuaShenHe,jdbcType=INTEGER},</if>
            <if test="introduce != null">#{introduce,jdbcType=VARCHAR},</if>
            <if test="cid != null">#{cid,jdbcType=INTEGER},</if>
            <if test="salesNum != null">#{salesNum,jdbcType=INTEGER},</if>
            <if test="quanLink != null">#{quanLink,jdbcType=VARCHAR},</if>
            <if test="isTmall != null">#{isTmall,jdbcType=INTEGER},</if>
            <if test="goodsId != null">#{goodsId,jdbcType=BIGINT},</if>
            <if test="commissionJiHua != null">#{commissionJiHua,jdbcType=DECIMAL},</if>
            <if test="queSiteId != null">#{queSiteId,jdbcType=INTEGER},</if>
            <if test="commission != null">#{commission,jdbcType=DECIMAL},</if>
            <if test="pic != null">#{pic,jdbcType=VARCHAR},</if>
            <if test="orgPrice != null">#{orgPrice,jdbcType=DECIMAL},</if>
            <if test="quanMLink != null">#{quanMLink,jdbcType=VARCHAR},</if>
            <if test="quanId != null">#{quanId,jdbcType=VARCHAR},</if>
            <if test="quanCondition != null">#{quanCondition,jdbcType=VARCHAR},</if>
            <if test="quanSurplus != null">#{quanSurplus,jdbcType=INTEGER},</if>
            <if test="sellerId != null">#{sellerId,jdbcType=BIGINT},</if>
            <if test="updateTime != null">#{updateTime,jdbcType=TIMESTAMP},</if>
        </trim>
    </insert>
    <update id="updateByPrimaryKey" parameterType="com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail">update
        yeshi_ec_goods_dataoke set d_title = #{dTitle,jdbcType=VARCHAR},title
        = #{title,jdbcType=VARCHAR},dsr =
        #{dsr,jdbcType=VARCHAR},commission_queqiao =
        #{commissionQueQiao,jdbcType=DECIMAL},quan_receive =
        #{quanReceive,jdbcType=INTEGER},quan_price =
        #{quanPrice,jdbcType=DECIMAL},yongjin_type =
        #{yongJinType,jdbcType=INTEGER},quan_time =
        #{quanTime,jdbcType=VARCHAR},jihua_link =
        #{jiHuaLink,jdbcType=VARCHAR},price =
        #{price,jdbcType=DECIMAL},jihua_shenhe =
        #{jiHuaShenHe,jdbcType=INTEGER},introduce =
        #{introduce,jdbcType=VARCHAR},cid = #{cid,jdbcType=INTEGER},sales_num
        = #{salesNum,jdbcType=INTEGER},quan_link =
        #{quanLink,jdbcType=VARCHAR},is_tmall =
        #{isTmall,jdbcType=INTEGER},goods_id =
        #{goodsId,jdbcType=BIGINT},commission_jihua =
        #{commissionJiHua,jdbcType=DECIMAL},que_siteid =
        #{queSiteId,jdbcType=INTEGER},commission =
        #{commission,jdbcType=DECIMAL},pic = #{pic,jdbcType=VARCHAR},org_price
        = #{orgPrice,jdbcType=DECIMAL},quan_m_link =
        #{quanMLink,jdbcType=VARCHAR},quan_id =
        #{quanId,jdbcType=VARCHAR},quan_condition =
        #{quanCondition,jdbcType=VARCHAR},quan_surplus =
        #{quanSurplus,jdbcType=INTEGER},seller_id =
        #{sellerId,jdbcType=BIGINT},udapte_time =
        #{updateTime,jdbcType=TIMESTAMP} where id = #{id,jdbcType=BIGINT}
    </update>
    <update id="updateByPrimaryKeySelective" parameterType="com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail">
        update yeshi_ec_goods_dataoke
        <set>
            <if test="dTitle != null">d_title=#{dTitle,jdbcType=VARCHAR},</if>
            <if test="title != null">title=#{title,jdbcType=VARCHAR},</if>
            <if test="dsr != null">dsr=#{dsr,jdbcType=VARCHAR},</if>
            <if test="commissionQueQiao != null">commission_queqiao=#{commissionQueQiao,jdbcType=DECIMAL},
            </if>
            <if test="quanReceive != null">quan_receive=#{quanReceive,jdbcType=INTEGER},</if>
            <if test="quanPrice != null">quan_price=#{quanPrice,jdbcType=DECIMAL},</if>
            <if test="yongJinType != null">yongjin_type=#{yongJinType,jdbcType=INTEGER},</if>
            <if test="quanTime != null">quan_time=#{quanTime,jdbcType=VARCHAR},</if>
            <if test="jiHuaLink != null">jihua_link=#{jiHuaLink,jdbcType=VARCHAR},</if>
            <if test="price != null">price=#{price,jdbcType=DECIMAL},</if>
            <if test="jiHuaShenHe != null">jihua_shenhe=#{jiHuaShenHe,jdbcType=INTEGER},</if>
            <if test="introduce != null">introduce=#{introduce,jdbcType=VARCHAR},</if>
            <if test="cid != null">cid=#{cid,jdbcType=INTEGER},</if>
            <if test="salesNum != null">sales_num=#{salesNum,jdbcType=INTEGER},</if>
            <if test="quanLink != null">quan_link=#{quanLink,jdbcType=VARCHAR},</if>
            <if test="isTmall != null">is_tmall=#{isTmall,jdbcType=INTEGER},</if>
            <if test="goodsId != null">goods_id=#{goodsId,jdbcType=BIGINT},</if>
            <if test="commissionJiHua != null">commission_jihua=#{commissionJiHua,jdbcType=DECIMAL},
            </if>
            <if test="queSiteId != null">que_siteid=#{queSiteId,jdbcType=INTEGER},</if>
            <if test="commission != null">commission=#{commission,jdbcType=DECIMAL},</if>
            <if test="pic != null">pic=#{pic,jdbcType=VARCHAR},</if>
            <if test="orgPrice != null">org_price=#{orgPrice,jdbcType=DECIMAL},</if>
            <if test="quanMLink != null">quan_m_link=#{quanMLink,jdbcType=VARCHAR},</if>
            <if test="quanId != null">quan_id=#{quanId,jdbcType=VARCHAR},</if>
            <if test="quanCondition != null">quan_condition=#{quanCondition,jdbcType=VARCHAR},</if>
            <if test="quanSurplus != null">quan_surplus=#{quanSurplus,jdbcType=INTEGER},</if>
            <if test="sellerId != null">seller_id=#{sellerId,jdbcType=BIGINT},</if>
            <if test="updateTime != null">udapte_time=#{updateTime,jdbcType=TIMESTAMP},</if>
        </set>
        where id = #{id,jdbcType=BIGINT}
    </update>
</mapper>
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsServiceImpl.java
New file
@@ -0,0 +1,61 @@
package com.yeshi.fanli.service.impl.taobao.dataoke;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.mybatis.taobao.dataoke.DaTaoKeDetailMapper;
import com.yeshi.fanli.dto.dataoke.DaTaoKeApiResult;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsService;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil;
@Service
public class DaTaoKeGoodsServiceImpl implements DaTaoKeGoodsService {
    @Resource
    private DaTaoKeDetailMapper daTaoKeDetailMapper;
    @Resource
    private RedisManager redisManager;
    @Override
    public void startSyncGoods() {
        // 判断是否有正在进行的更新
        String key1 = "dataoke-updating";
        if (!StringUtil.isNullOrEmpty(redisManager.getCommonString(key1)))
            return;
        String key2 = "dataoke-update-time";
        String updateTime = redisManager.getCommonString(key2);
        if (!StringUtil.isNullOrEmpty(updateTime)) {
            DaTaoKeApiResult result = DaTaoKeApiUtil.goodsList(1);
            if (result.getUpdateTime().equalsIgnoreCase(updateTime)) {// 和上次更新在同一时间
                return;
            }
        }
        // 开始更新
        redisManager.cacheCommonString(key1, "1");
        List<DaTaoKeDetail> goodsList = new ArrayList<>();
        for (int p = 1; p < 2000; p++) {
            DaTaoKeApiResult result = DaTaoKeApiUtil.goodsList(p);
            goodsList.addAll(result.getDetailList());
            if (result.getDetailList().size() < 50)// 更新完成
            {
                redisManager.removeCommonString(key1);
                break;
            }
        }
        //
    }
}
fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/dataoke/DaTaoKeGoodsService.java
New file
@@ -0,0 +1,14 @@
package com.yeshi.fanli.service.inter.taobao.dataoke;
/**
 * 大淘客商品服务
 *
 * @author Administrator
 *
 */
public interface DaTaoKeGoodsService {
    /**
     * 启动商品同步服务
     */
    public void startSyncGoods();
}
fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java
New file
@@ -0,0 +1,48 @@
package com.yeshi.fanli.util.dataoke;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.yeshi.utils.HttpUtil;
import com.google.gson.Gson;
import com.yeshi.fanli.dto.dataoke.DaTaoKeApiResult;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetail;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class DaTaoKeApiUtil {
    final static String API_KEY = "a083abb893";
    static Gson gson = new Gson();
    public static DaTaoKeApiResult goodsList(int page) {
        List<DaTaoKeDetail> list = new ArrayList<>();
        String url = String.format("http://api.dataoke.com/index.php?r=Port/index&type=total&appkey=%s&v=2&page=%s",
                API_KEY, page + "");
        String result = HttpUtil.get(url);
        JSONObject resultJson = JSONObject.fromObject(result);
        JSONArray array = resultJson.optJSONArray("result");
        for (int i = 0; i < array.size(); i++) {
            list.add(gson.fromJson(array.optJSONObject(i).toString(), DaTaoKeDetail.class));
        }
        return new DaTaoKeApiResult(resultJson.optJSONObject("data").optInt("total_num"),
                resultJson.optJSONObject("data").optString("update_time"), list);
    }
    class DaTaoKeResult {
        Date updateTime;
        List<DaTaoKeDetail> dataList;
        public DaTaoKeResult(Date updateTime, List<DaTaoKeDetail> dataList) {
            this.updateTime = updateTime;
            this.dataList = dataList;
        }
        public DaTaoKeResult() {
        }
    }
}
fanli/src/main/java/com/yeshi/fanli/util/jd/JDUtil.java
@@ -2,7 +2,9 @@
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.httpclient.HttpClient;
@@ -16,10 +18,13 @@
import com.yeshi.fanli.dto.jd.JDCommissionInfo;
import com.yeshi.fanli.dto.jd.JDCouponInfo;
import com.yeshi.fanli.dto.jd.JDSearchFilter;
import com.yeshi.fanli.dto.jd.JDSearchResult;
import com.yeshi.fanli.dto.jd.JDShopInfo;
import com.yeshi.fanli.entity.jd.JDGoods;
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.StringUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class JDUtil {
@@ -92,7 +97,11 @@
    }
    @SuppressWarnings("deprecation")
    public static void searchByKey(JDSearchFilter searchFilter) {
    public static JDSearchResult searchByKey(JDSearchFilter searchFilter) {
        JDSearchResult searchResult = new JDSearchResult();
        List<JDGoods> goodsList = new ArrayList<>();
        JSONObject params = new JSONObject();
        params.put("pageNo", searchFilter.getPageNo());
        params.put("pageSize", searchFilter.getPageSize());
@@ -118,10 +127,31 @@
        try {
            client.executeMethod(pm);
            String result = pm.getResponseBodyAsString();
            JSONObject json = JSONObject.fromObject(result);
            if (json.optInt("code") == 200) {
                JSONObject pageJson = json.optJSONObject("data").optJSONObject("page");
                PageEntity entity = new PageEntity(pageJson.optInt("pageNo"), pageJson.optInt("pageSize"),
                        pageJson.optInt("totalCount"));
                searchResult.setPageEntity(entity);
                if (json.optJSONObject("data") != null) {
                    JSONArray array = json.optJSONObject("data").optJSONArray("unionGoods");
                    if (array != null) {
                        for (int i = 0; i < array.size(); i++) {
                            goodsList.add(parseGoods(array.optJSONArray(i).optJSONObject(0).toString()));
                        }
                    }
                }
                json.optJSONObject("data").optJSONArray("unionGoods");
            }
            System.out.println(result);
        } catch (Exception e) {
            e.printStackTrace();
        }
        searchResult.setGoodsList(goodsList);
        return searchResult;
    }
    private static JDGoods parseGoods(String data) {
@@ -134,14 +164,17 @@
        shopInfo.setShopName(json.optString("shopName"));
        goods.setShopInfo(shopInfo);
        goods.setPrice(new BigDecimal(json.optString("finalPrice")));
        if (!StringUtil.isNullOrEmpty(json.optString("wlPrice")))
            goods.setPrice(new BigDecimal(json.optString("wlPrice")));
        else
            goods.setPrice(new BigDecimal(json.optString("finalPrice")));
        goods.setGoodCommentsShare(new BigDecimal(json.optString("goodCommentsShare")));
        goods.setInOrderCount30Days(json.optLong("inOrderCount30Days"));
        if (json.optInt("isZY") == 1)
            goods.setOwner("g");
        else
            goods.setOwner("p");
        goods.setMaterialUrl(json.optString("materialUrl"));
        goods.setMaterialUrl("http://img14.360buyimg.com/n1/"+json.optString("materialUrl"));
        JDCommissionInfo commission = new JDCommissionInfo();
        commission.setCommission(new BigDecimal(json.optString("wlCommission")));
        commission.setCommissionShare(new BigDecimal(json.optString("wlCommissionRatio")));