Browse Source

会员关联项目 代码调整、添加补数据SQL

Long 1 day ago
parent
commit
52ea3a0e7e

+ 46 - 0
fs-service-system/src/main/resources/db/upgrade/20250625会员关联项目.sql

@@ -34,3 +34,49 @@ alter table fs_user_company_user
     add column create_time datetime comment '创建时间';
 
 ALTER TABLE fs_user_company_user MODIFY COLUMN create_time datetime DEFAULT now() NULL COMMENT '创建时间';
+
+-- 补数据  中康项目ID 为5 其他项目根据情况调整
+insert into `fs_user_company_user`
+(`user_id`, `company_user_id`, `company_id`, `is_repeat_fans`, `project_id`, `qw_user_id`, `qw_external_contact_id`, `qw_company_id`, `status`, `remark`, `create_time`)
+select user_id,company_user_id,company_id,0,5,null,null,null,`status`,remark,create_time from fs_user;
+
+-- 补标签
+INSERT INTO fs_user_project_tag (user_company_user_id, tag_id, create_time)
+SELECT
+    fu.id AS user_company_user_id,
+    CAST(st.tag_id AS UNSIGNED) AS tag_id,
+    st.create_time
+FROM (
+         WITH RECURSIVE split_tags AS (
+             SELECT
+                 id,
+                 user_id,
+                 company_user_id,
+                 company_id,
+                 create_time,
+                 SUBSTRING_INDEX(tag_ids, ',', 1) AS tag_id,
+                 SUBSTRING(tag_ids, LOCATE(',', tag_ids) + 1) AS rest
+             FROM company_tag_user
+             WHERE tag_ids IS NOT NULL AND tag_ids != ''
+
+             UNION ALL
+
+             SELECT
+                 id,
+                 user_id,
+                 company_user_id,
+                 company_id,
+                 create_time,
+                 SUBSTRING_INDEX(rest, ',', 1),
+                 SUBSTRING(rest, LOCATE(',', rest) + 1)
+             FROM split_tags
+             WHERE rest IS NOT NULL AND rest != ''
+         )
+         SELECT * FROM split_tags
+     ) st
+         JOIN fs_user_company_user fu
+              ON fu.user_id = st.user_id
+                  AND fu.company_user_id = st.company_user_id
+                  AND fu.company_id = st.company_id
+WHERE st.tag_id REGEXP '^[0-9]+$';
+

+ 8 - 4
fs-user-app/src/main/java/com/fs/app/controller/WxCompanyUserController.java

@@ -99,6 +99,10 @@ public class WxCompanyUserController extends AppBaseController {
                 return R.error("登陆失败,openid未授权,请稍后再试!");
             }
 
+            if (param.getAuthType() == 2 && StringUtils.isEmpty(session.getUnionid())){
+                return R.error("未绑定开发平台,请联系管理员!");
+            }
+
             // 手机号信息
             WxMaPhoneNumberInfo phoneNoInfo = new WxMaPhoneNumberInfo();;
             if (param.getAuthType()==1){
@@ -110,15 +114,15 @@ public class WxCompanyUserController extends AppBaseController {
 
             FsUser user = getUserByAuthType(param, wxService, session, phoneNoInfo);
 
+            // 3. 处理用户注册或更新
+            String ip = IpUtil.getRequestIp();
+            user = handleUserRegisterOrUpdate(user, param, session, phoneNoInfo, company, companyUser, ip);
+
             FsUserCompanyUser userCompanyUser = userCompanyUserService.selectByUserIdAndProjectId(user.getUserId(), param.getProjectId());
             if (Objects.nonNull(userCompanyUser) && !param.getCompanyUserId().equals(userCompanyUser.getCompanyUserId())){
                 return R.error(500, "该用户("+user.getUserId() + ")已成为其他销售会员");
             }
 
-            // 3. 处理用户注册或更新
-            String ip = IpUtil.getRequestIp();
-            user = handleUserRegisterOrUpdate(user, param, session, phoneNoInfo, company, companyUser, ip);
-
             // 4. 处理用户与小程序的绑定
             handleFsUserWx(user, param, session);