|
@@ -6,6 +6,8 @@ import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.cdf.common.ResultCode;
|
|
|
import com.cdf.entity.HotRelation;
|
|
|
+import com.cdf.entity.NumRegion;
|
|
|
+import com.cdf.entity.ProductHk;
|
|
|
import com.cdf.exception.BusinessException;
|
|
|
import com.cdf.httpClient.client.CdfClient;
|
|
|
import com.cdf.httpClient.client.FdkkClient;
|
|
@@ -15,7 +17,9 @@ import com.cdf.httpClient.request.FdkkUploadRequest;
|
|
|
import com.cdf.httpClient.request.SceneRequest;
|
|
|
import com.cdf.httpClient.response.FdkkResponse;
|
|
|
import com.cdf.httpClient.response.cdf.*;
|
|
|
+import com.cdf.service.IFdkkUserService;
|
|
|
import com.cdf.service.IHotRelationService;
|
|
|
+import com.cdf.service.IProductHkService;
|
|
|
import com.cdf.util.*;
|
|
|
import com.google.zxing.client.j2se.MatrixToImageWriter;
|
|
|
import com.google.zxing.common.BitMatrix;
|
|
@@ -61,6 +65,10 @@ public class FdkkSceneEditService {
|
|
|
FdkkSceneService fdkkSceneService;
|
|
|
@Autowired
|
|
|
CdfRolePermService cdfRolePermService;
|
|
|
+ @Autowired
|
|
|
+ IProductHkService productHkService;
|
|
|
+ @Autowired
|
|
|
+ IFdkkUserService fdkkUserService;
|
|
|
|
|
|
|
|
|
public JSONObject getAuth(String num, String token) {
|
|
@@ -68,7 +76,14 @@ public class FdkkSceneEditService {
|
|
|
String fdkkToken = fdkkSceneService.getFdkkToken(token);
|
|
|
HashMap<String,String> map = new HashMap<>();
|
|
|
map.put("num",num);
|
|
|
- return fdkkClient.getAuth(map, fdkkToken);
|
|
|
+ JSONObject auth = fdkkClient.getAuth(map, fdkkToken);
|
|
|
+ Integer code = auth.getInteger("code");
|
|
|
+ if(code == 0){
|
|
|
+ NumRegion numRegion = fdkkUserService.getRegionByNum(num);
|
|
|
+ JSONObject data = auth.getJSONObject("data");
|
|
|
+ data.put("cdfRegionData",numRegion);
|
|
|
+ }
|
|
|
+ return auth;
|
|
|
}
|
|
|
|
|
|
public FdkkResponse saveTag(FdkkHotRequest fdkkHotRequest, String token) {
|
|
@@ -117,24 +132,26 @@ public class FdkkSceneEditService {
|
|
|
}
|
|
|
|
|
|
|
|
|
- public JSONObject getTagList(String num, String token) {
|
|
|
+ public JSONObject getTagList(String num, String token,String language) {
|
|
|
FdkkResponse fdkkResponse = fdkkClient.hotList(new SceneRequest(num), fdkkSceneService.getFdkkToken(token));
|
|
|
if(fdkkResponse.getCode() !=0){
|
|
|
throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
|
|
|
}
|
|
|
+ NumRegion numRegion = fdkkUserService.getRegionByNum(num);
|
|
|
+
|
|
|
JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(fdkkResponse.getData()));
|
|
|
JSONArray tags =jsonObject.getJSONArray("tags");
|
|
|
- jsonObject.put("tags",getProductByJsonObj(tags));
|
|
|
+ jsonObject.put("tags",getProductByJsonObj(tags,numRegion.getRegion(),language));
|
|
|
return jsonObject;
|
|
|
}
|
|
|
|
|
|
- public JSONArray getHotJson(String num) {
|
|
|
+ public JSONArray getHotJson(String num,String pType,String language) {
|
|
|
String data = uploadToFdkkOssUtil.getObjectContent(String.format(hotPath, num) );
|
|
|
if(StringUtils.isBlank(data)){
|
|
|
throw new BusinessException(ResultCode.NOT_RECORD);
|
|
|
}
|
|
|
JSONArray tags = JSONObject.parseArray(data);
|
|
|
- return getProductByJsonObj(tags);
|
|
|
+ return getProductByJsonObj(tags,pType,language);
|
|
|
}
|
|
|
|
|
|
public JSONArray getCdfHotJson(String num) {
|
|
@@ -154,7 +171,9 @@ public class FdkkSceneEditService {
|
|
|
if(fdkkResponse.getCode() !=0){
|
|
|
throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
|
|
|
}
|
|
|
- writeHotJson(fdkkHotRequest.getNum());
|
|
|
+ NumRegion numRegion = fdkkUserService.getRegionByNum(fdkkHotRequest.getNum());
|
|
|
+
|
|
|
+ writeHotJson(fdkkHotRequest.getNum(),numRegion.getRegion());
|
|
|
String res1 = "scene_view_data/%s/images/vision.modeldata";
|
|
|
String res2 = "scene_view_data/%s/images/vision2.modeldata";
|
|
|
updateModelData(fdkkHotRequest.getNum(),res1);
|
|
@@ -173,13 +192,34 @@ public class FdkkSceneEditService {
|
|
|
uploadToCdfOssUtil.upload(localPath,s3PathKey);
|
|
|
}
|
|
|
|
|
|
- public void writeHotJson(String num) throws IOException {
|
|
|
- JSONArray hotJson = getHotJson(num);
|
|
|
+ public void writeHotJson(String num,String pType) throws IOException {
|
|
|
+ if(pType.equals("HK")){
|
|
|
+ writeHotJsonHk(num,"eshop_en");
|
|
|
+ writeHotJsonHk(num,"eshop_zh");
|
|
|
+ writeHotJsonHk(num,"eshop_cn");
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ JSONArray hotJson = getHotJson(num,pType,"all");
|
|
|
String path = String.format(hotLocalPath,num)+"/"+"hot.json";
|
|
|
String json = JSONUtil.toJsonStr(hotJson);
|
|
|
FileUtils.writeFile(path,json );
|
|
|
uploadToCdfOssUtil.upload(path,String.format(hotCdfPath, num));
|
|
|
}
|
|
|
+
|
|
|
+ public void writeHotJsonHk(String num,String lang){
|
|
|
+ try {
|
|
|
+ JSONArray hotJson = getHotJson(num,"HK",lang);
|
|
|
+ String path = String.format(hotLocalPath,num)+"/"+"hot_" +lang +".json";
|
|
|
+ String json = JSONUtil.toJsonStr(hotJson);
|
|
|
+ FileUtils.writeFile(path,json );
|
|
|
+ uploadToCdfOssUtil.upload(path,String.format(hotCdfPath, num));
|
|
|
+ }catch (Exception e){
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
public FdkkResponse uploadFiles(FdkkUploadRequest fdkkUploadRequest, MultipartFile[] files, String token) throws IOException {
|
|
|
List<MultipartFile> multipartFiles = new ArrayList<>();
|
|
|
if(StringUtils.isNotBlank(fdkkUploadRequest.getBase64())){
|
|
@@ -216,7 +256,7 @@ public class FdkkSceneEditService {
|
|
|
return fdkkResponse;
|
|
|
}
|
|
|
|
|
|
- private JSONArray getProductByJsonObj(JSONArray tags){
|
|
|
+ private JSONArray getProductByJsonObj(JSONArray tags,String pType,String language){
|
|
|
HashMap<String,JSONArray> resultMap = new HashMap<>(); //sid, productId array
|
|
|
HashMap<String,CdfProduct> productMap = new HashMap<>(); //productId cdf
|
|
|
JSONArray requestArray = new JSONArray(); //productId all array
|
|
@@ -262,13 +302,24 @@ public class FdkkSceneEditService {
|
|
|
if(requestArray.size() <=0){
|
|
|
return tags;
|
|
|
}
|
|
|
- CdfProductListByIdsRequest param = new CdfProductListByIdsRequest(requestArray);
|
|
|
- CdfProductListByIdsVo vos = cdfClient.getProductListByIds(param);
|
|
|
- if(vos.getProductCardList()!=null && vos.getProductCardList().size() >0){
|
|
|
- for (CdfProduct cdfProduct : vos.getProductCardList()) {
|
|
|
+
|
|
|
+ if(pType.equals("AM")){
|
|
|
+ CdfProductListByIdsRequest param = new CdfProductListByIdsRequest(requestArray);
|
|
|
+ CdfProductListByIdsVo vos = cdfClient.getProductListByIds(param);
|
|
|
+ if(vos.getProductCardList()!=null && vos.getProductCardList().size() >0){
|
|
|
+ for (CdfProduct cdfProduct : vos.getProductCardList()) {
|
|
|
+ productMap.put(cdfProduct.getId(),cdfProduct);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(pType.equals("HK")){
|
|
|
+ List<ProductHk> list = productHkService.getListByIds(requestArray);
|
|
|
+ List<CdfProduct> convert = productHkService.convert(list, language);
|
|
|
+ for (CdfProduct cdfProduct : convert) {
|
|
|
productMap.put(cdfProduct.getId(),cdfProduct);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
for (Object obj : tags) {
|
|
|
JSONObject tag = (JSONObject) obj;
|
|
|
String sid = tag.getString("sid");
|