增加从商城系统查询短视频账户信息逻辑

This commit is contained in:
liliang 2025-03-13 11:32:53 +08:00
parent 1ed95dd596
commit 4db920e98d
5 changed files with 88 additions and 4 deletions

View File

@ -107,13 +107,11 @@ public class PassportController extends BaseInfoProperties {
@PostMapping("loginFromShop")
public String loginFromShop(String mobile, String memberId) {
// 创建短视频系统账号
return Optional.ofNullable(userService.createUserFromShop(mobile,memberId))//
return Optional.ofNullable(userService.createUserFromShop(mobile, memberId))//
.map(user -> {
String uToken = UUID.randomUUID().toString();
log.info(uToken);
redis.set(REDIS_USER_TOKEN + ":" + user.getId(), uToken);
// 清除验证码
redis.del(MOBILE_SMSCODE + ":" + user.getMobile());
// 返回给前端
UsersVO usersVO = new UsersVO();
BeanUtils.copyProperties(user, usersVO);
@ -121,7 +119,18 @@ public class PassportController extends BaseInfoProperties {
return GsonUtil.beanToJson(usersVO);
})//
.orElseGet(()->StringUtils.EMPTY);
.orElseGet(() -> StringUtils.EMPTY);
}
/**
* 从商城登录获取短视频账户信息
*
* @param memberId
* @return
*/
@PostMapping("getUserFromShop")
public String getUserFromShop(String memberId) {
return userService.getUserInfoFromShop(memberId);
}
/*@PostMapping("login")

View File

@ -3,6 +3,7 @@ package com.imooc.mapper;
import org.apache.ibatis.annotations.Mapper;
import com.imooc.my.mapper.MyMapper;
import com.imooc.pojo.UserMember;
import com.imooc.pojo.Users;
/**
* 短视频用户与商城会员数据处理层
@ -10,4 +11,5 @@ import com.imooc.pojo.UserMember;
@Mapper
public interface UserMemberMapper extends MyMapper<UserMember> {
Users getUserByMemberId(String memberId);
}

View File

@ -1,4 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.imooc.mapper.UserMemberMapper">
<resultMap id="BaseResultMap"
type="com.imooc.pojo.Users">
<id column="id" property="id" jdbcType="VARCHAR" />
<result column="mobile" property="mobile" jdbcType="VARCHAR" />
<result column="nickname" property="nickname" jdbcType="VARCHAR" />
<result column="imooc_num" property="imoocNum" jdbcType="VARCHAR" />
<result column="face" property="face" jdbcType="VARCHAR" />
<result column="sex" property="sex" jdbcType="INTEGER" />
<result column="birthday" property="birthday" jdbcType="DATE" />
<result column="country" property="country" jdbcType="VARCHAR" />
<result column="province" property="province" jdbcType="VARCHAR" />
<result column="city" property="city" jdbcType="VARCHAR" />
<result column="district" property="district" jdbcType="VARCHAR" />
<result column="description" property="description" jdbcType="VARCHAR" />
<result column="bg_img" property="bgImg" jdbcType="VARCHAR" />
<result column="can_imooc_num_be_updated" property="canImoocNumBeUpdated" jdbcType="INTEGER" />
</resultMap>
<select id="getUserByMemberId" resultMap="BaseResultMap"
parameterType="string">
t1.id,
t1.mobile,
t1.nickname,
t1.imooc_num,
t1.face,
t1.sex,
t1.birthday,
t1.country,
t1.province,
t1.city,
t1.district,
t1.description,
t1.bg_img,
t1.can_imooc_num_be_updated
FROM t_users t1 INNER JOIN
r_user_member t2 ON t1.id=t2.user_id
WHERE t2.member_id=#{memberId}
</select>
</mapper>

View File

@ -59,4 +59,11 @@ public interface UserService {
* @return
*/
Users createUserFromShop(String mobile, String memberId);
/**
* 从商城系统获取短视频账户信息
* @param memberId
* @return
*/
String getUserInfoFromShop(String memberId);
}

View File

@ -16,7 +16,10 @@ import com.imooc.service.UserService;
import com.imooc.utils.DateUtil;
import com.imooc.utils.DesensitizationUtil;
import com.imooc.utils.GsonUtil;
import com.imooc.utils.RedisOperator;
import com.imooc.utils.RestTemplateUtil;
import com.imooc.vo.UsersVO;
import org.apache.commons.lang3.StringUtils;
import org.n3r.idworker.Sid;
import org.springframework.beans.BeanUtils;
@ -31,6 +34,10 @@ import tk.mybatis.mapper.entity.Example;
import javax.annotation.Resource;
import java.util.Date;
import java.util.Map;
import java.util.Optional;
import java.util.UUID;
import static com.imooc.base.BaseInfoProperties.REDIS_USER_TOKEN;
import static com.imooc.base.BaseInfoProperties.MOBILE_SMSCODE;
/**
* @author vercen
@ -48,6 +55,9 @@ public class UserServiceImpl implements UserService {
@Autowired
private UserMemberMapper userMemberMapper;
@Autowired
public RedisOperator redis;
@Autowired
private Sid sid;
private static final String USER_FACE1 = "http://122.152.205.72:88/group1/M00/00/05/CpoxxF6ZUySASMbOAABBAXhjY0Y649.png";
@ -252,4 +262,20 @@ public class UserServiceImpl implements UserService {
}
return null;
}
@Override
public String getUserInfoFromShop(String memberId) {
return Optional.ofNullable(userMemberMapper.getUserByMemberId(memberId))//
.map(user -> {
String uToken = UUID.randomUUID().toString();
redis.set(REDIS_USER_TOKEN + ":" + user.getId(), uToken);
// 返回给前端
UsersVO usersVO = new UsersVO();
BeanUtils.copyProperties(user, usersVO);
usersVO.setUserToken(uToken);
return GsonUtil.beanToJson(usersVO);
})//
.orElseGet(() -> StringUtils.EMPTY);
}
}