瀏覽代碼

创建援用

姜永辉 2 年之前
父節點
當前提交
71ab84da79

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

@@ -145,6 +145,16 @@ public class AccessTokenController {
     }
 
     /**
+     * @desc : 注册-创建员工的时候保存微信用户信息
+     * @author : 洪旭东
+     * @date : 2024-02-20 13:06
+     */
+    @PostMapping(value = "/oauth/wx/register_feign")
+    public ResponseResultVO registerFeign(@RequestBody  Map<String,Object> map) {
+        return authAccessTokenService.registerFeign(map);
+    }
+
+    /**
      * @desc : 生成微信临时二维码
      * @author : 洪旭东
      * @date : 2024-02-20 09:05

+ 15 - 0
src/main/java/com/dk/oauth/entity/UserWxLogin.java

@@ -1,8 +1,12 @@
 package com.dk.oauth.entity;
 
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.dk.common.infrastructure.handler.IntListTypeHandler;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import javax.validation.constraints.NotBlank;
+import java.util.List;
 
 /**
  * @author : 洪旭东
@@ -20,4 +24,15 @@ public class UserWxLogin {
 
     @NotBlank
     private String userWxid;
+    /**
+     * 当前公司
+     */
+    @ApiModelProperty(value = "当前公司")
+    private Integer currentCp;
+    /**
+     * 加入的公司
+     */
+    @ApiModelProperty(value = "加入的公司")
+    @TableField(typeHandler = IntListTypeHandler.class)
+    private List<Integer> joinedCps;
 }

+ 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<?> registerFeign(Map<String,Object> map);
+
     ResponseResultVO<?> checkLoginOpenId(String uuid);
 
     ResponseResultVO<?> getQrCode(String uuid);

+ 49 - 13
src/main/java/com/dk/oauth/service/impl/AuthAccessTokenServiceImpl.java

@@ -42,9 +42,7 @@ import javax.servlet.http.HttpServletResponse;
 import java.io.File;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
+import java.util.*;
 import java.util.concurrent.TimeUnit;
 
 /**
@@ -268,6 +266,44 @@ public class AuthAccessTokenServiceImpl extends ServiceImpl<AuthAccessTokenMappe
     }
 
     /**
+     * @desc : 注册-创建员工的时候保存微信用户信息
+     * @author : 姜永辉
+     * @date : 2024-02-20 13:55
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public ResponseResultVO<?> registerFeign(Map<String, Object> map) {
+        UserWxLogin userWxLogin = new UserWxLogin();
+        userWxLogin.setCurrentCp(Integer.parseInt(map.get("currentCp") + ""));
+        userWxLogin.setUserPhone(map.get("userPhone") + "");
+        userWxLogin.setUserName(map.get("userName") + "");
+
+        UserLogin userLogin = userMapper.getByPhone(userWxLogin.getUserPhone());
+        if (userLogin == null) {
+            //注册
+            List<Integer> joinedCps = new ArrayList<>();
+            joinedCps.add(userWxLogin.getCurrentCp());
+            userWxLogin.setJoinedCps(joinedCps);
+            userMapper.insert(userWxLogin);
+        } else {
+            List<Integer> joinedCps = userLogin.getJoinedCps();
+            if (joinedCps == null) {
+                joinedCps = new ArrayList<>();
+                joinedCps.add(userWxLogin.getCurrentCp());
+                userWxLogin.setJoinedCps(joinedCps);
+                userMapper.updateCpid(userLogin.getUserId(), null, userWxLogin.getJoinedCps());
+            }
+            if (joinedCps != null && !joinedCps.contains(userWxLogin.getCurrentCp())) {
+                joinedCps.add(userWxLogin.getCurrentCp());
+                userWxLogin.setJoinedCps(joinedCps);
+                userMapper.updateCpid(userLogin.getUserId(), null, userWxLogin.getJoinedCps());
+            }
+        }
+        return ResponseResultUtil.success(true);
+
+    }
+
+
+    /**
      * @desc : 注册
      * @author : 洪旭东
      * @date : 2024-02-20 13:55
@@ -345,9 +381,9 @@ public class AuthAccessTokenServiceImpl extends ServiceImpl<AuthAccessTokenMappe
      */
     public ResponseResultVO<?> changeCp(UserLogin userLogin) throws OAuthSystemException {
         // 更新用户的当前企业
-        if(userLogin.getCurrentCp() != Constant.Experience.profession.getName()
-                && userLogin.getCurrentCp() != Constant.Experience.Standard.getName() ){
-            userMapper.updateCpid(userLogin.getUserId(),userLogin.getCurrentCp(), userLogin.getJoinedCps());
+        if (userLogin.getCurrentCp() != Constant.Experience.profession.getName()
+                && userLogin.getCurrentCp() != Constant.Experience.Standard.getName()) {
+            userMapper.updateCpid(userLogin.getUserId(), userLogin.getCurrentCp(), userLogin.getJoinedCps());
         }
 
         //当前公司
@@ -389,9 +425,9 @@ public class AuthAccessTokenServiceImpl extends ServiceImpl<AuthAccessTokenMappe
             try {
                 accessToken = AESSecurityUtil.encrypt(AESKey, accessToken);
                 // 往redis记录缓存
-                Map<String,Object> ul = new HashMap<>();
-                ul.put("accessToken",accessToken);
-                ul.put("opUpdateTime",LocalDateTime.now());
+                Map<String, Object> ul = new HashMap<>();
+                ul.put("accessToken", accessToken);
+                ul.put("opUpdateTime", LocalDateTime.now());
                 stringRedisTemplate.opsForValue().set(Constant.RedisConstant.REDIS_USER_LOGIN.getName() + '_' + userId + '_' + userLogin.getAppCode(), JSONObject.toJSONString(ul));
 
             } catch (Exception e) {
@@ -453,9 +489,9 @@ public class AuthAccessTokenServiceImpl extends ServiceImpl<AuthAccessTokenMappe
                 try {
                     accessToken = AESSecurityUtil.encrypt(AESKey, accessToken);
                     // 往redis记录缓存
-                    Map<String,Object> ul = new HashMap<>();
-                    ul.put("accessToken",accessToken);
-                    ul.put("opUpdateTime",LocalDateTime.now());
+                    Map<String, Object> ul = new HashMap<>();
+                    ul.put("accessToken", accessToken);
+                    ul.put("opUpdateTime", LocalDateTime.now());
                     stringRedisTemplate.opsForValue().set(Constant.RedisConstant.REDIS_USER_LOGIN.getName() + '_' + userId + '_' + userLogin.getAppCode(), JSONObject.toJSONString(ul));
 
                 } catch (Exception e) {
@@ -551,7 +587,7 @@ public class AuthAccessTokenServiceImpl extends ServiceImpl<AuthAccessTokenMappe
         ResponseResultVO<String> responseResultVO = HttpUtils.postReturnFile(url, param, absolutelyPath);
 
         if (responseResultVO.getCode() == ResponseCodeEnum.SUCCESS.getCode()) {
-            return ResponseResultUtil.success(absolutelyPath.replace(config.getUploadPath(),""));
+            return ResponseResultUtil.success(absolutelyPath.replace(config.getUploadPath(), ""));
         } else {
             return responseResultVO;
         }

+ 2 - 2
src/main/resources/mapper/UserMapper.xml

@@ -80,8 +80,8 @@
     </select>
 
     <insert id="insert">
-        insert into dkic_a.t_wx_user (user_wxid, user_name, user_phone, user_pwd)
-        values (#{userWxid}, #{userName}, #{userPhone}, md5('123'))
+        insert into dkic_a.t_wx_user (user_wxid, user_name, user_phone, user_pwd,joined_cps)
+        values (#{userWxid}, #{userName}, #{userPhone}, md5('123'), #{joinedCps,typeHandler=IntListTypeHandler})
     </insert>
 
     <update id="cleanPhone">