diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/UserVipRecordController.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/controller/UserVipRecordController.java new file mode 100644 index 0000000..82d0413 --- /dev/null +++ b/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 queryUserVipRecord(UserVipRecordQuery query){ + return R.ok(userVipRecordService.queryUserVipRecord(query)); + } + + +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/UserVipRecordMapper.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/UserVipRecordMapper.java index 113a89d..db8dd32 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/mapper/UserVipRecordMapper.java +++ b/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.bnyer.common.core.domain.UserVipRecord; +import com.bnyer.img.query.UserVipRecordQuery; +import com.bnyer.img.vo.UserVipRecordVo; import org.apache.ibatis.annotations.Mapper; @Mapper public interface UserVipRecordMapper extends BaseMapper { + UserVipRecordVo queryUserVipRecord(UserVipRecordQuery query); } \ No newline at end of file diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/query/UserVipRecordQuery.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/query/UserVipRecordQuery.java new file mode 100644 index 0000000..3f2c6a6 --- /dev/null +++ b/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; +} diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/UserVipRecordService.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/UserVipRecordService.java index d6d4c08..7520259 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/UserVipRecordService.java +++ b/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.PayUserVipDto; +import com.bnyer.img.query.UserVipRecordQuery; +import com.bnyer.img.vo.UserVipRecordVo; +import com.bnyer.img.vo.UserVipVo; public interface UserVipRecordService { @@ -20,4 +23,10 @@ public interface UserVipRecordService { */ void addUserVipRecord(AddUserVipRecordDto dto); + /** + * 查询用户会员记录 + * @param query + * @return + */ + UserVipRecordVo queryUserVipRecord(UserVipRecordQuery query); } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/UserVipServiceRecordImpl.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/UserVipServiceRecordImpl.java index 2646c0e..ca45af0 100644 --- a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/service/impl/UserVipServiceRecordImpl.java +++ b/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.dto.AddUserVipRecordDto; 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.utils.StringUtils; 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.security.utils.SecurityUtils; import com.bnyer.img.constants.UserVipOrderStatusConstant; import com.bnyer.img.enums.EnumUserVipRecordStatus; import com.bnyer.img.mapper.UserVipRecordMapper; +import com.bnyer.img.query.UserVipRecordQuery; import com.bnyer.img.service.UserVipRecordService; +import com.bnyer.img.vo.UserVipRecordVo; +import com.bnyer.img.vo.UserVipVo; import lombok.extern.slf4j.Slf4j; import org.redisson.api.RLock; import org.springframework.beans.factory.annotation.Autowired; @@ -20,6 +27,7 @@ import org.springframework.stereotype.Service; import java.math.BigDecimal; import java.util.Date; +import java.util.Objects; import java.util.concurrent.TimeUnit; @Service @@ -91,4 +99,27 @@ public class UserVipServiceRecordImpl implements UserVipRecordService { userVipRecord.setStatus(EnumUserVipRecordStatus.VALID.getStatus()); 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; + } } diff --git a/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/UserVipRecordVo.java b/bnyer-services/bnyer-img/src/main/java/com/bnyer/img/vo/UserVipRecordVo.java new file mode 100644 index 0000000..6c03a22 --- /dev/null +++ b/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; + +} diff --git a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/UserVipRecordMapper.xml b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/UserVipRecordMapper.xml index a037825..b502f4b 100644 --- a/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/UserVipRecordMapper.xml +++ b/bnyer-services/bnyer-img/src/main/resources/com/bnyer/img/mapper/UserVipRecordMapper.xml @@ -22,7 +22,32 @@ - 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, - sort + a.id, + 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 +