TRX 1 год назад
Родитель
Сommit
f33a166736

+ 2 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/dao/projectAbout/ProjectWeChatInfoDao.java

@@ -14,4 +14,6 @@ public interface ProjectWeChatInfoDao extends MongoDao<ProjectWeChatInfo> {
 
     ProjectWeChatInfo findTopByAppId(String appId);
 
+    ProjectWeChatInfo findTopByAppIdOrderByUpdateTimeDesc(String appId);
+
 }

+ 7 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/base/SuperService.java

@@ -89,6 +89,13 @@ public abstract class SuperService {
         return authClientSecurityAuthenticationHelper.getParameter(new String[]{"projectoid", "projectOid"});
     }
 
+    public String getHeadParam(String[] keys) {
+        if (keys != null && keys.length > 0) {
+            return authClientSecurityAuthenticationHelper.getParameter(keys);
+        }
+        return "";
+    }
+
     /**
      * 初始Entity的默认参数 oid、createUser (oid为空会抛出异常)
      *

+ 27 - 0
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/projectAbout/ProjectWeChatInfoService.java

@@ -43,6 +43,7 @@ public class ProjectWeChatInfoService extends SuperService {
             return ResultContent.buildFail(String.format("项目oid不存在:%s", projectOid));
         }
         ProjectWeChatInfo projectWeChatInfo = projectWeChatInfoDao.findTopByProjectOid(projectOid);
+        ProjectWeChatInfo appIdTemp = projectWeChatInfoDao.findTopByAppId(projectWeChatInfo.getAppId());
         if (ObjectUtils.isEmpty(projectWeChatInfo)) {
             projectWeChatInfo = new ProjectWeChatInfo();
             projectWeChatInfo.setIsDelete(Boolean.FALSE);
@@ -50,6 +51,15 @@ public class ProjectWeChatInfoService extends SuperService {
         } else {
             initUpdateEntity(projectWeChatInfo);
         }
+        if (ObjectUtils.isNotEmpty(appIdTemp)
+                && !appIdTemp.getProjectOid().equals(projectOid)) {
+            String _name = "";
+            if (ObjectUtils.isNotEmpty(appIdTemp.getProjectInfo())) {
+                _name = appIdTemp.getProjectInfo().getName();
+            }
+            return ResultContent.buildFail(String.format("appId已绑定项目:"));
+        }
+
         BeanUtils.copyProperties(param, projectWeChatInfo);
         projectWeChatInfo.setProjectInfo(projectInfo);
         projectWeChatInfo.setProjectName(projectInfo.getName());
@@ -106,6 +116,23 @@ public class ProjectWeChatInfoService extends SuperService {
         return false;
     }
 
+    /**
+     * 更加当前的小程序appId 得到对应的项目oid (appId 存储在head里面)
+     *
+     * @return
+     */
+    public String getProjectOidForXcx() {
+        String projectOid = "";
+        String appId = getHeadParam(new String[]{"appId", "appid"});
+        if (ObjectUtils.isNotEmpty(appId)) {
+            ProjectWeChatInfo projectWeChatInfo = projectWeChatInfoDao.findTopByAppIdOrderByUpdateTimeDesc(appId);
+            if (ObjectUtils.isNotEmpty(projectWeChatInfo)) {
+                projectOid = projectWeChatInfo.getProjectOid();
+            }
+        }
+        return projectOid;
+    }
+
     public ProjectWeChatInfoModel toModel(ProjectWeChatInfo entity) {
         ProjectWeChatInfoModel model = null;
         if (ObjectUtils.isNotEmpty(entity)) {