目录
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
{ } 测试:
等级表数据库
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');
当前需要链表查询会员等级
会员等级实体类
@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
service层及实现类
public interface MemberService { //分页条件查询 Result
dao层
@Mapper public interface MemberDao extends BaseMapper
{ //分页查询 List selectByMyPage(Page page, PageVo pageVo); } Mapper.xml层
测试
搜索 刷新 {{scope.row.idCard? scope.row.idCard.replace(/^(.{6})(?:\w+)(.{4})$/, "\$1********\$2"):""}} 链表前端拿数据