1.Pk添加服务层
This commit is contained in:
@@ -15,7 +15,9 @@ import vvpkassistant.pk.mapper.PkRecordDetailDao;
|
||||
import vvpkassistant.pk.model.PkInfoModel;
|
||||
import vvpkassistant.pk.model.PkRecord;
|
||||
import vvpkassistant.pk.model.PkRecordDetail;
|
||||
import vvpkassistant.pk.service.PKService;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -24,6 +26,9 @@ import java.util.Map;
|
||||
@RequestMapping("pk")
|
||||
public class PkController {
|
||||
|
||||
@Resource
|
||||
private PKService pkService;
|
||||
|
||||
@Autowired
|
||||
private PkInfoDao pkDao;
|
||||
|
||||
@@ -41,33 +46,10 @@ public class PkController {
|
||||
|
||||
// 创建pk数据
|
||||
@PostMapping("addPkData")
|
||||
public ResponseData<Object> addPkData(@RequestBody PkInfoModel pkModel) {
|
||||
public ResponseData<PkInfoModel> addPkData(@RequestBody PkInfoModel pkModel) {
|
||||
|
||||
// 初始可邀请状态为0
|
||||
pkModel.setInviteStatus(0);
|
||||
pkModel.setPinExpireTime(0);
|
||||
return ResponseData.success(pkService.addPkaddData(pkModel));
|
||||
|
||||
// 获取主播id
|
||||
String anchorId = pkModel.getAnchorId();
|
||||
// 查询当天是否存在该主播发布的pk信息。
|
||||
Integer pkTime = pkModel.getPkTime();
|
||||
|
||||
// 根据设置的pk时间。查询出当天的开始时间和结束时间
|
||||
Map<String, Long> dayStartAndEndTimestamp = VVTools.getDayStartAndEndTimestamp(pkTime);
|
||||
|
||||
Long start = dayStartAndEndTimestamp.get("start");
|
||||
Long end = dayStartAndEndTimestamp.get("end");
|
||||
|
||||
// 查询主播在当天是否有发布过pk信息
|
||||
List<PkInfoModel> pkInfoModels = pkDao.selectDataWithAnchorIdAndTime(anchorId, start, end);
|
||||
|
||||
// 判断该主播在当日是否已发布过pk信息
|
||||
if (pkInfoModels.size() > 0) {
|
||||
return ResponseData.error(ResponseInfo.ERROR.getCode(),"该主播当日已有pk信息");
|
||||
}
|
||||
|
||||
int insert = pkDao.insert(pkModel);
|
||||
return insert == 1 ? ResponseData.success(pkModel) : ResponseData.error(ResponseInfo.ERROR.getCode(),null);
|
||||
}
|
||||
|
||||
// 更新pk信息
|
||||
|
||||
12
src/main/java/vvpkassistant/pk/service/PKService.java
Normal file
12
src/main/java/vvpkassistant/pk/service/PKService.java
Normal file
@@ -0,0 +1,12 @@
|
||||
package vvpkassistant.pk.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import vvpkassistant.pk.model.PkInfoModel;
|
||||
|
||||
/*
|
||||
* @author: ziin
|
||||
* @date: 2025/8/4 13:53
|
||||
*/
|
||||
public interface PKService extends IService<PkInfoModel> {
|
||||
PkInfoModel addPkaddData(PkInfoModel pkModel);
|
||||
}
|
||||
57
src/main/java/vvpkassistant/pk/service/PKServiceImpl.java
Normal file
57
src/main/java/vvpkassistant/pk/service/PKServiceImpl.java
Normal file
@@ -0,0 +1,57 @@
|
||||
package vvpkassistant.pk.service;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.stereotype.Service;
|
||||
import vvpkassistant.Data.ResponseData;
|
||||
import vvpkassistant.Data.ResponseInfo;
|
||||
import vvpkassistant.Tools.VVTools;
|
||||
import vvpkassistant.common.ErrorCode;
|
||||
import vvpkassistant.exception.BusinessException;
|
||||
import vvpkassistant.pk.mapper.PkInfoDao;
|
||||
import vvpkassistant.pk.model.PkInfoModel;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/*
|
||||
* @author: ziin
|
||||
* @date: 2025/8/4 13:54
|
||||
*/
|
||||
@Service
|
||||
public class PKServiceImpl extends ServiceImpl<PkInfoDao, PkInfoModel> implements PKService {
|
||||
|
||||
@Resource
|
||||
private PkInfoDao pkInfoDao;
|
||||
|
||||
@Override
|
||||
public PkInfoModel addPkaddData(PkInfoModel pkModel) {
|
||||
// 初始可邀请状态为0
|
||||
pkModel.setInviteStatus(0);
|
||||
pkModel.setPinExpireTime(0);
|
||||
|
||||
// 获取主播id
|
||||
String anchorId = pkModel.getAnchorId();
|
||||
// 查询当天是否存在该主播发布的pk信息。
|
||||
Integer pkTime = pkModel.getPkTime();
|
||||
|
||||
// 根据设置的pk时间。查询出当天的开始时间和结束时间
|
||||
Map<String, Long> dayStartAndEndTimestamp = VVTools.getDayStartAndEndTimestamp(pkTime);
|
||||
|
||||
Long start = dayStartAndEndTimestamp.get("start");
|
||||
Long end = dayStartAndEndTimestamp.get("end");
|
||||
|
||||
// 查询主播在当天是否有发布过pk信息
|
||||
List<PkInfoModel> pkInfoModels = pkInfoDao.selectDataWithAnchorIdAndTime(anchorId, start, end);
|
||||
|
||||
// 判断该主播在当日是否已发布过pk信息
|
||||
if (!pkInfoModels.isEmpty()) {
|
||||
throw new BusinessException(ErrorCode.SYSTEM_ERROR,"该主播当日已有pk信息");
|
||||
}
|
||||
|
||||
if (pkInfoDao.insert(pkModel) == 1) {
|
||||
return pkModel;
|
||||
}else
|
||||
throw new BusinessException(ErrorCode.SYSTEM_ERROR);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user