瀏覽代碼

加入删除相关逻辑

yumeng 4 年之前
父節點
當前提交
355d6bca7a

+ 9 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/AdvertiserController.java

@@ -6,7 +6,7 @@ import cn.com.ctop.common.module.entity.Advertiser;
 import cn.com.ctop.common.module.entity.Project;
 import cn.com.ctop.common.module.entity.UserAllocation;
 import cn.com.ctop.common.module.mapper.ProjectMapper;
-import cn.com.ctop.common.module.service.IProjectService;
+import cn.com.ctop.common.module.service.IProductService;
 import cn.com.ctop.common.module.service.ISysRoleExtService;
 import cn.com.ctop.common.module.service.IUserAllocationService;
 import cn.com.ctop.common.module.utils.*;
@@ -193,8 +193,6 @@ public class AdvertiserController {
      * @param advertiser
      * @return
      */
-    @Autowired
-    private IProjectService projectService;
 
     @AutoLog(value = "广告主信息表-编辑")
     @ApiOperation(value = "广告主信息表-编辑", notes = "广告主信息表-编辑")
@@ -220,6 +218,9 @@ public class AdvertiserController {
      * @param id
      * @return
      */
+    @Autowired
+    private IProductService productService;
+
     @AutoLog(value = "广告主信息表-通过id删除")
     @ApiOperation(value = "广告主信息表-通过id删除", notes = "广告主信息表-通过id删除")
     @DeleteMapping(value = "/delete")
@@ -237,9 +238,14 @@ public class AdvertiserController {
                     Map<String, Object> map = new HashMap<>();
                     map.put("project_id", project.getId());
                     projectMemberMapper.deleteByMap(map);
+                    userAllocationService.removeByMap(map);
                 }
 
             }
+            Map<String, Object> productDeleteMap = new HashMap<>();
+            productDeleteMap.put("advertiser_id", id);
+            productService.removeByMap(productDeleteMap);
+
             projectMapper.delete(queryWrapper);
             boolean ok = advertiserService.removeById(id);
             if (ok) {

+ 26 - 0
module-common/src/main/java/cn/com/ctop/common/module/controller/ProductController.java

@@ -2,7 +2,10 @@ package cn.com.ctop.common.module.controller;
 
 import cn.com.ctop.common.module.annotation.AutoLog;
 import cn.com.ctop.common.module.entity.Product;
+import cn.com.ctop.common.module.entity.Project;
+import cn.com.ctop.common.module.mapper.ProjectMapper;
 import cn.com.ctop.common.module.service.IProductService;
+import cn.com.ctop.common.module.service.IUserAllocationService;
 import cn.com.ctop.common.module.utils.Check;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -31,6 +34,7 @@ import java.io.IOException;
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.util.Arrays;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -145,12 +149,34 @@ public class ProductController {
      * @param id
      * @return
      */
+    @Autowired
+    private ProjectMapper projectMapper;
+    @Autowired
+    private ProjectMapper projectMemberMapper;
+    @Autowired
+    private IUserAllocationService userAllocationService;
+
     @AutoLog(value = "产品表-通过id删除")
     @ApiOperation(value = "产品表-通过id删除", notes = "产品表-通过id删除")
     @DeleteMapping(value = "/delete")
     public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
         try {
             productService.removeById(id);
+            QueryWrapper<Project> queryWrapper = new QueryWrapper<>();
+            queryWrapper.eq("product_id", id);
+            List<Project> projects = projectMapper.selectList(queryWrapper);
+            if (!Check.isNull(projects)) {
+                for (Project project : projects) {
+                    Map<String, Object> map = new HashMap<>();
+                    map.put("project_id", project.getId());
+                    projectMemberMapper.deleteByMap(map);
+                    userAllocationService.removeByMap(map);
+                }
+            }
+            Map<String, Object> deleteProjectMap = new HashMap<>();
+            deleteProjectMap.put("product_id", id);
+            projectMapper.deleteByMap(deleteProjectMap);
+
         } catch (Exception e) {
             log.error("删除失败", e.getMessage());
             return Result.error("删除失败!");

+ 33 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/controller/BatchController.java

@@ -2291,4 +2291,37 @@ public class BatchController {
         return result;
     }
 
+
+    /**
+     * 同步应用
+     *
+     * @param accountId
+     * @return
+     */
+    @GetMapping(value = "/getWhiteList")
+    public Result<JSONObject> getWhiteList(Long accountId) {
+        Result<JSONObject> result = new Result<>();
+        try {
+            if (Check.isNull(accountId)) {
+                throw new Exception("入参为空");
+            }
+            CtopOauthToken oauthToken = oauthTokenService.getTokenByAccountId(accountId);
+            if (Check.isNull(oauthToken)) {
+                throw new Exception("未获取到账户信息");
+            }
+
+            JSONObject data = batchService.getWhiteList(accountId, oauthToken.getAccessToken());
+            result.setSuccess(true);
+            result.setResult(data);
+        } catch (Exception e) {
+            e.printStackTrace();
+            result.setSuccess(false);
+            result.setResult(null);
+            result.setMessage(e.getMessage());
+        }
+
+        return result;
+    }
+
+
 }

+ 10 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/IBatchService.java

@@ -138,4 +138,14 @@ public interface IBatchService {
      * @param copyUnitId
      */
     void copyCreative(Long accountId, Long unitId, Long copyUnitId, JSONObject appJson) throws Exception;
+
+
+    /**
+     * 获取联盟白名单
+     *
+     * @param accountId
+     * @param accessToken
+     * @return
+     */
+    JSONObject getWhiteList(Long accountId, String accessToken);
 }

+ 33 - 0
module-kuaishou/src/main/java/cn/com/ctop/kuaishou/modules/batch/service/impl/BatchServiceImpl.java

@@ -5,6 +5,7 @@ import cn.com.ctop.common.module.entity.UserAllocation;
 import cn.com.ctop.common.module.mapper.UserAllocationMapper;
 import cn.com.ctop.common.module.service.ICtopOauthTokenService;
 import cn.com.ctop.common.module.utils.Check;
+import cn.com.ctop.common.module.utils.HttpUtils;
 import cn.com.ctop.kuaishou.modules.batch.entity.*;
 import cn.com.ctop.kuaishou.modules.batch.mapper.*;
 import cn.com.ctop.kuaishou.modules.batch.service.*;
@@ -19,6 +20,7 @@ import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -1673,6 +1675,37 @@ public class BatchServiceImpl implements IBatchService {
         return returnJson;
     }
 
+
+    /**
+     * 获取联盟白名单
+     *
+     * @param accountId
+     * @param accessToken
+     * @return
+     */
+    @Override
+    public JSONObject getWhiteList(Long accountId, String accessToken) {
+
+        String url = "https://ad.e.kuaishou.com/rest/openapi/v1/advertiser/white_list";
+        Map<String, String> headers = new HashMap<String, String>();
+        headers.put("Content-Type", "application/json");
+        headers.put("Access-Token", accessToken);
+        Map<String, Object> param = new HashMap<String, Object>();
+        param.put("advertiser_id", accountId);
+
+        String result = HttpUtils.httpPostRequest(url, param, headers);
+        JSONObject resultJson = JSONObject.parseObject(result);
+        if (!Check.isNull(resultJson)) {
+            Integer code = resultJson.getInteger("code");
+            if (code == 0) {
+                return resultJson.getJSONObject("data");
+            }
+
+        }
+        return null;
+    }
+
+
 }