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

        在工作当中,开发文档是我们开发人员最重要的开发指南, 对开发文档一定要认真研读,不可错过任何重要信息,我们现在学单点登录(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层便写完了。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值