Bladeren bron

修改项目包结构

syh 5 jaren geleden
bovenliggende
commit
36c1eded73
38 gewijzigde bestanden met toevoegingen van 471 en 449 verwijderingen
  1. 5 5
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceAdvertiserPostController.java
  2. 0 244
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceBudgetTemplateController.java
  3. 13 5
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceTemplateController.java
  4. 2 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/ICreateInternalService.java
  5. 44 0
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/CreateInternalServiceImpl.java
  6. 9 6
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysCategoryService.java
  7. 38 6
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysCategoryServiceImpl.java
  8. 0 5
      module-common/src/main/java/module/service/IBindAccountLoginService.java
  9. 0 4
      module-common/src/main/java/module/service/IFileInfoService.java
  10. 0 47
      module-common/src/main/java/module/service/impl/BindAccountLoginServiceImpl.java
  11. 0 63
      module-common/src/main/java/module/service/impl/FileInfoServiceImpl.java
  12. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceAdvertisePlanController.java
  13. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceAdvertiserBudgetController.java
  14. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceAdvertiserController.java
  15. 252 0
      module-toutiao/src/main/java/cn/com/ctop/toutiao/controller/ByteDanceBudgetTemplateController.java
  16. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceCampaignController.java
  17. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceCampaignTemplateController.java
  18. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceCreativeController.java
  19. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceCreativeMaterialController.java
  20. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceCreativeTemplateController.java
  21. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceCustomAudienceController.java
  22. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceImageInfoController.java
  23. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceUserOrientationTemplateController.java
  24. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceVideoInfoController.java
  25. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceAdvertisePlanTemplateController.java
  26. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceAdvertiserDailyReportController.java
  27. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceAdvertiserHourlyReportController.java
  28. 17 20
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceAreaInfoController.java
  29. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceCampaignDailyReportController.java
  30. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceCampaignHourlyReportController.java
  31. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceCreativeDailyReportController.java
  32. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceCreativeHourlyReportController.java
  33. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceDeliveryTargetTemplateController.java
  34. 19 20
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceInterestCategoryController.java
  35. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceNameModelRuleController.java
  36. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedancePlanDailyReportController.java
  37. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedancePlanHourlyReportController.java
  38. 3 1
      jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceUrlInfoController.java

+ 5 - 5
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceAdvertiserPostController.java

@@ -1,8 +1,13 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.toutiao.entity.ByteDanceCustomAudience;
+import cn.com.ctop.toutiao.entity.ByteDanceUserOrientationTemplate;
+import cn.com.ctop.toutiao.service.IByteDanceAdvertiserDataService;
+import cn.com.ctop.toutiao.service.IByteDanceCustomAudienceService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import module.service.IFileInfoService;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
@@ -184,11 +189,6 @@ public class ByteDanceAdvertiserPostController {
         return fileInfoService.uploadImageToBytedance(accountId, imageUrl);
     }
 
-    @RequestMapping("/industry/list")
-    public Map<String, Object> industryList(String accountId, Integer level) {
-        return fileInfoService.getIndustryList(accountId, level);
-    }
-
     /**
      * @param audience
      * @param pageNo

+ 0 - 244
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceBudgetTemplateController.java

@@ -1,244 +0,0 @@
-package org.jeecg.modules.ctop.controller;
-
-import com.alibaba.fastjson.JSON;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.shiro.SecurityUtils;
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
-import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.common.util.oConvertUtils;
-import org.jeecgframework.poi.excel.ExcelImportUtil;
-import org.jeecgframework.poi.excel.def.NormalExcelConstants;
-import org.jeecgframework.poi.excel.entity.ExportParams;
-import org.jeecgframework.poi.excel.entity.ImportParams;
-import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.multipart.MultipartHttpServletRequest;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
- /**
-  * @Description: 今日头条预算模板信息
- * @Author: jeecg-boot
-  * @Date: 2019-07-22
- * @Version: V1.0
- */
-@Slf4j
-@Api(tags = "今日头条预算模板信息")
-@RestController
-@RequestMapping("/ctop/byteDanceBudgetTemplate")
-public class ByteDanceBudgetTemplateController {
-	@Autowired
-    private IByteDanceBudgetTemplateService byteDanceBudgetTemplateService;
-
-     /**
-	  * 分页列表查询
-     * @param byteDanceBudgetTemplate
-	 * @param pageNo
-	 * @param pageSize
-	 * @param req
-	 * @return
-	 */
-    @AutoLog(value = "今日头条预算模板信息-分页列表查询")
-    @ApiOperation(value = "今日头条预算模板信息-分页列表查询", notes = "今日头条预算模板信息-分页列表查询")
-	@GetMapping(value = "/list")
-    public Result<IPage<ByteDanceBudgetTemplate>> queryPageList(ByteDanceBudgetTemplate byteDanceBudgetTemplate,
-                                                                @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                                                @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                                                HttpServletRequest req) {
-        Result<IPage<ByteDanceBudgetTemplate>> result = new Result<IPage<ByteDanceBudgetTemplate>>();
-        QueryWrapper<ByteDanceBudgetTemplate> queryWrapper = QueryGenerator.initQueryWrapper(byteDanceBudgetTemplate, req.getParameterMap());
-        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        queryWrapper.eq("advertiser_id", user.getId());
-        Page<ByteDanceBudgetTemplate> page = new Page<ByteDanceBudgetTemplate>(pageNo, pageSize);
-        IPage<ByteDanceBudgetTemplate> pageList = byteDanceBudgetTemplateService.page(page, queryWrapper);
-		result.setSuccess(true);
-		result.setResult(pageList);
-		return result;
-	}
-
-     /**
-	  *   添加
-     * @param byteDanceBudgetTemplate
-	 * @return
-	 */
-    @AutoLog(value = "今日头条预算模板信息-添加")
-    @ApiOperation(value = "今日头条预算模板信息-添加", notes = "今日头条预算模板信息-添加")
-	@PostMapping(value = "/add")
-    public Result<ByteDanceBudgetTemplate> add(@RequestBody ByteDanceBudgetTemplate byteDanceBudgetTemplate) {
-        Result<ByteDanceBudgetTemplate> result = new Result<ByteDanceBudgetTemplate>();
-		try {
-            byteDanceBudgetTemplateService.save(byteDanceBudgetTemplate);
-			result.success("添加成功!");
-		} catch (Exception e) {
-			log.error(e.getMessage(),e);
-			result.error500("操作失败");
-		}
-		return result;
-	}
-
-     /**
-	  *  编辑
-     * @param byteDanceBudgetTemplate
-	 * @return
-	 */
-    @AutoLog(value = "今日头条预算模板信息-编辑")
-    @ApiOperation(value = "今日头条预算模板信息-编辑", notes = "今日头条预算模板信息-编辑")
-	@PutMapping(value = "/edit")
-    public Result<ByteDanceBudgetTemplate> edit(@RequestBody ByteDanceBudgetTemplate byteDanceBudgetTemplate) {
-        Result<ByteDanceBudgetTemplate> result = new Result<ByteDanceBudgetTemplate>();
-        ByteDanceBudgetTemplate byteDanceBudgetTemplateEntity = byteDanceBudgetTemplateService.getById(byteDanceBudgetTemplate.getId());
-        if (byteDanceBudgetTemplateEntity == null) {
-			result.error500("未找到对应实体");
-		}else {
-            boolean ok = byteDanceBudgetTemplateService.updateById(byteDanceBudgetTemplate);
-			//TODO 返回false说明什么?
-			if(ok) {
-				result.success("修改成功!");
-			}
-		}
-
-        return result;
-	}
-
-     /**
-	  *   通过id删除
-	 * @param id
-	 * @return
-	 */
-    @AutoLog(value = "今日头条预算模板信息-通过id删除")
-    @ApiOperation(value = "今日头条预算模板信息-通过id删除", notes = "今日头条预算模板信息-通过id删除")
-	@DeleteMapping(value = "/delete")
-	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
-		try {
-            byteDanceBudgetTemplateService.removeById(id);
-		} catch (Exception e) {
-			log.error("删除失败",e.getMessage());
-			return Result.error("删除失败!");
-		}
-		return Result.ok("删除成功!");
-	}
-
-     /**
-	  *  批量删除
-	 * @param ids
-	 * @return
-	 */
-    @AutoLog(value = "今日头条预算模板信息-批量删除")
-    @ApiOperation(value = "今日头条预算模板信息-批量删除", notes = "今日头条预算模板信息-批量删除")
-	@DeleteMapping(value = "/deleteBatch")
-    public Result<ByteDanceBudgetTemplate> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
-        Result<ByteDanceBudgetTemplate> result = new Result<ByteDanceBudgetTemplate>();
-		if(ids==null || "".equals(ids.trim())) {
-			result.error500("参数不识别!");
-		}else {
-            this.byteDanceBudgetTemplateService.removeByIds(Arrays.asList(ids.split(",")));
-			result.success("删除成功!");
-		}
-		return result;
-	}
-
-     /**
-	  * 通过id查询
-	 * @param id
-	 * @return
-	 */
-    @AutoLog(value = "今日头条预算模板信息-通过id查询")
-    @ApiOperation(value = "今日头条预算模板信息-通过id查询", notes = "今日头条预算模板信息-通过id查询")
-	@GetMapping(value = "/queryById")
-    public Result<ByteDanceBudgetTemplate> queryById(@RequestParam(name = "id", required = true) String id) {
-        Result<ByteDanceBudgetTemplate> result = new Result<ByteDanceBudgetTemplate>();
-        ByteDanceBudgetTemplate byteDanceBudgetTemplate = byteDanceBudgetTemplateService.getById(id);
-        if (byteDanceBudgetTemplate == null) {
-			result.error500("未找到对应实体");
-		}else {
-            result.setResult(byteDanceBudgetTemplate);
-			result.setSuccess(true);
-		}
-		return result;
-	}
-
-  /**
-      * 导出excel
-   *
-   * @param request
-   * @param response
-   */
-  @RequestMapping(value = "/exportXls")
-  public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
-      // Step.1 组装查询条件
-      QueryWrapper<ByteDanceBudgetTemplate> queryWrapper = null;
-      try {
-          String paramsStr = request.getParameter("paramsStr");
-          if (oConvertUtils.isNotEmpty(paramsStr)) {
-              String deString = URLDecoder.decode(paramsStr, "UTF-8");
-              ByteDanceBudgetTemplate byteDanceBudgetTemplate = JSON.parseObject(deString, ByteDanceBudgetTemplate.class);
-              queryWrapper = QueryGenerator.initQueryWrapper(byteDanceBudgetTemplate, request.getParameterMap());
-          }
-      } catch (UnsupportedEncodingException e) {
-          e.printStackTrace();
-      }
-
-      //Step.2 AutoPoi 导出Excel
-      ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
-      List<ByteDanceBudgetTemplate> pageList = byteDanceBudgetTemplateService.list(queryWrapper);
-      //导出文件名称
-      mv.addObject(NormalExcelConstants.FILE_NAME, "今日头条预算模板信息列表");
-      mv.addObject(NormalExcelConstants.CLASS, ByteDanceBudgetTemplate.class);
-      mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("今日头条预算模板信息列表数据", "导出人:Jeecg", "导出信息"));
-      mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
-      return mv;
-  }
-
-  /**
-      * 通过excel导入数据
-   *
-   * @param request
-   * @param response
-   * @return
-   */
-  @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-  public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-      MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
-      Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
-      for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
-          MultipartFile file = entity.getValue();
-          ImportParams params = new ImportParams();
-          params.setTitleRows(2);
-          params.setHeadRows(1);
-          params.setNeedSave(true);
-          try {
-              List<ByteDanceBudgetTemplate> listByteDanceBudgetTemplates = ExcelImportUtil.importExcel(file.getInputStream(), ByteDanceBudgetTemplate.class, params);
-              byteDanceBudgetTemplateService.saveBatch(listByteDanceBudgetTemplates);
-              return Result.ok("文件导入成功!数据行数:" + listByteDanceBudgetTemplates.size());
-          } catch (Exception e) {
-              log.error(e.getMessage(),e);
-              return Result.error("文件导入失败:"+e.getMessage());
-          } finally {
-              try {
-                  file.getInputStream().close();
-              } catch (IOException e) {
-                  e.printStackTrace();
-              }
-          }
-      }
-      return Result.ok("文件导入失败!");
-  }
-
-}

+ 13 - 5
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ByteDanceTemplateController.java

@@ -1,18 +1,24 @@
 package org.jeecg.modules.ctop.controller;
 
+import cn.com.ctop.toutiao.entity.*;
+import cn.com.ctop.toutiao.service.*;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import lombok.extern.slf4j.Slf4j;
+import module.entity.BindAccountLogin;
+import module.entity.UserAllocation;
+import module.service.IBindAccountLoginService;
+import module.service.IFileInfoService;
+import module.service.IUserAllocationService;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.constant.CtopAdConstant;
 import org.jeecg.common.system.query.QueryGenerator;
 import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.modules.ctop.entity.*;
-import org.jeecg.modules.ctop.service.*;
+import org.jeecg.modules.system.service.ISysCategoryService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
@@ -287,14 +293,16 @@ public class ByteDanceTemplateController {
         return planService.getAdConvertListByUrlIdAndBindId(bindAccountId, urlId);
     }
 
+    @Autowired
+    private ISysCategoryService sysCategoryService;
+
     /**
-     * @param req
      * @return
      * @功能:获取头条行业信息列表
      */
     @GetMapping(value = "/bytedance/industry/list")
-    public JSONArray campaignPageList(HttpServletRequest req) {
-        return fileInfoService.getByteDanceIndustryList(req);
+    public JSONArray campaignPageList() {
+        return sysCategoryService.getByteDanceIndustryList();
     }
 
     /**

+ 2 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/ICreateInternalService.java

@@ -8,4 +8,6 @@ public interface ICreateInternalService {
     Map<String, Object> createInternal(JSONObject requestJson);
 
     Map<String, Object> checkAccountPassword(String account, String password);
+
+    public boolean bindLogin(String advertiserId, String accountName, String password, String loginType, String userId);
 }

+ 44 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/service/impl/CreateInternalServiceImpl.java

@@ -1,16 +1,25 @@
 package org.jeecg.modules.ctop.service.impl;
 
+import cn.com.ctop.common.utils.Check;
 import cn.com.ctop.common.utils.HttpUtils2;
 import cn.com.ctop.crawler.modules.core.util.FateadmHttpUtil;
 import cn.com.ctop.crawler.modules.core.util.FateadmUtil;
+import cn.com.ctop.toutiao.entity.ByteDanceUserOrientationTemplate;
+import cn.com.ctop.toutiao.entity.BytedanceUrlInfo;
+import cn.com.ctop.toutiao.mapper.ByteDanceUserOrientationTemplateMapper;
+import cn.com.ctop.toutiao.mapper.BytedanceUrlInfoMapper;
+import cn.com.ctop.toutiao.service.IByteDanceAdvertiserDataService;
 import com.alibaba.fastjson.JSONObject;
 import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import lombok.extern.slf4j.Slf4j;
+import module.entity.BindAccountLogin;
 import module.entity.CtopOauthToken;
+import module.mapper.BindAccountLoginMapper;
 import module.service.ICtopOauthTokenService;
 import org.apache.http.impl.cookie.BasicClientCookie;
+import org.jeecg.common.constant.CtopAdConstant;
 import org.jeecg.common.util.ResultMapUtils;
 import org.jeecg.common.util.StatusCode;
 import org.jeecg.modules.ctop.service.ICreateInternalService;
@@ -41,6 +50,41 @@ public class CreateInternalServiceImpl implements ICreateInternalService {
     private BytedanceUrlInfoMapper urlInfoMapper;
 
     @Override
+    public boolean bindLogin(String advertiserId, String accountName, String password, String loginType, String userId) {
+        Map<String, Object> requestMap = new HashMap<>();
+        requestMap.put("advertiser_id", advertiserId);
+        requestMap.put("account_name", accountName);
+        requestMap.put("login_type", loginType);
+        List<BindAccountLogin> bindAccounts = bindAccountLoginMapper.selectByMap(requestMap);
+        if (!Check.isNull(bindAccounts)) {
+            return false;
+        }
+        String accountId = "";
+        //头条登录
+        if (null != loginType && loginType.equals(CtopAdConstant.PLATFORM_TYPE_BYTEDANCE_PY)) {
+            Map<String, Object> result = this.checkAccountPassword(accountName, password);
+            Boolean checkSuccess = (Boolean) result.get("success");
+            if (!checkSuccess) {
+                return false;
+            }
+            accountId = (String) result.get("id");
+        }
+        BindAccountLogin bindAccountLogin = new BindAccountLogin();
+        bindAccountLogin.setAdvertiserId(advertiserId);
+        bindAccountLogin.setAccountName(accountName);
+        bindAccountLogin.setPassword(password);
+        bindAccountLogin.setAccountId(accountId);
+        bindAccountLogin.setLoginType(loginType);
+        bindAccountLogin.setUserId(userId);
+        int i = bindAccountLoginMapper.insert(bindAccountLogin);
+        if (i > 0) {
+            log.info("登录账号绑定成功,广告主id:{}", bindAccountLogin.getAdvertiserId());
+            return true;
+        }
+        return false;
+    }
+
+    @Override
     public Map<String, Object> checkAccountPassword(String account, String password) {
         Map<String, Object> resultMap = new HashMap<>();
         //selenium打开登录页面

+ 9 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/ISysCategoryService.java

@@ -2,6 +2,7 @@ package org.jeecg.modules.system.service;
 
 import java.util.List;
 
+import com.alibaba.fastjson.JSONArray;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.modules.system.entity.SysCategory;
 import org.jeecg.modules.system.model.TreeSelectModel;
@@ -20,23 +21,25 @@ public interface ISysCategoryService extends IService<SysCategory> {
 	public static final String ROOT_PID_VALUE = "0";
 
 	void addSysCategory(SysCategory sysCategory);
-	
+
 	void updateSysCategory(SysCategory sysCategory);
 
     List<SysCategory> getListByPid(String pid);
-	
-	/**
+
+    JSONArray getByteDanceIndustryList();
+
+    /**
 	  * 根据父级编码加载分类字典的数据
 	 * @param pcode
 	 * @return
 	 */
 	public List<TreeSelectModel> queryListByCode(String pcode) throws JeecgBootException;
-	
-	/**
+
+    /**
 	  * 根据pid查询子节点集合
 	 * @param pid
 	 * @return
 	 */
 	public List<TreeSelectModel> queryListByPid(String pid);
-	
+
 }

+ 38 - 6
jeecg-boot-module-system/src/main/java/org/jeecg/modules/system/service/impl/SysCategoryServiceImpl.java

@@ -1,11 +1,12 @@
 package org.jeecg.modules.system.service.impl;
 
-import java.util.List;
-
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import org.jeecg.common.constant.CacheConstant;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.jeecg.common.exception.JeecgBootException;
 import org.jeecg.common.util.oConvertUtils;
 import org.jeecg.modules.system.entity.SysCategory;
@@ -14,8 +15,7 @@ import org.jeecg.modules.system.model.TreeSelectModel;
 import org.jeecg.modules.system.service.ISysCategoryService;
 import org.springframework.stereotype.Service;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import java.util.List;
 
 /**
  * @Description: 分类字典
@@ -40,7 +40,7 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
 		}
 		baseMapper.insert(sysCategory);
 	}
-	
+
 	@Override
 	public void updateSysCategory(SysCategory sysCategory) {
 		if(oConvertUtils.isEmpty(sysCategory.getPid())){
@@ -66,6 +66,38 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
     }
 
 	@Override
+	public JSONArray getByteDanceIndustryList() {
+		JSONArray result = new JSONArray();
+		String pid = "6c6b0ad4f49b65f3943528e8a35d74fc";
+		List<SysCategory> categories = this.getListByPid(pid);
+		for (SysCategory category : categories) {
+			JSONObject object = new JSONObject();
+			object.put("value", category.getCode());
+			object.put("label", category.getName());
+			JSONArray childListArray = new JSONArray();
+			List<SysCategory> childList = this.getListByPid(category.getId());
+			for (SysCategory child : childList) {
+				JSONObject childObject = new JSONObject();
+				childObject.put("value", child.getCode());
+				childObject.put("label", child.getName());
+				JSONArray secendChildListArray = new JSONArray();
+				List<SysCategory> secendChildList = this.getListByPid(child.getId());
+				for (SysCategory secendChild : secendChildList) {
+					JSONObject secendChildObject = new JSONObject();
+					secendChildObject.put("value", secendChild.getCode());
+					secendChildObject.put("label", secendChild.getName());
+					secendChildListArray.add(secendChildObject);
+				}
+				childObject.put("children", secendChildListArray);
+				childListArray.add(childObject);
+			}
+			object.put("children", childListArray);
+			result.add(object);
+		}
+		return result;
+	}
+
+	@Override
 	public List<TreeSelectModel> queryListByCode(String pcode) throws JeecgBootException{
 		String pid = ROOT_PID_VALUE;
 		if(oConvertUtils.isNotEmpty(pcode)) {

+ 0 - 5
module-common/src/main/java/module/service/IBindAccountLoginService.java

@@ -10,9 +10,4 @@ import module.entity.BindAccountLogin;
  * @Version: V1.0
  */
 public interface IBindAccountLoginService extends IService<BindAccountLogin> {
-
-
-    boolean bindLogin(String advertiserId, String accountName, String password, String loginType, String userId);
-
-
 }

+ 0 - 4
module-common/src/main/java/module/service/IFileInfoService.java

@@ -21,10 +21,6 @@ public interface IFileInfoService extends IService<FileInfo> {
 
     Map<String, Object> uploadImageToBytedance(String accountId, String imageFileId);
 
-//    Map<String, Object> getIndustryList(String accountId, Integer level);
-//
-//    JSONArray getByteDanceIndustryList(HttpServletRequest req);
-
     List<FileInfo> getFileInfoByMd5(String md5);
 
     Map<String, Object> checkFile(String code);

+ 0 - 47
module-common/src/main/java/module/service/impl/BindAccountLoginServiceImpl.java

@@ -1,20 +1,12 @@
 package module.service.impl;
 
-import cn.com.ctop.common.utils.Check;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import module.entity.BindAccountLogin;
 import module.mapper.BindAccountLoginMapper;
 import module.service.IBindAccountLoginService;
-import org.jeecg.common.constant.CtopAdConstant;
-import org.jeecg.modules.ctop.service.ICreateInternalService;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
 /**
  * @Description: 账号绑定-登陆
  * @Author: jeecg-boot
@@ -24,43 +16,4 @@ import java.util.Map;
 @Slf4j
 @Service
 public class BindAccountLoginServiceImpl extends ServiceImpl<BindAccountLoginMapper, BindAccountLogin> implements IBindAccountLoginService {
-    @Autowired
-    private BindAccountLoginMapper bindAccountLoginMapper;
-    @Autowired
-    private ICreateInternalService createInternalService;
-    @Override
-    public boolean bindLogin(String advertiserId, String accountName, String password, String loginType, String userId) {
-        Map<String, Object> requestMap = new HashMap<>();
-        requestMap.put("advertiser_id", advertiserId);
-        requestMap.put("account_name", accountName);
-        requestMap.put("login_type", loginType);
-        List<BindAccountLogin> bindAccounts = bindAccountLoginMapper.selectByMap(requestMap);
-        if (!Check.isNull(bindAccounts)) {
-            return false;
-        }
-        String accountId = "";
-        //头条登录
-        if (null != loginType && loginType.equals(CtopAdConstant.PLATFORM_TYPE_BYTEDANCE_PY)) {
-            Map<String, Object> result = createInternalService.checkAccountPassword(accountName, password);
-            Boolean checkSuccess = (Boolean) result.get("success");
-            if (!checkSuccess) {
-                return false;
-            }
-            accountId = (String) result.get("id");
-        }
-        BindAccountLogin bindAccountLogin = new BindAccountLogin();
-        bindAccountLogin.setAdvertiserId(advertiserId);
-        bindAccountLogin.setAccountName(accountName);
-        bindAccountLogin.setPassword(password);
-        bindAccountLogin.setAccountId(accountId);
-        bindAccountLogin.setLoginType(loginType);
-        bindAccountLogin.setUserId(userId);
-        int i = bindAccountLoginMapper.insert(bindAccountLogin);
-        if (i > 0) {
-            log.info("登录账号绑定成功,广告主id:{}", bindAccountLogin.getAdvertiserId());
-            return true;
-        }
-        return false;
-    }
-
 }

+ 0 - 63
module-common/src/main/java/module/service/impl/FileInfoServiceImpl.java

@@ -55,10 +55,6 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
     FileInfoMapper fileInfoMapper;
     @Autowired
     private ISourceFileService sourceFileService;
-    //    @Autowired
-//    private ISysCategoryService categoryService;
-//    @Autowired
-//    private SysCategoryMapper sysCategoryMapper;
     @Autowired
     private ICtopOauthTokenService tokenService;
 
@@ -130,65 +126,6 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
         return resultMap;
     }
 
-//    @Override
-//    public Map<String, Object> getIndustryList(String accountId, Integer level) {
-//        Map<String, Object> resultMap = new HashMap<>();
-//        CtopOauthToken token = tokenService.getOauthTokenByAccountId(accountId);
-//        JSONObject result = searchIndustry(token, level);
-//        JSONArray list = result.getJSONObject("data").getJSONArray("list");
-//        for (int i = 0; i < list.size(); i++) {
-//            JSONObject object = list.getJSONObject(i);
-//            SysCategory category = new SysCategory();
-//            String firstCode = object.getInteger("second_industry_id") + "";
-//            QueryWrapper<SysCategory> wrapper = new QueryWrapper();
-//            wrapper.eq("code", firstCode);
-//            SysCategory parent = sysCategoryMapper.selectOne(wrapper);
-//            category.setPid(parent.getId());
-//            category.setName(object.getString("third_industry_name"));
-//            category.setCode(object.getInteger("third_industry_id") + "");
-//            category.setCreateBy("admin");
-//            category.setCreateTime(new Date());
-//            category.setSysOrgCode("A01");
-//            sysCategoryMapper.insert(category);
-//        }
-//        resultMap.put("code", 0);
-//        resultMap.put("message", "数据获取成功");
-//        resultMap.put("data", result);
-//        return resultMap;
-//    }
-//
-//    @Override
-//    public JSONArray getByteDanceIndustryList(HttpServletRequest req) {
-//        JSONArray result = new JSONArray();
-//        String pid = "6c6b0ad4f49b65f3943528e8a35d74fc";
-//        List<SysCategory> categories = categoryService.getListByPid(pid);
-//        for (SysCategory category : categories) {
-//            JSONObject object = new JSONObject();
-//            object.put("value", category.getCode());
-//            object.put("label", category.getName());
-//            JSONArray childListArray = new JSONArray();
-//            List<SysCategory> childList = categoryService.getListByPid(category.getId());
-//            for (SysCategory child : childList) {
-//                JSONObject childObject = new JSONObject();
-//                childObject.put("value", child.getCode());
-//                childObject.put("label", child.getName());
-//                JSONArray secendChildListArray = new JSONArray();
-//                List<SysCategory> secendChildList = categoryService.getListByPid(child.getId());
-//                for (SysCategory secendChild : secendChildList) {
-//                    JSONObject secendChildObject = new JSONObject();
-//                    secendChildObject.put("value", secendChild.getCode());
-//                    secendChildObject.put("label", secendChild.getName());
-//                    secendChildListArray.add(secendChildObject);
-//                }
-//                childObject.put("children", secendChildListArray);
-//                childListArray.add(childObject);
-//            }
-//            object.put("children", childListArray);
-//            result.add(object);
-//        }
-//        return result;
-//    }
-
     @Override
     public List<FileInfo> getFileInfoByMd5(String md5) {
         QueryWrapper<FileInfo> queryWrapper = new QueryWrapper<>();

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.ByteDanceAdvertisePlan;
+import cn.com.ctop.toutiao.service.IByteDanceAdvertisePlanService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.ByteDanceAdvertiserBudget;
+import cn.com.ctop.toutiao.service.IByteDanceAdvertiserBudgetService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.ByteDanceAdvertiser;
+import cn.com.ctop.toutiao.service.IByteDanceAdvertiserService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

+ 252 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/controller/ByteDanceBudgetTemplateController.java

@@ -0,0 +1,252 @@
+package cn.com.ctop.toutiao.controller;
+
+import cn.com.ctop.toutiao.entity.ByteDanceBudgetTemplate;
+import cn.com.ctop.toutiao.service.IByteDanceBudgetTemplateService;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.SecurityUtils;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.system.vo.LoginUser;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Description: 今日头条预算模板信息
+ * @Author: jeecg-boot
+ * @Date: 2019-07-22
+ * @Version: V1.0
+ */
+@Slf4j
+@Api(tags = "今日头条预算模板信息")
+@RestController
+@RequestMapping("/ctop/byteDanceBudgetTemplate")
+public class ByteDanceBudgetTemplateController {
+    @Autowired
+    private IByteDanceBudgetTemplateService byteDanceBudgetTemplateService;
+
+    /**
+     * 分页列表查询
+     *
+     * @param byteDanceBudgetTemplate
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "今日头条预算模板信息-分页列表查询")
+    @ApiOperation(value = "今日头条预算模板信息-分页列表查询", notes = "今日头条预算模板信息-分页列表查询")
+    @GetMapping(value = "/list")
+    public Result<IPage<ByteDanceBudgetTemplate>> queryPageList(ByteDanceBudgetTemplate byteDanceBudgetTemplate,
+                                                                @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                                @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                                HttpServletRequest req) {
+        Result<IPage<ByteDanceBudgetTemplate>> result = new Result<IPage<ByteDanceBudgetTemplate>>();
+        QueryWrapper<ByteDanceBudgetTemplate> queryWrapper = QueryGenerator.initQueryWrapper(byteDanceBudgetTemplate, req.getParameterMap());
+        LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
+        queryWrapper.eq("advertiser_id", user.getId());
+        Page<ByteDanceBudgetTemplate> page = new Page<ByteDanceBudgetTemplate>(pageNo, pageSize);
+        IPage<ByteDanceBudgetTemplate> pageList = byteDanceBudgetTemplateService.page(page, queryWrapper);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+    /**
+     * 添加
+     *
+     * @param byteDanceBudgetTemplate
+     * @return
+     */
+    @AutoLog(value = "今日头条预算模板信息-添加")
+    @ApiOperation(value = "今日头条预算模板信息-添加", notes = "今日头条预算模板信息-添加")
+    @PostMapping(value = "/add")
+    public Result<ByteDanceBudgetTemplate> add(@RequestBody ByteDanceBudgetTemplate byteDanceBudgetTemplate) {
+        Result<ByteDanceBudgetTemplate> result = new Result<ByteDanceBudgetTemplate>();
+        try {
+            byteDanceBudgetTemplateService.save(byteDanceBudgetTemplate);
+            result.success("添加成功!");
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.error500("操作失败");
+        }
+        return result;
+    }
+
+    /**
+     * 编辑
+     *
+     * @param byteDanceBudgetTemplate
+     * @return
+     */
+    @AutoLog(value = "今日头条预算模板信息-编辑")
+    @ApiOperation(value = "今日头条预算模板信息-编辑", notes = "今日头条预算模板信息-编辑")
+    @PutMapping(value = "/edit")
+    public Result<ByteDanceBudgetTemplate> edit(@RequestBody ByteDanceBudgetTemplate byteDanceBudgetTemplate) {
+        Result<ByteDanceBudgetTemplate> result = new Result<ByteDanceBudgetTemplate>();
+        ByteDanceBudgetTemplate byteDanceBudgetTemplateEntity = byteDanceBudgetTemplateService.getById(byteDanceBudgetTemplate.getId());
+        if (byteDanceBudgetTemplateEntity == null) {
+            result.error500("未找到对应实体");
+        } else {
+            boolean ok = byteDanceBudgetTemplateService.updateById(byteDanceBudgetTemplate);
+            //TODO 返回false说明什么?
+            if (ok) {
+                result.success("修改成功!");
+            }
+        }
+
+        return result;
+    }
+
+    /**
+     * 通过id删除
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "今日头条预算模板信息-通过id删除")
+    @ApiOperation(value = "今日头条预算模板信息-通过id删除", notes = "今日头条预算模板信息-通过id删除")
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        try {
+            byteDanceBudgetTemplateService.removeById(id);
+        } catch (Exception e) {
+            log.error("删除失败", e.getMessage());
+            return Result.error("删除失败!");
+        }
+        return Result.ok("删除成功!");
+    }
+
+    /**
+     * 批量删除
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "今日头条预算模板信息-批量删除")
+    @ApiOperation(value = "今日头条预算模板信息-批量删除", notes = "今日头条预算模板信息-批量删除")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<ByteDanceBudgetTemplate> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        Result<ByteDanceBudgetTemplate> result = new Result<ByteDanceBudgetTemplate>();
+        if (ids == null || "".equals(ids.trim())) {
+            result.error500("参数不识别!");
+        } else {
+            this.byteDanceBudgetTemplateService.removeByIds(Arrays.asList(ids.split(",")));
+            result.success("删除成功!");
+        }
+        return result;
+    }
+
+    /**
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "今日头条预算模板信息-通过id查询")
+    @ApiOperation(value = "今日头条预算模板信息-通过id查询", notes = "今日头条预算模板信息-通过id查询")
+    @GetMapping(value = "/queryById")
+    public Result<ByteDanceBudgetTemplate> queryById(@RequestParam(name = "id", required = true) String id) {
+        Result<ByteDanceBudgetTemplate> result = new Result<ByteDanceBudgetTemplate>();
+        ByteDanceBudgetTemplate byteDanceBudgetTemplate = byteDanceBudgetTemplateService.getById(id);
+        if (byteDanceBudgetTemplate == null) {
+            result.error500("未找到对应实体");
+        } else {
+            result.setResult(byteDanceBudgetTemplate);
+            result.setSuccess(true);
+        }
+        return result;
+    }
+
+    /**
+     * 导出excel
+     *
+     * @param request
+     * @param response
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
+        // Step.1 组装查询条件
+        QueryWrapper<ByteDanceBudgetTemplate> queryWrapper = null;
+        try {
+            String paramsStr = request.getParameter("paramsStr");
+            if (oConvertUtils.isNotEmpty(paramsStr)) {
+                String deString = URLDecoder.decode(paramsStr, "UTF-8");
+                ByteDanceBudgetTemplate byteDanceBudgetTemplate = JSON.parseObject(deString, ByteDanceBudgetTemplate.class);
+                queryWrapper = QueryGenerator.initQueryWrapper(byteDanceBudgetTemplate, request.getParameterMap());
+            }
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+
+        //Step.2 AutoPoi 导出Excel
+        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+        List<ByteDanceBudgetTemplate> pageList = byteDanceBudgetTemplateService.list(queryWrapper);
+        //导出文件名称
+        mv.addObject(NormalExcelConstants.FILE_NAME, "今日头条预算模板信息列表");
+        mv.addObject(NormalExcelConstants.CLASS, ByteDanceBudgetTemplate.class);
+        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("今日头条预算模板信息列表数据", "导出人:Jeecg", "导出信息"));
+        mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
+        return mv;
+    }
+
+    /**
+     * 通过excel导入数据
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+            MultipartFile file = entity.getValue();
+            ImportParams params = new ImportParams();
+            params.setTitleRows(2);
+            params.setHeadRows(1);
+            params.setNeedSave(true);
+            try {
+                List<ByteDanceBudgetTemplate> listByteDanceBudgetTemplates = ExcelImportUtil.importExcel(file.getInputStream(), ByteDanceBudgetTemplate.class, params);
+                byteDanceBudgetTemplateService.saveBatch(listByteDanceBudgetTemplates);
+                return Result.ok("文件导入成功!数据行数:" + listByteDanceBudgetTemplates.size());
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+                return Result.error("文件导入失败:" + e.getMessage());
+            } finally {
+                try {
+                    file.getInputStream().close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return Result.ok("文件导入失败!");
+ }
+
+}

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.ByteDanceCampaign;
+import cn.com.ctop.toutiao.service.IByteDanceCampaignService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.ByteDanceCampaignTemplate;
+import cn.com.ctop.toutiao.service.IByteDanceCampaignTemplateService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.ByteDanceCreative;
+import cn.com.ctop.toutiao.service.IByteDanceCreativeService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.ByteDanceCreativeMaterial;
+import cn.com.ctop.toutiao.service.IByteDanceCreativeMaterialService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.ByteDanceCreativeTemplate;
+import cn.com.ctop.toutiao.service.IByteDanceCreativeTemplateService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.ByteDanceCustomAudience;
+import cn.com.ctop.toutiao.service.IByteDanceCustomAudienceService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.ByteDanceImageInfo;
+import cn.com.ctop.toutiao.service.IByteDanceImageInfoService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.ByteDanceUserOrientationTemplate;
+import cn.com.ctop.toutiao.service.IByteDanceUserOrientationTemplateService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.ByteDanceVideoInfo;
+import cn.com.ctop.toutiao.service.IByteDanceVideoInfoService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.BytedanceAdvertisePlanTemplate;
+import cn.com.ctop.toutiao.service.IBytedanceAdvertisePlanTemplateService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.BytedanceAdvertiserDailyReport;
+import cn.com.ctop.toutiao.service.IBytedanceAdvertiserDailyReportService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.BytedanceAdvertiserHourlyReport;
+import cn.com.ctop.toutiao.service.IBytedanceAdvertiserHourlyReportService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

+ 17 - 20
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceAreaInfoController.java

@@ -1,38 +1,35 @@
-package org.jeecg.modules.ctop.controller;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.aspect.annotation.AutoLog;
-import org.jeecg.common.util.oConvertUtils;
+package cn.com.ctop.toutiao.controller;
 
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ImportParams;
 import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
-import com.alibaba.fastjson.JSON;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 省市县信息

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.BytedanceCampaignDailyReport;
+import cn.com.ctop.toutiao.service.IBytedanceCampaignDailyReportService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.BytedanceCampaignHourlyReport;
+import cn.com.ctop.toutiao.service.IBytedanceCampaignHourlyReportService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.BytedanceCreativeDailyReport;
+import cn.com.ctop.toutiao.service.IBytedanceCreativeDailyReportService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.BytedanceCreativeHourlyReport;
+import cn.com.ctop.toutiao.service.IBytedanceCreativeHourlyReportService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.BytedanceDeliveryTargetTemplate;
+import cn.com.ctop.toutiao.service.IBytedanceDeliveryTargetTemplateService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

+ 19 - 20
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/BytedanceInterestCategoryController.java

@@ -1,38 +1,37 @@
-package org.jeecg.modules.ctop.controller;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.aspect.annotation.AutoLog;
-import org.jeecg.common.util.oConvertUtils;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.BytedanceInterestCategory;
+import cn.com.ctop.toutiao.service.IBytedanceInterestCategoryService;
+import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
-
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.aspect.annotation.AutoLog;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.def.NormalExcelConstants;
 import org.jeecgframework.poi.excel.entity.ExportParams;
 import org.jeecgframework.poi.excel.entity.ImportParams;
 import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartHttpServletRequest;
 import org.springframework.web.servlet.ModelAndView;
-import com.alibaba.fastjson.JSON;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 兴趣分类信息

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.BytedanceNameModelRule;
+import cn.com.ctop.toutiao.service.IBytedanceNameModelRuleService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.BytedancePlanDailyReport;
+import cn.com.ctop.toutiao.service.IBytedancePlanDailyReportService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.BytedancePlanHourlyReport;
+import cn.com.ctop.toutiao.service.IBytedancePlanHourlyReportService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;

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

@@ -1,5 +1,7 @@
-package org.jeecg.modules.ctop.controller;
+package cn.com.ctop.toutiao.controller;
 
+import cn.com.ctop.toutiao.entity.BytedanceUrlInfo;
+import cn.com.ctop.toutiao.service.IBytedanceUrlInfoService;
 import com.alibaba.fastjson.JSON;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;