用户名唯一性验证

dubbo项目:

唯一性验证接口开发规范

 

创建 TbUserService 接口

 /**
     * 实现用户名唯一性验证
     * @param cond
     * @param type
     * @return
     */
    public EgoResult loadTbUserByCondService(String cond,Integer type);

 

创建 TbUserServiceImpl 实现类

package com.bjsxt.ego.rpc.service.impl;

import com.bjsxt.ego.beans.EgoResult;
import com.bjsxt.ego.rpc.mapper.TbUserMapper;
import com.bjsxt.ego.rpc.pojo.TbUser;
import com.bjsxt.ego.rpc.pojo.TbUserExample;
import com.bjsxt.ego.rpc.service.TbUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.Date;
import java.util.List;

@Service
public class TbUserServiceImpl implements TbUserService {

    @Autowired
    private TbUserMapper tbUserMapper;

    @Override
    public EgoResult loadTbUserByCondService(String cond, Integer type) {
        TbUserExample example=new TbUserExample();
        TbUserExample.Criteria c = example.createCriteria();
        //封装查询条件
        if (type.equals(1)){
            c.andUsernameEqualTo(cond);
        }else{
            c.andEmailEqualTo(cond);
        }
        List<TbUser> tbUsers = tbUserMapper.selectByExample(example);

        //创建EgoResult对象
        EgoResult result=new EgoResult();
        result.setStatus(200);
        result.setMsg("ok");
        if (tbUsers!=null&&tbUsers.size()>0){
            result.setData(false);
        }else{
            result.setData(true);
        }
        return result;
    }

    @Override
    public EgoResult saveUserTbService(TbUser tbUser) {

        EgoResult result=new EgoResult();
        try {
            Date date=new Date();
            tbUser.setCreated(date);
            tbUser.setUpdated(date);
            tbUserMapper.insert(tbUser);
            result.setStatus(200);
            result.setMsg("注册成功~");
        }catch (Exception e){
            e.printStackTrace();
            result.setStatus(200);
            result.setMsg("注册失败~");
        }
        return result;
    }

    @Override
    public TbUser selectUserByUserName(String uname) {
        TbUserExample example=new TbUserExample();
        TbUserExample.Criteria c = example.createCriteria();
        c.andUsernameEqualTo(uname);

        List<TbUser> tbUsers = tbUserMapper.selectByExample(example);
        if (tbUsers!=null&&tbUsers.size()==1){
            return tbUsers.get(0);
        }else {
            return null;
        }
    }
}

 

修改 applicationContext-dubbo.xml

	<dubbo:service interface="com.bjsxt.ego.rpc.service.TbUserService" ref="tbUserServiceImpl"></dubbo:service>

 

ego-sso-web 实现

创建 SsoUserService 接口

/**
     * 验证用户名唯一性
     * @param cond
     * @param type
     * @return
     */
    public EgoResult loadUserByCondService(String cond,Integer type);

 

创建 SsoUserServiceImpl 实现类

package com.bjsxt.ego.sso.service.impl;

import com.bjsxt.ego.beans.CookieUtils;
import com.bjsxt.ego.beans.EgoResult;
import com.bjsxt.ego.beans.JsonUtils;
import com.bjsxt.ego.rpc.pojo.TbUser;
import com.bjsxt.ego.rpc.service.TbUserService;
import com.bjsxt.ego.sso.service.SsoUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.DigestUtils;
import org.springframework.util.StringUtils;
import redis.clients.jedis.JedisCluster;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.UUID;

@Service
public class SsoUserServiceImpl implements SsoUserService {

    @Autowired
    private TbUserService tbUserServiceProxy;


    @Override
    public EgoResult loadUserByCondService(String cond, Integer type) {
        EgoResult result = tbUserServiceProxy.loadTbUserByCondService(cond, type);
        return result;
    }

}

 

 

创建 SsoUserController

package com.bjsxt.ego.sso.controller;

import com.bjsxt.ego.beans.EgoResult;
import com.bjsxt.ego.rpc.pojo.TbUser;
import com.bjsxt.ego.sso.service.SsoUserService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.http.converter.json.MappingJacksonValue;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@Controller
public class SsoUserController {

    @Autowired
    private SsoUserService ssoUserService;

    @RequestMapping("/user/check/{param}/{type}")
    @ResponseBody
    public MappingJacksonValue userCheck(@PathVariable String param,
                                         @PathVariable Integer type,
                                         @RequestParam(required = false) String callback){
        EgoResult result = ssoUserService.loadUserByCondService(param, type);
        MappingJacksonValue value=new MappingJacksonValue(result);
        if (!StringUtils.isEmpty(callback)){
            value.setJsonpFunction(callback);
        }
        return value;
    }



}

 

修改 applicationContext-dubbo.xml

<!-- spring容器中存在一个远程服务的代理对象 -->
   <dubbo:reference interface="com.bjsxt.ego.rpc.service.TbUserService" id="tbUserServiceProxy"></dubbo:reference>

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值