From eb80b83a3d4a0b59325e90405dc6c687c2904d3a Mon Sep 17 00:00:00 2001 From: puhanshu <a9236326> Date: 星期三, 05 一月 2022 14:45:16 +0800 Subject: [PATCH] 商家后台相关代码提交 --- springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsInformationServiceImpl.java | 156 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 153 insertions(+), 3 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsInformationServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsInformationServiceImpl.java index c45fb66..7718ea4 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsInformationServiceImpl.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/McsInformationServiceImpl.java @@ -1,14 +1,30 @@ package com.panzhihua.service_community.service.impl; +import static java.util.Objects.isNull; + +import javax.annotation.Resource; + +import com.panzhihua.common.model.dtos.community.microCommercialStreet.McsInfoDTO; +import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; +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.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.panzhihua.common.model.dtos.community.microCommercialStreet.PageMcsInformationDTO; import com.panzhihua.common.model.dtos.community.microCommercialStreet.SetShelfForInfoDTO; import com.panzhihua.common.model.vos.R; +import com.panzhihua.common.model.vos.community.microCommercialStreet.McsInformationVO; +import com.panzhihua.common.model.vos.community.microCommercialStreet.TopStatisticsVO; +import com.panzhihua.service_community.dao.McsGameDAO; import com.panzhihua.service_community.dao.McsInformationDAO; +import com.panzhihua.service_community.dao.McsMerchantDAO; import com.panzhihua.service_community.entity.McsInformation; +import com.panzhihua.service_community.entity.McsMerchant; import com.panzhihua.service_community.service.McsInformationService; + +import java.util.Date; /** * (McsInformation)表服务实现类 @@ -20,6 +36,11 @@ public class McsInformationServiceImpl extends ServiceImpl<McsInformationDAO, McsInformation> implements McsInformationService { + @Resource + private McsGameDAO mcsGameDAO; + @Resource + private McsMerchantDAO mcsMerchantDAO; + /** * 分页查询戳戳资讯 * @param pageMcsInformationDTO @@ -27,7 +48,11 @@ */ @Override public R pageMcsInfo(PageMcsInformationDTO pageMcsInformationDTO) { - return null; + Page page = new Page<>(); + page.setSize(pageMcsInformationDTO.getPageSize()); + page.setCurrent(pageMcsInformationDTO.getPageNum()); + IPage<McsInformationVO> mcsInfos = this.baseMapper.pageMcsInfo(page, pageMcsInformationDTO); + return R.ok(mcsInfos); } /** @@ -37,7 +62,31 @@ */ @Override public R setShelfForMcsInfo(SetShelfForInfoDTO setShelfForInfoDTO) { - return null; + McsInformation mcsInformation = this.baseMapper.selectById(setShelfForInfoDTO.getInfoId()); + if (isNull(mcsInformation)) { + return R.fail("修改数据不存在"); + } + Integer type = setShelfForInfoDTO.getType(); + if (type.equals(1)) { + //上架 + McsMerchant mcsMerchant = mcsMerchantDAO.selectById(mcsInformation.getMerchantId()); + Integer publishLimit = mcsMerchant.getPublishLimit(); + Integer publishCount = mcsGameDAO.selectPublishCount(mcsInformation.getMerchantId()); + if (publishCount >= publishLimit) { + return R.fail("空闲戳戳点不足"); + } + mcsInformation.setStatus(2); + } else if (type.equals(2)) { + //下架 + mcsInformation.setStatus(3); + } else { + return R.fail("未知错误"); + } + int num = this.baseMapper.updateById(mcsInformation); + if (num > 0) { + return R.ok(); + } + return R.fail("修改失败,请重新尝试"); } /** @@ -48,6 +97,107 @@ */ @Override public R deleteMcsInfo(Long infoId, Long userId) { - return null; + McsInformation mcsInformation = this.baseMapper.selectById(infoId); + if (isNull(mcsInformation)) { + return R.fail("修改数据不存在"); + } + mcsInformation.setIsDel(true); + mcsInformation.setStatus(McsInformation.Status.yxj); + mcsInformation.setUpdatedBy(userId); + int num = this.baseMapper.updateById(mcsInformation); + if (num > 0) { + return R.ok(); + } + return R.fail("删除失败,请重新尝试"); + } + + /** + * 戳戳资讯顶部统计数据 + * @param userId + * @return + */ + @Override + public R getTopStatistics(Long userId) { + McsMerchant mcsMerchant = mcsMerchantDAO.selectOne(new QueryWrapper<McsMerchant>().lambda().eq(McsMerchant::getUserId, userId)); + if (isNull(mcsMerchant)) { + return R.fail("未查询到商家信息"); + } + TopStatisticsVO topStatisticsVO = new TopStatisticsVO(); + topStatisticsVO.setExpireAt(mcsMerchant.getExpireAt()); + + Integer publishLimit = mcsMerchant.getPublishLimit(); + Integer publishCount = mcsGameDAO.selectPublishCount(mcsMerchant.getId()); + Integer idleTotal = publishLimit - publishCount; + topStatisticsVO.setIdleTotal(idleTotal > 0 ? idleTotal : 0); + return R.ok(topStatisticsVO); + } + + /** + * 新增戳戳资讯 + * @param mcsInfoDTO + * @return + */ + @Override + public R addMcsInfo(McsInfoDTO mcsInfoDTO) { + Long userId = mcsInfoDTO.getCreatedBy(); + McsMerchant mcsMerchant = mcsMerchantDAO.selectOne(new QueryWrapper<McsMerchant>().lambda().eq(McsMerchant::getUserId, userId)); + if (isNull(mcsMerchant)) { + return R.fail("未查询到商家信息"); + } + McsInformation mcsInformation = new McsInformation(); + BeanUtils.copyProperties(mcsInfoDTO, mcsInformation); + mcsInformation.setMerchantId(mcsMerchant.getId()); + mcsInformation.setStatus(McsInformation.Status.wfb); + int num = this.baseMapper.insert(mcsInformation); + if (num > 0) { + return R.ok(); + } + return R.fail("新增失败,请重新尝试"); + } + + /** + * 编辑戳戳资讯 + * @param mcsInfoDTO + * @return + */ + @Override + public R putMcsInfo(McsInfoDTO mcsInfoDTO) { + McsInformation mcsInformation = this.baseMapper.selectById(mcsInfoDTO.getId()); + if (isNull(mcsInformation)) { + return R.fail("资源不存在"); + } + BeanUtils.copyProperties(mcsInfoDTO, mcsInformation); + int num = this.baseMapper.updateById(mcsInformation); + if (num > 0) { + return R.ok(); + } + return R.fail("编辑失败,请重新尝试"); + } + + /** + * 发布戳戳资讯 + * @param infoId + * @param userId + * @return + */ + @Override + public R publishMcsInfo(Long infoId, Long userId) { + McsInformation mcsInformation = this.baseMapper.selectById(infoId); + if (isNull(mcsInformation)) { + return R.fail("资源不存在"); + } + McsMerchant mcsMerchant = mcsMerchantDAO.selectById(mcsInformation.getMerchantId()); + Integer publishLimit = mcsMerchant.getPublishLimit(); + Integer publishCount = mcsGameDAO.selectPublishCount(mcsInformation.getMerchantId()); + if (publishCount >= publishLimit) { + return R.fail("空闲戳戳点不足"); + } + mcsInformation.setStatus(McsInformation.Status.yfb); + mcsInformation.setPublishAt(new Date()); + int num = this.baseMapper.updateById(mcsInformation); + if (num > 0) { + return R.ok(); + } + return R.fail("发布失败,请重新尝试"); } } -- Gitblit v1.7.1