|
@@ -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!");
|
|
|
}
|
|
|
|