KKSU
2023-11-24 4c87c2d57258c31d582f2eaec3dfc10de2c7997e
匹配
2 files modified
41 ■■■■■ changed files
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallProductServiceImpl.java 39 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/ApiMallProductNftVo.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallProductServiceImpl.java
@@ -49,7 +49,32 @@
    @Override
    public List<ApiMallProductNftVo> productNFTList() {
        DateTime nowTime = DateUtil.parseTime(DateUtil.formatTime(DateUtil.date()));
        DataDictionaryCustom startTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                DataDictionaryEnum.YU_YUE_START_TIME.getType(),
                DataDictionaryEnum.YU_YUE_START_TIME.getCode()
        );
        DateTime startTime = DateUtil.parseTime(startTimeDic.getValue());
        DataDictionaryCustom endTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                DataDictionaryEnum.YU_YUE_END_TIME.getType(),
                DataDictionaryEnum.YU_YUE_END_TIME.getCode()
        );
        DateTime endTime = DateUtil.parseTime(endTimeDic.getValue());
        List<ApiMallProductNftVo> list = this.baseMapper.selectByState(ProductEnum.PRODUCT_NFT_OPEN.getValue());
        if(CollUtil.isNotEmpty(list)){
            for(ApiMallProductNftVo apiMallProductNftVo : list){
                if(nowTime.compareTo(startTime) < 0){
                    apiMallProductNftVo.setYuYueState(1);
                }
                if(nowTime.compareTo(startTime) >= 0 && nowTime.compareTo(endTime) <= 0){
                    apiMallProductNftVo.setYuYueState(2);
                }
                if(nowTime.compareTo(endTime) > 0){
                    apiMallProductNftVo.setYuYueState(3);
                }
            }
        }
        return list;
    }
@@ -64,6 +89,20 @@
         * 预约,验证交易密码、预约产品是否开启状态、该产品是否已经预约、token是否足够
         * 冻结对应的令牌数量、生成预约记录、生成流水记录
         */
        DateTime nowTime = DateUtil.parseTime(DateUtil.formatTime(DateUtil.date()));
        DataDictionaryCustom startTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                DataDictionaryEnum.YU_YUE_START_TIME.getType(),
                DataDictionaryEnum.YU_YUE_START_TIME.getCode()
        );
        DateTime startTime = DateUtil.parseTime(startTimeDic.getValue());
        DataDictionaryCustom endTimeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                DataDictionaryEnum.YU_YUE_END_TIME.getType(),
                DataDictionaryEnum.YU_YUE_END_TIME.getCode()
        );
        DateTime endTime = DateUtil.parseTime(endTimeDic.getValue());
        if(!(nowTime.compareTo(startTime) >= 0 && nowTime.compareTo(endTime) <= 0)){
            throw new FebsException("预约未开始");
        }
        if(!tradePassword.equals(mallMember.getTradePassword())){
            throw new FebsException("请输入正确的交易密码");
        }
src/main/java/cc/mrbird/febs/mall/vo/ApiMallProductNftVo.java
@@ -26,6 +26,8 @@
    private int cycle;//周期
    @ApiModelProperty(value = "产品状态 1:开启 0:关闭")
    private int state;//产品状态 1:开启 0:关闭
    @ApiModelProperty(value = "1:未开始 2:进行中3:已结束")
    private int yuYueState;//产品状态 1:开启 0:关闭
    @ApiModelProperty(value = "预约人数")
    private int memberCnt;//预约人数
    @ApiModelProperty(value = "已预约人数")