|
@@ -113,19 +113,16 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public synchronized void in(String wifiName) {
|
|
|
- if(StringUtils.isEmpty(wifiName) ){
|
|
|
+ public synchronized void in(CameraInOutParam param) {
|
|
|
+ if(StringUtils.isEmpty(param.getSnCode()) || param.getCameraType() == null || StringUtils.isBlank(param.getWifiNamePrefix())
|
|
|
+ || StringUtils.isBlank(param.getColour()) || StringUtils.isBlank(param.getVersion())){
|
|
|
throw new BusinessException(ResultCode.MISSING_REQUIRED_PARAMETERS);
|
|
|
}
|
|
|
List<CameraWifiPrefix> list = cameraWifiPrefixService.list();
|
|
|
Set<String> wifiNamePrefixList = list.stream().map(CameraWifiPrefix::getWifiNamePrefix).collect(Collectors.toSet());
|
|
|
|
|
|
- if(!wifiName.contains("_")){
|
|
|
- throw new BusinessException(ResultCode.WIFI_NAME_ERROR);
|
|
|
- }
|
|
|
- String[] split = wifiName.split("_");
|
|
|
- String cameraPrefix = split[0] +"_";
|
|
|
- String snCode = split[1];
|
|
|
+ String cameraPrefix = param.getWifiNamePrefix();
|
|
|
+ String snCode = param.getSnCode();
|
|
|
|
|
|
if(!wifiNamePrefixList.contains(cameraPrefix)){
|
|
|
throw new BusinessException(ResultCode.WIFI_NAME_ERROR);
|
|
@@ -136,6 +133,9 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
|
|
|
if(cameraTypeMap.get(cameraPrefix) == null){
|
|
|
throw new BusinessException(ResultCode.WIFI_NAME_ERROR);
|
|
|
}
|
|
|
+ if(!Objects.equals(cameraTypeMap.get(cameraPrefix).getCameraType(), param.getCameraType())){
|
|
|
+ throw new BusinessException(ResultCode.CAMERA_TYPE_ERROR);
|
|
|
+ }
|
|
|
|
|
|
LambdaQueryWrapper<Camera> wrapper = new LambdaQueryWrapper<>();
|
|
|
wrapper.eq(Camera::getSnCode,snCode);
|
|
@@ -143,27 +143,20 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
|
|
|
if(count > 0){
|
|
|
throw new BusinessException(ResultCode.WIFI_NAME_REPEAT);
|
|
|
}
|
|
|
- saveBatchCamera(Collections.singletonList(wifiName),cameraTypeMap);
|
|
|
+ saveBatchCamera(Arrays.asList(param));
|
|
|
}
|
|
|
|
|
|
- private Integer saveBatchCamera(List<String> wifiNameList,HashMap<String,CameraWifiPrefix> cameraTypeMap){
|
|
|
- HashSet<String> wifiNameSet = new HashSet<>(wifiNameList);
|
|
|
+ private Integer saveBatchCamera(List<CameraInOutParam> params){
|
|
|
List<Camera> cameraList = new ArrayList<>();
|
|
|
- for (String wifiName : wifiNameSet) {
|
|
|
- String[] res = wifiName.split("_");
|
|
|
- if(res.length !=2 || StringUtils.isBlank(res[1])){
|
|
|
- throw new BusinessException(ResultCode.WIFI_NAME_ERROR);
|
|
|
- }
|
|
|
- if(cameraTypeMap.get(res[0] +"_") == null){
|
|
|
- throw new BusinessException(ResultCode.WIFI_NAME_ERROR);
|
|
|
- }
|
|
|
+ for (CameraInOutParam param : params) {
|
|
|
Camera camera = new Camera();
|
|
|
- camera.setWifiName(wifiName);
|
|
|
- camera.setSnCode(res[1]);
|
|
|
- camera.setChildName(res[1]);
|
|
|
+ camera.setWifiName(param.getWifiNamePrefix() + param.getSnCode());
|
|
|
+ camera.setSnCode(param.getSnCode());
|
|
|
+ camera.setChildName(param.getSnCode());
|
|
|
camera.setWifiPassword(CameraConstant.WIFI_PASSWORD_VALUE);
|
|
|
camera.setChildPassword(CameraConstant.CHILD_PASSWORD_VALUE);
|
|
|
camera.setActivatedTime(DateUtil.date2String(new Date(),DateUtil.DEFAULT_DATE_FORMAT));
|
|
|
+ camera.setParam(param);
|
|
|
cameraList.add(camera);
|
|
|
|
|
|
}
|
|
@@ -171,16 +164,16 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
|
|
|
|
|
|
List<CameraDetail> cameraDetailList = new ArrayList<>();
|
|
|
for (Camera camera : cameraList) {
|
|
|
+ CameraInOutParam param = camera.getParam();
|
|
|
CameraDetail cameraDetail = new CameraDetail();
|
|
|
cameraDetail.setAgency(CameraConstant.DEFAULT_AGENT);
|
|
|
cameraDetail.setCameraId(camera.getId());
|
|
|
cameraDetail.setCountry(0);//默认中国
|
|
|
- String wifiNamePrix = camera.getWifiName().split("_")[0]+"_";
|
|
|
- CameraWifiPrefix cameraType = cameraTypeMap.get(wifiNamePrix);
|
|
|
- cameraDetail.setType(cameraType.getCameraType());
|
|
|
-
|
|
|
+ cameraDetail.setType(param.getCameraType());
|
|
|
cameraDetail.setTotalSpace(Long.valueOf(Constant.CAMERA_BASE_SPACE_VALUE));
|
|
|
cameraDetail.setUsedSpace(0L);
|
|
|
+ cameraDetail.setColour(param.getColour());
|
|
|
+ cameraDetail.setVersion(param.getVersion());
|
|
|
|
|
|
cameraDetail.setUnit(CacheUtil.cameraUnit);
|
|
|
if(cameraDetail.getUnit().equals("SP")){
|
|
@@ -189,15 +182,11 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
|
|
|
if("aws".equals(CacheUtil.uploadType)){
|
|
|
cameraDetail.setCountry(1);//1-国外
|
|
|
}
|
|
|
- Long goodId = null;
|
|
|
+ Long goodId ;
|
|
|
if(cameraDetail.getType() == 1 || cameraDetail.getType() == 4){
|
|
|
goodId = 4L;
|
|
|
- }
|
|
|
- if(cameraDetail.getType() == 9){
|
|
|
- goodId = 9L;
|
|
|
- }
|
|
|
- if(cameraDetail.getType() == 10){
|
|
|
- goodId = 10L;
|
|
|
+ }else {
|
|
|
+ goodId = Long.valueOf(cameraDetail.getType());
|
|
|
}
|
|
|
cameraDetail.setGoodsId(goodId);
|
|
|
|
|
@@ -211,19 +200,8 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
|
|
|
return cameraDetailService.saveBatch(cameraDetailList) ? cameraList.size() : 0;
|
|
|
|
|
|
}
|
|
|
- @Override
|
|
|
- public Integer ins(List<String> wifiNameList){
|
|
|
- List<CameraWifiPrefix> cameraTypeList = cameraWifiPrefixService.list();
|
|
|
- Set<String> wifiNamePrefixList = cameraTypeList.stream().map(CameraWifiPrefix::getWifiNamePrefix).collect(Collectors.toSet());
|
|
|
- List<Integer> errorRow = getErrorRow(wifiNameList,wifiNamePrefixList);
|
|
|
- HashMap<String,CameraWifiPrefix> cameraTypeMap = new HashMap<>();
|
|
|
- cameraTypeList.forEach(entity->cameraTypeMap.put(entity.getWifiNamePrefix(),entity));
|
|
|
-
|
|
|
- excelService.toExcelError(errorRow);
|
|
|
- List<String> snCodeList = new ArrayList<>();
|
|
|
- for (String wifiName : wifiNameList) {
|
|
|
- snCodeList.add(wifiName.split("_")[1]);
|
|
|
- }
|
|
|
+ public Integer ins(List<CameraInOutParam> params){
|
|
|
+ List<String> snCodeList = params.stream().map(CameraInOutParam::getSnCode).collect(Collectors.toList());
|
|
|
LambdaQueryWrapper<Camera> wrapper = new LambdaQueryWrapper<>();
|
|
|
wrapper.in(Camera::getSnCode,snCodeList);
|
|
|
List<Camera> list = this.list(wrapper);
|
|
@@ -232,7 +210,7 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
|
|
|
List<Integer> errorRow2 = getErrorRow(snCodeList, newList);
|
|
|
excelService.toExcelError(errorRow2);
|
|
|
}
|
|
|
- return saveBatchCamera(wifiNameList,cameraTypeMap);
|
|
|
+ return saveBatchCamera(params);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -644,7 +622,14 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
|
|
|
@Override
|
|
|
public Integer insExcelList(List<HashMap<Integer, String>> excelRowList) {
|
|
|
List<String> wifiNameList = new ArrayList<>();
|
|
|
+ List<CameraWifiPrefix> cameraTypeList = cameraWifiPrefixService.list();
|
|
|
+ HashMap<String,CameraWifiPrefix> cameraTypeMap = new HashMap<>();
|
|
|
+ cameraTypeList.forEach(entity->cameraTypeMap.put(entity.getWifiNamePrefix(),entity));
|
|
|
+
|
|
|
Integer index = 0;
|
|
|
+ List<Integer> errorIndex = new ArrayList<>();
|
|
|
+ List<CameraInOutParam> params = new ArrayList<>();
|
|
|
+
|
|
|
for (HashMap<Integer, String> map : excelRowList) {
|
|
|
index ++;
|
|
|
if(map.isEmpty()){
|
|
@@ -656,14 +641,37 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
|
|
|
if(index <4){ //从第四行开始
|
|
|
continue;
|
|
|
}
|
|
|
+ String snCode = map.get(0);
|
|
|
+ String wifiPerName = map.get(1);
|
|
|
+ String colour = map.get(2);
|
|
|
+ String version = map.get(3);
|
|
|
+ if(StringUtils.isBlank(snCode) || StringUtils.isBlank(wifiPerName) || StringUtils.isBlank(colour) || StringUtils.isBlank(version)){
|
|
|
+ errorIndex.add(index -3);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ CameraWifiPrefix cameraWifiPrefix = cameraTypeMap.get(wifiPerName);
|
|
|
+ if(cameraWifiPrefix == null){
|
|
|
+ errorIndex.add(index -3);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ CameraInOutParam param = new CameraInOutParam();
|
|
|
+ param.setSnCode(snCode);
|
|
|
+ param.setWifiNamePrefix(wifiPerName);
|
|
|
+ param.setColour(colour);
|
|
|
+ param.setVersion(version);
|
|
|
+ param.setCameraType(cameraWifiPrefix.getCameraType());
|
|
|
+ params.add(param);
|
|
|
String wifiName = map.get(0);
|
|
|
wifiNameList.add(wifiName);
|
|
|
}
|
|
|
|
|
|
- if(wifiNameList.size() <=0){
|
|
|
- throw new BusinessException(ResultCode.IN_TEMPLATE_EMPTY);
|
|
|
+ excelService.toExcelError(errorIndex);
|
|
|
+
|
|
|
+ if(params.size() <=0){
|
|
|
+ throw new BusinessException(ResultCode.OUT_TEMPLATE_EMPTY);
|
|
|
}
|
|
|
- return this.ins(wifiNameList);
|
|
|
+ return this.ins(params);
|
|
|
}
|
|
|
|
|
|
@Autowired
|
|
@@ -687,13 +695,12 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
|
|
|
String snCode = map.get(0);
|
|
|
String outTypeString = map.get(1);
|
|
|
String companyName = map.get(2);
|
|
|
- String orderSn = map.get(3);
|
|
|
- String agentName = map.get(4);
|
|
|
- String buyDate = map.get(5);
|
|
|
+ String agentName = map.get(3);
|
|
|
+ String buyDate = map.get(4);
|
|
|
CameraOutTypeEnum outTypeEnum = CameraOutTypeEnum.getByMsg(outTypeString);
|
|
|
if(outTypeEnum == null || StringUtils.isBlank(snCode) || StringUtils.isBlank(buyDate)){
|
|
|
- log.error("outError-->出库错误:出库类型为空或snCode为空:snCode:{},outType:{},companyName:{},orderSn:{},agentName:{}"
|
|
|
- ,snCode,outTypeString,companyName,orderSn,agentName);
|
|
|
+ log.error("outError-->出库错误:出库类型为空或snCode为空:snCode:{},outType:{},companyName:{},agentName:{}"
|
|
|
+ ,snCode,outTypeString,companyName,agentName);
|
|
|
errorIndex.add(index -3);
|
|
|
}
|
|
|
CameraInOutParam param = new CameraInOutParam();
|
|
@@ -705,15 +712,14 @@ public class CameraServiceImpl extends ServiceImpl<ICameraMapper, Camera> implem
|
|
|
if(StringUtils.isNotBlank(agentName)){
|
|
|
AgentNew agentNew = agentNewService.getByName(agentName);
|
|
|
if(agentNew == null){
|
|
|
- log.error("outError-->出库错误:代理商不存在:snCode:{},outType:{},companyName:{},orderSn:{},agentName:{}"
|
|
|
- ,snCode,outTypeString,companyName,orderSn,agentName);
|
|
|
+ log.error("outError-->出库错误:代理商不存在:snCode:{},outType:{},companyName:{},agentName:{}"
|
|
|
+ ,snCode,outTypeString,companyName,agentName);
|
|
|
errorIndex.add(index -3);
|
|
|
}else {
|
|
|
param.setAgentId(agentNew.getId());
|
|
|
}
|
|
|
}
|
|
|
param.setCompanyName(companyName);
|
|
|
- param.setOrderSn(orderSn);
|
|
|
param.setSnCode(snCode);
|
|
|
params.add(param);
|
|
|
|