package com.yeshi.fanli.controller.admin; 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.ResponseBody; import com.yeshi.fanli.entity.taobao.PidUser; import com.yeshi.fanli.entity.taobao.ShareTaoPassword; import com.yeshi.fanli.entity.taobao.TaoBaoLink; import com.yeshi.fanli.entity.taobao.TaoBaoUnionConfig; import com.yeshi.fanli.service.inter.goods.ShareService; import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; @Controller @RequestMapping("/test/share") public class ShareController { @Resource private ShareService shareService; @Resource private TaoBaoUnionConfigService taoBaoUnionConfigService; /** * * 方法说明: 获得淘口令 * * @author mawurui createTime 2018年3月27日 下午3:33:04 * @param auctionId */ @ResponseBody @RequestMapping("/shareTaoPassword") public void shareTaoPassword(Long auctionId, Long uid) { // 根据uid查询表 yeshi_ec_pid_user 是否和pid匹配 String pid = shareService.isBind(uid); if (StringUtil.isNullOrEmpty(pid)) { pid = shareService.getRandomPid(); // 随机获取used = 0 的pid PidUser pidUser = new PidUser(); pidUser.setPid(pid); pidUser.setUid(uid); shareService.insertPidUser(pidUser); } List config = taoBaoUnionConfigService.getConfigByTypeCache(PidUser.TYPE_FANLI_ANDROID); // 根据auctionId和pid查看是否存在数据 int getAunctionPidCount = shareService.getAunctionPidCount(auctionId, pid); if (getAunctionPidCount == 0) { // yeshi_ec_share_tao_password表中没有数据 TaoBaoLink taoBaoLink = TaoBaoUtil.getTbLink(auctionId, pid, config.get(0)); String taoToken = taoBaoLink.getTaoToken(); String couponLink = taoBaoLink.getCouponLink(); String clickUrl = taoBaoLink.getClickUrl(); ShareTaoPassword shareTaoPassword = new ShareTaoPassword(); shareTaoPassword.setAuctionId(auctionId); shareTaoPassword.setPid(pid); shareTaoPassword.setTaoToken(taoToken); shareTaoPassword.setCouponLink(couponLink); shareTaoPassword.setClickUrl(clickUrl); shareTaoPassword.setCreateTime(new Date()); shareService.insertShareTaoPassword(shareTaoPassword); } else { // 有数据 判断时间 是否需要做更新操作 ShareTaoPassword shareTaoPassword = shareService.getShareTaoPassword(auctionId, pid); Date createTime = shareTaoPassword.getCreateTime(); if (System.currentTimeMillis() - createTime.getTime() > 30L * 24L * 60L * 60L * 1000L) { // 大于30天 // 做数据更新 TaoBaoLink taoBaoLink = TaoBaoUtil.getTbLink(auctionId, pid, config.get(0)); String taoToken = taoBaoLink.getTaoToken(); String couponLink = taoBaoLink.getCouponLink(); String clickUrl = taoBaoLink.getClickUrl(); shareTaoPassword.setAuctionId(auctionId); shareTaoPassword.setPid(pid); shareTaoPassword.setTaoToken(taoToken); shareTaoPassword.setCouponLink(couponLink); shareTaoPassword.setClickUrl(clickUrl); shareTaoPassword.setCreateTime(new Date()); shareService.updateByPrimaryKeySelective(shareTaoPassword); } else { /* return */ } } /* return */ } }