From 98b1a0affd69bbe63223c21fdd2c404e8bedfccb Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期三, 20 五月 2020 17:25:08 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into 2.1.2 --- fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserCouponController.java | 279 +++++-------------------------------------------------- 1 files changed, 28 insertions(+), 251 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 ab1a5d2..f7fbc91 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 @@ -2,9 +2,7 @@ import java.io.PrintWriter; import java.util.ArrayList; -import java.util.Date; import java.util.List; -import java.util.Map; import javax.annotation.Resource; @@ -15,13 +13,8 @@ import org.yeshi.utils.JsonUtil; import com.yeshi.fanli.entity.accept.AcceptData; -import com.yeshi.fanli.entity.bus.homemodule.SwiperPicture; -import com.yeshi.fanli.entity.bus.user.DeviceLotteryRecord; import com.yeshi.fanli.entity.bus.user.UserInfoExtra; -import com.yeshi.fanli.entity.bus.user.UserLotteryRecord; -import com.yeshi.fanli.entity.system.SystemCoupon; -import com.yeshi.fanli.exception.user.UserInfoExtraException; -import com.yeshi.fanli.exception.user.UserLotteryRecordException; +import com.yeshi.fanli.entity.system.ConfigKeyEnum; import com.yeshi.fanli.exception.user.UserSystemCouponException; import com.yeshi.fanli.service.inter.config.ConfigService; import com.yeshi.fanli.service.inter.config.SystemCouponService; @@ -29,9 +22,11 @@ import com.yeshi.fanli.service.inter.order.CommonOrderService; import com.yeshi.fanli.service.inter.user.DeviceLotteryRecordService; import com.yeshi.fanli.service.inter.user.UserInfoExtraService; -import com.yeshi.fanli.service.inter.user.UserLotteryRecordService; import com.yeshi.fanli.service.inter.user.UserSystemCouponService; +import com.yeshi.fanli.service.inter.user.invite.UserInviteService; +import com.yeshi.fanli.service.inter.user.vip.UserVIPInfoService; import com.yeshi.fanli.util.Constant; +import com.yeshi.fanli.vo.homemodule.BannerVO; import com.yeshi.fanli.vo.user.UserSystemCouponRecordVO; import com.yeshi.fanli.vo.user.UserSystemCouponVO; @@ -74,11 +69,11 @@ @Resource private UserInfoExtraService userInfoExtraService; + @Resource + private UserVIPInfoService userVIPInfoService; @Resource - private UserLotteryRecordService userLotteryRecordService; - - + private UserInviteService userInviteService; /** * 鐢ㄦ埛鍒稿垪琛ㄦ煡璇� @@ -103,7 +98,7 @@ // 绂忓埄涓績鍥剧墖 String topPicture = null; if (page == 1) { - List<SwiperPicture> listswiper = swiperPictureService.getByBannerCard("welfare_top"); + List<BannerVO> listswiper = swiperPictureService.getByBannerCardAndVersion("welfare_top",acceptData.getPlatform(), Integer.parseInt(acceptData.getVersion())); if (listswiper != null && listswiper.size() > 0) { topPicture = listswiper.get(0).getSrc(); } @@ -142,14 +137,11 @@ UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); // 鏈鍒告槸鍚﹀ぇ浜�0 if (userInfoExtra != null && userInfoExtra.getCouponNews() > 0) { - userInfoExtra.setCouponNews(0); - try { - userInfoExtraService.saveUserInfoExtra(userInfoExtra); - } catch (UserInfoExtraException e) { - e.printStackTrace(); - } + UserInfoExtra extra = new UserInfoExtra(); + extra.setId(userInfoExtra.getId()); + extra.setCouponNews(0); + userInfoExtraService.updateByPrimaryKeySelective(extra); } - } }); } @@ -186,11 +178,11 @@ } JSONObject dataTip = new JSONObject(); - dataTip.put("content", configService.get("free_coupon_tip")); + dataTip.put("content", configService.get(ConfigKeyEnum.freeCouponTip.getKey())); dataTip.put("fontColor", "#F14242"); JSONObject data = new JSONObject(); - data.put("helpLink", configService.get("free_coupon_help")); + data.put("helpLink", configService.get(ConfigKeyEnum.freeCouponHelp.getKey())); data.put("tip", dataTip); data.put("count", resultList.size()); data.put("result_list", JsonUtil.getApiCommonGson().toJson(resultList)); @@ -259,7 +251,7 @@ } JSONObject data = new JSONObject(); - data.put("helpLink", configService.get("reward_coupon_help")); + data.put("helpLink", configService.get(ConfigKeyEnum.rewardCouponHelp.getKey())); data.put("count", resultList.size()); data.put("result_list", JsonUtil.getApiCommonGson().toJson(resultList)); @@ -281,26 +273,30 @@ * @param uid * @param out */ - @RequestMapping(value = "useRewardCoupon", method = RequestMethod.POST) - public void useRewardCoupon(AcceptData acceptData, Long uid, Long cid, String orderNo, Integer goodsType, PrintWriter out) { - + @RequestMapping(value = "useRewardCoupon") + public void useRewardCoupon(String callback, AcceptData acceptData, Long uid, Long cid, String orderNo, Integer goodsType, PrintWriter out) { if (uid == null) { - out.print(JsonUtil.loadFalseResult("鐢ㄦ埛鏈櫥褰�")); + 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); - out.print(JsonUtil.loadTrueResult(data)); + JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); } catch (UserSystemCouponException e) { - out.print(JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); } catch (Exception e) { - out.print(JsonUtil.loadFalseResult(1, "浣跨敤澶辫触")); + JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(1, "浣跨敤澶辫触")); e.printStackTrace(); } } @@ -356,225 +352,6 @@ e.printStackTrace(); } } - - /** - * 鑾峰彇鎶藉娆℃暟 - * - * @param callback - * @param acceptData - * @param uid - * @param out - */ - // @RequestMapping(value = "getLotteryCount") - public void getLotteryCount(String callback, AcceptData acceptData, Long uid, PrintWriter out) { - try { - // 1銆佸凡鐧诲綍绯荤粺 - if (uid != null) { - JSONObject data = userLotteryRecordService.getLotteryCountNewbies(uid); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - return; - } - - // 2銆佹湭鐧诲綍绯荤粺 - 璁板綍璁惧 - int platformType = 0; - String platform = acceptData.getPlatform(); - if ("android".equals(platform)) { - platformType = 1; - } else if ("ios".equals(platform)) { - platformType = 2; - } else { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("骞冲彴鏈夎")); - return; - } - - String device = acceptData.getDevice(); - if (device == null || device.trim().length() == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璁惧涓嶅瓨鍦�")); - return; - } - - List<DeviceLotteryRecord> list = deviceLotteryRecordService.listByPlatformAndDevice(platformType, device); - int count = UserLotteryRecord.COUNT_NEWBIES; - if (list != null && list.size() > 0) { - count = count - list.size(); - } - // 鎶藉瑙勫垯 - String lotteryRule = configService.get("lottery_rule_newbies"); - - JSONObject data = new JSONObject(); - data.put("count", count); - data.put("rule", lotteryRule); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (UserLotteryRecordException e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎿嶄綔澶辫触")); - e.printStackTrace(); - } - } - - /** - * 鑾峰彇鎶藉缁撴灉 - * @param callback - * @param acceptData - * @param uid - * @param out - */ - // @RequestMapping(value = "getLotteryResult") - public void getLotteryResult(String callback, AcceptData acceptData, Long uid, PrintWriter out) { - - try { - // 1銆佸凡鐧诲綍鐢ㄦ埛鎶藉 - if (uid != null) { - Map<String, Object> map = userLotteryRecordService.executeLotteryNewbies(uid); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(map)); - return; - } - - // 2銆佹湭鐧诲綍鐢ㄦ埛鎶藉 - int platformType = 0; - String platform = acceptData.getPlatform(); - if ("android".equals(platform)) { - platformType = 1; - } else if ("ios".equals(platform)) { - platformType = 2; - } else { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("骞冲彴鏈夎")); - return; - } - - String device = acceptData.getDevice(); - if (device == null || device.trim().length() == 0) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("璁惧涓嶅瓨鍦�")); - return; - } - - List<DeviceLotteryRecord> list = deviceLotteryRecordService.listByPlatformAndDevice(platformType, device); - if (list != null && list.size() >= UserLotteryRecord.COUNT_NEWBIES) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(2, "鎶藉娆℃暟涓嶈冻")); - return; - } - // 璁惧鎶藉 - JSONObject data = getDevicePrize(list, device, platformType); - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(data)); - } catch (UserLotteryRecordException e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(), e.getMsg())); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎶藉澶辫触")); - e.printStackTrace(); - } - } - - /** - * 璁惧淇℃伅鎶藉-鏈櫥褰� - * @param list - * @param device - * @param platformType - * @return - */ - public JSONObject getDevicePrize(List<DeviceLotteryRecord> list, String device, int platformType) { - int count = 0; - int countPrize = 0; - Long couponId = null; - - if (list == null || list.size() == 0) { // 鎷ユ湁鎶藉鏈轰細 - count = UserLotteryRecord.COUNT_NEWBIES; - } else { - for (DeviceLotteryRecord deviceLotteryRecord : list) { - Long systemCouponId = deviceLotteryRecord.getSystemCouponId(); - if (systemCouponId != null) { - countPrize++; - couponId = systemCouponId; - } - } - count = UserLotteryRecord.COUNT_NEWBIES - list.size(); - } - - - String prize = null; - String couponType = null; - if (countPrize == 0) { - prize = userLotteryRecordService.getLotteryPrizeNewbies(count, countPrize, null); - } else if (countPrize == 1) { - if (couponId != null) { - SystemCoupon coupon = systemCouponService.selectByPrimaryKey(couponId); - couponType = coupon.getType().name(); - } - - if(couponType != null && couponType.trim().length() > 0) { - prize = userLotteryRecordService.getLotteryPrizeNewbies(count, countPrize, couponType); - } - } - - Long newCouponId = null; - if (prize == null || prize.trim().length() == 0) { - prize = "NoPrize"; - } else if (prize.equals(couponType)) { - // 宸插瓨鍦ㄦ鍒� - prize = "NoPrize"; - } else { - SystemCoupon coupon = systemCouponService.getCouponByType(prize); - if (coupon != null) { - newCouponId = coupon.getId(); - } - } - - count --; - - // 鎻掑叆璁板綍 - DeviceLotteryRecord record = new DeviceLotteryRecord(); - record.setDevice(device); - record.setPlatform(platformType); - record.setSystemCouponId(newCouponId); - record.setCreateTime(new Date()); - deviceLotteryRecordService.insertSelective(record); - - JSONObject data = new JSONObject(); - data.put("count", count); - data.put("result", prize); - - return data; - } - - - /** - * 鑾峰彇鎶藉娆℃暟- 澶╁ぉ鎶藉鍔卞埜 - * - * @param callback - * @param acceptData - * @param uid - * @param out - */ - // @RequestMapping(value = "getDailyCount") - public void getDailyCount(String callback, AcceptData acceptData, Long uid, PrintWriter out) { - try { - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(userLotteryRecordService.getLotteryCountDaily(uid))); - } catch (UserLotteryRecordException e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(),e.getMsg())); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("淇℃伅鑾峰彇澶辫触")); - e.printStackTrace(); - } - } - - /** - * 鑾峰彇鎶藉缁撴灉 - 澶╁ぉ鎶藉鍔卞埜` - * @param callback - * @param acceptData - * @param uid - * @param out - */ - // @RequestMapping(value = "getDailyResult") - public void getDailyResult(String callback, AcceptData acceptData, Long uid, PrintWriter out) { - try { - JsonUtil.printMode(out, callback, JsonUtil.loadTrueResult(userLotteryRecordService.executeLotteryDaily(uid))); - } catch (UserLotteryRecordException e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult(e.getCode(),e.getMsg())); - } catch (Exception e) { - JsonUtil.printMode(out, callback, JsonUtil.loadFalseResult("鎶藉澶辫触")); - e.printStackTrace(); - } - } } -- Gitblit v1.8.0