记得上下班打卡 | git大法好,push需谨慎

Commit f7f4de03 authored by 胡佳晨's avatar 胡佳晨

提交 接口 同步 spu库存

parent 11d55689
...@@ -18,9 +18,11 @@ import com.liquidnet.service.goblin.mapper.GoblinGoodsSkuMapper; ...@@ -18,9 +18,11 @@ import com.liquidnet.service.goblin.mapper.GoblinGoodsSkuMapper;
import com.liquidnet.service.goblin.service.IGoblinErpService; import com.liquidnet.service.goblin.service.IGoblinErpService;
import com.liquidnet.service.platform.utils.GoblinRedisUtils; import com.liquidnet.service.platform.utils.GoblinRedisUtils;
import com.liquidnet.service.platform.utils.QueueUtils; import com.liquidnet.service.platform.utils.QueueUtils;
import com.mongodb.BasicDBObject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.MongoTemplate;
import org.springframework.data.mongodb.core.convert.MongoConverter;
import org.springframework.data.mongodb.core.query.Criteria; import org.springframework.data.mongodb.core.query.Criteria;
import org.springframework.data.mongodb.core.query.Query; import org.springframework.data.mongodb.core.query.Query;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -50,6 +52,8 @@ public class WdtServiceImpl implements IGoblinErpService { ...@@ -50,6 +52,8 @@ public class WdtServiceImpl implements IGoblinErpService {
@Autowired @Autowired
MongoTemplate mongoTemplate; MongoTemplate mongoTemplate;
@Autowired @Autowired
MongoConverter mongoConverter;
@Autowired
QueueUtils queueUtils; QueueUtils queueUtils;
@Override @Override
...@@ -99,10 +103,10 @@ public class WdtServiceImpl implements IGoblinErpService { ...@@ -99,10 +103,10 @@ public class WdtServiceImpl implements IGoblinErpService {
List<StockQueryVo> stockQueryVos = data.getStocks(); List<StockQueryVo> stockQueryVos = data.getStocks();
for (StockQueryVo stockQueryVo : stockQueryVos) { for (StockQueryVo stockQueryVo : stockQueryVos) {
try { try {
BigDecimal avaliableNum = stockQueryVo.getAvaliable_num();//可发库存 BigDecimal stockNum = stockQueryVo.getStock_num();//可发库存
SyncStockVo vo = SyncStockVo.getNew(); SyncStockVo vo = SyncStockVo.getNew();
vo.setSpecNo(stockQueryVo.getSpec_no()); vo.setSpecNo(stockQueryVo.getSpec_no());
vo.setStockErpNum(avaliableNum); vo.setStockErpNum(stockNum);
vo.setWarehouseNo(stockQueryVo.getWarehouse_no()); vo.setWarehouseNo(stockQueryVo.getWarehouse_no());
stockMap.add(vo); stockMap.add(vo);
} catch (Exception e) { } catch (Exception e) {
...@@ -122,14 +126,29 @@ public class WdtServiceImpl implements IGoblinErpService { ...@@ -122,14 +126,29 @@ public class WdtServiceImpl implements IGoblinErpService {
String skuId = ""; String skuId = "";
try { try {
GoblinGoodsSkuInfoVo skuInfoVo = mongoTemplate.findOne(Query.query(Criteria.where("skuErpCode").is(vo.getSpecNo()).and("erpWarehouseNo").is(vo.getWarehouseNo())), GoblinGoodsSkuInfoVo.class, GoblinGoodsSkuInfoVo.class.getSimpleName()); GoblinGoodsSkuInfoVo skuInfoVo = mongoTemplate.findOne(Query.query(Criteria.where("skuErpCode").is(vo.getSpecNo()).and("erpWarehouseNo").is(vo.getWarehouseNo())), GoblinGoodsSkuInfoVo.class, GoblinGoodsSkuInfoVo.class.getSimpleName());
int changeStock = vo.getStockNum().subtract(BigDecimal.valueOf(skuInfoVo.getSkuStock())).intValue(); int changeStock = vo.getStockErpNum().subtract(BigDecimal.valueOf(skuInfoVo.getSkuStock())).intValue();
skuId = skuInfoVo.getSkuId(); skuId = skuInfoVo.getSkuId();
//mongo修改
HashMap<String, Object> map = new HashMap<>();
map.put("stock", vo.getStockErpNum());
map.put("skuStock", vo.getStockErpNum());
BasicDBObject obj = new BasicDBObject("$set", mongoConverter.convertToMongoType(map));
mongoTemplate.getCollection(GoblinGoodsSkuInfoVo.class.getSimpleName()).updateOne(
Query.query(Criteria.where("skuId").is(skuId)).getQueryObject(),
obj);
//sql 当前库存 增加changeStock //sql 当前库存 增加changeStock
queueUtils.sendMsgByGoblinRedis(MQConst.GoblinQueue.GOBLIN_ORDER_CLOSE.getKey(), queueUtils.sendMsgByGoblinRedis(MQConst.GoblinQueue.GOBLIN_ORDER_CLOSE.getKey(),
SqlMapping.get("goblin_sku.stock", vo.getStockNum().intValue(), LocalDateTime.now(), vo.getSpecNo(), vo.getWarehouseNo())); SqlMapping.get("goblin_sku.stock", vo.getStockErpNum().intValue(), vo.getStockErpNum().intValue(), LocalDateTime.now(), vo.getSpecNo(), vo.getWarehouseNo()));
//redis incr 增加changeStock //redis incr 增加changeStock
goblinRedisUtils.incrSkuStock(null, skuId, changeStock); int stock = 0;
if (changeStock > 0) {
stock = goblinRedisUtils.incrSkuStock(null, skuId, changeStock);
} else if (changeStock < 0) {
stock = goblinRedisUtils.decrSkuStock(null, skuId, Math.abs(changeStock));
}
log.info("skuId:{},库存:{}", skuId, stock);
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace();
log.error("同步库存失败 skuId:{},erpSpecNo:{},warehouseNo:{}", skuId, vo.getSpecNo(), vo.getWarehouseNo()); log.error("同步库存失败 skuId:{},erpSpecNo:{},warehouseNo:{}", skuId, vo.getSpecNo(), vo.getWarehouseNo());
} }
} }
......
...@@ -2,4 +2,4 @@ spring: ...@@ -2,4 +2,4 @@ spring:
application: application:
name: liquidnet-service-platform name: liquidnet-service-platform
profiles: profiles:
active: dev active: test
...@@ -4,4 +4,4 @@ goblin_order.close.sku=UPDATE goblin_order_sku SET status = ? ,updated_at = ? WH ...@@ -4,4 +4,4 @@ goblin_order.close.sku=UPDATE goblin_order_sku SET status = ? ,updated_at = ? WH
# ------------------------????---------------------------- # ------------------------????----------------------------
kylin_camera_record.insert=INSERT INTO kylin_camera_record (camera_record_id, camera_id, person_num) VALUES (?,?,?) kylin_camera_record.insert=INSERT INTO kylin_camera_record (camera_record_id, camera_id, person_num) VALUES (?,?,?)
goblin_sku.stock=UPDATE goblin_goods_sku SET sku_stock = ? ,updated_at = ? WHERE sku_erp_code = ? and erp_warehouse_no = ? goblin_sku.stock=UPDATE goblin_goods_sku SET sku_stock = ? , stock = ?, updated_at = ? WHERE sku_erp_code = ? and erp_warehouse_no = ?
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment