瀏覽代碼

度小满,添加重新提交功能

zhaoxian 2 年之前
父節點
當前提交
43fc78ae1f

+ 20 - 7
jeecg-boot-module-system/src/main/java/org/jeecg/modules/duxiaoman/controller/DuxiaomanMaterialInfoController.java

@@ -1,6 +1,8 @@
 package org.jeecg.modules.duxiaoman.controller;
 
 import cn.com.ctop.common.module.entity.Project;
+import cn.com.ctop.common.module.mapper.MaterialAscriptionMapper;
+import cn.com.ctop.common.module.service.IMaterialTagInfoService;
 import cn.com.ctop.common.module.service.IMessageTemplate;
 import cn.com.ctop.common.module.service.IProjectService;
 import cn.com.ctop.common.module.service.ISendMessageService;
@@ -27,6 +29,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import java.util.Arrays;
 import java.util.List;
@@ -55,6 +58,12 @@ public class DuxiaomanMaterialInfoController {
     @Autowired
     private ISendMessageService sendMessageService;
 
+    @Resource
+    private MaterialAscriptionMapper materialAscriptionMapper;
+
+    @Autowired
+    private IMaterialTagInfoService materialTagInfoService;
+
     /**
      * 分页列表查询
      *
@@ -168,8 +177,18 @@ public class DuxiaomanMaterialInfoController {
         } else {
             if (!Check.isNull(duxiaomanMaterialInfo.getUrl()) && !duxiaomanMaterialInfo.getUrl().contains("https")) {
                 duxiaomanMaterialInfo.setUrl("https:" + duxiaomanMaterialInfo.getUrl());
-                duxiaomanMaterialInfo.setSignature(MD5Util.md5ByUrl(duxiaomanMaterialInfo.getUrl()));
+                String md5 = MD5Util.md5ByUrl(duxiaomanMaterialInfo.getUrl());
+                duxiaomanMaterialInfo.setSignature(md5);
+                materialAscriptionMapper.updateBySignature(duxiaomanMaterialInfoEntity.getSignature(), md5);
+                materialTagInfoService.updateBySignature(duxiaomanMaterialInfoEntity.getSignature(), md5);
+            if(duxiaomanMaterialInfo.getStatus() ==0){
+                duxiaomanMaterialInfo.setRefuseReason("");
+                duxiaomanMaterialInfo.setAuditImagesId("");
+            }
+
             }
+
+
             boolean ok = duxiaomanMaterialInfoService.updateById(duxiaomanMaterialInfo);
             if (ok) {
                 result.success("修改成功!");
@@ -195,12 +214,6 @@ public class DuxiaomanMaterialInfoController {
         try {
             JSONArray array = datas.getJSONArray("array");
             List<DuxiaomanMaterialInfo> list = JSONArray.parseObject(array.toJSONString(), List.class);
-            for (DuxiaomanMaterialInfo info : list) {
-                if (!Check.isNull(info.getUrl()) && !info.getUrl().contains("https")) {
-                    info.setUrl("https:" + info.getUrl());
-                    info.setSignature(MD5Util.md5ByUrl(info.getUrl()));
-                }
-            }
             boolean ok = duxiaomanMaterialInfoService.updateBatchById(list);
             if (ok) {
                 result.success("修改成功!");

+ 1 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/duxiaoman/service/IDuxiaomanMaterialInfoService.java

@@ -37,4 +37,5 @@ public interface IDuxiaomanMaterialInfoService extends IService<DuxiaomanMateria
     Result<Object> getPersonnelInfo(DuxiaomanMaterialInfo duxiaomanMaterialInfo);
 
     Result<Object> materialBos(String id);
+
 }

+ 50 - 21
jeecg-boot-module-system/src/main/java/org/jeecg/modules/duxiaoman/service/impl/DuxiaomanMaterialInfoServiceImpl.java

@@ -234,24 +234,48 @@ public class DuxiaomanMaterialInfoServiceImpl extends ServiceImpl<DuxiaomanMater
             params.put("authorize", "1");
             params.put("description", materialInfo.getMaterialName());
             StringBuffer md5Str = new StringBuffer();
-            md5Str.append("app_id=").append(duAppId)
-                    .append("&authorize=1")
-                    .append("&channel_id=").append("3715834215185534246")
-                    .append("&datetime=").append(datetime)
-                    .append("&description=").append(materialInfo.getMaterialName())
-                    .append("&file_ids=").append(materialInfo.getFileId())
-                    .append("&type=").append(type).append(duToken);
-            String sign = DigestUtils.md5Hex(md5Str.toString());
-            params.put("sign", sign);
-            String resultStr = HttpUtils.httpPostRequest(duUrl + KuaishouDuXiaoManAPIConstant.MATERIAL_REPORT, params, null);
-            JSONObject resultJson = JSONObject.parseObject(resultStr);
-            log.info("----------素材报备:{}", resultJson);
-            if ((!Check.isNull(resultJson) && resultJson.getInteger("retCode") == 0)
-                    || (!Check.isNull(resultJson) && resultJson.getInteger("retCode") == 1 && resultJson.getString("retMsg").contains("已送审"))) {
-                //2:审批中
-                materialInfo.setStatus(2);
-                materialInfo.setAuditTaskId(resultJson.getString("result"));
-                baseMapper.updateById(materialInfo);
+            if (Check.isNull(materialInfo.getAuditTaskId())) {
+                md5Str.append("app_id=").append(duAppId)
+                        .append("&authorize=1")
+                        .append("&channel_id=").append("3715834215185534246")
+                        .append("&datetime=").append(datetime)
+                        .append("&description=").append(materialInfo.getMaterialName())
+                        .append("&file_ids=").append(materialInfo.getFileId())
+                        .append("&type=").append(type).append(duToken);
+                String sign = DigestUtils.md5Hex(md5Str.toString());
+                params.put("sign", sign);
+                String resultStr = HttpUtils.httpPostRequest(duUrl + KuaishouDuXiaoManAPIConstant.MATERIAL_REPORT, params, null);
+                JSONObject resultJson = JSONObject.parseObject(resultStr);
+                log.info("----------素材报备:{}", resultJson);
+                if ((!Check.isNull(resultJson) && resultJson.getInteger("retCode") == 0)
+                        || (!Check.isNull(resultJson) && resultJson.getInteger("retCode") == 1 && resultJson.getString("retMsg").contains("已送审"))) {
+                    //2:审批中
+                    materialInfo.setStatus(2);
+                    materialInfo.setAuditTaskId(resultJson.getString("result"));
+                    baseMapper.updateById(materialInfo);
+                }
+            } else {
+                md5Str.append("app_id=").append(duAppId)
+                        .append("&authorize=1")
+                        .append("&channel_id=").append("3715834215185534246")
+                        .append("&datetime=").append(datetime)
+                        .append("&description=").append(materialInfo.getMaterialName())
+                        .append("&file_ids=").append(materialInfo.getFileId())
+                        .append("&id=").append(materialInfo.getAuditTaskId())
+                        .append("&type=").append(type).append(duToken);
+                String sign = DigestUtils.md5Hex(md5Str.toString());
+                params.put("sign", sign);
+                params.put("id", materialInfo.getAuditTaskId());
+                String resultStr = HttpUtils.httpPostRequest(duUrl + KuaishouDuXiaoManAPIConstant.MATERIAL_UPDATE, params, null);
+                JSONObject resultJson = JSONObject.parseObject(resultStr);
+                log.info("----------更新任务:{}", resultJson);
+                if ((!Check.isNull(resultJson) && resultJson.getInteger("retCode") == 0)
+                        || (!Check.isNull(resultJson) && resultJson.getInteger("retCode") == 1 && resultJson.getString("retMsg").contains("已送审"))) {
+                    //2:审批中
+                    materialInfo.setStatus(2);
+//                    materialInfo.setAuditTaskId(resultJson.getString("result"));
+                    baseMapper.updateById(materialInfo);
+                }
             }
         } catch (Exception e) {
             e.printStackTrace();
@@ -284,7 +308,14 @@ public class DuxiaomanMaterialInfoServiceImpl extends ServiceImpl<DuxiaomanMater
                 JSONObject result = resultJson.getJSONObject("result");
                 Integer auditStatus = result.getInteger("audit_status");
                 auditStatus = auditStatus == 1 ? 101 : auditStatus;
-
+                QueryWrapper<DuxiaomanMaterialInfo> queryWrapper = new QueryWrapper<>();
+                queryWrapper.eq("audit_task_id", materialInfo.getAuditTaskId());
+                queryWrapper.orderByDesc("create_time");
+                queryWrapper.last("limit 1");
+                DuxiaomanMaterialInfo info = baseMapper.selectOne(queryWrapper);
+                if (!Check.isNull(info) && auditStatus == info.getStatus()) {
+                    return;
+                }
                 materialInfo.setStatus(auditStatus);
                 materialInfo.setConfirmTime(result.getString("audit_time"));
                 materialInfo.setRefuseReason(result.getString("audit_reason"));
@@ -449,8 +480,6 @@ public class DuxiaomanMaterialInfoServiceImpl extends ServiceImpl<DuxiaomanMater
         }
         return Result.ok("success");
     }
-
-
     /**
      * 添加标签
      */