Commit dbdfd312 authored by jiaorz's avatar jiaorz

Merge remote-tracking branch 'origin/base-modify' into base-modify

parents 172f3dda 0dbfedb2
...@@ -33,6 +33,8 @@ import java.util.stream.Collectors; ...@@ -33,6 +33,8 @@ import java.util.stream.Collectors;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> { public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
private static final String WX_TYPE="wx";
private static final String QQ_TYPE="q";
@Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED) @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
@Override @Override
...@@ -224,4 +226,36 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> { ...@@ -224,4 +226,36 @@ public class AppUserLoginBiz extends BaseBiz<AppUserLoginMapper, AppUserLogin> {
public List<Integer> findAllExistUserIds(){ public List<Integer> findAllExistUserIds(){
return mapper.selectAllExistUserIds(); return mapper.selectAllExistUserIds();
} }
/**
* 检查第三方是否绑定
* @param wxOpenId
* @param wxUnionId
* @param openId
* @return
*/
public boolean checkThirdPartyBindingState(String wxOpenId, String wxUnionId, String openId) {
AppUserLogin appUserLogin = new AppUserLogin();
appUserLogin.setWxOpenid(wxOpenId);
appUserLogin.setUnionid(wxUnionId);
appUserLogin.setOpenid(openId);
return mapper.selectOne(appUserLogin) != null;
}
@CacheClear(pre = "user{2}")
public void unBindThirdPartyByType(String type,String username,Integer userId) {
AppUserLogin appUserLogin = new AppUserLogin();
appUserLogin.setId(userId);
//微信解绑
if (WX_TYPE.equals(type)){
appUserLogin.setWxOpenid("");
appUserLogin.setUnionid("");
mapper.updateByPrimaryKeySelective(appUserLogin);
}
//qq解绑
if (QQ_TYPE.equals(type)){
appUserLogin.setOpenid("");
mapper.updateByPrimaryKeySelective(appUserLogin);
}
}
} }
...@@ -9,6 +9,8 @@ import com.github.wxiaoqi.security.admin.vo.AppUserVo; ...@@ -9,6 +9,8 @@ import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.admin.vo.UserMemberVo; import com.github.wxiaoqi.security.admin.vo.UserMemberVo;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig; import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil; import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.auth.common.util.jwt.IJWTInfo;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.msg.TableResultResponse; import com.github.wxiaoqi.security.common.msg.TableResultResponse;
import com.github.wxiaoqi.security.common.rest.CommonBaseController; import com.github.wxiaoqi.security.common.rest.CommonBaseController;
...@@ -18,8 +20,10 @@ import io.swagger.annotations.ApiOperation; ...@@ -18,8 +20,10 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils; import org.apache.commons.beanutils.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET; import javax.ws.rs.GET;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -59,6 +63,8 @@ public class AppUserController extends CommonBaseController { ...@@ -59,6 +63,8 @@ public class AppUserController extends CommonBaseController {
@Autowired @Autowired
private MyWaterBiz myWaterBiz; private MyWaterBiz myWaterBiz;
@GetMapping("page") @GetMapping("page")
public TableResultResponse list(@RequestParam Map<String, Object> params) { public TableResultResponse list(@RequestParam Map<String, Object> params) {
Query query = new Query(params); Query query = new Query(params);
...@@ -187,6 +193,58 @@ public class AppUserController extends CommonBaseController { ...@@ -187,6 +193,58 @@ public class AppUserController extends CommonBaseController {
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
/**
* 第三方登录绑定
* @param wxOpenId
* @param wxUnionId
* @param openId
* @param request
* @return
*/
@PutMapping("/third_party_binding")
public ObjectRestResponse bindingThirdParty(@RequestParam(value = "wxOpenId",required = false) String wxOpenId,
@RequestParam(value="wxUnionId",required = false) String wxUnionId,
@RequestParam(value = "openId",required = false) String openId,
HttpServletRequest request){
try {
IJWTInfo infoFromToken = userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request));
String userId = infoFromToken.getId();
boolean isBinding = appUserLoginBiz.checkThirdPartyBindingState(wxOpenId,wxUnionId,openId);
if (isBinding){
return ObjectRestResponse.createFailedResult(400,"该微信已经绑定过");
}else {
AppUserLogin appUserLogin = new AppUserLogin();
appUserLogin.setId(Integer.valueOf(userId));
appUserLogin.setWxOpenid(wxOpenId);
appUserLogin.setUnionid(wxUnionId);
appUserLogin.setOpenid(openId);
appUserLoginBiz.bindOpenid(appUserLogin);
}
} catch (Exception e) {
throw new BaseException(e);
}
return ObjectRestResponse.succ();
}
/**
* 第三方登录解绑
* @param request
* @return
*/
@PutMapping("third_party_unbind")
public ObjectRestResponse unBindingThirdParty(@RequestParam("type") String type , HttpServletRequest request){
try {
IJWTInfo infoFromToken = userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request));
appUserLoginBiz.unBindThirdPartyByType(type,infoFromToken.getUniqueName(),Integer.valueOf(infoFromToken.getId()));
} catch (Exception e) {
throw new BaseException(e);
}
return ObjectRestResponse.succ();
}
/** /**
* 更新用户信息 * 更新用户信息
* @param username * @param username
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment