姜永辉 hai 1 ano
pai
achega
beba61b443

+ 10 - 1
src/main/java/com/dk/oauth/controller/oauth/AccessTokenController.java

@@ -154,6 +154,16 @@ public class AccessTokenController {
     }
     }
 
 
     /**
     /**
+     * @desc : 离职时候更新 用户的openid current_cp  , "joined_cps"   缩减相应的cpid
+     * @author : 姜永辉
+     * @date : 2024-02-20 13:06
+     */
+    @PostMapping(value = "/oauth/wx/update_clear_openid_feign")
+    public ResponseResultVO updateClearOpenidFeign(@RequestBody  Map<String,Object> map) {
+        return authAccessTokenService.updateClearOpenidFeign(map);
+    }
+
+    /**
      * @desc : 生成微信临时二维码
      * @desc : 生成微信临时二维码
      * @author : 洪旭东
      * @author : 洪旭东
      * @date : 2024-02-20 09:05
      * @date : 2024-02-20 09:05
@@ -163,7 +173,6 @@ public class AccessTokenController {
         return authAccessTokenService.getWxQrCode(map);
         return authAccessTokenService.getWxQrCode(map);
     }
     }
 
 
-
     /**
     /**
      * @desc : 生成微信临时二维码
      * @desc : 生成微信临时二维码
      * @author : 洪旭东
      * @author : 洪旭东

+ 7 - 0
src/main/java/com/dk/oauth/mapper/UserMapper.java

@@ -66,6 +66,13 @@ public interface UserMapper  extends BaseMapper<UserLogin> {
     int updateCpid(@Param("userId") String userId, @Param("currentCp") Integer currentCp,@Param("joinedCps") List<Integer> joinedCps);
     int updateCpid(@Param("userId") String userId, @Param("currentCp") Integer currentCp,@Param("joinedCps") List<Integer> joinedCps);
 
 
     /**
     /**
+     * @desc : 离职时候更新 用户的openid current_cp  , "joined_cps"   缩减相应的cpid
+     * @author : 姜永辉
+     * @date : 2024-02-20 14:12
+     */
+    int updateClearOpenidFeign(@Param("userId") String userId, @Param("currentCp") Integer currentCp,@Param("joinedCps") List<Integer> joinedCps);
+
+    /**
      * @desc : 选择公司更新微信用户的所在当前的公司
      * @desc : 选择公司更新微信用户的所在当前的公司
      * @author : 姜永辉
      * @author : 姜永辉
      * @date : 2024-02-20 14:12
      * @date : 2024-02-20 14:12

+ 2 - 0
src/main/java/com/dk/oauth/service/IAuthAccessTokenService.java

@@ -36,6 +36,8 @@ public interface IAuthAccessTokenService extends IService<AuthAccessToken> {
 
 
     ResponseResultVO<?> register(UserWxLogin userWxLogin);
     ResponseResultVO<?> register(UserWxLogin userWxLogin);
 
 
+    ResponseResultVO<?> updateClearOpenidFeign(Map<String,Object> map);
+
     ResponseResultVO<?> registerFeign(Map<String,Object> map);
     ResponseResultVO<?> registerFeign(Map<String,Object> map);
 
 
     ResponseResultVO<?> checkLoginOpenId(String uuid);
     ResponseResultVO<?> checkLoginOpenId(String uuid);

+ 27 - 0
src/main/java/com/dk/oauth/service/impl/AuthAccessTokenServiceImpl.java

@@ -312,6 +312,33 @@ public class AuthAccessTokenServiceImpl extends ServiceImpl<AuthAccessTokenMappe
 
 
     }
     }
 
 
+    /**
+     * @desc :离职时候更新 用户的openid current_cp  , "joined_cps"   缩减相应的cpid
+     * @author : 姜永辉
+     * @date : 2024-02-20 13:55
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public ResponseResultVO<?> updateClearOpenidFeign(Map<String, Object> map) {
+        String userId = map.get("userId") + "";
+        Integer cpId = Integer.parseInt(map.get("cpId")+"") ;
+        UserLogin userLogin = userMapper.selectById(userId);
+        Integer cpIdNew = null;
+        if (userLogin != null) {
+            List<Integer> joinedCps = new ArrayList<>();
+            joinedCps =  userLogin.getJoinedCps();
+            if (joinedCps != null) {
+                List<Integer> joinedCpsNew = new ArrayList<>();
+                joinedCpsNew.add(cpId);
+                joinedCps.removeAll(joinedCpsNew);
+                if (joinedCps != null && joinedCps.size() > 0) {
+                    cpIdNew = joinedCps.get(0);
+                }
+            }
+            userMapper.updateClearOpenidFeign(userId, cpIdNew, joinedCps);
+        }
+
+        return ResponseResultUtil.success();
+    }
 
 
     /**
     /**
      * @desc : 注册
      * @desc : 注册

+ 1 - 1
src/main/resources/mapper/CompanyMapper.xml

@@ -150,7 +150,7 @@
         where t.cp_id = any( (select joined_cps from dkic_a.t_wx_user where user_wxid = #{openid})::Integer[] )
         where t.cp_id = any( (select joined_cps from dkic_a.t_wx_user where user_wxid = #{openid})::Integer[] )
     </select>
     </select>
 
 
-    <insert id="insert">
+    <insert id="insert"  useGeneratedKeys="true" keyProperty="cpId" keyColumn="cp_id">
         insert into dkic_a.t_a_company
         insert into dkic_a.t_a_company
         (cp_name,
         (cp_name,
          svc_code,
          svc_code,

+ 8 - 0
src/main/resources/mapper/UserMapper.xml

@@ -110,6 +110,14 @@
         where user_id = #{userId}::uuid
         where user_id = #{userId}::uuid
     </update>
     </update>
 
 
+    <!--离职时候更新 用户的openid current_cp  , "joined_cps"   缩减相应的cpid-->
+    <update id="updateClearOpenidFeign">
+        update dkic_a.t_wx_user set current_cp = #{currentCp}
+            ,joined_cps = #{joinedCps,typeHandler=IntListTypeHandler}
+            ,user_wxid = null
+        where user_id = #{userId}::uuid
+    </update>
+
     <!--更新微信用的公司-->
     <!--更新微信用的公司-->
     <update id="updateCurrentCpByWxid">
     <update id="updateCurrentCpByWxid">
         update dkic_a.t_wx_user set current_cp = #{currentCp}
         update dkic_a.t_wx_user set current_cp = #{currentCp}