parent
397395af58
commit
c5cc8c510d
@ -0,0 +1,50 @@
|
||||
package com.zh.project0512.controller.wxApp;
|
||||
|
||||
import com.zh.project0512.model.dto.UserPointsRecordListDTO;
|
||||
import com.zh.project0512.model.vo.UserPointsRecordListVo;
|
||||
import com.zh.project0512.model.vo.UserPointsVo;
|
||||
import com.zh.project0512.service.IUserPointsRecordsService;
|
||||
import com.zh.project0512.utils.JwtUtil;
|
||||
import com.zh.project0512.utils.result.Result;
|
||||
import com.zh.project0512.utils.result.ResultPageInfo;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 用户积分
|
||||
*/
|
||||
@Tag(name = "用户积分")
|
||||
@RestController
|
||||
@RequestMapping("/wxApp/userPoints")
|
||||
public class UserPointsController {
|
||||
@Resource
|
||||
IUserPointsRecordsService userPointsRecordsService;
|
||||
|
||||
|
||||
/**
|
||||
* 查询用户积分详情
|
||||
* @return 用户积分详情
|
||||
*/
|
||||
@Operation(summary = "用户积分详情")
|
||||
@GetMapping("/pointsDetail")
|
||||
public Result<UserPointsVo> pointsDetail(@RequestHeader String token){
|
||||
String openid = new JwtUtil().parseOpenid(token);
|
||||
return Result.success(userPointsRecordsService.pointsDetail(openid),"请求成功");
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户积分记录
|
||||
* @param userPointsRecordListDTO 用户积分记录 list DTO
|
||||
* @return 用户积分记录 list Vo
|
||||
*/
|
||||
@Operation(summary = "用户积分记录")
|
||||
@PostMapping("/list")
|
||||
public ResultPageInfo<UserPointsRecordListVo> list(@Validated @RequestBody UserPointsRecordListDTO userPointsRecordListDTO){
|
||||
return ResultPageInfo.success(userPointsRecordsService.list(userPointsRecordListDTO),"请求成功");
|
||||
}
|
||||
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
package com.zh.project0512.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.zh.project0512.model.UserPointsRecords;
|
||||
|
||||
public interface UserPointsRecordMapper extends BaseMapper<UserPointsRecords> {
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
package com.zh.project0512.model.dto;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 用户积分记录 list DTO
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class UserPointsRecordListDTO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 当前页数
|
||||
*/
|
||||
@Schema(title = "当前页数")
|
||||
@NotNull(message = "当前页数不能为空")
|
||||
private int pageNum;
|
||||
/**
|
||||
* 每页记录数
|
||||
*/
|
||||
@Schema(title = "每页记录数")
|
||||
@NotNull(message = "每页记录数不能为空")
|
||||
private int size;
|
||||
/**
|
||||
* 年
|
||||
*/
|
||||
@Schema(title = "年")
|
||||
private Integer years;
|
||||
/**
|
||||
* 月
|
||||
*/
|
||||
@Schema(title = "月")
|
||||
private Integer months;
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
package com.zh.project0512.model.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* 用户积分 Vo
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class UserPointsVo implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 当前积分
|
||||
*/
|
||||
@Schema(title = "当前积分")
|
||||
private Integer points;
|
||||
/**
|
||||
* 累计获得积分
|
||||
*/
|
||||
@Schema(title = "累计获得积分")
|
||||
private Integer historyPoints;
|
||||
}
|
@ -0,0 +1,23 @@
|
||||
package com.zh.project0512.service;
|
||||
|
||||
import com.zh.project0512.model.dto.UserPointsRecordListDTO;
|
||||
import com.zh.project0512.model.vo.UserPointsRecordListVo;
|
||||
import com.zh.project0512.model.vo.UserPointsVo;
|
||||
import com.zh.project0512.utils.page.PageInfo;
|
||||
|
||||
public interface IUserPointsRecordsService {
|
||||
/**
|
||||
* 查询用户积分详情
|
||||
* @param openid 小程序唯一标识
|
||||
* @return 用户积分 Vo
|
||||
*/
|
||||
UserPointsVo pointsDetail(String openid);
|
||||
|
||||
/**
|
||||
* 查询用户积分记录
|
||||
* @param userPointsRecordListDTO 用户积分记录 list DTO
|
||||
* @return 用户积分记录 list Vo
|
||||
*/
|
||||
PageInfo<UserPointsRecordListVo> list(UserPointsRecordListDTO userPointsRecordListDTO);
|
||||
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
package com.zh.project0512.serviceImpl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.zh.project0512.mapper.UserMapper;
|
||||
import com.zh.project0512.mapper.UserPointsRecordMapper;
|
||||
import com.zh.project0512.model.Rank;
|
||||
import com.zh.project0512.model.User;
|
||||
import com.zh.project0512.model.UserPointsRecords;
|
||||
import com.zh.project0512.model.dto.UserPointsRecordListDTO;
|
||||
import com.zh.project0512.model.vo.RankListVo;
|
||||
import com.zh.project0512.model.vo.UserPointsRecordListVo;
|
||||
import com.zh.project0512.model.vo.UserPointsVo;
|
||||
import com.zh.project0512.service.IUserPointsRecordsService;
|
||||
import com.zh.project0512.utils.PropertyUtils;
|
||||
import com.zh.project0512.utils.page.PageInfo;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
public class UserPointsRecordServiceImpl implements IUserPointsRecordsService {
|
||||
@Resource
|
||||
UserPointsRecordMapper userPointsRecordMapper;
|
||||
@Resource
|
||||
UserMapper userMapper;
|
||||
|
||||
|
||||
@Override
|
||||
public UserPointsVo pointsDetail(String openid) {
|
||||
QueryWrapper<User> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("openid",openid);
|
||||
User user = userMapper.selectOne(queryWrapper);
|
||||
UserPointsVo userPointsVo = new UserPointsVo();
|
||||
userPointsVo.setPoints(user.getPoints());
|
||||
userPointsVo.setHistoryPoints(user.getHistoryPoints());
|
||||
return userPointsVo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PageInfo<UserPointsRecordListVo> list(UserPointsRecordListDTO userPointsRecordListDTO) {
|
||||
ArrayList<UserPointsRecordListVo> userPointsRecordListVos = new ArrayList<>();
|
||||
QueryWrapper<UserPointsRecords> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq(userPointsRecordListDTO.getYears() != null,"YEAR(createDate)",userPointsRecordListDTO.getYears());
|
||||
queryWrapper.eq(userPointsRecordListDTO.getMonths() != null,"MONTH(createDate)",userPointsRecordListDTO.getMonths());
|
||||
Page<UserPointsRecords> page = new Page<>(userPointsRecordListDTO.getPageNum(), userPointsRecordListDTO.getSize());
|
||||
IPage<UserPointsRecords> userPointsRecordsIPage = userPointsRecordMapper.selectPage(page, queryWrapper);
|
||||
List<UserPointsRecords> records = userPointsRecordsIPage.getRecords();
|
||||
if (records != null && records.size()>0){
|
||||
for (UserPointsRecords record : records) {
|
||||
UserPointsRecordListVo userPointsRecordListVo = new UserPointsRecordListVo();
|
||||
PropertyUtils.copyProperties(record,userPointsRecordListVo);
|
||||
userPointsRecordListVos.add(userPointsRecordListVo);
|
||||
}
|
||||
}
|
||||
return new PageInfo<>(userPointsRecordsIPage.getPages(), userPointsRecordListVos, userPointsRecordsIPage.getTotal());
|
||||
}
|
||||
}
|
Loading…
Reference in new issue