From b47fb09eaffa4a13c0d63e823cb9319bcb775249 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期四, 02 四月 2020 15:22:11 +0800 Subject: [PATCH] 发圈修改 --- fanli/src/main/java/com/yeshi/fanli/controller/CallBackController.java | 121 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 120 insertions(+), 1 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/CallBackController.java b/fanli/src/main/java/com/yeshi/fanli/controller/CallBackController.java index 90cfc79..896be43 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/CallBackController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/CallBackController.java @@ -5,8 +5,10 @@ import java.io.PrintWriter; import java.math.BigDecimal; import java.security.SignatureException; +import java.util.ArrayList; import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; import javax.annotation.Resource; @@ -17,28 +19,48 @@ import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; +import org.yeshi.utils.JsonUtil; import org.yeshi.utils.wx.WXUtil; import com.aliyun.openservices.ons.api.Message; import com.aliyun.openservices.ons.api.Producer; +import com.yeshi.fanli.dto.ConfigParamsDTO; import com.yeshi.fanli.dto.mq.order.OrderTopicTagEnum; import com.yeshi.fanli.dto.mq.order.body.BanLiShopOrderMQMsg; import com.yeshi.fanli.dto.push.PushContentDTO; +import com.yeshi.fanli.entity.bus.activity.ActivityRuleUser; +import com.yeshi.fanli.entity.bus.activity.ActivityUser; import com.yeshi.fanli.entity.bus.msg.MsgDeviceReadState; import com.yeshi.fanli.entity.config.push.PushMsgFactory; +import com.yeshi.fanli.entity.dynamic.ImgInfo; +import com.yeshi.fanli.entity.dynamic.ImgInfo.ImgEnum; +import com.yeshi.fanli.entity.dynamic.SimpleGoods; +import com.yeshi.fanli.entity.goods.CommonGoods; import com.yeshi.fanli.entity.shop.BanLiShopOrder; +import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; +import com.yeshi.fanli.exception.dynamic.GoodsEvaluateException; import com.yeshi.fanli.exception.push.PushException; +import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; import com.yeshi.fanli.log.LogHelper; +import com.yeshi.fanli.service.inter.activity.ActivityUserService; import com.yeshi.fanli.service.inter.config.ConfigService; +import com.yeshi.fanli.service.inter.dynamic.GoodsEvaluateService; import com.yeshi.fanli.service.inter.msg.MsgDeviceReadStateService; +import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; import com.yeshi.fanli.service.inter.push.PushService; import com.yeshi.fanli.service.inter.shop.BanLiShopOrderService; +import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.StringUtil; +import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory; import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory; import com.yeshi.fanli.util.rocketmq.MQTopicName; import com.yeshi.fanli.util.shop.BanLiShopOrderUtil; +import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.fanli.util.wx.BanLiShopWXPayUtil; +import com.yeshi.fanli.vo.goods.CouponInfoVO; +import com.yeshi.fanli.vo.goods.GoodsDetailVO; +import net.sf.json.JSONArray; import net.sf.json.JSONObject; /** @@ -64,6 +86,15 @@ @Resource private BanLiShopOrderService banLiShopOrderService; + + @Resource + private GoodsEvaluateService goodsEvaluateService; + + @Resource + private HongBaoManageService hongBaoManageService; + + @Resource + private ActivityUserService activityUserService; /** * 瀹㈡湇娑堟伅鍥炶皟 @@ -191,7 +222,7 @@ if (order != null) {// 鏀粯鎴愬姛娑堟伅鎺ㄩ�� BanLiShopOrderMQMsg msg = new BanLiShopOrderMQMsg(order.getId(), order.getUid(), new BigDecimal(map.get("total_fee")).multiply(new BigDecimal("0.01"))); - Message message =MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, + Message message = MQMsgBodyFactory.create(MQTopicName.TOPIC_ORDER, OrderTopicTagEnum.banLiShopOrderPaid, msg); producer.send(message); Map<String, String> returnMap = new HashMap<>(); @@ -204,4 +235,92 @@ } } + /** + * 鑱旂洘濂界墿鍦� + * @Title: haoWuQuan + * @Description: + * @param request + * @param out + * void 杩斿洖绫诲瀷 + * @throws + */ + @RequestMapping(value = "faquan/haowuquan") + public void haoWuQuan(HttpServletRequest request, String content, String sign, PrintWriter out) { + if (!sign.equalsIgnoreCase(StringUtil.Md5(content + "banliapp"))) { + out.print(JsonUtil.loadFalseResult("绛惧悕閿欒")); + return; + } + String contentDecode = StringUtil.getFromBase64(content); + JSONObject data = JSONObject.fromObject(contentDecode); + + JSONArray array = data.optJSONObject("recommend").optJSONArray("resultList"); + for (int i = 0; i < array.size(); i++) { + JSONObject item = array.optJSONObject(i); + String title = item.optString("itemName"); + String doc = item.optString("cusShareText"); + long itemId = item.optLong("itemId"); + JSONArray imageArray = item.optJSONArray("imageList"); + List<String> imgList = new ArrayList<>(); + for (int j = 0; j < imageArray.size(); j++) { + imgList.add(imageArray.optString(j)); + } + + TaoBaoGoodsBrief goodsBrief = null; + try { + goodsBrief = TaoKeApiUtil.searchGoodsDetail(itemId); + } catch (TaobaoGoodsDownException e) { + e.printStackTrace(); + } + if (goodsBrief == null) + continue; + // 鍟嗗搧VO + ConfigParamsDTO paramsDTO = hongBaoManageService.getShowComputeRate("android", "55"); + paramsDTO.setBaseFanliRate(hongBaoManageService.getBaseFanliRate()); + GoodsDetailVO goodsVO = GoodsDetailVOFactory.convertTaoBao(goodsBrief, paramsDTO); + + if (imgList.size() > 3) + imgList = imgList.subList(0, 3); + + List<ImgInfo> imageList = new ArrayList<>(); + for (int j = 0; j < imgList.size(); j++) { + ImgInfo imgInfo = new ImgInfo(); + imgInfo.setH(1); + imgInfo.setW(1); + imgInfo.setLarge(false); + imgInfo.setUrl(imgList.get(j)); + if (i != 0) { + imgInfo.setType(ImgEnum.img); + } else { + imgInfo.setType(ImgEnum.goods); + SimpleGoods simpleGoods = new SimpleGoods(); + simpleGoods.setGoodsId(itemId); + simpleGoods.setGoodsType(Constant.SOURCE_TYPE_TAOBAO); + simpleGoods.setState(CommonGoods.STATE_NORMAL); + CouponInfoVO couponInfo = goodsVO.getCouponInfo(); + if (couponInfo == null) { + simpleGoods.setPrice(goodsVO.getZkPrice()); + } else { + simpleGoods.setPrice(goodsVO.getCouponPrice()); + simpleGoods.setAmount(couponInfo.getAmount()); + } + imgInfo.setGoods(simpleGoods); + imgInfo.setGoodsVO(goodsVO); + } + imageList.add(imgInfo); + } + + List<ActivityRuleUser> ruleList = activityUserService.listByRuleCode(ActivityRuleUser.RULE_HOT, 1, 20); + + ruleList.get(0).getActivityUser(); + + ActivityUser user = ruleList.get((int) (ruleList.size() * Math.random())).getActivityUser(); + try { + goodsEvaluateService.addGoodsEvaluate(itemId, imageList, user, doc, null); + } catch (GoodsEvaluateException e) { + e.printStackTrace(); + } + } + + } + } -- Gitblit v1.8.0