Browse Source

查询用户会员记录

feature-1.1
wuxicheng 3 years ago
parent
commit
6081e56042
  1. 39
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/UserVipRecordController.java
  2. 3
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/UserVipRecordMapper.java
  3. 26
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/query/UserVipRecordQuery.java
  4. 9
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/UserVipRecordService.java
  5. 31
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/UserVipServiceRecordImpl.java
  6. 56
      bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/UserVipRecordVo.java
  7. 29
      bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/UserVipRecordMapper.xml

39
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/UserVipRecordController.java

@ -0,0 +1,39 @@
package com.bnyer.img.controller;
import com.bnyer.common.core.domain.R;
import com.bnyer.img.query.UserVipQuery;
import com.bnyer.img.query.UserVipRecordQuery;
import com.bnyer.img.service.UserVipRecordService;
import com.bnyer.img.service.UserVipService;
import com.bnyer.img.vo.UserVipRecordVo;
import com.bnyer.img.vo.UserVipVo;
import io.swagger.annotations.Api;
import io.swagger.v3.oas.annotations.Operation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
/**
* @author :WXC
* @Date :2023/05/10
* @description :
*/
@Api(value = "用户会员记录相关接口",tags = "用户会员记录相关接口")
@RestController
@RequestMapping("/img/mini/vipRecord")
@Slf4j
public class UserVipRecordController {
@Resource
private UserVipRecordService userVipRecordService;
@Operation(summary="获取用户会员记录",description = "获取用户会员记录")
@GetMapping(value = "/queryUserVipRecord")
public R<UserVipRecordVo> queryUserVipRecord(UserVipRecordQuery query){
return R.ok(userVipRecordService.queryUserVipRecord(query));
}
}

3
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/UserVipRecordMapper.java

@ -2,8 +2,11 @@ package com.bnyer.img.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.bnyer.common.core.domain.UserVipRecord; import com.bnyer.common.core.domain.UserVipRecord;
import com.bnyer.img.query.UserVipRecordQuery;
import com.bnyer.img.vo.UserVipRecordVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface UserVipRecordMapper extends BaseMapper<UserVipRecord> { public interface UserVipRecordMapper extends BaseMapper<UserVipRecord> {
UserVipRecordVo queryUserVipRecord(UserVipRecordQuery query);
} }

26
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/query/UserVipRecordQuery.java

@ -0,0 +1,26 @@
package com.bnyer.img.query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
/**
* @author :WXC
* @Date :2023/03/31
* @description :
*/
@Getter
@Setter
@ApiModel("用户会员记录查询请求对象")
public class UserVipRecordQuery {
@ApiModelProperty(value = "id")
private Long id;
@ApiModelProperty(value = "用户id")
private Long userId;
/**
* 用户客户端类型
*/
private Integer userClientType;
}

9
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/UserVipRecordService.java

@ -2,6 +2,9 @@ package com.bnyer.img.service;
import com.bnyer.common.core.dto.AddUserVipRecordDto; import com.bnyer.common.core.dto.AddUserVipRecordDto;
import com.bnyer.common.core.dto.PayUserVipDto; import com.bnyer.common.core.dto.PayUserVipDto;
import com.bnyer.img.query.UserVipRecordQuery;
import com.bnyer.img.vo.UserVipRecordVo;
import com.bnyer.img.vo.UserVipVo;
public interface UserVipRecordService { public interface UserVipRecordService {
@ -20,4 +23,10 @@ public interface UserVipRecordService {
*/ */
void addUserVipRecord(AddUserVipRecordDto dto); void addUserVipRecord(AddUserVipRecordDto dto);
/**
* 查询用户会员记录
* @param query
* @return
*/
UserVipRecordVo queryUserVipRecord(UserVipRecordQuery query);
} }

31
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/UserVipServiceRecordImpl.java

@ -6,13 +6,20 @@ import com.bnyer.common.core.domain.UserVipRecord;
import com.bnyer.common.core.domain.VipOrder; import com.bnyer.common.core.domain.VipOrder;
import com.bnyer.common.core.dto.AddUserVipRecordDto; import com.bnyer.common.core.dto.AddUserVipRecordDto;
import com.bnyer.common.core.dto.PayUserVipDto; import com.bnyer.common.core.dto.PayUserVipDto;
import com.bnyer.common.core.enums.ResponseEnum;
import com.bnyer.common.core.exception.ServiceException; import com.bnyer.common.core.exception.ServiceException;
import com.bnyer.common.core.utils.StringUtils;
import com.bnyer.common.core.utils.bean.EntityConvertUtil; import com.bnyer.common.core.utils.bean.EntityConvertUtil;
import com.bnyer.common.core.vo.UserInfoVo;
import com.bnyer.common.redis.service.RedissonService; import com.bnyer.common.redis.service.RedissonService;
import com.bnyer.common.security.utils.SecurityUtils;
import com.bnyer.img.constants.UserVipOrderStatusConstant; import com.bnyer.img.constants.UserVipOrderStatusConstant;
import com.bnyer.img.enums.EnumUserVipRecordStatus; import com.bnyer.img.enums.EnumUserVipRecordStatus;
import com.bnyer.img.mapper.UserVipRecordMapper; import com.bnyer.img.mapper.UserVipRecordMapper;
import com.bnyer.img.query.UserVipRecordQuery;
import com.bnyer.img.service.UserVipRecordService; import com.bnyer.img.service.UserVipRecordService;
import com.bnyer.img.vo.UserVipRecordVo;
import com.bnyer.img.vo.UserVipVo;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RLock; import org.redisson.api.RLock;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -20,6 +27,7 @@ import org.springframework.stereotype.Service;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date; import java.util.Date;
import java.util.Objects;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
@Service @Service
@ -91,4 +99,27 @@ public class UserVipServiceRecordImpl implements UserVipRecordService {
userVipRecord.setStatus(EnumUserVipRecordStatus.VALID.getStatus()); userVipRecord.setStatus(EnumUserVipRecordStatus.VALID.getStatus());
userVipRecordMapper.insert(userVipRecord); userVipRecordMapper.insert(userVipRecord);
} }
/**
* 获取用户会员记录
* @param query
* @return
*/
@Override
public UserVipRecordVo queryUserVipRecord(UserVipRecordQuery query) {
UserInfoVo userInfo = SecurityUtils.getUserInfo();
if (Objects.isNull(query.getId())){
query.setUserId(userInfo.getId());
query.setUserClientType(userInfo.getUserClientType());
}
UserVipRecordVo userVipRecordVo = userVipRecordMapper.queryUserVipRecord(query);
if (Objects.isNull(userVipRecordVo)){
userVipRecordVo = new UserVipRecordVo();
userVipRecordVo.setIsVip("0");
}else {
// TODO: 2023/05/12 同步会员到期状态
userVipRecordVo.setIsVip("1");
}
return userVipRecordVo;
}
} }

56
bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/UserVipRecordVo.java

@ -0,0 +1,56 @@
package com.bnyer.img.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import java.util.Date;
@Getter
@Setter
@NoArgsConstructor
@ApiModel(value = "用户会员记录查询响应对象")
public class UserVipRecordVo {
@ApiModelProperty(value="id")
private Long id;
@ApiModelProperty(value="订单号")
private String orderNo;
@ApiModelProperty(value="用户id")
private Long userId;
@ApiModelProperty(value="用户手机号")
private String phone;
@ApiModelProperty(value="vip表id")
private Long vipId;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value="开始时间")
private Date startTime;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value="到期时间")
private Date endTime;
@ApiModelProperty(value="状态(0->已到期;1->已生效;)")
private Integer status;
@ApiModelProperty(value="vip名称")
private String vipName;
@ApiModelProperty(value = "vip类型名称")
private String vipTypeName;
@ApiModelProperty(value = "用户客户端类型:10用户-抖音 20用户-快手 30用户-微信 40艺术家-微信")
private Integer userClientType;
@ApiModelProperty(value = "是否开通会员:0 未开通 1已开通")
private String isVip;
}

29
bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/UserVipRecordMapper.xml

@ -22,7 +22,32 @@
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
<!--@mbg.generated--> <!--@mbg.generated-->
id,order_no,user_id , phone,vip_name,vip_type_name,user_client_type,status, vip_id, start_time, end_time, is_show, create_time, update_time, a.id,
sort a.order_no,
a.user_id ,
a.phone,vip_name,
a.vip_type_name,
a.user_client_type,
a.`status`, vip_id,
a.start_time, end_time,
a.is_show,
a.create_time,
a.update_time,
a.sort
</sql> </sql>
<select id="queryUserVipRecord" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
FROM img_user_vip_record a
WHERE
<if test="id != null">
a.id = #{id}
</if>
<if test="userId != null">
a.user_id = #{userId}
</if>
<if test="userClientType != null">
a.user_client_type = #{userClientType}
</if>
</select>
</mapper> </mapper>

Loading…
Cancel
Save