fanli/src/main/java/com/yeshi/fanli/controller/web/ShareHotGoodsController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/dao/taobao/ShareHotGoodsDao.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/entity/taobao/ShareHotGoods.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/service/impl/msg/UserOrderMsgNotificationServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/ShareHotGoodsServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/ShareHotGoodsService.java | ●●●●● 补丁 | 查看 | 原始文档 | 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); }