Commit b0eb42d0 authored by hezhen's avatar hezhen

添加会员模块

parent e9911094
......@@ -72,9 +72,9 @@ public class BaseUserMember implements Serializable {
/**
* 剩余天数
*/
@Column(name = "s_number")
@Column(name = "rent_free_days")
@ApiModelProperty(value = "剩余天数")
private Integer sNumber;
private Integer rentFreeDays;
/**
* 有效期;0代表永久
......
......@@ -35,7 +35,7 @@ public interface UserFeign {
public ObjectRestResponse authentication( @RequestParam(value="userId")Integer userId,
@RequestParam(value="idNumber")String idNumber,
@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();
@RequestMapping(value = "/public/getByUserIds", method = RequestMethod.GET)
......
......@@ -26,6 +26,7 @@ public class AppUserDTO {
private String idNumber;
private Integer certificationStatus;
private Integer rentFreeDays;
private Integer totalNumber;
private Integer memberLevel;
private Integer memberNo;
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;
import com.ace.cache.annotation.Cache;
import com.github.wxiaoqi.security.admin.vo.UserMemberVo;
import org.springframework.stereotype.Service;
import com.github.wxiaoqi.security.admin.entity.BaseUserMember;
import com.github.wxiaoqi.security.admin.mapper.BaseUserMemberMapper;
import com.github.wxiaoqi.security.common.biz.BaseBiz;
......@@ -18,5 +19,11 @@ import org.springframework.transaction.annotation.Transactional;
@Transactional(rollbackFor = Exception.class)
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;
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.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.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.transaction.annotation.Transactional;
import tk.mybatis.mapper.entity.Example;
import java.util.Arrays;
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
*/
@Service
public class UserMemberBiz extends BaseBiz<BaseUserMemberLevelMapper,BaseUserMemberLevel> {
public class UserMemberLevelBiz extends BaseBiz<BaseUserMemberLevelMapper,BaseUserMemberLevel> {
@Transactional
@Cache(key="member")
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;
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;
/**
......@@ -12,4 +14,7 @@ import tk.mybatis.mapper.common.Mapper;
*/
public interface BaseUserMemberMapper extends Mapper<BaseUserMember> {
//获取用户会员信息
public UserMemberVo getInfoByUserId(@Param("userId")Integer userId);
}
......@@ -3,13 +3,16 @@ package com.github.wxiaoqi.security.admin.rest;
import com.ace.cache.annotation.Cache;
import com.github.wxiaoqi.security.admin.biz.AppUserBiz;
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.AppUserDetail;
import com.github.wxiaoqi.security.admin.entity.Group;
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.AppUserInfoVo;
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.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
......@@ -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.process.ResultCode;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.beanutils.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
......@@ -45,6 +49,9 @@ public class AppUserController extends CommonBaseController {
@Autowired
AppUserDetailBiz userDetailBiz;
@Autowired
private BaseUserMemberBiz userMemberBiz;
@GetMapping("page")
public TableResultResponse list(@RequestParam Map<String, Object> params) {
Query query = new Query(params);
......@@ -102,17 +109,26 @@ public class AppUserController extends CommonBaseController {
* @throws Exception
*/
@GetMapping("/info")
public ObjectRestResponse<AppUserVo> getUserInfo()throws Exception {
public ObjectRestResponse<AppUserDTO> getUserInfo()throws Exception {
String username = userAuthUtil.getInfoFromToken(userAuthConfig.getToken(request)).getId();
if (username == null) {
throw new Exception();
}
AppUserDTO userDTO=new AppUserDTO();
Integer userid=Integer.parseInt(username);
AppUserVo user = userDetailBiz.getUserInfoById(userid);
if (user == null) {
AppUserVo userVo = userDetailBiz.getUserInfoById(userid);
if (userVo == null) {
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 {
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;
import com.github.wxiaoqi.security.admin.biz.AppUserDetailBiz;
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.biz.UserMemberLevelBiz;
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.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
......@@ -24,14 +18,14 @@ import java.util.List;
*/
@RestController
@RequestMapping("member")
public class MemberController {
public class MemberLevelController {
@Autowired
private UserMemberBiz memberBiz;
private UserMemberLevelBiz memberBiz;
@RequestMapping(value = "/levels", method = RequestMethod.GET)
@RequestMapping(value = "/app/unauth/levels", method = RequestMethod.GET)
public @ResponseBody
List<BaseUserMemberLevel> levels(String token) throws Exception {
List<BaseUserMemberLevel> levels() throws Exception {
return memberBiz.getLevesls();
}
}
package com.github.wxiaoqi.security.admin.rest;
import com.github.wxiaoqi.security.admin.biz.AppUserDetailBiz;
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.biz.*;
import com.github.wxiaoqi.security.admin.entity.AppUserDetail;
import com.github.wxiaoqi.security.admin.entity.Group;
import com.github.wxiaoqi.security.admin.entity.Menu;
......@@ -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.FrontUser;
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.jwt.UserAuthUtil;
import com.github.wxiaoqi.security.common.exception.BaseException;
......@@ -45,11 +43,10 @@ public class PublicController {
@Autowired
private UserBiz userBiz;
@Autowired
private AppUserLoginBiz userLoginBiz;
@Autowired
private AppUserDetailBiz detailBiz;
@Autowired
private BaseUserMemberBiz userMemberBiz;
@Autowired
private UserAuthUtil userAuthUtil;
......@@ -77,12 +74,20 @@ public class PublicController {
}
AppUserDTO userDTO=new AppUserDTO();
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);
}
BeanUtils.copyProperties(userDTO,user);
return new ObjectRestResponse<AppUserDetail>().rel(true).data(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 new ObjectRestResponse<AppUserDetail>().rel(true).data(userDTO);
}
@GetMapping("/getByUserIds")
......
......@@ -12,7 +12,7 @@
<result column="status" property="status" />
<result column="id_number" property="idNumber" />
<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="realname" property="realname" />
<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