Browse Source

seo管理 关键词管理调整

zq940222 4 months ago
parent
commit
f11fbe64d1

+ 19 - 13
jeecg-module-system/jeecg-system-biz/src/main/java/org/jeecg/modules/adweb/seo/controller/SeoKeywordsController.java

@@ -28,8 +28,10 @@ import org.jeecg.common.system.base.controller.JeecgController;
 import org.jeecg.modules.adweb.common.constant.AdwebConstant;
 import org.jeecg.modules.adweb.seo.dto.AvesApiSearchKeywordsDTO;
 import org.jeecg.modules.adweb.seo.entity.SeoKeywords;
+import org.jeecg.modules.adweb.seo.entity.SeoPlanSubscription;
 import org.jeecg.modules.adweb.seo.service.ISeoKeywordsRankService;
 import org.jeecg.modules.adweb.seo.service.ISeoKeywordsService;
+import org.jeecg.modules.adweb.seo.service.ISeoPlanSubscriptionService;
 import org.jeecg.modules.adweb.site.entity.AdwebSite;
 import org.jeecg.modules.adweb.site.service.IAdwebSiteService;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -67,6 +69,8 @@ public class SeoKeywordsController extends JeecgController<SeoKeywords, ISeoKeyw
 
     @Autowired private IAdwebSiteService adwebSiteService;
 
+    @Autowired private ISeoPlanSubscriptionService seoPlanSubscriptionService;
+
     @Value("${jeecg.path.upload}")
     private String uploadUrl;
 
@@ -370,25 +374,27 @@ public class SeoKeywordsController extends JeecgController<SeoKeywords, ISeoKeyw
      * @param request
      * @return
      */
+    @PreAuthorize("@jps.requiresPermissions('keywords:seo_keywords:importExcel')")
     @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
     public Result<?> importExcel(HttpServletRequest request) {
-        String siteId = request.getParameter("siteId");
-        log.info("siteId:" + siteId);
-        String subscriptionId = request.getParameter("subscriptionId");
-        log.info("subscriptionId:" + subscriptionId);
-        if (StringUtil.isEmpty(siteId)) {
-            return Result.error("站点id为空!");
+        String siteCode = request.getParameter("siteCode");
+        log.info("siteCode:" + siteCode);
+        if (StringUtil.isEmpty(siteCode)) {
+            return Result.error("站点code为空!");
         }
 
-        AdwebSite site = adwebSiteService.getById(siteId);
+        AdwebSite site = adwebSiteService.getSiteByCode(siteCode);
         if (site == null) {
             return Result.error("站点不存在!");
         }
-
         if (StringUtil.isEmpty(site.getDomain())) {
             return Result.error("站点域名未设置!");
         }
+        SeoPlanSubscription currentSeoAndSiteSubscription = seoPlanSubscriptionService.getCurrentSeoAndSiteSubscription(site.getId());
 
+        if (currentSeoAndSiteSubscription == null) {
+            return Result.error("当前站点没有有效的订阅套餐!");
+        }
         Date now = new Date();
 
         MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
@@ -399,7 +405,7 @@ public class SeoKeywordsController extends JeecgController<SeoKeywords, ISeoKeyw
             try {
                 SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
                 String formattedDate = dateFormat.format(now);
-                File realFile = new File(uploadUrl + "excel/", formattedDate + RandomStringUtils.random(4,true,true) + ".xlsx");
+                File realFile = new File(uploadUrl, formattedDate + RandomStringUtils.random(4,true,true) + ".xlsx");
                 file.transferTo(realFile);
                 stream = new FileInputStream(realFile);
                 XSSFWorkbook workbook = new XSSFWorkbook(stream);
@@ -448,7 +454,7 @@ public class SeoKeywordsController extends JeecgController<SeoKeywords, ISeoKeyw
                     }
                     seoKeywords.setLastRank(0);
                     seoKeywords.setSearchStatus(0);
-                    seoKeywords.setSubscriptionId(subscriptionId);
+                    seoKeywords.setSubscriptionId(currentSeoAndSiteSubscription.getId());
                     list.add(seoKeywords);
                 }
 
@@ -457,9 +463,9 @@ public class SeoKeywordsController extends JeecgController<SeoKeywords, ISeoKeyw
                 List<SeoKeywords> listNew = distinct(list);
                 // 去重
                 QueryWrapper<SeoKeywords> queryWrapper = new QueryWrapper<>();
-                queryWrapper.eq("user_flag", site.getCode());
+                queryWrapper.eq("site_code", site.getCode());
                 queryWrapper.ne("status", 0);
-                queryWrapper.eq("history_id", subscriptionId);
+                queryWrapper.eq("subscription_id", currentSeoAndSiteSubscription.getId());
                 List<SeoKeywords> existingKeywordList = seoKeywordsService.list(queryWrapper);
                 if (CollectionUtil.isNotEmpty(existingKeywordList)) {
                     List<String> existingKeywords = new ArrayList<>();
@@ -474,7 +480,7 @@ public class SeoKeywordsController extends JeecgController<SeoKeywords, ISeoKeyw
                     }
                 }
 
-                if (CollectionUtil.isNotEmpty(listNew)) {
+                if (CollectionUtil.isEmpty(listNew)) {
                     return Result.OK("关键词导入个数为0!");
                 }