|
@@ -8,6 +8,7 @@ import com.alibaba.fastjson.JSONObject;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.jeecg.common.api.vo.Result;
|
|
|
import org.jeecg.common.util.DateUtils;
|
|
|
+import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
@@ -26,153 +27,169 @@ public class NewMonitorServiceImpl implements NewMonitorService {
|
|
|
NewMonitorMapper newMonitorMapper;
|
|
|
|
|
|
/**
|
|
|
- * 同步新上监控数据
|
|
|
+ * 同步快手新上监控数据
|
|
|
*
|
|
|
* @param
|
|
|
* @return
|
|
|
*/
|
|
|
- public Result synchronousMonitor(String type) {
|
|
|
+ @Async("calcThreadExecutor")
|
|
|
+ public Result synchronousKuaiShouMonitor(String type, Long accId) {
|
|
|
+ log.info("同步快手新上数据:{}",accId);
|
|
|
Result result = new Result();
|
|
|
List<Map> kuaiShouGroup = new ArrayList<>();
|
|
|
List<Map> kuaiShouCampaign = new ArrayList<>();
|
|
|
List<Map> TouTiaoCampaign = new ArrayList<>();
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
- List<Long> allAccountId = newMonitorMapper.getAllAccountId();
|
|
|
- if (!allAccountId.isEmpty()) {
|
|
|
- for (Long accId : allAccountId) {
|
|
|
- if (accId != null) {
|
|
|
- /*--------------------快手广告组-----------------------*/
|
|
|
- if (type.equals("0")) {
|
|
|
- //查询创建不满7天的快手组信息
|
|
|
- kuaiShouGroup = newMonitorMapper.getKuaiShouGroup(sdf.format(new Date()), String.valueOf(accId));
|
|
|
- } else {
|
|
|
- //查询全量快手组信息
|
|
|
- kuaiShouGroup = newMonitorMapper.getKuaiShouGroup(null, String.valueOf(accId));
|
|
|
- }
|
|
|
- //处理快手组数据
|
|
|
- if (!kuaiShouGroup.isEmpty()) {
|
|
|
- kuaiShouGroup.stream().forEach(obj -> {
|
|
|
- if (obj != null) {
|
|
|
- String unitId = obj.get("unitId") == null ? null : String.valueOf(obj.get("unitId"));
|
|
|
- String afterTime = obj.get("afterTime") == null ? null : (String) obj.get("afterTime");
|
|
|
- String accountId = obj.get("accountId") == null ? null : String.valueOf(obj.get("accountId"));
|
|
|
- String accountName = obj.get("accountName") == null ? null : (String) obj.get("accountName");
|
|
|
- String userName = obj.get("userName") == null ? null : (String) obj.get("userName");
|
|
|
- String groupCreatTime = obj.get("groupCreatTime") == null ? null : (String) obj.get("groupCreatTime");
|
|
|
- if (unitId != null && afterTime != null) {
|
|
|
- BigDecimal groupCharge = newMonitorMapper.getGroupCharge(unitId, afterTime);
|
|
|
- //大于500为有效广告组
|
|
|
- String effective = "0";
|
|
|
- if (groupCharge != null && groupCharge.compareTo(new BigDecimal(500)) == 1) {
|
|
|
- //有效
|
|
|
- effective = "1";
|
|
|
- }
|
|
|
- String effectiveResult = newMonitorMapper.getMonitorGroupByUnitId(unitId);
|
|
|
- //判断是否存在
|
|
|
- if (effectiveResult != null) {
|
|
|
- if (!effectiveResult.equals(effective)) {
|
|
|
- //存在更新
|
|
|
- newMonitorMapper.updateMonitorGroupByUnitId(unitId, effective);
|
|
|
- }
|
|
|
-
|
|
|
- } else {
|
|
|
- //不存在插入
|
|
|
- newMonitorMapper.saveMonitorGroup(accountId, accountName, userName, unitId, groupCreatTime, "1", effective);
|
|
|
- }
|
|
|
+ if (accId != null) {
|
|
|
+ /*--------------------快手广告组-----------------------*/
|
|
|
+ if (type.equals("0")) {
|
|
|
+ //查询创建不满7天的快手组信息
|
|
|
+ kuaiShouGroup = newMonitorMapper.getKuaiShouGroup(sdf.format(new Date()), String.valueOf(accId));
|
|
|
+ } else {
|
|
|
+ //查询全量快手组信息
|
|
|
+ kuaiShouGroup = newMonitorMapper.getKuaiShouGroup(null, String.valueOf(accId));
|
|
|
+ }
|
|
|
+ //处理快手组数据
|
|
|
+ if (!kuaiShouGroup.isEmpty()) {
|
|
|
+ kuaiShouGroup.stream().forEach(obj -> {
|
|
|
+ if (obj != null) {
|
|
|
+ String unitId = obj.get("unitId") == null ? null : String.valueOf(obj.get("unitId"));
|
|
|
+ String afterTime = obj.get("afterTime") == null ? null : (String) obj.get("afterTime");
|
|
|
+ String accountId = obj.get("accountId") == null ? null : String.valueOf(obj.get("accountId"));
|
|
|
+ String accountName = obj.get("accountName") == null ? null : (String) obj.get("accountName");
|
|
|
+ String userName = obj.get("userName") == null ? null : (String) obj.get("userName");
|
|
|
+ String groupCreatTime = obj.get("groupCreatTime") == null ? null : (String) obj.get("groupCreatTime");
|
|
|
+ if (unitId != null && afterTime != null) {
|
|
|
+ BigDecimal groupCharge = newMonitorMapper.getGroupCharge(unitId, afterTime);
|
|
|
+ //大于500为有效广告组
|
|
|
+ String effective = "0";
|
|
|
+ if (groupCharge != null && groupCharge.compareTo(new BigDecimal(500)) == 1) {
|
|
|
+ //有效
|
|
|
+ effective = "1";
|
|
|
+ }
|
|
|
+ String effectiveResult = newMonitorMapper.getMonitorGroupByUnitId(unitId);
|
|
|
+ //判断是否存在
|
|
|
+ if (effectiveResult != null) {
|
|
|
+ if (!effectiveResult.equals(effective)) {
|
|
|
+ //存在更新
|
|
|
+ newMonitorMapper.updateMonitorGroupByUnitId(unitId, effective);
|
|
|
}
|
|
|
+
|
|
|
+ } else {
|
|
|
+ //不存在插入
|
|
|
+ newMonitorMapper.saveMonitorGroup(accountId, accountName, userName, unitId, groupCreatTime, "1", effective);
|
|
|
}
|
|
|
- });
|
|
|
+ }
|
|
|
}
|
|
|
+ });
|
|
|
+ }
|
|
|
|
|
|
|
|
|
- /*---------------快手广告计划------------------*/
|
|
|
- if (type.equals("0")) {
|
|
|
- //查询创建不满7天的快手广告计划
|
|
|
- kuaiShouCampaign = newMonitorMapper.getKuaiShouCampaign(sdf.format(new Date()), String.valueOf(accId));
|
|
|
- } else {
|
|
|
- //查询全量快手广告计划
|
|
|
- kuaiShouCampaign = newMonitorMapper.getKuaiShouCampaign(null, String.valueOf(accId));
|
|
|
- }
|
|
|
- //处理快手广告计划数据
|
|
|
- if (!kuaiShouCampaign.isEmpty()) {
|
|
|
- kuaiShouCampaign.stream().forEach(obj -> {
|
|
|
- if (obj != null) {
|
|
|
- String campaignId = obj.get("campaignId") == null ? null : String.valueOf(obj.get("campaignId"));
|
|
|
- String afterTime = obj.get("afterTime") == null ? null : (String) obj.get("afterTime");
|
|
|
- String accountId = obj.get("accountId") == null ? null : String.valueOf(obj.get("accountId"));
|
|
|
- String accountName = obj.get("accountName") == null ? null : (String) obj.get("accountName");
|
|
|
- String userName = obj.get("userName") == null ? null : (String) obj.get("userName");
|
|
|
- String campaignCreatTime = obj.get("campaignCreatTime") == null ? null : (String) obj.get("campaignCreatTime");
|
|
|
- if (campaignId != null && afterTime != null) {
|
|
|
- BigDecimal campaignCharge = newMonitorMapper.getCampaignCharge(campaignId, afterTime);
|
|
|
- //大于500为有效广告计划
|
|
|
- String effective = "0";
|
|
|
- if (campaignCharge != null && campaignCharge.compareTo(new BigDecimal(500)) == 1) {
|
|
|
- //有效
|
|
|
- effective = "1";
|
|
|
- }
|
|
|
- String effectiveResult = newMonitorMapper.getMonitorPlanByCampaignId(campaignId);
|
|
|
- //判断是否存在
|
|
|
- if (effectiveResult != null) {
|
|
|
- if (!effectiveResult.equals(effective)) {
|
|
|
- //存在更新
|
|
|
- newMonitorMapper.updateMonitorPlanByCampaignId(campaignId, effective);
|
|
|
- }
|
|
|
- } else {
|
|
|
- //不存在插入
|
|
|
- newMonitorMapper.saveMonitorCampaign(accountId, accountName, userName, campaignId, campaignCreatTime, "1", effective);
|
|
|
- }
|
|
|
+ /*---------------快手广告计划------------------*/
|
|
|
+ if (type.equals("0")) {
|
|
|
+ //查询创建不满7天的快手广告计划
|
|
|
+ kuaiShouCampaign = newMonitorMapper.getKuaiShouCampaign(sdf.format(new Date()), String.valueOf(accId));
|
|
|
+ } else {
|
|
|
+ //查询全量快手广告计划
|
|
|
+ kuaiShouCampaign = newMonitorMapper.getKuaiShouCampaign(null, String.valueOf(accId));
|
|
|
+ }
|
|
|
+ //处理快手广告计划数据
|
|
|
+ if (!kuaiShouCampaign.isEmpty()) {
|
|
|
+ kuaiShouCampaign.stream().forEach(obj -> {
|
|
|
+ if (obj != null) {
|
|
|
+ String campaignId = obj.get("campaignId") == null ? null : String.valueOf(obj.get("campaignId"));
|
|
|
+ String afterTime = obj.get("afterTime") == null ? null : (String) obj.get("afterTime");
|
|
|
+ String accountId = obj.get("accountId") == null ? null : String.valueOf(obj.get("accountId"));
|
|
|
+ String accountName = obj.get("accountName") == null ? null : (String) obj.get("accountName");
|
|
|
+ String userName = obj.get("userName") == null ? null : (String) obj.get("userName");
|
|
|
+ String campaignCreatTime = obj.get("campaignCreatTime") == null ? null : (String) obj.get("campaignCreatTime");
|
|
|
+ if (campaignId != null && afterTime != null) {
|
|
|
+ BigDecimal campaignCharge = newMonitorMapper.getCampaignCharge(campaignId, afterTime);
|
|
|
+ //大于500为有效广告计划
|
|
|
+ String effective = "0";
|
|
|
+ if (campaignCharge != null && campaignCharge.compareTo(new BigDecimal(500)) == 1) {
|
|
|
+ //有效
|
|
|
+ effective = "1";
|
|
|
+ }
|
|
|
+ String effectiveResult = newMonitorMapper.getMonitorPlanByCampaignId(campaignId);
|
|
|
+ //判断是否存在
|
|
|
+ if (effectiveResult != null) {
|
|
|
+ if (!effectiveResult.equals(effective)) {
|
|
|
+ //存在更新
|
|
|
+ newMonitorMapper.updateMonitorPlanByCampaignId(campaignId, effective);
|
|
|
}
|
|
|
+ } else {
|
|
|
+ //不存在插入
|
|
|
+ newMonitorMapper.saveMonitorCampaign(accountId, accountName, userName, campaignId, campaignCreatTime, "1", effective);
|
|
|
}
|
|
|
- });
|
|
|
+ }
|
|
|
}
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- /*---------------头条广告计划------------------*/
|
|
|
- if (type.equals("0")) {
|
|
|
- //查询创建不满7天的头条广告计划
|
|
|
- TouTiaoCampaign = newMonitorMapper.getTouTiaoCampaign(sdf.format(new Date()), String.valueOf(accId));
|
|
|
- } else {
|
|
|
- //查询全量头条广告计划
|
|
|
- TouTiaoCampaign = newMonitorMapper.getTouTiaoCampaign(null, String.valueOf(accId));
|
|
|
- }
|
|
|
- //处理快手广告计划数据
|
|
|
- if (!TouTiaoCampaign.isEmpty()) {
|
|
|
- TouTiaoCampaign.stream().forEach(obj -> {
|
|
|
- if (obj != null) {
|
|
|
- String campaignId = obj.get("campaignId") == null ? null : String.valueOf(obj.get("campaignId"));
|
|
|
- String afterTime = obj.get("afterTime") == null ? null : (String) obj.get("afterTime");
|
|
|
- String accountId = obj.get("accountId") == null ? null : String.valueOf(obj.get("accountId"));
|
|
|
- String accountName = obj.get("accountName") == null ? null : (String) obj.get("accountName");
|
|
|
- String userName = obj.get("userName") == null ? null : (String) obj.get("userName");
|
|
|
- String campaignCreatTime = obj.get("campaignCreatTime") == null ? null : (String) obj.get("campaignCreatTime");
|
|
|
- if (campaignId != null && afterTime != null) {
|
|
|
- BigDecimal campaignCharge = newMonitorMapper.getCampaignChargeTouTiao(campaignId, afterTime);
|
|
|
- //大于500为有效广告计划
|
|
|
- String effective = "0";
|
|
|
- if (campaignCharge != null && campaignCharge.compareTo(new BigDecimal(500)) == 1) {
|
|
|
- //有效
|
|
|
- effective = "1";
|
|
|
- }
|
|
|
- String effectiveResult = newMonitorMapper.getMonitorPlanByCampaignId(campaignId);
|
|
|
- //判断是否存在
|
|
|
- if (effectiveResult != null) {
|
|
|
- if (!effectiveResult.equals(effective)) {
|
|
|
- //存在更新
|
|
|
- newMonitorMapper.updateMonitorPlanByCampaignId(campaignId, effective);
|
|
|
- }
|
|
|
- } else {
|
|
|
- //不存在插入
|
|
|
- newMonitorMapper.saveMonitorCampaign(accountId, accountName, userName, campaignId, campaignCreatTime, "0", effective);
|
|
|
- }
|
|
|
+
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 同步头条新上监控数据
|
|
|
+ *
|
|
|
+ * @param
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public Result synchronousTouTiaoMonitor(String type, Long accId) {
|
|
|
+ log.info("同步头条新上数据:{}",accId);
|
|
|
+ Result result = new Result();
|
|
|
+ List<Map> kuaiShouGroup = new ArrayList<>();
|
|
|
+ List<Map> kuaiShouCampaign = new ArrayList<>();
|
|
|
+ List<Map> TouTiaoCampaign = new ArrayList<>();
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
+ if (accId != null) {
|
|
|
+ /*---------------头条广告计划------------------*/
|
|
|
+ if (type.equals("0")) {
|
|
|
+ //查询创建不满7天的头条广告计划
|
|
|
+ TouTiaoCampaign = newMonitorMapper.getTouTiaoCampaign(sdf.format(new Date()), String.valueOf(accId));
|
|
|
+ } else {
|
|
|
+ //查询全量头条广告计划
|
|
|
+ TouTiaoCampaign = newMonitorMapper.getTouTiaoCampaign(null, String.valueOf(accId));
|
|
|
+ }
|
|
|
+ //处理快手广告计划数据
|
|
|
+ if (!TouTiaoCampaign.isEmpty()) {
|
|
|
+ TouTiaoCampaign.stream().forEach(obj -> {
|
|
|
+ if (obj != null) {
|
|
|
+ String campaignId = obj.get("campaignId") == null ? null : String.valueOf(obj.get("campaignId"));
|
|
|
+ String afterTime = obj.get("afterTime") == null ? null : (String) obj.get("afterTime");
|
|
|
+ String accountId = obj.get("accountId") == null ? null : String.valueOf(obj.get("accountId"));
|
|
|
+ String accountName = obj.get("accountName") == null ? null : (String) obj.get("accountName");
|
|
|
+ String userName = obj.get("userName") == null ? null : (String) obj.get("userName");
|
|
|
+ String campaignCreatTime = obj.get("campaignCreatTime") == null ? null : (String) obj.get("campaignCreatTime");
|
|
|
+ if (campaignId != null && afterTime != null) {
|
|
|
+ BigDecimal campaignCharge = newMonitorMapper.getCampaignChargeTouTiao(campaignId, afterTime);
|
|
|
+ //大于500为有效广告计划
|
|
|
+ String effective = "0";
|
|
|
+ if (campaignCharge != null && campaignCharge.compareTo(new BigDecimal(500)) == 1) {
|
|
|
+ //有效
|
|
|
+ effective = "1";
|
|
|
+ }
|
|
|
+ String effectiveResult = newMonitorMapper.getMonitorPlanByCampaignId(campaignId);
|
|
|
+ //判断是否存在
|
|
|
+ if (effectiveResult != null) {
|
|
|
+ if (!effectiveResult.equals(effective)) {
|
|
|
+ //存在更新
|
|
|
+ newMonitorMapper.updateMonitorPlanByCampaignId(campaignId, effective);
|
|
|
}
|
|
|
+ } else {
|
|
|
+ //不存在插入
|
|
|
+ newMonitorMapper.saveMonitorCampaign(accountId, accountName, userName, campaignId, campaignCreatTime, "0", effective);
|
|
|
}
|
|
|
- });
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
+ });
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
return result;
|
|
|
}
|
|
|
|