Sfoglia il codice sorgente

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

syh 5 anni fa
parent
commit
8fa5fc0be1

+ 31 - 25
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/CallbackController.java

@@ -140,15 +140,8 @@ public class CallbackController {
                     if (Check.isNull(accountId)) {
                         return "授权绑定失败!";
                     }
-                    QueryWrapper<UserAllocation> userAllocationQueryWrapper = new QueryWrapper<>();
-                    userAllocationQueryWrapper.eq("account_id", accountId);
-                    userAllocationQueryWrapper.eq("media_id", 2);
-                    userAllocationQueryWrapper.orderByDesc("create_time");
-                    userAllocationQueryWrapper.last("limit 1");
-                    UserAllocation checkUserAllocation = allocationMapper.selectOne(userAllocationQueryWrapper);
-                    if (!Check.isNull(checkUserAllocation)) {
-                        return "授权失败,该账号已被:" + checkUserAllocation.getAuthName() + "绑定!";
-                    }
+
+
                     String advertiserId = json.getString("advertiserId");
                     //指定分配人姓名
                     String userName = json.getString("userName");
@@ -159,6 +152,34 @@ public class CallbackController {
                     //创建人
                     String userId = json.getString("userId");
                     Long projectId = json.getLong("projectId");
+
+                    CtopOauthToken topOauthToken = new CtopOauthToken();
+                    topOauthToken.setId(accountId + "");
+                    topOauthToken.setAccountId(accountId);
+                    topOauthToken.setMediaId("2");
+                    topOauthToken.setAdvertiserId(advertiserId);
+                    topOauthToken.setAccessToken(token.getAccessToken());
+                    long accessTokenExpireIn = token.getAccessTokenExpiresIn() * 1000L;
+                    long now = System.currentTimeMillis();
+                    Date accessTokenExpireInDate = new Date(now + accessTokenExpireIn);
+                    topOauthToken.setAccessTokenExpiresIn(accessTokenExpireInDate);
+                    topOauthToken.setRefreshToken(token.getRefreshToken());
+                    long refreshTokenExpireIn = token.getRefreshTokenExpiresIn() * 1000L;
+                    Date refreshTokenExpireInDate = new Date(now + refreshTokenExpireIn);
+                    topOauthToken.setRefreshTokenExpiresIn(refreshTokenExpireInDate);
+                    topOauthToken.setUpdateTime(new Date());
+                    ctopOauthTokenService.saveOrUpdate(topOauthToken);
+
+
+                    QueryWrapper<UserAllocation> userAllocationQueryWrapper = new QueryWrapper<>();
+                    userAllocationQueryWrapper.eq("account_id", accountId);
+                    userAllocationQueryWrapper.eq("media_id", 2);
+                    userAllocationQueryWrapper.orderByDesc("create_time");
+                    userAllocationQueryWrapper.last("limit 1");
+                    UserAllocation checkUserAllocation = allocationMapper.selectOne(userAllocationQueryWrapper);
+                    if (!Check.isNull(checkUserAllocation)) {
+                        return "授权失败,该账号已被:" + checkUserAllocation.getUserName() + " 绑定!";
+                    }
                     String projectName = json.getString("projectName");
                     UserAllocation userAllocation = new UserAllocation();
                     userAllocation.setUserName(userName);
@@ -185,22 +206,7 @@ public class CallbackController {
                     if (i > 0) {
                         logger.info("同步分配用户表完成,task_id:{},accountId:{}", state, accountId);
                     }
-                    CtopOauthToken topOauthToken = new CtopOauthToken();
-                    topOauthToken.setId(accountId + "");
-                    topOauthToken.setAccountId(accountId);
-                    topOauthToken.setMediaId("2");
-                    topOauthToken.setAdvertiserId(advertiserId);
-                    topOauthToken.setAccessToken(token.getAccessToken());
-                    long accessTokenExpireIn = token.getAccessTokenExpiresIn() * 1000L;
-                    long now = System.currentTimeMillis();
-                    Date accessTokenExpireInDate = new Date(now + accessTokenExpireIn);
-                    topOauthToken.setAccessTokenExpiresIn(accessTokenExpireInDate);
-                    topOauthToken.setRefreshToken(token.getRefreshToken());
-                    long refreshTokenExpireIn = token.getRefreshTokenExpiresIn() * 1000L;
-                    Date refreshTokenExpireInDate = new Date(now + refreshTokenExpireIn);
-                    topOauthToken.setRefreshTokenExpiresIn(refreshTokenExpireInDate);
-                    topOauthToken.setUpdateTime(new Date());
-                    ctopOauthTokenService.saveOrUpdate(topOauthToken);
+
                     //账号绑定
                     bindAccountAuthService.addBindAccount(accountId, KuaishouInterfaceConstant.LOGIN_TYPE_KUAISHOU, advertiserId);
                     Thread t = new Thread() {

+ 40 - 20
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectController.java

@@ -87,19 +87,20 @@ public class ProjectController {
     @GetMapping(value = "/responsibleList")
     public Map<String, Object> responsibleList(String userId) {
         Map<String, Object> map = new HashMap<>();
-
         String roleCode = materialReportMapper.getRoleCodeByUserId(userId);
         QueryWrapper<Project> queryWrapper = new QueryWrapper<>();
         if (!"admin".equals(roleCode)) {
-            queryWrapper.eq("responsible_id", userId);
-            queryWrapper.orderByDesc("create_time");
+            if ("designTeamLeader".equals(roleCode)) {
+                queryWrapper.eq("design_responsible_id", userId);
+            } else {
+                queryWrapper.eq("responsible_id", userId);
+            }
         }
+        queryWrapper.orderByDesc("create_time");
         List<Project> projects = projectMapper.selectList(queryWrapper);
         map.put("success", true);
         map.put("code", 0);
         map.put("result", projects);
-
-
         return map;
     }
 
@@ -158,31 +159,50 @@ public class ProjectController {
         try {
             String advertiserId = project.getAdvertiserId();
             Advertiser advertiser = advertiserService.getById(advertiserId);
+            Map<String, String> memberMap = new HashMap<>();
             if (!Check.isNull(advertiser)) {
                 project.setCompanyId(advertiser.getCompanyId());
+
             }
             SysUser sysUser = sysUserService.getById(project.getResponsibleId());
             if (!Check.isNull(sysUser)) {
                 project.setResponsibleName(sysUser.getRealname());
+                memberMap.put(sysUser.getId(), sysUser.getRealname());
+            }
+
+
+            SysUser designSysUser = sysUserService.getById(project.getDesignResponsibleId());
+            if (!Check.isNull(designSysUser)) {
+                project.setDesignResponsibleName(designSysUser.getRealname());
+                memberMap.put(designSysUser.getId(), designSysUser.getRealname());
             }
+
             projectService.save(project);
+
+
             Long id = project.getId();
-            Map<String, Object> map = new HashMap<>();
-            map.put("project_id", id);
-            map.put("user_id", project.getResponsibleId());
-            projectMemberService.removeByMap(map);
-            ProjectMember member = new ProjectMember();
-            member.setProjectId(id);
-            member.setProjectName(project.getProjectName());
-            member.setUserId(project.getResponsibleId());
-            if (!Check.isNull(sysUser)) {
-                member.setUserName(sysUser.getRealname());
-            }
-            String roleCode = materialReportMapper.getRoleCodeByUserId(project.getUserId());
-            if (!Check.isNull(roleCode)) {
-                member.setRoleCode(roleCode);
+            for (Map.Entry<String, String> projectMember : memberMap.entrySet()) {
+
+                String userId = projectMember.getKey();
+                String userName = projectMember.getValue();
+
+                Map<String, Object> map = new HashMap<>();
+                map.put("project_id", id);
+                map.put("user_id", userId);
+                projectMemberService.removeByMap(map);
+                ProjectMember member = new ProjectMember();
+                member.setProjectId(id);
+                member.setProjectName(project.getProjectName());
+                member.setUserId(userId);
+                member.setUserName(userName);
+                String roleCode = materialReportMapper.getRoleCodeByUserId(userId);
+                if (!Check.isNull(roleCode)) {
+                    member.setRoleCode(roleCode);
+                }
+                projectMemberService.save(member);
             }
-            projectMemberService.save(member);
+
+
             result.success("添加成功!");
         } catch (Exception e) {
             e.printStackTrace();

+ 2 - 1
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/controller/ProjectMemberController.java

@@ -65,7 +65,7 @@ public class ProjectMemberController {
 
 
     /**
-     * 我参与项目
+     * 查看项目成员
      *
      * @param projectId
      * @return
@@ -119,6 +119,7 @@ public class ProjectMemberController {
                     Project project = projectService.getById(projectMember.getProjectId());
                     if (!Check.isNull(project)) {
                         projectMember.setResponsibleName(project.getResponsibleName());
+                        projectMember.setDesignResponsibleName(project.getDesignResponsibleName());
                         projectMember.setAdvertiserName(project.getAdvertiserName());
                         projectMember.setAdvertiserId(project.getAdvertiserId());
                         projectMember.setMediaId(project.getMediaId());

+ 9 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/Project.java

@@ -68,6 +68,15 @@ public class Project {
     @ApiModelProperty(value = "负责人名称")
     private String responsibleName;
 
+    @Excel(name = "设计负责人", width = 15)
+    @ApiModelProperty(value = "设计负责人")
+    private String designResponsibleId;
+
+    @Excel(name = "设计负责人名称", width = 15)
+    @ApiModelProperty(value = "设计负责人名称")
+    private String designResponsibleName;
+
+
     @Excel(name = "公司id", width = 15)
     @ApiModelProperty(value = "公司id")
     private String companyId;

+ 4 - 0
jeecg-boot-module-system/src/main/java/org/jeecg/modules/ctop/entity/ProjectMember.java

@@ -66,6 +66,10 @@ public class ProjectMember {
     @TableField(exist = false)
     private String responsibleName;
 
+
+    @TableField(exist = false)
+    private String designResponsibleName;
+
     @TableField(exist = false)
     private String advertiserName;
     @TableField(exist = false)

+ 58 - 0
module-common/src/main/java/cn/com/ctop/common/module/utils/MpsUtils.java

@@ -269,6 +269,64 @@ public class MpsUtils {
         return jobId;
     }
 
+    public String videoWaterMark(String videoPath,String waterMarkPath,String watermarkTemplateId){
+        String jobId = "";
+        IAcsClient client = getClient();
+        String pipelineId = getPipelineId(client);
+        SubmitJobsRequest request = new SubmitJobsRequest();
+        JSONObject videoWatermarkInput = new JSONObject();
+        videoWatermarkInput.put("Location", ossLocation);
+        videoWatermarkInput.put("Bucket", ossBucket);
+        try {
+            videoWatermarkInput.put("Object", URLEncoder.encode(videoPath, "utf-8"));
+        } catch (UnsupportedEncodingException e) {
+            throw new RuntimeException("videoWatetmark Input URL encode failed");
+        }
+        JSONObject videoWatermark = new JSONObject();
+        videoWatermark.put("WaterMarkTemplateId", watermarkTemplateId);
+        videoWatermark.put("Type", "Image");
+        videoWatermark.put("InputFile", videoWatermarkInput);
+        videoWatermark.put("ReferPos", "BottomLeft");
+        videoWatermark.put("Height", "240");
+        videoWatermark.put("Dx", "0");
+        videoWatermark.put("Dy", "0");
+        String outputOSSObject;
+        try {
+            outputOSSObject = URLEncoder.encode(waterMarkPath, "utf-8");
+        } catch (UnsupportedEncodingException e) {
+            throw new RuntimeException("output URL encode failed");
+        }
+        JSONObject output = new JSONObject();
+        output.put("OutputObject", outputOSSObject);
+        JSONArray watermarks = new JSONArray();
+        watermarks.add(videoWatermark);
+        output.put("WaterMarks", watermarks.toJSONString());
+        // Outputs
+        JSONArray outputs = new JSONArray();
+        outputs.add(output);
+        request.setOutputs(outputs.toJSONString());
+        request.setOutputBucket(ossBucket);
+        request.setOutputLocation(ossLocation);
+        // PipelineId
+        request.setPipelineId(pipelineId);
+        SubmitJobsResponse response;
+        try {
+            response = client.getAcsResponse(request);
+            System.out.println("RequestId is:"+response.getRequestId());
+            if (response.getJobResultList().get(0).getSuccess()) {
+                jobId = response.getJobResultList().get(0).getJob().getJobId();
+                System.out.println("JobId is:" + response.getJobResultList().get(0).getJob().getJobId());
+            } else {
+                System.out.println("SubmitJobs Failed code:" + response.getJobResultList().get(0).getCode() +
+                        " message:" + response.getJobResultList().get(0).getMessage());
+            }
+        } catch (ServerException e) {
+            e.printStackTrace();
+        } catch (ClientException e) {
+            e.printStackTrace();
+        }
+        return jobId;
+    }
 
 
     public String getPipelineId(IAcsClient client){

+ 1 - 0
pom.xml

@@ -67,6 +67,7 @@
             <id>maven-3rdparty</id>
             <url>https://packages.atlassian.com/maven-3rdparty/</url>
         </repository>
+
     </repositories>
 
     <properties>