Search in sources :

Example 1 with Share

use of com.ikoori.vip.common.persistence.model.Share in project vip by guangdada.

the class ShareServiceImpl method activeShare.

/**
 * 受邀人激活成功后,奖励邀请人
 *
 * @Title: activeShare
 * @param receiveMem 受邀人
 * @date: 2017年10月9日 上午10:04:53
 * @author: chengxg
 */
@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
public void activeShare(Member receiveMem) {
    log.info("进入activeShare" + receiveMem.getUnionid());
    // Member receiveMem = memberDao.getMemberByUnionid(receiveUnionid);
    // 获得分享规则
    Share share = getShare(receiveMem.getMerchantId());
    if (share == null) {
        log.info("没有设置分享规则");
        return;
    }
    // 获得邀请记录,得到邀请人信息
    ShareLog shareLog = getShareLog(receiveMem.getUnionid());
    if (shareLog == null) {
        log.info("没有找到邀请记录");
        return;
    }
    // 判断邀请人当月已经邀请人数(激活成功为准)是否已经超过限制
    if (share.getShareCount() != null) {
        int shareCount = shareLogDao.getShareCount(shareLog.getShareUnionid(), DateUtil.getDay(shareLog.getCreateTime()));
        if (shareCount >= share.getShareCount()) {
            log.info("邀请人当月邀请人数为:" + shareCount + "超过限制的:" + share.getShareCount());
            return;
        }
    }
    // 同一IP仅限第一个注册的好友加积分
    int shareIpCount = getShareCountByIp(shareLog.getShareUnionid(), shareLog.getReceiveIp());
    if (shareIpCount >= 1) {
        log.info("邀请人已经邀请过ip:" + shareLog.getReceiveIp() + "获得奖励");
        return;
    }
    // 邀请人
    Member shareMem = memberDao.getMemberByUnionid(shareLog.getShareUnionid());
    if (shareMem == null) {
        log.info("没有找到unionid:" + shareLog.getShareUnionid() + "的邀请人");
        return;
    }
    // 赠送邀请人积分或优惠券
    Integer point = share.getPoint();
    if (point != null) {
        log.info("奖励邀请人积分:" + point);
        pointTradeService.savePointTrade(true, PointTradeType.SHARE.getCode(), point, shareMem.getId(), null, shareMem.getMerchantId(), null, "");
    }
    Long couponId = share.getCouponId();
    if (couponId != null) {
        Coupon coupon = couponMapper.selectById(couponId);
        log.info("奖励邀请人优惠券:" + coupon.getName());
        couponFetchService.saveCouponFetch(shareMem, coupon, null);
    }
    // 修改邀请记录状态为“邀请成功”
    shareLog.setReceiveStatus(true);
    shareLogMapper.updateById(shareLog);
    log.info("结束activeShare");
}
Also used : ShareLog(com.ikoori.vip.common.persistence.model.ShareLog) Coupon(com.ikoori.vip.common.persistence.model.Coupon) Share(com.ikoori.vip.common.persistence.model.Share) Member(com.ikoori.vip.common.persistence.model.Member) Transactional(org.springframework.transaction.annotation.Transactional)

Example 2 with Share

use of com.ikoori.vip.common.persistence.model.Share in project vip by guangdada.

the class ShareServiceImpl method saveShare.

@Override
@Transactional(readOnly = false, propagation = Propagation.REQUIRED)
public void saveShare(Share share) {
    if (share.getId() == null) {
        if (!checkShare(share.getMerchantId())) {
            throw new BussinessException(500, "只能有一条分享规则");
        }
        shareMapper.insert(share);
    } else {
        Share sharedb = shareMapper.selectById(share.getId());
        sharedb.setCouponId(share.getCouponId());
        sharedb.setPoint(share.getPoint());
        sharedb.setShareCount(share.getShareCount());
        sharedb.setUpdateTime(new Date());
        shareMapper.updateAllColumnById(sharedb);
    }
}
Also used : Share(com.ikoori.vip.common.persistence.model.Share) BussinessException(com.ikoori.vip.common.exception.BussinessException) Date(java.util.Date) Transactional(org.springframework.transaction.annotation.Transactional)

Example 3 with Share

use of com.ikoori.vip.common.persistence.model.Share in project vip by guangdada.

the class ShareController method shareUpdate.

/**
 * 跳转到修改分享规则
 */
@Permission
@RequestMapping("/share_update/{shareId}")
public String shareUpdate(@PathVariable Long shareId, Model model) {
    Long userId = Long.valueOf(ShiroKit.getUser().getId());
    Merchant merchant = merchantService.getMerchantUserId(userId);
    Map<String, Object> couponCon = new HashMap<String, Object>();
    couponCon.put("merchantId", merchant.getId());
    couponCon.put("type", CouponType.YHQ.getCode());
    couponCon.put("invalid", true);
    List<Coupon> coupons = couponService.selectByCondition(couponCon);
    Share share = shareService.selectById(shareId);
    model.addAttribute(share);
    // 查询优惠群
    model.addAttribute("coupons", coupons);
    return PREFIX + "share_edit.html";
}
Also used : Coupon(com.ikoori.vip.common.persistence.model.Coupon) Merchant(com.ikoori.vip.common.persistence.model.Merchant) HashMap(java.util.HashMap) Share(com.ikoori.vip.common.persistence.model.Share) Permission(com.ikoori.vip.common.annotion.Permission) RequestMapping(org.springframework.web.bind.annotation.RequestMapping)

Aggregations

Share (com.ikoori.vip.common.persistence.model.Share)3 Coupon (com.ikoori.vip.common.persistence.model.Coupon)2 Transactional (org.springframework.transaction.annotation.Transactional)2 Permission (com.ikoori.vip.common.annotion.Permission)1 BussinessException (com.ikoori.vip.common.exception.BussinessException)1 Member (com.ikoori.vip.common.persistence.model.Member)1 Merchant (com.ikoori.vip.common.persistence.model.Merchant)1 ShareLog (com.ikoori.vip.common.persistence.model.ShareLog)1 Date (java.util.Date)1 HashMap (java.util.HashMap)1 RequestMapping (org.springframework.web.bind.annotation.RequestMapping)1