[CMLR-010] 补齐 User/Pk 侧 DTO 模型

This commit is contained in:
2026-02-08 20:12:46 +08:00
parent a7479b280d
commit a319c96972
19 changed files with 202 additions and 57 deletions

View File

@@ -0,0 +1,8 @@
package vvpkassistant.User.model.DTO;
import lombok.Data;
@Data
public class UserCancelPinDTO {
private Integer articleId;
}

View File

@@ -0,0 +1,11 @@
package vvpkassistant.User.model.DTO;
import lombok.Data;
@Data
public class UserHandlePkInfoDTO {
private Integer type;
private Integer userId;
private Integer page;
private Integer size;
}

View File

@@ -0,0 +1,9 @@
package vvpkassistant.User.model.DTO;
import lombok.Data;
@Data
public class UserInputUserInfoDTO {
private String code;
private Integer id;
}

View File

@@ -0,0 +1,9 @@
package vvpkassistant.User.model.DTO;
import lombok.Data;
@Data
public class UserLoginWithPhoneNumberDTO {
private String code;
private Integer inviterId;
}

View File

@@ -0,0 +1,9 @@
package vvpkassistant.User.model.DTO;
import lombok.Data;
@Data
public class UserPinToTopDTO {
private Integer articleId;
private Integer pinExpireTime;
}

View File

@@ -0,0 +1,8 @@
package vvpkassistant.User.model.DTO;
import lombok.Data;
@Data
public class UserPkRecordDetailDTO {
private Integer id;
}

View File

@@ -0,0 +1,10 @@
package vvpkassistant.User.model.DTO;
import lombok.Data;
@Data
public class UserPointsDetailDTO {
private Integer userId;
private Integer page;
private Integer size;
}

View File

@@ -0,0 +1,10 @@
package vvpkassistant.User.model.DTO;
import lombok.Data;
@Data
public class UserQueryMyAllPkDataDTO {
private Integer userId;
private Integer page;
private Integer size;
}

View File

@@ -9,6 +9,12 @@ import vvpkassistant.User.mapper.UserDao;
import vvpkassistant.pk.mapper.PkInfoDao;
import vvpkassistant.pk.mapper.PkRecordDao;
import vvpkassistant.pk.mapper.PkRecordDetailDao;
import vvpkassistant.pk.model.DTO.PkDeleteByIdDTO;
import vvpkassistant.pk.model.DTO.PkFetchDetailDTO;
import vvpkassistant.pk.model.DTO.PkInfoDetailDTO;
import vvpkassistant.pk.model.DTO.PkListRequestDTO;
import vvpkassistant.pk.model.DTO.PkListUninvitedDTO;
import vvpkassistant.pk.model.DTO.PkQueryMyCanUseDTO;
import vvpkassistant.pk.model.PkInfoModel;
import vvpkassistant.pk.model.PkRecord;
import vvpkassistant.pk.model.PkRecordDetail;
@@ -61,29 +67,29 @@ public class PkController {
// pk列表
@PostMapping("pkList")
public ResponseData<Object> pkList(@RequestBody Map<String,Object> map) {
return ResponseData.success(pkService.getPKList(map));
public ResponseData<Object> pkList(@RequestBody PkListRequestDTO request) {
return ResponseData.success(pkService.getPKList(request));
}
// 查询用户发布的大于当前时间的pk数据
@PostMapping("queryMyCanUsePkData")
public ResponseData<Object> queryMyCanUsePkData(@RequestBody Map<String,Object> map) {
public ResponseData<Object> queryMyCanUsePkData(@RequestBody PkQueryMyCanUseDTO request) {
Long time = VVTools.currentTimeStamp();
Integer userId = (Integer) map.get("userId");
Integer userId = request.getUserId();
List<PkInfoModel> pkModels = pkDao.queryCanUseData(userId, time);
return ResponseData.success(pkModels);
}
//pk文章详情
@PostMapping("pkInfoDetail")
public ResponseData<Object> pkInfoDetail(@RequestBody Map<String, Integer> map) {
return ResponseData.success(pkService.pkInfoDetail(map));
public ResponseData<Object> pkInfoDetail(@RequestBody PkInfoDetailDTO request) {
return ResponseData.success(pkService.pkInfoDetail(request));
}
//删除自己的pk数据 (单个)
@PostMapping("deletePkDataWithId")
public ResponseData<Object> deletePkDataWithId(@RequestBody Map<String,Integer> map) {
Integer id = map.get("id");
public ResponseData<Object> deletePkDataWithId(@RequestBody PkDeleteByIdDTO request) {
Integer id = request.getId();
PkInfoModel pkInfoModel = pkDao.selectById(id);
if (pkInfoModel.getPinExpireTime() > VVTools.currentTimeStamp()) {
@@ -110,16 +116,16 @@ public class PkController {
// 查询pk中每个场次的详细数据
@PostMapping("fetchDetailPkDataWithId")
public ResponseData<Object> fetchDetailPkDataWithId(@RequestBody Map<String,Integer> map) {
Integer id = map.get("id");
public ResponseData<Object> fetchDetailPkDataWithId(@RequestBody PkFetchDetailDTO request) {
Integer id = request.getId();
List<PkRecordDetail> pkRecordDetails = recordDao.fetchDetailPkDataWithId(id);
return ResponseData.success(pkRecordDetails);
}
// 根据用户id查询该用户已发布的未被邀请的主播列表
@PostMapping("listUninvitedPublishedAnchorsByUserId")
public ResponseData<Object> listUninvitedPublishedAnchorsByUserId(@RequestBody Map<String,Integer> map) {
Integer userId = map.get("userId");
public ResponseData<Object> listUninvitedPublishedAnchorsByUserId(@RequestBody PkListUninvitedDTO request) {
Integer userId = request.getUserId();
List<PkInfoModel> pkInfoModels = pkDao.listUninvitedPublishedAnchorsByUserId(userId);
for (PkInfoModel pkInfoModel : pkInfoModels) {
pkInfoModel.setDisPlayId(VVTools.replaceChar(pkInfoModel.getAnchorId(),'*'));

View File

@@ -10,7 +10,15 @@ import vvpkassistant.Data.ResponseInfo;
import vvpkassistant.Data.WxChatParam;
import vvpkassistant.User.mapper.UserDao;
import vvpkassistant.User.model.DTO.ScanInfoDTO;
import vvpkassistant.User.model.DTO.UserCancelPinDTO;
import vvpkassistant.User.model.DTO.UserHandlePkInfoDTO;
import vvpkassistant.User.model.DTO.UserInputUserInfoDTO;
import vvpkassistant.User.model.DTO.UserLoginWithPhoneNumberDTO;
import vvpkassistant.User.model.DTO.UserModelDTO;
import vvpkassistant.User.model.DTO.UserPinToTopDTO;
import vvpkassistant.User.model.DTO.UserPkRecordDetailDTO;
import vvpkassistant.User.model.DTO.UserPointsDetailDTO;
import vvpkassistant.User.model.DTO.UserQueryMyAllPkDataDTO;
import vvpkassistant.User.model.UserModel;
import vvpkassistant.User.model.UserModelVO;
import vvpkassistant.User.service.UserService;
@@ -62,18 +70,18 @@ public class UserController {
// 配置用户信息
@PostMapping("inputUserInfo")
public ResponseData<Object> inputUserInfo(@RequestBody Map<String,Object> param) {
public ResponseData<Object> inputUserInfo(@RequestBody UserInputUserInfoDTO param) {
if (!param.containsKey("code")) {
if (param == null || param.getCode() == null) {
throw new BusinessException(ErrorCode.PARAMS_ERROR,"code不能为空");
}
if (!param.containsKey("id")) {
if (param.getId() == null) {
throw new BusinessException(ErrorCode.PARAMS_ERROR,"id不能为空");
}
//获取前端传递过来的code
String code = param.get("code").toString();
String code = param.getCode();
// 调用微信获取openid接口
Map<String, Object> wx_result = vvRequester.loginApp(code);
@@ -105,11 +113,10 @@ public class UserController {
//查询用户
String openId = wx_result.get("openid").toString();
String sessionKey = wx_result.get("session_key").toString();
// 创建一个临时model
UserModel tempModel = new UserModel();
tempModel.setId(Integer.valueOf(param.get("id").toString()));
tempModel.setId(param.getId());
tempModel.setUserChatId(openId);
int i = userDao.updateById(tempModel);
if (i == 1) {
@@ -133,13 +140,13 @@ public class UserController {
// 手机号登录 / 注册
@PostMapping("loginWithPhoneNumber")
public ResponseData<Object> loginWithPhoneNumber(@RequestBody Map<String,Object> param) {
public ResponseData<Object> loginWithPhoneNumber(@RequestBody UserLoginWithPhoneNumberDTO param) {
if (!param.containsKey("code")) {
if (param == null || param.getCode() == null) {
throw new BusinessException(ErrorCode.PARAMS_ERROR,"code不能为空");
}
String code = param.get("code").toString();
String code = param.getCode();
String phoneNumber = vvRequester.queryPhoneNumber(code);
if (phoneNumber.isEmpty()) {
throw new BusinessException(ErrorCode.PARAMS_ERROR,"手机号码无法查询");
@@ -165,8 +172,8 @@ public class UserController {
userDao.insert(tempModel);
// 判断用户是否为邀请用户
if (param.containsKey("inviterId")) {
int inviterId = (int) param.get("inviterId");
if (param.getInviterId() != null) {
int inviterId = param.getInviterId();
// 查询用户增加积分
UserModel oldUser = userDao.selectById(inviterId);
oldUser.setPoints(oldUser.getPoints() + 10);
@@ -211,10 +218,10 @@ public class UserController {
// 查询用户所有pk数据
@PostMapping("queryMyAllPkData")
public ResponseData<Object> queryMyAllPkData(@RequestBody Map<String,Integer> map) {
Integer userId = map.get("userId");
Integer page = map.get("page");
Integer size = map.get("size");
public ResponseData<Object> queryMyAllPkData(@RequestBody UserQueryMyAllPkDataDTO request) {
Integer userId = request.getUserId();
Integer page = request.getPage();
Integer size = request.getSize();
List<PkInfoModel> pkInfoModels = pkInfoDao.queryAllPkData(userId, page * size, size);
long currentTimeStamp = VVTools.currentTimeStamp();
// 查找置顶的数据
@@ -226,11 +233,11 @@ public class UserController {
// 查询我的pk记录 列表
@PostMapping("handlePkInfo")
public ResponseData<Object> handlePkInfo(@RequestBody Map<String,Integer> map) {
Integer type = map.get("type");
Integer id = map.get("userId");
Integer page = map.get("page");
Integer size = map.get("size");
public ResponseData<Object> handlePkInfo(@RequestBody UserHandlePkInfoDTO request) {
Integer type = request.getType();
Integer id = request.getUserId();
Integer page = request.getPage();
Integer size = request.getSize();
// 我发起的pk数据
if (type == 1) {
@@ -245,8 +252,8 @@ public class UserController {
// 查詢单条pk记录详情
@PostMapping("pkRecordDetail")
public ResponseData<Object> pkRecordDetail(@RequestBody Map<String,Integer> map) {
Integer id = map.get("id");
public ResponseData<Object> pkRecordDetail(@RequestBody UserPkRecordDetailDTO request) {
Integer id = request.getId();
List<PkRecordDetail> pkRecordDetails = detailDao.queryDetail(id);
return ResponseData.success(pkRecordDetails);
}
@@ -289,13 +296,13 @@ public class UserController {
// 置顶文章
@PostMapping("pinToTop")
public ResponseData<Object> pinToTop(@RequestBody Map<String,Integer> map) {
public ResponseData<Object> pinToTop(@RequestBody UserPinToTopDTO request) {
// 文章id
Integer articleId = map.get("articleId");
Integer articleId = request.getArticleId();
PkInfoModel pkInfoModel = pkInfoDao.selectById(articleId);
Integer userId = pkInfoModel.getSenderId();
// 到期时间戳
Integer pinExpireTime = map.get("pinExpireTime");
Integer pinExpireTime = request.getPinExpireTime();
long currentTimeStamp = VVTools.currentTimeStamp();
long hour = VVTools.calculateHoursRound(pinExpireTime, currentTimeStamp);
@@ -335,8 +342,8 @@ public class UserController {
// 取消置顶
@PostMapping("cancelPin")
public ResponseData<Object> cancelPin(@RequestBody Map<String,Integer> map) {
Integer articleId = map.get("articleId");
public ResponseData<Object> cancelPin(@RequestBody UserCancelPinDTO request) {
Integer articleId = request.getArticleId();
PkInfoModel pkInfoModel = pkInfoDao.selectById(articleId);
Integer pinExpireTime = pkInfoModel.getPinExpireTime();
long hour = VVTools.calculateHoursFloor(pinExpireTime, VVTools.currentTimeStamp());
@@ -371,10 +378,10 @@ public class UserController {
// 获取积分明细
@PostMapping("pointsDetail")
public ResponseData<Object> pointsDetail(@RequestBody Map<String,Integer> map) {
Integer userId = map.get("userId");
Integer page = map.get("page");
Integer size = map.get("size");
public ResponseData<Object> pointsDetail(@RequestBody UserPointsDetailDTO request) {
Integer userId = request.getUserId();
Integer page = request.getPage();
Integer size = request.getSize();
List<CoinRecords> coinRecords = coinRecordsDao.fetchMyPointsData(userId, page * size, size);
return ResponseData.success(coinRecords);
}

View File

@@ -0,0 +1,8 @@
package vvpkassistant.pk.model.DTO;
import lombok.Data;
@Data
public class PkDeleteByIdDTO {
private Integer id;
}

View File

@@ -0,0 +1,8 @@
package vvpkassistant.pk.model.DTO;
import lombok.Data;
@Data
public class PkFetchDetailDTO {
private Integer id;
}

View File

@@ -0,0 +1,10 @@
package vvpkassistant.pk.model.DTO;
import lombok.Data;
@Data
public class PkInfoDetailDTO {
private Integer id;
private Integer userId;
private Integer from;
}

View File

@@ -0,0 +1,13 @@
package vvpkassistant.pk.model.DTO;
import lombok.Data;
import java.util.Map;
@Data
public class PkListRequestDTO {
private Integer page;
private Integer size;
private Map<String, Object> condition;
private Integer userId;
}

View File

@@ -0,0 +1,8 @@
package vvpkassistant.pk.model.DTO;
import lombok.Data;
@Data
public class PkListUninvitedDTO {
private Integer userId;
}

View File

@@ -0,0 +1,8 @@
package vvpkassistant.pk.model.DTO;
import lombok.Data;
@Data
public class PkQueryMyCanUseDTO {
private Integer userId;
}

View File

@@ -1,11 +1,12 @@
package vvpkassistant.pk.service;
import com.baomidou.mybatisplus.extension.service.IService;
import vvpkassistant.pk.model.DTO.PkInfoDetailDTO;
import vvpkassistant.pk.model.DTO.PkListRequestDTO;
import vvpkassistant.pk.model.PkInfoModel;
import vvpkassistant.pk.model.PkRecord;
import java.util.List;
import java.util.Map;
/*
* @author: ziin
@@ -18,7 +19,7 @@ public interface PKService extends IService<PkInfoModel> {
PkRecord createPKRecord(PkRecord record);
List<PkInfoModel> getPKList(Map<String, Object> map);
List<PkInfoModel> getPKList(PkListRequestDTO request);
PkInfoModel pkInfoDetail(Map<String, Integer> map);
PkInfoModel pkInfoDetail(PkInfoDetailDTO request);
}

View File

@@ -14,6 +14,8 @@ import vvpkassistant.config.FunctionConfigHolder;
import vvpkassistant.exception.BusinessException;
import vvpkassistant.pk.mapper.PkInfoDao;
import vvpkassistant.pk.mapper.PkRecordDao;
import vvpkassistant.pk.model.DTO.PkInfoDetailDTO;
import vvpkassistant.pk.model.DTO.PkListRequestDTO;
import vvpkassistant.pk.model.PkInfoModel;
import vvpkassistant.pk.model.PkRecord;
@@ -147,11 +149,11 @@ public class PKServiceImpl extends ServiceImpl<PkInfoDao, PkInfoModel> implement
}
@Override
public List<PkInfoModel> getPKList(Map<String, Object> map) {
public List<PkInfoModel> getPKList(PkListRequestDTO request) {
Integer page = (Integer) map.get("page");
Integer size = (Integer) map.get("size");
Map<String,Object> condition = (Map<String, Object>) map.get("condition");
Integer page = request.getPage();
Integer size = request.getSize();
Map<String,Object> condition = request.getCondition();
Map<String, Long> todayTimeStampMap = VVTools.startAndEndTimeStampForToday();
Long start = VVTools.currentTimeStamp();
@@ -162,9 +164,9 @@ public class PKServiceImpl extends ServiceImpl<PkInfoDao, PkInfoModel> implement
long currentTimeStamp = VVTools.currentTimeStamp();
//如果传了用户id
if (map.containsKey("userId")) {
if (request.getUserId() != null) {
Long begin = VVTools.currentTimeStamp();
Integer userId = Integer.valueOf(map.get("userId").toString());
Integer userId = request.getUserId();
// 查询出当前用户大于等于今天的已接受邀请的pk数据
List<PkRecord> pkRecords = pkRecordDao.fetchDataFromTodayWithUserId(userId, begin);
// 遍历查询出的数据。如果文章的id相同。就显示完整的主播名称
@@ -202,10 +204,10 @@ public class PKServiceImpl extends ServiceImpl<PkInfoDao, PkInfoModel> implement
}
@Override
public PkInfoModel pkInfoDetail(Map<String, Integer> map) {
Integer id = map.get("id");
Integer userId = map.get("userId");
Integer from = map.get("from"); // 1 首页 2 聊天
public PkInfoModel pkInfoDetail(PkInfoDetailDTO request) {
Integer id = request.getId();
Integer userId = request.getUserId();
Integer from = request.getFrom(); // 1 首页 2 聊天
PkInfoModel pkInfoModel = pkInfoDao.selectById(id);
if (pkInfoModel == null) {