|
@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.google.common.base.Joiner;
|
|
|
import com.google.gson.JsonArray;
|
|
|
+import com.google.gson.JsonElement;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.apache.commons.collections.CollectionUtils;
|
|
|
import org.apache.commons.collections.Transformer;
|
|
@@ -16,6 +17,7 @@ import org.jeecg.modules.bytedance.advertise.dockapi.MarketingService;
|
|
|
import org.jeecg.modules.bytedance.advertise.entity.*;
|
|
|
import org.jeecg.modules.bytedance.advertise.enums.BytedanceCreativeMatTypeEnum;
|
|
|
import org.jeecg.modules.bytedance.advertise.mapper.AiBytedanceAdvertiserStrategyMapper;
|
|
|
+import org.jeecg.modules.bytedance.advertise.mapper.BytedanceAreaInfoMapper;
|
|
|
import org.jeecg.modules.bytedance.advertise.service.*;
|
|
|
import org.jeecg.modules.bytedance.advertise.vo.AdConvertQueryVo;
|
|
|
import org.jeecg.modules.bytedance.advertise.vo.AdGroupSearchVo;
|
|
@@ -1259,6 +1261,9 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
|
|
|
}
|
|
|
|
|
|
|
|
|
+ @Resource
|
|
|
+ private BytedanceAreaInfoMapper bytedanceAreaInfoMapper;
|
|
|
+
|
|
|
/**
|
|
|
*
|
|
|
* @description: 获取定向包
|
|
@@ -1270,10 +1275,27 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
|
|
|
* @author: zianY
|
|
|
*/
|
|
|
public Result getAdAudiencePackage(String accountId, String landingType, String deliveryRange){
|
|
|
- CtopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
|
|
|
+ CtopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
|
|
|
+ //查询定向包信息
|
|
|
Result list = marketingService.getAudiencePackage(token,landingType,deliveryRange);
|
|
|
+ //处理返回结果
|
|
|
JSONObject jsonObject = (JSONObject)list.getResult();
|
|
|
- return Result.successMsg("成功。",jsonObject.getJSONArray("audience_packages"));
|
|
|
+ JSONArray array = jsonObject.getJSONArray("audience_packages");
|
|
|
+ List<Map<String,JSONObject>> dataList = JSONArray.parseObject(array.toJSONString(),List.class);
|
|
|
+
|
|
|
+ // 返回结果中的city 查询 城市名称
|
|
|
+ dataList.forEach(map -> {
|
|
|
+ JSONObject audience = map.get("audience");
|
|
|
+ JSONArray citys = audience.getJSONArray("city");
|
|
|
+ if (citys != null){
|
|
|
+ QueryWrapper<BytedanceAreaInfo> queryWrapper = new QueryWrapper<>();
|
|
|
+ queryWrapper.in("code", citys);
|
|
|
+ List<BytedanceAreaInfo> cityList = bytedanceAreaInfoMapper.selectList(queryWrapper);
|
|
|
+ List<String> cityStr = cityList.stream().map(BytedanceAreaInfo::getName).collect(Collectors.toList());
|
|
|
+ audience.put("cityNames",cityStr);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return Result.successMsg("成功。",dataList);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1289,9 +1311,11 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
|
|
|
CtopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
|
|
|
// 获取人群包列表
|
|
|
Result list = marketingService.selectCustomAudience(token);
|
|
|
- List<Map<String,Object>> listMap = (List<Map<String, Object>>) list.getResult();
|
|
|
+ //List<Map<String,Object>> listMap = (List<Map<String, Object>>) list.getResult();
|
|
|
+ JSONArray array =(JSONArray)list.getResult();
|
|
|
+ List<Map<String,Object>> dataList = JSONArray.parseObject(array.toJSONString(),List.class);
|
|
|
//获取人群包id List
|
|
|
- List<Object> packageList = listMap.stream().map(map -> map.get("custom_audience_id")).collect(Collectors.toList());
|
|
|
+ List<Object> packageList = dataList.stream().map(map -> map.get("custom_audience_id")).collect(Collectors.toList());
|
|
|
String idStr = Joiner.on(",").join(packageList);
|
|
|
List<Integer> idsIntList = Arrays.asList(idStr.split(",")).stream().map(id -> Integer.valueOf(id.trim())).collect(Collectors.toList());
|
|
|
//获取人群包详细信息
|