| | |
| | | |
| | | import javax.annotation.Resource; |
| | | |
| | | import com.yeshi.fanli.entity.SystemPIDInfo; |
| | | import com.yeshi.fanli.service.inter.pdd.PDDAuthService; |
| | | import com.yeshi.fanli.service.manger.PIDManager; |
| | | import com.yeshi.fanli.util.pinduoduo.PinDuoDuoApiUtil; |
| | | import com.yeshi.fanli.util.pinduoduo.PinDuoDuoUtil; |
| | | import com.yeshi.fanli.vo.common.WXXCXJumpInfoVO; |
| | | import com.yeshi.fanli.vo.pdd.PDDConvertLinkResultVO; |
| | | import com.yeshi.fanli.vo.goods.GoodsJumpLinkVO; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.yeshi.utils.JsonUtil; |
| | | |
| | | import com.google.gson.Gson; |
| | | import com.yeshi.fanli.dto.ConfigParamsDTO; |
| | | import com.yeshi.fanli.dto.GoodsMoneyConfigParamsDTO; |
| | | import com.yeshi.fanli.dto.pdd.PDDGoodsDetail; |
| | | import com.yeshi.fanli.entity.accept.AcceptData; |
| | | import com.yeshi.fanli.entity.bus.homemodule.Special; |
| | | import com.yeshi.fanli.exception.pdd.PDDOrderException; |
| | | import com.yeshi.fanli.service.inter.common.JumpDetailV2Service; |
| | | import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService; |
| | | import com.yeshi.fanli.service.inter.homemodule.SpecialService; |
| | | import com.yeshi.fanli.service.inter.homemodule.SwiperPictureService; |
| | | import com.yeshi.fanli.service.inter.lable.QualityGoodsService; |
| | | import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService; |
| | | import com.yeshi.fanli.service.inter.pdd.PDDGoodsService; |
| | | import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsService; |
| | | import com.yeshi.fanli.util.Constant; |
| | | import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory; |
| | | import com.yeshi.fanli.vo.goods.GoodsDetailVO; |
| | |
| | | |
| | | /** |
| | | * 热销榜 |
| | | * |
| | | * @author Administrator |
| | | * |
| | | * @author Administrator |
| | | */ |
| | | @Controller |
| | | @RequestMapping("api/v2/pdd") |
| | | public class PinDuoDuoControllerV2 { |
| | | |
| | | @Resource |
| | | private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; |
| | | @Resource |
| | | private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; |
| | | |
| | | @Resource |
| | | private TaoBaoGoodsBriefService taoBaoGoodsBriefService; |
| | | @Resource |
| | | private SwiperPictureService swiperPictureService; |
| | | |
| | | @Resource |
| | | private JumpDetailV2Service jumpDetailV2Service; |
| | | @Resource |
| | | private SpecialService specialService; |
| | | |
| | | @Resource |
| | | private DaTaoKeGoodsService daTaoKeGoodsService; |
| | | |
| | | @Resource |
| | | private SwiperPictureService swiperPictureService; |
| | | |
| | | @Resource |
| | | private QualityGoodsService qualityGoodsService; |
| | | |
| | | @Resource |
| | | private SpecialService specialService; |
| | | @Resource |
| | | private PDDGoodsService pddGoodsService; |
| | | |
| | | @Resource |
| | | private PDDGoodsService pddGoodsService; |
| | | |
| | | @Resource |
| | | private PDDAuthService pddAuthService; |
| | | |
| | | |
| | | /** |
| | | * 拼多多专题分类 |
| | | * @param acceptData |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "getClass") |
| | | public void getJDClass(AcceptData acceptData, PrintWriter out) { |
| | | JSONObject root = new JSONObject(); |
| | | root.put("list", pddGoodsService.getSpecialClass()); |
| | | out.print(JsonUtil.loadTrueResult(root)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 拼多多专题 |
| | | * @param acceptData |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "getGoodsInfo") |
| | | public void getGoodsInfo(AcceptData acceptData, Long cid, Integer page, PrintWriter out) { |
| | | JSONObject root = new JSONObject(); |
| | | if (cid == 1 && page == 1) { |
| | | List<BannerVO> topPicList = swiperPictureService.getByBannerCardAndVersion("pinduoduo_special_index",acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()),acceptData.getSystem()); |
| | | if (topPicList == null) { |
| | | topPicList = new ArrayList<BannerVO>(); |
| | | } |
| | | root.put("listPic", JsonUtil.getApiCommonGson().toJson(topPicList)); |
| | | int platformCode = Constant.getPlatformCode(acceptData.getPlatform()); |
| | | List<Special> listSpecial = specialService.listByPlaceKey("pinduoduo_special_index", platformCode, Integer.parseInt(acceptData.getVersion()),acceptData.getSystem()); |
| | | if (listSpecial == null) { |
| | | listSpecial = new ArrayList<Special>(); |
| | | } |
| | | root.put("listSpe", JsonUtil.getApiCommonGson().toJson(listSpecial)); |
| | | } |
| | | |
| | | try { |
| | | List<PDDGoodsDetail> goodsList = pddGoodsService.specialSearch(page, cid); |
| | | JSONArray array = new JSONArray(); |
| | | if (goodsList != null && goodsList.size() > 0) { |
| | | Gson gson = JsonUtil.getApiCommonGson(); |
| | | ConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), |
| | | acceptData.getVersion(),acceptData.getSystem()); |
| | | @Resource |
| | | private PIDManager pidManager; |
| | | |
| | | for (PDDGoodsDetail goods : goodsList) { |
| | | GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, paramsDTO); |
| | | array.add(gson.toJson(goodsDetailVO)); |
| | | } |
| | | } |
| | | root.put("list", array); |
| | | root.put("count", 1000); |
| | | out.print(JsonUtil.loadTrueResult(root)); |
| | | } catch (PDDOrderException e) { |
| | | out.print(JsonUtil.loadFalseResult(e.getMsg())); |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 拼多多专题分类 |
| | | * |
| | | * @param acceptData |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "getClass") |
| | | public void getClass(AcceptData acceptData, PrintWriter out) { |
| | | JSONObject root = new JSONObject(); |
| | | root.put("list", pddGoodsService.getSpecialClass()); |
| | | out.print(JsonUtil.loadTrueResult(root)); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 拼多多专题 |
| | | * |
| | | * @param acceptData |
| | | * @param out |
| | | */ |
| | | @RequestMapping(value = "getGoodsInfo") |
| | | public void getGoodsInfo(AcceptData acceptData, Long cid, Integer page, PrintWriter out) { |
| | | JSONObject root = new JSONObject(); |
| | | if (cid == 1 && page == 1) { |
| | | List<BannerVO> topPicList = swiperPictureService.getByBannerCardAndVersion("pinduoduo_special_index", acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()), acceptData.getSystem()); |
| | | if (topPicList == null) { |
| | | topPicList = new ArrayList<BannerVO>(); |
| | | } |
| | | root.put("listPic", JsonUtil.getApiCommonGson().toJson(topPicList)); |
| | | int platformCode = Constant.getPlatformCode(acceptData.getPlatform()); |
| | | List<Special> listSpecial = specialService.listByPlaceKey("pinduoduo_special_index", platformCode, Integer.parseInt(acceptData.getVersion()), acceptData.getSystem()); |
| | | if (listSpecial == null) { |
| | | listSpecial = new ArrayList<Special>(); |
| | | } |
| | | root.put("listSpe", JsonUtil.getApiCommonGson().toJson(listSpecial)); |
| | | } |
| | | |
| | | try { |
| | | List<PDDGoodsDetail> goodsList = pddGoodsService.specialSearch(page, cid); |
| | | JSONArray array = new JSONArray(); |
| | | if (goodsList != null && goodsList.size() > 0) { |
| | | Gson gson = JsonUtil.getApiCommonGson(); |
| | | GoodsMoneyConfigParamsDTO paramsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), |
| | | acceptData.getVersion(), acceptData.getSystem()); |
| | | |
| | | for (PDDGoodsDetail goods : goodsList) { |
| | | GoodsDetailVO goodsDetailVO = GoodsDetailVOFactory.convertPDDGoods(goods, paramsDTO); |
| | | array.add(gson.toJson(goodsDetailVO)); |
| | | } |
| | | } |
| | | root.put("list", array); |
| | | root.put("count", 1000); |
| | | out.print(JsonUtil.loadTrueResult(root)); |
| | | } catch (PDDOrderException e) { |
| | | out.print(JsonUtil.loadFalseResult(e.getMsg())); |
| | | } |
| | | } |
| | | |
| | | |
| | | @RequestMapping(value = "getAuthJumpInfo") |
| | | public void getAuthJumpInfo(AcceptData acceptData, Long uid, int type, PrintWriter out) { |
| | | if (uid == null || uid == 0L) { |
| | | out.print(JsonUtil.loadFalseResult("请先登录")); |
| | | return; |
| | | } |
| | | String pid = null; |
| | | //自购 |
| | | if (type == 1) { |
| | | pid = pidManager.getPidCache(acceptData.getSystem(), Constant.SOURCE_TYPE_PDD, SystemPIDInfo.PidType.fanli); |
| | | } else {//分享 |
| | | pid = pidManager.getPidCache(acceptData.getSystem(), Constant.SOURCE_TYPE_PDD, SystemPIDInfo.PidType.share); |
| | | } |
| | | |
| | | PDDConvertLinkResultVO authLink = PinDuoDuoApiUtil.getAuthLink(pid, pddAuthService.getFanliCustomParams(uid)); |
| | | |
| | | GoodsJumpLinkVO pddJumpLinkVO = new GoodsJumpLinkVO(); |
| | | |
| | | pddJumpLinkVO.set_native(true); |
| | | pddJumpLinkVO.setJumpLink(authLink.getMobile_url()); |
| | | pddJumpLinkVO.setNativeJumpLink(PinDuoDuoUtil.getAndroidNativeURI(authLink.getMobile_url())); |
| | | if (authLink.getWe_app_info() != null) { |
| | | WXXCXJumpInfoVO wxxcxJumpInfoVO = new WXXCXJumpInfoVO(); |
| | | wxxcxJumpInfoVO.setUserName(authLink.getWe_app_info().getUser_name()); |
| | | wxxcxJumpInfoVO.setPath(authLink.getWe_app_info().getPage_path()); |
| | | pddJumpLinkVO.setWxxcxJumpInfo(wxxcxJumpInfoVO); |
| | | } |
| | | |
| | | JSONObject data = JSONObject.fromObject(new Gson().toJson(pddJumpLinkVO)); |
| | | data.put("native", pddJumpLinkVO.is_native()); |
| | | out.print(JsonUtil.loadTrueResult(data)); |
| | | } |
| | | |
| | | |
| | | @RequestMapping(value = "isAuth") |
| | | public void isAuth(AcceptData acceptData, Long uid, int type, PrintWriter out) { |
| | | if (uid == null || uid == 0L) { |
| | | out.print(JsonUtil.loadFalseResult("请先登录")); |
| | | return; |
| | | } |
| | | String pid = null; |
| | | //自购 |
| | | if (type == 1) { |
| | | pid = pidManager.getPidCache(acceptData.getSystem(), Constant.SOURCE_TYPE_PDD, SystemPIDInfo.PidType.fanli); |
| | | } else {//分享 |
| | | pid = pidManager.getPidCache(acceptData.getSystem(), Constant.SOURCE_TYPE_PDD, SystemPIDInfo.PidType.share); |
| | | } |
| | | |
| | | String customParams = pddAuthService.getFanliCustomParams(uid); |
| | | boolean auth = PinDuoDuoApiUtil.isAuth(pid, customParams); |
| | | if (auth) { |
| | | out.print(JsonUtil.loadTrueResult("")); |
| | | } else { |
| | | out.print(JsonUtil.loadFalseResult("尚未授权")); |
| | | } |
| | | } |
| | | |
| | | } |