admin
2019-06-25 19ceb36ec4e57f25313662d08bc5cc918076b204
添加分享爆款相关接口
1个文件已修改
5个文件已添加
315 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/web/ShareHotGoodsController.java 143 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/dao/taobao/ShareHotGoodsDao.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/taobao/ShareHotGoods.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserOrderMsgNotificationServiceImpl.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/ShareHotGoodsServiceImpl.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/ShareHotGoodsService.java 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/web/ShareHotGoodsController.java
New file
@@ -0,0 +1,143 @@
package com.yeshi.fanli.controller.web;
import java.io.PrintWriter;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.JsonUtil;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.taobao.ShareHotGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBriefExtra;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService;
import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailService;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
import net.sf.json.JSONArray;
@Controller
@RequestMapping("api/web/v1/shareHotGoods")
public class ShareHotGoodsController {
    @Resource
    private DaTaoKeGoodsDetailService daTaoKeGoodsDetailService;
    @Resource
    private ShareHotGoodsService shareHotGoodsService;
    @Resource
    private HongBaoManageService hongBaoManageService;
    /**
     * 拉取备选商品
     *
     * @param callback
     * @param acceptData
     * @param kw
     * @param out
     */
    @RequestMapping(value = "listPreGoods", method = RequestMethod.GET)
    public void getSugguestSearch(String callback, AcceptData acceptData, String kw, PrintWriter out) {
        // 大淘客数据,更新
        List<String> list = TaoBaoUtil.getSuguestSearch(kw);
        if (list != null && list.size() > 0) {
            JSONArray array = new JSONArray();
            int num = 0;
            for (String st : list) {
                array.add(st);
                num = num + 1;
                if (num >= 5) {
                    break;
                }
            }
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(array)));
        } else {
            out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("")));
        }
        return;
    }
    /**
     * 设置分享商品
     *
     * @param callback
     * @param acceptData
     * @param ids
     * @param out
     */
    @RequestMapping(value = "setShareGoods", method = RequestMethod.GET)
    public void setShareGoods(String callback, AcceptData acceptData, String ids, PrintWriter out) {
        // 大淘客数据,更新
        JSONArray array = JSONArray.fromObject(ids);
        String day = TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 60 * 24L, "yyyy-MM-dd");
        int count = 0;
        for (int i = 0; i < array.size(); i++) {
            // 获取商品详情
            TaoBaoGoodsBrief goods = null;
            try {
                goods = TaoKeApiUtil.searchGoodsDetail(array.optLong(i));
            } catch (TaobaoGoodsDownException e) {
                e.printStackTrace();
            }
            if (goods != null) {
                count++;
                goods = daTaoKeGoodsDetailService.filterTaoBaoGoods(goods);
                shareHotGoodsService.addShareHotGoods(new ShareHotGoods(null, day, new Date(), goods));
            }
        }
        out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("设置成功:" + count)));
    }
    /**
     * 获取已经选择的商品
     *
     * @param callback
     * @param acceptData
     * @param day
     * @param out
     */
    @RequestMapping(value = "listSelectedGoods", method = RequestMethod.GET)
    public void listSelectedGoods(String callback, AcceptData acceptData, String day, PrintWriter out) {
        List<ShareHotGoods> listGoods = shareHotGoodsService.listByDay(day);
        BigDecimal rate = hongBaoManageService.getFanLiRate();
        JSONArray array = new JSONArray();
        for (ShareHotGoods sh : listGoods) {
            TaoBaoGoodsBriefExtra item = TaoBaoUtil.getTaoBaoGoodsBriefExtra(sh.getGoods(), rate + "", null);
            item.setAuctionUrl(sh.getId());
            array.add(item);
        }
        out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult(array)));
    }
    /**
     * 删除选择的商品
     *
     * @param callback
     * @param acceptData
     * @param ids
     * @param out
     */
    @RequestMapping(value = "deleteSelectedGoods", method = RequestMethod.GET)
    public void deleteSelectedGoods(String callback, AcceptData acceptData, String ids, PrintWriter out) {
        JSONArray array = JSONArray.fromObject(ids);
        for (int i = 0; i < array.size(); i++) {
            String id = array.optString(i);
            shareHotGoodsService.deleteById(id);
        }
        out.print(JsonUtil.loadJSONP(callback, JsonUtil.loadTrueResult("")));
    }
}
fanli/src/main/java/com/yeshi/fanli/dao/taobao/ShareHotGoodsDao.java
New file
@@ -0,0 +1,25 @@
package com.yeshi.fanli.dao.taobao;
import java.util.List;
import org.springframework.data.domain.Sort;
import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Repository;
import com.yeshi.fanli.dao.MongodbBaseDao;
import com.yeshi.fanli.entity.taobao.ShareHotGoods;
@Repository
public class ShareHotGoodsDao extends MongodbBaseDao<ShareHotGoods> {
    public List<ShareHotGoods> listByDayOrderByUpdateTime(String day, int page, int pageSize) {
        Query query = new Query();
        Criteria ca = Criteria.where("day").is(day);
        query.addCriteria(ca);
        query.limit(pageSize);
        query.skip((page - 1) * pageSize).with(new Sort(Sort.Direction.DESC, "updateTime"));
        return mongoTemplate.find(query, ShareHotGoods.class);
    }
}
fanli/src/main/java/com/yeshi/fanli/entity/taobao/ShareHotGoods.java
New file
@@ -0,0 +1,68 @@
package com.yeshi.fanli.entity.taobao;
import java.util.Date;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;
/**
 * 分享爆款
 *
 * @author Administrator
 *
 */
@Document(collection = "shareHotGoods")
public class ShareHotGoods {
    @Id
    private String id;
    @Field
    private String day;
    @Field
    private Date updateTime;
    @Field
    private TaoBaoGoodsBrief goods;
    public ShareHotGoods(String id, String day, Date updateTime, TaoBaoGoodsBrief goods) {
        this.id = id;
        this.day = day;
        this.updateTime = updateTime;
        this.goods = goods;
    }
    public ShareHotGoods() {
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getDay() {
        return day;
    }
    public void setDay(String day) {
        this.day = day;
    }
    public Date getUpdateTime() {
        return updateTime;
    }
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
    public TaoBaoGoodsBrief getGoods() {
        return goods;
    }
    public void setGoods(TaoBaoGoodsBrief goods) {
        this.goods = goods;
    }
}
fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserOrderMsgNotificationServiceImpl.java
@@ -141,11 +141,11 @@
        MsgOrderDetail detail = MsgOrderDetailFactory.createInviteOrder(uid, orderId, 0, orderState, payMoney, money,
                null);
        // 暂时不推送
        try {
            msgOrderDetailService.updateMsgOrderDetail(detail, false);
        } catch (MsgOrderDetailException e) {
            e.printStackTrace();
        }
//        try {
//            msgOrderDetailService.updateMsgOrderDetail(detail, false);
//        } catch (MsgOrderDetailException e) {
//            e.printStackTrace();
//        }
    }
    @Override
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/ShareHotGoodsServiceImpl.java
New file
@@ -0,0 +1,38 @@
package com.yeshi.fanli.service.impl.taobao;
import java.util.Date;
import java.util.List;
import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.taobao.ShareHotGoodsDao;
import com.yeshi.fanli.entity.taobao.ShareHotGoods;
import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService;
import com.yeshi.fanli.util.StringUtil;
@Service
public class ShareHotGoodsServiceImpl implements ShareHotGoodsService {
    @Resource
    private ShareHotGoodsDao shareHotGoodsDao;
    @Override
    public void addShareHotGoods(ShareHotGoods goods) {
        if (goods == null || StringUtil.isNullOrEmpty(goods.getDay()) || goods.getGoods() == null)
            return;
        goods.setId(StringUtil.Md5(goods.getDay() + "#" + goods.getGoods().getAuctionId()));
        goods.setUpdateTime(new Date());
        shareHotGoodsDao.save(goods);
    }
    @Override
    public List<ShareHotGoods> listByDay(String day) {
        return shareHotGoodsDao.listByDayOrderByUpdateTime(day, 1, 100);
    }
    @Override
    public void deleteById(String id) {
        shareHotGoodsDao.delete(id);
    }
}
fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/ShareHotGoodsService.java
New file
@@ -0,0 +1,31 @@
package com.yeshi.fanli.service.inter.taobao;
import java.util.List;
import com.yeshi.fanli.entity.taobao.ShareHotGoods;
public interface ShareHotGoodsService {
    /**
     * 添加分享热门商品
     *
     * @param goods
     */
    public void addShareHotGoods(ShareHotGoods goods);
    /**
     * 根据日期查找
     *
     * @param day
     * @return
     */
    public List<ShareHotGoods> listByDay(String day);
    /**
     * 根据主键删除
     * @param id
     */
    public void deleteById(String id);
}