|
|
@@ -196,6 +196,16 @@ public class CasllBackDataProcessor implements CallBackService {
|
|
|
sendGetRequestGZWA(commercialCallBackReadyEnum.getCode(),
|
|
|
commercialCallBackReadyEnum.getBusid(),commercialCallBackReadyEnum.getUrl(),channelTypeYBDSHY,accessKeyYBDSHY,"延边鼎晟合盈企业管理有限公司",md5ListYBDSHY,resultMap);
|
|
|
break;
|
|
|
+ case Commercial_FSGX://佛山市格鑫信息服务有限公司
|
|
|
+ List<String> md5ListFSGX = callBackMap.get(productBizId);
|
|
|
+ log.info("开始处理机构id:{},佛山市格鑫信息服务有限公司 当日订单数:{},条数:{}", productBizId,md5ListFSGX,md5ListFSGX.size());
|
|
|
+ if (CollectionUtils.isEmpty(md5ListFSGX)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ sendGetRequestFSGX(commercialCallBackReadyEnum.getCode(),
|
|
|
+ commercialCallBackReadyEnum.getBusid(),commercialCallBackReadyEnum.getUrl(),"佛山市格鑫信息服务有限公司",md5ListFSGX,resultMap);
|
|
|
+ break;
|
|
|
+
|
|
|
case Commercial_XNLJKJ://西宁蓝鲸优享科技有限公司
|
|
|
List<String> md5ListXNLJKJ = callBackMap.get(productBizId);
|
|
|
log.info("开始处理机构id:{},西宁蓝鲸优享科技有限公司 当日订单数:{},条数:{}", productBizId,md5ListXNLJKJ,md5ListXNLJKJ.size());
|
|
|
@@ -1380,6 +1390,120 @@ public class CasllBackDataProcessor implements CallBackService {
|
|
|
handleMappedData(busiId,followupList);
|
|
|
|
|
|
}
|
|
|
+ private void sendGetRequestFSGX(String productBizId,String busiId,String url,String companyName,List<String> md5ListFSGX,Map<String, String> resultMap){
|
|
|
+
|
|
|
+ JSONObject jsonObjects = new JSONObject();
|
|
|
+ jsonObjects.put("mobiles", md5ListFSGX);
|
|
|
+ String responseStr = HttpClientThreeUtil.post(url,jsonObjects.toJSONString());
|
|
|
+ JSONObject response = JSON.parseObject(responseStr);
|
|
|
+ String code = response.getString("code");
|
|
|
+ if (!"200".equals(code)) {
|
|
|
+ log.info("busiId:{},companyName {},24h返回数据错误: {},{}" ,busiId,companyName,
|
|
|
+ response.getString("msg"),response.getString("code"));
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ JSONArray dataArray = response.getJSONArray("data");
|
|
|
+ List<CustomerFollowup> followupList = new ArrayList<>();
|
|
|
+ String s = resultMap.get(busiId);
|
|
|
+ JSONObject jsonObject = JSON.parseObject(s);
|
|
|
+ // 遍历 data 数组,创建实体对象并设置对应字段
|
|
|
+ for (int i = 0; i < dataArray.size(); i++) {
|
|
|
+ JSONObject obj = dataArray.getJSONObject(i);
|
|
|
+ CustomerFollowup followup = new CustomerFollowup();
|
|
|
+ followup.setBusiId(busiId);
|
|
|
+ followup.setProductBizId(Integer.parseInt(productBizId));
|
|
|
+
|
|
|
+ // 提取 mobile 字段(替换原 md5mobile)
|
|
|
+ String mobileMd5 = obj.getString("mobile");
|
|
|
+ followup.setPhoneMd5(mobileMd5);
|
|
|
+
|
|
|
+ // 提取 rank 字段(替换原 stars)
|
|
|
+ String rank = obj.getString("rank"); // 注意:rank可能为数字或null,用getString兼容
|
|
|
+ if (StringUtils.isBlank(rank) || "null".equals(rank)) {
|
|
|
+ log.info("busiId:{} companyName {} mobile_md5{} 没有填星级:", busiId, companyName, mobileMd5);
|
|
|
+ continue;
|
|
|
+ } else {
|
|
|
+ if (StringUtils.isEmpty(s)) {
|
|
|
+ // 直接使用rank作为星级(处理数字或null转换)
|
|
|
+ if ("0".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(0));
|
|
|
+ } else if ("1".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(1));
|
|
|
+ }else if ("2".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(2));
|
|
|
+ }else if ("3".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(3));
|
|
|
+ }else if ("4".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(4));
|
|
|
+ }else if ("5".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(5));
|
|
|
+ }else if ("6".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(0));
|
|
|
+ }else if ("7".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(2));
|
|
|
+ }
|
|
|
+ // followup.setStarLevel(new BigDecimal(rank));
|
|
|
+ } else {
|
|
|
+ try {
|
|
|
+ Map<String, String> starMap = JSON.parseObject(jsonObject.toString(), Map.class);
|
|
|
+ String level = starMap.get(rank);
|
|
|
+ if (StringUtils.isEmpty(level)) {
|
|
|
+ if ("0".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(0));
|
|
|
+ } else if ("1".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(1));
|
|
|
+ }else if ("2".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(2));
|
|
|
+ }else if ("3".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(3));
|
|
|
+ }else if ("4".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(4));
|
|
|
+ }else if ("5".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(5));
|
|
|
+ }else if ("6".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(0));
|
|
|
+ }else if ("7".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(2));
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ followup.setStarLevel(new BigDecimal(level));
|
|
|
+ }
|
|
|
+ }catch (Exception e){
|
|
|
+ if ("0".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(0));
|
|
|
+ } else if ("1".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(1));
|
|
|
+ }else if ("2".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(2));
|
|
|
+ }else if ("3".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(3));
|
|
|
+ }else if ("4".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(4));
|
|
|
+ }else if ("5".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(5));
|
|
|
+ }else if ("6".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(0));
|
|
|
+ }else if ("7".equals(rank)) {
|
|
|
+ followup.setStarLevel(new BigDecimal(2));
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ followup.setSourceType(3);
|
|
|
+ followup.setFollowTime(new Date());
|
|
|
+ followupList.add(followup);
|
|
|
+ }
|
|
|
+ if (CollectionUtils.isEmpty(followupList)) {
|
|
|
+ log.info("busiId:{} companyName:{},没有24h星级数据", busiId,companyName);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ log.info("busiId:{} companyName:{} 处理数据条:{}", busiId, companyName,followupList.size());
|
|
|
+ handleMappedData(busiId,followupList);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
//https://api.zhudaicms.com/ 通用
|
|
|
private void sendGetRequestHz(String productBizId,String busiId,String url,String companyName,Map<String, String> resultMap){
|
|
|
String responseStr = HttpClientThreeUtil.get(url,null);
|