package com.yeshi.fanli.service.impl.user;
|
|
import java.util.Date;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Service;
|
|
import com.yeshi.fanli.dao.mybatis.user.UserSystemCouponActivateMapper;
|
import com.yeshi.fanli.entity.bus.user.UserSystemCouponActivate;
|
import com.yeshi.fanli.service.inter.config.ConfigService;
|
import com.yeshi.fanli.service.inter.user.UserSystemCouponActivateService;
|
|
@Service
|
public class UserSystemCouponActivateServiceImpl implements UserSystemCouponActivateService{
|
|
@Resource
|
private UserSystemCouponActivateMapper userSystemCouponActivateMapper;
|
|
@Resource
|
private ConfigService configService;
|
|
|
@Override
|
public boolean addActivateCount(Long cpid, int limitNum) {
|
UserSystemCouponActivate coupon = userSystemCouponActivateMapper.selectByPrimaryKey(cpid);
|
if (coupon != null) {
|
userSystemCouponActivateMapper.addCount(cpid, 1);
|
coupon.setCount(coupon.getCount() + 1);
|
} else {
|
coupon = new UserSystemCouponActivate();
|
coupon.setId(cpid);
|
coupon.setCount(1);
|
coupon.setState(UserSystemCouponActivate.STATE_INIT);
|
coupon.setCreateTime(new Date());
|
coupon.setUpdateTime(new Date());
|
userSystemCouponActivateMapper.insertSelective(coupon);
|
}
|
|
// 是否满足激活条件
|
Integer state = coupon.getState();
|
if (state != UserSystemCouponActivate.STATE_END && coupon.getCount().intValue() >= limitNum) {
|
UserSystemCouponActivate record = new UserSystemCouponActivate();
|
record.setId(coupon.getId());
|
record.setState(UserSystemCouponActivate.STATE_END);
|
userSystemCouponActivateMapper.updateByPrimaryKeySelective(record);
|
return true;
|
}
|
return false;
|
}
|
|
@Override
|
public int getActivateCount(Long id) {
|
UserSystemCouponActivate coupon = userSystemCouponActivateMapper.selectByPrimaryKey(id);
|
if (coupon != null)
|
return coupon.getCount();
|
|
return 0;
|
}
|
}
|