From 554de444b87aab5f93cb1593a8095612cf9479a7 Mon Sep 17 00:00:00 2001
From: yujian <yujian@163.com>
Date: 星期二, 09 六月 2020 17:34:30 +0800
Subject: [PATCH] 订单

---
 fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ScanHistoryV2ServiceImpl.java |  105 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 96 insertions(+), 9 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ScanHistoryV2ServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ScanHistoryV2ServiceImpl.java
index e8bdcc4..868db00 100644
--- a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ScanHistoryV2ServiceImpl.java
+++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/ScanHistoryV2ServiceImpl.java
@@ -8,9 +8,13 @@
 import org.springframework.stereotype.Service;
 
 import com.yeshi.fanli.dao.mybatis.goods.ScanHistoryV2Mapper;
+import com.yeshi.fanli.dto.pdd.PDDGoodsDetail;
+import com.yeshi.fanli.dto.suning.SuningGoodsInfo;
+import com.yeshi.fanli.dto.vip.goods.VIPGoodsInfo;
 import com.yeshi.fanli.entity.bus.user.UserInfo;
 import com.yeshi.fanli.entity.goods.CommonGoods;
 import com.yeshi.fanli.entity.goods.ScanHistoryV2;
+import com.yeshi.fanli.entity.jd.JDGoods;
 import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
 import com.yeshi.fanli.exception.goods.CommonGoodsException;
 import com.yeshi.fanli.exception.goods.ScanHistoryException;
@@ -29,23 +33,87 @@
 	private ScanHistoryV2Mapper scanHistoryV2Mapper;
 
 	@Override
-	public void addScanHistory(Long uid, String device, TaoBaoGoodsBrief goods)
+	public void addVIPScanHistory(Long uid, String device, VIPGoodsInfo goods)
+			throws CommonGoodsException, ScanHistoryException {
+
+		if (uid == null && StringUtil.isNullOrEmpty(device))
+			throw new ScanHistoryException(1, "璁惧鎴栫敤鎴蜂俊鎭己澶�");
+
+		CommonGoods commonGoods = CommonGoodsFactory.create(goods);
+		addScanHistory(commonGoods, device, uid);
+	}
+
+	@Override
+	public void addSuningScanHistory(Long uid, String device, SuningGoodsInfo suningGoods)
 			throws CommonGoodsException, ScanHistoryException {
 		if (uid == null && StringUtil.isNullOrEmpty(device))
 			throw new ScanHistoryException(1, "璁惧鎴栫敤鎴蜂俊鎭己澶�");
-		CommonGoods commonGoods = CommonGoodsFactory.create(goods);
+
+		CommonGoods commonGoods = CommonGoodsFactory.create(suningGoods);
+		addScanHistory(commonGoods, device, uid);
+	}
+
+	private void addScanHistory(CommonGoods commonGoods, String device, Long uid)
+			throws CommonGoodsException, ScanHistoryException {
 		commonGoods = commonGoodsService.addOrUpdateCommonGoods(commonGoods);
 		if (commonGoods == null)
 			throw new CommonGoodsException(2, "鍟嗗搧淇℃伅涓嶅畬鏁�");
+
 		// 娣诲姞娴忚璁板綍
 		ScanHistoryV2 scanHistoryV2 = new ScanHistoryV2();
 		scanHistoryV2.setCommonGoods(commonGoods);
 		scanHistoryV2.setCreateTime(new Date());
 		scanHistoryV2.setDevice(device);
+
 		if (uid != null)
 			scanHistoryV2.setUserInfo(new UserInfo(uid));
+
 		scanHistoryV2.setUpdateTime(new Date());
 		scanHistoryV2Mapper.insertSelective(scanHistoryV2);
+	}
+
+	@Override
+	public void addScanHistory(Long uid, String device, TaoBaoGoodsBrief goods)
+			throws CommonGoodsException, ScanHistoryException {
+		if (uid == null && StringUtil.isNullOrEmpty(device))
+			throw new ScanHistoryException(1, "璁惧鎴栫敤鎴蜂俊鎭己澶�");
+
+		CommonGoods commonGoods = CommonGoodsFactory.create(goods);
+		commonGoods = commonGoodsService.addOrUpdateCommonGoods(commonGoods);
+		if (commonGoods == null)
+			throw new CommonGoodsException(2, "鍟嗗搧淇℃伅涓嶅畬鏁�");
+
+		// 娣诲姞娴忚璁板綍
+		ScanHistoryV2 scanHistoryV2 = new ScanHistoryV2();
+		scanHistoryV2.setCommonGoods(commonGoods);
+		scanHistoryV2.setCreateTime(new Date());
+		scanHistoryV2.setDevice(device);
+
+		if (uid != null)
+			scanHistoryV2.setUserInfo(new UserInfo(uid));
+
+		scanHistoryV2.setUpdateTime(new Date());
+		scanHistoryV2Mapper.insertSelective(scanHistoryV2);
+	}
+
+	@Override
+	public void addJDScanHistory(Long uid, String device, JDGoods goods)
+			throws CommonGoodsException, ScanHistoryException {
+		if (uid == null && StringUtil.isNullOrEmpty(device))
+			throw new ScanHistoryException(1, "璁惧鎴栫敤鎴蜂俊鎭己澶�");
+
+		CommonGoods commonGoods = CommonGoodsFactory.create(goods);
+		addScanHistory(commonGoods, device, uid);
+	}
+
+	@Override
+	public void addPDDScanHistory(Long uid, String device, PDDGoodsDetail pddGoods)
+			throws CommonGoodsException, ScanHistoryException {
+		if (uid == null && StringUtil.isNullOrEmpty(device))
+			throw new ScanHistoryException(1, "璁惧鎴栫敤鎴蜂俊鎭己澶�");
+
+		CommonGoods commonGoods = CommonGoodsFactory.create(pddGoods);
+		addScanHistory(commonGoods, device, uid);
 	}
 
 	@Override
@@ -63,17 +131,19 @@
 	}
 
 	@Override
-	public List<ScanHistoryV2> getScanHistoryByDeviceOrUid(Long uid, String device, int page, int pageSize) {
+	public List<ScanHistoryV2> getScanHistoryByDeviceOrUid(Long uid, String device, int page, int pageSize,
+			Integer source, boolean notBackSuVip) {
 		if (uid == null && StringUtil.isNullOrEmpty(device))
 			return null;
-		return scanHistoryV2Mapper.selectByDeviceOrUid(uid, device, (page - 1) * pageSize, pageSize);
+		return scanHistoryV2Mapper.selectByDeviceOrUid(uid, device, (page - 1) * pageSize, pageSize, source,
+				notBackSuVip);
 	}
 
 	@Override
-	public long getCountByDeviceOrUid(Long uid, String device) {
+	public long getCountByDeviceOrUid(Long uid, String device, Integer source, boolean notBackSuVip) {
 		if (uid == null && StringUtil.isNullOrEmpty(device))
 			return 0;
-		Long count = scanHistoryV2Mapper.selectCountByDeviceOrUid(uid, device);
+		Long count = scanHistoryV2Mapper.selectCountByDeviceOrUid(uid, device, source, notBackSuVip);
 		return count == null ? 0 : count;
 	}
 
@@ -81,18 +151,35 @@
 	public void deleteByDeviceOrUid(Long uid, String device) {
 		if (uid == null && StringUtil.isNullOrEmpty(device))
 			return;
-		scanHistoryV2Mapper.deleteByDeviceOrUid(uid, device);
+		List<ScanHistoryV2> list = scanHistoryV2Mapper.listDeviceOrUid(uid, device);
+		if (list != null)
+			for (ScanHistoryV2 sv : list)
+				scanHistoryV2Mapper.deleteByPrimaryKey(sv.getId());
 	}
 
 	@Override
 	public void deleteByAuctionIdAndDeviceOrUid(Long uid, String device, Long auctionId) {
 		if (uid == null && StringUtil.isNullOrEmpty(device))
 			return;
-		List<ScanHistoryV2> list = scanHistoryV2Mapper.selectByDeviceOrUidAndGoodsIdAndGoodsType(uid, device, auctionId,
-				CommonGoods.GOODS_TYPE_TB);
+		List<ScanHistoryV2> list = scanHistoryV2Mapper.selectByDeviceOrUidAndGoodsIdAndGoodsType(uid, device,
+				auctionId);
 		if (list != null)
 			for (ScanHistoryV2 sv : list)
 				scanHistoryV2Mapper.deleteByPrimaryKey(sv.getId());
 	}
 
+	@Override
+	public void deleteByCommonIdAndDeviceOrUid(Long uid, String device, Long commonId) {
+		if (uid == null && StringUtil.isNullOrEmpty(device)) {
+			return;
+		}
+
+		List<ScanHistoryV2> list = scanHistoryV2Mapper.getByCommonGoodsId(uid, device, commonId);
+		if (list != null && list.size() > 0) {
+			for (ScanHistoryV2 sv : list) {
+				scanHistoryV2Mapper.deleteByPrimaryKey(sv.getId());
+			}
+		}
+	}
+
 }

--
Gitblit v1.8.0