admin
2024-10-16 62a447d89331aee1feae7724c7616aa1bb2cfe79
fanli/src/main/java/com/yeshi/fanli/service/impl/brand/TaoBaoShopHistoryServiceImpl.java
@@ -1,109 +1,109 @@
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);
   }
}
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);
   }
}