package com.yeshi.fanli.service.impl.brand;
|
|
import java.util.Date;
|
import java.util.List;
|
|
import javax.annotation.Resource;
|
|
import org.springframework.core.task.TaskExecutor;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import com.yeshi.fanli.dao.mybatis.brand.TaoBaoShopHistoryMapper;
|
import com.yeshi.fanli.entity.brand.TaoBaoShopHistory;
|
import com.yeshi.common.entity.taobao.TaoBaoShop;
|
import com.yeshi.fanli.service.inter.brand.BrandClassShopService;
|
import com.yeshi.fanli.service.inter.brand.TaoBaoShopHistoryService;
|
|
@Service
|
public class TaoBaoShopHistoryServiceImpl implements TaoBaoShopHistoryService {
|
|
@Resource
|
private TaoBaoShopHistoryMapper taoBaoShopHistoryMapper;
|
|
@Resource(name = "taskExecutor")
|
private TaskExecutor executor;
|
|
@Resource
|
private BrandClassShopService brandClassShopService;
|
|
|
@Override
|
@Transactional
|
public void deleteHistory(List<String> list, Long uid, String device) {
|
if (list == null || list.size() == 0) {
|
return;
|
}
|
|
if (uid == null || uid == 0) {
|
for (String shopId:list) {
|
taoBaoShopHistoryMapper.updateByDevice(Long.parseLong(shopId), device);
|
}
|
} else {
|
for (String shopId:list) {
|
taoBaoShopHistoryMapper.updateByUid(Long.parseLong(shopId), uid);
|
}
|
}
|
}
|
|
|
@Override
|
public void addHistory(Long shopId, Long uid, String device) {
|
TaoBaoShopHistory record = null;
|
if (uid == null || uid == 0) {
|
record = taoBaoShopHistoryMapper.getByDevice(shopId, device);
|
} else {
|
record = taoBaoShopHistoryMapper.getByUid(shopId, uid);
|
}
|
|
if (record != null) {
|
TaoBaoShopHistory update = new TaoBaoShopHistory();
|
update.setState(0);
|
update.setId(record.getId());
|
update.setUpdateTime(new Date());
|
taoBaoShopHistoryMapper.updateByPrimaryKeySelective(update);
|
} else {
|
record = new TaoBaoShopHistory();
|
record.setUid(uid);
|
record.setDevice(device);
|
record.setTaoBaoShop(new TaoBaoShop(shopId));
|
record.setCreateTime(new Date());
|
record.setUpdateTime(new Date());
|
taoBaoShopHistoryMapper.insertSelective(record);
|
}
|
|
executor.execute(new Runnable() {
|
@Override
|
public void run() {
|
brandClassShopService.addClick(shopId);
|
}
|
});
|
}
|
|
@Override
|
public List<TaoBaoShopHistory> listByUid(long start, int count, Long uid) {
|
return taoBaoShopHistoryMapper.listByUid(start, count, uid);
|
}
|
|
@Override
|
public long countByUid(Long uid) {
|
return taoBaoShopHistoryMapper.countByUid(uid);
|
}
|
|
|
@Override
|
public List<TaoBaoShopHistory> listByDevice(long start, int count,String device) {
|
return taoBaoShopHistoryMapper.listByDevice(start, count, device);
|
}
|
|
@Override
|
public long countByDevice(String device) {
|
return taoBaoShopHistoryMapper.countByDevice(device);
|
}
|
|
|
@Override
|
public long countByShopId(Long shopId) {
|
return taoBaoShopHistoryMapper.countByShopId(shopId);
|
}
|
}
|