Commit b0eb42d0 authored by hezhen's avatar hezhen

添加会员模块

parent e9911094
...@@ -72,9 +72,9 @@ public class BaseUserMember implements Serializable { ...@@ -72,9 +72,9 @@ public class BaseUserMember implements Serializable {
/** /**
* 剩余天数 * 剩余天数
*/ */
@Column(name = "s_number") @Column(name = "rent_free_days")
@ApiModelProperty(value = "剩余天数") @ApiModelProperty(value = "剩余天数")
private Integer sNumber; private Integer rentFreeDays;
/** /**
* 有效期;0代表永久 * 有效期;0代表永久
......
...@@ -35,7 +35,7 @@ public interface UserFeign { ...@@ -35,7 +35,7 @@ public interface UserFeign {
public ObjectRestResponse authentication( @RequestParam(value="userId")Integer userId, public ObjectRestResponse authentication( @RequestParam(value="userId")Integer userId,
@RequestParam(value="idNumber")String idNumber, @RequestParam(value="idNumber")String idNumber,
@RequestParam(value="status")Integer status); @RequestParam(value="status")Integer status);
@RequestMapping(value = "/member/levels", method = RequestMethod.GET) @RequestMapping(value = "/member/app/unauth/levels", method = RequestMethod.GET)
public List<BaseUserMemberLevel> levels(); public List<BaseUserMemberLevel> levels();
@RequestMapping(value = "/public/getByUserIds", method = RequestMethod.GET) @RequestMapping(value = "/public/getByUserIds", method = RequestMethod.GET)
......
...@@ -26,6 +26,7 @@ public class AppUserDTO { ...@@ -26,6 +26,7 @@ public class AppUserDTO {
private String idNumber; private String idNumber;
private Integer certificationStatus; private Integer certificationStatus;
private Integer rentFreeDays; private Integer rentFreeDays;
private Integer totalNumber;
private Integer memberLevel; private Integer memberLevel;
private Integer memberNo; private Integer memberNo;
private Long cardLeave; private Long cardLeave;
......
package com.github.wxiaoqi.security.admin.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 用户会员
*
* @author zjw
* @email nishijjo@qq.com
* @date 2019-06-18 19:38:56
*/
@Data
public class UserMemberVo {
/**
* 主键id
*/
@ApiModelProperty("主键id")
private Integer id;
/**
* 用户id
*/
@ApiModelProperty(value = "用户id")
private Integer userId;
/**
* 会员编号
*/
@ApiModelProperty(value = "会员编号")
private String memberNo;
/**
* 会员等级
*/
@ApiModelProperty(value = "会员等级")
private Integer memberLevel;
/**
* 卡内余额
*/
@ApiModelProperty(value = "卡内余额")
private Integer cardLeave;
/**
* 0:未支付 1:绑定 2:解绑
*/
@ApiModelProperty(value = "0:未支付 1:绑定 2:解绑")
private Integer isBind;
/**
* 赠送总天数
*/
@ApiModelProperty(value = "赠送总天数")
private Integer totalNumber;
/**
* 剩余天数
*/
@ApiModelProperty(value = "剩余天数")
private Integer rentFreeDays;
/**
* 有效期;0代表永久
*/
@ApiModelProperty(value = "有效期;0代表永久")
private Long validTime;
/**
* 创建时间
*/
@ApiModelProperty(value = "创建时间", hidden = true )
private Long crtTime;
/**
* 更新时间
*/
@ApiModelProperty(value = "更新时间", hidden = true )
private Long updTime;
/**
* 是否删除;0-正常;1-删除
*/
@ApiModelProperty(value = "是否删除;0-正常;1-删除")
private Integer isDel;
}
package com.github.wxiaoqi.security.admin.biz; package com.github.wxiaoqi.security.admin.biz;
import com.ace.cache.annotation.Cache;
import com.github.wxiaoqi.security.admin.vo.UserMemberVo;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.github.wxiaoqi.security.admin.entity.BaseUserMember; import com.github.wxiaoqi.security.admin.entity.BaseUserMember;
import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberMapper; import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
...@@ -18,5 +19,11 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -18,5 +19,11 @@ import org.springframework.transaction.annotation.Transactional;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper,BaseUserMember> { public class BaseUserMemberBiz extends BaseBiz<BaseUserMemberMapper,BaseUserMember> {
//获取用户会员信息
@Cache(key = "user:member{1}")
public UserMemberVo getMemberInfoByUserId(Integer userId){
return mapper.getInfoByUserId(userId);
}
} }
\ No newline at end of file
package com.github.wxiaoqi.security.admin.biz; package com.github.wxiaoqi.security.admin.biz;
import com.ace.cache.annotation.Cache; import com.ace.cache.annotation.Cache;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageHelper;
import com.github.wxiaoqi.security.admin.entity.AppUser;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.entity.Group;
import com.github.wxiaoqi.security.admin.entity.User;
import com.github.wxiaoqi.security.admin.mapper.AppUserMapper;
import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberLevelMapper; import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberLevelMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz; import com.github.wxiaoqi.security.common.biz.BaseBiz;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import com.github.wxiaoqi.security.common.msg.TableResultResponse;
import com.github.wxiaoqi.security.common.util.Query;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example; import tk.mybatis.mapper.entity.Example;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map;
import java.util.Set;
import static com.github.wxiaoqi.security.auth.common.constatns.CommonConstants.DATA_ALL_TRUE;
/** /**
* @author keliii * @author keliii
*/ */
@Service @Service
public class UserMemberBiz extends BaseBiz<BaseUserMemberLevelMapper,BaseUserMemberLevel> { public class UserMemberLevelBiz extends BaseBiz<BaseUserMemberLevelMapper,BaseUserMemberLevel> {
@Transactional @Transactional
@Cache(key="member")
public List<BaseUserMemberLevel> getLevesls() { public List<BaseUserMemberLevel> getLevesls() {
return mapper.selectAll(); Example example=new Example(BaseUserMemberLevel.class);
example.createCriteria().andEqualTo("isdel",0);
example.setOrderByClause(" level asc ");
return mapper.selectByExample(example);
} }
} }
package com.github.wxiaoqi.security.admin.mapper; package com.github.wxiaoqi.security.admin.mapper;
import com.github.wxiaoqi.security.admin.entity.BaseUserMember; import com.github.wxiaoqi.security.admin.entity.BaseUserMember;
import com.github.wxiaoqi.security.admin.vo.UserMemberVo;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper; import tk.mybatis.mapper.common.Mapper;
/** /**
...@@ -12,4 +14,7 @@ import tk.mybatis.mapper.common.Mapper; ...@@ -12,4 +14,7 @@ import tk.mybatis.mapper.common.Mapper;
*/ */
public interface BaseUserMemberMapper extends Mapper<BaseUserMember> { public interface BaseUserMemberMapper extends Mapper<BaseUserMember> {
//获取用户会员信息
public UserMemberVo getInfoByUserId(@Param("userId")Integer userId);
} }
...@@ -3,13 +3,16 @@ package com.github.wxiaoqi.security.admin.rest; ...@@ -3,13 +3,16 @@ package com.github.wxiaoqi.security.admin.rest;
import com.ace.cache.annotation.Cache; import com.ace.cache.annotation.Cache;
import com.github.wxiaoqi.security.admin.biz.AppUserBiz; import com.github.wxiaoqi.security.admin.biz.AppUserBiz;
import com.github.wxiaoqi.security.admin.biz.AppUserDetailBiz; import com.github.wxiaoqi.security.admin.biz.AppUserDetailBiz;
import com.github.wxiaoqi.security.admin.biz.BaseUserMemberBiz;
import com.github.wxiaoqi.security.admin.entity.AppUser; import com.github.wxiaoqi.security.admin.entity.AppUser;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail; import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.entity.Group; import com.github.wxiaoqi.security.admin.entity.Group;
import com.github.wxiaoqi.security.admin.entity.User; import com.github.wxiaoqi.security.admin.entity.User;
import com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO;
import com.github.wxiaoqi.security.admin.vo.AppUserGroups; import com.github.wxiaoqi.security.admin.vo.AppUserGroups;
import com.github.wxiaoqi.security.admin.vo.AppUserInfoVo; import com.github.wxiaoqi.security.admin.vo.AppUserInfoVo;
import com.github.wxiaoqi.security.admin.vo.AppUserVo; import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.admin.vo.UserMemberVo;
import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig; import com.github.wxiaoqi.security.auth.client.config.UserAuthConfig;
import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil; import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse; import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
...@@ -18,6 +21,7 @@ import com.github.wxiaoqi.security.common.rest.CommonBaseController; ...@@ -18,6 +21,7 @@ import com.github.wxiaoqi.security.common.rest.CommonBaseController;
import com.github.wxiaoqi.security.common.util.Query; import com.github.wxiaoqi.security.common.util.Query;
import com.github.wxiaoqi.security.common.util.process.ResultCode; import com.github.wxiaoqi.security.common.util.process.ResultCode;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -45,6 +49,9 @@ public class AppUserController extends CommonBaseController { ...@@ -45,6 +49,9 @@ public class AppUserController extends CommonBaseController {
@Autowired @Autowired
AppUserDetailBiz userDetailBiz; AppUserDetailBiz userDetailBiz;
@Autowired
private BaseUserMemberBiz userMemberBiz;
@GetMapping("page") @GetMapping("page")
public TableResultResponse list(@RequestParam Map<String, Object> params) { public TableResultResponse list(@RequestParam Map<String, Object> params) {
Query query = new Query(params); Query query = new Query(params);
...@@ -102,17 +109,26 @@ public class AppUserController extends CommonBaseController { ...@@ -102,17 +109,26 @@ public class AppUserController extends CommonBaseController {
* @throws Exception * @throws Exception
*/ */
@GetMapping("/info") @GetMapping("/info")
public ObjectRestResponse<AppUserVo> getUserInfo()throws Exception { public ObjectRestResponse<AppUserDTO> getUserInfo()throws Exception {
String username = userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request)).getId(); String username = userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request)).getId();
if (username == null) { if (username == null) {
throw new Exception(); throw new Exception();
} }
AppUserDTO userDTO=new AppUserDTO();
Integer userid=Integer.parseInt(username); Integer userid=Integer.parseInt(username);
AppUserVo user = userDetailBiz.getUserInfoById(userid); AppUserVo userVo = userDetailBiz.getUserInfoById(userid);
if (user == null) { if (userVo == null) {
throw new Exception(); throw new Exception();
} }
return ObjectRestResponse.succ(user); BeanUtils.copyProperties(userDTO,userVo);
if(userVo.getIsMember()!=null&&userVo.getIsMember()>0){
//获取用户会员信息
UserMemberVo memberVo=userMemberBiz.getMemberInfoByUserId(userid);
if(memberVo!=null){
BeanUtils.copyProperties(userDTO,memberVo);
}
}
return ObjectRestResponse.succ(userDTO);
} }
/** /**
...@@ -130,13 +146,5 @@ public class AppUserController extends CommonBaseController { ...@@ -130,13 +146,5 @@ public class AppUserController extends CommonBaseController {
return ObjectRestResponse.succ(); return ObjectRestResponse.succ();
} }
@GetMapping("/findByUserId")
public ObjectRestResponse<AppUserDetail> findByUserId(Integer id) {
if(id == null || id < 0) {
return ObjectRestResponse.createFailedResult(500, "参数id为空");
}
AppUserDetail appUserDetail = userDetailBiz.getUserByUserid(id);
return ObjectRestResponse.succ(appUserDetail);
}
} }
package com.github.wxiaoqi.security.admin.rest; package com.github.wxiaoqi.security.admin.rest;
import com.github.wxiaoqi.security.admin.biz.AppUserDetailBiz; import com.github.wxiaoqi.security.admin.biz.UserMemberLevelBiz;
import com.github.wxiaoqi.security.admin.biz.UserBiz;
import com.github.wxiaoqi.security.admin.biz.UserMemberBiz;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel; import com.github.wxiaoqi.security.admin.entity.BaseUserMemberLevel;
import com.github.wxiaoqi.security.admin.entity.User;
import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
...@@ -24,14 +18,14 @@ import java.util.List; ...@@ -24,14 +18,14 @@ import java.util.List;
*/ */
@RestController @RestController
@RequestMapping("member") @RequestMapping("member")
public class MemberController { public class MemberLevelController {
@Autowired @Autowired
private UserMemberBiz memberBiz; private UserMemberLevelBiz memberBiz;
@RequestMapping(value = "/levels", method = RequestMethod.GET) @RequestMapping(value = "/app/unauth/levels", method = RequestMethod.GET)
public @ResponseBody public @ResponseBody
List<BaseUserMemberLevel> levels(String token) throws Exception { List<BaseUserMemberLevel> levels() throws Exception {
return memberBiz.getLevesls(); return memberBiz.getLevesls();
} }
} }
package com.github.wxiaoqi.security.admin.rest; package com.github.wxiaoqi.security.admin.rest;
import com.github.wxiaoqi.security.admin.biz.AppUserDetailBiz; import com.github.wxiaoqi.security.admin.biz.*;
import com.github.wxiaoqi.security.admin.biz.AppUserLoginBiz;
import com.github.wxiaoqi.security.admin.biz.MenuBiz;
import com.github.wxiaoqi.security.admin.biz.UserBiz;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail; import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.entity.Group; import com.github.wxiaoqi.security.admin.entity.Group;
import com.github.wxiaoqi.security.admin.entity.Menu; import com.github.wxiaoqi.security.admin.entity.Menu;
...@@ -13,6 +10,7 @@ import com.github.wxiaoqi.security.admin.rpc.service.PermissionService; ...@@ -13,6 +10,7 @@ import com.github.wxiaoqi.security.admin.rpc.service.PermissionService;
import com.github.wxiaoqi.security.admin.vo.AppUserVo; import com.github.wxiaoqi.security.admin.vo.AppUserVo;
import com.github.wxiaoqi.security.admin.vo.FrontUser; import com.github.wxiaoqi.security.admin.vo.FrontUser;
import com.github.wxiaoqi.security.admin.vo.MenuTree; import com.github.wxiaoqi.security.admin.vo.MenuTree;
import com.github.wxiaoqi.security.admin.vo.UserMemberVo;
import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken; import com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken;
import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil; import com.github.wxiaoqi.security.auth.client.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.common.exception.BaseException; import com.github.wxiaoqi.security.common.exception.BaseException;
...@@ -45,11 +43,10 @@ public class PublicController { ...@@ -45,11 +43,10 @@ public class PublicController {
@Autowired @Autowired
private UserBiz userBiz; private UserBiz userBiz;
@Autowired
private AppUserLoginBiz userLoginBiz;
@Autowired @Autowired
private AppUserDetailBiz detailBiz; private AppUserDetailBiz detailBiz;
@Autowired
private BaseUserMemberBiz userMemberBiz;
@Autowired @Autowired
private UserAuthUtil userAuthUtil; private UserAuthUtil userAuthUtil;
...@@ -77,12 +74,20 @@ public class PublicController { ...@@ -77,12 +74,20 @@ public class PublicController {
} }
AppUserDTO userDTO=new AppUserDTO(); AppUserDTO userDTO=new AppUserDTO();
Integer userid=Integer.parseInt(username); Integer userid=Integer.parseInt(username);
AppUserDetail user = detailBiz.getUserByUserid(userid); //获取用户基础信息
if (user == null) { AppUserVo userVo = detailBiz.getUserInfoById(userid);
if (userVo == null) {
throw new BaseException(ResultCode.NOTEXIST_CODE); throw new BaseException(ResultCode.NOTEXIST_CODE);
} }
BeanUtils.copyProperties(userDTO,user); BeanUtils.copyProperties(userDTO,userVo);
return new ObjectRestResponse<AppUserDetail>().rel(true).data(user); if(userVo.getIsMember()!=null&&userVo.getIsMember()>0){
//获取用户会员信息
UserMemberVo memberVo=userMemberBiz.getMemberInfoByUserId(userid);
if(memberVo!=null){
BeanUtils.copyProperties(userDTO,memberVo);
}
}
return new ObjectRestResponse<AppUserDetail>().rel(true).data(userDTO);
} }
@GetMapping("/getByUserIds") @GetMapping("/getByUserIds")
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<result column="status" property="status" /> <result column="status" property="status" />
<result column="id_number" property="idNumber" /> <result column="id_number" property="idNumber" />
<result column="certification_status" property="certificationStatus" /> <result column="certification_status" property="certificationStatus" />
<result column="isMember" property="is_member" /> <result column="is_member" property="isMember" />
<result column="nickname" property="nickname" /> <result column="nickname" property="nickname" />
<result column="realname" property="realname" /> <result column="realname" property="realname" />
<result column="headimgurl" property="headimgurl" /> <result column="headimgurl" property="headimgurl" />
......
<?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.github.wxiaoqi.security.admin.mapper.BaseUserMemberMapper">
<!-- 可根据自己的需求,是否要使用 -->
<resultMap type="com.github.wxiaoqi.security.admin.vo.UserMemberVo" id="baseUserMemberMap">
<result property="id" column="id"/>
<result property="userId" column="user_id"/>
<result property="memberNo" column="member_no"/>
<result property="memberLevel" column="member_level"/>
<result property="cardLeave" column="card_leave"/>
<result property="isBind" column="is_bind"/>
<result property="totalNumber" column="total_number"/>
<result property="rentFreeDays" column="rent_free_days"/>
<result property="validTime" column="valid_time"/>
<result property="crtTime" column="crt_time"/>
<result property="updTime" column="upd_time"/>
<result property="isDel" column="is_del"/>
</resultMap>
<select id="getInfoByUserId" resultMap="baseUserMemberMap">
select * from base_user_member where user_id=#{userId} and is_del=0 limit 1
</select>
</mapper>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment