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.PkInfoModel;
|
||||||
import vvpkassistant.pk.model.PkRecord;
|
import vvpkassistant.pk.model.PkRecord;
|
||||||
import vvpkassistant.pk.model.PkRecordDetail;
|
import vvpkassistant.pk.model.PkRecordDetail;
|
||||||
|
import vvpkassistant.pk.service.PKService;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
@@ -24,6 +26,9 @@ import java.util.Map;
|
|||||||
@RequestMapping("pk")
|
@RequestMapping("pk")
|
||||||
public class PkController {
|
public class PkController {
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private PKService pkService;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PkInfoDao pkDao;
|
private PkInfoDao pkDao;
|
||||||
|
|
||||||
@@ -41,33 +46,10 @@ public class PkController {
|
|||||||
|
|
||||||
// 创建pk数据
|
// 创建pk数据
|
||||||
@PostMapping("addPkData")
|
@PostMapping("addPkData")
|
||||||
public ResponseData<Object> addPkData(@RequestBody PkInfoModel pkModel) {
|
public ResponseData<PkInfoModel> addPkData(@RequestBody PkInfoModel pkModel) {
|
||||||
|
|
||||||
// 初始可邀请状态为0
|
return ResponseData.success(pkService.addPkaddData(pkModel));
|
||||||
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 = 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信息
|
// 更新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