From ec60e757d358636dcac1589c44a66f3e276fe58c Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期一, 29 六月 2020 14:41:42 +0800 Subject: [PATCH] 拉新 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/h5/AppH5CouponController.java | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 101 insertions(+), 9 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/h5/AppH5CouponController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/h5/AppH5CouponController.java index 8d2ea35..98048df 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/h5/AppH5CouponController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/h5/AppH5CouponController.java @@ -13,22 +13,31 @@ import com.google.gson.Gson; import com.google.gson.GsonBuilder; +import com.yeshi.fanli.dto.ConfigParamsDTO; import com.yeshi.fanli.entity.accept.AcceptData; import com.yeshi.fanli.entity.bus.lable.QualityFactory; import com.yeshi.fanli.entity.bus.user.UserInfo; import com.yeshi.fanli.entity.bus.user.UserInfoExtra; +import com.yeshi.fanli.entity.bus.user.vip.TearcherInfo; +import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum; +import com.yeshi.fanli.entity.goods.FreeGoodsCoupon; import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief; import com.yeshi.fanli.exception.taobao.TaoKeApiException; import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException; +import com.yeshi.fanli.service.inter.goods.FreeGoodsCouponService; import com.yeshi.fanli.service.inter.lable.QualityGoodsService; -import com.yeshi.fanli.service.inter.order.config.HongBaoManageService; +import com.yeshi.fanli.service.inter.order.OrderHongBaoMoneyComputeService; import com.yeshi.fanli.service.inter.user.UserInfoExtraService; import com.yeshi.fanli.service.inter.user.UserInfoService; import com.yeshi.fanli.service.inter.user.UserSystemCouponService; +import com.yeshi.fanli.service.inter.user.vip.TearcherService; +import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService; +import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.factory.goods.GoodsDetailVOFactory; import com.yeshi.fanli.util.taobao.TaoBaoUtil; import com.yeshi.fanli.util.taobao.TaoKeApiUtil; import com.yeshi.fanli.vo.goods.GoodsDetailVO; +import com.yeshi.fanli.vo.goods.OtherInfo; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -41,16 +50,25 @@ private QualityGoodsService qualityGoodsService; @Resource - private HongBaoManageService hongBaoManageService; + private OrderHongBaoMoneyComputeService orderHongBaoMoneyComputeService; @Resource private UserInfoService userInfoService; @Resource private UserSystemCouponService userSystemCouponService; - + @Resource private UserInfoExtraService userInfoExtraService; + + @Resource + private UserVIPInfoService userVIPInfoService; + + @Resource + private FreeGoodsCouponService freeGoodsCouponService; + + @Resource + private TearcherService tearcherService; @RequestMapping("getMianDanGoodsList") public void getMianDanGoodsList(AcceptData acceptData, PrintWriter out, int page, int pageSize, String callback) { @@ -85,8 +103,8 @@ Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()) .excludeFieldsWithoutExposeAnnotation().setDateFormat("yyyy-MM-dd").create(); - BigDecimal fanLiRate = hongBaoManageService.getFanLiRate(); - BigDecimal shareRate = hongBaoManageService.getShareRate(); + ConfigParamsDTO configParamsDTO = orderHongBaoMoneyComputeService.getShowComputeRate(acceptData.getPlatform(), + acceptData.getVersion(), UserLevelEnum.daRen); /* 閬嶅巻鍒楄〃鏁版嵁 */ for (QualityFactory selectionGoods : listQuery) { @@ -116,7 +134,7 @@ if (couplePrice.compareTo(new BigDecimal("9.9")) == 1) { continue; // 鍒稿悗浠峰ぇ浜�10 } - GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, null, fanLiRate, shareRate); + GoodsDetailVO detailVO = GoodsDetailVOFactory.convertTaoBao(taoBaoGoodsBrief, configParamsDTO); array.add(gson.toJson(detailVO)); } JSONObject data = new JSONObject(); @@ -171,12 +189,13 @@ } // 鑾峰彇鍏嶅崟鍒告暟閲� long couponCount = userSystemCouponService.countUsableRewardCoupon(uid); - UserInfoExtra extraInfo=userInfoExtraService.getUserInfoExtra(uid); - long integralCount=extraInfo!=null?extraInfo.getGoldCoin():0L; + UserInfoExtra extraInfo = userInfoExtraService.getUserInfoExtra(uid); + long integralCount = extraInfo != null ? extraInfo.getGoldCoin() : 0L; JSONObject userJson = new JSONObject(); userJson.put("nickName", user.getNickName()); userJson.put("portrait", user.getPortrait()); userJson.put("id", user.getId()); + userJson.put("vip", userVIPInfoService.isVIP(user.getId())); JSONObject data = new JSONObject(); data.put("user", userJson); @@ -185,4 +204,77 @@ JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } -} + /** + * 鏂扮増鍏嶅崟鍟嗗搧鍒楄〃 + * + * @param acceptData + * @param callback + * @param page + * @param goodsType + * @param out + */ + @RequestMapping("getFreeGoodsList") + public void getFreeGoodsList(AcceptData acceptData, String callback, Long uid, int page, int goodsType, + PrintWriter out) { + if (uid == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } + + // 鑾峰彇鐢ㄦ埛淇℃伅 + UserInfo user = userInfoService.getUserById(uid); + if (user == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛涓嶅瓨鍦�")); + return; + } + + String tearcherWX = null; + TearcherInfo tearcherInfo = tearcherService.selectByUid(uid); + if (tearcherInfo != null) { + tearcherWX = tearcherInfo.getWxID(); + } + + // 鑾峰彇鍏嶅崟鍒告暟閲� + long couponNum = userSystemCouponService.countUsableFreeCouponForBuy(uid); + + JSONArray array = new JSONArray(); + List<FreeGoodsCoupon> list = freeGoodsCouponService.listByType((page - 1) * Constant.PAGE_SIZE, + Constant.PAGE_SIZE, goodsType); + if (list != null && list.size() > 0) { + Gson gson = JsonUtil.getConvertBigDecimalToStringSubZeroBuilder(new GsonBuilder()).create(); + for (FreeGoodsCoupon freeGoods : list) { + GoodsDetailVO goods = freeGoods.getGoods(); + if (goods == null) + continue; + + // 瀹炰粯娆�0 + OtherInfo otherInfo = goods.getOtherInfo(); + if (otherInfo == null) + otherInfo = new OtherInfo(); + otherInfo.setActualPay(BigDecimal.ZERO); + + // 琛ラ綈閲戦 + if (goods.isHasCoupon()) { + otherInfo.setMendMoney(goods.getCouponPrice()); + } else { + otherInfo.setMendMoney(goods.getZkPrice()); + } + goods.setOtherInfo(otherInfo); + array.add(gson.toJson(goods)); + } + } + + JSONObject userJson = new JSONObject(); + userJson.put("nickName", user.getNickName()); + userJson.put("portrait", user.getPortrait()); + userJson.put("couponNum", couponNum); + userJson.put("tearcherWX", tearcherWX); + + JSONObject data = new JSONObject(); + data.put("user", userJson); + data.put("count", freeGoodsCouponService.countByType(goodsType)); + data.put("list", array); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } + +} \ No newline at end of file -- Gitblit v1.8.0