소스 검색

登录相关增加码上兑券openId区分

cup 2 년 전
부모
커밋
e9a2d4e533

+ 25 - 5
mp-admin/src/main/java/com/qs/mp/web/controller/api/common/UserController.java

@@ -21,6 +21,7 @@ import com.qs.mp.channel.domain.Channel;
 import com.qs.mp.channel.service.IChannelService;
 import com.qs.mp.common.core.domain.AjaxResult;
 import com.qs.mp.common.domain.vo.AliPhoneDecryptVO;
+import com.qs.mp.common.enums.AppSourceEnum;
 import com.qs.mp.common.enums.UserIdentityEnum;
 import com.qs.mp.common.enums.WxActTypeEnum;
 import com.qs.mp.common.jsms.JSMSUtils;
@@ -38,6 +39,7 @@ import com.qs.mp.framework.web.service.SysLoginService;
 import com.qs.mp.system.domain.SysUser;
 import com.qs.mp.system.domain.vo.WxLoginParams;
 import com.qs.mp.system.service.ISysUserService;
+import com.qs.mp.user.domain.param.UserInfoQueryParam;
 import com.qs.mp.utils.SecurityUtils;
 import com.qs.mp.web.controller.common.BaseApiController;
 import io.swagger.annotations.Api;
@@ -296,9 +298,10 @@ public class UserController extends BaseApiController {
     public AjaxResult wxauth(@RequestBody WxLoginParams wxLoginParams) {
         String appId = channelAppId;
         String appSecret = channelAppSecret;
+        AppSourceEnum appSourceEnum = AppSourceEnum.getByValue(wxLoginParams.getAppSource());
         if (wxLoginParams.getIdentity() == UserIdentityEnum.USER.ordinal()) {
-            appId = userAppId;
-            appSecret = userAppSecret;
+            appId = appSourceEnum.getAppId();
+            appSecret = appSourceEnum.getAppSecret();
         }
         //调用微信后台接口获取openId
         String res = wxLoginCheck(wxLoginParams.getCode(), appId, appSecret);
@@ -316,7 +319,11 @@ public class UserController extends BaseApiController {
         SysUser user = new SysUser();
         user.setUserId(loginUser.getUserId());
         if (wxLoginParams.getIdentity() == UserIdentityEnum.USER.ordinal()) {
-            user.setOpenId(openId);
+            if (AppSourceEnum.MSDQ.equals(appSourceEnum)) {
+                user.setMsdqOpenId(openId);
+            } else {
+                user.setOpenId(openId);
+            }
         } else {
             user.setChannelOpenId(openId);
         }
@@ -365,6 +372,12 @@ public class UserController extends BaseApiController {
     public AjaxResult wxauthMobile(@RequestBody WxLoginParams wxLoginParams) {
         String appId = userAppId;
         String appSecret = userAppSecret;
+        AppSourceEnum appSourceEnum = AppSourceEnum.getByValue(wxLoginParams.getAppSource());
+        if (AppSourceEnum.MSDQ.equals(appSourceEnum)) {
+            appId = AppSourceEnum.MSDQ.getAppId();
+        }
+
+
     /*if (UserIdentityEnum.isChannel(wxLoginParams.getIdentity())) {
       appId = channelAppId;
       appSecret = channelAppSecret;
@@ -468,10 +481,12 @@ public class UserController extends BaseApiController {
      */
     @ApiOperation("查询当前登录用户信息")
     @RequestMapping(value = "/user/getLoginUserinfo", method = RequestMethod.POST)
-    public AjaxResult getLoginUserinfo(@RequestBody JSONObject params) {
+    public AjaxResult getLoginUserinfo(@RequestBody UserInfoQueryParam param) {
         LoginUser loginUser = SecurityUtils.getLoginUser();
         SysUser sysUser = sysUserService.selectUserById(SecurityUtils.getUserId());
 
+        AppSourceEnum appSourceEnum = AppSourceEnum.getByValue(param.getAppSource());
+
         JSONObject jsonObject = new JSONObject();
         jsonObject.put("userName", sysUser.getUserName());
         jsonObject.put("avatar", sysUser.getAvatar());
@@ -481,7 +496,12 @@ public class UserController extends BaseApiController {
         } else {
             jsonObject.put("nickName", sysUser.getNickName());
         }
-        jsonObject.put("openId", sysUser.getOpenId());
+        if (AppSourceEnum.MSDQ.equals(appSourceEnum)) {
+            jsonObject.put("openId", sysUser.getMsdqOpenId());
+        } else {
+            jsonObject.put("openId", sysUser.getOpenId());
+        }
+
         jsonObject.put("channelOpenId", sysUser.getChannelOpenId());
         jsonObject.put("aliuserId", sysUser.getAliuserId());
         JSONArray roleKeys = new JSONArray();

+ 65 - 0
mp-common/src/main/java/com/qs/mp/common/enums/AppSourceEnum.java

@@ -0,0 +1,65 @@
+package com.qs.mp.common.enums;
+
+import com.baomidou.mybatisplus.annotation.IEnum;
+import io.swagger.annotations.ApiModel;
+
+/**
+ * 小程序来源枚举
+ * @author Cup
+ * @date 2022/7/11
+ */
+@ApiModel("小程序来源枚举")
+public enum AppSourceEnum implements IEnum<Integer> {
+
+    /**
+     * 盲票AppId
+     */
+    MP(1,"wx8533800e393dbd6b", "7708655ba65f04de2a42f23d20ab4134"),
+    /**
+     * 马上兑券AppId
+     */
+    MSDQ(2,"wxffb4598e70b9f871", "1c7ba0eed8c0287b8800b089e3c9d102");
+
+    private Integer value;
+
+    private String appId;
+
+    private String appSecret;
+
+
+    AppSourceEnum(Integer value, String appId, String appSecret) {
+        this.value = value;
+        this.appId = appId;
+        this.appSecret = appSecret;
+    }
+
+    public static AppSourceEnum getByValue(Integer value){
+        for (AppSourceEnum appSourceEnum : AppSourceEnum.values()) {
+            if (appSourceEnum.getValue().equals(value)) {
+                return appSourceEnum;
+            }
+        }
+        return AppSourceEnum.MP;
+    }
+
+    public String getAppSecret() {
+        return appSecret;
+    }
+
+    @Override
+    public Integer getValue() {
+        return value;
+    }
+
+    public String getAppId() {
+        return appId;
+    }
+
+    @Override
+    public String toString() {
+        return "AppSourceEnum{" +
+            "value='" + value + '\'' +
+            ", appId='" + appId + '\'' +
+            '}';
+    }
+}

+ 1 - 1
mp-common/src/main/java/com/qs/mp/common/enums/AsyncTaskTypeEnum.java

@@ -32,7 +32,7 @@ public enum AsyncTaskTypeEnum implements IEnum<Integer> {
         return value;
     }
 
-    public static AsyncTaskTypeEnum getByValue(String value){
+    public static AsyncTaskTypeEnum getByValue(Integer value){
         for (AsyncTaskTypeEnum asyncTaskTypeEnum : AsyncTaskTypeEnum.values()) {
             if (asyncTaskTypeEnum.getValue().equals(value)) {
                 return asyncTaskTypeEnum;

+ 10 - 0
mp-service/src/main/java/com/qs/mp/system/domain/SysUser.java

@@ -101,6 +101,8 @@ public class SysUser extends BaseEntity
     private String gzhOpenId; // 关注公众号的openid
     private String openId;   //绑定微信用户端小程序openId
     private String channelOpenId;   //绑定微信渠道端小程序openId
+
+    private String msdqOpenId;  // 码上兑券小程序openId
     private String unionId;  //用户在开放平台的唯一标识符,若当前小程序已绑定到微信开放平台帐号下会返回
     private String sessionKey; //会话密钥
 
@@ -146,6 +148,14 @@ public class SysUser extends BaseEntity
         this.channelOpenId = channelOpenId;
     }
 
+    public String getMsdqOpenId() {
+        return msdqOpenId;
+    }
+
+    public void setMsdqOpenId(String msdqOpenId) {
+        this.msdqOpenId = msdqOpenId;
+    }
+
     public String getUnionId() {
         return unionId;
     }

+ 18 - 4
mp-service/src/main/java/com/qs/mp/system/domain/vo/WxLoginParams.java

@@ -1,5 +1,7 @@
 package com.qs.mp.system.domain.vo;
 
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
@@ -7,18 +9,30 @@ import lombok.Data;
  *
  */
 @Data
+@ApiModel("微信登录入参类")
 public class WxLoginParams {
 
-    private String code;   //微信返回code,用于服务端换取鉴权信息
+    @ApiModelProperty("微信返回code,用于服务端换取鉴权信息")
+    private String code;
+    @ApiModelProperty("用户昵称")
     private String nickName;
+    @ApiModelProperty("用户头像")
     private String avatarUrl;
     /** 微信手机号授权信息,兼容基础类库2.22.1以下版本 */
-    private String encryptedData; // 包括敏感数据在内的完整用户信息的加密数据
-    private String iv; // 加密算法的初始向量
-    private String loginCode; // 调用wx.login获取的code
+    @ApiModelProperty("包括敏感数据在内的完整用户信息的加密数据")
+    private String encryptedData;
+    @ApiModelProperty("加密算法的初始向量")
+    private String iv;
+    @ApiModelProperty("调用wx.login获取的code")
+    private String loginCode;
     /**
      * 登录身份
      */
+    @ApiModelProperty("登录身份")
     private int identity;
 
+
+    @ApiModelProperty("小程序,1盲票,2码上兑券")
+    private Integer appSource;
+
 }

+ 20 - 0
mp-service/src/main/java/com/qs/mp/user/domain/param/UserInfoQueryParam.java

@@ -0,0 +1,20 @@
+package com.qs.mp.user.domain.param;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 用户信息查询入参类
+ * @author Cup
+ * @date 2022/7/11
+ */
+@ApiModel("用户信息查询入参类")
+@Data
+public class UserInfoQueryParam {
+
+
+    @ApiModelProperty("小程序,1盲票,2码上兑券")
+    private Integer appSource;
+
+}

+ 1 - 0
mp-service/src/main/resources/mapper/system/SysUserMapper.xml

@@ -204,6 +204,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			<if test="openId != null">open_id = #{openId},</if>
 			<if test="aliuserId != null ">aliuser_id = #{aliuserId},</if>
 			<if test="channelOpenId != null">channel_open_id = #{channelOpenId},</if>
+			<if test="msdqOpenId != null">msdq_open_id = #{msdqOpenId},</if>
 			<if test="unionId != null">union_id = #{unionId},</if>
 			<if test="sessionKey != null">session_key = #{sessionKey},</if>
  			update_time = sysdate()