Просмотр исходного кода

[微信第三方登录][修改]:微信第三方登录解绑

release_toaliyun_real
Stormeye Wu 7 лет назад
Родитель
Сommit
f0e11a32a1
5 измененных файлов: 47 добавлений и 0 удалений
  1. +19
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/WechatLoginController.java
  2. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/MallUserInfoMapper.java
  3. +2
    -0
      mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java
  4. +9
    -0
      mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java
  5. +15
    -0
      mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml

+ 19
- 0
mallinkAdmin/src/main/java/com/iformall/controller/WechatLoginController.java Просмотреть файл

@@ -21,6 +21,7 @@ import me.chanjar.weixin.common.error.WxErrorException;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.result.WxMpOAuth2AccessToken;
import me.chanjar.weixin.mp.bean.result.WxMpUser;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.subject.Subject;
import org.springframework.beans.factory.annotation.Autowired;
@@ -231,4 +232,22 @@ public class WechatLoginController extends BaseController {
log.error(e.getMessage());
}
}

@ApiOperation(value = "微信第三方登录解绑", notes = "请配置此callback到网页redirect_uri")
@GetMapping("cleanWebOpenId")
public ResultData cleanWebOpenId(@ModelAttribute MallUserInfo userInfo) {
log.debug("[" + getIpAddr() + "] WechatLoginController::cleanWebOpenId");
MallUserInfo user = getUser();
if(userInfo == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}
if(StringUtils.isBlank(userInfo.getTenantId())) {
userInfo.setTenantId(user.getTenantId());
}
if(userInfo.getId() == null && userInfo.getUsername() == null) {
return new ResultData(ErrorCode.SYS_PARAMETER_NOT_NULL);
}
mallUserInfoService.cleanWebOpenId(userInfo);
return new ResultData();
}
}

+ 2
- 0
mallinkService/src/main/java/com/iformall/mapper/MallUserInfoMapper.java Просмотреть файл

@@ -20,6 +20,8 @@ public interface MallUserInfoMapper extends CommonMapper<MallUserInfo, String> {

List<MallUserInfo> selectByWebOpenId(@Param("webOpenId") String webOpenId);

void removeWebOpenId(MallUserInfo mallUserInfo);

MallUserInfo selectByPhone(@Param("phone") String phone, @Param("tenantId") String tenantId);
Integer hasButtonPermission(@Param("userId") Long userId, @Param("permission") String permission);


+ 2
- 0
mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java Просмотреть файл

@@ -135,6 +135,8 @@ public interface MallUserInfoService {

void updateWebOpenId(MallUserInfo user);

void cleanWebOpenId(MallUserInfo user);

/**
* 根据条件用户列表
* @return


+ 9
- 0
mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java Просмотреть файл

@@ -103,6 +103,15 @@ public class MallUserInfoServiceImpl implements MallUserInfoService {
mallUserInfoMapper.updateByPrimaryKeySelective(user);
}

@Override
public void cleanWebOpenId(MallUserInfo user) {
MallUserInfo updateUser = new MallUserInfo();
updateUser.setId(user.getId());
updateUser.setTenantId(user.getTenantId());
updateUser.setUsername(user.getUsername());
mallUserInfoMapper.removeWebOpenId(updateUser);
}

@Override
public void saveOrUpdate(MallUserInfo record) {
if (record.getId() == null) {


+ 15
- 0
mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml Просмотреть файл

@@ -149,6 +149,21 @@
</if>
</select>

<update id="removeWebOpenId" >
update mall_user_info
set `web_open_id` = #{webOpenId}
where 1=1
<if test=" null != tenantId ">
and `tenant_id`=#{tenantId}
</if>
<if test=" null != username ">
and username=#{username}
</if>
<if test=" null != id ">
and `id` != #{id}
</if>
</update>

<select id="selectByPhone" resultMap="BaseResultMap">
select
<include refid="allColumns"/>


Загрузка…
Отмена
Сохранить