Prechádzať zdrojové kódy

微信回调 提升查询效率

Althars123 3 rokov pred
rodič
commit
37c481246b

+ 6 - 37
twzd-admin/src/test/java/com/miaxis/test/NormalTest.java

@@ -1,24 +1,16 @@
 package com.miaxis.test;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.miaxis.TwzdApplication;
-import com.miaxis.extension.service.IWxExtensionIncomeService;
-import com.miaxis.system.service.ISysUserService;
-import com.miaxis.user.service.IUserInfoService;
-import com.miaxis.wx.domain.WxForeverCode;
-import com.miaxis.wx.service.IWxForeverCodeService;
-import com.miaxis.wx.service.IWxMessageEvenService;
-import com.miaxis.wx.service.IWxTicketService;
-import com.miaxis.wx.service.impl.WxGzhServiceImpl;
+import com.miaxis.common.core.domain.entity.UserInfo;
+import com.miaxis.spread.service.impl.WxSpreadRelationServiceImpl;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.junit4.SpringRunner;
 
 import javax.annotation.Resource;
+import java.util.List;
 
 @ActiveProfiles("prodtest")
 @SpringBootTest(classes = TwzdApplication.class)
@@ -27,34 +19,11 @@ public class NormalTest {
 
 
     @Resource
-    WxGzhServiceImpl wxGzhService;
-
-    @Autowired
-    IWxExtensionIncomeService wxExtensionIncomeService;
-    @Autowired
-    ISysUserService userService;
-
-    @Autowired
-    IUserInfoService userInfoService;
-
-    @Autowired
-    IWxTicketService wxTicketService;
-
-    @Autowired
-    IWxMessageEvenService iWxMessageEvenService;
-
-    @Autowired
-    IWxForeverCodeService wxForeverCodeService;
-
-    @Value("${app.appid}")
-    private String appid;
-
-    @Value("${app.appSecret}")
-    private String secret;
+    WxSpreadRelationServiceImpl wxSpreadRelationService;
     @Test
     public void test666() throws Exception {
-        WxForeverCode wxForeverCode = wxForeverCodeService.getOne(new QueryWrapper<WxForeverCode>().eq("openid","ovKTX59nu0GOh8OBm_OHBIeC1vuI"));
-        iWxMessageEvenService.gainTicketEvent("ovKTX59nu0GOh8OBm_OHBIeC1vuI",wxGzhService.getGzhToken(),true,wxForeverCode);
+        List<UserInfo> list = wxSpreadRelationService.getWxSpreadRelationList("ovKTX56l0yUAR-c1KKu6VsaV3Erk");
+        System.out.println("wancheng");
     }
 
 

+ 10 - 4
twzd-common/src/main/java/com/miaxis/common/core/domain/entity/UserInfo.java

@@ -61,6 +61,12 @@ public class UserInfo extends BaseBusinessEntity{
     @ApiModelProperty(value = "微信openid")
     private String openid;
 
+    /** 微信openid */
+    @Excel(name = "联合id")
+    @TableField("unionid")
+    @ApiModelProperty(value = "unionid")
+    private String unionid;
+
 
 
 
@@ -78,10 +84,10 @@ public class UserInfo extends BaseBusinessEntity{
 
 
     /** 驾校班型Id */
-    @Excel(name = "联合id")
-    @TableField("union_id")
-    @ApiModelProperty(value = "联合id")
-    private String unionId;
+//    @Excel(name = "联合id")
+//    @TableField("union_id")
+//    @ApiModelProperty(value = "联合id")
+//    private String unionId;
 
 
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" )

+ 2 - 1
twzd-framework/src/main/java/com/miaxis/framework/web/service/SysLoginService.java

@@ -90,7 +90,7 @@ public class SysLoginService
     /**
      * 学员登录验证
      *
-     * @param principal 主体  可以是用户名,电话号码,openid等
+     * @param
      * @param credential 密码或者验证码
      * @param loginType 登录类型 1 学员用户名密码登录 2 学员手机验证码登录
      * @return 结果
@@ -100,6 +100,7 @@ public class SysLoginService
         ServletUtils.getRequest().setAttribute("loginType",loginType);
         ServletUtils.getRequest().setAttribute("headImage",wxUserInfo.getHeadimgurl());
         ServletUtils.getRequest().setAttribute("nickName",wxUserInfo.getNickname());
+        ServletUtils.getRequest().setAttribute("unionid",wxUserInfo.getUnionid());
         // 用户验证
         if (StudentLoginTypeEnum.AUTHORIZATION_CODE_LOGIN.getCode().equals(loginType)){
             return authenticate(wxUserInfo.getOpenid(),new OpenIdAuthenticationToken(wxUserInfo.getOpenid()));

+ 2 - 0
twzd-framework/src/main/java/com/miaxis/framework/web/service/UserDetailsServiceImpl.java

@@ -70,12 +70,14 @@ public class UserDetailsServiceImpl implements UserDetailsService
                     userInfo = new UserInfo();
                     userInfo.setHeadImage((String) ServletUtils.getRequest().getAttribute("headImage"));
                     userInfo.setNickName((String) ServletUtils.getRequest().getAttribute("nickName"));
+                    userInfo.setUnionid((String) ServletUtils.getRequest().getAttribute("unionid"));
                     userInfo.setOpenid(identification);
                     userService.saveUserInfo(userInfo);
                     userInfo = userService.getStudentByOpenId(identification);
                 }else {
                     userInfo.setHeadImage((String) ServletUtils.getRequest().getAttribute("headImage"));
                     userInfo.setNickName((String) ServletUtils.getRequest().getAttribute("nickName"));
+                    userInfo.setUnionid((String) ServletUtils.getRequest().getAttribute("unionid"));
                     userService.updateStudent(userInfo);
                 }
                 return createLoginUser(userInfo);

+ 3 - 4
twzd-service/src/main/java/com/miaxis/spread/mapper/WxSpreadRelationMapper.java

@@ -1,11 +1,8 @@
 package com.miaxis.spread.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.miaxis.common.core.domain.entity.UserInfo;
 import com.miaxis.spread.domain.WxSpreadRelation;
 
-import java.util.List;
-
 /**
  * wx推广关系Mapper接口
  * @author wwl
@@ -13,5 +10,7 @@ import java.util.List;
  * @date 2021/10/29 9:41
  */
 public interface WxSpreadRelationMapper extends BaseMapper<WxSpreadRelation> {
-    List<UserInfo> getWxSpreadRelationList(String openid);
+   String getWxSpreadRelationList(String openid);
+
+
 }

+ 13 - 1
twzd-service/src/main/java/com/miaxis/spread/service/impl/WxSpreadRelationServiceImpl.java

@@ -1,16 +1,20 @@
 package com.miaxis.spread.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.miaxis.common.core.domain.entity.UserInfo;
+import com.miaxis.common.utils.StringUtils;
 import com.miaxis.spread.domain.WxSpreadRelation;
 import com.miaxis.spread.mapper.WxSpreadRelationMapper;
 import com.miaxis.spread.service.IWxSpreadRelationService;
 import com.miaxis.spread.vo.WxSpreadRelationVo;
 import com.miaxis.user.mapper.UserInfoMapper;
+import com.miaxis.user.service.IUserInfoService;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -25,6 +29,7 @@ import java.util.stream.Collectors;
 public class WxSpreadRelationServiceImpl extends ServiceImpl<WxSpreadRelationMapper, WxSpreadRelation> implements IWxSpreadRelationService {
 
     private final WxSpreadRelationMapper wxSpreadRelationMapper;
+    private final IUserInfoService userInfoService;
     private final UserInfoMapper userInfoMapper;
 
     /**
@@ -58,7 +63,14 @@ public class WxSpreadRelationServiceImpl extends ServiceImpl<WxSpreadRelationMap
 
     @Override
     public List<UserInfo> getWxSpreadRelationList(String openid) {
-        return wxSpreadRelationMapper.getWxSpreadRelationList(openid);
+        List<UserInfo> userInfoList = new ArrayList<>();
+        String openidlistStr= wxSpreadRelationMapper.getWxSpreadRelationList(openid);
+        if (!StringUtils.isEmpty(openidlistStr)){
+            List<String> openidList = Arrays.asList(openidlistStr.split(","));
+            userInfoList = userInfoService.list(new QueryWrapper<UserInfo>().in("openid",openidList).ne("openid",openid));
+        }
+
+        return userInfoList;
     }
 
 }

+ 7 - 6
twzd-service/src/main/resources/mapper/spread/WxSpreadRelationMapper.xml

@@ -3,13 +3,14 @@
         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.miaxis.spread.mapper.WxSpreadRelationMapper">
-<select id="getWxSpreadRelationList" resultType="com.miaxis.common.core.domain.entity.UserInfo">
-SELECT t2.*
- FROM wx_spread_relation t1
- LEFT JOIN user_info t2
- ON (t1.parent_openid = t2.openid)
- WHERE FIND_IN_SET(t1.openid,getParents(#{openid}))
+<select id="getWxSpreadRelationList" resultType="string">
+  SELECT getParents(#{openid})
 </select>
 
 
+
+
+
+
+
 </mapper>