商城项目OAuth2.0补充表信息和用户信息关联-----商城项目

CREATE TABLE ums_oauth_info
(
   id                   BIGINT NOT NULL AUTO_INCREMENT COMMENT 'id',
   social_uid             VARCHAR(255) COMMENT '社交用户的唯一ID',
   source          VARCHAR(255) COMMENT '社交用户来源平台',
   member_id            BIGINT COMMENT '会员id',
   PRIMARY KEY (id)
);
ALTER TABLE ums_oauth_info COMMENT '社交用户信息';

CREATE TABLE ums_oauth_info
(
   id                   BIGINT NOT NULL AUTO_INCREMENT COMMENT 'id',
   social_uid             VARCHAR(255) COMMENT '社交用户的唯一ID',
   source          VARCHAR(255) COMMENT '社交用户来源平台',
   member_id            BIGINT COMMENT '会员id',
   PRIMARY KEY (id)
);
ALTER TABLE ums_oauth_info COMMENT '社交用户信息';

package com.alatus.mall.member.app;

import java.util.Arrays;
import java.util.Map;
import com.alatus.mall.member.entity.OauthInfoEntity;
import com.alatus.mall.member.service.OauthInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.alatus.common.utils.PageUtils;
import com.alatus.common.utils.R;



/**
 * 社交用户信息
 *
 * @author Alatus
 * @email 1571345941@qq.com
 * @date 2024-09-11 14:28:34
 */
@RestController
@RequestMapping("mall/oauthInfo")
public class OauthInfoController {
    @Autowired
    private OauthInfoService oauthInfoService;

    /**
     * 列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params){
        PageUtils page = oauthInfoService.queryPage(params);
        return R.ok().put("page", page);
    }


    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
		OauthInfoEntity oauthInfo = oauthInfoService.getById(id);
        return R.ok().put("OauthInfo", oauthInfo);
    }

    /**
     * 保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody OauthInfoEntity oauthInfo){
        oauthInfoService.save(oauthInfo);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody OauthInfoEntity oauthInfo){
        oauthInfoService.updateById(oauthInfo);
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        oauthInfoService.removeByIds(Arrays.asList(ids));
        return R.ok();
    }

}
package com.alatus.mall.member.app;

import java.util.Arrays;
import java.util.Map;
import com.alatus.mall.member.entity.OauthInfoEntity;
import com.alatus.mall.member.service.OauthInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.alatus.common.utils.PageUtils;
import com.alatus.common.utils.R;



/**
 * 社交用户信息
 *
 * @author Alatus
 * @email 1571345941@qq.com
 * @date 2024-09-11 14:28:34
 */
@RestController
@RequestMapping("mall/oauthInfo")
public class OauthInfoController {
    @Autowired
    private OauthInfoService oauthInfoService;

    /**
     * 列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params){
        PageUtils page = oauthInfoService.queryPage(params);
        return R.ok().put("page", page);
    }


    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
       OauthInfoEntity oauthInfo = oauthInfoService.getById(id);
        return R.ok().put("OauthInfo", oauthInfo);
    }

    /**
     * 保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody OauthInfoEntity oauthInfo){
        oauthInfoService.save(oauthInfo);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody OauthInfoEntity oauthInfo){
        oauthInfoService.updateById(oauthInfo);
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        oauthInfoService.removeByIds(Arrays.asList(ids));
        return R.ok();
    }

}
<?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.alatus.mall.member.dao.MemberDao">

	<!-- 可根据自己的需求,是否要使用 -->
    <resultMap type="com.alatus.mall.member.entity.MemberEntity" id="memberMap">
        <result property="id" column="id"/>
        <result property="levelId" column="level_id"/>
        <result property="username" column="username"/>
        <result property="password" column="password"/>
        <result property="nickname" column="nickname"/>
        <result property="mobile" column="mobile"/>
        <result property="email" column="email"/>
        <result property="header" column="header"/>
        <result property="gender" column="gender"/>
        <result property="birth" column="birth"/>
        <result property="city" column="city"/>
        <result property="job" column="job"/>
        <result property="sign" column="sign"/>
        <result property="sourceType" column="source_type"/>
        <result property="integration" column="integration"/>
        <result property="growth" column="growth"/>
        <result property="status" column="status"/>
        <result property="createTime" column="create_time"/>
    </resultMap>


</mapper>
<?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.alatus.mall.member.dao.MemberDao">

    <!-- 可根据自己的需求,是否要使用 -->
    <resultMap type="com.alatus.mall.member.entity.MemberEntity" id="memberMap">
        <result property="id" column="id"/>
        <result property="levelId" column="level_id"/>
        <result property="username" column="username"/>
        <result property="password" column="password"/>
        <result property="nickname" column="nickname"/>
        <result property="mobile" column="mobile"/>
        <result property="email" column="email"/>
        <result property="header" column="header"/>
        <result property="gender" column="gender"/>
        <result property="birth" column="birth"/>
        <result property="city" column="city"/>
        <result property="job" column="job"/>
        <result property="sign" column="sign"/>
        <result property="sourceType" column="source_type"/>
        <result property="integration" column="integration"/>
        <result property="growth" column="growth"/>
        <result property="status" column="status"/>
        <result property="createTime" column="create_time"/>
    </resultMap>


</mapper>
package com.alatus.mall.member.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 会员
 * 
 * @author alatus
 * @email 1571345941@qq.com
 * @date 2024-03-12 13:40:22
 */
@Data
@TableName("ums_member")
public class MemberEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * id
	 */
	@TableId
	private Long id;
	/**
	 * 会员等级id
	 */
	private Long levelId;
	/**
	 * 用户名
	 */
	private String username;
	/**
	 * 密码
	 */
	private String password;
	/**
	 * 昵称
	 */
	private String nickname;
	/**
	 * 手机号码
	 */
	private String mobile;
	/**
	 * 邮箱
	 */
	private String email;
	/**
	 * 头像
	 */
	private String header;
	/**
	 * 性别
	 */
	private Integer gender;
	/**
	 * 生日
	 */
	private Date birth;
	/**
	 * 所在城市
	 */
	private String city;
	/**
	 * 职业
	 */
	private String job;
	/**
	 * 个性签名
	 */
	private String sign;
	/**
	 * 用户来源
	 */
	private Integer sourceType;
	/**
	 * 积分
	 */
	private Integer integration;
	/**
	 * 成长值
	 */
	private Integer growth;
	/**
	 * 启用状态
	 */
	private Integer status;
	/**
	 * 注册时间
	 */
	private Date createTime;
}
package com.alatus.mall.member.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;
import lombok.Data;

/**
 * 会员
 * 
 * @author alatus
 * @email 1571345941@qq.com
 * @date 2024-03-12 13:40:22
 */
@Data
@TableName("ums_member")
public class MemberEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId
    private Long id;
    /**
     * 会员等级id
     */
    private Long levelId;
    /**
     * 用户名
     */
    private String username;
    /**
     * 密码
     */
    private String password;
    /**
     * 昵称
     */
    private String nickname;
    /**
     * 手机号码
     */
    private String mobile;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 头像
     */
    private String header;
    /**
     * 性别
     */
    private Integer gender;
    /**
     * 生日
     */
    private Date birth;
    /**
     * 所在城市
     */
    private String city;
    /**
     * 职业
     */
    private String job;
    /**
     * 个性签名
     */
    private String sign;
    /**
     * 用户来源
     */
    private Integer sourceType;
    /**
     * 积分
     */
    private Integer integration;
    /**
     * 成长值
     */
    private Integer growth;
    /**
     * 启用状态
     */
    private Integer status;
    /**
     * 注册时间
     */
    private Date createTime;
}
package com.alatus.mall.member.app;

import java.util.Arrays;
import java.util.Map;
import com.alatus.common.exception.BizCodeEnum;
import com.alatus.common.vo.GiteeSocialUser;
import com.alatus.common.vo.WeiboSocialUser;
import com.alatus.mall.member.exception.PhoneExistException;
import com.alatus.mall.member.exception.UsernameExistException;
import com.alatus.mall.member.vo.MemberLoginVo;
import com.alatus.mall.member.vo.MemberRegisterVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.alatus.mall.member.entity.MemberEntity;
import com.alatus.mall.member.service.MemberService;
import com.alatus.common.utils.PageUtils;
import com.alatus.common.utils.R;



/**
 * 会员
 *
 * @author alatus
 * @email 1571345941@qq.com
 * @date 2024-03-12 13:40:22
 */
@RestController
@RequestMapping("member/member")
public class MemberController {
    @Autowired
    private MemberService memberService;

    @PostMapping("register")
    public R register(@RequestBody MemberRegisterVo memberRegisterVo){
        try{
            memberService.register(memberRegisterVo);
        }
        catch (UsernameExistException e){
            return R.error(BizCodeEnum.USER_EXIST_EXCEPTION.getCode(), BizCodeEnum.USER_EXIST_EXCEPTION.getMsg());
        }
        catch (PhoneExistException e){
            return R.error(BizCodeEnum.PHONE_EXIST_EXCEPTION.getCode(), BizCodeEnum.PHONE_EXIST_EXCEPTION.getMsg());
        }
        return R.ok();
    }

    @PostMapping("/oauth2/weibo/login")
    public R weiboOauthLogin(@RequestBody WeiboSocialUser weiboSocialUser){
        MemberEntity member = memberService.login(weiboSocialUser);
        if(member!=null){
            return R.ok();
        }
        else{
            return R.error(BizCodeEnum.LOGINACCTOUNT_PASSWORD_INVALID_EXCEPTION.getCode(),BizCodeEnum.LOGINACCTOUNT_PASSWORD_INVALID_EXCEPTION.getMsg());
        }
    }

    @PostMapping("/oauth2/gitee/login")
    public R giteeOauthLogin(@RequestBody GiteeSocialUser giteeSocialUser){
        MemberEntity member = memberService.login(giteeSocialUser);
        if(member!=null){
            return R.ok();
        }
        else{
            return R.error(BizCodeEnum.LOGINACCTOUNT_PASSWORD_INVALID_EXCEPTION.getCode(),BizCodeEnum.LOGINACCTOUNT_PASSWORD_INVALID_EXCEPTION.getMsg());
        }
    }

    @PostMapping("/login")
    public R login(@RequestBody MemberLoginVo memberLoginVo){
        MemberEntity member = memberService.login(memberLoginVo);
        if(member!=null){
            return R.ok();
        }
        else{
            return R.error(BizCodeEnum.LOGINACCTOUNT_PASSWORD_INVALID_EXCEPTION.getCode(),BizCodeEnum.LOGINACCTOUNT_PASSWORD_INVALID_EXCEPTION.getMsg());
        }
    }

    /**
     * 列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params){
        PageUtils page = memberService.queryPage(params);

        return R.ok().put("page", page);
    }

    /**
     * 验证手机号是否已被使用
     */
    @GetMapping("/checkPhone/{phone}")
    public R checkPhone(@PathVariable("phone")String phone){
        try{
            memberService.checkPhoneUnique(phone);
        }
        catch (PhoneExistException e){
            return R.error(BizCodeEnum.PHONE_EXIST_EXCEPTION.getCode(), BizCodeEnum.PHONE_EXIST_EXCEPTION.getMsg());
        }
        return R.ok();
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
		MemberEntity member = memberService.getById(id);

        return R.ok().put("member", member);
    }

    /**
     * 保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody MemberEntity member){
		memberService.save(member);

        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody MemberEntity member){
		memberService.updateById(member);

        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
		memberService.removeByIds(Arrays.asList(ids));

        return R.ok();
    }

}
package com.alatus.mall.member.app;

import java.util.Arrays;
import java.util.Map;
import com.alatus.common.exception.BizCodeEnum;
import com.alatus.common.vo.GiteeSocialUser;
import com.alatus.common.vo.WeiboSocialUser;
import com.alatus.mall.member.exception.PhoneExistException;
import com.alatus.mall.member.exception.UsernameExistException;
import com.alatus.mall.member.vo.MemberLoginVo;
import com.alatus.mall.member.vo.MemberRegisterVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.alatus.mall.member.entity.MemberEntity;
import com.alatus.mall.member.service.MemberService;
import com.alatus.common.utils.PageUtils;
import com.alatus.common.utils.R;



/**
 * 会员
 *
 * @author alatus
 * @email 1571345941@qq.com
 * @date 2024-03-12 13:40:22
 */
@RestController
@RequestMapping("member/member")
public class MemberController {
    @Autowired
    private MemberService memberService;

    @PostMapping("register")
    public R register(@RequestBody MemberRegisterVo memberRegisterVo){
        try{
            memberService.register(memberRegisterVo);
        }
        catch (UsernameExistException e){
            return R.error(BizCodeEnum.USER_EXIST_EXCEPTION.getCode(), BizCodeEnum.USER_EXIST_EXCEPTION.getMsg());
        }
        catch (PhoneExistException e){
            return R.error(BizCodeEnum.PHONE_EXIST_EXCEPTION.getCode(), BizCodeEnum.PHONE_EXIST_EXCEPTION.getMsg());
        }
        return R.ok();
    }

    @PostMapping("/oauth2/weibo/login")
    public R weiboOauthLogin(@RequestBody WeiboSocialUser weiboSocialUser){
        MemberEntity member = memberService.login(weiboSocialUser);
        if(member!=null){
            return R.ok();
        }
        else{
            return R.error(BizCodeEnum.LOGINACCTOUNT_PASSWORD_INVALID_EXCEPTION.getCode(),BizCodeEnum.LOGINACCTOUNT_PASSWORD_INVALID_EXCEPTION.getMsg());
        }
    }

    @PostMapping("/oauth2/gitee/login")
    public R giteeOauthLogin(@RequestBody GiteeSocialUser giteeSocialUser){
        MemberEntity member = memberService.login(giteeSocialUser);
        if(member!=null){
            return R.ok();
        }
        else{
            return R.error(BizCodeEnum.LOGINACCTOUNT_PASSWORD_INVALID_EXCEPTION.getCode(),BizCodeEnum.LOGINACCTOUNT_PASSWORD_INVALID_EXCEPTION.getMsg());
        }
    }

    @PostMapping("/login")
    public R login(@RequestBody MemberLoginVo memberLoginVo){
        MemberEntity member = memberService.login(memberLoginVo);
        if(member!=null){
            return R.ok();
        }
        else{
            return R.error(BizCodeEnum.LOGINACCTOUNT_PASSWORD_INVALID_EXCEPTION.getCode(),BizCodeEnum.LOGINACCTOUNT_PASSWORD_INVALID_EXCEPTION.getMsg());
        }
    }

    /**
     * 列表
     */
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params){
        PageUtils page = memberService.queryPage(params);

        return R.ok().put("page", page);
    }

    /**
     * 验证手机号是否已被使用
     */
    @GetMapping("/checkPhone/{phone}")
    public R checkPhone(@PathVariable("phone")String phone){
        try{
            memberService.checkPhoneUnique(phone);
        }
        catch (PhoneExistException e){
            return R.error(BizCodeEnum.PHONE_EXIST_EXCEPTION.getCode(), BizCodeEnum.PHONE_EXIST_EXCEPTION.getMsg());
        }
        return R.ok();
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
       MemberEntity member = memberService.getById(id);

        return R.ok().put("member", member);
    }

    /**
     * 保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody MemberEntity member){
       memberService.save(member);

        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody MemberEntity member){
       memberService.updateById(member);

        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
       memberService.removeByIds(Arrays.asList(ids));

        return R.ok();
    }

}
package com.alatus.mall.member.service.impl;

import com.alatus.mall.member.dao.OauthInfoDao;
import com.alatus.mall.member.entity.OauthInfoEntity;
import com.alatus.mall.member.service.OauthInfoService;
import org.springframework.stereotype.Service;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.alatus.common.utils.PageUtils;
import com.alatus.common.utils.Query;


@Service("OauthInfoService")
public class OauthInfoServiceImpl extends ServiceImpl<OauthInfoDao, OauthInfoEntity> implements OauthInfoService {
    @Override
    public PageUtils queryPage(Map<String, Object> params) {
        IPage<OauthInfoEntity> page = this.page(
                new Query<OauthInfoEntity>().getPage(params),
                new QueryWrapper<OauthInfoEntity>()
        );
        return new PageUtils(page);
    }

}
package com.alatus.mall.member.service.impl;

import com.alatus.mall.member.dao.OauthInfoDao;
import com.alatus.mall.member.entity.OauthInfoEntity;
import com.alatus.mall.member.service.OauthInfoService;
import org.springframework.stereotype.Service;
import java.util.Map;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.alatus.common.utils.PageUtils;
import com.alatus.common.utils.Query;


@Service("OauthInfoService")
public class OauthInfoServiceImpl extends ServiceImpl<OauthInfoDao, OauthInfoEntity> implements OauthInfoService {
    @Override
    public PageUtils queryPage(Map<String, Object> params) {
        IPage<OauthInfoEntity> page = this.page(
                new Query<OauthInfoEntity>().getPage(params),
                new QueryWrapper<OauthInfoEntity>()
        );
        return new PageUtils(page);
    }

}
<?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.alatus.mall.member.dao.OauthInfoDao">
	<!-- 可根据自己的需求,是否要使用 -->
    <resultMap type="com.alatus.mall.member.entity.OauthInfoEntity" id="OauthInfoMap">
        <result property="id" column="id"/>
        <result property="socialUid" column="social_uid"/>
        <result property="source" column="source"/>
        <result property="memberId" column="member_id"/>
    </resultMap>
</mapper>
<?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.alatus.mall.member.dao.OauthInfoDao">
    <!-- 可根据自己的需求,是否要使用 -->
    <resultMap type="com.alatus.mall.member.entity.OauthInfoEntity" id="OauthInfoMap">
        <result property="id" column="id"/>
        <result property="socialUid" column="social_uid"/>
        <result property="source" column="source"/>
        <result property="memberId" column="member_id"/>
    </resultMap>
</mapper>
package com.alatus.mall.member.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data;

/**
 * 社交用户信息
 * 
 * @author Alatus
 * @email 1571345941@qq.com
 * @date 2024-09-11 14:28:34
 */
@Data
@TableName("ums_oauth_info")
public class OauthInfoEntity implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * id
	 */
	@TableId
	private Long id;
	/**
	 * 社交用户的唯一ID
	 */
	private String socialUid;
	/**
	 * 社交用户来源平台
	 */
	private String source;
	/**
	 * 会员id
	 */
	private Long memberId;

}
package com.alatus.mall.member.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data;

/**
 * 社交用户信息
 * 
 * @author Alatus
 * @email 1571345941@qq.com
 * @date 2024-09-11 14:28:34
 */
@Data
@TableName("ums_oauth_info")
public class OauthInfoEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId
    private Long id;
    /**
     * 社交用户的唯一ID
     */
    private String socialUid;
    /**
     * 社交用户来源平台
     */
    private String source;
    /**
     * 会员id
     */
    private Long memberId;

}
package com.alatus.mall.member.dao;

import com.alatus.mall.member.entity.OauthInfoEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

/**
 * 社交用户信息
 * 
 * @author Alatus
 * @email 1571345941@qq.com
 * @date 2024-09-11 14:28:34
 */
@Mapper
public interface OauthInfoDao extends BaseMapper<OauthInfoEntity> {
	
}
package com.alatus.mall.member.dao;

import com.alatus.mall.member.entity.OauthInfoEntity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

/**
 * 社交用户信息
 * 
 * @author Alatus
 * @email 1571345941@qq.com
 * @date 2024-09-11 14:28:34
 */
@Mapper
public interface OauthInfoDao extends BaseMapper<OauthInfoEntity> {
    
}
package com.alatus.mall.member.service;

import com.alatus.mall.member.entity.OauthInfoEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.alatus.common.utils.PageUtils;
import java.util.Map;

/**
 * 社交用户信息
 *
 * @author Alatus
 * @email 1571345941@qq.com
 * @date 2024-09-11 14:28:34
 */
public interface OauthInfoService extends IService<OauthInfoEntity> {

    PageUtils queryPage(Map<String, Object> params);
}

package com.alatus.mall.member.service;

import com.alatus.mall.member.entity.OauthInfoEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.alatus.common.utils.PageUtils;
import java.util.Map;

/**
 * 社交用户信息
 *
 * @author Alatus
 * @email 1571345941@qq.com
 * @date 2024-09-11 14:28:34
 */
public interface OauthInfoService extends IService<OauthInfoEntity> {

    PageUtils queryPage(Map<String, Object> params);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值