Просмотр исходного кода

Merge remote-tracking branch 'origin/test'

# Conflicts:
#	module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialInfoServiceImpl.java
songyh 4 лет назад
Родитель
Сommit
9ecb8f5863

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

@@ -289,6 +289,7 @@ public class MaterialInfoController {
     public Map<String, Object> queryPageList(String type, Integer status, Long productId, String materialName, String code,
                                              String startDate, String endDate, String tagCode,
                                              Long projectId, String clipId, String shotId, String planId,
+                                             @RequestParam(name = "offlineFlag", required = false) Integer offlineFlag,
                                              @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                              @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) {
         LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
@@ -304,7 +305,7 @@ public class MaterialInfoController {
                 productIds = new ArrayList<>();
                 productIds.add(productId);
             }
-            return materialInfoService.getListByParams(tagCode, type, status, productIds, materialName, code, startDate, endDate, null, projectId, clipId, shotId, planId, pageNo, pageSize);
+            return materialInfoService.getListByParams(tagCode, type, status, productIds, materialName, code, startDate, endDate, null, projectId, clipId, shotId, planId,offlineFlag, pageNo, pageSize);
         } else if ("designTeamLeader".equals(roleCode) || "planeLeader".equals(roleCode) || "plane".equals(roleCode) || "plan".equals(roleCode) || "shot".equals(roleCode)) {
             //查询自己所在项目下的数据
             if (null == productId || productId == 0) {
@@ -314,14 +315,14 @@ public class MaterialInfoController {
                 productIds = new ArrayList<>();
                 productIds.add(productId);
             }
-            return materialInfoService.getListByParams(tagCode, type, status, productIds, materialName, code, startDate, endDate, null, projectId, clipId, shotId, planId, pageNo, pageSize);
+            return materialInfoService.getListByParams(tagCode, type, status, productIds, materialName, code, startDate, endDate, null, projectId, clipId, shotId, planId,offlineFlag, pageNo, pageSize);
         } else {
             //查询自己上传的视频
             if (null != productId && productId != 0) {
                 productIds = new ArrayList<>();
                 productIds.add(productId);
             }
-            return materialInfoService.getListByParams(tagCode, type, status, productIds, materialName, code, startDate, endDate, userId, projectId, clipId, shotId, planId, pageNo, pageSize);
+            return materialInfoService.getListByParams(tagCode, type, status, productIds, materialName, code, startDate, endDate, userId, projectId, clipId, shotId, planId,offlineFlag, pageNo, pageSize);
         }
     }
 
@@ -513,7 +514,7 @@ public class MaterialInfoController {
             JSONArray slogans = materialInfo.getSlogans();
             if (null != slogans && !slogans.isEmpty()) {
                 LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-                slogenInfoService.insertSlogans(materialInfoEntity.getCode(), slogans, user.getId());
+                slogenInfoService.insertSlogans(materialInfo.getProjectId(), materialInfoEntity.getCode(), slogans, user.getId());
             }
         }
         boolean ok = materialInfoService.updateById(materialInfo);

Разница между файлами не показана из-за своего большого размера
+ 1 - 1
module-common/src/main/java/cn/com/ctop/common/module/mapper/MaterialInfoMapper.java


+ 6 - 0
module-common/src/main/java/cn/com/ctop/common/module/mapper/xml/MaterialInfoMapper.xml

@@ -138,6 +138,12 @@
         <if test="endDate != null and endDate != '' ">
             and matInfo.create_time &lt;= #{endDate}
         </if>
+        <if test="projectId!=null">
+            and matInfo.project_id = #{projectId}
+        </if>
+        <if test="offlineFlag!=null">
+            and matInfo.offline_flag = #{offlineFlag}
+        </if>
         order by matInfo.create_time desc
 
     </select>

+ 1 - 1
module-common/src/main/java/cn/com/ctop/common/module/service/IMaterialInfoService.java

@@ -78,7 +78,7 @@ public interface IMaterialInfoService extends IService<MaterialInfo> {
 
     List<MaterialInfo> getListByDate(String startDate, String endDate);
 
-    Map<String, Object> getListByParams(String tagCode, String type, Integer status, List<Long> projectIds, String materialName, String code, String startDate, String endDate, String userId, Long projectId, String clipId, String shotId, String planId, Integer pageNo, Integer pageSize);
+    Map<String, Object> getListByParams(String tagCode, String type, Integer status, List<Long> projectIds, String materialName, String code, String startDate, String endDate, String userId, Long projectId, String clipId, String shotId, String planId,Integer offlineFlag, Integer pageNo, Integer pageSize);
 
     JSONArray getIdListByProject(Long projectId);
 }

+ 4 - 3
module-common/src/main/java/cn/com/ctop/common/module/service/impl/FileInfoServiceImpl.java

@@ -71,7 +71,7 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
     public void uploadVideoToBytedance(String accountId, String videoUrl, String userId, String materialName) {
         try {
             CtopOauthToken token = ctopOauthTokenService.getOauthTokenByAccountId(accountId);
-            JSONObject jsonObject = videoUpload(token, videoUrl);
+            JSONObject jsonObject = videoUpload(token, videoUrl,materialName);
             if (!Check.isNull(jsonObject)) {
                 Integer code = jsonObject.getInteger("code");
                 if (code == 0) {
@@ -256,7 +256,7 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
     }
 
 
-    private JSONObject videoUpload(CtopOauthToken token, String videoPath) {
+    private JSONObject videoUpload(CtopOauthToken token, String videoPath,String materialName) {
         CloseableHttpResponse response = null;
         CloseableHttpClient client = null;
         // 请求地址
@@ -267,12 +267,13 @@ public class FileInfoServiceImpl extends ServiceImpl<FileInfoMapper, FileInfo> i
         // 文件参数
         try {
             FileBody file = new FileBody(new File(videoPath));
+
             MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create()
                     .addPart("video_file", file);
             // 其他参数
             entityBuilder.addTextBody("advertiser_id", String.valueOf(token.getAccountId()));
             entityBuilder.addTextBody("video_signature", DigestUtils.md5Hex(new FileInputStream(new File(videoPath))));
-            entityBuilder.addTextBody("filename",file.getFilename(), ContentType.create("text/plain", Charset.forName("UTF-8")));
+            entityBuilder.addTextBody("filename",materialName, ContentType.create("text/plain", Charset.forName("UTF-8")));
             HttpEntity entity = entityBuilder.build();
             client = HttpClientBuilder.create().build();
             httpPost.setURI(URI.create(url));

+ 4 - 2
module-common/src/main/java/cn/com/ctop/common/module/service/impl/MaterialInfoServiceImpl.java

@@ -773,7 +773,7 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
     }
 
     @Override
-    public Map<String, Object> getListByParams(String tagCode, String type, Integer status, List<Long> productId, String materialName, String code, String startDate, String endDate, String userId, Long projectId, String clipId, String shotId, String planId, Integer pageNo, Integer pageSize) {
+    public Map<String, Object> getListByParams(String tagCode, String type, Integer status, List<Long> productId, String materialName, String code, String startDate, String endDate, String userId, Long projectId, String clipId, String shotId, String planId,Integer offlineFlag, Integer pageNo, Integer pageSize) {
         Map<String, Object> result = new HashMap<>();
         PageHelper.startPage(pageNo, pageSize);
 
@@ -791,12 +791,14 @@ public class MaterialInfoServiceImpl extends ServiceImpl<MaterialInfoMapper, Mat
         }
 
 
-        List<MaterialInfo> dailyList = materialInfoMapper.getListByParams(tagCode, type, status, productId, materialName, code, startDate, endDate, userId, projectId, ascription, clipId, shotId, planId);
+        List<MaterialInfo> dailyList = materialInfoMapper.getListByParams(tagCode, type, status, productId, materialName, code, startDate, endDate, userId, projectId, ascription, clipId, shotId, planId,offlineflag);
         List<MaterialInfo> setList = new ArrayList<>();
         PageInfo<MaterialInfo> pageInfo = new PageInfo<>(dailyList);
         if (null != dailyList && !dailyList.isEmpty()) {
             for (MaterialInfo info : dailyList) {
                 MaterialInfo materialInfo = materialInfoMapper.selectById(info.getId());
+                //素材名称为空 则使用素材id 同步失败
+                materialInfo.setMaterialName(Check.isNull(materialInfo.getMaterialName()) ? materialInfo.getId() : materialInfo.getMaterialName());
                 //判断是否已经同步到快手平台
                 Integer kuaishouMaterialUpCount = this.getKuaishouUpVideoCount(info.getCode());
                 if (kuaishouMaterialUpCount > 0) {

+ 4 - 3
module-ctop/src/main/java/cn/com/ctop/manage/modules/material/service/impl/MaterialUploadServiceImpl.java

@@ -32,6 +32,7 @@ import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
 import org.springframework.web.client.RestTemplate;
 
+import javax.annotation.Resource;
 import java.io.File;
 import java.util.HashMap;
 import java.util.Map;
@@ -46,11 +47,11 @@ public class MaterialUploadServiceImpl implements IMaterialUploadService {
     @Value("${oss.replace.download}")
     private String downloadUrl;
 
-    @Autowired
+    @Resource
     private CtopOauthTokenMapper oauthTokenMapper;
-    @Autowired
+    @Resource
     private MaterialInfoMapper materialInfoMapper;
-    @Autowired
+    @Resource
     MaterialImageInfoMapper materialImageInfoMapper;
     @Autowired
     private IFileInfoService fileInfoService;

+ 14 - 0
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/entity/BytedanceVideoSlogenInfo.java

@@ -37,6 +37,8 @@ public class BytedanceVideoSlogenInfo {
 
 	private String creativeWordIds;
 
+	private Long projectId;
+
 	public BytedanceVideoSlogenInfo(String videoCode, String slogan, String userId, String creativeWordIds) {
 		this.videoCode = videoCode;
 		this.slogan = slogan;
@@ -48,6 +50,18 @@ public class BytedanceVideoSlogenInfo {
 		this.creativeWordIds = creativeWordIds;
 	}
 
+	public BytedanceVideoSlogenInfo(Long projectId, String videoCode, String slogan, String userId, String creativeWordIds) {
+		this.videoCode = videoCode;
+		this.slogan = slogan;
+		this.createBy = userId;
+		this.updateBy = userId;
+		this.createTime = new Date();
+		this.updateTime = new Date();
+		this.status = 1;
+		this.creativeWordIds = creativeWordIds;
+		this.projectId = projectId;
+	}
+
 	public BytedanceVideoSlogenInfo() {
 	}
 }

+ 1 - 1
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/IBytedanceVideoSlogenInfoService.java

@@ -14,7 +14,7 @@ import java.util.List;
  */
 public interface IBytedanceVideoSlogenInfoService extends IService<BytedanceVideoSlogenInfo> {
 
-    void insertSlogans(String videoCode, JSONArray slogans, String userId);
+    void insertSlogans(Long projectId, String videoCode, JSONArray slogans, String userId);
 
     List<BytedanceVideoSlogenInfo> listByParams(String code, Integer status);
 }

+ 2 - 3
module-toutiao/src/main/java/cn/com/ctop/toutiao/modules/material/service/impl/BytedanceVideoSlogenInfoServiceImpl.java

@@ -22,7 +22,7 @@ import java.util.List;
 @Service
 public class BytedanceVideoSlogenInfoServiceImpl extends ServiceImpl<BytedanceVideoSlogenInfoMapper, BytedanceVideoSlogenInfo> implements IBytedanceVideoSlogenInfoService {
     @Override
-    public void insertSlogans(String videoCode, JSONArray slogans,String userId){
+    public void insertSlogans(Long projectId, String videoCode, JSONArray slogans,String userId){
         if(null==slogans||slogans.isEmpty()){
             return;
         }
@@ -32,11 +32,10 @@ public class BytedanceVideoSlogenInfoServiceImpl extends ServiceImpl<BytedanceVi
             title = title.replaceAll("\\{\\{","{");
             title = title.replaceAll("\\}\\}","}");
             String creativeWordIds = Check.isNull(sloganObject.getJSONArray("creative_word_ids")) ? "" : sloganObject.getJSONArray("creative_word_ids").toJSONString();
-            BytedanceVideoSlogenInfo slogenInfo = new BytedanceVideoSlogenInfo(videoCode,title,userId,creativeWordIds);
+            BytedanceVideoSlogenInfo slogenInfo = new BytedanceVideoSlogenInfo(projectId,videoCode,title,userId,creativeWordIds);
             this.save(slogenInfo);
         }
     }
-
     @Override
     public List<BytedanceVideoSlogenInfo> listByParams(String code, Integer status) {
         QueryWrapper<BytedanceVideoSlogenInfo>queryWrapper =new QueryWrapper<>();