1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- package com.care.client.service;
- import com.care.client.vo.MemberInfoVO;
- import com.care.client.vo.MemberInitParams;
- import com.care.common.cache.RedisKeyConstant;
- import com.care.common.cache.RedisUtil;
- import com.care.common.entity.CareMemberInfo;
- import com.care.common.exception.BDException;
- import com.care.common.service.CareMemberInfoService;
- import com.care.common.util.CheckUtils;
- import com.care.common.util.Result;
- import lombok.extern.slf4j.Slf4j;
- import org.apache.commons.codec.digest.DigestUtils;
- import org.springframework.stereotype.Service;
- import javax.annotation.Resource;
- @Slf4j
- @Service
- public class PassportService extends AbstractPassportService {
- @Resource
- private RedisUtil redisUtil;
- @Resource
- private WxPassportService wxPassportService;
- @Resource
- private CareMemberInfoService careMemberInfoService;
- public Result<Object> login(MemberInitParams params) {
- if ("wx".equalsIgnoreCase(params.getLoginType())) {
- CheckUtils.valueIsNull(params, "code");
- Result<Object> result = wxPassportService.login(params);
- return result;
- } else if ("pwd".equalsIgnoreCase(params.getLoginType())) {
- CheckUtils.valueIsNull(params, "phone");
- CheckUtils.valueIsNull(params, "password");
- CareMemberInfo careMemberInfo = careMemberInfoService.detailByPhone(params.getPhone());
- if (careMemberInfo == null){
- return Result.error("手机号没注册");
- }
- if (!DigestUtils.md5Hex(params.getPassword()).equals(careMemberInfo.getPassword())) {
- return Result.error("密码错误");
- }
- cache(params);
- return Result.success();
- }
- return Result.error();
- }
- public void logout(String token) {
- CheckUtils.notNull(token, "token");
- MemberInfoVO memberInfoVO = (MemberInfoVO) redisUtil.hget(RedisKeyConstant.PINANBAO_LOGIN_INFO, token);
- if (memberInfoVO != null) {
- redisUtil.hset(RedisKeyConstant.PINANBAO_LOGIN_INFO, token, null);
- }
- }
- public MemberInfoVO checkToken(String token) {
- CheckUtils.notNull(token, "token");
- if (!redisUtil.hHasKey(RedisKeyConstant.PINANBAO_LOGIN_INFO, token)) {
- throw new BDException(400002, "TOKEN WAS WRONG :[{"+token+"}]" );
- }
- return (MemberInfoVO) redisUtil.hget(RedisKeyConstant.PINANBAO_LOGIN_INFO, token);
- }
- public Boolean changePwd(String password,Long memberId) {
- CareMemberInfo careMemberInfo = careMemberInfoService.getById(memberId);
- careMemberInfo.setPassword(DigestUtils.md5Hex(password));
- return careMemberInfoService.updateById(careMemberInfo);
- }
- }
|