添加了扫码登录和获取用户信息的接口

This commit is contained in:
DESKTOP-G8BCEP0\HP 2021-09-17 09:22:51 +08:00
parent c5dee2529f
commit 7a234f619e
8 changed files with 55 additions and 6 deletions

View File

@ -9,7 +9,7 @@
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.xkrs</groupId>
<artifactId>xkrs_work</artifactId>
<artifactId>work_management</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>xkrs_work</name>
<description>Demo project for Spring Boot</description>

View File

@ -2,10 +2,12 @@ package com.xkrs.common.config;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
/**
* @author XinYi Song
*/
@Component
public class ConstantConfig implements InitializingBean {
@Value("${wx.open.app_id}")

View File

@ -45,8 +45,13 @@ class WebSecurityConfig extends WebSecurityConfigurerAdapter {
.antMatchers(HttpMethod.POST,"/importCvProjectExcel").permitAll()
.antMatchers(HttpMethod.GET,"/excelOutWork").permitAll()
.antMatchers(HttpMethod.GET,"/selectMemberAndWorkHour").permitAll()
.antMatchers(HttpMethod.POST,"/userLogin").permitAll()
.antMatchers(HttpMethod.POST,"/decodePhone").permitAll()
.antMatchers(HttpMethod.POST,"/api/user/findUserByOpenId").permitAll()
.antMatchers(HttpMethod.POST,"/api/user/updateOpenIdByPhone").permitAll()
.antMatchers(HttpMethod.GET,"/callback").permitAll()
.antMatchers(HttpMethod.GET,"/weChatScanCodeLogin").permitAll()
.antMatchers(HttpMethod.GET,"/api/user/findUserAndWeChatUser").permitAll()
// 所有其它请求需要身份认证
.anyRequest().authenticated()
.and()

View File

@ -12,6 +12,7 @@ import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Locale;
@ -96,4 +97,41 @@ public class WeChatController {
return outputEncapsulationObject(PromptMessageEnum.PROCESS_FAIL,"操作失败!",locale);
}
}
/**
* 1.生成微信扫描二维码
* @return
*/
@GetMapping("/weChatScanCodeLogin")
public String getWxCode(){
/*第一种方式:固定地址后面拼参数,参数太多,容易拼错
String url = "https://open.weixin.qq.com/connect/qrconnect?appid="+ ConstantWxUtils.WX_OPEN_APP_ID
+"&response_type=code";
*/
//第二种方式:%s:相当于一个占位符
String baseUrl = "https://open.weixin.qq.com/connect/qrconnect" +
"?appid=%s" +
"&redirect_uri=%s" +
"&response_type=code" +
"&scope=snsapi_login" +
"&state=%s" +
"#wechat_redirect";
//对redirect_url进行URLEnccode编码
String redirect_url =ConstantConfig.WX_OPEN_REDIRECT_URL;
try {
redirect_url = URLEncoder.encode(redirect_url, "utf-8");
} catch (Exception e) {
e.printStackTrace();
}
String url =String.format(
baseUrl,
ConstantConfig.WX_OPEN_APP_ID,
ConstantConfig.WX_OPEN_APP_SECRET,
redirect_url,
"atguigu"
);
//请求微信地址
return url;
}
}

View File

@ -67,7 +67,7 @@ public interface WorkHourRecordDao extends JpaRepository<WorkHourRecord,Long>, J
* @param userId
* @return
*/
@Query(value = "select * from work_hour_record where project_number = :projectNumber and user_id = :userId and color != '1'",nativeQuery = true)
@Query(value = "select * from work_hour_record where color != '1' and project_number = :projectNumber and user_id = :userId",nativeQuery = true)
List<WorkHourRecord> findRecord(@Param("projectNumber") String projectNumber,@Param("userId") Integer userId);
/**
@ -85,6 +85,7 @@ public interface WorkHourRecordDao extends JpaRepository<WorkHourRecord,Long>, J
* @param id
*/
@Modifying(clearAutomatically=true)
@Query(value = "delete from work_hour_record where id = ?",nativeQuery = true)
void deleteById(Integer id);
/**

View File

@ -4,6 +4,7 @@ import com.xkrs.model.entity.SysUserEntity;
import com.xkrs.model.qo.SysUserQo;
import com.xkrs.model.vo.SysUserVo;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
@ -107,7 +108,8 @@ public interface SysUserService {
/**
* 判断小程序账号的绑定
* @param openId
* @param response
* @return
*/
String findUserByOpenId(String openId);
String findUserByOpenId(String openId, HttpServletResponse response);
}

View File

@ -71,6 +71,7 @@ public class Query {
if (userId != null && !"".equals(userId)) {
list.add(criteriaBuilder.equal(root.get("userId").as(Integer.class), userId));
}
list.add(criteriaBuilder.notEqual(root.get("color").as(String.class), "1"));
if(startTime != null && !"".equals(startTime)){
list.add(criteriaBuilder.greaterThanOrEqualTo(root.get("submitTime").as(String.class), startTime));
}

View File

@ -79,8 +79,8 @@ my.MaxLoginErrorCount = 5
my.LoginErrorIntervalTime = 60
# 微信开放平台 appid
wx.open.app_id=你的appid
wx.open.app_id=wx545abff5921505f2
# 微信开放平台 appsecret
wx.open.app_secret=你的appsecret
wx.open.app_secret=9e485c69daa2483981fe35f74c22b5ea
# 微信开放平台 重定向url
wx.open.redirect_url=http://你的服务器名称/api/ucenter/wx/callback
wx.open.redirect_url=https://api.earth-rs.com/wh/callback