From e257a2834bf7b62af5c5c96f9b0b21fac92f2196 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 24 七月 2021 18:31:02 +0800 Subject: [PATCH] jumpdetail分system --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserCouponController.java | 796 ++++++++++++++++++++++++++++---------------------------- 1 files changed, 397 insertions(+), 399 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserCouponController.java b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserCouponController.java index c4aadc3..8420207 100644 --- a/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserCouponController.java +++ b/fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserCouponController.java @@ -8,6 +8,7 @@ import javax.annotation.Resource; +import com.yeshi.fanli.service.inter.user.UserInfoService; import org.springframework.core.task.TaskExecutor; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @@ -47,444 +48,441 @@ /** * 绂忓埄涓績 - * - * @author Administrator * + * @author Administrator */ @Controller @RequestMapping("api/v1/user/coupon") public class UserCouponController { - @Resource(name = "taskExecutor") - private TaskExecutor executor; + @Resource(name = "taskExecutor") + private TaskExecutor executor; - @Resource - private ConfigService configService; + @Resource + private ConfigService configService; - @Resource - private SystemCouponService systemCouponService; - - @Resource - private UserSystemCouponService UserSystemCouponService; + @Resource + private SystemCouponService systemCouponService; - @Resource - private SwiperPictureService swiperPictureService; + @Resource + private UserSystemCouponService UserSystemCouponService; - @Resource - private CommonOrderService commonOrderService; + @Resource + private SwiperPictureService swiperPictureService; - @Resource - private DeviceLotteryRecordService deviceLotteryRecordService; + @Resource + private CommonOrderService commonOrderService; - @Resource - private UserSystemCouponService userSystemCouponService; + @Resource + private DeviceLotteryRecordService deviceLotteryRecordService; - @Resource - private UserInfoExtraService userInfoExtraService; + @Resource + private UserSystemCouponService userSystemCouponService; - @Resource - private UserVIPInfoService userVIPInfoService; - - @Resource - private UserInviteService userInviteService; - - - @Resource - private RedisManager redisManager; - - @Resource - private JDGoodsCacheUtil jdGoodsCacheUtil; - - @Resource - private PinDuoDuoCacheUtil pinDuoDuoCacheUtil; - - - - - /** - * 鐢ㄦ埛鍒稿垪琛ㄦ煡璇� - * - * @param acceptData - * @param page - * @param uid - * @param out - */ - @RequestMapping(value = "getCouponList", method = RequestMethod.POST) - public void getCouponList(AcceptData acceptData, Integer page, Long uid, PrintWriter out) { - if (uid == null) { - out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } + @Resource + private UserInfoExtraService userInfoExtraService; - try { - if (page == null || page < 1) { - page = 1; - } + @Resource + private UserInfoService userInfoService; - // 绂忓埄涓績鍥剧墖 - String topPicture = null; - if (page == 1) { - List<BannerVO> listswiper = swiperPictureService.getByBannerCardAndVersion("welfare_top",acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()),acceptData.getSystem()); - if (listswiper != null && listswiper.size() > 0) { - topPicture = listswiper.get(0).getSrc(); - } - } - - boolean changeJump = false; - String version = acceptData.getVersion(); - int tversion = Integer.parseInt(version); - String platform = acceptData.getPlatform(); - if ("android".equalsIgnoreCase(platform) && tversion > 34) { - changeJump = true; - } else if (tversion > 44){ - changeJump = true; - } - - long count = UserSystemCouponService.countCouponOld(uid); - List<UserSystemCouponVO> resultList = UserSystemCouponService - .getUserCouponVOList((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, uid, changeJump); + @Resource + private UserVIPInfoService userVIPInfoService; - if (resultList == null) { - resultList = new ArrayList<UserSystemCouponVO>(); - } + @Resource + private UserInviteService userInviteService; - JSONObject data = new JSONObject(); - data.put("topPicture", topPicture); - data.put("count", count); - data.put("result_list", JsonUtil.getApiCommonGson().toJson(resultList)); - out.print(JsonUtil.loadTrueResult(data)); + @Resource + private RedisManager redisManager; - // 鏇存柊绂忓埄涓績鏈鏁伴噺 - if (page == 1) { - executor.execute(new Runnable() { - @Override - public void run() { - UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); - // 鏈鍒告槸鍚﹀ぇ浜�0 - if (userInfoExtra != null && userInfoExtra.getCouponNews() > 0) { - UserInfoExtra extra = new UserInfoExtra(); - extra.setId(userInfoExtra.getId()); - extra.setCouponNews(0); - userInfoExtraService.updateByPrimaryKeySelective(extra); - } - } - }); - } + @Resource + private JDGoodsCacheUtil jdGoodsCacheUtil; - } catch (UserSystemCouponException e) { - out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); - } catch (Exception e) { - out.print(JsonUtil.loadFalseResult(1, "鏌ヨ澶辫触")); - e.printStackTrace(); - } - } + @Resource + private PinDuoDuoCacheUtil pinDuoDuoCacheUtil; - /** - * 鐢ㄦ埛濂栧姳鍒� - * - * @param acceptData - * @param page - * @param uid - * @param auctionId 鍟嗗搧id - * @param out - */ - @RequestMapping(value = "getGoodsCouponList", method = RequestMethod.POST) - public void getGoodsCouponList(AcceptData acceptData, Long uid, Long auctionId, PrintWriter out) { - if (uid == null) { - out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } - try { - List<UserSystemCouponVO> resultList = UserSystemCouponService.getGoodsCouponList(uid, auctionId); - if (resultList == null) { - resultList = new ArrayList<UserSystemCouponVO>(); - } + /** + * 鐢ㄦ埛鍒稿垪琛ㄦ煡璇� + * + * @param acceptData + * @param page + * @param uid + * @param out + */ + @RequestMapping(value = "getCouponList", method = RequestMethod.POST) + public void getCouponList(AcceptData acceptData, Integer page, Long uid, PrintWriter out) { + if (uid == null) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } - JSONObject dataTip = new JSONObject(); - dataTip.put("content", configService.getValue(ConfigKeyEnum.freeCouponTip.getKey(),acceptData.getSystem())); - dataTip.put("fontColor", "#F14242"); + try { + if (page == null || page < 1) { + page = 1; + } - JSONObject data = new JSONObject(); - data.put("helpLink", configService.getValue(ConfigKeyEnum.freeCouponHelp.getKey(),acceptData.getSystem())); - data.put("tip", dataTip); - data.put("count", resultList.size()); - data.put("result_list", JsonUtil.getApiCommonGson().toJson(resultList)); - out.print(JsonUtil.loadTrueResult(data)); - } catch (UserSystemCouponException e) { - out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); - } catch (Exception e) { - out.print(JsonUtil.loadFalseResult(1, "鏌ヨ澶辫触")); - e.printStackTrace(); - } - } + // 绂忓埄涓績鍥剧墖 + String topPicture = null; + if (page == 1) { + List<BannerVO> listswiper = swiperPictureService.getByBannerCardAndVersion("welfare_top", acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion()), acceptData.getSystem()); + if (listswiper != null && listswiper.size() > 0) { + topPicture = listswiper.get(0).getSrc(); + } + } - - - - /** - * 鍏嶅崟鍒镐娇鐢ㄨ褰� 浠ュ強鐘舵�佷慨鏀� - * - * @param acceptData - * @param uid - * @param out - */ - @RequestMapping(value = "useFreeCoupon", method = RequestMethod.POST) - public void useFreeCoupon(AcceptData acceptData, Long uid, Long cid, Long goodId, Integer goodsType, PrintWriter out) { - if (uid == null) { - out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } - - if (goodsType == null || goodsType > 3 || goodsType < 1) { - goodsType = Constant.SOURCE_TYPE_TAOBAO; - } + boolean changeJump = false; + String version = acceptData.getVersion(); + int tversion = Integer.parseInt(version); + String platform = acceptData.getPlatform(); + if ("android".equalsIgnoreCase(platform) && tversion > 34) { + changeJump = true; + } else if (tversion > 44) { + changeJump = true; + } - try { - UserSystemCouponService.useGoodsCoupon(uid, cid, goodId, goodsType); - out.print(JsonUtil.loadTrueResult("浣跨敤鎴愬姛")); - } catch (UserSystemCouponException e) { - out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); - } catch (Exception e) { - out.print(JsonUtil.loadFalseResult(1, "浣跨敤澶辫触")); - e.printStackTrace(); - } - } + long count = UserSystemCouponService.countCouponOld(uid); + List<UserSystemCouponVO> resultList = UserSystemCouponService + .getUserCouponVOList((page - 1) * Constant.PAGE_SIZE, Constant.PAGE_SIZE, uid, changeJump); - /** - * 鐢ㄦ埛濂栧姳鍒� - * - * @param acceptData - * @param page - * @param uid - * @param out - */ - @RequestMapping(value = "getOrderCouponList", method = RequestMethod.POST) - public void getOrderCouponList(AcceptData acceptData, Long uid, PrintWriter out) { + if (resultList == null) { + resultList = new ArrayList<UserSystemCouponVO>(); + } - if (uid == null) { - out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } + JSONObject data = new JSONObject(); + data.put("topPicture", topPicture); + data.put("count", count); + data.put("result_list", JsonUtil.getApiCommonGson().toJson(resultList)); - try { - List<UserSystemCouponVO> resultList = UserSystemCouponService.getOrderCouponList(uid); + out.print(JsonUtil.loadTrueResult(data)); - if (resultList == null) { - resultList = new ArrayList<UserSystemCouponVO>(); - } + // 鏇存柊绂忓埄涓績鏈鏁伴噺 + if (page == 1) { + executor.execute(new Runnable() { + @Override + public void run() { + UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); + // 鏈鍒告槸鍚﹀ぇ浜�0 + if (userInfoExtra != null && userInfoExtra.getCouponNews() > 0) { + UserInfoExtra extra = new UserInfoExtra(); + extra.setId(userInfoExtra.getId()); + extra.setCouponNews(0); + userInfoExtraService.updateByPrimaryKeySelective(extra); + } + } + }); + } - JSONObject data = new JSONObject(); - data.put("helpLink", configService.getValue(ConfigKeyEnum.rewardCouponHelp.getKey(),acceptData.getSystem())); - data.put("count", resultList.size()); - data.put("result_list", JsonUtil.getApiCommonGson().toJson(resultList)); + } catch (UserSystemCouponException e) { + out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult(1, "鏌ヨ澶辫触")); + e.printStackTrace(); + } + } - out.print(JsonUtil.loadTrueResult(data)); + /** + * 鐢ㄦ埛濂栧姳鍒� + * + * @param acceptData + * @param page + * @param uid + * @param auctionId 鍟嗗搧id + * @param out + */ + @RequestMapping(value = "getGoodsCouponList", method = RequestMethod.POST) + public void getGoodsCouponList(AcceptData acceptData, Long uid, Long auctionId, PrintWriter out) { + if (uid == null) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } - } catch (UserSystemCouponException e) { - out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); - } catch (Exception e) { - out.print(JsonUtil.loadFalseResult(1, "鏌ヨ澶辫触")); - e.printStackTrace(); - } - } + try { + List<UserSystemCouponVO> resultList = UserSystemCouponService.getGoodsCouponList(uid, auctionId); + if (resultList == null) { + resultList = new ArrayList<UserSystemCouponVO>(); + } - /** - * 鍏嶅崟鍒镐娇鐢ㄨ褰� 浠ュ強鐘舵�佷慨鏀� - * - * @param acceptData - * @param page - * @param uid - * @param out - */ - @RequestMapping(value = "useRewardCoupon") - public void useRewardCoupon(String callback, AcceptData acceptData, Long uid, Long cid, String orderNo, Integer goodsType, PrintWriter out) { - if (uid == null) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } - - // 褰撳墠鐢ㄦ埛鏄惁VIP - boolean vip = userInviteService.verifyVIP(uid); - if (vip) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼氬憳涓嶅彲浣跨敤濂栧姳鍒�")); - return; - } - if (goodsType == null || goodsType > 3 || goodsType < 1) { - goodsType = Constant.SOURCE_TYPE_TAOBAO; - } - try { - UserSystemCouponService.useOrderCoupon(uid, cid, orderNo, goodsType, acceptData); - JSONObject data = commonOrderService.getRewardJumpInfo(orderNo, goodsType); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (UserSystemCouponException e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "浣跨敤澶辫触")); - e.printStackTrace(); - } - } + JSONObject dataTip = new JSONObject(); + dataTip.put("content", configService.getValue(ConfigKeyEnum.freeCouponTip.getKey(), acceptData.getSystem())); + dataTip.put("fontColor", "#F14242"); - /** - * 璁㈠崟-濂栧姳杩涘害璇︽儏 - * - * @param acceptData - * @param orderNo 璁㈠崟鍙� - * @param out - */ - @RequestMapping(value = "getRewardRecord", method = RequestMethod.POST) - public void getRewardCounponRecord(AcceptData acceptData, String orderNo, Integer goodsType, PrintWriter out) { - try { - if (goodsType == null || goodsType > 3 || goodsType < 1) { - goodsType = Constant.SOURCE_TYPE_TAOBAO; - } - - UserSystemCouponRecordVO rewardRecord = UserSystemCouponService.getRewardCouponRecord(orderNo, goodsType); - JSONObject data = new JSONObject(); - data.put("rewardRecord", rewardRecord); - out.print(JsonUtil.loadTrueResult(data)); - } catch (UserSystemCouponException e) { - out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); - } catch (Exception e) { - out.print(JsonUtil.loadFalseResult(1, "鏌ヨ澶辫触")); - e.printStackTrace(); - } - } + JSONObject data = new JSONObject(); + data.put("helpLink", configService.getValue(ConfigKeyEnum.freeCouponHelp.getKey(), acceptData.getSystem())); + data.put("tip", dataTip); + data.put("count", resultList.size()); + data.put("result_list", JsonUtil.getApiCommonGson().toJson(resultList)); + out.print(JsonUtil.loadTrueResult(data)); + } catch (UserSystemCouponException e) { + out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult(1, "鏌ヨ澶辫触")); + e.printStackTrace(); + } + } - /** - * 璁㈠崟-濂栧姳杩涘害璇︽儏 - * - * @param acceptData - * @param orderNo 璁㈠崟鍙� - * @param out - */ - @RequestMapping(value = "getFreeCounponRecord", method = RequestMethod.POST) - public void getFreeCounponRecord(AcceptData acceptData, String orderNo, Integer goodsType, PrintWriter out) { - try { - if (goodsType == null || goodsType > 3 || goodsType < 1) { - goodsType = Constant.SOURCE_TYPE_TAOBAO; - } - - UserSystemCouponRecordVO rewardRecord = UserSystemCouponService.getFreeCouponRecord(orderNo, goodsType); - JSONObject data = new JSONObject(); - data.put("frreCouponRecord", rewardRecord); - out.print(JsonUtil.loadTrueResult(data)); - } catch (UserSystemCouponException e) { - out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); - } catch (Exception e) { - out.print(JsonUtil.loadFalseResult(1, "鏌ヨ澶辫触")); - e.printStackTrace(); - } - } - - - /** - * 鏌ヨ鍏嶅崟鍒� - * @param acceptData - * @param uid - * @param auctionId - * @param out - */ - @RequestMapping(value = "getFreeCouponList", method = RequestMethod.POST) - public void getFreeCouponList(AcceptData acceptData, Long uid, String goodsId, Integer goodsType, PrintWriter out) { - if (uid == null) { - out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); - return; - } + /** + * 鍏嶅崟鍒镐娇鐢ㄨ褰� 浠ュ強鐘舵�佷慨鏀� + * + * @param acceptData + * @param uid + * @param out + */ + @RequestMapping(value = "useFreeCoupon", method = RequestMethod.POST) + public void useFreeCoupon(AcceptData acceptData, Long uid, Long cid, Long goodId, Integer goodsType, PrintWriter out) { + if (uid == null) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } - if (goodsType == null || StringUtil.isNullOrEmpty(goodsId)) { - out.print(JsonUtil.loadFalseResult("鍙傛暟涓嶅畬鏁�")); - return; - } - - List<UserSystemCouponVO> list = UserSystemCouponService.getFreeCouponList(uid); - if (list == null) - list = new ArrayList<>(); - - - if (list.size() > 0) { - boolean state = false; - BigDecimal priceLimit = BigDecimal.valueOf(9.9); - switch(goodsType) { - case Constant.SOURCE_TYPE_TAOBAO: - state = checkCanUsedTB(Long.parseLong(goodsId), priceLimit); - break; - case Constant.SOURCE_TYPE_JD: - state = checkCanUsedTB(Long.parseLong(goodsId), priceLimit); - break; - case Constant.SOURCE_TYPE_PDD: - state = checkCanUsedTB(Long.parseLong(goodsId), priceLimit); - break; - default: - break; - } - - // 涓嶈兘浣跨敤 - if (!state) { - for (UserSystemCouponVO userCouponVO : list) { - userCouponVO.setState(0); - userCouponVO.setCouponPicture(userCouponVO.getCouponPictureInvalid()); - Map<String, Object> map = userCouponVO.getRemainDays(); - if (map != null) { - map.put("fontColor", "#CCCCCC"); - } - userCouponVO.setRemainDays(map); - } - } - } + if (goodsType == null || goodsType > 3 || goodsType < 1) { + goodsType = Constant.SOURCE_TYPE_TAOBAO; + } - JSONObject dataTip = new JSONObject(); - dataTip.put("content", configService.getValue(ConfigKeyEnum.freeCouponTip.getKey(),acceptData.getSystem())); - dataTip.put("fontColor", "#F14242"); - - JSONObject data = new JSONObject(); - data.put("helpLink", configService.getValue(ConfigKeyEnum.freeCouponHelp.getKey(),acceptData.getSystem())); - data.put("tip", dataTip); - data.put("count", list.size()); - data.put("list", JsonUtil.getApiCommonGson().toJson(list)); - out.print(JsonUtil.loadTrueResult(data)); - } - - - - private boolean checkCanUsedTB(Long goodsId, BigDecimal priceLimit) { - try { - TaoBaoGoodsBrief goods = redisManager.getTaoBaoGoodsBrief(goodsId); - if (goods == null) - return false; - - BigDecimal quanPrice = TaoBaoUtil.getCouponPrice(goods); - if (quanPrice.compareTo(priceLimit) <= 0) - return true; - } catch (TaobaoGoodsDownException e) { - e.printStackTrace(); - } - return false; - } + try { + UserSystemCouponService.useGoodsCoupon(uid, cid, goodId, goodsType); + out.print(JsonUtil.loadTrueResult("浣跨敤鎴愬姛")); + } catch (UserSystemCouponException e) { + out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult(1, "浣跨敤澶辫触")); + e.printStackTrace(); + } + } - - private boolean checkCanUsedJD(Long goodsId, BigDecimal priceLimit) { - JDGoods goods = jdGoodsCacheUtil.getGoodsInfo(goodsId); - if (goods == null) - return false; - BigDecimal quanPrice = JDUtil.getCouponPrice(goods); - if (quanPrice.compareTo(priceLimit) <= 0) - return true; - - return false; - } - - private boolean checkCanUsedPDD(Long goodsId, BigDecimal priceLimit) { - PDDGoodsDetail goods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId); - if (goods == null) - return false; - BigDecimal quanPrice = PinDuoDuoUtil.getCouponPrice(goods); - if (quanPrice.compareTo(priceLimit) <= 0) - return true; - - return false; - } - + /** + * 鐢ㄦ埛濂栧姳鍒� + * + * @param acceptData + * @param page + * @param uid + * @param out + */ + @RequestMapping(value = "getOrderCouponList", method = RequestMethod.POST) + public void getOrderCouponList(AcceptData acceptData, Long uid, PrintWriter out) { + + if (uid == null) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } + + try { + List<UserSystemCouponVO> resultList = UserSystemCouponService.getOrderCouponList(uid); + + if (resultList == null) { + resultList = new ArrayList<UserSystemCouponVO>(); + } + + JSONObject data = new JSONObject(); + data.put("helpLink", configService.getValue(ConfigKeyEnum.rewardCouponHelp.getKey(), acceptData.getSystem())); + data.put("count", resultList.size()); + data.put("result_list", JsonUtil.getApiCommonGson().toJson(resultList)); + + out.print(JsonUtil.loadTrueResult(data)); + + } catch (UserSystemCouponException e) { + out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult(1, "鏌ヨ澶辫触")); + e.printStackTrace(); + } + } + + /** + * 鍏嶅崟鍒镐娇鐢ㄨ褰� 浠ュ強鐘舵�佷慨鏀� + * + * @param acceptData + * @param page + * @param uid + * @param out + */ + @RequestMapping(value = "useRewardCoupon") + public void useRewardCoupon(String callback, AcceptData acceptData, Long uid, Long cid, String orderNo, Integer goodsType, PrintWriter out) { + if (uid == null) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } + + // 褰撳墠鐢ㄦ埛鏄惁VIP + boolean vip = userInviteService.verifyVIP(uid); + if (vip) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("浼氬憳涓嶅彲浣跨敤濂栧姳鍒�")); + return; + } + if (goodsType == null || goodsType > 3 || goodsType < 1) { + goodsType = Constant.SOURCE_TYPE_TAOBAO; + } + try { + UserSystemCouponService.useOrderCoupon(uid, cid, orderNo, goodsType, acceptData); + JSONObject data = commonOrderService.getRewardJumpInfo(orderNo, goodsType, userInfoService.getUserSystem(uid)); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); + } catch (UserSystemCouponException e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); + } catch (Exception e) { + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "浣跨敤澶辫触")); + e.printStackTrace(); + } + } + + /** + * 璁㈠崟-濂栧姳杩涘害璇︽儏 + * + * @param acceptData + * @param orderNo 璁㈠崟鍙� + * @param out + */ + @RequestMapping(value = "getRewardRecord", method = RequestMethod.POST) + public void getRewardCounponRecord(AcceptData acceptData, String orderNo, Integer goodsType, PrintWriter out) { + try { + if (goodsType == null || goodsType > 3 || goodsType < 1) { + goodsType = Constant.SOURCE_TYPE_TAOBAO; + } + + UserSystemCouponRecordVO rewardRecord = UserSystemCouponService.getRewardCouponRecord(orderNo, goodsType); + JSONObject data = new JSONObject(); + data.put("rewardRecord", rewardRecord); + out.print(JsonUtil.loadTrueResult(data)); + } catch (UserSystemCouponException e) { + out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult(1, "鏌ヨ澶辫触")); + e.printStackTrace(); + } + } + + /** + * 璁㈠崟-濂栧姳杩涘害璇︽儏 + * + * @param acceptData + * @param orderNo 璁㈠崟鍙� + * @param out + */ + @RequestMapping(value = "getFreeCounponRecord", method = RequestMethod.POST) + public void getFreeCounponRecord(AcceptData acceptData, String orderNo, Integer goodsType, PrintWriter out) { + try { + if (goodsType == null || goodsType > 3 || goodsType < 1) { + goodsType = Constant.SOURCE_TYPE_TAOBAO; + } + + UserSystemCouponRecordVO rewardRecord = UserSystemCouponService.getFreeCouponRecord(orderNo, goodsType); + JSONObject data = new JSONObject(); + data.put("frreCouponRecord", rewardRecord); + out.print(JsonUtil.loadTrueResult(data)); + } catch (UserSystemCouponException e) { + out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); + } catch (Exception e) { + out.print(JsonUtil.loadFalseResult(1, "鏌ヨ澶辫触")); + e.printStackTrace(); + } + } + + + /** + * 鏌ヨ鍏嶅崟鍒� + * + * @param acceptData + * @param uid + * @param auctionId + * @param out + */ + @RequestMapping(value = "getFreeCouponList", method = RequestMethod.POST) + public void getFreeCouponList(AcceptData acceptData, Long uid, String goodsId, Integer goodsType, PrintWriter out) { + if (uid == null) { + out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + return; + } + + if (goodsType == null || StringUtil.isNullOrEmpty(goodsId)) { + out.print(JsonUtil.loadFalseResult("鍙傛暟涓嶅畬鏁�")); + return; + } + + List<UserSystemCouponVO> list = UserSystemCouponService.getFreeCouponList(uid); + if (list == null) + list = new ArrayList<>(); + + + if (list.size() > 0) { + boolean state = false; + BigDecimal priceLimit = BigDecimal.valueOf(9.9); + switch (goodsType) { + case Constant.SOURCE_TYPE_TAOBAO: + state = checkCanUsedTB(Long.parseLong(goodsId), priceLimit); + break; + case Constant.SOURCE_TYPE_JD: + state = checkCanUsedTB(Long.parseLong(goodsId), priceLimit); + break; + case Constant.SOURCE_TYPE_PDD: + state = checkCanUsedTB(Long.parseLong(goodsId), priceLimit); + break; + default: + break; + } + + // 涓嶈兘浣跨敤 + if (!state) { + for (UserSystemCouponVO userCouponVO : list) { + userCouponVO.setState(0); + userCouponVO.setCouponPicture(userCouponVO.getCouponPictureInvalid()); + Map<String, Object> map = userCouponVO.getRemainDays(); + if (map != null) { + map.put("fontColor", "#CCCCCC"); + } + userCouponVO.setRemainDays(map); + } + } + } + + JSONObject dataTip = new JSONObject(); + dataTip.put("content", configService.getValue(ConfigKeyEnum.freeCouponTip.getKey(), acceptData.getSystem())); + dataTip.put("fontColor", "#F14242"); + + JSONObject data = new JSONObject(); + data.put("helpLink", configService.getValue(ConfigKeyEnum.freeCouponHelp.getKey(), acceptData.getSystem())); + data.put("tip", dataTip); + data.put("count", list.size()); + data.put("list", JsonUtil.getApiCommonGson().toJson(list)); + out.print(JsonUtil.loadTrueResult(data)); + } + + + private boolean checkCanUsedTB(Long goodsId, BigDecimal priceLimit) { + try { + TaoBaoGoodsBrief goods = redisManager.getTaoBaoGoodsBrief(goodsId); + if (goods == null) + return false; + + BigDecimal quanPrice = TaoBaoUtil.getCouponPrice(goods); + if (quanPrice.compareTo(priceLimit) <= 0) + return true; + } catch (TaobaoGoodsDownException e) { + e.printStackTrace(); + } + return false; + } + + + private boolean checkCanUsedJD(Long goodsId, BigDecimal priceLimit) { + JDGoods goods = jdGoodsCacheUtil.getGoodsInfo(goodsId); + if (goods == null) + return false; + BigDecimal quanPrice = JDUtil.getCouponPrice(goods); + if (quanPrice.compareTo(priceLimit) <= 0) + return true; + + return false; + } + + private boolean checkCanUsedPDD(Long goodsId, BigDecimal priceLimit) { + PDDGoodsDetail goods = pinDuoDuoCacheUtil.getGoodsInfo(goodsId); + if (goods == null) + return false; + BigDecimal quanPrice = PinDuoDuoUtil.getCouponPrice(goods); + if (quanPrice.compareTo(priceLimit) <= 0) + return true; + + return false; + } + } -- Gitblit v1.8.0