Преглед изворни кода

集成钉钉的转译,待增加渲染代码

seyason пре 1 година
родитељ
комит
c5b750f5ee

+ 7 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/CompanyDingding.java

@@ -15,7 +15,7 @@ import lombok.experimental.Accessors;
  * </p>
  *
  * @author Seyason
- * @since 2023-05-26
+ * @since 2024-04-20
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -108,6 +108,12 @@ public class CompanyDingding extends Model<CompanyDingding> {
     @TableField("sync_contact")
     private Integer syncContact;
 
+    /**
+     * 通讯录是否需要转译
+     */
+    @TableField("contact_need_translate")
+    private Integer contactNeedTranslate;
+
 
     @Override
     protected Serializable pkVal() {

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/DingDingServiceImpl.java

@@ -377,8 +377,6 @@ public class DingDingServiceImpl implements DingDingService {
                     .setExpirationDate(LocalDateTime.now().plusDays(15));
             company.setPackageProject(1);
             company.setPackageExpense(1);
-            company.setPackageCustomer(1);
-            company.setPackageOa(1);
             //设置来源
             company.setRegFrom("钉钉");
             companyMapper.insert(company);
@@ -483,6 +481,7 @@ public class DingDingServiceImpl implements DingDingService {
         dingding.setAgentId(agentId);
         dingding.setAuthUserId(authUserId);
         dingding.setSyncContact(1);
+        dingding.setContactNeedTranslate(1);//上架到钉钉应用市场,通讯录为加密模式,需要转译
 
         if (oldD == null) {
             //第一次,查询对方企业的accessToken
@@ -1148,6 +1147,7 @@ public class DingDingServiceImpl implements DingDingService {
                         num = auditWorkflowTimeSettingMapper.selectCount(new QueryWrapper<AuditWorkflowTimeSetting>().in("audit_dept_id", deptIds));
                     }
                     userVO.setHasAuditDept(num>0);
+                    userVO.setUserNameNeedTranslate(companyDingding.getContactNeedTranslate());
                     userService.setUserRoleMenu(userVO);
                     httpRespMsg.data = userVO;
                 }

+ 14 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/UserServiceImpl.java

@@ -264,6 +264,13 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
                 if (info != null) {
                     userList.get(0).setUserNameNeedTranslate(info.getSaasSyncContact());
                 }
+                //检测钉钉用户,是否需要转译
+                else {
+                    CompanyDingding companyDingding = companyDingdingService.getOne(new QueryWrapper<CompanyDingding>().eq("company_id", company.getId()));
+                    if (companyDingding != null) {
+                        userList.get(0).setUserNameNeedTranslate(companyDingding.getContactNeedTranslate());
+                    }
+                }
                 BeanUtils.copyProperties(userList.get(0), userVO);
                 if (userVO.getRoleId() == null || userVO.getRoleId() == 0) {
                     httpRespMsg.setError(MessageUtils.message("user.noRole"));
@@ -2614,7 +2621,13 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
         if (info != null) {
             user.setUserNameNeedTranslate(info.getSaasSyncContact());
         }
-
+        //检测钉钉用户,是否需要转译
+        else {
+            CompanyDingding companyDingding = companyDingdingService.getOne(new QueryWrapper<CompanyDingding>().eq("company_id", company.getId()));
+            if (companyDingding != null) {
+                user.setUserNameNeedTranslate(companyDingding.getContactNeedTranslate());
+            }
+        }
         UserVO userVO = new UserVO().setCompanyName(company.getCompanyName());
         userVO.setCompany(company);
         BeanUtils.copyProperties(user, userVO);

+ 2 - 14
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/CompanyDingdingMapper.xml

@@ -20,24 +20,12 @@
         <result column="pc_web_url" property="pcWebUrl" />
         <result column="oa_manager_dingid" property="oaManagerDingid" />
         <result column="sync_contact" property="syncContact" />
+        <result column="contact_need_translate" property="contactNeedTranslate" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        corpid, corp_name, auth_user_id, indate, company_id, access_token, expire_time, agent_id, inner_appkey, inner_appsecret, inner_token, inner_expire_time, web_url, pc_web_url, oa_manager_dingid, sync_contact
+        corpid, corp_name, auth_user_id, indate, company_id, access_token, expire_time, agent_id, inner_appkey, inner_appsecret, inner_token, inner_expire_time, web_url, pc_web_url, oa_manager_dingid, sync_contact, contact_need_translate
     </sql>
 
-    <select id="getDingdingCompanyList" resultType="com.management.platform.entity.CompanyDingding">
-        select *
-        from company_dingding
-        left join company
-        ON company_dingding.company_id = company.id
-        where company.expiration_date >= now()
-        <if test="companyIds.size()>0">
-            and company.id in
-            <foreach collection="companyIds" item="item" separator="," open="(" close=")">
-                #{item}
-            </foreach>
-        </if>
-    </select>
 </mapper>

+ 3 - 0
fhKeeper/formulahousekeeper/timesheet/index.html

@@ -15,6 +15,8 @@
       href="https://cdn.staticfile.org/element-ui/2.13.0/theme-chalk/index.css"
       rel="stylesheet"
     />
+    <!--接入钉钉前端组件,进行通讯录组件展示-->
+    <script src="https://auth.dingtalk.com/opendata-1.1.0.js"></script>
     <!-- <link rel="stylesheet" href="./static/js/element-uiCss.css"> -->
     <!-- 接入JQ  -->
     <script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
@@ -162,6 +164,7 @@
       src="https://open.work.weixin.qq.com/wwopen/js/jwxwork-1.0.0.js"
       referrerpolicy="origin"
     ></script>
+    
     <!-- <script src="./static/js/jweixin-1.2.0.js"></script>
         <script src="./static/js/jwxwork-1.0.0.js"></script> -->
   </body>

+ 2 - 1
fhKeeper/formulahousekeeper/timesheet/src/views/Home.vue

@@ -83,7 +83,8 @@
                                             </span>
                                             <span v-if="user.userNameNeedTranslate == 1">
                                                 {{scope.row.omg.textOne}}
-                                                <ww-open-data type='userName' :openid='scope.row.omg.textTwo'></ww-open-data>
+                                                <ww-open-data v-if="user.corpwxUserid != null" type='userName' :openid='scope.row.omg.textTwo'></ww-open-data>
+                                                <dd-open-data v-if="user.dingdingUserid != null" openType='userName' :openId='scope.row.omg.textTwo'></dd-open-data>
                                                 {{scope.row.omg.textThree}}
                                             </span>
                                         </span>