三个常用查询:根据用户名 / token查询用户信息+链表分页条件查询

目录

1.根据用户名或者token查询用户信息

会员信息实体类

统一状态Result类

 controller层

service层及实现类

dao层

测试:

2.链表分页条件查询

会员等级实体类

封装条件类PageVo 

controller层

service层及实现类

dao层

Mapper.xml层

测试

vue前端参考



1.根据用户名或者token查询用户信息

mybatisplus...

微服务项目前期环境:项目搭建,依赖注入...

会员表数据库


SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for mbs_member
-- ----------------------------
DROP TABLE IF EXISTS `mbs_member`;
CREATE TABLE `mbs_member` (
  `id` int NOT NULL AUTO_INCREMENT COMMENT '会员客户ID',
  `username` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '账号',
  `password` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '密码',
  `pw_salt` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '盐值列',
  `status` int DEFAULT NULL COMMENT '账号状态(帐号启用状态:0->启用;1->禁用)',
  `id_type` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '(身份证,护照,军官证,台胞证,港澳台来往内地通行证)',
  `path_front` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '正面',
  `path_reverse` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '反面',
  `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '客户名字',
  `contact_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '联系人',
  `contact_phone` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '联系电话',
  `contact_address` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '联系地址',
  `license_no` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '驾照号',
  `sex` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '性别',
  `phone_num` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '电话',
  `address` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '地址',
  `email` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '邮箱',
  `member_level_id` int DEFAULT NULL COMMENT '会员级别(普通,金卡,白金,钻石)',
  `Account_Balance` double DEFAULT '0' COMMENT '账户余额',
  `integration` int DEFAULT '0' COMMENT '积分',
  `growth` double DEFAULT NULL COMMENT '成长值',
  `history_integration` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '历史积分数量(只加不减)',
  `open_id` int DEFAULT NULL COMMENT '微信返回ID',
  `token` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '登录验证token',
  `id_card` varchar(18) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '证件编号',
  `head_pic` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '头像',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=89 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of mbs_member
-- ----------------------------
INSERT INTO `mbs_member` VALUES ('71', 'zhanghaojie', 'f5455390512559851fdffdc9dc71e1debe7261c41509579a3cb8d8085b86bee95d3808d9345e79790a2b2a153effe2615b1b4302694018d0d369f13a4a6e5005', '8efbe27a-4', '0', '1', null, null, '小浩杰', null, null, null, '410100123457', null, '15136204889', null, '[email protected]', '1', '11240', '5610', '3760', '2260', null, null, null, 'https://wangzherongyao.oss-cn-beijing.aliyuncs.com/upload/files/1605770604552-7c5b7014-09cb-4d0a.jpg');
INSERT INTO `mbs_member` VALUES ('78', 'test111', '111591072d3b1a693158b77a16df045daf87fca20ea7fc00c32411b6ace2d2c7ac0a70777619883fac37417ca9a09593465c51e7ab56cfb2b1debc174e2ffb3a', 'fcba1cda-2ce7-4d49-9658-976ff2b5aa9d', '0', '1', null, null, 'test111', null, null, null, '511621200011011212', null, '18398591677', null, '[email protected]', '3', '94620.96000000002', '1000', '65790.4', '0', null, null, '51162******212', 'https://qy002-bookstore.oss-cn-hangzhou.aliyuncs.com/staff_headicon/9ddb6b4b-8332-47a6-84ae-d5b9234e5065bg5.jpg');
INSERT INTO `mbs_member` VALUES ('88', 'cjj', '836bac861900ae9df5bf390ede7c2a45c1287f346139d3d3576300be822e1f17746c95d622955cc292427748dc12959447a28ba46ce13eb3c41fdcab09956161', 'c5546504-f2a1-4494-a738-8297e786acee', '0', '1', null, null, '成JJ', null, null, null, null, null, '13645678922', null, null, '1', '200', '50', '10500', '500', null, null, null, 'https://qy002-bookstore.oss-cn-hangzhou.aliyuncs.com/staff_headicon/29727801-0855-484d-bf5d-c6f69e8a72ad111.jpg');

会员信息实体类


@TableName("mbs_member")
@Data
@ApiModel("会员信息实体类")
public class Member implements Serializable {

    /**
    * 会员客户ID
    */
    @ApiModelProperty("会员客户ID")
    @TableId
    private Integer id;
    /**
    * 账号
    */
    @ApiModelProperty("账号")
    private String username;
    /**
    * 密码
    */
    @ApiModelProperty("密码")
    private String password;
    /**
    * 盐值列
    */
    @ApiModelProperty("盐值列")
    private String pwSalt;
    /**
    * 账号状态(帐号启用状态:0->启用;1->禁用)
    */
    @ApiModelProperty("账号状态(帐号启用状态:0->启用;1->禁用)")
    private Integer status;
    /**
    * (身份证,护照,军官证,台胞证,港澳台来往内地通行证)
    */
    @ApiModelProperty("(身份证,护照,军官证,台胞证,港澳台来往内地通行证)")
    private String idType;
    /**
    * 正面
    */
    @ApiModelProperty("正面")
    private String pathFront;
    /**
    * 反面
    */
    @ApiModelProperty("反面")
    private String pathReverse;
    /**
    * 客户名字
    */
    @ApiModelProperty("客户名字")
    private String name;
    /**
    * 联系人
    */
    @ApiModelProperty("联系人")
    private String contactName;
    /**
    * 联系电话
    */
    @ApiModelProperty("联系电话")
    private String contactPhone;
    /**
    * 联系地址
    */
    @ApiModelProperty("联系地址")
    private String contactAddress;
    /**
    * 驾照号
    */
    @ApiModelProperty("驾照号")
    private String licenseNo;
    /**
    * 性别
    */
    @ApiModelProperty("性别")
    private String sex;
    /**
    * 电话
    */
    @ApiModelProperty("电话")
    private String phoneNum;
    /**
    * 地址
    */
    @ApiModelProperty("地址")
    private String address;
    /**
    * 邮箱
    */
    @ApiModelProperty("邮箱")
    private String email;
    /**
    * 会员级别(普通,金卡,白金,钻石)
    */
    @ApiModelProperty("会员级别(普通,金卡,白金,钻石)")
    private Integer memberLevelId;
    /**
    * 账户余额
    */
    @ApiModelProperty("账户余额")
    private Double accountBalance;
    /**
    * 积分
    */
    @ApiModelProperty("积分")
    private Integer integration;
    /**
    * 成长值
    */
    @ApiModelProperty("成长值")
    private Double growth;
    /**
    * 历史积分数量(只加不减)
    */
    @ApiModelProperty("历史积分数量(只加不减)")
    private String historyIntegration;
    /**
    * 微信返回ID
    */
    @ApiModelProperty("微信返回ID")
    private Integer openId;
    /**
    * 登录验证token
    */
    @ApiModelProperty("登录验证token")
    private String token;
    /**
    * 证件编号
    */
    @ApiModelProperty("证件编号")
    private String idCard;
    /**
    * 头像
    */
    @ApiModelProperty("头像")
    private String headPic;
//---------------------------------------------------------------------
//    @ApiModelProperty("对应会员级别,一对一")
    @TableField(exist = false)
    private MemberLevel memberLevel;//会员等级名


}

统一状态Result类

@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("统一的json对象")
public class Result {
    @ApiModelProperty("状态码")
    private Integer code;
    @ApiModelProperty("提示消息")
    private String msg;
    @ApiModelProperty("响应data数据")
    private T data;

}

 controller层


@RestController
@RequestMapping("member")
@Api(tags = "客户管理--会员管理")
public class MemberController {

    @Autowired
    private MemberService memberService;

    @GetMapping("/getByUsername")
    @ApiOperation("根据会员名称查询会员信息")
    public Member getByUsername(@RequestParam String username){
        return memberService.getByUsername(username);
    }

    @GetMapping("/getMember")
    @ApiOperation("根据token查询会员基础信息")
    public Result getMember(@RequestParam String token){
        return memberService.getMember(token);
    }
}

service层及实现类

public interface MemberService  {
    Member getByUsername(String username);

   Result getMember(String token);
}


//-------------------------------------------------------------


@Service
public class MemberServiceImpl implements MemberService {
    @Autowired
    private MemberDao memberDao;


    @Override
    public Member getByUsername(String username) {
        QueryWrapper wrapper = new QueryWrapper();
        //会员名称
        wrapper.eq("username",username);
        //账号状态(帐号启用状态:0->启用;1->禁用)
        wrapper.eq("status",0);
        Member member = memberDao.selectOne(wrapper);
        return member;
    }


  @Autowired
    private StringRedisTemplate redisTemplate;


  @Override
    public Result getMember(String token) {
        ValueOperations ops = redisTemplate.opsForValue();
        String memberCache = ops.get("sso:member:" + token);
        Member member = JSON.parseObject(memberCache, Member.class);
        return new Result<>(200,"成功",member);
    }

}

dao层

@Mapper
public interface MemberDao extends BaseMapper {
}
 

测试:

三个常用查询:根据用户名 / token查询用户信息+链表分页条件查询_第1张图片

2.链表分页条件查询

等级表数据库



SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for mbs_member_level
-- ----------------------------
DROP TABLE IF EXISTS `mbs_member_level`;
CREATE TABLE `mbs_member_level` (
  `id` bigint NOT NULL AUTO_INCREMENT,
  `name` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL,
  `growth_point` int DEFAULT NULL COMMENT '成长值',
  `default_status` int DEFAULT NULL COMMENT '是否为默认等级:0->不是;1->是',
  `free_freight_point` decimal(10,2) DEFAULT NULL COMMENT '免运费标准',
  `priviledge_comment` int DEFAULT NULL COMMENT '是否有评论获奖励特权',
  `priviledge_promotion` int DEFAULT NULL COMMENT '是否有专享活动特权',
  `priviledge_member_price` int DEFAULT NULL COMMENT '是否有会员价格特权',
  `priviledge_birthday` int DEFAULT NULL COMMENT '是否有生日特权',
  `note` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '说明',
  `ratio` double DEFAULT NULL COMMENT '积分 普通1 白银1.2 黄金1.5....',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1684561963877740550 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of mbs_member_level
-- ----------------------------
INSERT INTO `mbs_member_level` VALUES ('1', '普通', '10000', '1', '200.00', '1', '0', '1', '0', '等级1', '1');
INSERT INTO `mbs_member_level` VALUES ('2', '白银', '20000', '0', '100.00', '1', '1', '1', '1', '等级2', '1.2');
INSERT INTO `mbs_member_level` VALUES ('3', '黄金', '50000', '0', '50.00', '1', '1', '1', '1', '等级3', '1.5');
INSERT INTO `mbs_member_level` VALUES ('4', '钻石', '90000', '0', '0.00', '1', '0', '1', '1', '等级4', '1.8');
INSERT INTO `mbs_member_level` VALUES ('10', '星耀', '140000', '0', '800.00', '1', '1', '1', '11', '最高级', '2');

当前需要链表查询会员等级

三个常用查询:根据用户名 / token查询用户信息+链表分页条件查询_第2张图片

会员等级实体类


@TableName("mbs_member_level")
@Data
@ApiModel("客户管理--会员等级-实体类")
public class MemberLevel implements Serializable {

    /**
    * 
    */
    @ApiModelProperty("")
    @TableId(type = IdType.AUTO)
    private String id;
    /**
    * 
    */
    @ApiModelProperty("等级名")
//    @TableField(value = "name")
    private String name;
    /**
    * 成长值
    */
    @ApiModelProperty("成长值")
    private Integer growthPoint;
    /**
    * 是否为默认等级:0->不是;1->是
    */
    @ApiModelProperty("是否为默认等级:0->不是;1->是")
    private Integer defaultStatus;
    /**
    * 免运费标准
    */
    @ApiModelProperty("免运费标准")
    private BigDecimal freeFreightPoint;
    /**
    * 是否有评论获奖励特权
    */
    @ApiModelProperty("是否有评论获奖励特权")
    private Integer priviledgeComment;
    /**
    * 是否有专享活动特权
    */
    @ApiModelProperty("是否有专享活动特权")
    private Integer priviledgePromotion;
    /**
    * 是否有会员价格特权
    */
    @ApiModelProperty("是否有会员价格特权")
    private Integer priviledgeMemberPrice;
    /**
    * 是否有生日特权
    */
    @ApiModelProperty("是否有生日特权")
    private Integer priviledgeBirthday;
    /**
    * 说明
    */
    @ApiModelProperty("说明")
    private String note;
    /**
    * 积分 普通1 白银1.2 黄金1.5....
    */
    @ApiModelProperty("积分 普通1 白银1.2 黄金1.5....")
    private Double ratio;


}

封装条件类PageVo 

@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "分页条件查询--用户管理")
public class PageVo {

    Integer pageNo;
    Integer pageSize;

    CouponVo Data;

}

//---------------------------------------

@Data
public class CouponVo {
    String name;

    String phoneNum;

    String email;

    String userName;
    String orderSn;


}

controller层


@RestController
@RequestMapping("member")
@Api(tags = "客户管理--会员管理")
public class MemberController {

    @Autowired
    private MemberService memberService;
    //分页条件查询
    @PostMapping("queryByPage222")
    public Result> pageResult(@RequestBody PageVo pageVo){
        return memberService.selectAllPage(pageVo);
    }
}

service层及实现类

public interface MemberService  {


    //分页条件查询
    Result> selectAllPage(PageVo pageVo);


}


//-------------------------------------------------------------


@Service
public class MemberServiceImpl implements MemberService {
    @Autowired
    private MemberDao memberDao;


    //分页条件查询
    @Override
    public Result> selectAllPage(PageVo pageVo) {
        Page page = new Page<>(pageVo.getPageNo(), pageVo.getPageSize());
        List members = memberDao.selectByMyPage(page,pageVo);
       // page.setRecords(members);
        //page.setTotal(members.size());
        //获取分页总条数
        long total = page.getTotal();
        Map data = new HashMap<>();
        data.put("records",members);
        data.put("total",total);
        return new Result<>(200,"查询成功",data);
    }
}

dao层

@Mapper
public interface MemberDao extends BaseMapper {

    //分页查询
    List selectByMyPage(Page page, PageVo pageVo);
}

Mapper.xml层






    
    
        
        
            
            
        
    
    


测试

三个常用查询:根据用户名 / token查询用户信息+链表分页条件查询_第3张图片

vue前端参考





链表前端拿数据

三个常用查询:根据用户名 / token查询用户信息+链表分页条件查询_第4张图片

你可能感兴趣的:(链表,数据库,oracle,vue.js)