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");
}
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);
}
}
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";
}
Aggregations