|
@@ -189,6 +189,9 @@ public class ScanRecordService extends ServiceImpl<ScanRecordMapper,ScanRecord>{
|
|
|
for (TyreMsgDTO tyreMsgDTO : storeBrandTyres) {
|
|
|
RLock lock = redissonClient.getLock(tyreMsgDTO.getTireNumber());
|
|
|
lock.lock(30, TimeUnit.SECONDS);
|
|
|
+ // 测试代码!!!!!!
|
|
|
+ tyreMsgDTO.setFlagRegular(0);
|
|
|
+ // 测试代码结束!!!!
|
|
|
try {
|
|
|
StoreAgentBrandLv storeBrandLv = this.getStoreAgentBrandLv(storeScanDTO.getStoreId(),tyreMsgDTO.getBrand());
|
|
|
if (null == tyreMsgDTO.getFlagRegular()) {
|
|
@@ -205,9 +208,6 @@ public class ScanRecordService extends ServiceImpl<ScanRecordMapper,ScanRecord>{
|
|
|
// 通过redis缓存获取轮胎奖励,缓存key:门店id+轮胎号 缓存时间10分钟,如果缓存失效从数据库查询
|
|
|
Boolean satisfyActivity = false;
|
|
|
Activity activity = redisUtils.get(storeInfo.getMainId() + tyreMsgDTO.getTireNumber(), Activity.class);
|
|
|
- if (null == activity) {
|
|
|
- activity = this.getActivityByTyreMsg(storeInfo, tyreMsgDTO, storeBrandLv);
|
|
|
- }
|
|
|
if (null != activity) {
|
|
|
satisfyActivity = true;
|
|
|
}
|
|
@@ -219,14 +219,16 @@ public class ScanRecordService extends ServiceImpl<ScanRecordMapper,ScanRecord>{
|
|
|
putInCode,
|
|
|
satisfyActivity,
|
|
|
tyreMsgDTO,
|
|
|
- storeScanDTO.getScanAddress());
|
|
|
- // 入库并满足活动进行后续操作
|
|
|
+ storeScanDTO.getScanAddress(),
|
|
|
+ tyreMsgDTO.getScanWay(),
|
|
|
+ "");
|
|
|
+ // 加库存
|
|
|
if (saveScanRecord) {
|
|
|
// 加库存
|
|
|
this.storeStockService.recordStoreStock(storeScanDTO.getStoreId(),tyreMsgDTO,true);
|
|
|
}
|
|
|
- if (satisfyActivity) {
|
|
|
- // 算奖励(加钱 + 记录奖励日志 + 门店积分)、月度核算
|
|
|
+ // 入库成功后 轮胎满足活动 算奖励(加钱 + 记录奖励日志 + 门店积分)
|
|
|
+ if (saveScanRecord && satisfyActivity) {
|
|
|
this.storeScanGetSettlement(storeScanDTO.getStoreId(),
|
|
|
activity,
|
|
|
tyreMsgDTO,
|
|
@@ -243,7 +245,8 @@ public class ScanRecordService extends ServiceImpl<ScanRecordMapper,ScanRecord>{
|
|
|
tyreMsgDTO,
|
|
|
storeScanDTO.getLatitude(),
|
|
|
storeScanDTO.getLongitude(),
|
|
|
- storeScanDTO.getScanAddress());
|
|
|
+ storeScanDTO.getScanAddress(),
|
|
|
+ 1);
|
|
|
nonRegularCount++;
|
|
|
nonRegularTyreNumbers.add(tyreMsgDTO.getTireNumber());
|
|
|
}
|
|
@@ -340,7 +343,7 @@ public class ScanRecordService extends ServiceImpl<ScanRecordMapper,ScanRecord>{
|
|
|
}
|
|
|
}
|
|
|
// 存redis做缓存处理
|
|
|
- redisUtils.set(storeInfo.getMainId() + tyreMsgDTO.getTireNumber(),activity,60*10);
|
|
|
+ redisUtils.set(storeInfo.getMainId() + tyreMsgDTO.getTireNumber(),activity);
|
|
|
return activity;
|
|
|
}
|
|
|
|
|
@@ -401,7 +404,9 @@ public class ScanRecordService extends ServiceImpl<ScanRecordMapper,ScanRecord>{
|
|
|
String scanNum,
|
|
|
Boolean satisfyActivity,
|
|
|
TyreMsgDTO tyreMsgDTO,
|
|
|
- String scanAddress) {
|
|
|
+ String scanAddress,
|
|
|
+ String scanWay,
|
|
|
+ String kunnr) {
|
|
|
RLock lock = redissonClient.getLock(tyreMsgDTO.getTireNumber());
|
|
|
lock.lock(20, TimeUnit.SECONDS);
|
|
|
Boolean b = true;
|
|
@@ -411,7 +416,7 @@ public class ScanRecordService extends ServiceImpl<ScanRecordMapper,ScanRecord>{
|
|
|
scanRecord.setStoreId(storeId);
|
|
|
scanRecord.setMatnr(tyreMsgDTO.getMatnr());
|
|
|
scanRecord.setTireNumber(tyreMsgDTO.getTireNumber());
|
|
|
- scanRecord.setKunnr(tyreMsgDTO.getSoldToPartyKunnr());
|
|
|
+ scanRecord.setKunnr(kunnr);
|
|
|
scanRecord.setBrand(tyreMsgDTO.getBrand());
|
|
|
scanRecord.setSpec(tyreMsgDTO.getSpecs());
|
|
|
scanRecord.setPatterns(tyreMsgDTO.getPattern());
|
|
@@ -422,6 +427,7 @@ public class ScanRecordService extends ServiceImpl<ScanRecordMapper,ScanRecord>{
|
|
|
scanRecord.setCreateTime(new Date());
|
|
|
scanRecord.setScanType(scanType);
|
|
|
scanRecord.setFlagRegular(tyreMsgDTO.getFlagRegular());
|
|
|
+ scanRecord.setScanway(scanWay);
|
|
|
|
|
|
Date shippedDate = DateUtil.parse(tyreMsgDTO.getShippedDate(),"yyyyMMdd");
|
|
|
scanRecord.setShippedDate(shippedDate);
|
|
@@ -563,6 +569,7 @@ public class ScanRecordService extends ServiceImpl<ScanRecordMapper,ScanRecord>{
|
|
|
RLock lock = redissonClient.getLock(tyreMsgDTO.getTireNumber());
|
|
|
lock.lock(30, TimeUnit.SECONDS);
|
|
|
try {
|
|
|
+ StoreAgentBrandLv storeBrandLv = this.getStoreAgentBrandLv(storeScanDTO.getStoreId(),tyreMsgDTO.getBrand());
|
|
|
if (null == tyreMsgDTO.getFlagRegular()) {
|
|
|
throw new RRException("轮胎正规信息不能为空");
|
|
|
} else if ("0".equals(tyreMsgDTO.getFlagRegular().toString())) {
|
|
@@ -582,7 +589,9 @@ public class ScanRecordService extends ServiceImpl<ScanRecordMapper,ScanRecord>{
|
|
|
putOutCode,
|
|
|
false,
|
|
|
tyreMsgDTO,
|
|
|
- storeScanDTO.getScanAddress());
|
|
|
+ storeScanDTO.getScanAddress(),
|
|
|
+ tyreMsgDTO.getScanWay(),
|
|
|
+ "");
|
|
|
if (scanBoolean) {
|
|
|
// 出库后操作 -库存
|
|
|
this.storeScanGetSettlement(storeId, null, tyreMsgDTO, false);
|
|
@@ -596,7 +605,8 @@ public class ScanRecordService extends ServiceImpl<ScanRecordMapper,ScanRecord>{
|
|
|
tyreMsgDTO,
|
|
|
storeScanDTO.getLatitude(),
|
|
|
storeScanDTO.getLongitude(),
|
|
|
- storeScanDTO.getScanAddress());
|
|
|
+ storeScanDTO.getScanAddress(),
|
|
|
+ 1);
|
|
|
nonRegularCount++;
|
|
|
nonRegularTyreNumbers.add(tyreMsgDTO.getTireNumber());
|
|
|
}
|