浏览代码

Merge remote-tracking branch 'origin/master' into test

yangzian 4 年之前
父节点
当前提交
e578a96ab6

+ 6 - 3
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/mapper/ByteDanceGeneralCopywriterMapper.java

@@ -1,12 +1,13 @@
 package org.jeecg.modules.bytedance.advertise.mapper;
 
-import java.util.List;
-import java.util.Map;
-
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 import org.jeecg.modules.bytedance.advertise.entity.ByteDanceCreativeWordPackage;
 import org.jeecg.modules.bytedance.advertise.entity.ByteDanceGeneralCopywriter;
 
+import java.util.List;
+import java.util.Map;
+
 /**
  * 通用文案库
  * @author jeecg-boot
@@ -17,4 +18,6 @@ public interface ByteDanceGeneralCopywriterMapper extends BaseMapper<ByteDanceGe
     List<Map<String,Object>> selectGeneralCopywriterReport(List<String> accountIds, String keyWord, String startTime, String endTime);
 
     ByteDanceCreativeWordPackage selectCreativeWordPackageByName(String name);
+
+    ByteDanceGeneralCopywriter getRandOne(@Param(value = "accountId") Long accountId);
 }

+ 4 - 0
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/mapper/xml/ByteDanceGeneralCopywriterMapper.xml

@@ -39,4 +39,8 @@
     <select id="selectCreativeWordPackageByName" resultType="org.jeecg.modules.bytedance.advertise.entity.ByteDanceCreativeWordPackage">
         select * from ctop_bytedance_creative_word_package where name = #{name}
     </select>
+    <select id="getRandOne"
+            resultType="org.jeecg.modules.bytedance.advertise.entity.ByteDanceGeneralCopywriter">
+        select * from ctop_bytedance_general_copywriter where account_id = #{accountId} order by rand() limit 1
+    </select>
 </mapper>

+ 5 - 3
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/advertise/service/impl/AiBytedanceAdvertiserStrategyServiceImpl.java

@@ -321,9 +321,7 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
                 if(titleArray.size() >= 10){
                     break;
                 }
-                QueryWrapper<ByteDanceGeneralCopywriter> queryWrapper = new QueryWrapper<>();
-                queryWrapper.eq("account_id",strategy.getAccountId());
-                ByteDanceGeneralCopywriter byteDanceGeneralCopywriter = byteDanceGeneralCopywriterMapper.selectOne(queryWrapper);
+                ByteDanceGeneralCopywriter byteDanceGeneralCopywriter = byteDanceGeneralCopywriterMapper.getRandOne(strategy.getAccountId());
                 if(!Check.isNull(byteDanceGeneralCopywriter)){
                     JSONObject titleObject = new JSONObject();
                     titleObject.put("title",byteDanceGeneralCopywriter.getTextCopywriter());
@@ -508,6 +506,7 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
 
     private Long createAdInfo(CtopOauthToken token, AiBytedanceAdvertiserStrategy strategy, JSONObject adParams) {
         Result result = marketingService.createAdvertiserPlan(token,adParams,strategy);
+        System.out.println(result);
         if(result.getCode()!=0){
             //TODO 计划创建异常 后续需要加日志
             return null;
@@ -910,6 +909,9 @@ public class AiBytedanceAdvertiserStrategyServiceImpl extends ServiceImpl<AiByte
             String date = DateUtils.formatDate(new Date(),"yyyyMMdd");
             adName = adName.replace("{{日期}}",date);
         }
+        if(adName.contains("{{创意方式}}")){
+            adName = adName.replace("{{创意方式}}","程序化");
+        }
         if(adName.contains("{{dp链接标识}}")&&null!=dplinkCode){
             adName = adName.replace("{{dp链接标识}}",dplinkCode);
         }

+ 0 - 1
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/common/mapper/xml/UserAllocationMapper.xml

@@ -87,7 +87,6 @@
         SELECT
             allocation.account_id
         FROM
-
             ctop_user_allocation allocation
             where 1 =1 and allocation.project_id in (select DISTINCT project_id from ctop_project_member where user_id = #{userId})
     </select>

+ 24 - 0
jeecg-boot-bytedance/src/main/java/org/jeecg/modules/bytedance/common/utils/StringUtils.java

@@ -4,6 +4,7 @@ import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
@@ -174,6 +175,29 @@ public class StringUtils {
         return dest;
     }
 
+    /**
+     * 使用正则表达式提取中括号中的内容
+     * @param msg
+     * @return
+     */
+    public static List<String> extractMessageByRegular(String msg){
+
+        List<String> list=new ArrayList<String>();
+        Pattern p = Pattern.compile("\\{([^}]*)\\}");
+        Matcher m = p.matcher(msg);
+        while(m.find()){
+            list.add(m.group().substring(1, m.group().length()-1));
+        }
+        return list;
+    }
+
+    public static void main(String[] args) {
+        String msg = "PerformanceManager{第1个中括号}Product{第2个中括号}<{第3个中括号}79~";
+        List<String> list = extractMessageByRegular(msg);
+        for (int i = 0; i < list.size(); i++) {
+            System.out.println(i+"-->"+list.get(i));
+        }
+    }
 
 
     /**