|
@@ -190,6 +190,124 @@ public class CrossAccountBatchController {
|
|
|
}
|
|
|
|
|
|
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 批量创建广告组
|
|
|
+ *
|
|
|
+ * @param requestJson
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PostMapping(value = "/batchUnitCreate")
|
|
|
+ public Result<JSONArray> batchUnitCreate(@RequestBody JSONObject requestJson) {
|
|
|
+ Result<JSONArray> result = new Result<>();
|
|
|
+ try {
|
|
|
+ System.err.println(requestJson);
|
|
|
+ JSONArray accountArr = requestJson.getJSONArray("accountArr");
|
|
|
+ if (Check.isNull(accountArr)) {
|
|
|
+ throw new Exception("请选择需要创建的账户");
|
|
|
+ }
|
|
|
+ JSONArray returnArr = new JSONArray();
|
|
|
+
|
|
|
+ for (int i = 0; i < accountArr.size(); i++) {
|
|
|
+ Long accountId = accountArr.getLong(i);
|
|
|
+ CtopOauthToken oauthToken = oauthTokenService.getTokenByAccountId(accountId);
|
|
|
+ if (Check.isNull(oauthToken)) {
|
|
|
+ throw new Exception("未获取到账户信息");
|
|
|
+ }
|
|
|
+
|
|
|
+ JSONObject returnJson = new JSONObject();
|
|
|
+ returnJson.put("accountId", accountId);
|
|
|
+ JSONObject campaignJson = new JSONObject();
|
|
|
+ campaignJson.put("day_budget", requestJson.getLong("dayBudget"));
|
|
|
+ Integer nameType = requestJson.getInteger("nameType");
|
|
|
+ Integer type = requestJson.getInteger("type");
|
|
|
+ campaignJson.put("type", type);
|
|
|
+ if (!Check.isNull(requestJson.getLong("dayBudget"))) {
|
|
|
+ campaignJson.put("day_budget", requestJson.getLong("dayBudget"));
|
|
|
+ }
|
|
|
+
|
|
|
+ if (!Check.isNull(requestJson.getJSONArray("dayBudgetSchedule"))) {
|
|
|
+ campaignJson.put("day_budget_schedule", requestJson.getJSONArray("dayBudgetSchedule"));
|
|
|
+ }
|
|
|
+
|
|
|
+ JSONArray campaignNames = new JSONArray();
|
|
|
+ if (nameType == 0) { // 0 为统一命名 1 为分别命名
|
|
|
+ // Integer startNum = requestJson.getInteger("startNum");
|
|
|
+ Integer createTotal = requestJson.getInteger("createTotal");
|
|
|
+ String campaignName = requestJson.getString("campaignName");
|
|
|
+ for (int j = 0; j < createTotal; j++) {
|
|
|
+ if (campaignName.contains("{{数值}}")) {
|
|
|
+ String name = getName(campaignName, accountId, j, type);
|
|
|
+ campaignNames.add(name);
|
|
|
+ } else {
|
|
|
+ String name = null;
|
|
|
+ if (createTotal == 1) {
|
|
|
+ name = getName(campaignName, accountId, null, type);
|
|
|
+ } else {
|
|
|
+ name = getName(campaignName + "_" + j, accountId, null, type);
|
|
|
+ }
|
|
|
+ campaignNames.add(name);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else if (nameType == 1) { // "分别命名"
|
|
|
+ JSONArray nameArr = requestJson.getJSONArray("nameArr");
|
|
|
+ for (int j = 0; j < nameArr.size(); j++) {
|
|
|
+ JSONObject nameJson = nameArr.getJSONObject(j);
|
|
|
+ if (nameJson.getLong("accountId").equals(accountId)) {
|
|
|
+ campaignNames = nameJson.getJSONArray("campaignNames");
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (!Check.isNull(campaignNames)) {
|
|
|
+ JSONArray returnCampaigns = new JSONArray();
|
|
|
+ for (int j = 0; j < campaignNames.size(); j++) {
|
|
|
+ JSONObject returnCampaignJson = new JSONObject();
|
|
|
+ String campaignName = (String) campaignNames.get(j);
|
|
|
+ campaignJson.put("campaign_name", campaignName);
|
|
|
+ Map<String, Object> campaignMap = kuaishouInterfaceService.campaignCreate(oauthToken.getAccessToken(), accountId, campaignJson);
|
|
|
+ if ((Integer) campaignMap.get("code") == 0) {
|
|
|
+ returnCampaignJson.put("code", 0);
|
|
|
+ returnCampaignJson.put("campaignId", campaignMap.get("campaignId"));
|
|
|
+ returnCampaignJson.put("campaignName", campaignName);
|
|
|
+ returnCampaignJson.put("type", type);
|
|
|
+ returnCampaignJson.put("message", campaignMap.get("message"));
|
|
|
+ } else {
|
|
|
+ returnCampaignJson.put("code", -1);
|
|
|
+ returnCampaignJson.put("campaignName", campaignName);
|
|
|
+ returnCampaignJson.put("message", campaignMap.get("message"));
|
|
|
+ }
|
|
|
+ returnCampaigns.add(returnCampaignJson);
|
|
|
+
|
|
|
+ }
|
|
|
+ returnJson.put("createDetail", returnCampaigns);
|
|
|
+
|
|
|
+ }
|
|
|
+ returnArr.add(returnJson);
|
|
|
+ }
|
|
|
+ result.setSuccess(true);
|
|
|
+ System.err.println(returnArr);
|
|
|
+ result.setResult(returnArr);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ result.setSuccess(false);
|
|
|
+ result.setMessage(e.getMessage());
|
|
|
+
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* @param content 计划名称
|
|
|
* @param accountId 账户id
|