package com.yeshi.fanli.service.impl.user.invite;
|
|
import java.math.BigDecimal;
|
import java.util.Date;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.stereotype.Service;
|
|
import com.yeshi.fanli.dao.user.invite.TeamFansInfoDao;
|
import com.yeshi.fanli.dto.user.ThreeSaleFocusDTO;
|
import com.yeshi.fanli.entity.bus.user.TeamFansInfo;
|
import com.yeshi.fanli.entity.bus.user.vip.UserLevelEnum;
|
import com.yeshi.fanli.service.inter.user.invite.TeamFansInfoService;
|
import com.yeshi.fanli.service.inter.user.invite.ThreeSaleSerivce;
|
import com.yeshi.fanli.util.StringUtil;
|
|
@Service
|
public class TeamFansInfoServiceImpl implements TeamFansInfoService {
|
|
@Resource
|
private TeamFansInfoDao teamFansInfoDao;
|
|
@Resource
|
private ThreeSaleSerivce threeSaleSerivce;
|
|
@Override
|
public void save(TeamFansInfo record) {
|
if (record == null || record.getWorkerId() == null ) {
|
return;
|
}
|
record.setId(record.getWorkerId().toString());
|
|
TeamFansInfo teamFansInfo = teamFansInfoDao.get(record.getId());
|
if (teamFansInfo != null) {
|
teamFansInfoDao.updateSelective(record);
|
} else {
|
initData(record);
|
record.setUpdateTime(new Date());
|
teamFansInfoDao.save(record);
|
}
|
}
|
|
|
/**
|
* 初始化数据
|
* @param record
|
*/
|
private void initData(TeamFansInfo record) {
|
if (StringUtil.isNullOrEmpty(record.getNickName()))
|
record.setNickName("");
|
if (record.getLevel() == null)
|
record.setLevel(UserLevelEnum.daRen);
|
if (record.getStateValid() == null)
|
record.setStateValid(false);
|
if (record.getTaobaoBind() == null)
|
record.setTaobaoBind(false);
|
if (record.getWeixinBind() == null)
|
record.setWeixinBind(false);
|
if (record.getWeixinId() == null)
|
record.setWeixinId("");
|
if (record.getPhone() == null)
|
record.setPhone("");
|
if (record.getPhoneOpen() == null)
|
record.setPhoneOpen(true);
|
if (record.getInviteCode() == null)
|
record.setInviteCode("");
|
if (record.getActiveTime() == null)
|
record.setActiveTime(new Date());
|
if (record.getFansNum() == null)
|
record.setFansNum(0);
|
if (record.getIncome() != null)
|
record.setIncome(BigDecimal.ZERO);
|
if (record.getIncomeTime() == null)
|
record.setIncomeTime(new Date());
|
if (record.getMemoName() == null)
|
record.setMemoName("");
|
if (record.getTags() != null)
|
record.setTags("");
|
if (record.getMemoNameSup() == null)
|
record.setMemoNameSup("");
|
if (record.getTagsSup() == null)
|
record.setTagsSup("");
|
}
|
|
|
@Override
|
public void updateMemoName(Long workerId, int type, String memoName) {
|
TeamFansInfo teamFansInfo = new TeamFansInfo();
|
teamFansInfo.setWorkerId(workerId);
|
if (type == 1) {
|
teamFansInfo.setMemoName(memoName);
|
} else {
|
teamFansInfo.setMemoNameSup(memoName);
|
}
|
save(teamFansInfo);
|
}
|
|
|
@Override
|
public void updateTags(Long workerId, int type, String tags) {
|
TeamFansInfo teamFansInfo = new TeamFansInfo();
|
teamFansInfo.setWorkerId(workerId);
|
if (type == 1) {
|
teamFansInfo.setTags(tags);
|
} else {
|
teamFansInfo.setTagsSup(tags);
|
}
|
save(teamFansInfo);
|
}
|
|
|
@Override
|
public void updateNickName(Long workerId, String nickName) {
|
TeamFansInfo teamFansInfo = new TeamFansInfo();
|
teamFansInfo.setWorkerId(workerId);
|
teamFansInfo.setNickName(nickName);
|
save(teamFansInfo);
|
}
|
|
|
@Override
|
public void updateStateValid(Long workerId, boolean stateValid) {
|
TeamFansInfo teamFansInfo = new TeamFansInfo();
|
teamFansInfo.setWorkerId(workerId);
|
teamFansInfo.setStateValid(stateValid);
|
save(teamFansInfo);
|
}
|
|
@Override
|
public void updateTaobaoBind(Long workerId, boolean taobaoBind) {
|
TeamFansInfo teamFansInfo = new TeamFansInfo();
|
teamFansInfo.setWorkerId(workerId);
|
teamFansInfo.setTaobaoBind(taobaoBind);
|
save(teamFansInfo);
|
}
|
|
@Override
|
public void updateWeixinBind(Long workerId, boolean weixinBind) {
|
TeamFansInfo teamFansInfo = new TeamFansInfo();
|
teamFansInfo.setWorkerId(workerId);
|
teamFansInfo.setWeixinBind(weixinBind);
|
save(teamFansInfo);
|
}
|
|
@Override
|
public void updateActiveTime(Long workerId, Date activeTime) {
|
TeamFansInfo teamFansInfo = new TeamFansInfo();
|
teamFansInfo.setWorkerId(workerId);
|
teamFansInfo.setActiveTime(activeTime);
|
save(teamFansInfo);
|
}
|
|
|
@Override
|
public void updateWeixinId(Long workerId, String weixinId) {
|
TeamFansInfo teamFansInfo = new TeamFansInfo();
|
teamFansInfo.setWorkerId(workerId);
|
teamFansInfo.setWeixinId(weixinId);
|
save(teamFansInfo);
|
}
|
|
|
@Override
|
public void updateInviteCode(Long workerId, String inviteCode) {
|
TeamFansInfo teamFansInfo = new TeamFansInfo();
|
teamFansInfo.setWorkerId(workerId);
|
teamFansInfo.setInviteCode(inviteCode);
|
save(teamFansInfo);
|
}
|
|
@Override
|
public void updatePhone(Long workerId, String phone) {
|
TeamFansInfo teamFansInfo = new TeamFansInfo();
|
teamFansInfo.setWorkerId(workerId);
|
teamFansInfo.setPhone(phone);
|
save(teamFansInfo);
|
}
|
|
@Override
|
public void updatePhoneOpen(Long workerId, boolean phoneOpen) {
|
TeamFansInfo teamFansInfo = new TeamFansInfo();
|
teamFansInfo.setWorkerId(workerId);
|
teamFansInfo.setPhoneOpen(phoneOpen);
|
save(teamFansInfo);
|
}
|
|
|
@Override
|
public void updateIncome(Long workerId, BigDecimal income) {
|
TeamFansInfo teamFansInfo = new TeamFansInfo();
|
teamFansInfo.setWorkerId(workerId);
|
teamFansInfo.setIncome(income);
|
teamFansInfo.setIncomeTime(new Date());
|
save(teamFansInfo);
|
}
|
|
@Override
|
public void updateFansNum(Long workerId) {
|
long firstTeam = threeSaleSerivce.countFirstTeam(workerId);
|
long secondTeam = threeSaleSerivce.countSecondTeam(workerId);
|
int fansNum = (int) (firstTeam + secondTeam);
|
TeamFansInfo teamFansInfo = new TeamFansInfo();
|
teamFansInfo.setWorkerId(workerId);
|
teamFansInfo.setFansNum(fansNum);
|
save(teamFansInfo);
|
}
|
|
|
@Override
|
public List<TeamFansInfo> query(int start, int count, int type, Long uid, ThreeSaleFocusDTO focusDTO) {
|
return teamFansInfoDao.query(start, count, type, uid, focusDTO);
|
}
|
|
@Override
|
public long count(int type, Long uid, ThreeSaleFocusDTO focusDTO) {
|
return teamFansInfoDao.count(type, uid, focusDTO);
|
}
|
|
@Override
|
public TeamFansInfo getbyWorkerId(Long workerId) {
|
return teamFansInfoDao.getbyWorkerId(workerId);
|
}
|
}
|