张天森
2022-10-12 3c884ccd7b51edf3b36840bf99de5edaa41a38a7
springcloud_k8s_panzhihuazhihuishequ/service_community/src/main/java/com/panzhihua/service_community/service/impl/ComBatteryCommodityOrderCollageTeamServiceImpl.java
@@ -1,6 +1,7 @@
package com.panzhihua.service_community.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.panzhihua.common.constants.PayCpmstant;
import com.panzhihua.common.model.vos.common.ComBatteryCommodityOrderCollageTeamPeopleVo;
import com.panzhihua.common.model.vos.common.ComBatteryCommodityOrderCollageTeamVo;
@@ -81,7 +82,24 @@
     */
    @Override
    public R queryByPage(PageComBatteryCommodityOrderCollageTeamDto comBatteryCommodityOrderCollageTeam) {
        return R.ok(this.baseMapper.queryAllByLimit(comBatteryCommodityOrderCollageTeam, new Page(comBatteryCommodityOrderCollageTeam.getPageNum(), comBatteryCommodityOrderCollageTeam.getPageSize())));
        IPage<ComBatteryCommodityOrderCollageTeamVo> orderCollageTeamVoIPage = this.baseMapper.queryAllByLimit(comBatteryCommodityOrderCollageTeam
                , new Page(comBatteryCommodityOrderCollageTeam.getPageNum(), comBatteryCommodityOrderCollageTeam.getPageSize()));
        //判断该用户是否参与了以下拼团
        if(comBatteryCommodityOrderCollageTeam.getUserId() != null && comBatteryCommodityOrderCollageTeam.getUserId() != 0L){
            Long userId = comBatteryCommodityOrderCollageTeam.getUserId();
            orderCollageTeamVoIPage.getRecords().forEach(orderCollageTeam -> {
                Map<String,Object> resultMap = this.baseMapper.getUserCollageDetail(orderCollageTeam.getId(),userId);
                if(resultMap != null){
                    if(Integer.parseInt(resultMap.get("ktCount").toString()) > 0){
                        orderCollageTeam.setIsPartake(2);
                    }
                    if(Integer.parseInt(resultMap.get("ptCount").toString()) > 0){
                        orderCollageTeam.setIsPartake(2);
                    }
                }
            });
        }
        return R.ok(orderCollageTeamVoIPage);
    }
    /**
@@ -148,11 +166,24 @@
     * @date 2022-03-29 16:06:58
     */
    @Override
    public R detailById(Long id) {
    public R detailById(Long id,Long userId) {
        ComBatteryCommodityOrderCollageTeamVo orderCollageTeamVo = this.baseMapper.queryById(id);
        if(orderCollageTeamVo != null){
            List<ComBatteryCommodityOrderCollageTeamPeopleVo> collageTeamPeopleList = orderCollageTeamPeopleMapper.queryAllByTeamId(id);
            orderCollageTeamVo.setOrderCollageTeamPeopleList(collageTeamPeopleList);
            //判断该用户是否参与了以下拼团
            if(userId != null && userId != 0L){
                Map<String,Object> resultMap = this.baseMapper.getUserCollageDetail(orderCollageTeamVo.getId(),userId);
                if(resultMap != null){
                    if(Integer.parseInt(resultMap.get("ktCount").toString()) > 0){
                        orderCollageTeamVo.setIsPartake(2);
                    }
                    if(Integer.parseInt(resultMap.get("ptCount").toString()) > 0){
                        orderCollageTeamVo.setIsPartake(2);
                    }
                }
            }
        }
        return R.ok(orderCollageTeamVo);
    }
@@ -189,9 +220,6 @@
                || commodityActivity.getStatus().equals(ComBatteryCommodityActivity.Status.YJS)){
            return R.fail("该活动已结束");
        }
        if(commodityActivity.getCommodityNum() <= commodityActivity.getCommoditySaleNum()){
            return R.fail("活动商品已售空");
        }
        if(orderDto.getType().equals(StartFightOrderDto.Type.PT)){
            //判断该团队人数是否已满
            Integer count = orderCollageTeamPeopleMapper.selectCount(new QueryWrapper<ComBatteryCommodityOrderCollageTeamPeople>().lambda()
@@ -199,10 +227,20 @@
            if(count >= commodityActivity.getCollagePeopleNum()){
                return R.fail("拼团人数已满");
            }
            //判断该团是否已参与
            Integer userCount = orderCollageTeamPeopleMapper.selectCount(new QueryWrapper<ComBatteryCommodityOrderCollageTeamPeople>().lambda()
                    .eq(ComBatteryCommodityOrderCollageTeamPeople::getTeamId,orderDto.getTeamId())
                    .eq(ComBatteryCommodityOrderCollageTeamPeople::getUserId,orderDto.getUserId()));
            if(userCount >= commodityActivity.getCollagePeopleNum()){
                return R.fail("您已参与该拼团,不可重复参与");
            }
            //查询拼团团队
            ComBatteryCommodityOrderCollageTeam orderCollageTeam = orderCollageTeamMapper.selectById(orderDto.getTeamId());
            if(orderCollageTeam == null){
                return R.fail("该拼团不存在");
            }
            if(orderDto.getUserId().equals(orderCollageTeam.getUserId())){
                return R.fail("您不可拼自己的团");
            }
            if(!orderCollageTeam.getStatus().equals(ComBatteryCommodityOrderCollageTeam.Status.DDPT)){
                return R.fail("该拼团已成功");
@@ -210,8 +248,15 @@
        }else{
            Integer count = orderCollageTeamMapper.selectCount(new QueryWrapper<ComBatteryCommodityOrderCollageTeam>().lambda()
                    .eq(ComBatteryCommodityOrderCollageTeam::getActivityId,orderDto.getActivityId())
                    .eq(ComBatteryCommodityOrderCollageTeam::getStatus,ComBatteryCommodityOrderCollageTeam.Status.DDPT)
                    .eq(ComBatteryCommodityOrderCollageTeam::getUserId,orderDto.getUserId()));
            if(count > 0){
                return R.fail("当前活动商品您正在拼团中,不可重复开团");
            }
            Integer maxCount = orderCollageTeamMapper.selectCount(new QueryWrapper<ComBatteryCommodityOrderCollageTeam>().lambda()
                    .eq(ComBatteryCommodityOrderCollageTeam::getActivityId,orderDto.getActivityId())
                    .eq(ComBatteryCommodityOrderCollageTeam::getStatus,ComBatteryCommodityOrderCollageTeam.Status.DDPT));
            if(count >= commodityActivity.getCollageNum()){
            if(maxCount >= commodityActivity.getCollageNum()){
                return R.fail("当前正在拼团的数量已达到最大值,不可在开团");
            }
        }
@@ -221,7 +266,7 @@
            return R.fail("未查询到商品信息");
        }
        //查询用户信息
        SysUser user = userMapper.selectById(orderDto.getUserId());
        SysUser user = userMapper.selectOne(new QueryWrapper<SysUser>().lambda().eq(SysUser::getUserId,orderDto.getUserId()));
        if(user == null){
            return R.fail("未查询到用户信息");
        }