From 395cd4c4caf01e1b3ad134834e5c1db284b59074 Mon Sep 17 00:00:00 2001 From: admin <weikou2014> Date: 星期六, 11 四月 2020 18:18:15 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/div' into div --- fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java | 563 +++++++++++++++++--------------------------------------- 1 files changed, 170 insertions(+), 393 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java index e99af4b..0eaada1 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/user/UserSystemCouponServiceImpl.java @@ -29,10 +29,7 @@ import com.yeshi.fanli.dao.mybatis.user.UserSystemCouponMapper; import com.yeshi.fanli.dto.mq.user.UserTopicTagEnum; import com.yeshi.fanli.dto.mq.user.body.UserSystemCouponUseMQMsg; -import com.yeshi.fanli.dto.msg.MsgOtherCouponActivateDTO; -import com.yeshi.fanli.dto.msg.MsgOtherGiveContentDTO; import com.yeshi.fanli.entity.accept.AcceptData; -import com.yeshi.fanli.entity.bus.msg.MsgOtherDetail.MsgTypeOtherTypeEnum; import com.yeshi.fanli.entity.bus.user.HongBaoV2; import com.yeshi.fanli.entity.bus.user.Order; import com.yeshi.fanli.entity.bus.user.TokenRecord; @@ -84,7 +81,6 @@ import com.yeshi.fanli.util.VersionUtil; import com.yeshi.fanli.util.annotation.RequestSerializableByKeyService; import com.yeshi.fanli.util.factory.UserMoneyDetailFactory; -import com.yeshi.fanli.util.factory.msg.MsgOtherSystemGiveDTOFactory; import com.yeshi.fanli.util.rocketmq.MQMsgBodyFactory; import com.yeshi.fanli.util.rocketmq.MQTopicName; import com.yeshi.fanli.util.taobao.TaoBaoUtil; @@ -231,84 +227,79 @@ return userSystemCouponMapper.countUserCouponList(uid); } + + @Override @Transactional(rollbackFor=Exception.class) - public UserSystemCoupon insertUserCoupon(Long uid, String couponType, String source, BigDecimal percent, - Boolean needNotify) throws UserSystemCouponException, Exception { - - if (couponType == null || uid == null) { + public UserSystemCoupon freeCouponWin(Long uid, CouponTypeEnum typeEnum, String source, int num, boolean notify) throws UserSystemCouponException, Exception{ + if (typeEnum == null || uid == null || StringUtil.isNullOrEmpty(source) || num < 1) { throw new UserSystemCouponException(1, "鍙傛暟涓嶆纭�"); } - - SystemCoupon coupon = null; - if (couponType.equals(CouponTypeEnum.welfareFreeCoupon.name()) - || couponType.equals(CouponTypeEnum.freeCoupon.name()) - | couponType.equals(CouponTypeEnum.freeCouponBuy.name())) { - // 鍏嶅崟鍒� - coupon = systemCouponService.getCouponByType(couponType); - } else if (couponType.equals(CouponTypeEnum.rebatePercentCoupon.name())) { - // 闅忔満濂栧姳鍒� - if (percent == null || percent.compareTo(new BigDecimal(0)) < 1) { - randomRewardCoupon(1, uid, source); - return null; - } else { - coupon = systemCouponService.getCouponByTypeAndPercent(couponType, percent); - } - } else if (couponType.equals(CouponTypeEnum.freeCouponGive.name())) { - coupon = systemCouponService.getCouponByType(couponType); - } - + + SystemCoupon coupon = systemCouponService.getCouponByType(typeEnum.name()); if (coupon == null) { throw new UserSystemCouponException(1, "鍒哥被鍨嬩笉姝g‘"); } - - int stateActivated = 1; - if (coupon.getType() == CouponTypeEnum.welfareFreeCoupon) { - // 绂忓埄鍒哥姸鎬� - long countSuccess = threeSaleSerivce.countSuccessFirstTeam(uid); - // 娌℃湁涓嬬骇闃熷憳 --寰呮縺娲� - if (countSuccess == 0) { - stateActivated = 0; - } - } else if (coupon.getType() == CouponTypeEnum.freeCoupon) { - stateActivated = 0; + + // 婵�娲荤姸鎬� + int stateActivated = 0; + // 鑷喘鍏嶅崟鍒搞�佽禒閫佸厤鍗曞埜鍙洿鎺ヤ娇鐢� + if (coupon.getType() == CouponTypeEnum.freeCouponBuy || coupon.getType() == CouponTypeEnum.freeCouponGive) { + stateActivated = 1; } - + + // 鏈夋晥鏃堕暱 Integer expiryDay = null; if (stateActivated == 0) expiryDay = coupon.getActivateDay(); - if (expiryDay == null || expiryDay == 0) expiryDay = coupon.getExpiryDay(); - - // 缁撴潫鏃ユ湡 - // 浠婂ぉ鍦ㄥ唴 鍑忓幓涓�澶� - String endDay = DateUtil.plusDay(expiryDay - 1, new Date()); + + // 璁$畻缁撴潫鏃ユ湡 + Date nowTime = new Date(); + String endDay = DateUtil.plusDay(expiryDay - 1, nowTime); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); if (endDay != null && endDay.trim().length() > 0) { endDay += " 23:59:59"; } Date endTime = format.parse(endDay); - - UserSystemCoupon userCoupon = new UserSystemCoupon(); - userCoupon.setUid(uid); - userCoupon.setSource(source); - userCoupon.setSystemCoupon(coupon); - userCoupon.setState(UserSystemCoupon.STATE_CAN_USE); - userCoupon.setStateActivated(stateActivated); - userCoupon.setStartTime(new Date()); - userCoupon.setEndTime(endTime); - userCoupon.setCreateTime(new Date()); - userCoupon.setUpdateTime(new Date()); - userSystemCouponMapper.insertSelective(userCoupon); - - if (coupon.getType() == CouponTypeEnum.freeCoupon) { - userSystemCouponActivateService.addActivateRecord(userCoupon.getId()); - } - + + UserSystemCoupon userSystemCoupon = null; + for (int i = 0; i < num; i ++) { + UserSystemCoupon userCoupon = new UserSystemCoupon(); + userCoupon.setUid(uid); + userCoupon.setSource(source); + userCoupon.setSystemCoupon(coupon); + userCoupon.setState(UserSystemCoupon.STATE_CAN_USE); + userCoupon.setStateActivated(stateActivated); + userCoupon.setStartTime(nowTime); + userCoupon.setEndTime(endTime); + userCoupon.setCreateTime(nowTime); + userCoupon.setUpdateTime(nowTime); + userSystemCouponMapper.insertSelective(userCoupon); + // 闇�瑕佹縺娲诲埜 + if (typeEnum == CouponTypeEnum.freeCoupon) { + userSystemCouponActivateService.addActivateRecord(userCoupon.getId()); + } + + if (num == 1) { + userSystemCoupon = userCoupon; + } + } + executor.execute(new Runnable() { @Override - public void run() { // 绂忓埄涓績绾㈢偣 + public void run() { + if (notify) { // 娑堟伅鎺ㄩ�� + try { + userOtherMsgNotificationService.freeCouponWinMsg(uid, typeEnum.getDesc(), source, + num, "鎴愬姛鑾峰緱", nowTime, endTime); + } catch (Exception e) { + e.printStackTrace(); + } + } + + // 绂忓埄涓績绾㈢偣 UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(uid); if (extra != null) { UserInfoExtra updateExtra = new UserInfoExtra(); @@ -322,29 +313,86 @@ } } }); + + return userSystemCoupon; + } + + - // 娑堟伅鎺ㄩ�� - if (needNotify) { - try { - if (coupon.getType() == CouponTypeEnum.welfareFreeCoupon) { - userOtherMsgNotificationService.welfareCouponGet(userCoupon); - } else if (coupon.getType() == CouponTypeEnum.freeCoupon) { - userOtherMsgNotificationService.freeSheetCouponGet(userCoupon); - } else if (coupon.getType() == CouponTypeEnum.rebatePercentCoupon) { - userOtherMsgNotificationService.rewardCouponGet(userCoupon, coupon.getPercent().intValue()); + @Override + @Transactional(rollbackFor=Exception.class) + public UserSystemCoupon rewardCouponWin(Long uid, String source, int num, boolean notify, + BigDecimal percent) throws UserSystemCouponException, Exception{ + if (uid == null || percent == null|| StringUtil.isNullOrEmpty(source) || num < 1) { + throw new UserSystemCouponException(1, "鍙傛暟涓嶆纭�"); + } + + String name = CouponTypeEnum.rebatePercentCoupon.name(); + SystemCoupon coupon = systemCouponService.getCouponByTypeAndPercent(name, percent); + if (coupon == null) { + throw new UserSystemCouponException(1, "鍒哥被鍨嬩笉姝g‘"); + } + + // 璁$畻缁撴潫鏃ユ湡 + Date nowTime = new Date(); + Integer expiryDay = coupon.getExpiryDay(); + String endDay = DateUtil.plusDay(expiryDay - 1, nowTime); + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + if (endDay != null && endDay.trim().length() > 0) { + endDay += " 23:59:59"; + } + Date endTime = format.parse(endDay); + + UserSystemCoupon userSystemCoupon = null; + for (int i = 0; i < num; i ++) { + UserSystemCoupon userCoupon = new UserSystemCoupon(); + userCoupon.setUid(uid); + userCoupon.setSource(source); + userCoupon.setSystemCoupon(coupon); + userCoupon.setState(UserSystemCoupon.STATE_CAN_USE); + userCoupon.setStateActivated(1); + userCoupon.setStartTime(nowTime); + userCoupon.setEndTime(endTime); + userCoupon.setCreateTime(nowTime); + userCoupon.setUpdateTime(nowTime); + userSystemCouponMapper.insertSelective(userCoupon); + if (num == 1) { + userSystemCoupon = userCoupon; + } + } + + executor.execute(new Runnable() { + @Override + public void run() { + if (notify) { // 娑堟伅鎺ㄩ�� + try { + userOtherMsgNotificationService.rewardCouponWinMsg(uid, source, num, "鎴愬姛鑾峰緱", nowTime, endTime); + } catch (Exception e) { + e.printStackTrace(); + } } - - } catch (Exception e) { - try { - LogHelper.errorDetailInfo(e); - } catch (Exception e1) { - e1.printStackTrace(); + + // 绂忓埄涓績绾㈢偣 + UserInfoExtra extra = userInfoExtraService.getUserInfoExtra(uid); + if (extra != null) { + UserInfoExtra updateExtra = new UserInfoExtra(); + updateExtra.setId(extra.getId()); + if (extra.getCouponNews() == null) { + updateExtra.setCouponNews(1); + } else { + updateExtra.setCouponNews(extra.getCouponNews() + 1); + } + userInfoExtraService.updateByPrimaryKeySelective(updateExtra); } } - } - - return userCoupon; + }); + + return userSystemCoupon; } + + + + @Transactional(rollbackFor=Exception.class) @Override @@ -1017,7 +1065,7 @@ userInfoService.selectByPKey(uid).getMyHongBao()); // 娑堟伅鎺ㄩ�� try { - userOtherMsgNotificationService.rewardCouponUsed(userSystemCoupon, hongBao, money, order.getOrderId()); + userOtherMsgNotificationService.rewardCouponEndMsg(uid, userSystemCoupon.getSource(), 1, "浣跨敤鎴愬姛"); } catch (Exception e) { LogHelper.errorDetailInfo(e); } @@ -1312,57 +1360,6 @@ return userRecordVO; } - @Transactional - @Override - public void activatedWelfareFreeCoupon(Long uid, String fromNickName) { - - LogHelper.test("鍒告縺娲�:" + uid); - if (uid == null) { - return; - } - // 绂忓埄鍏嶅崟鍒� - String welfareFree = CouponTypeEnum.welfareFreeCoupon.name(); - - SystemCoupon systemCoupon = systemCouponService.getCouponByType(welfareFree); - if (systemCoupon == null) { - return; - } - - // 寰呮椿绂忓埄鍏嶅崟鍒� - List<UserSystemCoupon> list = userSystemCouponMapper.getCouponByTypeAndNotActivated(uid, systemCoupon.getId()); - if (list == null || list.size() == 0) { - return; - } - - for (UserSystemCoupon userSystemCoupon : list) { - // 婵�娲� - UserSystemCoupon update = new UserSystemCoupon(); - update.setId(userSystemCoupon.getId()); - update.setStateActivated(1); - update.setUpdateTime(new Date()); - userSystemCouponMapper.updateByPrimaryKeySelective(update); - - Integer state = userSystemCoupon.getState(); - if (UserSystemCoupon.STATE_OVERDUE == state) { - continue; // 宸插け鏁堜笉鍋氭秷鎭帹閫� - } - - // 娑堟伅鎺ㄩ�� - try { - UserInfo userInfo = new UserInfo(); - userInfo.setId(uid); - userInfo.setNickName(fromNickName); - - userOtherMsgNotificationService.welfareCouponActive(userSystemCoupon, userInfo); - } catch (Exception e) { - try { - LogHelper.errorDetailInfo(e); - } catch (Exception e1) { - e1.printStackTrace(); - } - } - } - } @Transactional(rollbackFor=Exception.class) @Override @@ -1403,18 +1400,9 @@ record.setUpdateTime(new Date()); record.setState(UserSystemCouponRecord.STATE_SUCCESS); userSystemCouponRecordService.updateByPrimaryKeySelective(record); - - // 娑堟伅鎺ㄩ�� - if (CouponTypeEnum.welfareFreeCoupon.name().equals(record.getCouponType())) { - userOtherMsgNotificationService.welfareCouponUsed(record.getUserSystemCoupon(), orderNo); - } else if (CouponTypeEnum.freeCoupon.name().equals(record.getCouponType())) { - userOtherMsgNotificationService.freeSheetCouponUsed(record.getUserSystemCoupon(), orderNo); - } else if (CouponTypeEnum.freeCouponBuy.name().equals(record.getCouponType())) { - userOtherMsgNotificationService.couponUsedFreeSheet(record.getUserSystemCoupon(), orderNo, - MsgTypeOtherTypeEnum.freeCouponBuy); - } } - + + @Override public List<UserSystemCoupon> getCounponNowInvalid(int count) { return userSystemCouponMapper.getCounponNowInvalid(count); @@ -1484,193 +1472,21 @@ if (couponType == null || couponType.trim().length() == 0) { throw new Exception("鍒哥被鍨嬫湭琚褰�"); } - - if (CouponTypeEnum.welfareFreeCoupon.name().equals(couponType)) { - userOtherMsgNotificationService.welfareCouponUsing(userSystemCoupon, orderNo, payment); - } else if (CouponTypeEnum.freeCoupon.name().equals(couponType)) { - userOtherMsgNotificationService.freeSheetCouponUsing(userSystemCoupon, orderNo, payment); - } else if (CouponTypeEnum.freeCouponBuy.name().equals(couponType)) { - userOtherMsgNotificationService.couponUsingFreeSheet(userSystemCoupon, orderNo, payment, - MsgTypeOtherTypeEnum.freeCouponBuy); - } } } return isfree; } - @Override - @Transactional(rollbackFor=Exception.class) - public void copyLotteryPrize(Long uid, int platform, String device) throws Exception { - return; - - /* - * if (uid == null || device == null) { return; } - * - * // 鏈櫥闄嗕箣鍓嶆娊濂栬褰� List<DeviceLotteryRecord> list = - * deviceLotteryRecordService.listByPlatformAndDevice(platform, device); - * if (list == null || list.size() == 0) { return; } - * - * // 鑾峰彇棰濆淇℃伅 UserInfoExtra userInfoExtra = - * userInfoExtraService.getUserInfoExtra(uid); - * - * // 宸茬粡鎶借繃濂栫殑鎴栬�呭凡缁忚繘鍏ヨ繃鎶藉椤甸潰鐨� if (userInfoExtra != null && - * userInfoExtra.getLotteryNewbies() != null) { return; } - * - * // 鏄惁鏄柊鐢ㄦ埛 boolean isNewUser = userInfoExtraService.isNewUser(uid); if - * (!isNewUser) { return; } - * - * int coupon = 0; - * - * for (DeviceLotteryRecord reviceLotteryRecord : list) { - * - * // 鍒犻櫎璁板綍 - * deviceLotteryRecordService.deleteByPrimaryKey(reviceLotteryRecord. - * getId()); - * - * Long systemCouponId = reviceLotteryRecord.getSystemCouponId(); if - * (systemCouponId == null) { continue; } SystemCoupon systemCoupon = - * systemCouponService.selectByPrimaryKey(systemCouponId); if - * (systemCoupon == null) { continue; } - * - * int stateActivated = 1; if (systemCoupon.getType() == - * CouponTypeEnum.welfareFreeCoupon) { // 绂忓埄鍒哥姸鎬� long countSuccess = - * threeSaleSerivce.countSuccessFirstTeam(uid); // 娌℃湁涓嬬骇闃熷憳 --寰呮縺娲� if - * (countSuccess == 0) { stateActivated = 0; } } - * - * // 缁撴潫鏃ユ湡 // 浠婂ぉ鍦ㄥ唴 鍑忓幓涓�澶� String endDay = - * DateUtil.plusDay(systemCoupon.getExpiryDay() - 1, new Date()); - * SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss" - * ); if (endDay != null && endDay.trim().length() > 0) { endDay += - * " 23:59:59"; } Date endTime = format.parse(endDay); - * - * UserSystemCoupon userCoupon = new UserSystemCoupon(); - * userCoupon.setUid(uid); - * userCoupon.setSource(UserSystemCoupon.SOURCE_NEWBIES); - * userCoupon.setSystemCoupon(systemCoupon); - * userCoupon.setState(UserSystemCoupon.STATE_CAN_USE); - * userCoupon.setStateActivated(stateActivated); - * userCoupon.setStartTime(new Date()); userCoupon.setEndTime(endTime); - * userCoupon.setCreateTime(new Date()); userCoupon.setUpdateTime(new - * Date()); // 鎻掑叆鏁版嵁搴� insertSelective(userCoupon); - * - * // 鍒告暟閲� coupon++; - * - * // 娑堟伅鎺ㄩ�� try { if (systemCoupon.getType() == - * CouponTypeEnum.welfareFreeCoupon) { - * userOtherMsgNotificationService.welfareCouponGet(userCoupon); } else - * if (systemCoupon.getType() == CouponTypeEnum.freeCoupon) { - * userOtherMsgNotificationService.freeSheetCouponGet(userCoupon); } - * else if (systemCoupon.getType() == - * CouponTypeEnum.rebatePercentCoupon) { - * userOtherMsgNotificationService.rewardCouponGet(userCoupon, - * systemCoupon.getPercent().intValue()); } - * - * } catch (Exception e) { try { LogHelper.errorDetailInfo(e); } catch - * (Exception e1) { e1.printStackTrace(); } } } - * - * if (userInfoExtra == null) { userInfoExtra = new UserInfoExtra(); - * userInfoExtra.setUserInfo(new UserInfo(uid)); } - * - * userInfoExtra.setLotteryNewbies(Constant.MAX_COUNT_LOTTERY_NEWBIES - - * list.size()); Integer couponNews = userInfoExtra.getCouponNews(); if - * (couponNews == null) { userInfoExtra.setCouponNews(coupon); } else { - * userInfoExtra.setCouponNews(couponNews + coupon); } - * userInfoExtraService.saveUserInfoExtra(userInfoExtra); - */ - - } - - @Override - @Transactional(rollbackFor=Exception.class) - public void randomRewardCoupon(int num, Long uid, String source) throws Exception { - if (num < 1) { - return; - } - - for (int i = 0; i < num; i++) { - - // 杩斿埄姣�-闅忔満 - BigDecimal percent = new BigDecimal(randomNum()); - // 鏌ヨ濂栧姳鍒� - SystemCoupon systemCoupon = systemCouponService - .getCouponByTypeAndPercent(CouponTypeEnum.rebatePercentCoupon.name(), percent); - if (systemCoupon == null) { - return; - } - - // 缁撴潫鏃ユ湡 浠婂ぉ鍦ㄥ唴 鍑忓幓涓�澶� - String endDay = DateUtil.plusDay(systemCoupon.getExpiryDay() - 1, new Date()); - SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); - if (endDay != null && endDay.trim().length() > 0) { - endDay += " 23:59:59"; - } - Date endTime = format.parse(endDay); - - UserSystemCoupon userCoupon = new UserSystemCoupon(); - userCoupon.setUid(uid); - userCoupon.setSource(source); - userCoupon.setSystemCoupon(systemCoupon); - userCoupon.setState(UserSystemCoupon.STATE_CAN_USE); - userCoupon.setStateActivated(1); - userCoupon.setStartTime(new Date()); - userCoupon.setEndTime(endTime); - userCoupon.setCreateTime(new Date()); - userCoupon.setUpdateTime(new Date()); - // 鎻掑叆鏁版嵁搴� - insertSelective(userCoupon); - - // 娑堟伅鎺ㄩ�� - try { - userOtherMsgNotificationService.rewardCouponGet(userCoupon, systemCoupon.getPercent().intValue()); - } catch (Exception e) { - try { - LogHelper.errorDetailInfo(e); - } catch (Exception e1) { - e1.printStackTrace(); - } - } - } - - // 绂忓埄涓績绾㈢偣 - UserInfoExtra userInfoExtra = userInfoExtraService.getUserInfoExtra(uid); - if (userInfoExtra == null) { - return; - } - - UserInfoExtra extra = new UserInfoExtra(); - extra.setId(userInfoExtra.getId()); - Integer couponNews = userInfoExtra.getCouponNews(); - if (couponNews == null) { - extra.setCouponNews(num); - } else { - extra.setCouponNews(couponNews + num); - } - userInfoExtraService.saveUserInfoExtra(extra); - } - - @Override - @Transactional(rollbackFor = Exception.class) - public void systemGiveRewardCoupon(Long uid, int num, String orderId, Integer orderType, String reason) - throws Exception { - // 娣诲姞濂栧姳鍒� - insertUserCoupon(uid, CouponTypeEnum.rebatePercentCoupon.name(), "绯荤粺璧犻��", - new BigDecimal(configService.get(ConfigKeyEnum.exchangeRebatePercent.getKey())), false); - // 娣诲姞濂栧姳鍒告秷鎭� - userOtherMsgNotificationService.systemGiveRewardCoupon(uid, null, MsgOtherSystemGiveDTOFactory - .createRewardCouponGive(num, "璇锋寜鐓ц繑鍒╁鍔卞埜瑙勫垯浣跨敤", "杩斿埄濂栧姳鍒�", orderId, orderType, reason)); - } /** * 闅忔満鍒告瘮渚� * * @return */ - public int randomNum() { - + private int randomCounponPercent() { int result = 1; - List<RandomProportion> list = new ArrayList<RandomProportion>(); list.add(new RandomProportion(1, 22)); list.add(new RandomProportion(2, 22)); @@ -1691,21 +1507,16 @@ int minRange = 0; int maxRange = 0; int randomNum = (int) (1 + Math.round(Math.random() * (199))); - for (int i = 0; i < list.size(); i++) { - RandomProportion proportion = list.get(i); int probability = proportion.probability; - maxRange = maxRange + probability; minRange = maxRange - probability; - if (randomNum > minRange && randomNum <= maxRange) { result = proportion.num; break; } } - return result; } @@ -2206,25 +2017,19 @@ continue; } - // 娑堟伅鎺ㄩ�� - try { - if (baseCoupon.getType() == CouponTypeEnum.welfareFreeCoupon) { - userOtherMsgNotificationService.welfareCouponAlreadyOutOfDate(userSystemCoupon); - } else if (baseCoupon.getType() == CouponTypeEnum.freeCoupon) { - userOtherMsgNotificationService.freeSheetCouponAlreadyOutOfDate(userSystemCoupon); - } else if (baseCoupon.getType() == CouponTypeEnum.rebatePercentCoupon) { - userOtherMsgNotificationService.rewardCouponAlreadyOutOfDate(userSystemCoupon); - } else if (baseCoupon.getType() == CouponTypeEnum.freeCouponBuy) { - userOtherMsgNotificationService.outOfDate(userSystemCoupon, MsgTypeOtherTypeEnum.freeCouponBuy); - } else if (baseCoupon.getType() == CouponTypeEnum.freeCouponGive) { - userOtherMsgNotificationService.outOfDate(userSystemCoupon, MsgTypeOtherTypeEnum.freeCouponGive); + + try { // 娑堟伅鎺ㄩ�� + Long uid = userCoupon.getUid(); + String source = userCoupon.getSource(); + if (baseCoupon.getType() == CouponTypeEnum.freeCoupon || baseCoupon.getType() == CouponTypeEnum.freeCouponBuy) { + userOtherMsgNotificationService.freeCouponEndMsg(uid, "鑷喘鍏嶅崟鍒�", source, 1, "宸茶繃鏈�"); + } else if (baseCoupon.getType() == CouponTypeEnum.freeCouponGive) { + userOtherMsgNotificationService.freeCouponEndMsg(uid, "璧犻�佸厤鍗曞埜", source, 1, "宸茶繃鏈�"); + } if (baseCoupon.getType() == CouponTypeEnum.rebatePercentCoupon) { + userOtherMsgNotificationService.rewardCouponEndMsg(uid, source, 1, "宸茶繃鏈�"); } } catch (Exception e) { - try { - LogHelper.errorDetailInfo(e); - } catch (Exception e1) { - e1.printStackTrace(); - } + e.printStackTrace(); } } } @@ -2263,13 +2068,12 @@ // 浣跨敤璁板綍 if (record != null) { - if (CouponTypeEnum.welfareFreeCoupon.name().equals(record.getCouponType())) { - userOtherMsgNotificationService.welfareCouponDrawBack(userSystemCoupon, record.getOrderNo()); - } else if (CouponTypeEnum.freeCoupon.name().equals(record.getCouponType())) { - userOtherMsgNotificationService.freeSheetCouponDrawBack(userSystemCoupon, record.getOrderNo()); - } else if (CouponTypeEnum.freeCouponBuy.name().equals(record.getCouponType())) { - userOtherMsgNotificationService.couponDrawBack(userSystemCoupon, record.getOrderNo(), - MsgTypeOtherTypeEnum.freeCouponBuy); + Long uid = userCoupon.getUid(); + String source = userCoupon.getSource(); + Date startTime = userCoupon.getStartTime(); + if (CouponTypeEnum.freeCoupon.name().equals(record.getCouponType()) + || CouponTypeEnum.freeCouponBuy.name().equals(record.getCouponType())) { + userOtherMsgNotificationService.freeCouponWinMsg(uid, "鑷喘鍏嶅崟鍒�", source, 1, "浣跨敤閫�鍥�", startTime, endTime); } } } @@ -2392,22 +2196,16 @@ return; // 閫�鍥炴秷鎭� - String couponName = systemCoupon.getName(); - if (CouponTypeEnum.freeCouponGive == systemCoupon.getType()) { - couponName = "鍏嶅崟鍒�"; + Long uid = userCoupon.getUid(); + String source = userCoupon.getSource(); + CouponTypeEnum type = systemCoupon.getType(); + if (CouponTypeEnum.freeCouponGive == type) { + userOtherMsgNotificationService.freeCouponWinMsg(uid, type.getDesc(), source, 1, "浣跨敤閫�鍥�", + userCoupon.getStartTime(), userCoupon.getEndTime()); } else if (CouponTypeEnum.rebatePercentCoupon == systemCoupon.getType()) { - couponName = "濂栧姳鍒�"; + userOtherMsgNotificationService.rewardCouponWinMsg(uid, source, 1, "浣跨敤閫�鍥�", + userCoupon.getStartTime(), userCoupon.getEndTime()); } - - String beiZhu = "璇峰埌鎴戠殑-绂忓埄涓績鏌ョ湅"; - SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm"); - MsgOtherGiveContentDTO msgOther = new MsgOtherGiveContentDTO(); - msgOther.setType(MsgOtherGiveContentDTO.TYEP_COUPON); - msgOther.setTitle(couponName + "閫�鍥�"); - msgOther.setGiveType("浣犺禒閫佺殑" + couponName + "鏈鎴愬姛棰嗗彇"); - msgOther.setGiveTime(sd.format(giveRecord.getGiveTime())); - msgOther.setReturnTime(sd.format(new Date())); - userOtherMsgNotificationService.tokenGiveMsg(giveRecord.getGiveUid(), beiZhu, msgOther); } @Override @@ -2473,22 +2271,16 @@ continue; // 閫�鍥炴秷鎭� - String couponName = systemCoupon.getName(); - if (CouponTypeEnum.freeCouponGive == systemCoupon.getType()) { - couponName = "鍏嶅崟鍒�"; + Long uid = userCoupon.getUid(); + String source = userCoupon.getSource(); + CouponTypeEnum type = systemCoupon.getType(); + if (CouponTypeEnum.freeCouponGive == type) { + userOtherMsgNotificationService.freeCouponWinMsg(uid, type.getDesc(), source, 1, "浣跨敤閫�鍥�", + userCoupon.getStartTime(), userCoupon.getEndTime()); } else if (CouponTypeEnum.rebatePercentCoupon == systemCoupon.getType()) { - couponName = "濂栧姳鍒�"; + userOtherMsgNotificationService.rewardCouponWinMsg(uid, source, 1, "浣跨敤閫�鍥�", + userCoupon.getStartTime(), userCoupon.getEndTime()); } - - String beiZhu = "璇峰埌鎴戠殑-绂忓埄涓績鏌ョ湅"; - SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm"); - MsgOtherGiveContentDTO msgOther = new MsgOtherGiveContentDTO(); - msgOther.setType(MsgOtherGiveContentDTO.TYEP_COUPON); - msgOther.setTitle(couponName + "閫�鍥�"); - msgOther.setGiveType("浣犺禒閫佺殑" + couponName + "鏈鎴愬姛棰嗗彇"); - msgOther.setGiveTime(sd.format(record.getGiveTime())); - msgOther.setReturnTime(sd.format(new Date())); - userOtherMsgNotificationService.tokenGiveMsg(record.getGiveUid(), beiZhu, msgOther); } } @@ -2675,26 +2467,10 @@ executor.execute(new Runnable() { @Override public void run() { - UserSystemCouponGiveRecord giveRecord = userSystemCouponGiveRecordService - .getByReceiveId(coupon.getId()); - if (giveRecord == null) - return; - - Long giveUid = giveRecord.getGiveUid(); - UserInfo userInfo = userInfoService.selectByPKey(giveUid); - if (userInfo == null) - return; - - String beiZhu = "璇峰埌鎴戠殑-绂忓埄涓績涓煡鐪�"; - SimpleDateFormat sd = new SimpleDateFormat("yyyy.MM.dd HH:mm"); - MsgOtherCouponActivateDTO msgOther = new MsgOtherCouponActivateDTO(); - msgOther.setTitle("鍏嶅崟鍒告縺娲�"); - msgOther.setType("鍏嶅崟鍒哥郴缁熷凡鑷姩婵�娲�"); - msgOther.setExplain("婊¤冻" + systemCoupon.getActivateDay() + "澶╁唴浜х敓" + limitNum + "绗斿凡鍒拌处杩斿埄璁㈠崟"); - msgOther.setGiveUser("鏄电О锛�" + userInfo.getNickName() + " ID锛�" + giveUid); - msgOther.setReceiveTime(sd.format(giveRecord.getReceiveTime())); - msgOther.setValidityTime(expiryDay + "澶�"); - userOtherMsgNotificationService.giveCouponActivateMsg(coupon.getUid(), beiZhu, msgOther); + Long uid = coupon.getUid(); + String source = coupon.getSource(); + userOtherMsgNotificationService.freeCouponWinMsg(uid, "鑷喘鍏嶅崟鍒�", source, 1, + "婵�娲绘垚鍔�", nowDate, endTime); } }); } catch (Exception e) { @@ -2702,4 +2478,5 @@ LogHelper.errorDetailInfo(e); } } + } -- Gitblit v1.8.0