rk
10 小时以前 4a7c8d6ac4d2c38ac0c0145a54ab07b7ad5615f3
server/dmmall_service/src/main/java/com/doumee/service/business/impl/ActivityServiceImpl.java
@@ -113,12 +113,11 @@
        isCreateParamValid(activity, user);
        activity.setCreateDate(new Date());
        activity.setCreator(user.getId());
        activity.setEditDate(new Date());
        activity.setEditor(user.getId());
        activity.setIsdeleted(Constants.ZERO);
        activity.setStatus(Constants.Status.ENABLE.getValue());
        activity.setMemberId(user.getMemberId());
        activityMapper.insert(activity);
        dealBatchMultiFiles(activity, user);
        return activity.getId();
    }
@@ -162,90 +161,31 @@
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        isCreateParamValid(activity, user);
        activity.setEditDate(new Date());
        activity.setEditor(user.getId());
        activityMapper.updateById(activity);
        dealBatchMultiFiles(activity, user);
    }
    @Override
    public void updateStatusById(Activity labels) {
        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
        activityMapper.update(null,new UpdateWrapper<Activity>().lambda()
                .set(Activity::getEditDate,new  Date())
                .set(Activity::getEditor,user.getId())
                .set(Activity::getStatus,labels.getStatus())
                .eq(Activity::getId,labels.getId()));
    }
    public void isCreateParamValid(Activity activity, LoginUserInfo user) {
        if (activity.getType() == null) {
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage());
        }
        if (Constants.equalsInteger(activity.getType(), Constants.ActivityType.TANDIAN.getKey()) ||
                Constants.equalsInteger(activity.getType(), Constants.ActivityType.CONSULT.getKey())) {
            //资讯,探店
            if (activity.getShopId() == null
                    || StringUtils.isBlank(activity.getName())
                    || StringUtils.isBlank(activity.getImgurl())
                    || activity.getLabelId()==null
                    || activity.getContent()==null
            ) {
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage());
            }
            if(Constants.equalsInteger(activity.getType(), Constants.ActivityType.TANDIAN.getKey())){
                if(activity.getContentType()==null
                   || org.apache.commons.collections.CollectionUtils.isEmpty(activity.getFileList())
                ){
                    throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage());
                }
            }
            Shop queryShop = new Shop();
            queryShop.setId(activity.getShopId());
            Shop shop = shopMapper.selectOne(new QueryWrapper<>(queryShop)
                    .lambda().eq(Shop::getIsdeleted, Constants.ZERO)
            );
            if (Objects.isNull(shop)) {
                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "商铺不存在,禁止添加");
            }
        } else if (Constants.equalsInteger(activity.getType(),  Constants.ActivityType.PLATACTIVITY.getKey())) {
            //平台活动
            if (activity.getShopId() != null) {
                Shop queryShop = new Shop();
                queryShop.setId(activity.getShopId());
                Shop shop = shopMapper.selectOne(new QueryWrapper<>(queryShop)
                        .lambda().eq(Shop::getIsdeleted, Constants.ZERO)
                );
                if (Objects.isNull(shop)) {
                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "商铺不存在,禁止添加");
                }
            } else if (activity.getOrgId() != null) {
                SystemUser sysQuery = new SystemUser();
                sysQuery.setId(activity.getOrgId());
                SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<>(sysQuery)
                        .lambda().eq(SystemUser::getDeleted, Constants.ZERO)
                );
                if (Objects.isNull(systemUser)) {
                    throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "机构不存在,禁止添加");
                }
            } else {
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage());
            }
            if(StringUtils.isBlank(activity.getName())
                    ||activity.getLabelId()==null
                    ||activity.getStarttime()==null
                    ||activity.getEndtime()==null
                    ||activity.getSignStarttime()==null
                    ||activity.getSignEndtime()==null
                    ||StringUtils.isBlank(activity.getAddr())
                    ||activity.getLongitude()==null
                    ||activity.getLatitude()==null
                    ||activity.getLimitnum()==null
                    ||StringUtils.isBlank(activity.getImgurl())
            ){
                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage());
            }
        if ( StringUtils.isBlank(activity.getName())
                || StringUtils.isBlank(activity.getImgurl())
                || StringUtils.isBlank(activity.getContent())
                || activity.getLabelId()==null
                || activity.getBrandId()==null
                || activity.getContent()==null  ) {
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), ResponseStatus.BAD_REQUEST.getMessage());
        }
        if (Objects.isNull(user.getMemberId())) {
            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(), "先关联前端用户再发布!");
        }
    }
    public void dealBatchMultiFiles(Activity activity, LoginUserInfo user) {
@@ -323,29 +263,30 @@
        queryWrapper.selectAll(Activity.class);
        queryWrapper.selectAs(SystemUser::getRealname, Activity::getRealName);
        queryWrapper.selectAs(SystemUser::getType, Activity::getUserType);
        queryWrapper.selectAs(Labels::getName, Activity::getLablesName);
        queryWrapper.selectAs(Shop::getName, Activity::getShopName);
        queryWrapper.selectAs(Shop::getImgurl, Activity::getShopImg);
        queryWrapper.selectAs(Shop::getName, Activity::getShopName);
        queryWrapper.selectAs(Orgs::getName, Activity::getOrgName);
        queryWrapper.select("t1.name", Activity::getLablesName);
        queryWrapper.select("t2.name", Activity::getBrandName);
//        queryWrapper.selectAs(Shop::getName, Activity::getShopName);
//        queryWrapper.selectAs(Shop::getImgurl, Activity::getShopImg);
//        queryWrapper.selectAs(Shop::getName, Activity::getShopName);
//        queryWrapper.selectAs(Orgs::getName, Activity::getOrgName);
        queryWrapper.select("(select count(id) from zan s1 where s1.ISDELETED=0 and s1.OBJ_ID=t.id ) as zanCount");
        queryWrapper.select("(select count(id) from collect s1 where s1.ISDELETED=0 and s1.OBJ_ID=t.id ) as collectCount");
        queryWrapper.select("(select count(id) from comment s1 where s1.ISDELETED=0 and s1.OBJ_ID=t.id ) as commentCount");
        queryWrapper.select("(select count(id) from shares s1 where s1.ISDELETED=0 and s1.OBJ_ID=t.id  ) as sharesCount");
        queryWrapper.select("(select count(id)  from activity_sign s1 where s1.ISDELETED=0 and ACTIVITY_ID=t.id and s1.STATUS!=2 ) as activityCount");
        queryWrapper.select("(select REALNAME  from system_user s1 where s1.ID=t.ORG_ID ) as serviceName");
//        queryWrapper.select("(select name from shop where ISDELETED=0 and ACTIVITY_ID=t.SHOP_ID ) as shopName");
//        queryWrapper.select("(select count(id)  from activity_sign s1 where s1.ISDELETED=0 and ACTIVITY_ID=t.id and s1.STATUS!=2 ) as activityCount");
//        queryWrapper.select("(select REALNAME  from system_user s1 where s1.ID=t.ORG_ID ) as serviceName");
        queryWrapper.leftJoin(Shop.class, Shop::getId, Activity::getShopId);
        queryWrapper.leftJoin(Orgs.class, Orgs::getId, Activity::getOrgId);
        queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Activity::getCreator);
//        queryWrapper.leftJoin(Shop.class, Shop::getId, Activity::getShopId);
//        queryWrapper.leftJoin(Orgs.class, Orgs::getId, Activity::getOrgId);
        queryWrapper.leftJoin(Labels.class, Labels::getId, Activity::getLabelId);
        queryWrapper.leftJoin(Labels.class, Labels::getId, Activity::getBrandId);
        queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Activity::getEditor);
        queryWrapper.eq(Activity::getId,id);
        Activity result = activityJoinMapper.selectJoinOne(Activity.class, queryWrapper);
        if (Objects.nonNull(result)) {
            String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.ACTIVITY_FILE).getCode();
            Multifile queryfile = new Multifile();
          /*  Multifile queryfile = new Multifile();
            queryfile.setObjId(result.getId());
            List<Multifile> filelist = multifileMapper.selectList(new QueryWrapper<>(queryfile));
            if(filelist!=null){
@@ -355,7 +296,7 @@
                   }
               });
               result.setFileList(filelist);
            }
            }*/
            if(StringUtils.isNotBlank(result.getImgurl())){
                result.setImgurlfull(path+result.getImgurl());
            }
@@ -368,7 +309,8 @@
        queryWrapper.selectAll(Activity.class);
        queryWrapper.selectAs(SystemUser::getRealname, Activity::getRealName);
        queryWrapper.selectAs(SystemUser::getType, Activity::getUserType);
        queryWrapper.selectAs(Labels::getName, Activity::getLablesName);
        queryWrapper.select("t5.name", Activity::getLablesName);
        queryWrapper.select("t6.name", Activity::getBrandName);
        queryWrapper.selectAs(Shop::getName, Activity::getShopName);
        queryWrapper.selectAs(Shop::getImgurl, Activity::getShopImg);
        queryWrapper.selectAs(Shop::getName, Activity::getShopName);
@@ -385,8 +327,9 @@
        queryWrapper.leftJoin(Shop.class, Shop::getId, Activity::getShopId);
        queryWrapper.leftJoin(Orgs.class, Orgs::getId, Activity::getOrgId);
        queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Activity::getCreator);
        queryWrapper.leftJoin(Labels.class, Labels::getId, Activity::getLabelId);
        queryWrapper.leftJoin(Member.class, Member::getId, Activity::getMemberId);
        queryWrapper.leftJoin(Labels.class, Labels::getId, Activity::getLabelId);
        queryWrapper.leftJoin(Labels.class, Labels::getId, Activity::getBrandId);
        queryWrapper.eq(Activity::getId,id);
        Activity result = activityJoinMapper.selectJoinOne(Activity.class, queryWrapper);
@@ -416,16 +359,18 @@
        queryWrapper.selectAll(Activity.class);
        queryWrapper.selectAs(SystemUser::getRealname, Activity::getRealName);
        queryWrapper.selectAs(SystemUser::getType, Activity::getUserType);
        queryWrapper.selectAs(Labels::getName, Activity::getLablesName);
        queryWrapper.select("t2.name", Activity::getLablesName);
        queryWrapper.select("t3.name", Activity::getBrandName);
        queryWrapper.select("(select count(id) from zan     where ISDELETED=0 and OBJ_ID=t.id  ) as zanCount");
        queryWrapper.select("(select count(id) from collect where ISDELETED=0 and OBJ_ID=t.id  ) as collectCount");
        queryWrapper.select("(select count(id) from comment where ISDELETED=0 and OBJ_ID=t.id  ) as commentCount");
        queryWrapper.select("(select count(id) from shares  where ISDELETED=0 and OBJ_ID=t.id  ) as sharesCount");
        queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Activity::getCreator);
        queryWrapper.leftJoin(SystemUser.class, SystemUser::getId, Activity::getEditor);
        queryWrapper.leftJoin(Labels.class, Labels::getId, Activity::getLabelId);
        queryWrapper.leftJoin(Labels.class, Labels::getId, Activity::getBrandId);
        if (Constants.equalsInteger(pageWrap.getModel().getType(), Constants.ONE)) {
       /* if (Constants.equalsInteger(pageWrap.getModel().getType(), Constants.ONE)) {
            //查询活动报名数据
            queryWrapper.select("(select count(id)  from activity_sign where ISDELETED=0 and ACTIVITY_ID=t.id ) as activityCount");
            queryWrapper.select("su.REALNAME as serviceName");
@@ -468,20 +413,21 @@
                }
            }
        }
        }*/
        /**创作者/机构:查看自己发布的数据;平台:查看所有数据; */
        if (!Constants.equalsInteger(user.getType(), Constants.UserType.SYSTEM.getKey())) {
     /*   if (!Constants.equalsInteger(user.getType(), Constants.UserType.SYSTEM.getKey())) {
            queryWrapper.eq(Activity::getCreator, user.getId());
        }
        }*/
        queryWrapper.eq(Activity::getIsdeleted, Constants.ZERO);
        queryWrapper.eq(pageWrap.getModel().getLabelId() !=null, Activity::getLabelId, pageWrap.getModel().getLabelId());
        queryWrapper.eq(pageWrap.getModel().getBrandId() !=null, Activity::getBrandId, pageWrap.getModel().getBrandId());
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()), Activity::getName, pageWrap.getModel().getName());
        queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getRealName()), SystemUser::getRealname, pageWrap.getModel().getRealName());
        queryWrapper.eq(StringUtils.isNotBlank(pageWrap.getModel().getUserType()), SystemUser::getType, pageWrap.getModel().getUserType());
//        queryWrapper.eq(StringUtils.isNotBlank(pageWrap.getModel().getUserType()), SystemUser::getType, pageWrap.getModel().getUserType());
        queryWrapper.orderByDesc(Activity::getCreateDate);
        IPage<Activity> result = activityJoinMapper.selectJoinPage(page, Activity.class, queryWrapper);
        initActivityListStatus(result.getRecords());
        return PageData.from(result);
    }
@@ -500,8 +446,11 @@
        if (model == null) {
            return;
        }
        model.setImgurlfull(path);
        model.setActivityStatus(Constants.ZERO);
        if(StringUtils.isNotBlank(model.getImgurl())){
            model.setImgurlfull(path + model.getImgurl());
        }
        /*model.setActivityStatus(Constants.ZERO);
        long now = System.currentTimeMillis();
        if (model.getStarttime() != null && model.getSignStarttime() != null && model.getSignStarttime().getTime() <= now && model.getStarttime().getTime() < now) {
            model.setActivityStatus(Constants.ONE);//报名中
@@ -514,7 +463,7 @@
        }
        if (model.getEndtime() != null && model.getEndtime().getTime() < now) {
            model.setActivityStatus(4);//活动已结束
        }
        }*/
    }