master
parent
a070c8d4cd
commit
7e0a37c072
@ -1,55 +0,0 @@
|
||||
package com.zh.project0512.controller.wxApp;
|
||||
|
||||
import com.zh.project0512.annotation.TokenValid;
|
||||
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 = "用户积分详情")
|
||||
@PostMapping("/detail")
|
||||
@TokenValid
|
||||
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")
|
||||
@TokenValid
|
||||
public ResultPageInfo<UserPointsRecordListVo> list(@Validated @RequestBody UserPointsRecordListDTO userPointsRecordListDTO,@RequestHeader String token){
|
||||
String openid = new JwtUtil().parseOpenid(token);
|
||||
return ResultPageInfo.success(userPointsRecordsService.list(userPointsRecordListDTO,openid),"请求成功");
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -0,0 +1,83 @@
|
||||
package com.zh.project0512.controller.wxApp;
|
||||
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.zh.project0512.annotation.TokenValid;
|
||||
import com.zh.project0512.model.User;
|
||||
import com.zh.project0512.model.UserPointsRecords;
|
||||
import com.zh.project0512.service.IUserPointsRecordsService;
|
||||
import com.zh.project0512.service.IUserService;
|
||||
import com.zh.project0512.utils.JwtUtil;
|
||||
import com.zh.project0512.utils.result.Result;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import lombok.Data;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.validation.constraints.Min;
|
||||
import javax.validation.constraints.NotNull;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
/**
|
||||
* 用户积分
|
||||
*/
|
||||
@Tag(name = "用户积分")
|
||||
@RestController
|
||||
@RequestMapping("/wxApp/userPoints")
|
||||
public class UserPointsRecordsController {
|
||||
@Autowired
|
||||
private IUserPointsRecordsService userPointsRecordsService;
|
||||
@Autowired
|
||||
private IUserService userService;
|
||||
// @Resource
|
||||
// IUserPointsRecordsService userPointsRecordsService;
|
||||
//
|
||||
//
|
||||
|
||||
/**
|
||||
* 查询用户积分详情
|
||||
*/
|
||||
@Operation(summary = "用户积分详情")
|
||||
@PostMapping("/detail")
|
||||
@TokenValid
|
||||
public Result pointsDetail(@RequestHeader String token) {
|
||||
String openid = new JwtUtil().parseOpenid(token);
|
||||
User user = userService.selByOpenid(openid);
|
||||
return Result.success(new JSONObject().fluentPut("points", user.getPoints()).fluentPut("historyPoints", user.getHistoryPoints()), "请求成功");
|
||||
}
|
||||
|
||||
@Data
|
||||
static class UPRParam {
|
||||
@NotNull(message = "year不能为空")
|
||||
@Schema(title = "年份")
|
||||
private Integer year;
|
||||
@NotNull(message = "month不能为空")
|
||||
@Schema(title = "月份")
|
||||
private Integer month;
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询用户积分记录
|
||||
*/
|
||||
@Operation(summary = "用户积分记录")
|
||||
@PostMapping("/list")
|
||||
@TokenValid
|
||||
public Result list(@Validated @RequestBody UPRParam param, @RequestHeader String token) {
|
||||
String openid = new JwtUtil().parseOpenid(token);
|
||||
User user = userService.selByOpenid(openid);
|
||||
QueryWrapper<UserPointsRecords> qw = new QueryWrapper<>();
|
||||
qw.eq("userId", user.getId());
|
||||
LocalDate now = LocalDate.of(param.getYear(), param.getMonth(),1);
|
||||
String format = now.format(DateTimeFormatter.ofPattern("yyyy-MM"));
|
||||
qw.eq("date_format(createDate, '%Y-%m')", format);
|
||||
qw.orderByDesc("createDate");
|
||||
return Result.success(userPointsRecordsService.list(qw), "请求成功");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -1,7 +0,0 @@
|
||||
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,16 @@
|
||||
package com.zh.project0512.mapper;
|
||||
|
||||
import com.zh.project0512.model.UserPointsRecords;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Mapper 接口
|
||||
* </p>
|
||||
*
|
||||
* @author zh
|
||||
* @since 2022-06-29
|
||||
*/
|
||||
public interface UserPointsRecordsMapper extends BaseMapper<UserPointsRecords> {
|
||||
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
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
|
||||
@Schema
|
||||
public class UserPointsRecordListDTO implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 当前页数
|
||||
*/
|
||||
@Schema(title = "当前页数")
|
||||
@NotNull(message = "当前页数不能为空")
|
||||
private int pageNum;
|
||||
/**
|
||||
* 每页记录数
|
||||
*/
|
||||
@Schema(title = "每页记录数")
|
||||
@NotNull(message = "每页记录数不能为空")
|
||||
private int pageSize;
|
||||
/**
|
||||
* 年
|
||||
*/
|
||||
@Schema(title = "年")
|
||||
private Integer years;
|
||||
/**
|
||||
* 月
|
||||
*/
|
||||
@Schema(title = "月")
|
||||
private Integer months;
|
||||
}
|
@ -1,24 +1,16 @@
|
||||
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;
|
||||
import com.zh.project0512.model.UserPointsRecords;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
|
||||
public interface IUserPointsRecordsService {
|
||||
/**
|
||||
* 查询用户积分详情
|
||||
* @param openid 小程序唯一标识
|
||||
* @return 用户积分 Vo
|
||||
*/
|
||||
UserPointsVo pointsDetail(String openid);
|
||||
|
||||
/**
|
||||
* 查询用户积分记录
|
||||
* @param userPointsRecordListDTO 用户积分记录 list DTO
|
||||
* @param openid openid
|
||||
* @return 用户积分记录 list Vo
|
||||
*/
|
||||
PageInfo<UserPointsRecordListVo> list(UserPointsRecordListDTO userPointsRecordListDTO, String openid);
|
||||
/**
|
||||
* <p>
|
||||
* 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author zh
|
||||
* @since 2022-06-29
|
||||
*/
|
||||
public interface IUserPointsRecordsService extends IService<UserPointsRecords> {
|
||||
|
||||
}
|
||||
|
@ -1,59 +0,0 @@
|
||||
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.User;
|
||||
import com.zh.project0512.model.UserPointsRecords;
|
||||
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.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, String openid) {
|
||||
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.getPageSize());
|
||||
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());
|
||||
}
|
||||
}
|
@ -0,0 +1,20 @@
|
||||
package com.zh.project0512.serviceImpl;
|
||||
|
||||
import com.zh.project0512.model.UserPointsRecords;
|
||||
import com.zh.project0512.mapper.UserPointsRecordsMapper;
|
||||
import com.zh.project0512.service.IUserPointsRecordsService;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author zh
|
||||
* @since 2022-06-29
|
||||
*/
|
||||
@Service
|
||||
public class UserPointsRecordsServiceImpl extends ServiceImpl<UserPointsRecordsMapper, UserPointsRecords> implements IUserPointsRecordsService {
|
||||
|
||||
}
|
Loading…
Reference in new issue