From d1b7fd85615a78a476650e5acfc8b165a5deb3aa Mon Sep 17 00:00:00 2001 From: yujian <yujian> Date: 星期五, 12 四月 2019 11:41:05 +0800 Subject: [PATCH] Merge branch 'div' --- fanli/src/main/java/com/yeshi/fanli/controller/client/ShareController.java | 214 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 212 insertions(+), 2 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/ShareController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/ShareController.java index 29b75e3..01af6fe 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/ShareController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/ShareController.java @@ -21,20 +21,29 @@ import com.yeshi.fanli.entity.bus.share.UserShareGoodsGroup; import com.yeshi.fanli.entity.bus.share.UserShareGoodsHistory; import com.yeshi.fanli.entity.bus.share.UserShareGoodsRecord; +import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo; import com.yeshi.fanli.entity.bus.user.UserInfo; +import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.entity.taobao.TaoBaoLink; import com.yeshi.fanli.exception.ShareGoodsException; +import com.yeshi.fanli.exception.goods.ShareGoodsTextTemplateException; import com.yeshi.fanli.exception.share.UserShareGoodsRecordException; +import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.goods.CommonGoodsService; import com.yeshi.fanli.service.inter.goods.ShareGoodsService; +import com.yeshi.fanli.service.inter.goods.ShareGoodsTextTemplateService; import com.yeshi.fanli.service.inter.hongbao.HongBaoManageService; import com.yeshi.fanli.service.inter.monitor.MonitorService; +import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService; +import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.service.inter.user.UserShareGoodsGroupService; import com.yeshi.fanli.service.inter.user.UserShareGoodsRecordService; import com.yeshi.fanli.util.AESUtil; import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.util.RedisManager; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil; import com.yeshi.fanli.util.factory.MonitorFactory; import com.yeshi.fanli.util.taobao.TaoBaoUtil; @@ -62,9 +71,24 @@ @Resource private UserShareGoodsGroupService userShareGoodsGroupService; - + @Resource private CommonGoodsService commonGoodsService; + + @Resource + private UserExtraTaoBaoInfoService userExtraTaoBaoInfoService; + + @Resource + private UserInfoService userInfoService; + + @Resource + private TaoBaoGoodsCacheUtil taoBaoGoodsCacheUtil; + + @Resource + private RedisManager redisManager; + + @Resource + private ShareGoodsTextTemplateService shareGoodsTextTemplateService; // 鑾峰彇鍟嗗搧鍒嗕韩閾炬帴 @RequestMapping(value = "getGoodsShareUrl") @@ -90,13 +114,24 @@ return; } + UserInfo user = userInfoService.getUserByIdWithMybatis(uid); + if (user != null && user.getState() != UserInfo.STATE_NORMAL) { + out.print(JsonUtil.loadFalseResult(Constant.CODE_FORBIDDEN_USER, Constant.FORBIDDEN_USER_REASON_DESC)); + return; + } + if (auctionId == null || auctionId <= 0) { out.print(JsonUtil.loadFalseResult(2, "鍟嗗搧ID涓嶈兘涓虹┖")); return; } + UserExtraTaoBaoInfo extraInfo = userExtraTaoBaoInfoService.getByUid(uid); try { - TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(uid, auctionId); + String relationId = null; + if (extraInfo != null && extraInfo.getRelationId() != null && extraInfo.getRelationValid() != null + && extraInfo.getRelationValid() == true) + relationId = extraInfo.getRelationId(); + TaoBaoLink taoBaoLink = shareGoodsService.getTaoBaoLinkForShare(uid, auctionId, relationId); JSONObject data = new JSONObject(); String url = String.format("http://%s%s?uid=%s&id=%s&appType=flq", configService.getH5Host(), @@ -340,4 +375,179 @@ } } + /** + * 棰勮鍒嗕韩妯℃澘 + * + * @param acceptData + * @param uid + * @param template + * @param goodsId + * @param hasCoupon + * @param out + */ + @RequestMapping(value = "viewShareTextTemplate", method = RequestMethod.POST) + public void preViewShareTextTemplate(AcceptData acceptData, Long uid, String template, Long goodsId, + Boolean hasCoupon, PrintWriter out) { + if (uid == null) { + out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + return; + } + + if (goodsId == null) { + out.print(JsonUtil.loadFalseResult(3, "鍟嗗搧ID涓嶈兘涓虹┖")); + return; + } + + TaoBaoGoodsBrief goods = taoBaoGoodsCacheUtil.getCommonTaoBaoGoodsInfo(goodsId); + if (goods == null) + try { + goods = redisManager.getTaoBaoGoodsBrief(goodsId); + } catch (TaobaoGoodsDownException e) { + goods = null; + } + + if (goods == null) { + out.print(JsonUtil.loadFalseResult(4, "鍟嗗搧宸蹭笅鏋�")); + return; + } + + if (StringUtil.isNullOrEmpty(template)) + template = getShareTemplate(uid, hasCoupon); + + // 鏍¢獙鍒告ā鏉挎槸鍚︽纭� + if (hasCoupon) { + // 鏈夊埜鍟嗗搧 + try { + shareGoodsTextTemplateService.isCouponTemplateRight(template); + } catch (ShareGoodsTextTemplateException e) { + out.print(JsonUtil.loadFalseResult(5, e.getMsg())); + return; + } + + } else { + // 鏅�氬晢鍝� + try { + shareGoodsTextTemplateService.isCommonTemplateRight(template); + } catch (ShareGoodsTextTemplateException e) { + out.print(JsonUtil.loadFalseResult(5, e.getMsg())); + return; + } + } + + String content = shareGoodsTextTemplateService.createContentByTemplate(template, uid, goods, hasCoupon); + JSONObject data = new JSONObject(); + data.put("content", content); + out.print(JsonUtil.loadTrueResult(data)); + } + + /** + * 淇濆瓨妯℃澘 + * + * @param acceptData + * @param uid + * @param hasCoupon + * @param template + * @param out + */ + @RequestMapping(value = "saveShareTextTemplate", method = RequestMethod.POST) + public void saveShareTextTemplate(AcceptData acceptData, Long uid, Boolean hasCoupon, String template, + PrintWriter out) { + if (StringUtil.isNullOrEmpty(template)) { + out.print(JsonUtil.loadFalseResult(1, "鍒嗕韩妯℃澘涓虹┖")); + return; + } + // 鏍¢獙鍒告ā鏉挎槸鍚︽纭� + if (hasCoupon) { + // 鏈夊埜鍟嗗搧 + try { + shareGoodsTextTemplateService.isCouponTemplateRight(template); + shareGoodsTextTemplateService.saveCouponTemplate(uid, template); + out.print(JsonUtil.loadTrueResult("")); + } catch (ShareGoodsTextTemplateException e) { + out.print(JsonUtil.loadFalseResult(5, e.getMsg())); + return; + } + + } else { + // 鏅�氬晢鍝� + try { + shareGoodsTextTemplateService.isCommonTemplateRight(template); + shareGoodsTextTemplateService.saveCommonTemplate(uid, template); + out.print(JsonUtil.loadTrueResult("")); + } catch (ShareGoodsTextTemplateException e) { + out.print(JsonUtil.loadFalseResult(5, e.getMsg())); + return; + } + } + + } + + /** + * 杩樺師妯℃澘 + * + * @param acceptData + * @param uid + * @param hasCoupon + * -鏄惁鏈夊埜 + * @param out + */ + @RequestMapping(value = "resetShareTextTemplate", method = RequestMethod.POST) + public void resetShareTextTemplate(AcceptData acceptData, Long uid, Boolean hasCoupon, PrintWriter out) { + if (uid == null) { + out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + return; + } + if (hasCoupon) { + shareGoodsTextTemplateService.resetCouponTemplate(uid); + } else { + shareGoodsTextTemplateService.resetCommonTemplate(uid); + } + + out.print(JsonUtil.loadTrueResult("")); + } + + private String getShareTemplate(Long uid, boolean hasCoupon) { + if (hasCoupon) { + String template = shareGoodsTextTemplateService.geteCouponTemplate(uid); + if (StringUtil.isNullOrEmpty(template)) + template = configService.get("goods_share_text_coupon"); + return template; + } else { + String template = shareGoodsTextTemplateService.getCommonTemplate(uid); + if (StringUtil.isNullOrEmpty(template)) + template = configService.get("goods_share_text_nocoupon"); + return template; + } + } + + /** + * 鑾峰彇鍒嗕韩妯℃澘 + * + * @param acceptData + * @param uid + * @param hasCoupon + * @param out + */ + @RequestMapping(value = "getShareTextTemplate", method = RequestMethod.POST) + public void getShareTextTemplate(AcceptData acceptData, Long uid, Boolean hasCoupon, PrintWriter out) { + if (uid == null) { + out.print(JsonUtil.loadFalseResult(1, "鐢ㄦ埛鏈櫥褰�")); + return; + } + JSONObject data = new JSONObject(); + data.put("template", getShareTemplate(uid, hasCoupon)); + out.print(JsonUtil.loadTrueResult(data)); + } + + /** + * 鑾峰彇鍒嗕韩妯℃澘缂栬緫瑙勫垯 + * + * @param acceptData + * @param out + */ + @RequestMapping(value = "getShareTextTemplateRules", method = RequestMethod.POST) + public void getShareTextTemplateRules(AcceptData acceptData, PrintWriter out) { + out.print(JsonUtil.loadTrueResult(configService.get("share_goods_template_rules"))); + } + } -- Gitblit v1.8.0