Prechádzať zdrojové kódy

Merge remote-tracking branch 'origin/V1.1.2' into V1.1.2

syh 4 rokov pred
rodič
commit
9b4f1c4311

+ 13 - 15
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/controller/PlatformFileCtrl.java

@@ -54,7 +54,7 @@ public class PlatformFileCtrl {
         if (file.isEmpty() || !((file.getOriginalFilename().endsWith(".zip") || file.getOriginalFilename().endsWith(".rar") || file.getOriginalFilename().endsWith(".7z")))) {
             result.error500("请上传正确的压缩文件");
         } else {
-            String fileName = projectId + "_" + System.currentTimeMillis()+"_"+file.getOriginalFilename();
+            String fileName = projectId + "_" + System.currentTimeMillis() + "_" + file.getOriginalFilename();
             InputStream inputStream = null;
             try {
                 inputStream = file.getInputStream();
@@ -81,14 +81,14 @@ public class PlatformFileCtrl {
         Result<Object> result = new Result<>();
         try {
             // 脚本上传成功需要返回脚本id,更新物料表,更新完成后去更新脚本库的绑定项目
-            PlatformScript script = platformScriptService.saveScript(file);
+            PlatformScript script = platformScriptService.saveScript(file,projectId);
             if (null == script) {
                 result.error500("脚本上传失败");
                 return result;
             }
             //物料状态->脚本已上传,待审核
             PlatformMaterial platformMaterial = platformMaterialService.getById(materialId);
-            if(platformMaterial.getScriptStatus()!=0||platformMaterial.getScriptStatus()!=2){
+            if (platformMaterial.getScriptStatus() ==3) {
                 result.error500("数据已更新,请刷新页面");
                 return result;
             }
@@ -98,11 +98,8 @@ public class PlatformFileCtrl {
             platformMaterial.setScriptId(script.getId());
             boolean save = platformMaterialService.updateById(platformMaterial);
             if (save) {
-                // 更新脚本库的绑定项目
-                script.setProjectId(projectId);
-                platformScriptService.updateById(script);
                 operateRecordHandler.Submit(platformMaterial.getMaterialCode(), "SCRIPT");
-                approvalNodeNoticeHandler.NOTICE_WE_CHAT_MATERIAL("SCRIPT",platformMaterial.getMaterialCode());
+                approvalNodeNoticeHandler.NOTICE_WE_CHAT_MATERIAL("SCRIPT", platformMaterial.getMaterialCode());
             }
         } catch (Exception e) {
             e.printStackTrace();
@@ -111,31 +108,32 @@ public class PlatformFileCtrl {
     }
 
     @PostMapping("/uploadVideo")
-    public Result<Object> uploadVideo(@RequestBody JSONObject requestBody){
+    public Result<Object> uploadVideo(@RequestBody JSONObject requestBody) {
         Result<Object> result = new Result<>();
         //同一个视频不能出现在不同的物料下
-        int repeat=platformMaterialService.queryCountByMaterialAndVideo(requestBody.getString("materialCode"),requestBody.getString("md5"));
-        if(repeat>0){
+        int repeat = platformMaterialService.queryCountByMaterialAndVideo(requestBody.getString("materialCode"), requestBody.getString("md5"));
+        if (repeat > 0) {
             result.error500("视频已被其他物料上传,请重新选择视频");
             return result;
         }
         String videoMd5 = platformVideoService.uploadVideo(requestBody);
-        if(videoMd5.isEmpty()){
+        if (videoMd5.isEmpty()) {
             result.error500("素材视频上传失败,参数为空");
-        }else {
+        } else {
             //物料状态->视频已上传,待审核
             PlatformMaterial platformMaterial = platformMaterialService.getById(requestBody.getString("materialId"));
-            if(platformMaterial.getVideoStatus()!=0||platformMaterial.getVideoStatus()!=2){
+            if (platformMaterial.getVideoStatus() ==3) {
                 result.error500("数据已更新,请刷新页面");
                 return result;
-            }            platformMaterial.setId(requestBody.getLong("materialId"));
+            }
+            platformMaterial.setId(requestBody.getLong("materialId"));
             platformMaterial.setMaterialStatus(5);
             platformMaterial.setVideoStatus(1);
             platformMaterial.setVideoId(videoMd5);
             boolean save = platformMaterialService.updateById(platformMaterial);
             if (save) {
                 operateRecordHandler.Submit(platformMaterial.getMaterialCode(), "VIDEO");
-                approvalNodeNoticeHandler.NOTICE_WE_CHAT_MATERIAL("VIDEO",platformMaterial.getMaterialCode());
+                approvalNodeNoticeHandler.NOTICE_WE_CHAT_MATERIAL("VIDEO", platformMaterial.getMaterialCode());
                 result.success("素材视频上传成功");
             }
         }

+ 9 - 38
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/controller/PlatformScriptController.java

@@ -1,8 +1,10 @@
 package org.jeecg.modules.orderplatform.controller;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.github.pagehelper.PageInfo;
 import lombok.extern.slf4j.Slf4j;
 import org.jeecg.common.api.vo.Result;
 import org.jeecg.common.system.query.QueryGenerator;
@@ -27,19 +29,17 @@ public class PlatformScriptController {
 	/**
 	 * 分页列表查询
 	 */
-	@GetMapping(value = "/list")
-	public Result<IPage<PlatformScript>> queryPageList(PlatformScript platformScript,
-													   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
-													   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
-													   HttpServletRequest req) {
-		Result<IPage<PlatformScript>> result = new Result<>();
-		QueryWrapper<PlatformScript> queryWrapper = QueryGenerator.initQueryWrapper(platformScript, req.getParameterMap());
-		Page<PlatformScript> page = new Page<>(pageNo, pageSize);
+/*	@GetMapping(value = "/list")
+	public Result<PageInfo<JSONObject>> queryPageList(PlatformScript platformScript,
+													  @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
+													  @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
+													  HttpServletRequest req) {
+		Result<PageInfo<JSONObject>> result = new Result<>();
 		IPage<PlatformScript> pageList = platformScriptService.page(page, queryWrapper);
 		result.setSuccess(true);
 		result.setResult(pageList);
 		return result;
-	}
+	}*/
 
 	/**
 	 *   添加
@@ -77,35 +77,6 @@ public class PlatformScriptController {
 	}
 
 	/**
-	 * 通过id删除
-	 */
-	@PostMapping(value = "/delete")
-	public Result<?> delete(@RequestParam(name="id",required=true) String id) {
-		try {
-			platformScriptService.removeById(id);
-		} catch (Exception e) {
-			log.error("删除失败",e.getMessage());
-			return Result.error("删除失败!");
-		}
-		return Result.ok("删除成功!");
-	}
-
-	/**
-	 *  批量删除
-	 */
-	@PostMapping(value = "/deleteBatch")
-	public Result<PlatformScript> deleteBatch(@RequestParam(name="ids",required=true) String ids) {
-		Result<PlatformScript> result = new Result<>();
-		if(ids==null || "".equals(ids.trim())) {
-			result.error500("参数不识别!");
-		}else {
-			this.platformScriptService.removeByIds(Arrays.asList(ids.split(",")));
-			result.success("删除成功!");
-		}
-		return result;
-	}
-
-	/**
 	 * 通过id查询
 	 */
 	@GetMapping(value = "/queryById")

+ 4 - 3
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/entity/PlatformScript.java

@@ -25,11 +25,11 @@ public class PlatformScript {
 	/**creator*/
 	private String creator;
 	/**createTime*/
-	private long createTime;
+	private Long createTime;
 	/**modifier*/
 	private String modifier;
 	/**modifyTime*/
-	private long modifyTime;
+	private Long modifyTime;
 	/**downloadUrl*/
 	private Object downloadUrl;
 	/**projectId*/
@@ -42,7 +42,7 @@ public class PlatformScript {
 	public PlatformScript(){super();}
 
 	public PlatformScript(String name, int version, int size, String creator,
-				   String modifier, long createTime, long modifyTime, String downloadUrl) {
+				   String modifier, Long createTime, Long modifyTime, String downloadUrl ,Long projectId) {
 		this.name = name;
 		this.version = version;
 		this.size = size;
@@ -51,6 +51,7 @@ public class PlatformScript {
 		this.createTime = createTime;
 		this.modifyTime = modifyTime;
 		this.downloadUrl = downloadUrl;
+		this.projectId=projectId;
 		this.deleted = "N";
 		this.canDelete = "Y";
 	}

+ 4 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/mapper/xml/PlatformMaterialMapper.xml

@@ -195,7 +195,7 @@
             t1.shot,
             t1.clip,
             t2.design,
-            t2.operator,
+            t2.create_by as operator,
             (SELECT realname from sys_user where id=t1.clip limit 1) as clipName,
             (SELECT realname from sys_user where id=t1.shot limit 1) as shotName,
             (SELECT realname from sys_user where id=t1.plan limit 1) as planName,
@@ -209,12 +209,14 @@
                 LEFT JOIN ctop_platform_script t3 ON t1.script_id = t3.id
                 LEFT JOIN ctop_platform_video t4 ON t1.video_id = t4.md5
         where t1.material_code=#{materialCode}
+        limit 1
     </select>
 
     <select id="queryOrderRelatePersonByMaterialCode" resultType="com.alibaba.fastjson.JSONObject">
         SELECT
             id AS orderId,
             order_title AS orderTitle,
+            order_advise as orderAdvice,
             t1.design,
             t1.create_by as operator,
             (SELECT realname from sys_user where id=t1.create_by limit 1) as operatorName,
@@ -223,5 +225,6 @@
             ctop_platform_order t1
         WHERE
             order_code = #{orderCode}
+        limit 1
     </select>
 </mapper>

+ 5 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/service/IPlatformScriptService.java

@@ -1,6 +1,8 @@
 package org.jeecg.modules.orderplatform.service;
 
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.github.pagehelper.PageInfo;
 import org.jeecg.modules.orderplatform.entity.PlatformScript;
 import org.springframework.web.multipart.MultipartFile;
 
@@ -9,6 +11,8 @@ import org.springframework.web.multipart.MultipartFile;
  */
 public interface IPlatformScriptService extends IService<PlatformScript> {
 
-    PlatformScript saveScript(MultipartFile file);
+    PlatformScript saveScript(MultipartFile file ,Long projectId);
+
+    PageInfo<JSONObject> page(Long projectId , String name, String creator, int pageNo, int  pageSize);
 
 }

+ 5 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/service/impl/PlatformOrderServiceImpl.java

@@ -9,6 +9,7 @@ import org.jeecg.modules.orderplatform.entity.PlatformOrder;
 import org.jeecg.modules.orderplatform.mapper.PlatformOrderMapper;
 import org.jeecg.modules.orderplatform.service.IPlatformMaterialService;
 import org.jeecg.modules.orderplatform.service.IPlatformOrderService;
+import org.jeecg.modules.orderplatform.util.ApprovalNodeNoticeHandler;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -28,6 +29,9 @@ public class PlatformOrderServiceImpl extends ServiceImpl<PlatformOrderMapper, P
     @Autowired
     PlatformOrderMapper platformOrderMapper;
 
+    @Autowired
+    ApprovalNodeNoticeHandler approvalNodeNoticeHandler;
+
     @Override
     public boolean generateMaterials(PlatformOrder platformOrder) {
         boolean result=false;
@@ -58,6 +62,7 @@ public class PlatformOrderServiceImpl extends ServiceImpl<PlatformOrderMapper, P
         if(platformOrder.getMaterialAmount().equals(platformOrder.getMaterialFinishAmount())){
             platformOrder.setOrderStatus(3);
             platformOrder.setOrderFinishTime(DateUtils.getDate());
+            approvalNodeNoticeHandler.NOTICE_WE_CHAT_ORDER("ORDER_END",code);
         }
         return this.updateById(platformOrder);
     }

+ 17 - 2
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/service/impl/PlatformScriptServiceImpl.java

@@ -2,7 +2,10 @@ package org.jeecg.modules.orderplatform.service.impl;
 
 import cn.com.ctop.common.module.utils.CosUtils;
 import cn.com.ctop.common.module.vo.ResFileDTO;
+import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.pagehelper.PageHelper;
+import com.github.pagehelper.PageInfo;
 import org.apache.shiro.SecurityUtils;
 import org.jeecg.common.system.vo.LoginUser;
 import org.jeecg.modules.orderplatform.entity.PlatformScript;
@@ -14,6 +17,8 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.web.multipart.MultipartFile;
 
+import java.util.List;
+
 /**
  * 下单平台关联脚本
  */
@@ -26,14 +31,17 @@ public class PlatformScriptServiceImpl extends ServiceImpl<PlatformScriptMapper,
     @Autowired
     private IWpsFileWatermarkService wpsFileWatermarkService;
 
+    @Autowired
+    private PlatformScriptMapper platformScriptMapper;
+
     @Override
-    public PlatformScript saveScript(MultipartFile file) {
+    public PlatformScript saveScript(MultipartFile file,Long projectId) {
         LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal();
         //上传文件到cos
         ResFileDTO resFileDTO = CosUtils.uploadMultipartFile(file,"script-lib/wps/");
         //构造下单制脚本库参数
         PlatformScript script=new PlatformScript(resFileDTO.getFileName(),1,((int) resFileDTO.getFileSize()),
-                user.getId(),user.getId(),System.currentTimeMillis(),System.currentTimeMillis(), resFileDTO.getFileUrl());
+                user.getId(),user.getId(),System.currentTimeMillis(),System.currentTimeMillis(), resFileDTO.getFileUrl(),projectId);
         this.save(script);
         // 处理权限
         wpsUserAclService.saveUserFileAcl(user.getId(),script.getId());
@@ -43,4 +51,11 @@ public class PlatformScriptServiceImpl extends ServiceImpl<PlatformScriptMapper,
         return script;
 
     }
+
+    @Override
+    public PageInfo<JSONObject> page(Long projectId, String name, String creator, int pageNo, int  pageSize) {
+        /*PageHelper.startPage(pageNo,pageSize);
+        List<JSONObject> result = platformScriptMapper.pageQuery();*/
+        return null;
+    }
 }

+ 15 - 4
jeecg-boot-module-system/src/main/java/org/jeecg/modules/orderplatform/util/ApprovalNodeNoticeHandler.java

@@ -90,6 +90,15 @@ public class ApprovalNodeNoticeHandler {
                                 orderRelatePerson.getString("operatorName")));
                 break;
 
+            //订单完结
+            case "ORDER_END":
+                sendWeChat(orderRelatePerson.getString("design"),
+                        String.format("您的订单“%s”物料已全部制作完成,订单已被系统自动完结\n 订单ID:%s\n操作人:%s",
+                                orderRelatePerson.getString("orderTitle"),
+                                orderRelatePerson.getLong("orderId"),
+                                orderRelatePerson.getString("operatorName")));
+                break;
+
             //脚本上传成功,通知运营审核
             case "SCRIPT":
                 sendWeChat(materialRelatePerson.getString("operator"),
@@ -131,21 +140,23 @@ public class ApprovalNodeNoticeHandler {
             //脚本被驳回,通知编导重新上传脚本
             case "REJECT_SCRIPT":
                 sendWeChat(materialRelatePerson.getString("plan"),
-                        String.format("您的脚本“%s”被驳回,请及时查看!\n 所属订单:%s\n 订单ID:%s\n审核人:%s",
+                        String.format("您的脚本“%s”被驳回,请及时查看!\n 所属订单:%s\n 订单ID:%s\n审核人:%s\n驳回原因:%s",
                                 materialRelatePerson.getString("scriptName"),
                                 materialRelatePerson.getString("orderTitle"),
                                 materialRelatePerson.getLong("orderId"),
-                                materialRelatePerson.getString("operatorName")));
+                                materialRelatePerson.getString("operatorName"),
+                                materialRelatePerson.getString("scriptAdvise")));
                 break;
 
             //视频被驳回,通知剪辑重新上传视频
             case "REJECT_VIDEO":
                 sendWeChat(materialRelatePerson.getString("clip"),
-                        String.format("您的视频“%s”被驳回,请及时查看!\n 所属订单:%s\n 订单ID:%s\n审核人:%s",
+                        String.format("您的视频“%s”被驳回,请及时查看!\n 所属订单:%s\n 订单ID:%s\n审核人:%s\n驳回原因:%s",
                                 materialRelatePerson.getString("videoName"),
                                 materialRelatePerson.getString("orderTitle"),
                                 materialRelatePerson.getLong("orderId"),
-                                materialRelatePerson.getString("operatorName")));
+                                materialRelatePerson.getString("operatorName"),
+                                materialRelatePerson.getString("videoAdvise")));
 
         }
     }