您的位置:首页 > 其它

学习淘淘商城第八十三课(单点登录接口文档分析及Service层接口开发并发布)

2017-06-02 23:36 309 查看
        在工作当中,开发文档是我们开发人员最重要的开发指南, 对开发文档一定要认真研读,不可错过任何重要信息,我们现在学单点登录(SSO)也需要学习下开发文档。淘淘商城开发文档大家可以到http://download.csdn.net/detail/u012453843/9859122这个地址进行下载。

        我们先来看文档的第一个接口(注册接口):检查数据是否可用,如下图所示。文档中明确给出请求的类型是GET请求,URL地址也给我们规定好了,http://sso.taotao.com是域名,user/check/代表检查用户合法性。{param}/{type}是指要检查的参数及类型,param是可选参数,可以分别代表username、phone、email,当param代表username时type的值传1,当param代表phone时type的值传2,当param代表email时type的值传3。可选参数callback可以用于支持跨域解决js请求的问题。返回值参数都给我定好了,status代表状态码,msg代表返回的消息,data代表用户所传参数是否可用。我们最常用的TaotaoResult便刚好满足返回值的条件。



           http请求肯定是在客户端写的,而客户端是需要服务端接口支撑的,现在我们便实现服务层接口开发及发布服务。

           首先来看下数据来源,我们所要检查的用户数据都存储在tb_user表中,我们检查一下用户名、电话、邮箱是否合法,如果在用户表中已经有了,那么就非法,如果用户表中没有相同记录,那么就合法。由于是单表操作,因此我们使用逆向工程生成的dao层代码即可。



         我们在接口类中添加接口TaotaoResult checkUserData(String data,int type);如下图所示。

 

    

         之后在taotao-sso-service工程中添加实现类UserServiceImpl,如下图所示。

 


         实现类代码如下:

package com.taotao.sso.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.taotao.common.pojo.TaotaoResult;
import com.taotao.mapper.TbUserMapper;
import com.taotao.pojo.TbUser;
import com.taotao.pojo.TbUserExample;
import com.taotao.pojo.TbUserExample.Criteria;
import com.taotao.sso.service.UserService;

@Service
public class UserServiceImpl implements UserService {
@Autowired
private TbUserMapper tbUserMapper;

@Override
public TaotaoResult checkUserData(String data, int type) {
//设置查询条件
TbUserExample example = new TbUserExample();
Criteria criteria = example.createCriteria();
//1.判断用户名是否可用
if(type == 1){
criteria.andUsernameEqualTo(data);
} else if(type == 2){
//2.判断电话是否可用
criteria.andPhoneEqualTo(data);
} else if(type == 3){
//3.判断邮箱是否可用
criteria.andEmailEqualTo(data);
} else {
return TaotaoResult.build(400, "所传参数非法!");
}
List<TbUser> list = tbUserMapper.selectByExample(example);
if(list != null && list.size() > 0){
return TaotaoResult.ok(false);
}

return TaotaoResult.ok(true);
}

}
       下面我们便发布一下服务,如下图所示。暴露的服务接口类<dubbo:service interface="com.taotao.sso.service.UserService" ref="userServiceImpl" timeout="300000"/>



       这样Service层便写完了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: